ヒストリカル・シミュレーション
VaR のヒストリカル・シミュレーションは、過去の損失分布が将来の損失分布と「同じ」であると仮定します。ここでは、投資銀行ポートフォリオについて、2005〜2006 年の 95% VaR と 2007〜2009 年の 95% VaR を比較し、この仮定が成り立つかを確かめます。
2 つの期間それぞれの資産リターンを格納したリスト asset_returns が用意されています。このリストと与えられた weights を使って portfolio_returns を作成し、そこからポートフォリオの losses を導出します。
その後、np.quantile() 関数を用いて各期間の 95% VaR を求めます。もし損失分布が同じであれば、両期間の 95% VaR 推定値はおおむね同程度になるはずです。そうでなければ、世界金融危機の進行に伴い分布が変化した可能性があります。
この演習はコースの一部です
Pythonで学ぶ定量的リスク管理
演習の手順
- リスト
asset_returnsとポートフォリオのweightsから、2 期間分のportfolio_returnsの Numpy 配列を作成します。 portfolio_returnsからlossesの配列を生成します。np.quantile()を使って、両期間の 95% VaR のヒストリカル・シミュレーションを計算します。- 95% VaR 推定値のリストを表示します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# 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])