claude强化功能
This commit is contained in:
329
功能拓展/策略回测增强使用说明.md
Normal file
329
功能拓展/策略回测增强使用说明.md
Normal 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/20(5% 止损,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>
|
||||
Reference in New Issue
Block a user