自分で用意した為替データをAnyTradingで使う場合、本来であればgym.makeする際にdfオプションとしてデータフレームを渡せばいいらしいんですが、うまくいかなかったので別の方法で対処しました。
具体的には、デフォルトで参照しているCSVデータにフォーマットを合わせてオリジナルデータを上書きしました。
AnyTradingでオリジナルデータを使う
AnyTradingではデフォルトで下記のcsvデータを参照しています。
(AnyTradingインストール先)/datasets/data/FOREX_EURUSD_1H_ASK.csv
このCSVデータは下記のようなフォーマットです。
[FOREX_EURUSD_1H_ASK.csv]
1 | Time,Open,High,Low,Close,Volume |
例えば下記のようなデータを自分で用意したとします。
[USDJPY.txt]
1 | <TICKER>,<DTYYYYMMDD>,<TIME>,<OPEN>,<HIGH>,<LOW>,Close,<VOL> |
このデータを変換する処理を簡単に書いてみました。
[AnyTrading用にデータを変換する処理]
1 | def fmt(line): |
確認のために変換したデータを使って、AnyTradingの処理を実行してみました。
問題なく自分で用意したデータでAnyTradingが実行できることを確認できました。
本来のやり方とは違うと思いますが、この方法を使っていろいろなデータでAnyTradingを実行することができるようになりました。