Files
stock_cursor_v0/功能拓展/策略回测增强使用说明.md
2026-06-14 11:54:45 +08:00

7.1 KiB
Raw Permalink Blame History

策略回测增强功能使用说明

功能概述

策略回测增强模块提供了完整的量化回测能力,支持多因子策略、仓位管理、参数优化和策略对比。

四大功能模块

1. 快速回测

适用场景:简单均线交叉策略的快速验证

参数

  • 股票代码
  • 快线周期(如 5
  • 慢线周期(如 20

输出指标

  • 策略收益率
  • 基准收益率(买入持有)
  • 超额收益
  • 最大回撤
  • 交易次数
  • 胜率

2. 高级回测

适用场景:带仓位管理和风控的完整策略回测

策略类型

  • 均线交叉MA 金叉死叉
  • 多因子技术MA5/MA20+ 动量RSI+ 资金(量比)

高级参数

  • 仓位大小0-1每次买入占可用资金比例

    • 1.0 = 满仓
    • 0.5 = 半仓
    • 0.3 = 三成仓位
  • 止损比例%):跌破该比例自动卖出

    • 5 = 亏损 5% 止损
    • 0 = 不止损
  • 止盈比例%):达到该比例自动卖出

    • 10 = 盈利 10% 止盈
    • 0 = 不止盈

完整指标

  • 总收益率
  • 最大回撤
  • 夏普比率(风险调整后收益,越高越好)
  • 卡玛比率(收益/最大回撤,越高越好)
  • 交易次数 / 已平仓次数
  • 胜率
  • 盈亏比(平均盈利/平均亏损)
  • 平均持仓天数

交易明细

  • 每笔买入卖出记录
  • 持仓天数
  • 单笔盈亏和收益率
  • 买卖理由
  • 支持导出 CSV

3. 参数优化

适用场景:寻找最优参数组合

优化流程

  1. 定义参数网格

    • 快线范围:如 3,5,10,15
    • 慢线范围:如 20,30,60
  2. 选择优化目标

    • 夏普比率(推荐,平衡收益和风险)
    • 总收益(追求最大收益)
    • 卡玛比率(追求稳定)
  3. 一键优化

    • 自动测试所有参数组合
    • 按目标指标排序
    • 显示前 20 个最优结果

结果展示

  • 参数组合排名
  • 目标指标值
  • 总收益、夏普比率、最大回撤、胜率

示例

输入:
- 股票600519
- 快线范围3,5,10
- 慢线范围20,30,60
- 优化目标:夏普比率

输出:
排名1快线5/慢线30夏普2.15收益45.2%回撤12.3%
排名2快线10/慢线60夏普1.98收益38.7%回撤9.8%
...

4. 策略对比

适用场景:多个策略并排对比,找出最优策略

预设对比

  1. MA5/20无止损止盈
  2. MA5/205% 止损10% 止盈)
  3. MA10/30
  4. 多因子策略

对比维度

  • 净值曲线(多条曲线叠加)
  • 总收益率(卡片并排显示)
  • 最大回撤
  • 夏普比率

使用示例

示例 1快速验证均线策略

1. 点击"快速回测"
2. 输入代码600519
3. 快线5慢线20
4. 点击"回测"
5. 查看收益率和净值曲线

示例 2带止损止盈的策略

1. 点击"高级回测"
2. 输入代码600519
3. 策略:均线交叉
4. 快线5慢线20
5. 仓位1.0(满仓)
6. 止损5%
7. 止盈10%
8. 点击"高级回测"
9. 查看完整指标和交易明细
10. 点击"导出CSV"保存明细

示例 3参数优化寻找最优组合

1. 点击"参数优化"
2. 输入代码600519
3. 快线范围3,5,10,15
4. 慢线范围20,30,60
5. 优化目标:夏普比率
6. 点击"开始优化"
7. 等待 10-30 秒(取决于组合数)
8. 查看排名前 20 的参数组合
9. 选择最优参数重新回测验证

示例 4策略对比

1. 点击"策略对比"
2. 输入代码600519
3. 点击"对比策略"
4. 查看 4 条净值曲线
5. 对比各策略收益率
6. 选择最优策略

指标说明

夏普比率Sharpe Ratio

  • 含义:风险调整后的收益
  • 公式(平均收益率 - 无风险利率) / 收益率标准差
  • 解读
    • > 2.0:优秀
    • 1.0 - 2.0:良好
    • 0.5 - 1.0:一般
    • < 0.5:较差

卡玛比率Calmar Ratio

  • 含义:收益率 / 最大回撤
  • 解读
    • > 3.0:优秀
    • 2.0 - 3.0:良好
    • 1.0 - 2.0:一般
    • < 1.0:较差

最大回撤Max Drawdown

  • 含义:从峰值到谷底的最大跌幅
  • 解读
    • < 10%:低风险
    • 10% - 20%:中等风险
    • 20% - 30%:较高风险
    • > 30%:高风险

盈亏比Profit Factor

  • 含义:平均盈利 / 平均亏损
  • 解读
    • > 2.0:优秀
    • 1.5 - 2.0:良好
    • 1.0 - 1.5:一般
    • < 1.0:策略无效

策略说明

均线交叉策略MA

原理

  • 快线上穿慢线 → 买入(金叉)
  • 快线下穿慢线 → 卖出(死叉)

适用市场:趋势明确的单边市 不适用市场:震荡市(易频繁止损)

多因子策略

买入条件(需同时满足):

  • MA5 > MA20趋势向上
  • RSI < 70未超买
  • 量比 > 1.5(放量)

卖出条件(满足任一):

  • MA5 < MA20趋势转弱
  • RSI > 80超买

适用市场:震荡偏多市场

API 接口

POST /api/backtest/advanced

高级回测

请求体

{
  "symbol": "600519",
  "strategy": "ma",
  "fast": 5,
  "slow": 20,
  "position_size": 1.0,
  "stop_loss": 5.0,
  "take_profit": 10.0,
  "initial_capital": 100000.0,
  "commission": 0.0005
}

响应

{
  "ok": true,
  "symbol": "600519",
  "strategy": "MA5/20",
  "dates": ["2023-01-01", ...],
  "equity": [100000, 101200, ...],
  "bench": [100000, 100800, ...],
  "metrics": {
    "total_return": 45.23,
    "max_drawdown": 12.34,
    "sharpe_ratio": 2.15,
    "calmar_ratio": 3.67,
    "trades": 15,
    "win_rate": 66.7,
    "profit_factor": 2.3,
    "avg_hold_days": 12.5
  },
  "trades": [...]
}

POST /api/backtest/optimize

参数优化

请求体

{
  "symbol": "600519",
  "strategy": "ma",
  "fast_range": [3, 5, 10, 15],
  "slow_range": [20, 30, 60],
  "metric": "sharpe_ratio"
}

POST /api/backtest/compare

策略对比

请求体

{
  "symbol": "600519",
  "strategies": [
    {"type": "ma", "fast": 5, "slow": 20},
    {"type": "ma", "fast": 5, "slow": 20, "stop_loss": 5, "take_profit": 10},
    {"type": "multi_factor"}
  ]
}

注意事项

  1. 数据要求

    • 需要先在"数据中台"入库历史日线数据
    • 建议至少 1 年数据250 个交易日)
    • 数据越多,回测越准确
  2. 性能

    • 快速回测1-2 秒
    • 高级回测2-5 秒
    • 参数优化10-60 秒(取决于组合数)
    • 策略对比5-10 秒
  3. 手续费

    • 默认 0.05%(双边 0.1%
    • 可在高级参数中调整
  4. 回测准确性

    • 基于收盘价成交(实际会有滑点)
    • 未考虑流动性限制
    • 未考虑冲击成本
    • 适合个人投资者小资金回测
  5. 过拟合风险

    • 参数优化可能导致过拟合
    • 建议在不同市场环境下验证
    • 样本外测试很重要

后续扩展

  • 支持分钟线回测
  • 增加更多策略MACD、KDJ、布林带
  • 支持组合回测(多股票)
  • 仓位管理策略(凯利公式、风险平价)
  • 滚动回测(时间窗口滑动)
  • 蒙特卡洛模拟
  • 回测报告 PDF 导出