Skip to content

量化交易回测方法

回测是量化策略开发中最重要的环节,用于验证策略在历史数据上的表现。

什么是回测

回测是使用历史数据模拟策略交易过程,评估策略的盈利能力和风险特征。

回测框架

核心组件

  1. 数据源 - 历史价格、成交量、财务数据等
  2. 策略逻辑 - 买入/卖出信号生成规则
  3. 交易引擎 - 模拟订单执行、持仓管理
  4. 绩效分析 - 计算收益率、风险指标等

回测流程

数据准备 → 策略实现 → 运行回测 → 绩效分析 → 参数优化

关键绩效指标

收益指标

指标说明计算方式
总收益率策略整体收益(最终资金 - 初始资金) / 初始资金
年化收益率换算为年度收益(1 + 总收益率)^(252/交易天数) - 1
超额收益相对基准的收益策略收益 - 基准收益

风险指标

指标说明合理范围
最大回撤最大累计亏损幅度< 20%
波动率收益率标准差越低越好
夏普比率风险调整后收益> 1 为良好

交易指标

  • 胜率:盈利交易次数 / 总交易次数
  • 盈亏比:平均盈利 / 平均亏损
  • 交易频率:日均/月均交易次数

回测常见陷阱

1. 未来函数

使用了回测时点无法获得的数据。

错误示例:

python
# ❌ 使用了收盘价判断当日开盘买入
if close[i] > close[i-1]:
    buy_at_open[i+1]

正确做法:

python
# ✅ 只使用当时可获得的数据
if close[i-1] > close[i-2]:
    buy_at_open[i]

2. 幸存者偏差

只使用当前存续的股票数据,忽略了已退市股票。

解决方案: 使用包含退市股票的全量历史数据

3. 过度拟合

策略参数在历史数据上表现完美,但实盘失效。

解决方案:

  • 减少参数数量
  • 样本外验证
  • 参数稳健性测试

4. 忽略交易成本

未考虑手续费、滑点等成本。

建议:

  • 设置合理的手续费率(如万 2.5)
  • 添加滑点假设(如 0.1%)

回测工具推荐

Python 框架

  • Backtrader - 功能强大的开源回测框架
  • Zipline - Quantopian 开源的回测引擎
  • ** vn.py** - 国内知名的量化交易框架

在线平台

  • 聚宽 - 提供 A 股数据和回测环境
  • 优矿 - 通联数据旗下的量化平台

下一步

Released under the MIT License.