Začněte nyníZačněte zdarma

Výpočet kovariancí pro volatilitu

V MPT kvantifikujeme riziko prostřednictvím volatility. Matematika výpočtu volatility portfolia je komplexní a vyžaduje kovariance denních výnosů. Nyní projdeme smyčkou každý měsíc v DataFrame returns_monthly a vypočítáme kovarianci denních výnosů.

Pomocí datetime indexů v pandas lze přistupovat k měsíci a roku přes df.index.month a df.index.year. Využijeme toho k vytvoření masky pro returns_daily, která nám v každém cyklu smyčky vrátí denní výnosy pro aktuální měsíc a rok. Masku pak použijeme k filtrování DataFrame: df[mask]. Tím získáme záznamy z returns_daily, které patří do aktuálního měsíce a roku v daném průchodu smyčkou. Nakonec použijeme metodu .cov() z pandas k výpočtu kovariance denních výnosů.

Toto cvičení je součástí kurzu

Machine Learning for Finance in Python

Zobrazit kurz

Pokyny k cvičení

  • Projdi smyčkou index returns_monthly.
  • Vytvoř masku pro returns_daily, která využívá aktuální měsíc a rok z returns_monthly a porovnává je s aktuálním měsícem a rokem z proměnné i v smyčce.
  • Aplikuj masku na returns_daily a vypočítej kovariance pomocí .cov().

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# Daily covariance of stocks (for each monthly period)
covariances = {}
rtd_idx = returns_daily.index
for i in returns_monthly.____:    
    # Mask daily returns for each month and year, and calculate covariance
    mask = (rtd_idx.month == i.month) & (rtd_idx.____ == i.____)
    
    # Use the mask to get daily returns for the current month and year of monthy returns index
    covariances[i] = returns_daily[____].cov()

print(covariances[i])
Upravit a spustit kód