strategy-backtest · git:20260922.a679af1 · 2026-09-22 · sha256 8624450c2f61f3dd
strategy-backtest git:20260922.a679af1A
Immutable. This exact content is served forever at /api/v1/blob/8624450c2f61f3dd.
---
name: strategy-backtest
description: 策略回测:定义或读取 AlphaEvo YAML 策略,回测收益、回撤和交易统计。仅在用户明确要求时进行参数优化。
---
# 策略回测与优化
开始前读取[短线交易决策框架](../stock-analysis/references/short-term-trading.md)的风险单位和回测约束。回测用于反证策略,不把样本内收益包装成预测。
## 工作流程
### 第一步:策略定义
帮助用户将交易思路转化为 YAML 策略文件。策略 DSL 格式:
```yaml
name: "策略名称"
version: "1.0"
description: "策略描述"
parameters:
param1: value1
entry:
conditions:
- indicator: "rsi" # 指标名
period: 14 # 指标周期
operator: "<" # 比较运算符
value: 30 # 阈值
logic: "all" # all=AND, any=OR
exit:
conditions:
- indicator: "rsi"
period: 14
operator: ">"
value: 70
logic: "any"
stop_loss: -0.05 # 止损比例
take_profit: 0.15 # 止盈比例
position:
size: 1.0 # 仓位比例
max_positions: 1 # 最大持仓数
```
**可用指标**:rsi, ma, ema, macd_dif, macd_dea, macd, volume_ratio, price_change, bollinger_position, close, volume
**可用运算符**:`>`, `<`, `>=`, `<=`, `==`, `cross_above`, `cross_below`
### 第二步:运行回测
运行回测脚本:
```bash
python3 tools/backtest.py run <path.yaml> <symbol> --start <date> --end <date>
```
参数说明:
- 前两个为位置参数,依次为:策略 YAML 文件路径、股票代码
- `--start` / `--end`:回测时间范围(可选,默认近一年)
- 初始资金默认 100 万,可用 `--capital` 调整
### 第三步:分析结果
回测完成后,按共享框架的风险单位和回测约束解释原始结果。针对本工具:
- 从 `metrics` 和 `trades` 计算期望值并与盈亏比一起报告。
- 报告最大回撤、连续亏损、交易次数和平均持有期;结果未携带初始风险时,将 1R 分布标为不可计算。
- 使用用户指定的互斥日期区间分别运行样本内和样本外回测。
- 只陈述策略配置或结果中可确认的手续费、滑点与成交约束,其余列入限制。
未模拟的结算、涨跌停、复权或特定市场费用列入限制,结论限定为该模拟条件下的历史表现。
### 第四步:诊断
根据回测结果诊断问题并提出可选调整。诊断提示只是待检验假设,不自动接受参数建议:
**常见问题 → 优化方向**:
- 胜率低 → 收紧入场条件、增加过滤因子
- 盈亏比低 → 提高止盈、收紧止损
- 回撤大 → 减小仓位、增加止损保护
- 交易次数少 → 放宽条件、缩短信号周期
- 交易次数多 → 增加冷却期、提高信号门槛
### 第五步:可选优化
仅当用户明确要求优化时:
1. 每轮只修改一类参数或条件
2. 重新回测并与基线对比
3. 按共享框架保留独立样本外区间
4. 最多迭代 3 轮;期望值、回撤或样本量没有实质改善时停止
5. 保留基线结果,并把样本内改善标记为待样本外验证
## 输出格式
```
## 回测报告 — [策略名称] on [股票代码]
### 策略概要
- 名称:...
- 入场条件:...
- 出场条件:...
- 止损/止盈:...
### 核心指标
| 指标 | 值 | 解释 |
|------|----|------|
| 总收益率 | ... | 相对基准与回测区间解释 |
| 期望值 | ... | 结合胜率、盈亏比和样本量解释 |
| ... | ... | ... |
### 交易明细
最近 N 笔交易列表
### 诊断
- 优势:...
- 问题:...
- 优化建议:...
### 下一步
建议的参数调整方案
```
完成标准:报告包含回测区间、样本内/外边界、初始资金、交易次数、持有期、期望值、收益/回撤指标、成本假设及未模拟的市场约束;优化分支还需提供基线对比。
## 示例策略
参考 `{baseDir}/strategies/examples/` 目录中的示例:
- `rsi_oversold.yaml` — RSI 超卖反弹
- `ma_crossover.yaml` — 均线金叉