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

329 lines
7.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 策略回测增强功能使用说明
## 功能概述
策略回测增强模块提供了完整的量化回测能力,支持多因子策略、仓位管理、参数优化和策略对比。
## 四大功能模块
### 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
高级回测
**请求体**
```json
{
"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
}
```
**响应**
```json
{
"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
参数优化
**请求体**
```json
{
"symbol": "600519",
"strategy": "ma",
"fast_range": [3, 5, 10, 15],
"slow_range": [20, 30, 60],
"metric": "sharpe_ratio"
}
```
### POST /api/backtest/compare
策略对比
**请求体**
```json
{
"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 导出
</contents>