Python お金の健康

2022年に仮想通貨に投資したい!ビットコインとイーサリアムをPythonで分析した話

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

  • BTC価格/ETH価格の比率は、2016年以降一定の値で落ち着いている。
  • BTCとETHは相関が高く、同じような値動きをする傾向が強い。
  • 2020年からはETHがBTCをアウトパフォームする傾向が見られる。今から投資するならBTCがおすすめ。

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

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

仮想通貨はアルトコインへの少額投資と、

ビットコインとイーサリアムへの積立投資を行っています。

初めて投資するなら、どちらがお買い得なのかと悩みますよね。

今回は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()

#BTCのデータ
btc_df = data.DataReader('BTC-USD', 'yahoo', start, end)
btc_open = btc_df['Open']
btc_close = btc_df['Close']
btc_high = btc_df['High']
btc_low = btc_df['Low']

#ETHのデータ
eth_df = data.DataReader('ETH-USD', 'yahoo', start, end) 
eth_open = eth_df['Open']
eth_close = eth_df['Close']
eth_high = eth_df['High']
eth_low = eth_df['Low']

#BTC/ETH比率のデータを作成
ratio_df = pd.DataFrame()
ratio_df['Open'] = btc_open / eth_open
ratio_df['High'] = btc_high / eth_high
ratio_df['Low'] = btc_low / eth_low
ratio_df['Close'] = btc_close / eth_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='BTC to ETH ratio',
    legend='top',
    name='BTC/ETH'
)

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

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

BTC/ETH比率のグラフ

この指標は、上昇するとビットコインがアウトパフォームしていることを意味します。

下落はイーサリアムが優位であることを意味します。

2016年まではビットコインが大きく伸びた期間でした。

それからはイーサリアムが大きく伸び、ほぼ一定の比率で推移しています。

特に2018年以降を拡大すると、横ばいになっていることがわかります。

BTC/ETH比率の2018年以降のチャート

ビットコインとイーサリアムの価格には相関があるのか?

Pythonで調べてみます。

ビットコインとイーサリアムの価格には相関がある?

ビットコインとイーサリアムの価格には相関がある?

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

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

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

#比較用のデータを作成
compare_df = pd.DataFrame()
compare_df['BTC'] = btc_close[-1500:]
compare_df['ETH'] = eth_close[-1500:]
#欠損データの削除
compare_df.dropna(inplace=True)

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

#回帰直線のデータを作成
reg = np.polyfit(rets['BTC'], rets['ETH'], deg=1)

#散布図プロットのグラフを作成、保存
ax = rets.plot(kind='scatter', x='BTC', y='ETH', figsize=(20,10), fontsize=18)
ax.plot(rets['BTC'], np.polyval(reg, rets['BTC']), 'r', lw=2)
plt.xlabel('BTC price change', fontsize=18)
plt.ylabel('ETH price change', fontsize=18)
plt.savefig("btceth_scatter.png")

#相関係数の計算
rets.corr()

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

BTCとETHの相関図

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

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

ビットコインとイーサリアムを分散投資として考えると

相関が高すぎて、向いていません。

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

では、ビットコインとイーサリアムはどちらがより割安なのか?

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

ビットコインとイーサリアムはどちらが割安?移動平均でトレンドを調べよう

ビットコインとイーサリアムはどちらが割安?移動平均でトレンドを調べよう

ビットコインの価格をイーサリアムの価格で割った指数について、トレンドを調べます。

期間は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("btceth_ratio.png")

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

BTCETH比率のチャートを作成したグラフ

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

下落はイーサリアム優位です。

2018年から2020年1月までは指数が上昇しており、ビットコインが優位でした。

しかし、それ以降はイーサリアムが優位に変わり、トレンドを継続しています。

50日移動平均線が200日移動平均線を突き抜けるようであれば、今後はビットコイン優位になると思われます。

また、下落トレンドが続いてきたことで、ビットコインがイーサリアムよりも割安とも考えられます。

いまから投資するなら、ビットコインがおすすめです。

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

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

今回はビットコインとイーサリアムのどちらが割安か、Pythonで分析しました。

いまはビットコインが割安だと思うので、おすすめです。

Pythonでもっと分析したいなら、こちらの本がおすすめです。

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

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

-Python, お金の健康
-