月次リターンデータからファンド同士の相関係数を出してみよう(投資に使えるExcel)

基準価額データからファンド同士の相関係数を出してみよう(投資に使えるExcel) 【連載】投資に使えるExcel
この記事は約10分で読めます。
愚者小路
愚者小路

Excelの関数を投資に役立てるべく、連載企画を立ち上げました。
これから不定期で進めていきます。


初回はファンド同士の相関係数の求め方
関数一つで求められるけど、少しカスタムして実用的なシートを作りました。

超要約
  • 月次リターンデータはモーニングスターで手に入れる。
  • 相関係数を求めるExcel関数はCORREL
  • 使い方はCORREL(ファンドAの月次リターン群, ファンドBの月次リターン群)
スポンサーリンク

ポートフォリオ運用に相関係数の把握が欠かせない理由

投資信託を用いたポートフォリオ運用ではいくつものファンドを併せ持つことで効果的なリスク軽減を図ります。
どれぐらい効果的にリスクを軽減できるかは、互いの値動きがどれだけ異なるかで決まります。

互いの値動きが異なれば、一つのファンドが大下落しても他のファンドの下落幅は軽微/横ばい/上昇なんてことも多々起こり得ます。
結果として資産全体の損失幅は抑えられるわけですね。

逆に値動きが似ていれば、一つのファンドが大下落した時に他のファンドも同じぐらい下落してしまいかねません。
こうなると資産全体の損失幅は抑えることができず、ファンドを併せ持つ意味はほぼないと言っていいでしょう。

ポートフォリオ運用でリスクを抑制するためにとても重要な「値動きの異なる度合い」こそが相関係数です。
今回はファンドの月次リターン推移から互いの相関係数を求めることをゴールとします。

ファンド同士の相関係数を算出するには過去の月次リターンが必要

相関係数算出に必要な月次リターンはどこから取得すればいいのでしょうか?
ファンドのチャートから基準価額をポチポチ拾って算出することもできるのですが、どうにも現実的ではありません。

Excelでビシッと計算するからには、どうしても月次リターンのテキストデータが必要です

月次リターンデータはどこで手に入れるの?

モーニングスターで各ファンドの月次リターンデータをCSV形式でダウンロードすることができます。
Excelにそのまま貼り付けられるのはありがたいですね。
取得方法をキャプチャ付きで解説します。
※2021/1時点の取得方法なのでレイアウトや文言の変更があれば適宜読み替えてください。
対象ファンドは一例です。

ファンド詳細の画面から「チャート」をクリック。

ファンドの詳細画面から「チャート」をクリック
ファンドの詳細画面から「チャート」をクリック の図(画面はモーニングスターより)

チャートの下にある「リターンデータダウンロード」をクリック。

チャート下にある「リターンデータダウンロード」をクリック
チャート下にある「リターンデータダウンロード」をクリック の図(画像はモーニングスターより)

ダウンロード画面で取得対象期間を入力して「ダウンロード」をクリック。
相関係数算出における期間はどれぐらいが妥当か判断に悩むところですが、ひとまず今回の解説では過去10年分取得しています。

ひとまず今回は過去10年分取得しました
ひとまず今回は過去10年分取得しました の図(画面はモーニングスターより)

これで月次リターンデータが取得できました。
次はいよいよ相関係数の計算です。

実際にExcelで相関係数を計算してみよう

今回キモとなる関数は相関係数を求めるCORREL関数
ファンド同士の相関係数を算出する場合、引数に月次リターンの配列を渡します。

CORREL関数の使い方

CORREL(ファンドAの月次リターン群, ファンドBの月次リターン群)

愚者小路
愚者小路

ファンド同士の相関係数は月次リターンで求めます。
基準価額で求めようとすると、まるで違う結果が出てきてしまうので注意。
(私は最初そのワナにどハマりしました)

計算シートのダウンロードはこちらから

今回は次の機能を備えたシートを作りました。

  1. モーニングスターの月次リターンデータ(両ファンド分)を貼り付ける
  2. 両ファンドの日付が合致しているかチェックする
  3. 合っていればCORREL関数で相関係数を算出する

下記zipアイコンからダウンロードできます。

相関係数算出シートのダウンロード

Excelファイルをいじりながら実際に相関係数を出してみましょう。
例として、次の2ファンドを比較してみます。

  • eMAXIS TOPIXインデックス
  • ひふみ投信
前提

既に10年分の月次リターンデータをモーニングスターからダウンロードしているものとします。
加えて、Windows環境下での操作を想定しています。
OS違いやExcelのバージョン違いによる差異は適宜読み替えてください。

CSVから月次リターンデータを貼り付ける

片方のCSVファイルを開いて、日付と月次リターンを選択してCtrl+Cでコピーします。
その値を相関係数算出シートのE3セルを右クリック⇒「形式を選択して貼り付け」⇒「値」を選択してOK。
普通に貼り付けるとセルの書式など全部潰れてしまうので値貼り付け推奨です。

基準価額データを「ファンドA」のところに値貼り付けしよう
月次リターンデータを「ファンドA」のところに値貼り付けしよう の図
愚者小路
愚者小路

シートの保護は一切かけていません。
必要だと思ったら各自で保護設定してください。

「チェック」の列が真っ赤になりましたが、チェック機能の一環なので今の時点では気にしないでください。

次にもう片方のCSVファイルを開いて、同様にH3セルに値貼り付けします。
何も問題なければ先ほど真っ赤だったセルも元に戻り、B5セル(黄色いセル)に相関係数が表示されるはず。

ファンドBにも月次リターンデータを貼り付けると、日付チェックに問題なければ相関係数が出てきます
ファンドBにも月次リターンデータを貼り付けると、日付チェックに問題なければ相関係数が出てきます の図

相関係数は前述のCORREL関数にF列とI列を丸ごと渡しています。
※CORREL関数は文字列と空白は無視してくれます

計算の結果、相関係数0.8299と出ています。
相関係数は-1~+1までの値を取り、基準価額の動き方が似ているほど+1に近くなります。

つまり「eMAXIS TOPIXインデックス」と「ひふみ投信」はけっこう値動きが似ている部類に入るため両ファンドを併せ持ってもリスク低減効果はあまり期待できないことが分かります。

愚者小路
愚者小路

時にTOPIXを大きく上回るひふみ投信と言えど、結局は国内株式ファンド。
アクティブだってインデックスだって、同じ流れの中で生きているんだね。

ちなみに全く関連性がないと0付近、むしろ逆に動くと-1に近くなります。
完全な逆相関(相関係数が-1)は併せ持つと値動きを完全相殺してしまい、ノーリスク・ノーリターンとなってしまいます。
誰もそんなことやらないと思うけど、日経平均の連動ファンドとベアファンド(逆の動きをするファンド)を併せ持つと、レバレッジ倍率が同じであればほぼ-1になるでしょう。

ファンド同士の相性が良いのは相関係数ゼロ付近か若干のマイナスです。
どちらも期待リターンがじゅうぶんにプラスで、かつ相関係数ゼロ付近になる組み合わせは希少なので見つけたらラッキーですよ。

今回は貼り付けただけで相関係数がスパッと出てくる例でした。
もし表示されない場合、データ不整合があるので貼り付けたデータを確認してみましょう。

【入力チェック】相関係数は日付が完全合致していないと意味がない

CORREL関数は基準価額だけで相関係数を算出してしまいます。
そのため日付のズレを一切考慮してくれません。
たとえ日付が1年ズレていたとしても1か月ズレていたとしても、もっともらしい数値が出てきてしまいますが、その数値は使い物になりません。

つまりファンド同士の相関係数算出には両者の日付が完全に合致していることを事前にチェックする必要があります。
そのチェックがD列の「チェック」です。
両ファンドの日付が入っていて、かつ日付が食い違っていたらFALSEが出るようになっています。
FALSEが1個でもあったら相関係数は表示しないようにしています。
(誤った結果を出してしまわないための安全装置です)

ためしに先ほどのデータを少しいじってファンドB(ひふみ投信)側の日付が丸1年ズレていたとします。

日付がズレているところは「チェック」セルが赤くなります
日付がズレているところは「チェック」セルが赤くなります の図

ファンドA⇔Bで日付の食い違った部分の「チェック」列(D列)が赤くなります。
この例では最初から食い違っていますが、途中からの食い違いならその箇所から赤くなります。
データの個数が合わない場合も同様に日付の不整合としてチェックされます。

モーニングスターから日付を間違えてダウンロードしてきてしまったとか、貼り付け開始位置を間違えてしまったとか、前回の計算結果の残骸が残っていたとか、色々な理由で日付の不整合は発生します。

貼り付けデータをよく確認のうえ、ズレがないよう貼り直しましょう。
ズレさえ解消すれば、相関係数はきちんと出てきます。

当シートの使い方は以上です。

計算結果の正確性を担保するエビデンス

少し前のデータではありますが、三菱UFJ国際投信がeMAXISシリーズの各ファンドの相関係数を公開しています。

三菱UFJ国際投信算出データは2010/10~2015/07までで計算しているとのことなので、私が作ったデータでも同じ期間で計算して答え合わせをしました。
結果はもちろん、バッチリ合っていたのでご安心ください。

三菱UFJ国際投信の結果との答え合わせ
三菱UFJ国際投信の計算結果と完全合致。計算結果の正確性はご理解いただけたでしょうか の図(画面キャプチャは三菱UFJ国際投信より)

私の作ったシートに「本当に合ってるの?」と疑問を持つのは当然のこと。
上図をもって正確性のエビデンスとさせていただきます。

相関係数の自力計算は応用範囲が広い

インデックス運用をしている分には、アセットクラスごとの相関係数はちょっと調べれば出てきます。
たとえばこんな感じ。

ただし古いデータだったり、算出対象期間が不十分だったり、自分自身にジャストフィットする情報はなかなか見つからないものです。
そういう意味では任意のファンド・任意の期間で「完全自分向け」の相関係数を計算できる手段を確保しておくと何かと便利でしょう。

特にポートフォリオにアクティブファンドを組み込んでいる人は、自力計算以外の選択肢はありません。
アクティブファンドと特定のインデックスの相関係数、アクティブファンドと別のアクティブファンドの相関係数なんかは誰も計算してくれていないでしょう。
ネットで調べて出てこない以上、自分で計算するしかないのです。

アクティブファンド同士の相関係数は誰も計算していない未踏の地ではありますが、相関係数の低い「魔法の組み合わせ」を見つけ出せる可能性も眠っています。
もう一度言いますが、じゅうぶんにプラスの期待リターンがあり、かつ相関係数がゼロか若干のマイナスという組み合わせはかなり希少です。
アクティブファンドをポートフォリオに組み込む合理性があるとすればそんな「魔法の組み合わせ」が見つかった時ではないかなと思います。

愚者小路
愚者小路

ただアクティブファンドは運用の中身そのものが案外変わりやすいから、過去データに基づく相関係数が役に立たない可能性もある。
そこはじゅうぶん認識しておこう。

他は個別株や仮想通貨、金といった日々の価格推移が同期間で取得できるなら同じ土俵で相関係数を出すことができます。
日々価格のつかないもの(実物不動産とか)でない限り自分で相関係数を算出できる。
この応用範囲の広さはけっこうなアドバンテージなのではないでしょうか。

さいごに:Excelファイルご使用上の注意

可能な限りシンプルな作りとしたので、必要に応じてどんどん拡張していってください。
私でないと直せないプログラムではないので、不備や不具合などあれば自力で調べて解決するようお願いします。

また、このシートによって発生したいかなる損失・損害について、わたくし愚者小路は一切の責任を持たないことをあらかじめご了承ください。

愚者小路
愚者小路

以上、ファンド同士の相関係数を求める方法の解説でした。

【次回予告】さーて、次回の愚者小路さんは

愚者小路
愚者小路

愚者小路です。


今回作った相関係数算出シートを使って、メジャーなアセットクラス(に連動するインデックスファンド)同士の相関係数を算出してみます。
最新の計算結果だと相関係数はどうなっているのかな?

ありがとうございます。

次回もまた見てくださいね。

次回のタイトル/内容は予告なく変更する場合があります。ご了承ください。
こちらランキング参加中です。
応援していただくとより多くの方にご覧いただけるし、投稿モチベーションも上がります。

↑いつもランキング向上にご協力ありがとうございます!

この記事を読んだ人はこんな記事も読んでいます

・・・なんて機能はないけれど、本件と関連が深い記事です。
もう1ページ、いかがですか?

コメント