claude强化功能

This commit is contained in:
2026-06-14 11:54:45 +08:00
parent cc8dff4e57
commit e524a3589a
43 changed files with 13421 additions and 73 deletions

View File

@@ -0,0 +1,329 @@
# 策略回测增强功能使用说明
## 功能概述
策略回测增强模块提供了完整的量化回测能力,支持多因子策略、仓位管理、参数优化和策略对比。
## 四大功能模块
### 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>