始める無料で始める

経験的VaRを計算する

この演習では、経験的アプローチを用いて、日次5%の動学的VaRを推定する練習をします。

パラメトリックVaRと経験的VaRの違いは、分位点の推定方法にあります。パラメトリック手法では仮定した分布から分位点を推定しますが、経験的手法では標準化残差の観測分布から分位点を推定します。

前の演習と同じGARCHモデルを使用します。平均と分散の予測はそれぞれ mean_forecastvariance_forecast に保存されています。経験的な標準化残差は計算済みで、std_resid に保存されています。

この演習はコースの一部です

Pythonで学ぶGARCHモデル

コースを見る

演習の手順

  • GARCHの標準化残差 std_resid から 0.05 分位点を計算します。
  • 前のステップで得た分位点と、GARCHモデルの mean_forecastvariance_forecast を用いてVaRを計算します。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# Obtain the empirical quantile
q_empirical = ____.____(____)
print('5% empirical quantile: ', q_empirical)

# Calculate the VaR
VaR_empirical = ____.values + np.sqrt(____).values * ____
# Save VaR in a DataFrame
VaR_empirical = pd.DataFrame(VaR_empirical, columns = ['5%'], index = variance_forecast.index)

# Plot the VaRs
plt.plot(VaR_empirical, color = 'brown', label = '5% Empirical VaR')
plt.plot(VaR_parametric, color = 'red', label = '5% Parametric VaR')
plt.scatter(variance_forecast.index,bitcoin_data.Return['2019-1-1':], color = 'orange', label = 'Bitcoin Daily Returns' )
plt.legend(loc = 'upper right')
plt.show()
コードを編集して実行