Pythonで投資のチャート分析をしよう【金価格 vsFFレート】
2023-02-28 by 内田裕之
- 「Pythonで投資のチャート分析をしたい」
- 「プログラミングを使って効率よく稼ぎたい」
この記事はそんな方へ向けて書いています。
こんにちは。
Pythonで投資のチャート分析をしているうっちゃんです。
2023年に投資でひと儲けしたいと考えていませんか?
実はいま金(ゴールド)に注目が集まっています!
この記事では金価格とFFレートの関係を紹介します。
投資とプログラミング学習に役立つと嬉しいです。
この記事は内容に広告・プロモーションを含みます。
チャート分析ならPythonがおすすめ
よい投資先を見つけるためにエクセルを編集してグラフ作成するのは大変ですよね。
プログラミングを活用して簡単に分析できればいいなあと思ったのは私だけではないと思います。
書店で見かけた一冊の本をきっかけにこの悩みは解消されました。
これはプログラミング言語Pythonを使ってデータ系列の扱い、グラフ作成、自動売買、ポートフォリオ分析まで多岐にわたる分析を可能とする本です。
今回は金価格とFFレートの関係を分析するのに活躍しました。
金価格とFFレートの関係
こんなツイートを見かけました。
(参考:当該ツイート)
これは2015年1月から2022年7月における金価格とFFレートを比較したチャートです。
FFレートとはフェデラル・ファンド金利を略したもので、米国の代表的な短期金利です。
連邦準備制度理事会(FRB)が金融市場を調整する目的で作られた政策金利を指します。
(参考:FFレート(えふえふれーと))
インフレ率が高いときや景気が過熱したときはFFレートを上げて金融引締を行います。
逆に不景気のときはFFレートを下げて金融緩和を行います。
ツイートの画像を見ると、FFレートが低いときに金価格が最高値をつけていることがわかります。
また、2022年からFFレートが上がると金価格が下落していることも読み取れます。
ただ期間が2015年1月から2022年7月と短いので、今後も同じトレンドになるかはわかりません。
そこでPythonを使って2000年から2023年までのトレンドを調べました。
作成したグラフがこちらです。
黄色は金価格(左軸)、灰色はFFレート(右軸)です。
青色はFFレートの利下げ期間、赤色は利上げ期間です。
2008年以前はFFレートの上げ下げに関係なく金価格が上昇しています。
一方で2008年以降はFFレートが上がるときに上値が重くなっています。
そしてFFレートが下がるときに急上昇して、ゼロ金利(0〜0.25%)のときに最高値をつけています。
このことからゼロ金利政策になると金価格が最高値を更新する可能性があるといえます。
また、2023年はFFレートが上がる影響で金価格の上値が重い展開になっていますが、今後利下げに転じれば金価格は急騰する可能性もあると思います。
今後も引き続き金価格に影響する因子をPythonで調査を続けます。
分析に使用したコード
チャート分析に使用した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()
#金価格のデータ、USD/once単位
gold_df = data.get_data_yahoo('GC=F', start, end)
gold_date = gold_df .index
gold_price = gold_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(gold_date, gold_price, label = 'Gold', color='y')
plt.ylim([250,2500])
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("gold_ffrare.png")
読み込むシンボルを変えれば色んな種類のチャート分析ができます。
引き続きいろんなチャート分析を紹介したいと思います。
まとめ
今回はPythonで投資のチャート分析をする方法を紹介しました。
コーディングは以下の本を参考にしています。
この記事が面白いと思ったらTwitterやブログで紹介していただけますと嬉しいです。