technical-patterns-lab/docs/实时模式使用指南.md
褚宏光 6d545eb231 Enhance converging triangle detection with new features and documentation updates
- 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.
2026-01-26 16:21:36 +08:00

290 lines
6.5 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.

# 实时模式使用指南
快速上手方案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`
- 次日复核包含候选枢轴点的结果