CryptocurrencyPython

【Python】二銘柄間の年毎に色を変えた散布図(ペアプロット)の表示方法(株、仮想通貨)

Cryptocurrency

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

今回は、二銘柄間の年毎に色を変えた散布図の表示方法を解説します。

解決するお悩み
  • 二銘柄間の連動性を分析したいがやり方がわからない
  • 年毎に色を変えて、わかりやすくしたい

この記事のゴール

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

これは、BTC-USDとナスダック総合指数の関係を示すグラフです。

年毎に色が変えられていて、見やすい。

両者の関係性が把握しやすいですよね。

月見
月見
  • この図をペアプロット図といいます

見方は、以下のようになります。

Seabornとは?

グラフを表示するのに使うライブラリがSeabornです。

Pythonだとグラフ表示に関しては、matplotlibが有名です。

しかし、先ほど示したペアプロット図では、seabornの方が楽に綺麗に描けるのでオススメです。

環境の構築

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

Juptrer Labのインストール

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

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

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

Anacondaをインストール

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

JupyterLabを直接インストール

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

pip install jupyterlab

JupyterLabの起動

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

jupyter lab

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

これで起動します。

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

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

pandasのインストール

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

pip install pandas

pandas_dataのインストール

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

pip install pandas_datareader

yfinanceのインストール

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

pip install yfinance

mplfinanceのインストール

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

pip install mplfinance

seabornのインストール

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

pip install seaborn

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

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

#BTCのチャートを取得
tickers = ['BTC-USD','^IXIC']

#取得開始日を入力
start = "2017-01-02"

#取得終了日を入力
end = datetime.date.today()

#Yahoofinanceから取得するように設定
yf.pdr_override()

#データの取得を実行
crypto_data = pdr.get_data_yahoo(tickers, start, end)
tickers
  • ‘BTC-USD’:ビットコインとドルのデータ
  • ‘^IXIC’:ナスダック総合指数

以下を実行すると取得したデータが表示されます。

crypto_data

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

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

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

二銘柄間の年毎に色を変えた散布図(ペアプロット)の表示

import seaborn as sns

plot_data = crypto_data['Adj Close']
plot_data['Year'] = crypto_data['Adj Close'].index.year
pg = sns.pairplot(plot_data,hue ='Year',palette = 'bright')

実行すると以下の忠告がでますが、問題なく動くのでよしとします。

実行結果は、以下です。

綺麗に表示されました。

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

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

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

Udemy

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

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

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

私の記事

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

まとめ

今回は、二銘柄間の年毎に色を変えた散布図(ペアプロット)の表示方法を解説しました。

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

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

コメント

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