3 分钟快速生成代码
输入想法,AI 即刻生成可运行代码
在 QMT 平台中对已编写好的 Python 策略进行历史数据回测,主要分为数据准备、参数设置和执行回测三个步骤。
以下是详细的操作流程:
QMT 的回测依赖本地数据,因此在回测前必须下载所需的数据。
您可以通过策略编辑器界面或代码两种方式设置回测参数。
在策略编辑器右侧面板中,找到**【回测参数】**标签页进行设置:
在策略的 init(ContextInfo) 函数中直接写入参数,代码中的设置优先级高于界面设置。
def init(ContextInfo):
# 1. 设定回测起止时间
ContextInfo.start = '2020-01-01 00:00:00'
ContextInfo.end = '2021-12-31 15:00:00'
# 2. 设定基准 (例如沪深300)
ContextInfo.benchmark = '000300.SH'
# 3. 设定初始资金
ContextInfo.capital = 1000000
# 4. 设定手续费 (例如万分之三)
# 参数顺序: [买入印花税, 卖出印花税, 开仓手续费, 平仓手续费, 平今手续费, 最低佣金]
# 如果只传一个浮点数,则代表开平仓手续费相同,其余为0
ContextInfo.set_commission(0, [0.001, 0.001, 0.0003, 0.0003, 0, 5])
# 5. 设定滑点 (例如 1跳)
# 参数1: 滑点类型 (0:跳数, 1:固定值, 2:比例)
ContextInfo.set_slippage(0, 1)
# 6. 设定股票池
ContextInfo.set_universe(['600000.SH', '000001.SZ'])
print() 或 ContextInfo.paint(),可以在日志面板或副图中查看调试信息。ContextInfo.set_universe 是否设置了有效的股票池。passorder 函数中设置 quickTrade=1(但这可能引入未来函数,需谨慎使用)。