始める無料で始める

ダイナミックなポートフォリオ分散を計算する

この演習では、GARCH によるダイナミック共分散を用いて、シンプルな2資産ポートフォリオの分散を計算する練習をします。

モダン・ポートフォリオ理論によると、分散効果を活用して、所望の期待収益を最小のリスクで達成するための最適なポートフォリオ構築法があります。特に、資産リターン同士の共分散が負の場合に、この効果が顕著になります。

ここでは、2つの資産(EUR/USD と CAD/USD の通貨ペア)だけを保有するポートフォリオを考えます。GARCH モデルから得た各資産の分散は variance_eurvariance_cad に、共分散は covariance に保存されています。2資産のウェイトを変化させて全体のポートフォリオ分散を計算し、その違いを可視化してください。

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

Pythonで学ぶGARCHモデル

コースを見る

演習の手順

  • ポートフォリオaでは EUR/USD のウェイト Wa1 を 0.9、ポートフォリオbでは Wb1 を 0.5 に設定します。
  • variance_eurvariance_cadcovariance を用いて、ポートフォリオaの分散 portvar_a を計算します。ポートフォリオbの portvar_b も同様に計算します。

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

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

# Define weights
Wa1 = ____
Wa2 = 1 - Wa1
Wb1 = ____
Wb2 = 1 - Wb1

# Calculate portfolio variance
portvar_a = Wa1**2 * ____ + Wa2**2 * ____ + 2*Wa1*Wa2 *____
portvar_b = Wb1**2 * ____ + Wb2**2 * ____ + 2*Wb1*Wb2*____

# Plot the data
plt.plot(portvar_a, color = 'green', label = 'Portfolio a')
plt.plot(portvar_b, color = 'deepskyblue', label = 'Portfolio b')
plt.legend(loc = 'upper right')
plt.show()
コードを編集して実行