bitflyerからデータ取得開始日と終了日を指定してBTCデータを保存したりHLOCデータへ変換したり描画したりするスクリプトです。
2018/05/19 generatehloc.py
に5分足追加
pip install pandas
pip install progressbar2
bitflyerからデータ取得開始日と終了日を指定してBTCデータを保存するスクリプトです。
デフォルトではFXの価格を取得します。
現物の価格が欲しい場合は、init
のself.execution_history_params
とself.health_check_params
の'product_code': 'FX_BTC_JPY'
を'product_code': 'BTC_JPY'
に変更してください。
プロジェクト直下にdata
ディレクトリとlog
ディレクトリを作成してください。
それぞれ取得したデータとログが出力されます。
例えば、下記コマンドで実行します。
python src/getbtc.py -s 2018-01-01-00:00:00 -f 2018-04-11-23:14:00
-s
でデータ取得開始日を指定します。
-f
はデータ取得終了日を指定できます。
上記のコマンドを実行することで2018年に入った瞬間から2018年4月11日23時14分までのデータを取得することができます。
終了日の方は「~分」の部分は含みません。
-f 2018-04-11-23:14:00
という引数は23時13分台のデータが最後になります.
また、終了日の引数-f
は省略することが可能です。
省略した場合は開始日から実行時の日付(時間)までのデータを取得します。
例えば、
python src/getbtc.py -s 2018-01-01-00:00:00
とすることで2018年に入ってから現在までのデータを取得することができます。
YYYY-MM-DD-HH-MM-SS
の形式ですが秒はどんな数字を入れても00として変換されます。
一番古い日付で2015-06-24 05:58:00
なので、これ以前を渡すとエラーが出ます。
出力結果のファイルは一つのファイルで50万行に設定してあります。
それなりに大容量になるのでお気をつけください。
一つのファイルの行数はinit
のfile_lines=500000
の数字で調整できます。
必要に応じて変更してください。
getbtc.py
で取得したデータを指定した時間軸のHLOC(高値、安値、始値、終値)へ変換し保存するスクリプトです。出来高も保存されます。
プロジェクト直下にlog
ディレクトリ、hloc
ディレクトリを作成してください。
/hloc/
に変換後のデータが保存されます。
(注)data
ディレクトリ直下にhloc
ディレクトリを作成するとエラーが出るので気をつけてください。
下記コマンドで実行します。
python src/generatehloc.py -d ./data -t one_minute
-d
で変換させるファイルを含むディレクトリを指定します。
このディレクトリに含まれているファイルを一つずつ全てを読み込みHLOCへ変換します。
変換結果は読み込んだファイルが複数だとしても、50万行までは一つのファイルにまとめて出力されます。
-t
はHLOCへ変換する時間軸を指定できます。
上記コマンドでは、data
ディレクトリに含まれているファイルを読み込み1分足に変換後、'/hloc/'へファイルが出力されます。
現バージョンでは、1分足、5分足、1時間足、日足が指定できます。
それぞれ、下記のようにしてください。
時間軸 | 指定方法 |
---|---|
1分足 | one_minute |
5分足 | 5_minute |
1時間足 | one_hour |
日足 | one_day |
引数で指定されたHLOCファイルを読み込み、描画するモジュールです。
あまり使い所はありませんが、HLOCに変換したデータの確認等にお使いください。
下記コマンドで実行します。
python ./src/plotchart.py -f ./hloc/hloc_one_day_2018-01-01-00:00:00_2018-04-09-00:00:00.csv
-f
でファイルのパスを指定します。
上記のようにすることで、generatehloc.py
で日足に変換しhloc
ディレクトリに保存されているファイルを描画することができます。
こんな感じで描画されます。