1分足だとグラフ化の際にデータ数が多すぎてみづらかったので5分足にする。
参考
以下で作成したコードを利用しています。
コード
import pandas as pd
import datetime
import mplfinance as mpf
# CSVから読み込み
df = pd.read_csv('./temp_historical_data/USDJPY.csv', nrows=1000)
df.columns = ['Date', 'Open', 'High', 'Low', 'Close', 'Volume']
df['Date'] = pd.to_datetime(df['Date'])
df.set_index('Date', inplace=True)
# 5分足変換
df5 = pd.DataFrame()
rule = '5T'
df5['Open'] = df['Open'].resample(rule).first()
df5['Close'] = df['Close'].resample(rule).last()
df5['High'] = df['High'].resample(rule).max()
df5['Low'] = df['Low'].resample(rule).min()
mpf.plot(df5, type='candle', datetime_format='%Y/%m/%d %H:%M', xrotation=90, style='yahoo', savefig=dict(fname='./figures/draw_sma.png',dpi=100))
簡単な説明
Dateはいじらなくて大丈夫っぽい?ただし、元データ(ここではdf)にDatetime型のindexを設定しておかないとだめなようだった。