Python お金の健康

2022年は金と銀のどっちに投資すべき?Pythonで分析した話

Pythonで分析してわかったこと

  • 金銀比価は、金と銀の割安度を比較する指標。
  • 金銀比価は2016年から2020年まで上昇トレンドであり、金が大きく上昇した。
  • いまは銀が割安なので、投資するタイミングとしておすすめ。

こんにちは、ウチダです。

最近は株式をほとんど売却して、金・銀・仮想通貨を買い集めています。

金と銀への投資は、SBI証券で純金・純銀積立を使っています。

これは、長期投資した場合に、コストが割安であるためです。

(参考:金へのおすすめの投資方法は?投資コストをシミュレーションします

少額から投資するとき、どちらがお買い得なのかと悩みますよね。

今回は金と銀の割安度を調べるために、Pythonで金銀比価チャートを作った話を紹介します。

(参考:2022年に株式投資するならどれがいい?

金と銀はどちらが割安?Pythonで投資の分析をしよう

金と銀はどちらが割安?Pythonで投資の分析をしよう

Pythonはデータ分析に強いプログラミング言語です。

コードがシンプルで分かりやすく、誰でも無料で身につけることができます。

今回は金の価格を銀の価格で割った指数、金銀比価のチャートを作成します。

金銀比価は、金に対する銀の割安度を調べるために使われる指標です。

それぞれの価格データはYahoo Financeから取得します。

#モジュールをインポート
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-03'
end = datetime.date.today()

#金のデータ
gold_df = data.DataReader('GC=F', 'yahoo', start, end) 
gold_open = gold_df['Open']
gold_close = gold_df['Close']
gold_high = gold_df['High']
gold_low = gold_df['Low']

#銀のデータ
silver_df = data.DataReader('SI=F', 'yahoo', start, end) 
silver_open = silver_df['Open']
silver_close = silver_df['Close']
silver_high = silver_df['High']
silver_low = silver_df['Low']

#金銀比価のデータ
ratio_df = pd.DataFrame()
ratio_df['Open'] = gold_open / silver_open
ratio_df['High'] = gold_high / silver_high
ratio_df['Low'] = gold_low / silver_low
ratio_df['Close'] = gold_close / silver_close
ratio_df.dropna(inplace=True)

#グラフ作成用のモジュールをインポート
#conda install -c conda-forge cufflinks-py
import cufflinks as cf
import plotly.offline as plyo
plyo.init_notebook_mode(connected=True)

#グラフ用のデータ
qf = cf.QuantFig(
    ratio_df,
    title='Gold to Silver ratio',
    legend='top',
    name='Gold/Silver'
)

#グラフの表示と保存
plyo.iplot(
    qf.iplot(asFigure=True),
    image='png',
    filename='goldsilver'
)

作成したグラフがこちらです。

金銀比価のチャート

金銀比価は上昇すると、金がアウトパフォームしていることを意味します。

下落は銀が優位です。

2016年から2020年までは上昇トレンドでした。

これは金が大きくアウトパフォームしてきたことを意味します。

しかし、2020年に指数が大きく突出した後、下落しています。

つまりこれから銀の伸びる可能性も見えるわけです。

では、どのように投資したらいいのか?

Pythonでさらに分析していきます。

金と銀の価格には相関がある?Pythonで調べてみた

金と銀の価格には相関がある?Pythonで調べてみた

終値の日時変化を散布図にして、相関関係を調べます。

期間は1500日分(約4年間)にします。

プログラムのコードはこちらです。

#相関を調べるデータ
compare_df = pd.DataFrame()
compare_df['Gold'] = gold_close[-1500:]
compare_df['Silver'] = silver_close[-1500:]
#欠損データの削除
compare_df.dropna(inplace=True)

#終値の日次変化を計算
rets = np.log(compare_df / compare_df.shift(1))
rets.dropna(inplace=True)

#回帰直線を作成
reg = np.polyfit(rets['Gold'], rets['Silver'], deg=1)

#相関図を作成
ax = rets.plot(kind='scatter', x='Gold', y='Silver', figsize=(20,10), fontsize=18)
ax.plot(rets['Gold'], np.polyval(reg, rets['Gold']), 'r', lw=2)
plt.xlabel('Gold price change', fontsize=18)
plt.ylabel('Silver price change', fontsize=18)
plt.savefig("goldsilver_scatter.png")

#相関係数を表示
rets.corr()

作成したグラフがこちら。

金と銀の散布図

きれいな相関関係が見られますね。

相関係数を調べても、非常に高い相関があると分かります。

金と銀の相関係数

金と銀の組み合わせは分散投資には向いていません。

これは相関が高すぎるためです。

株式やビットコインなど、他の金融商品と組み合わせると良いと思います。

では、今後はどちらに投資するべきか?

移動平均を使ってトレンドを調べます。

金と銀はどちらが割安?移動平均でトレンドを調べよう

金と銀はどちらが割安?移動平均でトレンドを調べよう

金銀比価のトレンドを調べます。

期間は1500日で、トレンドは短期(50日移動平均)と長期(200日移動平均)を使って調べます。

プログラムのコードはこちらです。

#移動平均を計算
ratio_df['SMA1'] = ratio_df['Close'].rolling(window=50).mean()
ratio_df['SMA2'] = ratio_df['Close'].rolling(window=200).mean()

#チャートに使用するデータ
ratio_date = ratio_df.index[-1500:]
ratio_close = ratio_df['Close'][-1500:]
ratio_sma1 = ratio_df['SMA1'][-1500:]
ratio_sma2 = ratio_df['SMA2'][-1500:]

#チャートの表示と保存
plt.figure(figsize=(20, 10))
plt.plot(ratio_date, ratio_close, lw=2, label = 'Close', color='g')
plt.plot(ratio_date, ratio_sma1, lw=2, label = 'SMA50', color='b')
plt.plot(ratio_date, ratio_sma2, lw=2, label = 'SMA200', color='r')
plt.legend(loc=1, fontsize=18)
plt.xlabel('year', fontsize=18)
plt.ylabel('ratio', fontsize=18)
plt.tick_params(labelsize=18)
plt.savefig("goldsilver_ratio.png")

出来上がったグラフがこちらです。

金と銀の投資トレンド

指数(緑)の上昇は金がアウトパフォームしていることを意味します。

下落は銀が優位です。

2016年から2020年までは短期の移動平均が長期を上回っています。

これは上昇トレンドを意味するので、

金がアウトパフォームしてきたことを意味します。

2020年からは長期が下落トレンドになっているので、

銀価格の上昇が期待されます。

いまから投資するなら、銀がおすすめです。

Pythonで分析した結果のまとめ

Pythonで分析した結果のまとめ

今回は金と銀のどちらが割安か、Pythonで分析しました。

いまは銀が割安だと思うので、投資におすすめです。

Pythonで投資の分析をしたいなら、こちらの本がおすすめです。

実例付き、チャート付きで、非常にわかりやすいので愛用しています。

ここまで読んでいただきありがとうございました。^^

-Python, お金の健康
-