リスク寄与度の計算方法とエクセルでの計算式
記事作成日:2015年11月8日
最終更新日:2022年4月19日
リスク寄与度の計算方法とエクセルを利用した計算について説明しています。リスク寄与度とはポートフォリオの中の各資産がポートフォリオ全体のリスクに対してどの程度寄与しているかを示したものです。例えばポートフォリオのリスクが10%の時、資産Aのリスク寄与度が7%、資産Bのリスク寄与度が3%といったように使います。リスク寄与度が大きいほど、ポートフォリオ全体のリスクに影響を与えています。
リスク寄与度は、ポートフォリオにおける各資産のポートフォリオ全体のリスクへの影響度合いを分析するために用いるほか、資産クラスごとのリスク量が同等となるリスクパリティのポートフォリオを組む際に用いられます。各資産のリスク寄与度が等しくなるように資産配分を行ったものがリスクパリティ戦略です。
最初に計算式の例、エクセルの入力例を示した後で、リスク寄与度の計算方法の考え方やエクセルでの計算過程について説明しています。
スポンサーリンク
リスク寄与度の計算式
簡易的なリスク寄与度の計算式は「Σn(Wi・Wn・σi・σn・ρin)/σp」となります。ここでWiは資産iのポートフォリオにおける比率、σiは資産iの標準偏差(リスク)、ρijは資産iと資産jの相関係数、σpはポートフォリオ全体の標準偏差(リスク)を示しています。なお、nについても同様ですが、Σnは数列を意味していてnについて1からnまで数値を入れて合計するということを意味しています。
リスク寄与度のエクセルでの計算例
表計算ソフトエクセルでのリスク寄与度の計算方法の例を紹介します。
ポートフォリオの例(3資産)
ポートフォリオでは資産1、資産2、資産3の3資産によるポートフォリオを例とします。ただし、資産が増えても基本的な考え方は全く同じです。
A | B | C | D | E | F | |
---|---|---|---|---|---|---|
1 | 資産名 | ウエイト | リスク | 相関係数 | ||
2 | 資産1 | W1 | σ1 | ρ11 | ρ12 | ρ13 |
3 | 資産2 | W2 | σ2 | ρ21 | ρ22 | ρ23 |
4 | 資産3 | W3 | σ3 | ρ31 | ρ32 | ρ33 |
先ほどのポートフォリオに具体的な数値を入れてみます。資産1は高リスク資産、資産2は中リスク資産、資産3は低リスク資産です。資産1は国内株式、資産2は外国債券、資産3は国内債券といったようなイメージです。ただしリスクや相関係数の数値は適当な数値です。
A | B | C | D | E | F | |
---|---|---|---|---|---|---|
1 | 資産名 | ウエイト | リスク | 相関係数 | ||
2 | 資産1 | 50.0% | 15.0% | 1.0 | 0.8 | -0.2 |
3 | 資産2 | 30.0% | 8.0% | 0.8 | 1.0 | 0.1 |
4 | 資産3 | 20.0% | 3.0% | -0.2 | 0.1 | 1.0 |
分散と標準偏差の計算式の例
ここでポートフォリオの分散、標準偏差(リスク)、各資産のリスク寄与度は次のようになります。{}は配列計算で自動に入るもので数式の入力の際には{}を加えなくても「Shiftキー」と「Ctrlキー」を同時に押したまま「Enterキー」を押すと入ります。なお、ここではエクセルの行番号、列番号を記載していますが、記載のとおりの場所にしないと後の式の計算でエラーが出るためご注意ください。
A | B | |
---|---|---|
5 | 項目 | 結果 |
6 | 分散 | {=SUM((B2:B4*TRANSPOSE(B2:B4))*(C2:C4*TRANSPOSE(C2:C4))*(D2:F4))} |
7 | 標準偏差(リスク) | {=SQRT(SUM((B2:B4*TRANSPOSE(B2:B4))*(C2:C4*TRANSPOSE(C2:C4))*(D2:F4)))} |
具体的な数値は次のようになります。
A | B | |
---|---|---|
5 | 項目 | 結果 |
6 | 分散 | 0.897% |
7 | 標準偏差(リスク) | 9.47% |
分散寄与度とリスク寄与度の計算式の例
続いて分散寄与度、リスク寄与度の計算式は次のとおりです。
A | B | C | |
---|---|---|---|
8 | 資産名 | 分散寄与度 | リスク寄与度 |
9 | 資産1 | {=SUM(B2*C2*B2:B4*C2:C4*TRANSPOSE(D2:F2))} | =B9/B7 |
10 | 資産2 | {=SUM(B3*C3*B2:B4*C2:C4*TRANSPOSE(D3:F3))} | =B10/B7 |
11 | 資産3 | {=SUM(B4*C4*B2:B4*C2:C4*TRANSPOSE(D4:F4))} | =B11/B7 |
12 | 合計 | =SUM(B9:B11) | =SUM(C9:C11) |
具体的な数値は次のようになります。
A | B | C | |
---|---|---|---|
8 | 資産名 | 分散寄与度 | リスク寄与度 |
9 | 資産1 | 0.698% | 7.37% |
10 | 資産2 | 0.203% | 2.14% |
11 | 資産3 | -0.004% | -0.04% |
12 | 合計 | 0.897% | 9.47% |
なお、ここでは資産3のリスク寄与度がマイナスとなっていますが、特に問題はありません。ポートフォリオ全体のリスクを引き下げる方向に作用していると考えればよいでしょう。
リスク寄与度の計算方法の説明
リスク寄与度を計算するためにはポートフォリオ全体のリスク(標準偏差)を計算する時に各資産が数式のどの部分に関係しているかを考えることで簡易的に導き出すことができます。ここでは、ポートフォリオ全体のリスクの計算式から各資産のリスク寄与度(分散寄与度)を求めています。
ポートフォリオ全体のリスクの求め方
ポートフォリオ(p)のリスク(σp)はポートフォリオの分散(σp2)の平方根(√)により求めることが可能です。ポートフォリオの分散は「σ2=ΣiΣj(Wi×Wj×σij)」となります。
文字の定義
資産iの標準偏差をσi、分散をσi2、ポートフォリオにおける比率をWi、資産iと資産jの共分散をσij、資産iと資産jの相関係数をρijとします。σはギリシャ文字でシグマ、ρはギリシャ文字でローと読みます。Σnはnについて1、2、・・・nまで数値を入れて合計する数列を意味しています。ΣmΣnはmとnについてそれぞれ1、2、・・・mまで、1、2、・・・nまで全ての組み合わせについて数値を入れて合計する数列を意味しています。例えばm=1の状態でnについて1からnまで数値を入れていき、次にm=2としてnについて1からnまで数値をいれてこれをm=mとなるまで繰り返すように計算します。
ポートフォリオの分散の計算式の具体例
具体例を挙げると資産1と資産2と資産3の3資産があるとするとポートフォリオの分散は次のようになります。
σp2=W1・W1・σ11+W1・W2・σ12+W1・W3・σ13
+W2・W1・σ21+W2・W2・σ22+W2・W3・σ23
+W3・W1・σ31+W3・W2・σ32+W3・W3・σ33
ここで「(XとYの相関係数)=(XとYの共分散)÷((Xの標準偏差)・(Yの標準偏差))」であるため「(共分散)=(Xの標準偏差)・(Yの標準偏差)・(XとYの相関係数)」とすると上の式は次の式に変形できます。
σp2=W1・W1・σ1・σ1・ρ11+W1・W2・σ1・σ2・ρ12+W1・W3・σ1・σ3・ρ13
+W2・W1・σ2・σ1・ρ21+W2・W2・σ2・σ2・ρ22+W2・W3・σ2・σ3・ρ23
+W3・W1・σ3・σ1・ρ31+W3・W2・σ3・σ2・ρ32+W3・W3・σ3・σ3・ρ33
ポートフォリオの分散の寄与度に関係する式
ここで資産1がポートフォリオの分散(σp2)に寄与している部分の数式は「W1・W1・σ1・σ1・ρ11+W1・W2・σ1・σ2・ρ12+W1・W3・σ1・σ3・ρ13」となります。
同様に資産2がポートフォリオの分散(σp2)に寄与している部分の数式は「W2・W1・σ2・σ1・ρ21+W2・W2・σ2・σ2・ρ22+W2・W3・σ2・σ3・ρ23」となり、資産3がポートフォリオの分散(σp2)に寄与している部分の数式は「W3・W1・σ3・σ1・ρ31+W3・W2・σ3・σ2・ρ32+W3・W3・σ3・σ3・ρ33」となります。
このことを利用するとポートフォリオにおける各資産のポートフォリオのリスクに対する寄与度を簡易的に求めることができます。
リスク寄与度(分散寄与度)を求める式の一般化
上記を一般化します。資産iのリスク寄与度を考えるとΣn(Wi・Wn・σi・σn・ρin)の部分となります。ただし分散を計算している式なので、厳密には分散寄与度となります。
ここでnは資産が1、2、・・・n番目まである時1からnまで変化することになります。ここでWiとσiは変化しないため、Wi・σi・Σn(Wn・σn・ρin)となります。エクセルでは順番を入れ替えなくでも計算ができますが、Σの対象が分かりやすいように並び替えています。
ここで資産1からnまでに対応するウエイト(Wn)と標準偏差(リスク)(σn)と資産iとnの相関係数(ρin)をそれぞれ掛けて合計したものに、資産iのウエイト(Wi)と標準偏差(リスク)(σi)を掛ければリスク寄与度に関係する部分(ただし正確にはポートフォリオの分散(σp2)に対する寄与度)が分かります。
エクセルによるリスク寄与度の計算(分散寄与度)
リスク寄与度(厳密には分散寄与度)はエクセルで配列計算を使うと簡単に計算できます。ここで次のような資産1と資産2と資産3の3資産があると想定します。
A | B | C | D | E | F | |
---|---|---|---|---|---|---|
1 | 資産名 | ウエイト | リスク | 相関係数 | ||
2 | 資産1 | W1 | σ1 | ρ11 | ρ12 | ρ13 |
3 | 資産2 | W2 | σ2 | ρ21 | ρ22 | ρ23 |
4 | 資産3 | W3 | σ3 | ρ31 | ρ32 | ρ33 |
ポートフォリオの分散、標準偏差(リスク)の計算
まず先にポートフォリオの分散、標準偏差(リスク)を求めておきます。配列計算を用いて上記の場合にポートフォリオ全体の分散、標準偏差(リスク)を計算すると次の式になります。なお{}の部分は自分で入力する必要はありませんが、数式を入力後「Shiftキー」と「Ctrlキー」を同時に押したまま「Enterキー」を押す必要があります。
配列計算・行列計算をする時にはセルに式を入力した後で「Shiftキー」と「Ctrlキー」を同時に押したまま「Enterキー」を押すと数式に{}が自動でつけられて配列計算・行列計算が行われます。
項目 | 数式 |
---|---|
分散 | {=SUM((B2:B4*TRANSPOSE(B2:B4))*(C2:C4*TRANSPOSE(C2:C4))*(D2:F4))} |
標準偏差(リスク) | {=SQRT(SUM((B2:B4*TRANSPOSE(B2:B4))*(C2:C4*TRANSPOSE(C2:C4))*(D2:F4)))} |
transpose関数は配列の行と列を入れ替える関数です。「TRANSPOSE(B2:B4)」は次のような変換が起きます。行と列の番号は適当で計算式を入力したセルによって変わります。
B | |
---|---|
2 | W1 |
3 | W2 |
4 | W3 |
A | B | C | |
---|---|---|---|
1 | W1 | W2 | W3 |
「B2:B4*TRANSPOSE(B2:B4)」の配列計算(行列の積(MMULT関数)ではない)の結果は次のようになります。行と列の番号は適当で計算式を入力したセルによって変わります。
A | B | B | |
---|---|---|---|
1 | W1・W1 | W1・W2 | W1・W3 |
2 | W2・W1 | W2・W2 | W2・W3 |
3 | W3・W1 | W3・W2 | W2・W3 |
同じように「TRANSPOSE(C2:C4)」では次のような変換が起きます。行と列の番号は適当で計算式を入力したセルによって変わります。
C | |
---|---|
2 | σ1 |
3 | σ2 |
4 | σ3 |
A | B | C | |
---|---|---|---|
1 | σ1 | σ2 | σ3 |
「C2:C4*TRANSPOSE(C2:C4)」の配列計算(行列の積(MMULT関数)ではない)の結果は次のようになります。行と列の番号は適当で計算式を入力したセルによって変わります。
A | B | C | |
---|---|---|---|
1 | σ1・σ1 | σ1・σ2 | σ1・σ3 |
2 | σ2・σ1 | σ2・σ2 | σ2・σ3 |
3 | σ3・σ1 | σ3・σ2 | σ2・σ3 |
「(B2:B4*TRANSPOSE(B2:B4))*(C2:C4*TRANSPOSE(C2:C4))*(D2:F4)」の計算結果は次のようになります。行と列の番号は適当で計算式を入力したセルによって変わります。
A | B | C | |
---|---|---|---|
1 | W1W1σ1σ1ρ11 | W1W2σ1σ2ρ12 | W1W3σ1σ3ρ13 |
2 | W2W1σ2σ1ρ21 | W2W2σ2σ2ρ22 | W2W3σ2σ3ρ23 |
3 | W3W1σ3σ1ρ31 | W3W2σ3σ2ρ32 | W3W3σ3σ3ρ33 |
この計算後の配列にSUM関数を適用することによって配列の要素を全て合計することになります。「=sum(1,2,3)」といれたら1+2+3=6となるのと同じです。
リスク寄与度の計算式(正しくは分散寄与度)
リスク寄与度(正しくは分散寄与度)は次のような式で求められます。ここでも配列計算を利用しているため、数式を入力後、各セルで「Shiftキー」と「Ctrlキー」を同時に押したまま「Enterキー」を押す必要があります。
項目 | 数式 |
---|---|
資産1 | {=SUM(B2*C2*B2:B4*C2:C4*TRANSPOSE(D2:F2))} |
資産2 | {=SUM(B3*C3*B2:B4*C2:C4*TRANSPOSE(D3:F3))} |
資産3 | {=SUM(B4*C4*B2:B4*C2:C4*TRANSPOSE(D4:F4))} |
transpose関数は配列の行と列を入れ替える関数です。ただし、相関係数は左上から右下への対角線を中心として対称の関係にあるため、TRANSPOSE(D1:F1)は単に(D1:D3)としても計算結果は同じになります。資産2は(E1:E3)、資産3は(F1:F3)となります。ただし、列の参照をずらしていくのが大変なので、transpose関数を利用した方が資産数が増えた時に対応しやすいと考えられます。
項目 | 数式 |
---|---|
資産1 | {=SUM(B2*C2*(B2:B4)*(C2:C4)*(D2:D4))} |
資産2 | {=SUM(B3*C3*(B2:B4)*(C2:C4)*(E2:E4))} |
資産3 | {=SUM(B4*C4*(B2:B4)*(C2:C4)*(F2:F4))} |
資産1の分散寄与度の計算途中の「B2*C2*(B2:B4)*(C2:C4)*(D2:D4)」は次のようになっています。
A | |
---|---|
1 | W1σ1W1σ1ρ11 |
2 | W1σ1W2σ2ρ12 |
3 | W1σ1W3σ3ρ13 |
これをSUM関数で合計すると、「W1σ1W1σ1ρ11+W1σ1W2σ2ρ12+W1σ1W3σ3ρ13」となります。
ここで求めた寄与度は厳密には分散σ2に対する寄与度です。そのため、分散寄与度をリスク寄与度に変換しなければいけません。しかし、各資産の分散寄与度を単に平方根(√)をとってもリスク寄与度にはなりません。
なぜならば、上記式で求めた資産1、資産2、資産3のそれぞれの分散寄与度を合計して平方根(√)をとるとポートフォリオの標準偏差(リスク)になりますが、資産1、資産2、資産3のそれぞれの分散寄与度の平方根(√)を取ってから合計するとポートフォリオの標準偏差(リスク)には一致しないからで、√(X+Y)≠√X+√Yであるためです。
分散寄与度のリスク寄与度への変換
そのため、各資産の分散寄与度について平方根を取らない形でリスク寄与度に変換する必要がありますが、分散寄与度をリスク寄与度に変換するためにポートフォリオの標準偏差(リスク)(σ)で割ってしまうとリスク寄与度に変換できます。ここがリスク寄与度を求めるカギになります。
資産iの分散寄与度をCi(contribution)で示すとC1+C2+C3=σ2であるため、平方根(√)の計算を行わなくてもシグマで割ると(C1/σ)+(C2/σ)+(C3/σ)=σとなるため、(C1/σ)、(C2/σ)、(C3/σ)がそれぞれリスク寄与度に相当すると考えることができるのです。
ここでは3資産について説明していますが、資産数が増えても全く同様に計算できます。
なお、ポートフォリオ理論に関する論文では限界リスク寄与(Marginal Risk Contribution:MRC)を定義しウエイト(Wi)をかけることでリスク寄与度(Risk Contribution:RC)を導く形で説明されることが多いようです。
しかし、個人の投資家が自分のポートフォリオのリスク寄与度を理解する場合にはポートフォリオのリスクを求める式から分解して考えた方が簡易的に直感で分かるのではないかと思います。
まとめ
- リスク寄与度とはポートフォリオの中の各資産がポートフォリオ全体のリスクに対してどの程度寄与しているかを示したものです。
- 簡易的なリスク寄与度の計算式は「Σn(Wi・Wn・σi・σn・ρin)/σp」となります。ここでWiは資産iのポートフォリオにおける比率、σiは資産iの標準偏差(リスク)、ρijは資産iと資産jの相関係数、σpはポートフォリオ全体の標準偏差(リスク)を示しています。なお、nについても同様ですが、Σnは数列を意味していてnについて1からnまで数値を入れて合計するということを意味しています。