Pythonで投資のチャート分析をしよう【ナスダックvsFFレート】
2023-02-28 by 内田裕之
- 「Pythonで投資のチャート分析をしたい」
- 「プログラミングを使って効率よく稼ぎたい」
この記事はそんな方へ向けて書いています。
こんにちは。
Pythonで投資のチャート分析をしているうっちゃんです。
私は投資でできるだけ損したくないので投資分析を行っています。
今回はナスダックとFFレートの関係を分析したので紹介します。
投資とプログラミング学習に役立つと嬉しいです。
この記事は内容に広告・プロモーションを含みます。
チャート分析ならPythonがおすすめ
よい投資先を見つけるためにエクセルを編集してグラフ作成するのは大変ですよね。
プログラミングを活用して簡単に分析できればいいなあと思ったのは私だけではないと思います。
書店で見かけた一冊の本をきっかけにこの悩みは解消されました。
これはプログラミング言語Pythonを使ってデータ系列の扱い、グラフ作成、自動売買、ポートフォリオ分析まで多岐にわたる分析を可能とする本です。
今回はナスダックとFFレートの関係を分析するのに活躍しました。
ナスダックとFFレートの関係
NASDAQは米国にある世界最大級の新興企業向け株式市場です。
ナスダックはハイテク銘柄が多いので金利の影響を受けやすいとも聞きます。
バフェット太郎さんのYouTube動画でも次のように説明されています。
株価のバリュエーションは金利とシーソーのような関係にあり、金利が上がると株価は下落しやすい
たしかに利上げ時期にナスダックが急落することが多いように感じてはいますが、データでは確認していません。
そこでPythonで分析することにしました。
今回作成するのはナスダックとFFレートの関係です。
FFレートとはフェデラル・ファンド金利を略したもので、米国の代表的な短期金利です。
連邦準備制度理事会(FRB)が金融市場を調整する目的で作られた政策金利を指します。
(参考:FFレート(えふえふれーと))
インフレ率が高いときや景気が過熱したときはFFレートを上げて金融引締を行います。
逆に不景気のときはFFレートを下げて金融緩和を行います。
利上げするとナスダックが急落して、利下げするとナスダックが上昇するのは本当なのか?
Pythonを使って2000年から2023年までのトレンドを調べました。
作成したグラフがこちらです。
緑色はナスダック(左軸)、灰色はFFレート(右軸)です。
青色はFFレートの利下げ期間、赤色は利上げ期間です。
2004年や2016年は利上げしていますが、ナスダックは力強く上昇していました。
また2003年までの期間、2008年は利下げしていますが株価は下落していました。
当時はITバブル崩壊やリーマンショックなので、景気後退を防ぐ目的の利下げだからでしょうか。
データからは利下げ=株価の上昇、とはならないことがわかりました。
一方でゼロ金利政策(0〜0.25%)では株価は最高値を更新しています。
ゼロ金利政策=株価の急上昇は期待できると思われます。
次のゼロ金利政策が楽しみですね!
分析に使用したコード
チャート分析に使用したPythonコードをまとめます。
なお、開発環境はJupyter Notebookを使用しています。
データについては、ナスダックはYahoo!Fianance、FFレートはFREDから取得しました。
#ライブラリーのインポート
from pandas_datareader import data
import pandas as pd
from pylab import mpl, plt
import numpy as np
import datetime
plt.style.use('seaborn')
mpl.rcParams['font.family'] = 'serif'
%matplotlib inline
#データの期間
start = '2000-01-01'
end = datetime.date.today()
#Yahoo!Financeからデータ取得
yf.pdr_override()
#NASDAQのデータ
nasdaq_df = data.get_data_yahoo('^IXIC', start, end)
nas_date = nasdaq_df.index
nas_price = nasdaq_df['Close']
#米国FFレートのデータ
ffrate_df = data.FredReader('FEDFUNDS', start, end)
ffrate_date = ffrate_df.read().index
ffrate = ffrate_df.read()['FEDFUNDS']
#グラフの作成
fig, ax1 = plt.subplots(figsize=(20,10))
plt.plot(nas_date, nas_price, label = 'NASDAQ', color='g')
plt.ylim([200,18000])
plt.legend(loc=2, fontsize=18)
plt.xlabel('year', fontsize=18)
plt.ylabel('Gold Price(dollar)', fontsize=18)
ax2 = ax1.twinx()
plt.plot(ffrate_date, ffrate, label = 'FEDFUNDS', color='gray')
plt.ylim([0,9])
plt.legend(loc=1, fontsize=18)
plt.ylabel('Federal Funds Effective Rate(Percent)', fontsize=18)
plt.savefig("nasdaq_ffrare.png")
読み込むシンボルを変えれば色んな種類のチャート分析ができます。
引き続きいろんなチャート分析を紹介したいと思います。
まとめ
今回はPythonで投資のチャート分析をする方法を紹介しました。
コーディングは以下の本を参考にしています。
この記事が面白いと思ったらTwitterやブログで紹介していただけますと嬉しいです。
おすすめ記事
ロバートキヨサキが「2023年に金(ゴールド)は2倍に値上がりする」と予想した理由とは?