ダイナミックなポートフォリオ分散を計算する
この演習では、GARCH によるダイナミック共分散を用いて、シンプルな2資産ポートフォリオの分散を計算する練習をします。
モダン・ポートフォリオ理論によると、分散効果を活用して、所望の期待収益を最小のリスクで達成するための最適なポートフォリオ構築法があります。特に、資産リターン同士の共分散が負の場合に、この効果が顕著になります。
ここでは、2つの資産(EUR/USD と CAD/USD の通貨ペア)だけを保有するポートフォリオを考えます。GARCH モデルから得た各資産の分散は variance_eur と variance_cad に、共分散は covariance に保存されています。2資産のウェイトを変化させて全体のポートフォリオ分散を計算し、その違いを可視化してください。
この演習はコースの一部です
Pythonで学ぶGARCHモデル
演習の手順
- ポートフォリオaでは EUR/USD のウェイト
Wa1を 0.9、ポートフォリオbではWb1を 0.5 に設定します。 variance_eur、variance_cad、covarianceを用いて、ポートフォリオ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()