オムライスの備忘録

数学・統計学・機械学習・プログラミングに関することを記す

【金融時系列解析】バックテスト / Back Test #実装編 #00

Index

バックテスト / Back Test

Library

Python で利用できる Library.

  • backtesting
  • bybit-backtest
    • 仮想通貨

参考

対象データ

複数の金融商品・銘柄・期間で、テストを行う.

銘柄

期間

日足と分足のデータを用意する.

日足の仮想通貨のデータは、存在するデータのみ (Bitcoin であれば、d-04 / d-05 のみ等) 取得する.

また、分足のデータは、高頻度の取引が想定される、外貨や仮想通貨のみを想定して、取得する.

日足

  • 期間 d-01 : 2000/01/01 ~ 2001/12/31
  • 期間 d-02 : 2005/01/01 ~ 2006/12/31
  • 期間 d-03 : 2010/01/01 ~ 2011/12/31
  • 期間 d-04 : 2015/01/01 ~ 2016/12/31
  • 期間 d-05 : 2020/01/01 ~ 2021/12/31

  • 期間は、2 年間
  • 500 ~ 700 の系列データ (金融商品によって、土日祭日は停止している)

分足

  • 期間 m-01 : 2020/01/01 09:00 ~ 2020/01/01 20:59
  • 期間 m-02 : 2020/04/01 09:00 ~ 2020/04/01 20:59
  • 期間 m-03 : 2020/07/01 21:00 ~ 2020/07/02 08:59
  • 期間 m-04 : 2020/10/01 21:00 ~ 2020/10/02 08:59



  • 期間 m-91 : 2022/04/03 09:00 ~ 2022/04/03 20:59



  • 4 半期ごとに 4 分割
  • 時間帯は、2 分割 (09:00 ~ 20:59 / 21:00 ~ 08:00)
  • 2000 程度の系列データ

データの収集

以下の形式でデータファイル名を決定する.

test_{target}_{code}_{span}.csv



以下のデータ形式でデータを収集する.

             High    Low   Open  Close    Volume   Adj Close
Date                                                        
2000-01-04  165.0  157.0  158.0  157.0  296000.0  104.694954
2000-01-05  170.0  156.0  164.0  157.0  637000.0  104.694954
2000-01-06  170.0  162.0  167.0  163.0  411000.0  108.696045
2000-01-07  169.0  161.0  162.0  169.0  645000.0  112.697105
2000-01-11  174.0  166.0  174.0  168.0  410000.0  112.030243



バックテスト設定

項目
初期資金 300000 (単位は場合による)
取引手数料 0.01 (=1%)
レバレッジ 1倍

実装

精度評価

algorithm freq return_ave volatility_ave blog
Close Compare 日足 -45.073257 10.609455 yhayato1320.hatenablog.com
Decision Tree 日足 xxx xxx yhayato1320.hatenablog.com