経験的VaRを計算する
この演習では、経験的アプローチを用いて、日次5%の動学的VaRを推定する練習をします。
パラメトリックVaRと経験的VaRの違いは、分位点の推定方法にあります。パラメトリック手法では仮定した分布から分位点を推定しますが、経験的手法では標準化残差の観測分布から分位点を推定します。
前の演習と同じGARCHモデルを使用します。平均と分散の予測はそれぞれ mean_forecast と variance_forecast に保存されています。経験的な標準化残差は計算済みで、std_resid に保存されています。
この演習はコースの一部です
Pythonで学ぶGARCHモデル
演習の手順
- GARCHの標準化残差
std_residから 0.05 分位点を計算します。 - 前のステップで得た分位点と、GARCHモデルの
mean_forecast、variance_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()