生活に役立つお金の情報です。

リスク寄与度の計算方法とエクセルでの計算式

記事作成日:2015年11月8日

ポートフォリオ

リスク寄与度の計算方法とエクセルを利用した計算について説明しています。リスク寄与度とはポートフォリオの中の各資産がポートフォリオ全体のリスクに対してどの程度寄与しているかを示したものです。例えばポートフォリオのリスクが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資産によるポートフォリオを例とします。ただし、資産が増えても基本的な考え方は全く同じです。

ポートフォリオの例
ABCDEF
1資産名ウエイトリスク相関係数
2資産11σ1ρ11ρ12ρ13
3資産22σ2ρ21ρ22ρ23
4資産33σ3ρ31ρ32ρ33

先ほどのポートフォリオに具体的な数値を入れてみます。資産1は高リスク資産、資産2は中リスク資産、資産3は低リスク資産です。イメージとしては資産1は国内株式、資産2は外国債券、資産3は国内債券といったようなイメージです。ただしリスクや相関係数の数値は適当な数値です。

ポートフォリオの例(数値)
ABCDEF
1資産名ウエイトリスク相関係数
2資産150.0%15.0%1.00.8-0.2
3資産230.0%8.0%0.81.00.1
4資産320.0%3.0%-0.20.1-1.0

分散と標準偏差の計算式の例

ここでポートフォリオの分散、標準偏差(リスク)、各資産のリスク寄与度は次のようになります。{}は配列計算で自動に入るもので数式の入力の際には{}を加えなくても「Shiftキー」と「Ctrlキー」を同時に押したまま「Enterキー」を押すと入ります。なお、ここではエクセルの行番号、列番号を記載していますが、記載のとおりの場所にしないと後の式の計算でエラーが出るためご注意ください。

分散と標準偏差の計算式の例
AB
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)))}

具体的な数値は次のようになります。

分散と標準偏差の計算例
AB
5項目結果
6分散0.897%
7標準偏差(リスク)9.47%

分散寄与度とリスク寄与度の計算式の例

続いて分散寄与度、リスク寄与度の計算式は次のとおりです。

分散寄与度とリスク寄与度の計算式の例
ABC
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)

具体的な数値は次のようになります。

分散寄与度とリスク寄与度の計算例
ABC
8資産名分散寄与度リスク寄与度
9資産10.698%7.37%
10資産20.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資産があるとするとポートフォリオの分散は次のようになります。

σp21・W1・σ11+W1・W2・σ12+W1・W3・σ13
2・W1・σ21+W2・W2・σ22+W2・W3・σ23
3・W1・σ31+W3・W2・σ32+W3・W3・σ33

ここで「(XとYの相関係数)=(XとYの共分散)÷((Xの標準偏差)・(Yの標準偏差))」であるため「(共分散)=(Xの標準偏差)・(Yの標準偏差)・(XとYの相関係数)」とすると上の式は次の式に変形できます。

σp21・W1・σ1・σ1・ρ11+W1・W2・σ1・σ2・ρ12+W1・W3・σ1・σ3・ρ13
2・W1・σ2・σ1・ρ21+W2・W2・σ2・σ2・ρ22+W2・W3・σ2・σ3・ρ23
3・W1・σ3・σ1・ρ31+W3・W2・σ3・σ2・ρ32+W3・W3・σ3・σ3・ρ33

ポートフォリオの分散の寄与度に関係する式

ここで資産1がポートフォリオの分散(σp2)に寄与している部分の数式は「1・W1・σ1・σ1・ρ11+W1・W2・σ1・σ2・ρ12+W1・W3・σ1・σ3・ρ13」となります。

同様に資産2がポートフォリオの分散(σp2)に寄与している部分の数式は「2・W1・σ2・σ1・ρ21+W2・W2・σ2・σ2・ρ22+W2・W3・σ2・σ3・ρ23」となり、資産3がポートフォリオの分散(σp2)に寄与している部分の数式は「3・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資産があると想定します。

ポートフォリオの例
ABCDEF
1資産名ウエイトリスク相関係数
2資産11σ1ρ11ρ12ρ13
3資産22σ2ρ21ρ22ρ23
4資産33σ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)」は次のような変換が起きます。行と列の番号は適当で計算式を入力したセルによって変わります。

transpose関数の変換前
B
21
32
43
transpose関数の変換後
ABC
1123

「B2:B4*TRANSPOSE(B2:B4)」の配列計算(行列の積(MMULT関数)ではない)の結果は次のようになります。行と列の番号は適当で計算式を入力したセルによって変わります。

配列計算の計算結果
ABB
11・W11・W21・W3
22・W12・W22・W3
33・W13・W22・W3

同じように「TRANSPOSE(C2:C4)」では次のような変換が起きます。行と列の番号は適当で計算式を入力したセルによって変わります。

transpose関数の変換前
C
2σ1
3σ2
4σ3
transpose関数の変換後
ABC
1σ1σ2σ3

「C2:C4*TRANSPOSE(C2:C4)」の配列計算(行列の積(MMULT関数)ではない)の結果は次のようになります。行と列の番号は適当で計算式を入力したセルによって変わります。

配列計算の計算結果
ABC
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)」の計算結果は次のようになります。行と列の番号は適当で計算式を入力したセルによって変わります。

配列計算の計算結果
ABC
111σ1σ1ρ1112σ1σ2ρ1213σ1σ3ρ13
221σ2σ1ρ2122σ2σ2ρ2223σ2σ3ρ23
331σ3σ1ρ3132σ3σ2ρ3233σ3σ3ρ33

この計算後の配列にSUM関数を適用することによって配列の要素を全て合計することになります。「=sum(1,2,3)」といれたら1+2+3=6となるのと同じです。

リスク寄与度の計算式(正しくは分散寄与度)

リスク寄与度(正しくは分散寄与度)は次のような式で求められます。ここでも配列計算を利用しているため、数式を入力後、各セルで「Shiftキー」と「Ctrlキー」を同時に押したまま「Enterキー」を押す必要があります。

分散寄与度の数式(transpose関数を使わない場合)
項目数式
資産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関数を利用した方が資産数が増えた時に対応しやすいと考えられます。

分散寄与度の数式(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
11σ11σ1ρ11
21σ12σ2ρ12
31σ13σ3ρ13

これをSUM関数で合計すると、「W1σ11σ1ρ11+W1σ12σ2ρ12+W1σ13σ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まで数値を入れて合計するということを意味しています。

【リスク寄与度の計算方法とエクセルでの計算式の記事は終わりです】

「資産運用|お金を増やす」のページに戻る

最近よく読まれているページ

ページの先頭へ