始める無料で始める

正規分布におけるVaR

Value at Risk(VaR)に慣れるには、よく知られた分布に適用してみるのが効果的です。とくに正規(あるいは Gaussian)分布は、1)解析的に扱いやすく、2)多くの実証的な現象を表現できるため、有用です。本演習では、ポートフォリオの損失が正規分布に従うと仮定します。つまり、分布から得られる値が大きいほど損失も大きくなるという設定です。

この演習では、標準正規分布に対して、scipy.stats.normppf()(百分位点関数)と numpyquantile() 関数の両方を用いて、95% と 99% の信頼水準における VaR をそれぞれ求めます。さらに、正規分布のプロット上で VaR をしきい値として可視化します。

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

Pythonで学ぶ定量的リスク管理

コースを見る

演習の手順

  • norm.ppf()(百分位点)関数を使って、95% の信頼水準における VaR を求めます。
  • 次に、正規分布からの 100,000 個の乱数 draws に対して Numpy の quantile() 関数を用い、99% の VaR を求めます。
  • print 文を使って、95% と 99% の VaR を比較します。
  • 正規分布をプロットし、95% VaR を示す縦線を追加します。

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

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

# Create the VaR measure at the 95% confidence level using norm.ppf()
VaR_95 = norm.ppf(____)

# Create the VaR measure at the 99% confidence level using numpy.quantile()
draws = norm.rvs(size = 100000)
VaR_99 = np.quantile(____, 0.99)

# Compare the 95% and 99% VaR
print("95% VaR: ", ____, "; 99% VaR: ", ____)

# Plot the normal distribution histogram and 95% VaR measure
plt.hist(draws, bins = 100)
plt.axvline(x = ____, c='r', label = "VaR at 95% Confidence Level")
plt.legend(); plt.show()
コードを編集して実行