- Added support for a detailed chart mode in plot_converging_triangles.py, allowing users to visualize all pivot points and fitting lines. - Improved pivot fitting logic to utilize multiple representative points, enhancing detection accuracy and reducing false positives. - Introduced a new real-time detection mode with flexible zone parameters for better responsiveness in stock analysis. - Updated README.md and USAGE.md to reflect new features and usage instructions. - Added multiple documentation files detailing recent improvements, including pivot point fitting and visualization enhancements. - Cleaned up and archived outdated scripts to streamline the project structure.
290 lines
6.5 KiB
Markdown
290 lines
6.5 KiB
Markdown
# 实时模式使用指南
|
||
|
||
快速上手方案4(混合策略)实时模式。
|
||
|
||
---
|
||
|
||
## 什么是实时模式?
|
||
|
||
实时模式使用**混合枢轴点检测策略**,能够捕获最近几天的价格转折点,解决标准模式15天确认滞后的问题。
|
||
|
||
### 两种模式对比
|
||
|
||
| 特性 | 标准模式 | 实时模式 |
|
||
|------|---------|---------|
|
||
| 枢轴点类型 | 仅确认枢轴点 | 确认 + 候选枢轴点 |
|
||
| 检测滞后 | 15天 | 无滞后 |
|
||
| 枢轴点质量 | 高 | 高(确认)+ 中(候选) |
|
||
| 适用场景 | 历史回测 | 实时选股 |
|
||
| 误报风险 | 低 | 中(候选点需确认) |
|
||
|
||
---
|
||
|
||
## 快速启用
|
||
|
||
### 方法1:配置文件(推荐)
|
||
|
||
编辑 `scripts/triangle_config.py`:
|
||
|
||
```python
|
||
# 实时模式配置
|
||
REALTIME_MODE = True # 改为 True
|
||
FLEXIBLE_ZONE = 5 # 最近5天使用降低标准
|
||
```
|
||
|
||
然后正常运行:
|
||
|
||
```bash
|
||
python scripts/pipeline_converging_triangle.py
|
||
```
|
||
|
||
### 方法2:临时启用(命令行)
|
||
|
||
保持配置文件为标准模式,临时启用实时模式:
|
||
|
||
```bash
|
||
# 待实现:命令行参数支持
|
||
# python scripts/run_converging_triangle.py --realtime
|
||
```
|
||
|
||
---
|
||
|
||
## 参数说明
|
||
|
||
### REALTIME_MODE
|
||
|
||
- **False**(默认):标准模式,仅使用确认枢轴点
|
||
- **True**:实时模式,使用确认 + 候选枢轴点
|
||
|
||
### FLEXIBLE_ZONE
|
||
|
||
灵活区域大小(最近N天使用降低标准):
|
||
|
||
- **3天**:保守,候选点更少,质量更高
|
||
- **5天**(推荐):平衡,适合大多数场景
|
||
- **7天**:激进,更早发现信号,但噪音多
|
||
|
||
---
|
||
|
||
## 使用场景
|
||
|
||
### 场景1:历史回测(标准模式)
|
||
|
||
```python
|
||
# triangle_config.py
|
||
REALTIME_MODE = False
|
||
```
|
||
|
||
**特点**:
|
||
- 枢轴点完全确认,质量高
|
||
- 有15天滞后,但不影响回测结果
|
||
- 适合策略验证、绩效分析
|
||
|
||
### 场景2:实时选股(实时模式)
|
||
|
||
```python
|
||
# triangle_config.py
|
||
REALTIME_MODE = True
|
||
FLEXIBLE_ZONE = 5
|
||
```
|
||
|
||
**特点**:
|
||
- 能捕获当前突破信号
|
||
- 候选枢轴点需要人工或规则确认
|
||
- 适合盘中/盘后快速筛选
|
||
|
||
### 场景3:保守实时(降低误报)
|
||
|
||
```python
|
||
# triangle_config.py
|
||
REALTIME_MODE = True
|
||
FLEXIBLE_ZONE = 3 # 更严格
|
||
```
|
||
|
||
**特点**:
|
||
- 候选点更少,质量更高
|
||
- 依然比标准模式提前12天
|
||
- 适合对质量要求高的实盘
|
||
|
||
---
|
||
|
||
## 检测结果解读
|
||
|
||
### 标准模式输出
|
||
|
||
```csv
|
||
stock_code,date,is_valid,breakout_dir,detection_mode,has_candidate_pivots
|
||
SH600000,20260120,True,up,standard,False
|
||
```
|
||
|
||
- `detection_mode`: "standard"
|
||
- `has_candidate_pivots`: False(无候选点)
|
||
|
||
### 实时模式输出
|
||
|
||
```csv
|
||
stock_code,date,is_valid,breakout_dir,detection_mode,has_candidate_pivots,candidate_pivot_count
|
||
SH600000,20260120,True,up,realtime,True,3
|
||
```
|
||
|
||
- `detection_mode`: "realtime"
|
||
- `has_candidate_pivots`: True(包含候选点)
|
||
- `candidate_pivot_count`: 3(候选枢轴点总数)
|
||
|
||
**注意**:
|
||
- 如果 `has_candidate_pivots=True`,说明检测结果依赖候选枢轴点
|
||
- 候选枢轴点置信度较低,可能随后续数据变化
|
||
- 建议次日复核或设置更严格的过滤条件
|
||
|
||
---
|
||
|
||
## 验证测试
|
||
|
||
运行对比测试脚本:
|
||
|
||
```bash
|
||
python scripts/test_realtime_mode.py
|
||
```
|
||
|
||
测试内容:
|
||
1. 枢轴点检测对比(标准 vs 实时)
|
||
2. 三角形检测对比(标准 vs 实时)
|
||
3. FLEXIBLE_ZONE 参数影响测试
|
||
|
||
---
|
||
|
||
## 实盘应用建议
|
||
|
||
### 步骤1:批量筛选(实时模式)
|
||
|
||
```bash
|
||
# 启用实时模式
|
||
# 编辑 triangle_config.py: REALTIME_MODE = True
|
||
|
||
python scripts/pipeline_converging_triangle.py
|
||
```
|
||
|
||
### 步骤2:人工复核
|
||
|
||
查看 `outputs/converging_triangles/report.md`,重点关注:
|
||
|
||
```markdown
|
||
### 强突破股票(向上)
|
||
|
||
| 股票 | 突破强度 | 候选枢轴点 | 建议 |
|
||
|------|---------|-----------|------|
|
||
| SH600000 | 0.68 | 否 | 可信度高 ✓ |
|
||
| SH600001 | 0.65 | 是(3个) | 需确认 ⚠️ |
|
||
```
|
||
|
||
- `候选枢轴点=否`:完全基于确认枢轴点,可信度高
|
||
- `候选枢轴点=是`:包含候选枢轴点,建议次日复核
|
||
|
||
### 步骤3:次日确认
|
||
|
||
对于包含候选枢轴点的股票:
|
||
- 次日重新运行检测
|
||
- 查看候选点是否转为确认点
|
||
- 确认三角形形态是否稳定
|
||
|
||
---
|
||
|
||
## 常见问题
|
||
|
||
### Q1: 实时模式会增加多少候选股票?
|
||
|
||
**A**: 通常增加10-20%。具体取决于:
|
||
- FLEXIBLE_ZONE 大小(越大,候选越多)
|
||
- 市场波动(波动大,候选点多)
|
||
- 检测参数(shrink_ratio 等)
|
||
|
||
### Q2: 候选枢轴点会导致误报吗?
|
||
|
||
**A**: 可能。候选枢轴点的"右边确认窗口"不完整,可能随后续数据变化。建议:
|
||
- 使用较小的 FLEXIBLE_ZONE(如3)
|
||
- 设置更严格的突破强度阈值(如 > 0.6)
|
||
- 次日复核确认
|
||
|
||
### Q3: 标准模式和实时模式可以同时运行吗?
|
||
|
||
**A**: 可以。两次运行:
|
||
1. 设置 `REALTIME_MODE=False`,运行一次(保存为 `all_results_standard.csv`)
|
||
2. 设置 `REALTIME_MODE=True`,运行一次(保存为 `all_results_realtime.csv`)
|
||
3. 对比两份结果,找出实时模式新增的候选
|
||
|
||
### Q4: 什么时候应该用标准模式?
|
||
|
||
**A**: 以下场景用标准模式:
|
||
- 历史回测和策略验证
|
||
- 生成研究报告
|
||
- 对质量要求极高的场景
|
||
- 不急于当日决策
|
||
|
||
---
|
||
|
||
## 配置示例
|
||
|
||
### 保守配置(低误报)
|
||
|
||
```python
|
||
REALTIME_MODE = True
|
||
FLEXIBLE_ZONE = 3
|
||
|
||
DETECTION_PARAMS = ConvergingTriangleParams(
|
||
shrink_ratio=0.5, # 更严格的收敛要求
|
||
break_tol=0.01, # 更明显的突破
|
||
vol_k=1.5, # 更强的放量要求
|
||
)
|
||
```
|
||
|
||
### 平衡配置(推荐)
|
||
|
||
```python
|
||
REALTIME_MODE = True
|
||
FLEXIBLE_ZONE = 5
|
||
|
||
DETECTION_PARAMS = ConvergingTriangleParams(
|
||
shrink_ratio=0.6,
|
||
break_tol=0.005,
|
||
vol_k=1.3,
|
||
)
|
||
```
|
||
|
||
### 激进配置(早发现)
|
||
|
||
```python
|
||
REALTIME_MODE = True
|
||
FLEXIBLE_ZONE = 7
|
||
|
||
DETECTION_PARAMS = ConvergingTriangleParams(
|
||
shrink_ratio=0.8, # 更宽松的收敛
|
||
break_tol=0.001, # 更敏感的突破
|
||
vol_k=1.2, # 更低的放量门槛
|
||
)
|
||
```
|
||
|
||
---
|
||
|
||
## 延伸阅读
|
||
|
||
- `docs/方案4-混合策略详解.md` - 完整技术说明
|
||
- `docs/枢轴点边界问题分析.md` - 边界盲区问题
|
||
- `scripts/test_realtime_mode.py` - 对比测试代码
|
||
|
||
---
|
||
|
||
## 总结
|
||
|
||
实时模式通过混合枢轴点检测策略,实现了质量和实时性的平衡:
|
||
|
||
- ✅ 无15天滞后,捕获最新突破
|
||
- ✅ 区分确认和候选枢轴点
|
||
- ✅ 灵活调整激进程度(FLEXIBLE_ZONE)
|
||
- ⚠️ 候选枢轴点需要人工或规则确认
|
||
|
||
**推荐用法**:
|
||
- 历史回测:`REALTIME_MODE=False`
|
||
- 实时选股:`REALTIME_MODE=True, FLEXIBLE_ZONE=5`
|
||
- 次日复核包含候选枢轴点的结果
|
||
|