Calcolare indici finanziari con pandas

Analizzare i bilanci con Python

Rohan Chatterjee

Risk Modeler

Struttura dei dati di bilancio

  • Dati di bilancio caricati in un DataFrame pandas chiamato balance_sheet.

 

print(balance_sheet.head()) Un'immagine che mostra l'inizio del DataFrame chiamato balance_sheet.

Analizzare i bilanci con Python

Calcolare il current ratio

balance_sheet["current_ratio"] = balance_sheet["Total Current Assets"] / 
                                 balance_sheet["Total Current Liabilities"]
print(balance_sheet.head())

Un'immagine che mostra il DataFrame balance_sheet con la colonna current_ratio aggiunta.

Analizzare i bilanci con Python

Usare .groupby() per risultati per gruppo

  • Per la media del current ratio per settore:
    balance_sheet.groupby("comp_type")["current_ratio"].mean()
    
    Un'immagine che mostra il current ratio medio per vari settori.
Analizzare i bilanci con Python

Usare .groupby() per risultati per gruppo

balance_sheet.groupby(["Year","comp_type"])["current_ratio"].mean()

Un'immagine che mostra il current ratio medio per settore su più anni.

Analizzare i bilanci con Python

Usare groupby().transform()

  • .transform() si usa dopo .groupby() per aggiungere ai record il risultato del gruppo a cui appartengono.
    balance_sheet["industry_curr_ratio"] = 
              balance_sheet.groupby([
              "Year","comp_type"])["current_ratio"].transform("mean")
    print(balance_sheet.head())
    

Un'immagine che mostra il current ratio medio per settore e anno, ora aggiunto al DataFrame balance_sheet.

Analizzare i bilanci con Python

Usare .groupby().transform()

balance_sheet["relative_diff"] = 
                            (balance_sheet["current_ratio"] / 
                             balance_sheet["industry_curr_ratio"]) - 1

Un DataFrame che mostra la differenza relativa tra il current ratio di un'azienda e quello del suo settore.

Analizzare i bilanci con Python

Usare .isin()

  • .isin() serve per filtrare i dati da analizzare.
  • Esempio: filtra un DataFrame per mostrare aziende fmcg e tech negli anni 2019 e 2020:
fmcg_2019 = balance_sheet.loc[
            (balance_sheet["Year"].isin([2019,2020])) &
            (balance_sheet["comp_type"].isin(["tech","fmcg"]))
                            ]
Analizzare i bilanci con Python

Passiamo alla pratica !

Analizzare i bilanci con Python

Preparing Video For Download...