Skip to content

yskmry/BacktestTrial

 
 

Repository files navigation

Backtest Trial

【評価版】BacktestAssist & ChartCreator
Bybit WSOT 2021期間中(~2021/9/17)は各ツールを公開します。
(ツール全機能を使用可能ですが、評価版ではソースコード非公開となりますのでご了承ください。)

各ツールの詳細は以下のnoteを参照してください。


【使用方法】

1. リポジトリをクローンして使用する

1-1. リポジトリクローン

git clone https://github.com/nagishin/BacktestTrial.git

1-2. 必要パッケージのインストール

ツールを使用するために必要なパッケージをインストールします。
また、テストデータの取得や加工に便利な以下のツールもインストールします。

cd BacktestTrial
pip install -U -r requirements.txt

1-3. 使用環境のdistを解凍

【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

1-4. 評価版ライセンス 有効期限チェック (任意)

trial_check.pyを実行することでライセンスの有効日数を確認できます。

cd BacktestTrial
python trial_check.py
-> This license for lic_for_wsot will be expired in 23 days

1-5. サンプルバックテスト実行

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

結果チャート 結果チャート


2. Google Colabで使用する

以下のnotebookより、Google Colabリンクを開いてください。

< GitHub Gist >【評価版】BacktestAssist & ChartCreator


3. 公開ロジックのバックテスト






About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%