Pythonコード集 マーケット分析の記事

【Pythonコード集】ダウ平均の採用銘柄と長期金利の相関をチェックしてみよう!

ーこの記事は3分で読めますー

 

この記事はこんな方におすすめ

こんな方におすすめ

  • 米国株に投資をしている人
  • 米国株の投資に興味がある人
  • プログラミング言語『Python』に興味がある人
  • Pythonを学んでみたいけど...ためらっている人

 

この記事で何がわかるの?

わかること

  • ダウ平均の採用銘柄とアメリカ長期金利の関係
  • プログラミング言語『Python』による基本的な株式の分析方法

 

今回のテーマ

テーマ

  • アメリカ長期金利とダウ平均採用銘柄の相関関係

最近、経済関連の記事を読んでいると、景気に対する先行きリスクについての内容が多くみられます。

これらの記事の中で共通しているのがー

共通していること

・世界的なインフレ
・各国中銀の金融引き締め
・金利の上昇

です。

特に話題に上るのが、アメリカ(米国)です。

インフレの高進が止まらず、アメリカの中央銀行にあたる連邦準備制度理事会(FRB)は今後、利上げを含めた金融引き締め政策のペースを加速させていくでしょう。

米FRBの動きに対して、敏感に反応している指標がー

反応している指標

・米国の長期金利(10年債利回り)

です。

 

長期金利は、アメリカ株(米国株)の投資でとても重要な指標です。

なぜならこの金利は、アメリカ経済の先行きー

ポイント

景気の動きやインフレの予想を織り込んで動く

という特徴があるからです。

 

そこで今回の記事では、アメリカ長期金利の動きに対して、ダウ平均に採用されている各銘柄がどのように影響されているのか?

この点について考えてみます。

もちろん、当ブログのメインテーマのひとつであるプログラミング言語の『Python』を使って。

ぜひ、最後までご覧ください!


金利をキホンから学ぶなら

今回はー

テーマ

金利(長期金利)

がテーマのひとつです。

私たちにとって金利はとても身近で、大きな影響を与える存在です。

しかし、どれだけのことを知ってるの?と聞かれると、『うーん...』となってしまう人が多いのではないでしょうか。

そんな方にお勧めするのが、以下の本です。

No.1エコノミストが書いた世界一わかりやすい金利の本

※画像のリンク先はamazon Kindle

著者の上野泰也氏は、この世界で名の知れ渡ったエコノミストです。

そんな著者が『これでもか!』というくらい分かりやすく『金利のキホン』について解説したのが、本書です。

この本は、『そもそも金利ってなんだろう?』という疑問から始まります。

みなさんが抱くであろう疑問から出発し、日銀や米FRBが行ってきた金融政策とは何か?

それが経済へ与える影響ってなんだろう?

ということを、図解入りで簡単に説明してくれています。

また、短期と長期の金利ではどのような違いや特徴があるのか、はては今ネットでも話題の『複利』の計算、そして実際の投資商品を用いた実践的な金利の計算までをわかりやすく解説してくれています。

これだけの内容を詰め込んで、ページ数はたったの270ページ!

この1冊を読めば、金利のキホンについて完全にマスターすることができるでしょう!


本題

さて、ここからがメインテーマの話となります。

アメリカ長期金利の動きをチェック

まずは、アメリカ株(米国株)のトレンドに大きな影響を与える長期金利(10年債利回り)の動きを確認しましょう。

アメリカ長期金利のチャート

出所:TradingView 日足(2020年以降)

 

時間を追ってアメリカ長期金利(米長期金利)の動きを簡単に説明するとー

2020年前半

・コロナショック発生
・世界経済が大混乱に
・米FRBは前代未聞の金融緩和政策を導入
・アメリカの長期金利は急低下

という展開となりました。

 

しかし、2020年の8月あたりからトレンドが変わり始めます。

2020年8月以降

・長期金利の低下トレンドが止まる
・原油価格の上昇につれ高し、長期金利はジワリと上昇基調へ
・2021年は1.4%台を中心に横ばい推移

 

そして2022年に入るとー

2022年以降

・ロシア−ウクライナ紛争が勃発
・資源の価格が高騰
・世界中でインフレが進行
・アメリカ長期金利の上昇幅が拡大

という展開となっています。

 

そこで今回は、赤のラインで示したトレンドの転換ポイントー

転換ポイント

  • 2020年8月以降
  • 2022年以降

のアメリカ長期金利とダウ平均に採用されている銘柄の関係を考えていきます。

 

2020年8月以降の相関分析

まずは、2020年8月以降のアメリカ長期金利(米長期金利)の動きに対して、ダウ平均に採用されている各銘柄がどの程度の影響を受けているのか?

この点についてー

どの程度の影響を受けたのか?

相関係数

で確認してみましょう。


相関係数とは

・二つの事柄のうち、ひとつが変わるともう一方はどのように変化するのかを表す指標

・『-1~+1』の値をとる

・プラス1に近いほど、両者は同じ方向に動く関係にある

・マイナス1に近いほど、両者は逆の方向に動く関係にある

・ゼロに近いほど ”直線的な関係がない” と考える

プラスの関係のことを『順相関』または『正の相関といいます。

マイナスの関係のことを『逆相関』または『負の相関』といいます。


Pythonコード:2020年8月以降の分析

コードの全体像は、以下となります。

コード画像は、左右にスクロール(スワイプ)できます。

・ライブラリと銘柄ティッカーの取得

#ライブラリのインポート
import pandas as pd
import pandas_datareader as web
import matplotlib.pyplot as plt
import numpy as np
import seaborn as sns

#ダウ平均のティッカーコードを取得
ticker_list = pd.read_html('https://en.wikipedia.org/wiki/Dow_Jones_Industrial_Average')

#ティッカーコードのみを抽出
tickers = ticker_list[1].iloc[:, 2]

 

・2020年8月以降のデータを取得

#ダウ平均採用銘柄のデータを取得
df_2020 = pd.DataFrame()

for t in tickers:
    df_2020[t] = web.DataReader(name=t, data_source='yahoo', start='2020-08-01')['Close']


#ダウ平均のデータを取得
dji_2020 = web.DataReader(name = '^DJI', data_source='yahoo', start = '2020-08-01')['Close']


#アメリカ長期金利のデータを取得
df_yield_2020 = web.DataReader(name = '^TNX', data_source='yahoo', start = '2021-01-01')['Adj Close']

 

・アメリカ長期金利とダウ平均のデータを可視化(チャート化)

fig = plt.figure(figsize = (10,9))

#ダウ平均のチャート
ax1 = fig.add_subplot(211)
ax1.plot(df_yield_2020, color = 'black', lw = 3)
plt.title('DJI', fontsize = 25)
plt.grid(True)

#アメリカ長期金利のチャート
ax2 = fig.add_subplot(212)
ax2.plot(dji_2020, color = 'black', lw = 3)
plt.title('US_10YT', fontsize = 25)

plt.grid(True)
plt.tight_layout(h_pad=2.3)

ダウ平均とアメリカ長期金利のラインチャート

日足(2020年8月以降)/ データソース:Yahoo!finance US

※DJI:ダウ平均 / US_10YT:アメリカ長期金利

データを可視化することで、ちゃんと必要なデータを取得できていることが確認できました。

 

・データの統合

#データの統合
df_all_2020 = pd.concat([df_yield_2020, df_2020], axis=1)

 

・必要な箇所のピックアップ / 降順でソート

df_all_2020.corr().iloc[:, 0].sort_values(ascending = False)



実行結果

一番上の『Adj Close』が、アメリカの長期金利となります。

アメリカ長期金利と各銘柄の順相関(正の相関)の値が、かなり大きいことがわかります。

相関分析をする際、単に生のデータ(今回は金利と株価の水準)で分析をすると、このように高い相関係数が計算されるという問題があります。

 

アメリカ金利とダウ平均に採用されている各銘柄の単位(スケール)には、大きな違いがあります。

そこで相関分析をする時はー

相関分析のコツ

必ず "対数差分" を用いる

ことです。

 

・対数差分で相関を計算し直す

#対数差分の計算
df_log_2020 = np.log(df_all_2021).diff(1)


#対数差分の相関係数
df_log_2020.corr()


#降順で並び替え
df_log_2020.corr().iloc[1:, 0].sort_values(ascending = False)

実行結果

アメリカ長期金利とダウ平均に採用されている各銘柄の単位(スケール)が調整され、『真の相関係数』がわかりました。

 

最後に順相関と逆相関のトップ5をピックアップしてましょう。
※逆相関の場合は ”ボトム5” とも言えますが、以下では統一してトップ5としますね

・順相関と逆相関のトップ5

#順相関トップ5
df_log_2020.corr().iloc[1:, 0].sort_values(ascending = False).head()


#逆相関トップ5
df_log_2020.corr().iloc[:, 0].sort_values(ascending = False).tail()

実行結果

分析結果

相関分析の結果、以下のことがわかりました。

順相関トップ5

  • JPモルガン(JPM)
  • キャタピラー(CAT)
  • アメリカン・エキスプレス(AXP)
  • トラベラーズ(TRV)
  • ゴールドマン・サックス(GS)

 

アメリカ長期金利の動きに連動する特性があるセクターが『金融関連株』です。

実際に上の結果をみると、金融関連株3社(JPモルガン / アメリカン・エキスプレス / ゴールドマン・サックス)がランクインしています。

 

一方、逆相関の銘柄を確認してみましょう。

逆相関トップ5

  • ホームデポ(HD)
  • プロクター・アンド・ギャンブル(PG)
  • マイクロソフト(MSFT)
  • アップル(AAPL)
  • セールス・フォース(CRM)

ひとめ見て分かるのが、すでに世界的なブランドを確立した大手ハイテク企業3社がランクインしていることです。

また、景気の動きに左右されにくいビジネスを展開しているプロクター・アンド・ギャンブル(PG)もランクインしています。

この銘柄は、連続増配銘柄として多くの投資家に選好されています。

 

2022年以降の相関分析

相関係数は、取得するデータの期間が異なると、まったく違う結果になることがあります。

なので次は、ウクライナ紛争と資源価格の高騰によりアメリカ長期金利の上昇幅が拡大した2022年以降の相関係数をチェックしてみます。

Pythonのコードは、『2020年8月の分析』とほぼ同じです。

違う点は、データを取得する期間を『2022年1月1日』にするだけです。

今回は、全体のコードを一気に書きます。

コピペして遊んでみてください。

Pythonコード:2022年以降の分析

#ライブラリのインポート
import pandas as pd
import pandas_datareader as web
import matplotlib.pyplot as plt
import numpy as np
import seaborn as sns


#ダウ平均のティッカーコードを取得
ticker_list = pd.read_html('https://en.wikipedia.org/wiki/Dow_Jones_Industrial_Average')


#ティッカーコードのみを抽出
tickers = ticker_list[1].iloc[:, 2]


#ダウ平均に採用されている各銘柄データを取得
df_2022 = pd.DataFrame()

for t in tickers:
    df_2022[t] = web.DataReader(name=t, data_source='yahoo', start='2022-1-1')['Close']


#ダウ平均のデータを取得
dji_2022 = web.DataReader(name = '^DJI', data_source='yahoo', start = '2022-1-1')['Close']


#アメリカ長期金利のデータを取得
df_yield_2022 = web.DataReader(name = '^TNX', data_source='yahoo', start = '2022-1-1')['Adj Close']


#ダウ平均とアメリカ長期金利のチャートを描画
fig = plt.figure(figsize = (10,9))
#ダウ平均のチャート
ax1 = fig.add_subplot(211)
ax1.plot(df_yield_2022, color = 'black', lw = 3)
plt.title('DJI', fontsize = 20)
plt.grid(True)

#アメリカ長期金利のチャート
ax2 = fig.add_subplot(212)
ax2.plot(dji_2022, color = 'black', lw = 3)
plt.title('US_10YT', fontsize = 20)

plt.grid(True)
plt.tight_layout(h_pad=2.5)


#データの統合
df_all_2022 = pd.concat([df_yield_2022, df_2022], axis=1)


#対数差分の計算
df_log_2022 = np.log(df_all_2022).diff(1)


#対数差分の相関係数を計算
df_log_2022.corr()


#相関係数を降順並び替え
df_log_2022.corr().iloc[:, 0].sort_values(ascending = False)


#順相関トップ5
df_log_2022.corr().iloc[1:, 0].sort_values(ascending = False).head()


#逆相関トップ5
df_log_2022.corr().iloc[:, 0].sort_values(ascending = False).tail()

分析コメント

さて、2020年8月以降のデータと2022年以降のデータを用いて、期間別に相関分析ができました。

最後に、両方の分析結果にどのような『共通点』があるのか?を確認してみましょう。

そうすることで、アメリカの長期金利に影響を受けやすい銘柄とそうでない銘柄が、よりハッキリとわかります。

 

Pythonコード:期間別の比較

#順相関トップ5
print('2020年8月 順相関トップ5: ', "\n", df_log_2020.corr().iloc[1:, 0].sort_values(ascending = False).head())
print()
print('2022年 順相関トップ5: ', "\n", df_log_2022.corr().iloc[1:, 0].sort_values(ascending = False).head())


#逆相関トップ5
print('2020年8月 逆相関トップ5: ', "\n", df_log_2020.corr().iloc[:, 0].sort_values(ascending = False).tail())
print()
print('2022年 逆相関トップ5: ', "\n", df_log_2022.corr().iloc[:, 0].sort_values(ascending = False).tail())

Pythonのprint関数を用いれば、上のように簡単にデータ別の分析ができます。

順相関のトップ5は『head( )』、逆相関のトップ5は『tail( )』でそれぞれピックアップできます。

 

分析結果

・順相関トップ5

共通しているのは、JPモルガン(JPM)、アメックス(AXP)、トラベラーズ(TRV)が、どちらの期間分析でもランクインしていることです。

また、建機大手のキャタピラー(CAT)も、同じくアメリカ長期金利の動きに影響を受けていることがわかりました。

 

・逆相関トップ5

次に、逆相関の分析結果を見てみましょう。

 

共通しているのは、プロクター・アンド・ギャンブル(PG)とホームデポ(HD)が、どちらの期間分析でもランクインしていることです。

これらの銘柄はアメリカ長期金利の動きよりも、他の要因で動く傾向があることがわかりました。

しかし逆相関の値はどれも『-0.0...』です。

なので、上でピックアップした銘柄はどれも、アメリカの長期金利以外の要因 ー 例えば資源価格の動きなどに大きな影響を受けている可能性があることが分かります。

 

ここまで見てきたように、Pythonの基本的なコードを書くだけでも、株式投資に関して色々と分析することができます。

わたしもPythonを学んでみたい!と思う方は、『Pythonを効率よく学ぶ方法』をご覧ください。

どれもジェイが受講した良質な講座です。

なので、自信を持ってあなたにおすすめできます!

 

Pythonを効率よく学ぶ方法

独学OKの人は迷わずUdemyで学ぼう!

Udemyのサイトより

以下では、オンライン学習プラットフォームの『Udemy』が提供している数多くのPythonコースの中でも、実際にジェイが受講して『これはよかった!』と思うコースをピックアップしました。

なおUdemyでは、受講したコースにあなたが満足しない場合、30日以内なら返金を申請することができます。

このため、安心していろんなコースを受講することができます。

ぜひチャレンジしてみてください!

Udemy おすすめのPythonコース ▼
・Pythonの基礎から応用まで一気に学ぶならこのコース おすすめ度
現役シリコンバレーエンジニアが教えるPython 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイル
この記事の冒頭でも紹介しましたが、Pythonに興味がある人、学ぶことをためらっている人には、このコースをおすすめします。
タイトルにあるとおり、現役のエンジニアの方がPythonの基礎から応用までを丁寧に教えてくれるコースです。
このコースを学習しながら、同時にアウトプットの練習もしていけば、効率よくプログラミングのスキルをアップさせることができます。

 

・Python、ファイナンス、英語を一気に学ぶ ”欲張りコース” おすすめ度
Python for Finance: Investment Fundamentals & Data Analytics
Python、ファイナンスそして英語の力を同時にレベルアップするコースとしては、Udemy最高のクォリティーです。
ジェイもこのコースで学び、今も復習で使っています。

英語ができない...

安心してください。このコースには日本語の字幕が付いています。
なので、英語の勉強もできる『欲張りコース』だとジェイは思います。

どうしても日本語がいい!という方は、日本語バージョンもありますよ!
世界で8万人が受講:Python for Finance】Pythonを使って学ぶ現代ファイナンス理論と実践


まとめ

まとめ

・アメリカの長期金利は2020年8月以降、上昇のトレンドにある
・2022年のウクライナ紛争により、アメリカの長期金利はさらに上昇している
・アメリカの長期金利に影響を受けやすいダウ銘柄がある
・逆にアメリカの長期金利に影響を受けにくい銘柄がある
・Pythonを使えば簡単に相関分析ができる

今回は以上です。

最後までお読みいただき、ありがとうございました!


注記事項

ジェイの米国株投資ブログ(以下当サイト)に掲載されている記事は、投資の助言を目的としたものではありません。当サイトに掲載されたコンテンツの正確性については、可能な限り注意を払っています。しかし、意図せず誤情報が紛れ込む可能性や情報そのものが古くなっている可能性があり、その正確性を完全に保証するものではありません。
当サイトのコンテンツを参考に投資を行い、その後発生したいかなる結果についても、当サイト並びにブログ運営者は一切責任を負いません。すべての投資行動は『自己責任の原則』のもとで行ってください

-Pythonコード集, マーケット分析の記事