Odhad parametrů: Zešikmené normální rozdělení
V předchozím cvičení ses přesvědčil/a, že proložení normálního rozdělení datům portfolia investiční banky z let 2005–2010 vedlo podle Anderson-Darlingova testu k nevhodnému přizpůsobení.
Data otestuješ pomocí funkce skewtest() z scipy.stats. Pokud se výsledek testu statisticky liší od nuly, data podporují zešikmené rozdělení.
Nyní parametricky odhadneš 95% VaR rozdělení ztrát pomocí skewnorm — zešikmeného normálního rozdělení z scipy.stats. Jde o obecnější rozdělení než normální, které umožňuje nesymetrickému rozložení ztrát. Během krize, kdy byly ztráty portfolia pravděpodobnější než zisky, lze takové zešikmení očekávat.
K dispozici máš data losses portfolia za období 2007–2009.
Toto cvičení je součástí kurzu
Kvantitativní řízení rizik v Pythonu
Pokyny k cvičení
- Importuj
skewnormaskewtestzscipy.stats. - Otestuj zešikmení dat
lossesportfolia pomocískewtest. Test signalizuje zešikmení, pokud se výsledek statisticky liší od nuly. - Přizpůsob data
losseszešikmenému normálnímu rozdělení pomocí metody.fit(). - Vypočítej a zobraz odhad 95% VaR z přizpůsobeného rozdělení.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# Import the skew-normal distribution and skewness test from scipy.stats
from scipy.stats import skewnorm, skewtest
# Test the data for skewness
print("Skewtest result: ", ____(____))
# Fit the portfolio loss data to the skew-normal distribution
params = ____.____(losses)
# Compute the 95% VaR from the fitted distribution, using parameter estimates
VaR_95 = ____.____(0.95, *params)
print("VaR_95 from skew-normal: ", VaR_95)