【評価版】BacktestAssist & ChartCreator
Bybit WSOT 2021期間中(~2021/9/17)は各ツールを公開します。
(ツール全機能を使用可能ですが、評価版ではソースコード非公開となりますのでご了承ください。)
各ツールの詳細は以下のnoteを参照してください。
git clone https://github.com/nagishin/BacktestTrial.git
ツールを使用するために必要なパッケージをインストールします。
また、テストデータの取得や加工に便利な以下のツールもインストールします。
cd BacktestTrial
pip install -U -r requirements.txt
【Linux環境】
- python3.7 -> dist_for_linux_py37.zip
- python3.8 -> dist_for_linux_py38.zip
- python3.9 -> dist_for_linux_py39.zip
【Windows環境】
- python3.7 -> dist_for_windows_py37.zip
- python3.8 -> dist_for_windows_py38.zip
- python3.9 -> dist_for_windows_py39.zip
解凍するとdistディレクトリが作成されます。
以下の構造となるように配置してください。
【構築するディレクトリ/ファイル構造】
./trial_check.py (ライセンス有効期限確認)
./backtest_sample.py (バックテストサンプル スクリプト)
./dist (解凍するとできるディレクトリ)
∟__init__.py
∟backtest_assistant.py
∟chart_creator.py
∟/pytransform
∟__init__.py
∟_pytransform.so
trial_check.pyを実行することでライセンスの有効日数を確認できます。
cd BacktestTrial
python trial_check.py
-> This license for lic_for_wsot will be expired in 23 days
backtest_sample.pyを実行することでサンプルロジックのバックテストを行います。
ロジック
- RSIから売買過熱を判断して逆張りする
- RSIが20未満で買いエントリー / 80より大きいと売りエントリー
- RSIが50に到達したらイグジット
対象データ
- tickデータ : BitMEX 1h OHLCV
対象期間
- 2020/08/01 ~ 2020/08/31 (JST)
cd BacktestTrial
python backtest_sample.py
バックテスト 実行結果
[Result]
[Time ] 2020/08/01 09:00:00 - 2020/08/31 08:00:00
[Balance ] 1.0 -> 1.0201 (+2.01%) Sharpe Ratio:-0.0463
[Orders ] Total:28 (Open:0 Executed:28 Canceled:0)
[Position] Max Long:10,000.0 Max Short:-10,000.0 Min Margin:11115.76%
[Execution statistics] PF:1.58
[Total ] Count:28(Size:280,000) PnL:+0.0354 Avr:+0.0013 Price Range:+497.5
[Profit ] Count:6(42.86%) Sum:+0.096 Avr:+0.016 Max:+0.0388 MaxLen:2(+0.0464)
[Loss ] Count:8(57.14%) Sum:-0.0607 Avr:-0.0076 Max:-0.0181 MaxLen:3(-0.0261)
[Fee ] Trade:0.018 Funding:-0.0027
[Max risk]
Drawdown :-2.79%(-0.0293) 2020/08/31 00:00:00
Unrealised loss:-4.28%(-0.0449) 2020/08/12 15:30:00
[Fiat balance]
[Start ] 11,361.0 (Balance:1.0 Price:11361.0)
[End ] 11,860.7 (Balance:1.0201 Price:11627.0)
[Result] 499.7 (+4.40%) Sharpe Ratio:-0.2182
[Fiat execution statistics] PF:1.08
[Total ] Count:28(Size:0) PnL:+179 Avr:+6.0 Price Range:+0
[Profit ] Count:11(42.31%) Sum:+2,481 Avr:+226.0 Max:+678 MaxLen:3(+176)
[Loss ] Count:15(57.69%) Sum:-2,302 Avr:-153.0 Max:-939 MaxLen:3(-520)
[Fee ] Trade:0 Funding:0
[Max risk]
Drawdown :-8.87%(-1,138) 2020/08/26 14:00:00
Unrealised loss:-4.28%(-497) 2020/08/12 15:30:00
以下のnotebookより、Google Colabリンクを開いてください。
< GitHub Gist >【評価版】BacktestAssist & ChartCreator