CryptocurrencyPython

【Python】仮想通貨の価格帯別取引量のグラフ表示方法

Cryptocurrency

どうも、月見(@Suzuka14144156)です。

今回は、仮想通貨の価格帯別取引量のグラフ表示方法を解説します。

解決するお悩み
  • Pythonで、価格帯別取引量のグラフ表示方法がわからない
  • 価格帯別取引量の使い方がわからない
  • 色々なサイト見たけど、プログラムが複雑でわからない

この記事のゴール

  • こんなチャートをPythonで表示できるようにします!

これは、BTC-USDの日足チャートです。

価格帯別取引量の使い方

  • どの価格帯で取引量がどの程度かを把握するのに使う。

例えば、以下の赤枠の部分は取引量が少ないので、サポートライン、レジスタンスラインにはなりにくいかも、という仮説を立てたりに使います。

月見
月見
  • 結構重要な指標なので、覚えておいて損はないです

ちなみにbitbankでは、無料でプログラミングをせずに表示できるのでオススメです。

環境の構築

今回は、Jupyte Labを用います。

Juptrer Labのインストール

インストール方法は以下2種類ある。

  1. Anacondaをインストール
  2. JupyterLabを直接インストール
月見
月見
  • どちらでもOKです

ただ、Anacondaをインストールする方が時間がかかるのでお急ぎの方は、「JupyterLabを直接インストール」がオススメ。

Anacondaをインストール

以下の記事を参考にしてください。

JupyterLabを直接インストール

コマンドプロンプトから、以下のコードを入力ください。

pip install jupyterlab

JupyterLabの起動

コマンドプロンプトから、以下のコードを入力ください。

jupyterlab

以下赤枠のアイコンをクリック。

これで起動します。

ライブラリのインストール

使用するライブラリ
  • pandas:データ処理
  • pandas_data:仮想通貨のデータ取得
  • yfinance:Yahoo Financeからデータを取得
  • mplfinance:ローソク足の表示

pandasのインストール

コマンドプロンプトから、以下のコードを入力ください。

pip install pandas

pandas_dataのインストール

コマンドプロンプトから、以下のコードを入力ください。

pip install pandas_datareader

yfinanceのインストール

コマンドプロンプトから、以下のコードを入力ください。

pip install yfinance

mplfinanceのインストール

コマンドプロンプトから、以下のコードを入力ください。

pip install mplfinance

仮想通貨のチャートを取得

import pandas as pd  
from pandas_datareader import data as pdr 
import datetime
import yfinance as yf
import mplfinance as mpf

#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

なぜか、入力した取得開始日より、1日前からデータ取得される

なので、取得したいデータの日付より一日進めた日付を入力開始日に設定しましょう。

ローソク足の表示に関しては、以下の記事で詳細に解説しているので参考にしてみてください。

格帯別取引量のグラフ表示方法

#分割数
bins = 20

#ソート
trading_vol_price = crypto_data.sort_values('Adj Close')

#帯にする
trading_vol_price['Adj Close'] = pd.cut(trading_vol_price['Adj Close'], bins, precision=0)
trading_vol_price_hist = trading_vol_price.groupby('Adj Close').sum()
trading_vol_price_hist  = trading_vol_price_hist.reset_index(drop=False)

#文字列に変換
trading_vol_price_hist ['Adj Close'] = trading_vol_price_hist ['Adj Close'].astype(str)

#表示
fig = plt.figure(figsize=(24,8))
ax1 = fig.add_subplot(1, 2, 1)
ax1.plot(crypto_data['Adj Close'], color="b", lw=3)
ax1.set_xlabel('Date')
ax1.set_ylabel('Price')
ax2 = fig.add_subplot(1, 2, 2)
ax2.barh(trading_vol_price_hist ['Adj Close'],trading_vol_price_hist ['Volume'], color="gray")
ax2.set_xlabel('Volume')
ax2.set_ylabel('Price')
plt.show()

このコードを実行すると以下のグラフが得られます。

binsを変えてみる

bins = 3のとき

bins = 10のとき

bins =50のとき

このように、binsの値を変更することで、様々な価格帯別取引量を表示できます。

とても便利ですよね。

Pythonでファイナンスのデータ分析の勉強方法

私は、以下の本で勉強しました。

かなり詳しく書かれており、とてもオススメの本です。

Udemy

Udemyはオンライン口座です。

一度購入すれば、ずっと閲覧できるのでオススメです。

【世界で8万人が受講:Python for Finance】Pythonを使って学ぶ現代ファイナンス理論と実践
ポートフォリオ理論、コーポレートファイナンス、資本資産評価モデル(CAPM)、デリバティブの値決め、モンテカルロシミュレーションといった内容を中心に、Pwcなどで活躍した講師が理論と実践に基づき解説します。

私の記事

私のブログでも解説していますので参考にしてみてください。

まとめ

今回は、仮想通貨の価格帯別取引量のグラフ表示方法を解説しました。

私のブログではほかにも、仮想通貨の自動トレードの方法などを解説しているのでぜひ参考にしてみてください。

無料で閲覧可能で、コードをコピペして動かすことができます。

コメント

タイトルとURLをコピーしました