相関関係とは?
相関関係とは、二つの値の関わり合いのことで、一方が変化すれば他方も変化する関係をいいます。相関関係には「正の相関」と「負の相関」があります。正の相関関係とは、一方が増加すると他方も増加するという関係で、負の相関関係は一方が増加すると他方が減少するという関係です。
相関関係の程度を示す指標として、「相関係数(Correlation coefficient)」というものがあります。相関係数とは、2 つの値の間の相関の度合い(類似性の度合い)を示す統計学的指標で、−1 から 1 の間の値をとり、以下のように解釈します。
- 1 に近ければ近いほど2つの値には正の相関が強い
- −1 に近ければ近いほど2つの値には負の相関が強い
- 0に近づけば近いほど2つの値には相関が無い
本日は、米国の主要株価指数4つ(ダウ平均・S&P500・ナスダック100・ラッセル2000)について、それぞれの相関関係を分析してみたいと思います。
ダウ平均・S&P500・ナスダック100・ラッセル2000の相関係数
4つの指数の組み合わせなので、以下の6通りとなります。
- ダウ平均とS&P500
- ダウ平均とナスダック100
- ダウ平均とラッセル2000
- S&P500とナスダック100
- S&P500とラッセル2000
- ナスダック100とラッセル2000
足元の分析
この6つの組み合わせについて、それぞれの相関係数の推移を見てみます。まず、以下のチャートは大統領選のあった昨年11月初旬以降、足元の状況を表示しています。
※なお相関係数の軸ラベルは、%表示しています。相関係数のパラメータである期間は、20で固定しています。
(クリックで拡大できます。)
上のチャートの下半分が、相関係数の推移です。(なお、上半分は各株価指数を単純比較しているもので、参考程度に。)
まずいえることは、相関関係は、低下した後に一定期間を経て基に戻る「波動」の形状をしていますね。
足元の状況では、相関が最も弱いのは「ダウ平均とナスダック100」(紺色のライン)です。次に相関が弱いのが、「ナスダック100とラッセル2000」(青色)、次に弱いのが「ナスダック100とS&P500」(緑色)です。
以上から、足元ではナスダック主導(IT・ハイテク主導)で相関関係の低下が発生していると言えそうです。さらに直近は、その相関関係の低下は、正常に戻りつつある、ことも言えそうです。
以上から、足元ではナスダック主導(IT・ハイテク主導)で相関関係の低下が発生していると言えそうです。さらに直近は、その相関関係の低下は、正常に戻りつつある、ことも言えそうです。
一方、足元で正の相関が最も強いのが「S&P500とラッセル2000」(赤色)です。また「ダウ平均とラッセル2000」(黄色)も正の相関が強くなっています。このことから、足元では大型株と中小型株は同じような動きになっている、といえそうです。
2020年年初からの分析
次に、もう少し長いスパンで、コロナショックの前後を含めて2020年年初からの状況を見てみます。
(クリックで拡大できます。)
ナスダック主導の相関関係の低下が数か所みられますが、ただし8月中旬から9月の状況は特殊です。ここでは、「S&P500とラッセル2000」(赤色)と、「ダウ平均とラッセル2000」(黄色)と、「ナスダック100とラッセル200」(青色)がそろって相関係数が下がっています。すなわちこの期間は、中小型株と大型株が異なる動きをしているといえそうです。相場が本格的に上昇する場合は、まず大型株から買われて、その後に出遅れた中小型株が買われます。足元の数カ月は、出遅れていたラッセル2000がアウトパフォームしています。(ラッセル2000は、いろいろなことを示唆するので、「炭鉱のカナリア」と呼ばれますね。)
最後に基本的に以下のことがいえそうです。
「各指数の相関係数の低下は、一定期間(約1カ月から数カ月程度)で元の状態に戻る波動である。」
「各指数の相関係数の低下は、ゼロ付近までで、マイナス(負の相関)になることはほとんどない。」
「各指数の相関係数の低下は、一定期間(約1カ月から数カ月程度)で元の状態に戻る波動である。」
「各指数の相関係数の低下は、ゼロ付近までで、マイナス(負の相関)になることはほとんどない。」
(参考)TradingViewのスクリプト
なお、今回使用したTradingViewのPineスクリプトは、以下の自作スクリプトです。
//@version=4 study( "Stock Indices Correlation: https://beikokukabu.com/" ) plot( correlation(security("US30" ,"D" ,close),security("US100" ,"D" ,close) ,20 ), linewidth = 2, color=color.navy,title = "DOW30 vs NASDAQ100" ) plot( correlation(security("US30" ,"D" ,close),security("US500" ,"D" ,close) ,20 ), linewidth = 2, color=color.orange,title = "DOW30 vs S&P500" ) plot( correlation(security("US30" ,"D" ,close),security("US2000" ,"D" ,close) ,20 ), linewidth = 2, color=color.yellow ,title = "DOW30 vs Russel2000" ) plot( correlation(security("US100" ,"D" ,close),security("US500" ,"D" ,close) ,20 ), linewidth = 2, color=color.green,title = "S&P500 vs NASDAQ100" ) plot( correlation(security("US100" ,"D" ,close),security("US2000" ,"D" ,close) ,20 ), linewidth = 2, color=color.blue ,title = "NASDAQ100 vs Russel2000" ) plot( correlation(security("US500" ,"D" ,close),security("US2000" ,"D" ,close) ,20 ), linewidth = 2, color=color.red ,title = "S&P500 vs Russel2000" ) hline(0, linewidth = 1, linestyle=hline.style_solid) hline(0.5, linewidth = 1, linestyle=hline.style_dotted) hline(1, linewidth = 1, linestyle=hline.style_solid)
以上、ご参考になれば幸いです。