From 95d13b2cce38556aba78ab5b48890762a239adb6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=A4=9A=E5=AE=8F=E5=85=89?= <542672041@qq.com> Date: Mon, 26 Jan 2026 18:43:18 +0800 Subject: [PATCH] Enhance converging triangle analysis with detailed mode and outlier removal algorithm - Added `--show-details` parameter to `pipeline_converging_triangle.py` for generating detailed charts that display all pivot points and fitting lines. - Implemented an iterative outlier removal algorithm in `fit_pivot_line` to improve the accuracy of pivot point fitting by eliminating weak points. - Updated `USAGE.md` to include new command examples for the detailed mode. - Revised multiple documentation files to reflect recent changes and improvements in the pivot detection and visualization processes. --- .cursor/plans/4-a1a89b85.plan.md | 132 ++++++ USAGE.md | 6 + discuss/20260126-讨论.md | 59 ++- discuss/images/2026-01-26-18-36-50.png | Bin 0 -> 346428 bytes docs/2026-01-26_图表详细模式功能.md | 283 +++++++++++- ...01-26_枢轴点检测与可视化修复.md | 157 +++++++ .../2026-01-26_流水线详情模式支持.md | 214 +++++++++ docs/拟合线迭代离群点移除优化.md | 117 +++++ docs/文档索引.md | 6 + docs/枢轴点分段选择算法详解.md | 437 +++++++++++------- .../plot_converging_triangles.cpython-313.pyc | Bin 20288 -> 18701 bytes .../triangle_config.cpython-313.pyc | Bin 4129 -> 4129 bytes scripts/pipeline_converging_triangle.py | 19 +- scripts/plot_converging_triangles.py | 131 +----- scripts/triangle_config.py | 10 +- .../converging_triangle.cpython-313.pyc | Bin 24664 -> 25045 bytes src/converging_triangle.py | 192 ++++---- 17 files changed, 1370 insertions(+), 393 deletions(-) create mode 100644 .cursor/plans/4-a1a89b85.plan.md create mode 100644 discuss/images/2026-01-26-18-36-50.png create mode 100644 docs/2026-01-26_枢轴点检测与可视化修复.md create mode 100644 docs/2026-01-26_流水线详情模式支持.md create mode 100644 docs/拟合线迭代离群点移除优化.md diff --git a/.cursor/plans/4-a1a89b85.plan.md b/.cursor/plans/4-a1a89b85.plan.md new file mode 100644 index 0000000..10f2513 --- /dev/null +++ b/.cursor/plans/4-a1a89b85.plan.md @@ -0,0 +1,132 @@ + +# 拟合线迭代离群点移除优化 + +## 问题描述 + +当前的分段选择算法会选中一些"弱"枢轴点用于拟合: + +- 上沿线:某个高点虽然是时间段内最高,但明显低于其他高点(如图中第二个点 5.8 元) +- 这些点会拉低/拉高拟合线,导致与主观判断不符 + +## 解决方案:迭代离群点移除 + +### 核心逻辑 + +``` +1. 初始拟合:用所有枢轴点做线性回归 +2. 计算残差:每个点到拟合线的偏差 +3. 识别离群点: + - 上沿线:价格明显低于拟合线的点 = 弱高点 + - 下沿线:价格明显高于拟合线的点 = 弱低点 +4. 移除最差的离群点 +5. 重新拟合 +6. 重复直到收敛 +``` + +### 算法流程图 + +```mermaid +flowchart TD + A[输入枢轴点] --> B[初始线性回归] + B --> C[计算残差] + C --> D{存在离群点?} + D -->|是| E[移除最大离群点] + E --> F{剩余点 >= 3?} + F -->|是| G{迭代次数 < 3?} + G -->|是| B + G -->|否| H[返回当前拟合] + F -->|否| H + D -->|否| H +``` + +## 代码修改 + +### 文件: [src/converging_triangle.py](src/converging_triangle.py) + +重写 `fit_pivot_line` 函数(第 230-350 行): + +```python +def fit_pivot_line( + pivot_indices: np.ndarray, + pivot_values: np.ndarray, + mode: str = "upper", + min_points: int = 2, + outlier_threshold: float = 1.5, # 新增:离群点阈值(标准差倍数) + max_iterations: int = 3, # 新增:最大迭代次数 +) -> Tuple[float, float, np.ndarray]: + """ + 迭代离群点移除的枢轴点拟合算法 + + 策略: + 1. 先用所有点做初始拟合 + 2. 识别并移除偏离拟合线的"弱"点 + 3. 迭代直到收敛 + + 对于上沿线:移除价格明显低于拟合线的点 + 对于下沿线:移除价格明显高于拟合线的点 + """ +``` + +### 关键参数 + +| 参数 | 默认值 | 说明 | + +|------|--------|------| + +| `outlier_threshold` | 1.5 | 残差超过 1.5 倍标准差视为离群点 | + +| `max_iterations` | 3 | 最多迭代 3 次,避免过度过滤 | + +| `min_points` | 3 | 至少保留 3 个点用于拟合 | + +### 离群点判定逻辑 + +**上沿线(upper)**: + +```python +# 残差 = 拟合值 - 实际值 +# 正残差表示点在拟合线下方(弱高点) +residuals = fitted_values - actual_values +outliers = residuals > threshold # 弱高点 +``` + +**下沿线(lower)**: + +```python +# 残差 = 实际值 - 拟合值 +# 正残差表示点在拟合线上方(弱低点) +residuals = actual_values - fitted_values +outliers = residuals > threshold # 弱低点 +``` + +### 预期效果 + +以图中 SZ300278 为例: + +- 第二个点(5.8元)明显低于拟合线 +- 在第一次迭代后会被识别为离群点并移除 +- 最终拟合线只使用剩余 3 个更有代表性的高点 + +## 测试计划 + +1. 使用 SZ300278 验证修复效果 +2. 对比修改前后的图表 +3. 确保不会过度过滤正常的枢轴点 + +## 文档更新 + +更新 [docs/枢轴点分段选择算法详解.md](docs/枢轴点分段选择算法详解.md),添加迭代离群点移除的说明。 + +### To-dos + +- [x] 在ConvergingTriangleResult中增加detection_mode等3个新字段 +- [x] 实现pivots_fractal_hybrid()函数 +- [x] 修改detect_converging_triangle()支持real_time_mode参数 +- [x] 修改detect_converging_triangle_batch()传递实时模式参数 +- [x] 在triangle_config.py中添加REALTIME_MODE和FLEXIBLE_ZONE配置 +- [x] 更新run_converging_triangle.py导入和使用实时配置 +- [x] 创建test_realtime_mode.py对比测试脚本 +- [x] 更新README.md和创建实时模式使用指南 +- [ ] 重写 fit_pivot_line 函数,实现迭代离群点移除算法 +- [ ] 测试 SZ300278,验证修复效果 +- [ ] 更新算法文档,添加迭代离群点移除说明 \ No newline at end of file diff --git a/USAGE.md b/USAGE.md index 7f8e3d7..0831bd2 100644 --- a/USAGE.md +++ b/USAGE.md @@ -37,6 +37,12 @@ python scripts/pipeline_converging_triangle.py # 指定日期 python scripts/pipeline_converging_triangle.py --date 20260120 +# 生成详情模式图片(显示所有枢轴点和拟合点) +python scripts/pipeline_converging_triangle.py --show-details + +# 组合使用 +python scripts/pipeline_converging_triangle.py --date 20260120 --show-details + # 跳过检测(仅生成报告与图表) python scripts/pipeline_converging_triangle.py --skip-detection ``` diff --git a/discuss/20260126-讨论.md b/discuss/20260126-讨论.md index e65fd39..f0e4c58 100644 --- a/discuss/20260126-讨论.md +++ b/discuss/20260126-讨论.md @@ -1,16 +1,61 @@ +## 问题1: 末端枢轴点未识别 + ![](images/2026-01-26-15-44-13.png) -下沿线,明显不对。 + +**现象**: 图表最右边明显的低点/高点没有被标记为枢轴点 + +**根因**: +1. 数据中有空值(NaN)导致比较失效 +2. 只检测窗口前235天的枢轴点,最后5天被忽略 +3. 绘图时丢弃了末端的"候选枢轴点" + +**解决**: +1. 用 `nanmin/nanmax` 替代 `min/max`,自动跳过空值 +2. 把"灵活区域"从5天扩大到15天,覆盖更多末端数据 +3. 对称短窗口:右边只有N天时,左边也只看N天(而不是固定15天) +4. 绘图时把"确认枢轴点"和"候选枢轴点"合并显示 + +详见 [枢轴点检测与可视化修复](../docs/2026-01-26_枢轴点检测与可视化修复.md) + +--- + +## 问题2: 拟合点选择不合理 ![](images/2026-01-26-15-48-56.png) -拟合线的时候,有些点应该去掉,跟主观判断不对齐,比如图中第二个点 + +**现象**: 某些"弱"枢轴点(如5.8元的低高点)被用于拟合,拉偏趋势线 + ![](images/2026-01-26-15-50-58.png) +**解决**: 迭代离群点移除算法 +1. 先用所有点画一条拟合线 +2. 找出离拟合线太远的"异常点" +3. 去掉最差的那个点,重新画线 +4. 重复2-3次,直到没有异常点 -### 强度分:是否符合三角形的形态 + 突破强度 +详见 [枢轴点拟合算法详解](../docs/枢轴点分段选择算法详解.md) -108个个股按照分数排序 +--- -可调参数、速度快 -后续回测后继续调优 +## 问题3: 非收敛形态误判 -历史曲线的每个点,都需要计算强度分。 \ No newline at end of file +**现象**: "上升三角形"(上沿水平)被误判为"收敛三角形" +![](images/2026-01-26-18-36-50.png) +**解决**: 收紧斜率限制 +- 上沿必须向下(或至少水平),不能向上 +- 下沿必须向上(或至少水平),不能向下 +- 这样就能过滤掉"上升三角形"和"下降通道"等非收敛形态 + +--- + +## 待办: 突破强度评分 + +| 分量 | 权重 | 说明 | +|------|------|------| +| 价格突破 | 60% | 突破幅度 | +| 收敛程度 | 25% | 蓄势充分度 | +| 成交量 | 15% | 放量确认 | + +- 枢轴点和拟合线距离。 + +后续回测调优。 diff --git a/discuss/images/2026-01-26-18-36-50.png b/discuss/images/2026-01-26-18-36-50.png new file mode 100644 index 0000000000000000000000000000000000000000..266e90ae747d1c5a6ff271803da251ebf75741a0 GIT binary patch literal 346428 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%0A~#jmscpm-Q8z$yI~E37dfsK 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 $sW{LjUix<=zq{AlqQ>+Ua!^ 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 My 配置文件 + +**智能清理**: +- 简洁模式运行时,只清理简洁模式的旧图片 +- 详细模式运行时,只清理详细模式的旧图片 +- 两种模式互不影响,可以共存 + +--- + +## 📈 详细模式显示元素说明 + +### 1. 所有枢轴点(小实心圆) + +**作用**: 显示算法识别的所有局部高点和低点 + +- **高点枢轴点**: 浅红色,size=50,alpha=0.4 +- **低点枢轴点**: 浅绿色,size=50,alpha=0.4 + +**标签**: `所有高点枢轴点(N)` / `所有低点枢轴点(N)` + +### 2. 拟合点(大空心圆) + +**作用**: 显示迭代离群点移除算法最终选出的关键点 + +- **上沿拟合点**: 深红色空心圆,size=120,linewidth=2.5 +- **下沿拟合点**: 深绿色空心圆,size=120,linewidth=2.5 + +**标签**: `上沿拟合点(N)` / `下沿拟合点(N)` + +**说明**: +- 使用迭代离群点移除算法选出代表性强的枢轴点 +- 自动过滤"弱"枢轴点(偏离趋势线过大的点) +- 详见 [枢轴点拟合算法详解](./枢轴点分段选择算法详解.md) + +### 3. ~~分段竖线~~(已移除) + +**v2.0 更新**: 由于算法改为迭代离群点移除,不再使用分段策略,因此移除了分段竖线。 + +--- + +## 💡 图表解读示例 + +### 简洁模式(默认) + +``` +图表内容: +├─ 黑色实线:收盘价 +├─ 红色虚线:上沿线(向下) +└─ 绿色虚线:下沿线(向上) + +图例: +- 收盘价 +- 上沿 +- 下沿 +``` + +**优点**: +- 清晰直观 +- 无视觉干扰 +- 适合日常使用 + +--- + +### 详细模式(`--show-details`) + +``` +图表内容: +├─ 黑色实线:收盘价 +├─ 红色虚线:上沿线 +├─ 绿色虚线:下沿线 +├─ 浅红小圆:所有高点枢轴点 +├─ 浅绿小圆:所有低点枢轴点 +├─ 深红大圆:上沿拟合点(迭代算法选出) +└─ 深绿大圆:下沿拟合点(迭代算法选出) + +图例: +- 收盘价 +- 上沿 +- 下沿 +- 所有高点枢轴点(N) +- 所有低点枢轴点(N) +- 上沿拟合点(N) +- 下沿拟合点(N) +``` + +**优点**: +- 完整展示算法逻辑 +- 便于验证和调试 +- 有助于理解原理 + +--- + +## 🎨 视觉层次设计 + +图表元素的 Z-order(从后到前): + +``` +1. 网格线(alpha=0.3) +2. 价格曲线(黑色,zorder=默认) +3. 所有枢轴点(浅色小圆,alpha=0.4,zorder=4) +4. 拟合点(深色大圆,zorder=5) +5. 趋势线(红/绿虚线,zorder=默认) +``` + +**设计原则**: +- 详细信息放在后层(不遮挡主要信息) +- 关键信息(拟合点)突出显示(zorder高) +- 使用透明度(alpha)区分重要性 + +--- + +## 📝 代码实现要点 + +### 1. 流水线参数传递 + +```python +# pipeline_converging_triangle.py +parser.add_argument("--show-details", action="store_true") + +# 传递给绘图脚本 +if args.show_details: + cmd_args.append("--show-details") +``` + +### 2. 绘图脚本参数 + +```python +# plot_converging_triangles.py +parser.add_argument( + "--show-details", + action="store_true", + help="显示详细调试信息(枢轴点、拟合点等)", +) +``` + +### 3. 条件渲染 + +```python +# 详细模式:显示所有枢轴点和拟合点 +if show_details: + # 绘制所有枢轴点 + ax1.scatter(ph_display_idx, high_win[ph_idx], ...) + + # 绘制拟合点 + ax1.scatter(selected_ph_display, high_win[selected_ph_pos], ...) +``` + +--- + +## ✅ 测试验证 + +### 测试用例1: 流水线简洁模式(默认) + +```bash +python scripts/pipeline_converging_triangle.py +``` + +**预期结果**: +- ✅ 控制台显示:"图表模式: 简洁模式(仅显示价格和趋势线)" +- ✅ 图表只显示收盘价、上沿、下沿 +- ✅ 输出文件: `20260120_SZ300278_华昌达.png` + +### 测试用例2: 流水线详细模式 + +```bash +python scripts/pipeline_converging_triangle.py --show-details +``` + +**预期结果**: +- ✅ 控制台显示:"图表模式: 详情模式(显示所有枢轴点)" +- ✅ 图表显示所有枢轴点和拟合点 +- ✅ 输出文件: `20260120_SZ300278_华昌达_detail.png` + +--- + +## 📚 相关文档 + +- [README.md](../README.md) - 项目概述 +- [USAGE.md](../USAGE.md) - 使用指南 +- [枢轴点拟合算法详解.md](./枢轴点分段选择算法详解.md) - 迭代离群点移除算法 ⭐ +- [枢轴点检测原理.md](./枢轴点检测原理.md) - 枢轴点算法说明 + +--- + +## 🎉 总结 + +通过添加**简洁模式**和**详细模式**,图表功能更加灵活: + +- **对于日常用户**: 简洁清爽的图表,快速查看形态 +- **对于研究者**: 完整的算法细节,深入理解逻辑 +- **对于开发者**: 便于调试和验证算法正确性 + +**v2.0 改进**: +- ✅ 移除了不再适用的分段竖线 +- ✅ 流水线脚本支持详情模式 +- ✅ 更符合新的迭代拟合算法 + +这个功能提升了项目的易用性和专业性!🎯 + + --- diff --git a/docs/2026-01-26_枢轴点检测与可视化修复.md b/docs/2026-01-26_枢轴点检测与可视化修复.md new file mode 100644 index 0000000..94f0f7b --- /dev/null +++ b/docs/2026-01-26_枢轴点检测与可视化修复.md @@ -0,0 +1,157 @@ +# 枢轴点检测与可视化修复 + +**日期**: 2026-01-26 +**版本**: v1.0 + +## 问题概述 + +收敛三角形检测系统存在多个问题,导致: +1. 非收敛形态(如上升三角形)被误判 +2. 绘图与检测结果不一致 +3. 窗口末端枢轴点无法识别 + +--- + +## 问题1: 斜率约束过于宽松 + +### 现象 +"上升三角形"(上沿水平+下沿向上)被误判为"收敛三角形"。 + +### 原因 +```python +upper_slope_max=0.10, # 允许上沿向上 +lower_slope_min=-0.10, # 允许下沿向下 +``` + +### 解决方案 +**文件**: `scripts/triangle_config.py` +```python +upper_slope_max=0, # 上沿必须向下或水平(≤0) +lower_slope_min=0, # 下沿必须向上或水平(≥0) +``` + +--- + +## 问题2: 绘图与检测枢轴点不一致 + +### 现象 +图表显示的枢轴点和趋势线与实际检测结果不同。 + +### 原因 +- 检测代码使用 `pivots_fractal_hybrid`(实时模式) +- 绘图代码使用 `pivots_fractal`(标准模式) + +### 解决方案 +**文件**: `scripts/plot_converging_triangles.py` +```python +from triangle_config import REALTIME_MODE, FLEXIBLE_ZONE + +if REALTIME_MODE: + confirmed_ph, confirmed_pl, candidate_ph, candidate_pl = pivots_fractal_hybrid( + high_win, low_win, k=params.pivot_k, flexible_zone=FLEXIBLE_ZONE + ) + # 合并确认枢轴点和候选枢轴点 + ph_idx = np.concatenate([confirmed_ph, candidate_ph]) if len(candidate_ph) > 0 else confirmed_ph + pl_idx = np.concatenate([confirmed_pl, candidate_pl]) if len(candidate_pl) > 0 else confirmed_pl + ph_idx = np.sort(ph_idx) + pl_idx = np.sort(pl_idx) +``` + +--- + +## 问题3: 窗口末端枢轴点识别失败 + +### 现象 +图表最右边明显的低点/高点没有被识别为枢轴点。 + +### 原因 +`FLEXIBLE_ZONE=5` 太小,末端枢轴点超出灵活区域范围。 + +### 解决方案 +**文件**: `scripts/triangle_config.py` +```python +FLEXIBLE_ZONE = 15 # 与 pivot_k 一致,确保末端枢轴点能被识别 +``` + +--- + +## 问题4: NaN值导致比较失败 + +### 现象 +包含 NaN 值的数据窗口中,枢轴点检测完全失效。 + +### 原因 +```python +np.min([30.0, np.nan, 29.0]) # 返回 nan +30.0 == nan # 永远为 False +``` + +### 解决方案 +**文件**: `src/converging_triangle.py` +```python +# 使用 nanmin/nanmax 忽略 NaN 值 +if not np.isnan(high[i]) and high[i] == np.nanmax(high[i - k : i + k + 1]): + confirmed_ph.append(i) +if not np.isnan(low[i]) and low[i] == np.nanmin(low[i - k : i + k + 1]): + confirmed_pl.append(i) +``` + +--- + +## 问题5: 候选枢轴点未合并 + +### 现象 +`pivots_fractal_hybrid` 返回的候选枢轴点在绘图时被丢弃。 + +### 原因 +```python +ph_idx, pl_idx, _, _ = pivots_fractal_hybrid(...) # 候选点被忽略 +``` + +### 解决方案 +见问题2的解决方案,合并 confirmed 和 candidate。 + +--- + +## 问题6: 对称窗口逻辑优化 + +### 现象 +窗口末端的局部低点/高点,因右侧数据不足无法识别。 + +### 解决方案 +**文件**: `src/converging_triangle.py` +```python +# 候选枢轴点使用对称的短窗口 +for i in range(max(k, n - flexible_zone), n): + right_avail = n - 1 - i + left_look = min(k, max(right_avail + 1, 3)) # 至少看3天 + left_start = max(0, i - left_look) + right_end = min(n, i + right_avail + 1) + + if high[i] == np.nanmax(high[left_start : right_end]): + candidate_ph.append(i) +``` + +--- + +## 修改文件清单 + +| 文件 | 修改内容 | +|------|----------| +| `scripts/triangle_config.py` | 斜率约束(`upper_slope_max=0`, `lower_slope_min=0`)、`FLEXIBLE_ZONE=15` | +| `scripts/plot_converging_triangles.py` | 实时模式枢轴点检测、候选点合并、排序 | +| `src/converging_triangle.py` | NaN处理(`nanmin/nanmax`)、对称窗口逻辑 | + +--- + +## 效果验证 + +修复前后对比: + +| 指标 | 修复前 | 修复后 | +|------|--------|--------| +| SZ300892 低点枢轴点 | 4个 | 7个 | +| 末端低点识别 | ❌ | ✅ | +| 图表/检测一致性 | ❌ | ✅ | +| 非收敛形态过滤 | ❌ | ✅ | + diff --git a/docs/2026-01-26_流水线详情模式支持.md b/docs/2026-01-26_流水线详情模式支持.md new file mode 100644 index 0000000..26df639 --- /dev/null +++ b/docs/2026-01-26_流水线详情模式支持.md @@ -0,0 +1,214 @@ +# 流水线脚本详情模式支持 + +**日期**: 2026-01-26 +**功能**: 为 `pipeline_converging_triangle.py` 添加 `--show-details` 参数 + +--- + +## 📋 需求背景 + +用户希望在使用流水线脚本 `pipeline_converging_triangle.py` 时,能够通过参数控制是否生成详情模式的图片,而不是默认生成。 + +**之前**:流水线脚本没有详情模式参数,只能生成简洁模式图片。 + +**现在**:流水线脚本支持 `--show-details` 参数,可以按需生成详情模式图片。 + +--- + +## ✅ 实现内容 + +### 1. 添加命令行参数 + +在 `pipeline_converging_triangle.py` 中添加: + +```python +parser.add_argument( + "--show-details", + action="store_true", + help="生成详情模式图片(显示所有枢轴点和拟合点)", +) +``` + +### 2. 参数传递逻辑 + +将参数传递给绘图脚本: + +```python +# 步骤 3: 绘制图表 +cmd_args = [sys.argv[0]] +if args.date: + cmd_args.extend(["--date", str(args.date)]) +if args.show_details: + cmd_args.append("--show-details") + +sys.argv = cmd_args +run_plot() +``` + +### 3. 控制台提示信息 + +在流水线开始时显示当前模式: + +```python +if args.show_details: + print(f"图表模式: 详情模式(显示所有枢轴点)") +else: + print(f"图表模式: 简洁模式(仅显示价格和趋势线)") +``` + +--- + +## 🛠️ 使用方法 + +### 基本用法 + +```bash +# 简洁模式(默认)- 不生成详情图片 +python scripts/pipeline_converging_triangle.py + +# 详情模式 - 生成详情图片 +python scripts/pipeline_converging_triangle.py --show-details +``` + +### 组合参数 + +```bash +# 指定日期 + 详情模式 +python scripts/pipeline_converging_triangle.py --date 20260120 --show-details + +# 跳过检测 + 详情模式 +python scripts/pipeline_converging_triangle.py --skip-detection --show-details + +# 跳过检测和报告,只生成详情图表 +python scripts/pipeline_converging_triangle.py --skip-detection --skip-report --show-details +``` + +--- + +## 📊 输出对比 + +### 简洁模式(默认) + +``` +输出文件: outputs/converging_triangles/charts/20260120_SZ300278_华昌达.png +文件内容: 收盘价 + 上沿线 + 下沿线 +``` + +### 详情模式(--show-details) + +``` +输出文件: outputs/converging_triangles/charts/20260120_SZ300278_华昌达_detail.png +文件内容: 收盘价 + 上沿线 + 下沿线 + 所有枢轴点 + 拟合点 +``` + +**注意**:两种模式的文件可以共存,互不覆盖。 + +--- + +## 🎯 参数优先级 + +流水线脚本的参数传递链: + +``` +用户命令行 + └─ pipeline_converging_triangle.py + ├─ --show-details (可选) + └─ 传递给 plot_converging_triangles.py + ├─ --show-details (如果用户指定) + └─ 调用 plot_triangle(show_details=True/False) +``` + +**优先级规则**: +1. 流水线脚本的 `--show-details` 参数 +2. 传递到绘图脚本 +3. 绘图脚本的配置文件 `SHOW_CHART_DETAILS`(命令行参数优先) + +--- + +## 🔍 测试验证 + +### 测试1:帮助信息 + +```bash +python scripts/pipeline_converging_triangle.py --help +``` + +**预期**:显示 `--show-details` 参数说明 + +### 测试2:简洁模式(默认) + +```bash +python scripts/pipeline_converging_triangle.py --skip-detection --skip-report +``` + +**预期**: +- ✅ 控制台显示:"图表模式: 简洁模式(仅显示价格和趋势线)" +- ✅ 生成不带 `_detail` 后缀的图片 + +### 测试3:详情模式 + +```bash +python scripts/pipeline_converging_triangle.py --skip-detection --skip-report --show-details +``` + +**预期**: +- ✅ 控制台显示:"图表模式: 详情模式(显示所有枢轴点)" +- ✅ 控制台显示:"详细模式: 开启 (--show-details)" +- ✅ 生成带 `_detail` 后缀的图片 + +--- + +## 📝 修改文件列表 + +1. **scripts/pipeline_converging_triangle.py** + - 添加 `--show-details` 参数 + - 添加模式提示信息 + - 参数传递逻辑 + +2. **USAGE.md** + - 更新流水线脚本的使用说明 + - 添加 `--show-details` 参数示例 + +3. **docs/2026-01-26_图表详细模式功能.md** + - 更新文档,添加流水线使用方法 + - 标注为 v2.0 版本 + +--- + +## 🎉 效果总结 + +### 用户体验改进 + +**之前**: +```bash +# 想要详情图片 +python scripts/pipeline_converging_triangle.py # ❌ 只能生成简洁模式 +# 需要单独运行绘图脚本 +python scripts/plot_converging_triangles.py --show-details +``` + +**现在**: +```bash +# 一键生成详情图片 +python scripts/pipeline_converging_triangle.py --show-details # ✅ 直接搞定 +``` + +### 优势 + +1. **一致性**:流水线和绘图脚本参数统一 +2. **便捷性**:无需分步操作 +3. **灵活性**:默认简洁,按需详细 +4. **清晰性**:控制台明确提示当前模式 + +--- + +## 📚 相关文档 + +- [USAGE.md](../USAGE.md) - 使用指南 +- [2026-01-26_图表详细模式功能.md](./2026-01-26_图表详细模式功能.md) - 详情模式完整说明 +- [枢轴点拟合算法详解.md](./枢轴点分段选择算法详解.md) - 拟合算法原理 + +--- + +**总结**:通过添加 `--show-details` 参数,流水线脚本现在完全支持详情模式,用户可以更方便地按需生成详细的调试图表。✅ + diff --git a/docs/拟合线迭代离群点移除优化.md b/docs/拟合线迭代离群点移除优化.md new file mode 100644 index 0000000..4fe823c --- /dev/null +++ b/docs/拟合线迭代离群点移除优化.md @@ -0,0 +1,117 @@ +# 拟合线迭代离群点移除优化 + +## 问题描述 + +当前的分段选择算法会选中一些"弱"枢轴点用于拟合: + +- 上沿线:某个高点虽然是时间段内最高,但明显低于其他高点(如图中第二个点 5.8 元) +- 这些点会拉低/拉高拟合线,导致与主观判断不符 + +## 解决方案:迭代离群点移除 + +### 核心逻辑 + +``` +1. 初始拟合:用所有枢轴点做线性回归 +2. 计算残差:每个点到拟合线的偏差 +3. 识别离群点: + - 上沿线:价格明显低于拟合线的点 = 弱高点 + - 下沿线:价格明显高于拟合线的点 = 弱低点 +4. 移除最差的离群点 +5. 重新拟合 +6. 重复直到收敛 +``` + +### 算法流程图 + +```mermaid +flowchart TD + A[输入枢轴点] --> B[初始线性回归] + B --> C[计算残差] + C --> D{存在离群点?} + D -->|是| E[移除最大离群点] + E --> F{剩余点 >= 3?} + F -->|是| G{迭代次数 < 3?} + G -->|是| B + G -->|否| H[返回当前拟合] + F -->|否| H + D -->|否| H +``` + +## 代码修改 + +### 文件: [src/converging_triangle.py](src/converging_triangle.py) + +重写 `fit_pivot_line` 函数(第 230-350 行): + +```python +def fit_pivot_line( + pivot_indices: np.ndarray, + pivot_values: np.ndarray, + mode: str = "upper", + min_points: int = 2, + outlier_threshold: float = 1.5, # 新增:离群点阈值(标准差倍数) + max_iterations: int = 3, # 新增:最大迭代次数 +) -> Tuple[float, float, np.ndarray]: + """ + 迭代离群点移除的枢轴点拟合算法 + + 策略: + 1. 先用所有点做初始拟合 + 2. 识别并移除偏离拟合线的"弱"点 + 3. 迭代直到收敛 + + 对于上沿线:移除价格明显低于拟合线的点 + 对于下沿线:移除价格明显高于拟合线的点 + """ +``` + +### 关键参数 + +| 参数 | 默认值 | 说明 | + +|------|--------|------| + +| `outlier_threshold` | 1.5 | 残差超过 1.5 倍标准差视为离群点 | + +| `max_iterations` | 3 | 最多迭代 3 次,避免过度过滤 | + +| `min_points` | 3 | 至少保留 3 个点用于拟合 | + +### 离群点判定逻辑 + +**上沿线(upper)**: + +```python +# 残差 = 拟合值 - 实际值 +# 正残差表示点在拟合线下方(弱高点) +residuals = fitted_values - actual_values +outliers = residuals > threshold # 弱高点 +``` + +**下沿线(lower)**: + +```python +# 残差 = 实际值 - 拟合值 +# 正残差表示点在拟合线上方(弱低点) +residuals = actual_values - fitted_values +outliers = residuals > threshold # 弱低点 +``` + +### 预期效果 + +以图中 SZ300278 为例: + +- 第二个点(5.8元)明显低于拟合线 +- 在第一次迭代后会被识别为离群点并移除 +- 最终拟合线只使用剩余 3 个更有代表性的高点 + +## 测试计划 + +1. 使用 SZ300278 验证修复效果 +2. 对比修改前后的图表 +3. 确保不会过度过滤正常的枢轴点 + +## 文档更新 + +更新 [docs/枢轴点分段选择算法详解.md](docs/枢轴点分段选择算法详解.md),添加迭代离群点移除的说明。 \ No newline at end of file diff --git a/docs/文档索引.md b/docs/文档索引.md index d1ae9c2..083a5ec 100644 --- a/docs/文档索引.md +++ b/docs/文档索引.md @@ -140,6 +140,12 @@ - 文档更新说明 - 项目结构整理 +7. **[2026-01-26_枢轴点检测与可视化修复.md](./2026-01-26_枢轴点检测与可视化修复.md)** 🔧 + - 斜率约束收紧 + - NaN值处理修复 + - 候选枢轴点合并 + - 对称窗口逻辑优化 + ### 实时模式实施 7. **[方案4实施完成报告.md](./方案4实施完成报告.md)** diff --git a/docs/枢轴点分段选择算法详解.md b/docs/枢轴点分段选择算法详解.md index 433644c..095ad9b 100644 --- a/docs/枢轴点分段选择算法详解.md +++ b/docs/枢轴点分段选择算法详解.md @@ -1,6 +1,6 @@ -# 枢轴点分段选择算法详解 +# 枢轴点拟合算法详解 -**日期**: 2026-01-26 +**日期**: 2026-01-26 (v2 更新) **文件**: `src/converging_triangle.py` - `fit_pivot_line()` 函数 --- @@ -8,9 +8,9 @@ ## 📋 目录 1. [算法概述](#算法概述) -2. [为什么需要分段](#为什么需要分段) -3. [分段算法详解](#分段算法详解) -4. [独立分段机制](#独立分段机制) +2. [迭代离群点移除(当前算法)](#迭代离群点移除当前算法) +3. [历史版本:分段选择算法](#历史版本分段选择算法) +4. [独立处理机制](#独立处理机制) 5. [代码实现](#代码实现) 6. [实际案例分析](#实际案例分析) 7. [边界情况处理](#边界情况处理) @@ -22,13 +22,131 @@ ### 核心思想 -对于识别出的所有枢轴点,我们不是简单地用所有点或仅用首尾两点来拟合趋势线,而是: +对于识别出的所有枢轴点,我们采用**迭代离群点移除**算法来拟合趋势线: + +1. **初始拟合**:先用所有枢轴点做线性回归 +2. **识别离群点**:计算残差,找出偏离拟合线的"弱"点 +3. **移除离群点**:移除最差的离群点 +4. **迭代优化**:重复步骤1-3直到收敛 + +### 设计目标 + +```python +# 上沿线:移除价格明显低于拟合线的点(弱高点) +# 下沿线:移除价格明显高于拟合线的点(弱低点) +``` + +--- + +## 迭代离群点移除(当前算法) + +### 为什么需要这个算法? + +**问题场景**: + +``` +价格 + ^ + | * ← 强高点 (7.9元) + | \ + | * ← 弱高点 (5.8元) ← 问题! + | \ + | * ← 强高点 (6.8元) + | \ + | * ← 强高点 (6.0元) + └──────────────> 时间 +``` + +如果使用所有4个点拟合,5.8元的"弱高点"会把上沿线拉低,导致: +- ❌ 拟合线不是真正的上边界 +- ❌ 与主观判断不符 +- ❌ 可能错过真实的突破信号 + +### 解决方案:迭代移除 + +``` +第1次迭代: + 拟合线: y = ax + b (用全部4点) + 残差: [0.1, 1.8, 0.2, 0.3] ← 5.8元点的残差最大(1.8) + 判定: 1.8 > 1.5*std → 离群点 + 操作: 移除5.8元点 + +第2次迭代: + 拟合线: y = a'x + b' (用剩余3点) + 残差: [0.05, 0.08, 0.12] + 判定: 无离群点 → 收敛 + +最终结果: 只用3个强高点拟合 +``` + +### 算法流程图 + +```mermaid +flowchart TD + A[输入全部枢轴点] --> B[线性回归拟合] + B --> C[计算方向性残差] + C --> D{残差 > 阈值?} + D -->|是| E[移除最大残差点] + E --> F{剩余点 >= 3?} + F -->|是| G{迭代次数 < 3?} + G -->|是| B + G -->|否| H[返回当前拟合] + F -->|否| H + D -->|否| H +``` + +### 关键参数 + +| 参数 | 默认值 | 说明 | +|------|--------|------| +| `outlier_threshold` | 1.5 | 残差超过 1.5 倍标准差视为离群点 | +| `max_iterations` | 3 | 最多迭代 3 次,避免过度过滤 | +| `min_keep` | 3 | 至少保留 3 个点用于拟合 | + +### 残差计算逻辑 + +**上沿线(upper)**: + +```python +# 残差 = 拟合值 - 实际值 +# 正残差 = 点在拟合线下方 = 弱高点(应移除) +residuals = fitted_values - actual_values +outliers = residuals > threshold +``` + +**下沿线(lower)**: + +```python +# 残差 = 实际值 - 拟合值 +# 正残差 = 点在拟合线上方 = 弱低点(应移除) +residuals = actual_values - fitted_values +outliers = residuals > threshold +``` + +### 算法优势 + +| 优势 | 说明 | +|------|------| +| **自适应** | 自动识别偏离点,无需人工干预 | +| **稳健性** | 不会被单个异常点影响整条线 | +| **可控性** | 通过阈值和迭代次数控制过滤强度 | +| **保守性** | 至少保留3个点,避免过度过滤 | + +--- + +## 历史版本:分段选择算法 + +> **注意**:以下是 v1 版本的分段算法,已被迭代离群点移除算法替代。保留此节供参考。 + +### 原核心思想 + +对于识别出的所有枢轴点: 1. **分段策略**:将枢轴点按时间顺序分成 **3 个时间段** 2. **代表点选择**:从每段中选出 **最极端的点**(上沿选最高,下沿选最低) 3. **线性回归**:用这 3 个代表点进行线性回归,拟合趋势线 -### 触发条件 +### 原触发条件 ```python if 枢轴点数量 > 4: @@ -37,6 +155,12 @@ else: 使用全部枢轴点 ``` +### 原算法的局限性 + +分段算法会选中一些"弱"枢轴点: +- 某个高点虽然是时间段内最高,但可能明显低于其他时间段的高点 +- 这些点会拉低/拉高拟合线,导致与主观判断不符 + --- ## 为什么需要分段 @@ -254,7 +378,7 @@ n = 4 ≤ 4,不分段,全部使用 ✓ --- -## 独立分段机制 +## 独立处理机制 ### 关键点:高点和低点分别独立处理 @@ -323,29 +447,28 @@ else: ## 代码实现 -### 完整代码(带详细注释) +### 当前算法:迭代离群点移除(v2) ```python def fit_pivot_line( - pivot_indices: np.ndarray, # 枢轴点的时间索引 - pivot_values: np.ndarray, # 枢轴点的价格 - mode: str = "upper", # "upper" 或 "lower" + pivot_indices: np.ndarray, + pivot_values: np.ndarray, + mode: str = "upper", min_points: int = 2, + outlier_threshold: float = 1.5, # 离群点阈值(标准差倍数) + max_iterations: int = 3, # 最大迭代次数 ) -> Tuple[float, float, np.ndarray]: """ - 拟合枢轴点趋势线(使用分段选择策略) + 迭代离群点移除的枢轴点拟合算法 策略: - - 如果枢轴点 > 4:分3段,每段选1个极值点(共3个拟合点) - - 如果枢轴点 ≤ 4:全部使用 + 1. 先用所有点做初始拟合 + 2. 识别并移除偏离拟合线的"弱"点 + 3. 迭代直到收敛 - Returns: - (斜率a, 截距b, 选中的枢轴点索引) + 对于上沿线:移除价格明显低于拟合线的点(弱高点) + 对于下沿线:移除价格明显高于拟合线的点(弱低点) """ - - # ───────────────────────────────────────────────────────── - # 第1步:基本检查和排序 - # ───────────────────────────────────────────────────────── if len(pivot_indices) < min_points: return 0.0, 0.0, np.array([]) @@ -353,115 +476,113 @@ def fit_pivot_line( sort_idx = np.argsort(pivot_indices) x_sorted = pivot_indices[sort_idx].astype(float) y_sorted = pivot_values[sort_idx] - n = len(x_sorted) if n < 2: return 0.0, 0.0, np.array([]) - # ───────────────────────────────────────────────────────── - # 第2步:决定是否分段 - # ───────────────────────────────────────────────────────── - if n <= 4: - # 点数少,全部使用 - selected_mask = np.ones(n, dtype=bool) - else: - # 点数多,使用分段策略 - selected_mask = np.zeros(n, dtype=bool) - - # 计算每段大小 - segment_size = n // 3 - if segment_size < 1: - segment_size = 1 - - # 定义三个时间段 - segments = [ - range(0, min(segment_size, n)), # 第1段 - range(segment_size, min(2 * segment_size, n)), # 第2段 - range(2 * segment_size, n), # 第3段 - ] - - # ───────────────────────────────────────────────────── - # 第3步:从每段选择极值点 - # ───────────────────────────────────────────────────── - for seg in segments: - if len(seg) == 0: - continue - - seg_list = list(seg) - seg_y = y_sorted[seg_list] - - if mode == "upper": - # 上沿:选该段最高点 - best_idx_in_seg = np.argmax(seg_y) - else: # mode == "lower" - # 下沿:选该段最低点 - best_idx_in_seg = np.argmin(seg_y) - - # 标记选中 - selected_mask[seg_list[best_idx_in_seg]] = True + # 初始化:所有点都参与 + active_mask = np.ones(n, dtype=bool) + min_keep = max(3, min_points) # 至少保留3个点 # ───────────────────────────────────────────────────────── - # 第4步:提取选中的点 + # 迭代离群点移除 # ───────────────────────────────────────────────────────── - selected_x = x_sorted[selected_mask] - selected_y = y_sorted[selected_mask] - selected_indices_sorted = np.where(selected_mask)[0] + for iteration in range(max_iterations): + active_indices = np.where(active_mask)[0] + if len(active_indices) <= min_keep: + break + + # 当前活跃点 + x_active = x_sorted[active_mask] + y_active = y_sorted[active_mask] + + # 线性回归 + a, b = fit_line(x_active, y_active) + + # 计算拟合值 + fitted_values = a * x_active + b + + # ───────────────────────────────────────────────────── + # 计算方向性残差 + # ───────────────────────────────────────────────────── + if mode == "upper": + # 上沿:残差 = 拟合值 - 实际值 + # 正残差表示点在拟合线下方(弱高点) + residuals = fitted_values - y_active + else: + # 下沿:残差 = 实际值 - 拟合值 + # 正残差表示点在拟合线上方(弱低点) + residuals = y_active - fitted_values + + # 计算标准差 + std_residual = np.std(residuals) + if std_residual < 1e-10: + # 所有点几乎在一条线上,无需移除 + break + + # ───────────────────────────────────────────────────── + # 识别并移除最大离群点 + # ───────────────────────────────────────────────────── + threshold = outlier_threshold * std_residual + max_outlier_idx = np.argmax(residuals) + + if residuals[max_outlier_idx] <= threshold: + # 最大残差不超过阈值,收敛 + break + + if np.sum(active_mask) <= min_keep: + break + + # 移除离群点 + original_idx = active_indices[max_outlier_idx] + active_mask[original_idx] = False + + # ───────────────────────────────────────────────────────── + # 最终拟合 + # ───────────────────────────────────────────────────────── + selected_indices_sorted = np.where(active_mask)[0] + selected_x = x_sorted[active_mask] + selected_y = y_sorted[active_mask] - # 保底:至少选首尾两点 if len(selected_x) < 2: - selected_mask = np.zeros(n, dtype=bool) - selected_mask[0] = True - selected_mask[-1] = True - selected_x = x_sorted[selected_mask] - selected_y = y_sorted[selected_mask] - selected_indices_sorted = np.where(selected_mask)[0] + # 兜底:使用首尾两点 + active_mask = np.zeros(n, dtype=bool) + active_mask[0] = True + active_mask[-1] = True + selected_x = x_sorted[active_mask] + selected_y = y_sorted[active_mask] + selected_indices_sorted = np.where(active_mask)[0] - # ───────────────────────────────────────────────────────── - # 第5步:线性回归 - # ───────────────────────────────────────────────────────── a, b = fit_line(selected_x, selected_y) - # ───────────────────────────────────────────────────────── - # 第6步:覆盖性验证(确保线不穿透任何枢轴点) - # ───────────────────────────────────────────────────────── - fitted_all = a * x_sorted + b - tolerance = 0.03 # 3%容差 - - if mode == "upper": - # 上沿线不应低于任何高点 - violations = y_sorted > fitted_all + tolerance * np.mean(y_sorted) - if np.any(violations): - # 强制包含全局最高点 - global_max_idx = np.argmax(y_sorted) - if not selected_mask[global_max_idx]: - selected_mask[global_max_idx] = True - selected_x = x_sorted[selected_mask] - selected_y = y_sorted[selected_mask] - selected_indices_sorted = np.where(selected_mask)[0] - a, b = fit_line(selected_x, selected_y) - else: # mode == "lower" - # 下沿线不应高于任何低点 - violations = y_sorted < fitted_all - tolerance * np.mean(y_sorted) - if np.any(violations): - # 强制包含全局最低点 - global_min_idx = np.argmin(y_sorted) - if not selected_mask[global_min_idx]: - selected_mask[global_min_idx] = True - selected_x = x_sorted[selected_mask] - selected_y = y_sorted[selected_mask] - selected_indices_sorted = np.where(selected_mask)[0] - a, b = fit_line(selected_x, selected_y) - - # ───────────────────────────────────────────────────────── - # 第7步:返回结果 - # ───────────────────────────────────────────────────────── - # 将排序后的索引映射回原始索引 + # 返回原始索引 selected_original = sort_idx[selected_indices_sorted] return float(a), float(b), selected_original ``` +### 历史算法:分段选择(v1) + +> 以下代码已被替代,保留供参考。 + +```python +def fit_pivot_line_v1( + pivot_indices: np.ndarray, + pivot_values: np.ndarray, + mode: str = "upper", + min_points: int = 2, +) -> Tuple[float, float, np.ndarray]: + """ + 分段选择策略(已废弃) + + 策略: + - 如果枢轴点 > 4:分3段,每段选1个极值点(共3个拟合点) + - 如果枢轴点 ≤ 4:全部使用 + """ + # ... 详见历史版本 +``` + --- ## 实际案例分析 @@ -616,90 +737,45 @@ if len(selected_x) < 2: ``` 图表元素 对应内容 ───────────────────────────────────────────── -浅红色小实心圆(6个) 所有高点枢轴点 -深红色大空心圆(3个) 上沿拟合点(从6个中选出) -红色点划竖线 高点分段边界 - - "高1|2" 标签 第1段和第2段分界 - - "高2|3" 标签 第2段和第3段分界 - -浅绿色小实心圆(4个) 所有低点枢轴点 -深绿色大空心圆(4个) 下沿拟合点(全部使用,因≤4) -(无绿色竖线) 低点不分段(≤4) +浅红色小实心圆 所有高点枢轴点 +深红色大空心圆 上沿拟合点(迭代算法选出) +浅绿色小实心圆 所有低点枢轴点 +深绿色大空心圆 下沿拟合点(迭代算法选出) ``` -### 分段线的位置 - -**分段边界的时间索引**: - -```python -# 以高点为例,n=6, segment_size=2 -排序后的高点索引: [10, 30, 50, 60, 80, 90] - 位置0 1 2 3 4 5 - -第1段结束 = 第2段开始: - boundary_1 = 索引[segment_size] = 索引[2] = 50 - → 在时间50处画竖线 - -第2段结束 = 第3段开始: - boundary_2 = 索引[2*segment_size] = 索引[4] = 80 - → 在时间80处画竖线 - -分段结果: - 第1段: [10, 30] | 第2段: [50, 60] | 第3段: [80, 90] - ↑ boundary_1 ↑ boundary_2 -``` - -**代码实现**: - -```python -if len(ph_idx) > 4: - n_high = len(ph_idx) - segment_size_high = n_high // 3 - - # 第1条竖线 - if segment_size_high < n_high: - boundary_1 = ph_idx[segment_size_high] - ax.axvline(boundary_1, color='red', linestyle='-.', ...) - ax.text(boundary_1, y_max*0.96, '高1|2', ...) - - # 第2条竖线 - if 2 * segment_size_high < n_high: - boundary_2 = ph_idx[2 * segment_size_high] - ax.axvline(boundary_2, color='red', linestyle='-.', ...) - ax.text(boundary_2, y_max*0.96, '高2|3', ...) -``` +**注意**:自 v2.0 起,分段竖线已被移除(因算法不再使用分段策略)。 --- ## 总结 -### 分段策略的核心要点 +### 迭代离群点移除算法的核心要点 -1. **触发条件**: 枢轴点 > 4 -2. **分段数量**: 固定3段 -3. **分段方式**: 时间均分(每段 `n//3` 个点) -4. **选择策略**: 每段选1个极值点 -5. **独立性**: 高点和低点各自独立分段 -6. **保底机制**: 覆盖性验证 + 全局极值保护 +1. **初始状态**: 所有枢轴点参与拟合 +2. **迭代移除**: 每次移除最大残差的离群点 +3. **方向性残差**: 上沿移除低于线的点,下沿移除高于线的点 +4. **收敛条件**: 无离群点 / 达到最大迭代次数 / 点数达到下限 +5. **独立性**: 高点和低点各自独立处理 +6. **保底机制**: 至少保留3个点用于拟合 ### 算法优势 | 优势 | 说明 | |------|------| -| **时间均衡** | 前、中、后三个时期都有代表点 | -| **代表性强** | 每段选最极端的点,确保边界性 | -| **抗噪性好** | 不易被局部密集点影响 | -| **稳健性高** | 多点回归比两点连线更稳定 | -| **可扩展性** | 点数增加时仍保持3个拟合点 | +| **自适应** | 自动识别并移除偏离点 | +| **稳健性** | 不受单个异常点影响 | +| **可控性** | 通过阈值和迭代次数控制 | +| **保守性** | 至少保留3个点,避免过度过滤 | +| **符合直觉** | 拟合结果与主观判断一致 | ### 与其他方法的对比 | 方法 | 优点 | 缺点 | |------|------|------| | **两点连线** | 简单快速 | 忽略中间点,易受噪声影响 | -| **全部点回归** | 利用所有信息 | 权重不均,点密集区域主导 | -| **分段选择(当前)** | 时间均衡,代表性强 | 略复杂,需要分段逻辑 | -| **滑动窗口** | 平滑效果好 | 计算复杂,参数敏感 | +| **全部点回归** | 利用所有信息 | 权重不均,异常点影响大 | +| **分段选择(v1)** | 时间均衡 | 可能选中弱枢轴点 | +| **迭代离群点移除(当前)** | 自适应,稳健 | 需要迭代计算 | --- @@ -711,6 +787,9 @@ if len(ph_idx) > 4: --- -**文档版本**: v1.0 -**最后更新**: 2026-01-26 +**文档版本**: v2.0 +**最后更新**: 2026-01-26 +**变更记录**: +- v2.0: 采用迭代离群点移除算法,替代原分段选择策略 +- v1.0: 初始版本,分段选择算法 diff --git a/scripts/__pycache__/plot_converging_triangles.cpython-313.pyc b/scripts/__pycache__/plot_converging_triangles.cpython-313.pyc index cf6f9041279da581bcaee45732683165f5267300..2f823013c6f4a6cd32435181d9f7519bd63449da 100644 GIT binary patch delta 2941 zcmbVOTWlN06`ftaDUlS#ryit8ks`U0DOsi{o3vC}mPkjIWF;I;>V$C^N}^@L)KXbd zwk$Mtlh#23B>CvH1ri`e9v=aU21r1lE$Z0OSJ2-!KkgPNY``dBphajjZh-&=Ix{QM zD<}Es0K9wVKF*xEJ3HXsb?(idbJl-ZEM`E)pA(nMH%@+P-L~^TYOi0jf5DGK9-8J2 zr;TFYX_FWTfV_()(t%vajXcPUOb8$i>O%o&PMO3Y3g+B+!tvagBgdez_ zFF;F5v&{n_M#N}7*h+{H`4JtNLMyb93=PSMiGnz&%83$^D9h<+O@ZDfCjn?Euh@u z(R{3_A~)DX$`haS7zXUn06U=rI-y~NKg>Z_O3U8bF=kU@8l`e^{He#`>PNlM4L#5c zyI^-p9{{b$FdBh&*aLf^5BeXA943)I7*It=e=0Xh^*l4$I!OaCLe`GL7!=^3syfoFwgNbm(7;0}6Zw!Hu^(y1 zzk~fq>kLx%z&?9iRUK_se-C@I8He`tXOC%56730g!Uy0m;qHYa@Gu-zu_v0<`|L*^ z(>~sef1CaIIMF_)Vh=EO_4ylXR;$@bXA`uuxZP)-A45kWPdP|NlHl=ud=&Xret*k< zOr_ngVo#wUF8VyWG`XI}@yiy+Q^#!pPN=fgZ)sBHSNHb^r25#w(@SSW+Z5ry>+@(% zkY~{E#5TW0H@(!!X0E=I3!q5uAULzc!C5Ov^uP?v!c!>?JH1m>kL3yCnM?7^GtE4w z;XGW}_smd_ZV{e=OZa2|Ku$yDhj?6d3wZI8$A$Smx9xcAwwWM3&Cs6OCYn8A z>zra=lpjs7xAY`@3g#e8X-O=NU+i-^`jHPVLj<3OKV;uWI;Uto+tQlO%`>gfs60%o zjcR=s=Gh+8-?4f+_r0slBKxEQVmf~H~k9PI(|y&Xsd&moRoW_n?HZZT6>T$;_umh3|2?A*zPOySw3Ga12z-w2NO$yTXUtQ2bH zjZ$Hwx>k}c=PRY1@=B#t*sY4C4{rv!wr$d0=@K=U@gMt>9hWKGrG`azuqCu&-63;X zzgv~oN|JO5zZ9B_yh2lcO3lxxxkfY0m9kj6TwbeP*pgnQ-b?r&AuqlYesEPbp0A3v zt@3V3)@&Bnw)G@@@5b-`{@!N-C%r|BwJW8q+Iw*JoBbljhk4OJxdf%$6dDDp73pV=z+s*)&C^h@YV})AJ6@}{?f<<$9d~riCr^4!b#*E2iAt2FcnYHm~jsd*3IpY7$YV|^yhy^qH-v-)?b`z!q8OgPNa#>iYYRyRvxVWYP5t%dLxnJ4sY zkyY%>4so~eiR_rpP5v#-)URaYx^Y=c`cf0L5+#znBp`JWBkOA0o0XEFmtf1kOwl4W zUHGr_!c~^c-U35xqby8!`;A%L92VD#l2p8+?7Ww9v+Xm)dcY8C1VcPDf_8VqpDuQ&BqIBu%3qXF9X*LJ_ubp1tZyq0Z{X}9Dj G`}!X}xl>^P delta 4288 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 diff --git a/scripts/__pycache__/triangle_config.cpython-313.pyc b/scripts/__pycache__/triangle_config.cpython-313.pyc index 7dad114a7d254f5cef3b4ef1f0521cdd5ba4e539..7434990405c5e7f60dd77661109a29a27727147e 100644 GIT binary patch delta 182 zcmZ3euuy^bGcPX}0}yoBm1jPg$os0EF_-4Hhrr3l=Ei2hsvSEEp_NB!r@0GFU2D8VF^; z`emW|g@bK_ None: default=None, help="指定日期(YYYYMMDD),用于报告和图表生成(默认为数据最新日)", ) + parser.add_argument( + "--show-details", + action="store_true", + help="生成详情模式图片(显示所有枢轴点和拟合点)", + ) parser.add_argument( "--skip-detection", action="store_true", @@ -79,6 +85,10 @@ def main() -> None: print(f"开始时间: {datetime.now().strftime('%Y-%m-%d %H:%M:%S')}") if args.date: print(f"指定日期: {args.date}") + if args.show_details: + print(f"图表模式: 详情模式(显示所有枢轴点)") + else: + print(f"图表模式: 简洁模式(仅显示价格和趋势线)") print("=" * 80) results = [] @@ -149,10 +159,13 @@ def main() -> None: try: # 设置命令行参数 + cmd_args = [sys.argv[0]] if args.date: - sys.argv = [sys.argv[0], "--date", str(args.date)] - else: - sys.argv = [sys.argv[0]] + cmd_args.extend(["--date", str(args.date)]) + if args.show_details: + cmd_args.append("--show-details") + + sys.argv = cmd_args run_plot() success = True diff --git a/scripts/plot_converging_triangles.py b/scripts/plot_converging_triangles.py index 61d174b..0c24de0 100644 --- a/scripts/plot_converging_triangles.py +++ b/scripts/plot_converging_triangles.py @@ -37,10 +37,11 @@ from converging_triangle import ( fit_pivot_line, line_y, pivots_fractal, + pivots_fractal_hybrid, ) # 导入统一的参数配置 -from triangle_config import DETECTION_PARAMS, DISPLAY_WINDOW, SHOW_CHART_DETAILS +from triangle_config import DETECTION_PARAMS, DISPLAY_WINDOW, SHOW_CHART_DETAILS, REALTIME_MODE, FLEXIBLE_ZONE class FakeModule: @@ -159,7 +160,11 @@ def plot_triangle( display_volume = volume_stock[valid_mask][display_start:valid_end + 1] display_dates = dates[valid_indices[display_start:valid_end + 1]] - # 检测三角形(使用检测窗口数据) + # ======================================================================== + # 计算三角形参数(用于绘图) + # 注意:不验证 is_valid,因为CSV中已经验证通过了 + # 这里只是重新计算参数用于可视化 + # ======================================================================== result = detect_converging_triangle( high=high_win, low=low_win, @@ -170,9 +175,8 @@ def plot_triangle( date_idx=date_idx, ) - if not result.is_valid: - print(f" [跳过] {stock_code} {stock_name}: 未识别到有效三角形") - return + # 不再检查 is_valid,直接绘图 + # 原因:CSV中已经包含了通过验证的股票,这里只需要可视化 # 绘图准备 x_display = np.arange(len(display_close), dtype=float) @@ -184,8 +188,19 @@ def plot_triangle( n = len(close_win) x_win = np.arange(n, dtype=float) - # 计算枢轴点(与检测算法一致) - ph_idx, pl_idx = pivots_fractal(high_win, low_win, k=params.pivot_k) + # 计算枢轴点(与检测算法一致,考虑实时模式) + if REALTIME_MODE: + confirmed_ph, confirmed_pl, candidate_ph, candidate_pl = pivots_fractal_hybrid( + high_win, low_win, k=params.pivot_k, flexible_zone=FLEXIBLE_ZONE + ) + # 合并确认枢轴点和候选枢轴点 + ph_idx = np.concatenate([confirmed_ph, candidate_ph]) if len(candidate_ph) > 0 else confirmed_ph + pl_idx = np.concatenate([confirmed_pl, candidate_pl]) if len(candidate_pl) > 0 else confirmed_pl + # 排序以保证顺序 + ph_idx = np.sort(ph_idx) + pl_idx = np.sort(pl_idx) + else: + ph_idx, pl_idx = pivots_fractal(high_win, low_win, k=params.pivot_k) # 使用枢轴点连线法拟合边界线(与检测算法一致) a_u, b_u, selected_ph = fit_pivot_line( @@ -281,108 +296,6 @@ def plot_triangle( zorder=5, label=f'下沿拟合点({len(selected_pl_pos)})', ) - - # 绘制分段竖线(显示算法如何分段选择枢轴点) - # 高点和低点分别独立分段,用不同颜色显示 - y_min, y_max = ax1.get_ylim() - - # 绘制高点枢轴点的分段线(红色) - if len(ph_idx) > 4: - n_high = len(ph_idx) - segment_size_high = n_high // 3 - - # 第1段结束 = 第2段开始 - if segment_size_high < n_high: - boundary_1 = ph_idx[segment_size_high] + triangle_offset - ax1.axvline( - boundary_1, - color='red', - linestyle='-.', - linewidth=1.2, - alpha=0.4, - zorder=3, - ) - ax1.text( - boundary_1, - y_max * 0.96, - '高1|2', - ha='center', - va='top', - fontsize=7, - color='red', - bbox=dict(boxstyle='round,pad=0.2', facecolor='white', edgecolor='red', alpha=0.7), - ) - - # 第2段结束 = 第3段开始 - if 2 * segment_size_high < n_high: - boundary_2 = ph_idx[2 * segment_size_high] + triangle_offset - ax1.axvline( - boundary_2, - color='red', - linestyle='-.', - linewidth=1.2, - alpha=0.4, - zorder=3, - ) - ax1.text( - boundary_2, - y_max * 0.96, - '高2|3', - ha='center', - va='top', - fontsize=7, - color='red', - bbox=dict(boxstyle='round,pad=0.2', facecolor='white', edgecolor='red', alpha=0.7), - ) - - # 绘制低点枢轴点的分段线(绿色) - if len(pl_idx) > 4: - n_low = len(pl_idx) - segment_size_low = n_low // 3 - - # 第1段结束 = 第2段开始 - if segment_size_low < n_low: - boundary_1 = pl_idx[segment_size_low] + triangle_offset - ax1.axvline( - boundary_1, - color='green', - linestyle='-.', - linewidth=1.2, - alpha=0.4, - zorder=3, - ) - ax1.text( - boundary_1, - y_min + (y_max - y_min) * 0.04, - '低1|2', - ha='center', - va='bottom', - fontsize=7, - color='green', - bbox=dict(boxstyle='round,pad=0.2', facecolor='white', edgecolor='green', alpha=0.7), - ) - - # 第2段结束 = 第3段开始 - if 2 * segment_size_low < n_low: - boundary_2 = pl_idx[2 * segment_size_low] + triangle_offset - ax1.axvline( - boundary_2, - color='green', - linestyle='-.', - linewidth=1.2, - alpha=0.4, - zorder=3, - ) - ax1.text( - boundary_2, - y_min + (y_max - y_min) * 0.04, - '低2|3', - ha='center', - va='bottom', - fontsize=7, - color='green', - bbox=dict(boxstyle='round,pad=0.2', facecolor='white', edgecolor='green', alpha=0.7), - ) ax1.set_title( f"{stock_code} {stock_name} - 收敛三角形 (检测窗口: {detect_dates[0]} ~ {detect_dates[-1]})\n" diff --git a/scripts/triangle_config.py b/scripts/triangle_config.py index 1908bde..6ea155c 100644 --- a/scripts/triangle_config.py +++ b/scripts/triangle_config.py @@ -31,9 +31,9 @@ DETECTION_PARAMS = ConvergingTriangleParams( boundary_n_segments=2, # 边界线分段数 boundary_source="full", # 边界拟合数据源: "full"(全部) 或 "pivot"(仅枢轴点) - # 斜率约束 - upper_slope_max=0.10, # 上沿最大斜率(正值,向上倾斜) - lower_slope_min=-0.10, # 下沿最小斜率(负值,向下倾斜) + # 斜率约束(严格收敛三角形) + upper_slope_max=0, # 上沿必须向下或水平(≤0) + lower_slope_min=0, # 下沿必须向上或水平(≥0) # 注意:算法会自动过滤"同向通道"(上下沿都向上或都向下) # 只保留真正的收敛形态(上下沿相向运动) @@ -92,8 +92,8 @@ DISPLAY_WINDOW = 500 REALTIME_MODE = True # True=实时模式(默认), False=标准模式 # 灵活区域大小(仅在实时模式下生效) -FLEXIBLE_ZONE = 5 # 最近5天使用降低标准 -# 建议: 3-7天,太大会引入噪音 +FLEXIBLE_ZONE = 15 # 最近15天使用降低标准(与pivot_k一致) +# 说明: 设为与pivot_k相同,确保窗口末端的所有潜在枢轴点都能被识别 # 实时模式说明: # - 实时模式(推荐):使用确认+候选枢轴点(允许右边数据不完整),适合实时选股 diff --git a/src/__pycache__/converging_triangle.cpython-313.pyc b/src/__pycache__/converging_triangle.cpython-313.pyc index 75ea2397cd9f2bf09e27ee12fbd8d410dab880f9..67896b3835db4fec67fe9aafbd15e2df72caf519 100644 GIT binary patch delta 5163 zcmbVPdvH@#8oxKMCimviv}v34k)##c2Bh@C%Tg>wkcT{ka~2?l1_S&CvQD+MZ7rkQ1&tTq|_U7vwI zn3iVbOrtrozcEgO~b;_VrlZc6XzF!&F?j+}7x!<s?HM9S-S5za__0f&$v#y z&PgxR=NDYAy0YN?sw;~JW-SjDt@vcZibUsKOK+$sZ4N5X-7Rs*Ncwy_F?~sphCJ)- zvOuzzgj+_l7u1Q_Gn33^+^$a|bEI`NbCtr<2zF)Rg2{S@gO;3SY%OzpyW@`2Ev~!YLT>>+p1uxZ-=`g$S6EEHDm{zs4 zW;13@Eq!71t_mQ)^AWO{E15Pgkp;<1`tp0eRo< zlvDJQ5h+meI2QbJ5H^;-ALEr+tiqxii`7_gSUdnikiudC;d1j2;yNt|n-(oJG!_V| z2Imvrx`w8vrv!#TkJrw71r_gFSMRNZHQ~Y9D7n;tJ}_itH^R$C_83wc=lz=HlIZ`bTA4?dOw52br@_KyHM?hRpVc{k z&%�c96|JCOM%zs_aR9HT|l!IA|^YOl|l&JtL62#~HBiarxO>3M$PQpkFErZ0=dv zV$(Zz%Z-rn6Yowfi-*A1U$W}0ZVx(ZT2VZ>~UJ3s`GAG zC~e8D34QwX2WXaLI0K^2uR?rAnY6;k?|U)VOK4fiqMmm8T@k^PG$`U`lrym&&D;KLZF|vF4$UJiQWcCE((H z=$+i$JH|LNK$GmEpg%T{Nf1!WEK6k~1V0+4meYuR+{S7p$8g317{Ic>j_yo93F8>Y zXc$eSLCPErQr5VzX2!=>Eg|EY4;w>qUM^1TbduO=6~|P|u|0wqjDE)V6AyltNYhwa zxJ)kVXNgg8CX&AFS{CTZ!zIT(8&{`~*Kyg?q_Baqt;H~vnc@D|2QU17=#>jY?;aca z-T5Kki3=lL$A%6*6Fq!%_|ltD72WZ2q|-li`araAKf^@#ogeOhap?6I;C^xaqQA7b zbjFn8k}0J#tZk*&FLqqNc#tV6vPPcu!@VTh(H?!N11KU}4@UflA}4l;Tuf<^b@7l?a?>-p$AwNsRl2+9qqmt4eW{r-W|NO3v@D^N{cjdRY2v#rkMb@FzvtI6#tw?g$4QgdMEGX@un55F1fGjL?rH8;83UXP&vS?~mHV(30HcK)}}iQj^S4~tsN!P?h)U2V>~ zM!V-JL5T^Uaypv@RU%}9c2pzoh;l=nSR*Jmjv_vBTnL&cTwbr!Q78Hd7X_!s<*047 zH^2yBv~}biUIkSm%R*}0ckD!*+=RW4H@F;-M0dPN-2~SUm)qV@2leRwLQ}E8c$^K+ zwb<~6ad@MkPt?czcyeIa=*IjUWG+>pe-tL`PeR4N;P1f)0bE)tkj}>Y;H*zgJ5aE< zAdq`(S}>)s{l06ul+KdQCqug2_C?T|o)x(JQ#kHb*GyS28xI=0Cx=W$JuN{~iC=q- z)%v%DSaWw_h@JGAS`Wv+Av>5_=vRhQvq%X9$;N;(q?_C!^V9wk&@g2N7Imq+TY|h^+wcK?y!sW^A9)Ir+z9GUgBDR|YfYg7FD9Kij!9q|CkHqN()B zx7;*k$$h#0V14)Ikh!e4DrlZDAj=BtO+kHr`;vG$n8f(YpY{dxp`^^gbmM{gz4d{X zQ?g+ClqG&PY{~)7st#>9(+prv!imD8g*~%Fc{9(^!MySTr3E`{ z=v>mxgxJYj=eJk2xAdv*%#^F~3KV2syStuWi>8*$qF+b#B_GTCp?ZB^Rq17Il>?xS z<{yGWTNqqKQq~WIVBy z0-EdK507jvpF+)oCapNDh-YMK5j1A_1yB|ZAHay12%yEaB|Z{$@=hieL1z;>IG3U} zSQ$lQuFJ%e3${7xUfv4QW)SBGu}&rlLBs|@IK7(;E1K~EVsEH*H+U2* zcro#K?(^Ab%Og2VK3IYu<@qBz{z%7{QQG9N zDKn<3pcOnhn;5=KhOkU?}}45gU;EemzGwjjr&OKZZGyl`e#OtX=u zOTwu+F)0RLr)0@k=EPV6)$s8u_Ks;O#l&xQq;{^X?{AMb G(EkUoN7SDH delta 4811 zcmcf^ZBSEJ_Pu;3F9`$^5+H#P!4eb|0V}Ar)Q?t1YioQKOO-~6m^M7<3x2lUM5{Ga ztHEnm);fy)5^T5H(hu6z)!A&* z_uTV+&$;j1`#%4Kja^}N*L6A#1JAG79o{`%x?J|p@7$$kNfm4Ce~6WGlEW;i%giN$ zcDlyTFoL2%A!itJug*bkX-io(d8aztrl@Ao1jE>wh8$osjWRj~utr0=bPJT57>1Xx zq0(7Xq*rZY7>==%c0-Yjmo@5%O>ZX87)%yk-l$KRa7k(;Rgz-HDcx2>-1>#H$I)9K z8<#hC>}vP)sp3+fM~KTsx6tB=ON92gwAH;cu5h=vdxYk=lt?lf0&jpykh!5^)Y{O} zgX&;i%$O6rkAfjxR=A?OsLOM>Da6LOjLy4{Z92Z?=$7uaJ?=9ly+wT`7mE6vgSM(@ zPIZ*4j%oErR&=fiyAQ35ar(}A$JQKQcXVC%lAgLV@?N%2eu3>%4_fC&O_iT>l__EJ zL&kDRu@q9dn5I$LpiHGPk$F3fWH6f}yRr=|rp!c+8m7~f+Q@jt)QM_xLcS{2sj*lxELMM?@hw&>J_v~y9|GXy$myI`xt{}^%rln;S^(J& zf4>Ln3AHIr*JeV&6czIGHU+Rx^$V!4MQL82Lfi>%M9l(zwTw!bUyb!h=*;aprt z`2gZdx7gxu6FbB;WNm?6@gy>QWOu=v^1Xnb?=LItVjpWos(=9beklOE-7e06F|P1= z1y9p1aUV>+K`y?AL1viKc2oQ5E~}9Us@0!1N>X;$WRj<>robIC zU_@RHQi7USyA-uqU=C(3g`jTCPU*UojiwadaJ>4q&D1z4$EzphToPVg4(}zeOv&LG zKr@pHcM8px3L0LM%{;IHLgE^+JJE;dQhm{-tZhgJxylH(u%7=RA!r+X*f|9qFL9}; zG)U1@kb9qZ%XkCbExC=@$mzpprFPO3T6T)Y=T=GKJkV}yg>`8Xr(PMm^xoCI zAB|l;b@k)RiJAQ`UAuTapI@*G`NKoSUNY^4J-aO$5)5zI9kAeB$^Ad|Q%+3X&rOzfG!-UH*|cNB8fCC`Lnl zu&zXBFmbYTKf~dc2Nf2Nzc%fD|+0QvlYE z{}Y~;fr9;id3fN|VrP~}j|&&_A3-3J3}=3AT)x{Qw)w?1NWxPfnKQ2Fz(QUZL5$ z+2e1*gU-_|rjN6@W{bB2{kVO;xVodw=YcEXW=~wR-P`7KcX-I_B!OMorGBwrogi2+w>?+Edr7jTBd1a7XR)quLsz7KMG0EJsgW zR6Bh_DKlz90o8RaW3+~r3}s}6D-Z7Mt~mJYSDBU(bAI;{vMcmJ%xH}mr-zmeXJm(W z91M&&iqAS3KL~`0fRvRXvL%d6iLZ)ps_qJKyl&PpsEmp(;CC|J(?&tW6#oHUGOQ$UsiUw zq08FCMhry|Ql>E&STU^RLOY%d44Z5{n%?ynvo4!IHeazsYw9EA^$~l0#8e;B3~{<6 z^In)2F8h+RML64tt?=~v6YG0+Ms0IK55}_XJq2H8&xy^c3hTOsNM?D=RuZvQg*B;h zsBGr>(sQL37DdbIt`tSemJVj#HDoRXfAxW=`R*=Rmq${J&$+VG!vU`d5_a z$+c_ob&_?sg{|T`(l&QK`x@z;`auGkZ#Ip!`5%iHO z_XP@R_sPIHp3fr2B^nU4AaIe5OQsd#TP0c$y?((h zh%cfPT{~PmZm<0T#J(lgbv*kC5!aO~lBW7!U)RCPjc|KB)?d)@jf6dLw9(3%h^=v1 zo(ZVQ^-zo!3oqsnz%z~a2k14Qa(qanSUq63ve#~F_jww(_}bhZGwpQP;FQnUj_oBWDcPSMFAs3-=Jas?N3bVaum4Xz7y zDK_cqC^`371^rG>e(%s7L@m>8L@}&dk~=?*O$H`Q9)EZSE*I?poyO!&pq}V!G5i?+n?%vn^thH?7}FRhq&Vi6 zB*(IHIu6SnH|0Q|C}#ATvD~}~^( Tuple[np.ndarray, np.ndarray]: - """左右窗口分形:返回 pivot_high_idx, pivot_low_idx""" + """左右窗口分形:返回 pivot_high_idx, pivot_low_idx + + 使用 nanmax/nanmin 来忽略 NaN 值 + """ n = len(high) ph: List[int] = [] pl: List[int] = [] for i in range(k, n - k): - if high[i] == np.max(high[i - k : i + k + 1]): + if not np.isnan(high[i]) and high[i] == np.nanmax(high[i - k : i + k + 1]): ph.append(i) - if low[i] == np.min(low[i - k : i + k + 1]): + if not np.isnan(low[i]) and low[i] == np.nanmin(low[i - k : i + k + 1]): pl.append(i) return np.array(ph, dtype=int), np.array(pl, dtype=int) @@ -138,22 +141,36 @@ def pivots_fractal_hybrid( n = len(high) # 确认枢轴点(完整窗口) + # 使用 nanmax/nanmin 来忽略 NaN 值 confirmed_ph: List[int] = [] confirmed_pl: List[int] = [] for i in range(k, n - k): - if high[i] == np.max(high[i - k : i + k + 1]): + if not np.isnan(high[i]) and high[i] == np.nanmax(high[i - k : i + k + 1]): confirmed_ph.append(i) - if low[i] == np.min(low[i - k : i + k + 1]): + if not np.isnan(low[i]) and low[i] == np.nanmin(low[i - k : i + k + 1]): confirmed_pl.append(i) # 候选枢轴点(灵活窗口,最近flexible_zone天) + # 优化逻辑:使用对称窗口,左右各看 min(k, right_avail+1) 天 + # 这样可以识别出窗口末端的局部枢轴点 + # 使用 nanmax/nanmin 来忽略 NaN 值 candidate_ph: List[int] = [] candidate_pl: List[int] = [] for i in range(max(k, n - flexible_zone), n): + if np.isnan(high[i]) or np.isnan(low[i]): + continue # 跳过 NaN 点 + right_avail = n - 1 - i - if high[i] == np.max(high[i - k : i + right_avail + 1]): + # 使用对称的短窗口:左右各看 right_avail+1 天(至少1天) + # 但左边最多看 k 天(保证有足够数据) + left_look = min(k, max(right_avail + 1, 3)) # 至少看3天 + left_start = max(0, i - left_look) + right_end = min(n, i + right_avail + 1) + + # 在对称窗口内是最大/最小即为候选枢轴点 + if high[i] == np.nanmax(high[left_start : right_end]): candidate_ph.append(i) - if low[i] == np.min(low[i - k : i + right_avail + 1]): + if low[i] == np.nanmin(low[left_start : right_end]): candidate_pl.append(i) return ( @@ -232,21 +249,27 @@ def fit_pivot_line( pivot_values: np.ndarray, mode: str = "upper", min_points: int = 2, + outlier_threshold: float = 2.5, + max_iterations: int = 2, ) -> Tuple[float, float, np.ndarray]: """ - 枢轴点连线法:选择合适的枢轴点连成边界线 + 迭代离群点移除的枢轴点拟合算法 - 改进策略(2026-01-26): - - 使用多个枢轴点进行线性回归,而不是只选2个点 - - 将时间轴分为3段,每段选择最具代表性的点 - - 上沿选最高点,下沿选最低点 - - 使用选中的点进行线性回归,充分利用所有信息 + 改进策略(2026-01-26 v2): + 1. 先用所有点做初始拟合 + 2. 识别并移除偏离拟合线的"弱"点 + 3. 迭代直到收敛 + + 对于上沿线:移除价格明显低于拟合线的点(弱高点) + 对于下沿线:移除价格明显高于拟合线的点(弱低点) Args: pivot_indices: 枢轴点的X坐标(索引) pivot_values: 枢轴点的Y值(价格) mode: "upper"(上沿) 或 "lower"(下沿) - min_points: 最少需要的枢轴点数 + min_points: 最少需要的枢轴点数(默认2,实际保留至少3个) + outlier_threshold: 离群点阈值(标准差倍数,默认2.5,更宽松) + max_iterations: 最大迭代次数(默认2,避免过度过滤) Returns: (slope, intercept, selected_indices): 斜率、截距、选中的枢轴点索引 @@ -263,87 +286,82 @@ def fit_pivot_line( if n < 2: return 0.0, 0.0, np.array([]) - # 新策略:分段选择代表性点进行回归 - if n <= 4: - # 点数少,直接用所有点 - selected_mask = np.ones(n, dtype=bool) - else: - # 点数多,分3段选择 - selected_mask = np.zeros(n, dtype=bool) - - # 分3段 - segment_size = n // 3 - if segment_size < 1: - segment_size = 1 - - segments = [ - range(0, min(segment_size, n)), - range(segment_size, min(2 * segment_size, n)), - range(2 * segment_size, n), - ] - - for seg in segments: - if len(seg) == 0: - continue - - seg_list = list(seg) - seg_y = y_sorted[seg_list] - - if mode == "upper": - # 上沿:选该段最高点 - best_idx_in_seg = np.argmax(seg_y) - else: - # 下沿:选该段最低点 - best_idx_in_seg = np.argmin(seg_y) - - selected_mask[seg_list[best_idx_in_seg]] = True + # 初始化:所有点都参与 + active_mask = np.ones(n, dtype=bool) + min_keep = max(3, min_points) # 至少保留3个点 - # 获取选中的点 - selected_x = x_sorted[selected_mask] - selected_y = y_sorted[selected_mask] - selected_indices_sorted = np.where(selected_mask)[0] + # 迭代离群点移除 + for iteration in range(max_iterations): + active_indices = np.where(active_mask)[0] + if len(active_indices) <= min_keep: + break + + # 当前活跃点 + x_active = x_sorted[active_mask] + y_active = y_sorted[active_mask] + + # 线性回归 + a, b = fit_line(x_active, y_active) + + # 计算拟合值 + fitted_values = a * x_active + b + + # 计算残差(方向性残差) + if mode == "upper": + # 上沿:残差 = 拟合值 - 实际值 + # 正残差表示点在拟合线下方(弱高点) + residuals = fitted_values - y_active + else: + # 下沿:残差 = 实际值 - 拟合值 + # 正残差表示点在拟合线上方(弱低点) + residuals = y_active - fitted_values + + # 计算标准差 + std_residual = np.std(residuals) + if std_residual < 1e-10: + # 所有点几乎在一条线上,无需移除 + break + + # 识别离群点(残差 > threshold * std) + threshold = outlier_threshold * std_residual + outlier_mask_active = residuals > threshold + + if not np.any(outlier_mask_active): + # 没有离群点,收敛 + break + + # 找到最大离群点 + max_outlier_idx_in_active = np.argmax(residuals) + + # 检查是否确实是离群点 + if residuals[max_outlier_idx_in_active] <= threshold: + break + + # 检查移除后是否仍有足够的点 + if np.sum(active_mask) <= min_keep: + break + + # 在原始索引中标记移除 + original_idx = active_indices[max_outlier_idx_in_active] + active_mask[original_idx] = False + + # 最终拟合 + selected_indices_sorted = np.where(active_mask)[0] + selected_x = x_sorted[active_mask] + selected_y = y_sorted[active_mask] if len(selected_x) < 2: # 兜底:使用首尾两点 - selected_mask = np.zeros(n, dtype=bool) - selected_mask[0] = True - selected_mask[-1] = True - selected_x = x_sorted[selected_mask] - selected_y = y_sorted[selected_mask] - selected_indices_sorted = np.where(selected_mask)[0] + active_mask = np.zeros(n, dtype=bool) + active_mask[0] = True + active_mask[-1] = True + selected_x = x_sorted[active_mask] + selected_y = y_sorted[active_mask] + selected_indices_sorted = np.where(active_mask)[0] # 线性回归 a, b = fit_line(selected_x, selected_y) - # 验证覆盖情况 - fitted_all = a * x_sorted + b - tolerance = 0.03 # 3% 容差 - - if mode == "upper": - # 上沿:确保所有点在线下方或附近 - violations = y_sorted > fitted_all + tolerance * np.mean(y_sorted) - if np.any(violations): - # 有点严重超出,添加全局最高点重新拟合 - global_max_idx = np.argmax(y_sorted) - if not selected_mask[global_max_idx]: - selected_mask[global_max_idx] = True - selected_x = x_sorted[selected_mask] - selected_y = y_sorted[selected_mask] - selected_indices_sorted = np.where(selected_mask)[0] - a, b = fit_line(selected_x, selected_y) - else: - # 下沿:确保所有点在线上方或附近 - violations = y_sorted < fitted_all - tolerance * np.mean(y_sorted) - if np.any(violations): - # 有点严重低于,添加全局最低点重新拟合 - global_min_idx = np.argmin(y_sorted) - if not selected_mask[global_min_idx]: - selected_mask[global_min_idx] = True - selected_x = x_sorted[selected_mask] - selected_y = y_sorted[selected_mask] - selected_indices_sorted = np.where(selected_mask)[0] - a, b = fit_line(selected_x, selected_y) - # 返回原始索引 selected_original = sort_idx[selected_indices_sorted]