回测是验证逻辑严谨性的过程,需还原真实交易约束、滚动窗口优化参数、分层嵌入风控,并经模拟盘、行情快照、人工盯盘三步迁移验证。

回测不是跑个结果,而是验证逻辑的严谨过程
很多初学者把回测当成“输入数据→输出收益曲线”的黑箱操作,结果一实盘就失效。真正有效的回测必须还原交易的真实约束:滑点、手续费、成交延迟、仓位限制、涨跌停无法成交等。比如A股T+1机制下,当天买入不能卖出,策略若未显式建模该规则,回测信号会虚增胜率。建议用Backtrader或VectorBT这类支持订单生命周期建模的框架,而非仅靠pandas手动计算。
参数优化别陷入“过拟合陷阱”,用滚动窗口+样本外检验
固定周期全量优化(如2015–2022年一起调参)极易过拟合。正确做法是:划分滚动训练/测试窗口(如每3个月重优化一次,训练期12个月,测试期3个月),每次只用训练期内数据找最优参数,并立即在后续测试期验证。关键细节:参数空间要离散化(如均线周期只试10/20/30/60,不搜15.7)、目标函数避开单一指标(不用纯年化收益,改用夏普比率+最大回撤加权组合),并强制要求所有参数组合在至少80%的滚动窗口中保持正收益。
风控不是加个止损线,而是分层嵌入策略生命周期
典型三层风控结构:
• 事前控制:单票仓位≤2%,行业暴露偏离基准±5%,杠杆倍数硬限1.2;
• 事中监控:每分钟检查组合波动率是否突破20日均值1.5倍,触发则自动暂停新信号;
• 事后熔断:单日回撤超3%暂停当日交易,连续两日回撤超2%启动参数重校准。
实操中,这些规则需写进回测引擎的notify_order和notify_trade钩子函数,而非事后分析时补加。
从回测到实盘的关键三步迁移验证
再完美的回测也不能跳过实盘前的过渡验证:
• 模拟盘对接券商API(如恒生UFT、盈透IBKR),跑1个月,比对挂单价格、成交时间与回测假设差异;
• 用真实行情快照重跑回测(非复权行情+逐笔委托簿数据),检验信号触发时是否有足够流动性;
• 人工盯盘首周,记录所有“策略想做但系统没执行”或“执行了但结果异常”的案例,反向修正风控阈值(如原设滑点0.1%,实测发现小市值股常达0.3%,需动态调整)。










