どうも、月見(@Suzuka14144156)です。
今回は、仮想通貨のProphetによる価格予想・分析方法を解説します。
- Pythonで、仮想通貨の未来の価格を予想したいがやり方がわからない
- なるべく簡単な方法が知りたい
この記事のゴール
- こんなチャートをPythonで表示できるようにします!
これは、BTC-USDの日足チャートです。
Prophetの価格予想使い方
- 時系列データ分析的には、どういう予想になるのか?をざっくりと把握するのに使う
- あまり予想を鵜呑みにしすぎず、あくまで参考とする
というのも仮想通貨は、時系列データ分析の予想通りにいかないときも結構あります。
なぜなら、仮想通貨は、経済や政治などのマクロ要因に影響受けることがほとんどだから。
- ただ、数学的なアプローチとして、理論はしっかりとしているので参考にするのはよいと思います
- 例えば、シーズナブルパターンがあるデータには有効
例:スキー場の売り上げなど
冬に売り上げが伸びるなどは、時系列データ分析で、予想がしやすいです。
環境の構築
今回は、Jupyte Labを用います。
Juptrer Labのインストール
インストール方法は以下2種類ある。
- どちらでもOKです
ただ、Anacondaをインストールする方が時間がかかるのでお急ぎの方は、「JupyterLabを直接インストール」がオススメ。
Anacondaをインストール
以下の記事を参考にしてください。
Python Anacondaとは?|インストール〜Jupyter Notebookの立ち上げ
JupyterLabを直接インストール
コマンドプロンプトから、以下のコードを入力ください。
pip install jupyterlab
JupyterLabの起動
コマンドプロンプトから、以下のコードを入力ください。
jupyterlab
以下赤枠のアイコンをクリック。
これで起動します。
ライブラリのインストール
- Prophet:時系列データ分析
- pandas:データ処理
- pandas_data:仮想通貨のデータ取得
- yfinance:Yahoo Financeからデータを取得
Prophetのインストール
コマンドプロンプトから、以下のコードを入力ください。
python -m pip install prophet
pandasのインストール
コマンドプロンプトから、以下のコードを入力ください。
pip install pandas
pandas_dataのインストール
コマンドプロンプトから、以下のコードを入力ください。
pip install pandas_datareader
yfinanceのインストール
コマンドプロンプトから、以下のコードを入力ください。
pip install yfinance
仮想通貨のチャートを取得
import pandas as pd
from pandas_datareader import data as pdr
import datetime
import yfinance as yf
import mplfinance as mpf
from prophet import Prophet
#BTCのチャートを取得
tickers = ['BTC-USD']
#取得開始日を入力
start = "2021-01-02"
#取得終了日を入力
end = datetime.date.today()
#Yahoofinanceから取得するように設定
yf.pdr_override()
#データの取得を実行
crypto_data = pdr.get_data_yahoo(tickers, start, end)
以下を実行すると取得したデータが表示されます。
crypto_data
なので、取得したいデータの日付より一日進めた日付を入力開始日に設定しましょう。
ローソク足の表示に関しては、以下の記事で詳細に解説しているので参考にしてみてください。
【Python】仮想通貨のチャートを取得し、ローソク足を表示する方法
格帯別取引量のグラフ表示方法
#予想したい日付を入力
periods=60
# インスタンス化
model = Prophet()
# モデルフィット
df = pd.DataFrame({"ds":crypto_data['Adj Close'].index, "y":crypto_data['Adj Close']}).reset_index(drop=True)
model.fit(df)
# 未来予測用のデータフレーム
future = model.make_future_dataframe(periods=periods)
# 時系列を予測
forecast = model.predict(future)
#表示
fig = model.plot(forecast)
model.plot_components(forecast)
このコードを実行すると以下のグラフが得られます。
トレンド分析
fig = model.plot_components(forecast)
これを実行すると以下のデータ得られる。
長期トレンド、週のトレンド、年間のトレンドが得られます。
ビットコインは、水曜日に価格を上げやすいことや、11月に価格が上がりやすいことがわかります。
- 未来の価格予想よりも、こういった周期的なパターンを把握しておく方が大切です
その他Prophetの使い方
公式サイトが以下になるので、以下を参考にしてみてください。
Pythonでファイナンスのデータ分析の勉強方法
本
私は、以下の本で勉強しました。
かなり詳しく書かれており、とてもオススメの本です。
Udemy
Udemyはオンライン口座です。
一度購入すれば、ずっと閲覧できるのでオススメです。
私の記事
私のブログでも解説していますので参考にしてみてください。
【Python x 仮想通貨】分析方法のまとめ(テクニカル分析など)
まとめ
今回は、仮想通貨のProphetによる価格予想・分析方法を解説しました。
私のブログではほかにも、仮想通貨の自動トレードの方法などを解説しているのでぜひ参考にしてみてください。
無料で閲覧可能で、コードをコピペして動かすことができます。
【Python|cctx】ビットコイン自動取引ツールの作成方法まとめ
コメント