单策略回测示例

  • 导入回测引擎和CTA策略

  • 设置回测相关参数,如:品种、K线周期、回测开始和结束日期、手续费、滑点、合约规模、起始资金

  • 载入策略和数据到引擎中,运行回测。

  • 计算基于逐日统计盈利情况,计算统计指标,统计指标绘图。

  1. from vnpy.app.cta_strategy.backtesting import BacktestingEngine
  2. from vnpy.app.cta_strategy.strategies.boll_channel_strategy import (
  3. BollChannelStrategy,
  4. )
  5. from datetime import datetime
  6.  
  7. engine = BacktestingEngine()
  8. engine.set_parameters(
  9. vt_symbol="IF88.CFFEX",
  10. interval="1m",
  11. start=datetime(2018, 1, 1),
  12. end=datetime(2019, 1, 1),
  13. rate=3.0/10000,
  14. slippage=0.2,
  15. size=300,
  16. pricetick=0.2,
  17. capital=1_000_000,
  18. )
  19.  
  20. engine.add_strategy(AtrRsiStrategy, {})
  21. engine.load_data()
  22. engine.run_backtesting()
  23. df = engine.calculate_result()
  24. engine.calculate_statistics()
  25. engine.show_chart()