Nakit akım tablosundan finansal oranlar

Python ile Finansal Tabloları Analiz Etme

Rohan Chatterjee

Risk Modeler

JSON verisini okuma

  • Gerçek dünyadaki veriler her zaman e-tablolarda gelmez
  • Bazen JSON (JavaScript Object Notation) formatında gelir
  • Şirketler finansal tablo bilgilerini JSON ile paylaşabilir
  • pandas kullanarak JSON dosyalarını Python'a okuyabiliriz
cash_flow = pd.read_json("cash_flow_statement.json")
print(cash_flow.head())

Bu görsel, yüklenen nakit akım verisinin ilk 5 satırını gösteriyor.

Python ile Finansal Tabloları Analiz Etme

Nakit akımı/net kar oranı

  • İşletme faaliyetlerinden nakit akımının net kara oranı

  • İşletme faaliyetleri işletmenin temel faaliyetleridir

  • Yüksek oran, nakdin önemli kısmının işletme faaliyetlerinden geldiğini gösterir

Formül:

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

Python ile Finansal Tabloları Analiz Etme

İşletme nakit akımı oranı

  • İşletme faaliyetlerinden nakit akımının kısa vadeli yükümlülüklere oranı
  • Şirketin temel faaliyetlerinden ürettiği nakitle kısa vadeli borçlarını kaç kez ödeyebildiğini ölçer
  • 1'in üzeri, kısa vadeli yükümlülükleri karşılamaya yeterli nakit üretildiğini gösterir

Formül:

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

Python ile Finansal Tabloları Analiz Etme

Eksik değerleri imputasyon

  • Gerçek dünyadaki verilerde sıkça eksikler olur
  • Oranın payındaki veri varken paydası eksik olabilir ya da tersi
  • Çözüm: eksikleri diğer şirketlerin verileriyle imputasyon
Python ile Finansal Tabloları Analiz Etme

Eksik değerleri imputasyon

  • Gösterilen dataset adlı DataFrame'de "Toplam Kısa Vadeli Yükümlülükler"in bazı girdileri NaN ile eksik

Bu görsel, toplam yükümlülükler sütunundaki bazı girdilerin eksik olduğu bir nakit akım tablosunun üst satırlarını gösteriyor.

  • Bir şirket için eksik kısa vadeli yükümlülükler, o şirketin mevcut verileriyle imputasyon yapılabilir
Python ile Finansal Tabloları Analiz Etme

Eksik değerleri imputasyon

  • Eksikleri, şirketlerin eksik olmayan değerlerinin ortalamasıyla doldururuz:
imputation = dataset.groupby("company")["Total Current Liabilities"].transform("mean")

dataset["Imputed Total Current Liabilities"] = dataset["Total Current Liabilities"].fillna(imputation)
  • İmputasyondan sonra dataset şöyle görünür:

Bu görsel, toplam yükümlülükler sütununda eksikler olan bir nakit akım tablosunun üst satırlarını ve eksiklerin doldurulduğu imput edilmiş kısa vadeli yükümlülükler sütununu gösteriyor.

  • Tedbirli olmak için yüzdelikleri kullanın
Python ile Finansal Tabloları Analiz Etme

Yüzdeliklerle imputasyon

  • Eksik bir değeri, eksik olmayanların 70. yüzdelik dilimiyle doldurmak daha tedbirli bir imputasyon sağlar.

  • Karar vermede kullanılacaksa, daha tedbirli imputasyonla oranları hesaplamak daha uygun olabilir.

  • company bazında gruplandırarak 70. yüzdelik ile imputasyon:
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)
Python ile Finansal Tabloları Analiz Etme

Haydi pratik yapalım!

Python ile Finansal Tabloları Analiz Etme

Preparing Video For Download...