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