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

CVaR a výběr krytí ztrát

V předchozích cvičeních jsi viděl/a, že distribuce T i Gaussovo KDE celkem dobře popisují ztráty portfolia v období krize. Která z nich je ale lepší volbou pro řízení rizik? Jednou z možností je vybrat tu distribuci, která poskytuje největší krytí ztrát – tedy pokrytí „nejhoršího možného scénáře".

Distribuce t a kde jsou k dispozici a byly napasovány na ztráty portfolia losses z let 2007–2008 (parametry napasované distribuce t jsou uloženy v p). Odvoď jednodenní odhad 99% CVaR pro každou distribuci; největší odhad CVaR pak představuje „nejbezpečnější" výši rezervy, která pokrývá očekávané ztráty přesahující 99% VaR.

Instance kde má pro toto cvičení speciálně přidanou metodu .expect(), pomocí níž vypočítáš potřebnou střední hodnotu pro CVaR.

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

Kvantitativní řízení rizik v Pythonu

Zobrazit kurz

Pokyny k cvičení

  • Zjisti 99% VaR pomocí funkce np.quantile() aplikované na náhodné vzorky z distribucí t a kde.
  • Vypočítej integrál potřebný pro odhady CVaR pomocí metody .expect() pro každou distribuci.
  • Zjisti a zobraz odhady 99% CVaR pro obě distribuce.

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

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

# Find the VaR as a quantile of random samples from the distributions
VaR_99_T   = np.quantile(t.rvs(size=1000, *p), ____)
VaR_99_KDE = np.quantile(kde.resample(size=1000), ____)

# Find the expected tail losses, with lower bounds given by the VaR measures
integral_T   = t.____(lambda x: x, args = (p[0],), loc = p[1], scale = p[2], lb = ____)
integral_KDE = kde.____(lambda x: x, lb = ____)

# Create the 99% CVaR estimates
CVaR_99_T   = (1 / (1 - ____)) * integral_T
CVaR_99_KDE = (1 / (1 - ____)) * integral_KDE

# Display the results
print("99% CVaR for T: ", CVaR_99_T, "; 99% CVaR for KDE: ", CVaR_99_KDE)
Upravit a spustit kód