CVaR și selectarea rezervei pentru pierderi
În exercițiile anterioare ai văzut că atât distribuția T, cât și KDE Gaussian se potrivesc destul de bine pierderilor de portofoliu din perioada de criză. Dar care dintre ele este mai potrivită pentru managementul riscului? O modalitate de a alege este să selectezi distribuția care oferă cea mai mare rezervă pentru pierderi, acoperind „cel mai rău scenariu posibil".
Distribuțiile t și kde sunt disponibile și au fost ajustate la losses (pierderile de portofoliu) din 2007–2008 (parametrii ajustați ai lui t se află în p). Vei calcula estimarea CVaR de 99% pentru o zi pentru fiecare distribuție; cea mai mare estimare CVaR reprezintă suma de rezervă „cea mai sigură" de păstrat, acoperind pierderile așteptate care depășesc VaR-ul de 99%.
Instanței kde i-a fost adăugată o metodă specială .expect(), exclusiv pentru acest exercițiu, pentru a calcula valoarea așteptată necesară CVaR-ului.
Acest exercițiu face parte din cursul
Managementul Cantitativ al Riscului în Python
Instrucțiuni pentru exercițiu
- Calculează VaR-ul de 99% folosind
np.quantile()aplicat pe eșantioane aleatorii din distribuțiiletșikde. - Calculează integrala necesară pentru estimările CVaR folosind metoda
.expect()pentru fiecare distribuție. - Găsește și afișează estimările CVaR de 99% pentru ambele distribuții.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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)