from vnpy.app.cta_strategy.backtesting import BacktestingEngine
from vnpy.app.cta_strategy.strategies.boll_channel_strategy import BollChannelStrategy
from vnpy.trader.constant import Interval
from datetime import datetime
if __name__ == '__main__':
# 回测引擎初始化
engine = BacktestingEngine()
# 设置交易对产品的参数
engine.set_parameters(
vt_symbol="XBTUSD.BITMEX", #交易的标的
interval=Interval.MINUTE,
start=datetime(2018, 1, 1), # 开始时间
rate=7.5/10000, # 手续费
slippage=0.5, #交易滑点
size=1, # 合约乘数
pricetick=0.5, # 8500.5 8500.01
capital= 100000, # 初始资金
end=datetime(2018, 6, 1) # 结束时间
)
# 添加策略
engine.add_strategy(BollChannelStrategy, {})
# 加载
engine.load_data()
# 运行回测
engine.run_backtesting()
# 统计结果
engine.calculate_result()
# 计算策略的统计指标 Sharp ratio, drawdown
engine.calculate_statistics()
# 绘制图表
engine.show_chart()