Finanční ukazatele z výkazu peněžních toků

Analýza finančních výkazů v Pythonu

Rohan Chatterjee

Risk Modeler

Načítání dat ve formátu JSON

  • Data v praxi ne vždy přicházejí v tabulkách
  • Někdy jsou ve formátu JSON ("JavaScript Object Notation")
  • Společnosti mohou sdílet finanční výkazy ve formátu JSON
  • Soubory JSON lze načíst do Pythonu pomocí pandas
cash_flow = pd.read_json("cash_flow_statement.json")
print(cash_flow.head())

Obrázek zobrazuje prvních 5 řádků načtených dat výkazu peněžních toků.

Analýza finančních výkazů v Pythonu

Ukazatel peněžního toku k čistému zisku

  • Podíl provozního peněžního toku k čistému zisku

  • Provozní aktivity jsou hlavní činností podniku

  • Vysoký ukazatel naznačuje, že podnik generuje značnou část hotovosti z provozní činnosti

Vzorec:

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

Analýza finančních výkazů v Pythonu

Ukazatel provozního peněžního toku

  • Podíl provozního peněžního toku ke krátkodobým závazkům
  • Měří, kolikrát může společnost splatit krátkodobé závazky z provozního peněžního toku
  • Ukazatel vyšší než 1 znamená, že podnik generuje dostatek hotovosti ke krytí krátkodobých závazků

Vzorec:

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

Analýza finančních výkazů v Pythonu

Imputace chybějících hodnot

  • Reálná data často obsahují chybějící hodnoty
  • Čitatel ukazatele může být dostupný, ale jmenovatel chybí, nebo naopak
  • Řešení: doplnit chybějící hodnoty pomocí dat jiných společností
Analýza finančních výkazů v Pythonu

Imputace chybějících hodnot

  • V DataFrame dataset některé záznamy "Total Current Liabilities" chybí – označeny jako NaN

Obrázek zobrazuje první řádky výkazu peněžních toků, kde ve sloupci celkových závazků chybí některé hodnoty.

  • Chybějící krátkodobé závazky lze doplnit pomocí dostupných hodnot dané společnosti
Analýza finančních výkazů v Pythonu

Imputace chybějících hodnot

  • Chybějící hodnoty doplníme průměrem dostupných hodnot dané společnosti:
imputation = dataset.groupby("company")["Total Current Liabilities"].transform("mean")

dataset["Imputed Total Current Liabilities"] = dataset["Total Current Liabilities"].fillna(imputation)
  • Po imputaci vypadá dataset takto:

Obrázek zobrazuje první řádky výkazu peněžních toků s chybějícími hodnotami ve sloupci celkových závazků a přidaným sloupcem s imputovanými krátkodobými závazky.

  • Pro konzervativnější přístup použijte percentily
Analýza finančních výkazů v Pythonu

Imputace chybějících hodnot pomocí percentilů

  • Imputace pomocí 70. percentilu (nejhorší dostupná hodnota) poskytuje konzervativnější výsledek.

  • Výpočet ukazatelů s konzervativnější imputací může být vhodnější pro rozhodovací účely.

  • Imputace chybějících hodnot pomocí 70. percentilu, seskupeno podle 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)
Analýza finančních výkazů v Pythonu

Pojďme cvičit!

Analýza finančních výkazů v Pythonu

Preparing Video For Download...