2022年3月23日水曜日

Jupyter・mplfinace・yahoo_finance_api2を使用して、米国株価・日本株価・通貨レートをローソク足で描画する

Jupyter・mplfinace・yahoo_finance_api2を使用して、米国株価・日本株価・通貨レートをローソク足で描画するには、以下の手順を実行します

実行手順

1. パッケージの導入
Jupyterがインストールされている仮想環境に以下のコマンドで、mplfinanceとyahoo_finance_api2を導入します(pipenvの場合)。
pipenv install mplfinance

pipenv install yahoo_finance_api2
※依存関係でインストールできない場合は、以下のコマンドでインストールしてみてください。
pipenv install --skip-lock mplfinance

pipenv install --skip-lock yahoo_finance_api2

2. ノートブックに以下のサンプルコードを張り付けて実行するとUSDJPY通貨レートが1時間足で取得できます(Shareの引数で通貨ペアに=Xを付加します)。Shareで"AAPL"などのストックコードを入れると米国株価、"7074.T"(任天堂)のように、銘柄コードに「.T」をつけると日本株のデータが取得できます。

from yahoo_finance_api2 import share
from yahoo_finance_api2.exceptions import YahooFinanceError
import datetime as datetime
import pandas as pd
import mplfinance as mpf

my_share = share.Share('USDJPY=X')
result = my_share.get_historical(share.PERIOD_TYPE_DAY,
  3,
  share.FREQUENCY_TYPE_HOUR,
  1)
df = pd.DataFrame(result)
# JSTへ変換
df["jst"] = pd.to_datetime(df.timestamp, unit="ms") + datetime.timedelta(hours=9)

df2 = pd.DataFrame(df, columns=['jst', 'open', 'high', 'low', 'close'])
df2 = df2.set_index("jst")

# 色の指定
mc = mpf.make_marketcolors(up='#049DBF', down='#D93D4A', 
    edge='#F2CED1', wick={'up':'#049DBF', 'down':'#D93D4A'})
cs  = mpf.make_mpf_style(marketcolors=mc, gridcolor="lightgray")
mpf.plot(df2,type='candle', style=cs)

〇実行画面

関連情報

・mplfinanceの他の情報は以下のまとめページを参照してください。
mplfinanceまとめ

・mplfinanceのgithubリポジトリ
https://github.com/matplotlib/mplfinance

0 件のコメント:

コメントを投稿