高頻度トレードバックテストのリアルタイム可視化ツールを作ってみた(サンプルロジック付き)

mmbotやスキャルピング等の高頻度に指値が行われるようなBOTのバックテスターを拡張して、リアルタイムに指値の状況を可視化できるツールを作ってみました。
matplotlib等で出力されたバックテスト結果は指値のタイミング把握しづらいため、bitFlyer取引画面のように「今どこに指値が置かれているか」「約定しているか」等の状況がリアルタイムで把握できるような可視化を行いました。

修正履歴

2020/07/07: 追記するソースコードが間違っていたため修正しました。
2020/07/09: 秒足も指定できるように追記するソースコードとChartサーバを修正しました。(backtest_addon.pyのファイル差し替えとバックテスターの修正、Chartサーバはビルドから起動の手順をもう一度行ってください。)

動作画面

チャートの描画を動画にしました。
描画速度を速くしすぎると人間の目では追いかけられないので、ツール側で調整しています。
有料部分には動画中のサンプルロジックも含まれます。


動作確認済みのバックテスター

現状はくもすけさんが公開しているBFS-Xに対応しています。
・ backtest_mmmode.py
・ backtest_scalpingmode.py
・ backtest_all_param.py (はぐさんが公開しているバックテスター)

バックテスター機能拡張に必要な手順

・バックテスターを修正(5行程度追記)
・チャートサーバの起動
・チャートの描画速度を調整
・時間足の設定(ストラテジの設定から自動で取得)

動作環境

本ツールは構築の手順を減らすために、Dockerコンテナ上で動作します。
以下の公式サイトの手順に従いdocker-composeが動作する環境で実施して下さい。

WindowsでDockerを動かす場合は、くもすけさんの書かれた記事で詳しく解説されています。

動作に関する質問はtwitterのDMで受け付けております。

https://twitter.com/mockFlyer

有料部分について

本noteに記載された内容の転売及び転載等は禁止とさせて頂きます。
また本note及びプログラムコードの利用により発生した損害に対しては一切の責任を負うことはできません。


ここから先は

2,512字 / 2ファイル

¥ 27,000 (数量限定:残り 6 / 10)

この記事が気に入ったらサポートをしてみませんか?