Rapoarte financiare din situația fluxurilor de numerar

Analiza situațiilor financiare în Python

Rohan Chatterjee

Risk Modeler

Citirea datelor JSON

  • Datele din mediul real nu vin întotdeauna în foi de calcul
  • Uneori sunt în format JSON ("JavaScript Object Notation")
  • Companiile pot partaja informații financiare în JSON
  • Putem citi fișiere JSON în Python folosind pandas
cash_flow = pd.read_json("cash_flow_statement.json")
print(cash_flow.head())

Imaginea arată primele 5 rânduri ale datelor din situația fluxurilor de numerar încărcate.

Analiza situațiilor financiare în Python

Raportul flux de numerar / venit net

  • Raportul dintre fluxul de numerar din activități operaționale și venitul net

  • Activitățile operaționale sunt activitățile de bază ale afacerii

  • Un raport ridicat indică faptul că afacerea generează o proporție semnificativă de numerar din activități operaționale

Formulă:

$$\dfrac{\text{Cash flow from operating activities}}{\text{Net income}}$$

Analiza situațiilor financiare în Python

Raportul fluxului de numerar operațional

  • Raportul dintre fluxul de numerar din activități operaționale și datoriile curente
  • Măsoară de câte ori compania poate achita obligațiile pe termen scurt din numerarul generat de activitatea de bază
  • Un raport mai mare decât unu indică faptul că afacerea generează suficient numerar pentru obligațiile pe termen scurt

Formulă:

$$\dfrac{\text{Cash flow from operating activities}}{\text{Current liabilities}}$$

Analiza situațiilor financiare în Python

Imputarea valorilor lipsă

  • Datele din mediul real conțin adesea valori lipsă
  • Numărătorul unui raport poate fi disponibil, dar numitorul poate lipsi, sau invers
  • Soluție: imputarea valorilor lipsă cu date de la alte companii
Analiza situațiilor financiare în Python

Imputarea valorilor lipsă

  • În DataFrame-ul numit dataset, unele valori din "Total Current Liabilities" lipsesc, indicate prin NaN

Imaginea arată primele rânduri ale unei situații a fluxurilor de numerar, unde unele intrări din coloana total datorii curente au valori lipsă.

  • Valorile lipsă ale datoriilor curente pot fi imputate folosind valorile disponibile ale aceleiași companii
Analiza situațiilor financiare în Python

Imputarea valorilor lipsă

  • Valorile lipsă sunt completate cu media valorilor disponibile ale companiilor:
imputation = dataset.groupby("company")["Total Current Liabilities"].transform("mean")

dataset["Imputed Total Current Liabilities"] = dataset["Total Current Liabilities"].fillna(imputation)
  • După imputare, dataset arată astfel:

Imaginea arată primele rânduri ale situației fluxurilor de numerar cu valori lipsă în coloana total datorii curente, plus o coloană suplimentară cu valorile imputate.

  • Utilizați percentile pentru o abordare conservatoare
Analiza situațiilor financiare în Python

Imputarea valorilor lipsă cu percentile

  • Imputarea cu percentila 70 oferă o estimare mai conservatoare.

  • Calcularea rapoartelor cu o imputare conservatoare este mai prudentă în luarea deciziilor.

  • Imputarea valorilor lipsă folosind percentila 70, grupat după company:
imputation = dataset.groupby("company")["Total Current Liabilities"]\
    .transform(lambda x: np.nanquantile(x, 0.7))

dataset["Imputed Total Current Liabilities"] = dataset["Total Current Liabilities"]\
    .fillna(imputation)
Analiza situațiilor financiare în Python

Să exersăm!

Analiza situațiilor financiare în Python

Preparing Video For Download...