2021.06.29
STAFF BLOG
スタッフブログ
TECHNICAL
テクログ
こんにちは。 ライアンです。
今日は簡単に使用可能な時系列モデルのprophetを紹介しながら
簡単な例題を書いてみようと思います!
prophetは2つの特徴があります。
1.時系列の方法の教育を受けずに予測するのに適しているとこ
2.潜在的に発生する様々な予測問題、ユニークな特長をモデルに反映できること
https://peerj.com/preprints/3190.pdf
自分が感じたBTCの特徴は以下の二つです
1.夜中に低値が来る
2.動きが激しい
上記の特徴を参考して簡単に予測して行きます
↓はBTCの値段予想
Windowsでの環境構築
anacondaインストール
pip install pyupbit ←ここは自分の取引所で問題ないです
pip install schedule
conda install -c conda-forge fbprophet
pip install pystan –upgrade ←エラーが出たらpipもupgrade
import pyupbit <- 自分が使ってる取引所のAPIを importする
#BTC最近の148時間のデータを取得
df = pyupbit.get_ohlcv("KRW-BTC", interval="minute60", count=148)
df
↓ みたいなデータをdataFrame形式で取得
#時間(ds)と終値(y)のみ残す
df = df.reset_index()
df['ds'] = df['index']
df['y'] = df['close']
data = df[['ds','y']]
data
必要なデータのみ残してデータを成形する
#prophet import
from fbprophet import Prophet
#学習
model = Prophet()
model.fit(data)
#24時間の予想
future = model.make_future_dataframe(periods=24, freq='H')
forecast = model.predict(future)
#グラフ
fig1 = model.plot(forecast)
prophetを呼び出して予想した結果
#グラフ2
fig2 = model.plot_components(forecast)
dailyとtrendグラフ
結論
1.
明日は今日より上がる予定に見えます。
2.
動きが激しくはないけど
『1.夜中に低値が来る』
3時25分~6時51分に低値が来るのが確認できました。
★実際の投資には異なる可能性がありますので
★あくまで参考だけにしてください