現在のBTC値動きに一番近い過去の期間をpython使って検索する

今のビットコインの値動きに一番近かった過去の期間を調べれば、今後の価格予測に使えるかもと思い、早速pythonコードを書いてみた。

今回は現在と過去の対数収益率の差が小さいほど、値動きが近いということにする。

まず、ライブラリのインポート

import pandas as pd
import datetime
import yfinance
import numpy as np
import warnings
warnings.simplefilter('ignore')

警告がウザいので無視する。

ヤフーファイナンスからビットコインのろうそく足(日足)をダウンロードする。
対数収益率=Log(当日終値/前日終値)を計算する。

candle_data = yfinance.download \
('BTC-USD',start='2018-01-01',end='2023-06-11',interval='1d',auto_adjust=True)
# 対数収益率
candle_data['log_ret'] = \
np.log10(candle_data['Close']/candle_data['Close'].shift(1))

違いをみる期間を14日間に設定する。
最後の14日間に一番近い対数収益率であった期間を14日より前の期間から探す。収益率の差の二乗和を計算する。

days = 14
candle_data = candle_data.reset_index()
candle_target = candle_data.tail(days)
log_ret = candle_data['log_ret'].values
log_ret_target = candle_target['log_ret'].values
diff = np.full(len(candle_data), 9999.99)
for i in range(1,len(candle_data)-2*days):
diff[i] = ((log_ret[i:i+days]-log_ret_target)**2).sum()

期間毎に、どれだけ現在の値動きに近いかランキング付けをする。
一番近かった期間を出力する。

diff_index = diff.argsort()
index = diff_index[0]
print('Target:','Date=',candle_target.iloc[0]['Date'],candle_target.iloc[-1]['Date'])
print('Best:','Date=',candle_data['Date'][index],candle_data['Date'][index+days],'diff=',diff[index])

結果はこんな感じ。

Target: Date= 2023-05-28 00:00:00 2023-06-10 00:00:00
Best: Date= 2021-03-30 00:00:00 2021-04-13 00:00:00 diff= 0.0007957019591907427

2023/05/28~2023/06/10の値動きは、
2021/03/30~2021/04/13の値動きに一番近かったらしい。

現在の値動き(過去14日間の終値)と、1~5番目に近かった値動きをプロットしてみた。
今後の値動きが知りたいので、過去の値動きを現在の価格でスケールして、28日分プロットする。

import matplotlib.pyplot as plt
plt.plot(candle_target['Close'].values,label='BTC price')
for i in range(5):
    index = diff_index[i]
    plt.plot((candle_target.iloc[-1]['Close']/candle_data['Close'][index+days-1])\
    *candle_data['Close'][index:index+2*days].values, label='predict:'+str(i), alpha=0.4)
plt.legend()
plt.show()

結果はこんな感じに。

青線左半分が現在の過去二週間の値動きで、その他右半分が予測となる。
二週間後(2023/06/24)の価格予想は23000ドル~33000ドルと、幅が広すぎて参考にならないけれど、下落するシナリオが多いか?

ビットコイン価格予想

なにか参考になったことがあったら、スキ!を押してくれると励みになります。ではまた。

〇宣伝〇

【Bybit】日本人にも人気のある、世界トップレベルの仮想通貨取引所
無料登録はこちら:https://www.bybit.com/register?affiliate_id=22416&group_id=0&group_type=1
☆安心の日本語対応
☆高金利ステーキング
☆150種類以上の先物ペア、現物取引に対応

【ApeX pro】Metamaskで接続するだけで取引開始!!いま注目のDEX先物取引所!!
登録はこちら:https://affiliates.pro.apex.exchange/b/mochimochi
紹介コード: mochimochi
☆自分の資金は自分で管理!これからはDEXの時代!?
☆積極的にトレードすることでボーナスが貰える、トレードマイニング


この記事が気に入ったらサポートをしてみませんか?