Symulacja historyczna
Symulacja historyczna VaR zakłada, że rozkład historycznych strat jest taki sam jak rozkład przyszłych strat. Sprawdzimy, czy to założenie jest prawdziwe dla naszego portfela banku inwestycyjnego, porównując 95% VaR z lat 2005–2006 z 95% VaR z lat 2007–2009.
Lista asset_returns została już przygotowana – zawiera stopy zwrotu z aktywów dla każdego z dwóch okresów. Użyjesz jej, aby obliczyć portfolio_returns na podstawie dostępnych weights, a następnie wyznaczyć losses portfela.
Następnie skorzystasz z funkcji np.quantile(), aby znaleźć 95% VaR dla każdego okresu. Jeśli rozkłady strat są takie same, oszacowania 95% VaR powinny być zbliżone dla obu okresów. W przeciwnym razie rozkład mógł ulec zmianie wraz z nadejściem globalnego kryzysu finansowego.
To ćwiczenie jest częścią kursu
Ilościowe zarządzanie ryzykiem w Pythonie
Instrukcje do ćwiczenia
- Utwórz tablicę Numpy
portfolio_returnsdla obu okresów, korzystając z listyasset_returnsi wag portfelaweights. - Wyznacz tablicę
lossesna podstawieportfolio_returns. - Oblicz symulację historyczną 95% VaR dla obu okresów, używając funkcji
np.quantile(). - Wyświetl listę oszacowań 95% VaR.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# Create portfolio returns for the two sub-periods using the list of asset returns
portfolio_returns = np.array([ x.____(weights) for x in asset_returns])
# Derive portfolio losses from portfolio returns
losses = - ____
# Find the historical simulated VaR estimates
VaR_95 = [____(x, 0.95) for x in ____]
# Display the VaR estimates
print("VaR_95, 2005-2006: ", VaR_95[0], '; VaR_95, 2007-2009: ', VaR_95[1])