どうも、月見(@Suzuka14144156)です。
今回は、仮想通貨のRSI、MACD、ボリンジャーバンドを表示する方法を解説します。
- Pythonで、仮想通貨のローソク足と仮想通貨のRSI、MACD、ボリンジャーバンドを表示する方法を表示する方法がわからない
- mplfinanceとTaLibの使い方が知りたい
この記事のゴール
- こんなチャートをPythonで表示できるようにします!
これは、BTC-USDの日足チャートです。
ボリンジャーバンド

MACD

RSI

mplfinanceとTaLib
mplfinanceとTaLibは、Pythonのライブラリです。
mplfinance
- ローソク足を表示するライブラリ
詳細は、以下の記事を参考にしてみてください。
【Python】仮想通貨のチャートを取得し、ローソク足を表示する方法
TaLib
- テクニカル指標を計算するためのライブラリ
環境の構築
今回は、Jupyte Labを用います。
Juptrer Labのインストール
インストール方法は以下2種類ある。

- どちらでもOKです
ただ、Anacondaをインストールする方が時間がかかるのでお急ぎの方は、「JupyterLabを直接インストール」がオススメ。
Anacondaをインストール
以下の記事を参考にしてください。
Python Anacondaとは?|インストール〜Jupyter Notebookの立ち上げ
JupyterLabを直接インストール
コマンドプロンプトから、以下のコードを入力ください。
pip install jupyterlab
JupyterLabの起動
コマンドプロンプトから、以下のコードを入力ください。
jupyterlab
以下赤枠のアイコンをクリック。

これで起動します。
ライブラリのインストール
- pandas:データ処理
- pandas_data:仮想通貨のデータ取得
- yfinance:Yahoo Financeからデータを取得
- mplfinance:ローソク足の表示
- TaLib:テクニカル指標の取得
pandasのインストール
コマンドプロンプトから、以下のコードを入力ください。
pip install pandas
pandas_dataのインストール
コマンドプロンプトから、以下のコードを入力ください。
pip install pandas_datareader
yfinanceのインストール
コマンドプロンプトから、以下のコードを入力ください。
pip install yfinance
mplfinanceのインストール
コマンドプロンプトから、以下のコードを入力ください。
pip install mplfinance
TaLib
TaLibのインストール方法は、二つあります。
オススメは、方法1:Anaconda経由でのインストールです。
方法1:Anaconda経由でのインストール(オススメ)
コマンドプロンプトから、以下のコードを入力ください。
conda install -c conda-forge ta-lib

- たったこの一行だけで、完了です。
方法2:公式サイトからインストール
conda install -c conda-forge ta-lib
pythonのバージョンを調べる
コマンドプロンプトで以下を入力する。
python -V
PowerShellCopy
すると、インストールされているPythonの情報が表示されます。
Python 3.8.8
この場合は、バージョン3.8のPythonであることがわかります。
TA-Libのwhlファイルをダウンロード
次に,以下のダウンロードサイトからTA-Libのwhlファイルをダウンロードします.
https://www.lfd.uci.edu/~gohlke/pythonlibs/#ta-lib
ダウンロードするファイルは、以下のようになります。
TA-Libをインストール
ダウンロードしたwhlファイルを保存したディレクトリを開く。
アドレスを入力するところに「cmd」と入力し、エンターを押す。

開いたコマンドプロンプトにて、以下を入力。
pip install whlファイル名
PowerShellCopy
以下は、例です。
pip install TA_Lib‑0.4.19‑cp38‑cp38‑win64.whl

- これで完了です。
仮想通貨のチャートを取得
import pandas as pd
from pandas_datareader import data as pdr
import datetime
import yfinance as yf
import mplfinance as mpf
import talib
#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】仮想通貨のチャートを取得し、ローソク足を表示する方法
仮想通貨チャートでテクニカル指標を表示
ボリンジャーバンド
#ボリンジャーバンド
crypto_data["u_1σ"], crypto_data["middle"], crypto_data["l_1σ"] = talib.BBANDS(crypto_data['Adj Close'], timeperiod=20, nbdevup=1, nbdevdn=1, matype=0)
crypto_data["u_2σ"], crypto_data["middle"], crypto_data["l_2σ"] = talib.BBANDS(crypto_data['Adj Close'], timeperiod=20, nbdevup=2, nbdevdn=2, matype=0)
crypto_data["u_3σ"], crypto_data["middle"], crypto_data["l_3σ"] = talib.BBANDS(crypto_data['Adj Close'], timeperiod=20, nbdevup=3, nbdevdn=3, matype=0)
apds = [ mpf.make_addplot(crypto_data['middle'],color='b'),
mpf.make_addplot(crypto_data['u_1σ'],color='gray'),
mpf.make_addplot(crypto_data['l_1σ'],color='gray'),
mpf.make_addplot(crypto_data['u_2σ'],color='g'),
mpf.make_addplot(crypto_data['l_2σ'],color='g'),
mpf.make_addplot(crypto_data['u_3σ'],color='r'),
mpf.make_addplot(crypto_data['l_3σ'],color='r'),
]
mpf.plot(crypto_data, type='candle', figsize=(30,10), style='yahoo', volume=True, addplot=apds)

MACD
crypto_data['macd'], crypto_data['macdsignal'], crypto_data['macdhist'] =talib.MACD(crypto_data['Adj Close'], fastperiod=12, slowperiod=26, signalperiod=9)
apds = [mpf.make_addplot(crypto_data['macd'],color='r',panel=1),
mpf.make_addplot(crypto_data['macdsignal'],color='b',panel=1),
mpf.make_addplot(crypto_data['macdhist'], type='bar',
width=1.0, panel=1, color='gray', alpha=0.5, ylabel='MACD')
]
mpf.plot(crypto_data, type='candle', figsize=(30,15), style='yahoo', volume=False, addplot=apds, panel_ratios=(4,1))

RSI
crypto_data["RSI"] = talib.RSI(crypto_data["Close"], timeperiod=5)
line_80 = pd.Series([80]*len(crypto_data), index=crypto_data.index)
line_20 = pd.Series([20]*len(crypto_data), index=crypto_data.index)
apds = [mpf.make_addplot(crypto_data['RSI'],color='r',panel=1),
mpf.make_addplot(line_80, linestyle='dotted', color='k', width=1, panel=1),
mpf.make_addplot(line_20, linestyle='dotted', color='k', width=1, panel=1)]
mpf.plot(crypto_data, type='candle', figsize=(30,15), style='yahoo', volume=False, addplot=apds, panel_ratios=(4,1))

Pythonでファイナンスのデータ分析の勉強方法
本
私は、以下の本で勉強しました。
かなり詳しく書かれており、とてもオススメの本です。
Udemy
Udemyはオンライン口座です。
一度購入すれば、ずっと閲覧できるのでオススメです。

私の記事
私のブログでも解説していますので参考にしてみてください。
【Python x 仮想通貨】分析方法のまとめ(テクニカル分析など)
まとめ
今回は、仮想通貨のRSI、MACD、ボリンジャーバンドを表示する方法を解説しました。
私のブログではほかにも、仮想通貨の自動トレードの方法などを解説しているのでぜひ参考にしてみてください。
無料で閲覧可能で、コードをコピペして動かすことができます。
【Python|cctx】ビットコイン自動取引ツールの作成方法まとめ








コメント