量化选股回测中必须注意的陷阱,核心在于回测结果高估真实收益,而策略实盘后大幅失效。常见的陷阱包括过拟合、前视偏差、幸存者偏差以及交易成本低估,每一个都会让回测数据变成“纸上富贵”。

四大常见陷阱详解

过拟合是最隐蔽的陷阱。当策略参数过多或规则过于复杂时,它会“记住”历史行情中的随机噪声,而不是真正的规律。结果是在样本内表现完美,但样本外(或实盘)迅速崩溃。避免过拟合的关键是保持策略简洁,并使用交叉验证(如滚动窗口回测)来检验稳定性。

前视偏差指策略在回测中无意使用了未来数据。例如,用当天的收盘价作为买入信号,而当天收盘前无法知道收盘价。常见场景包括:财务报表公布前使用修正后的数据,或除权除息后未调整价格。解决方案是严格按时间顺序回测,只使用信号产生时已公开的数据。

幸存者偏差源于只回测当前存活的股票,而忽略了已退市或暴跌的股票。例如,回测“买入所有A股”时,如果只用了当前成分股,会高估收益,因为退市股的历史表现已被剔除。正确做法是使用全样本数据库,包含历史上所有曾上市交易的股票。

交易成本与滑点低估同样致命。回测中假设按收盘价成交,但实盘可能因流动性不足产生滑点,加上佣金、印花税后,高频策略的收益可能被吞噬。建议在回测中至少按双边千分之三估算成本,并对小市值股票额外增加滑点。

提高回测可信度的关键方法

使用交叉验证是核心手段。将历史数据分为训练集和测试集,在训练集上开发策略,在测试集上验证。更严格的方案是滚动窗口回测:每次用过去3-5年数据训练,预测未来1年,逐年滚动,模拟实盘环境。

避免过拟合的具体操作:限制参数数量(通常不超过3个),并对策略进行随机化检验——将价格序列随机打乱后回测,如果策略仍能盈利,说明它只是拟合了随机噪声。

市场环境变化是终极风险。策略在牛市有效,在熊市或震荡市可能失效。回测应包含不同市场阶段(单边涨、单边跌、横盘震荡),并评估策略在每种环境下的表现。

总结:量化回测的可靠性取决于能否避开过拟合、前视偏差、幸存者偏差和成本低估。通过交叉验证、限制参数、使用全样本数据并模拟真实交易成本,才能让回测结果更贴近实盘。

常见问题

如何判断回测策略是否过拟合?

一个简单方法是样本外测试:将历史数据前70%用于训练,后30%用于测试。如果训练集和测试集收益差距超过30%(例如训练集年化20%,测试集低于14%),则过拟合风险较高。更严谨的做法是进行蒙特卡洛模拟,验证策略的稳定性。

回测中如何处理退市股票的数据?

必须使用包含退市股的完整数据库。常见的免费数据源(如部分开源库)可能已剔除退市股票,导致幸存者偏差。付费金融数据终端(如Wind、Tushare Pro)通常提供全样本历史数据。如果无法获取,至少应在回测中明确标注“仅含当前存续股票”。

滑点成本应该如何估算?

滑点取决于股票流动性和交易频率。对于日均成交额低于1亿元的股票,建议每笔交易额外增加0.1%-0.5%的滑点成本;对于大盘蓝筹股,0.01%-0.05%即可。最稳妥的方法是使用“成交时间加权”回测,即模拟在真实时段内按实际成交价(而非收盘价)执行交易。

延伸阅读