## 问题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) --- ## 问题3: 非收敛形态误判 **现象**: "上升三角形"(上沿水平)被误判为"收敛三角形" ![](images/2026-01-26-18-36-50.png) **解决**: 收紧斜率限制 - 上沿必须向下(或至少水平),不能向上 - 下沿必须向上(或至少水平),不能向下 - 这样就能过滤掉"上升三角形"和"下降通道"等非收敛形态 --- ## ~~待办~~: 强度分评分系统(已完成) ![](images/2026-01-27-10-11-59.png) | 分量 | 权重 | 说明 | |------|------|------| | 价格突破 | 50% | 突破幅度(未突破时为0) | | 收敛程度 | 20% | 蓄势充分度 | | 成交量 | 15% | 放量确认 | | 拟合贴合度 | 15% | 枢轴点到拟合线的平均距离,反映形态纯度 | **强度分说明**: - 综合评估收敛三角形的质量,无论是否突破都计算得分 - 可用于评估"待突破"形态的潜在价值,或"已突破"形态的有效性 - 公式:`强度分 = 价格×50% + 收敛×20% + 成交量×15% + 拟合贴合度×15%` **拟合贴合度计算**: - 计算选中的枢轴点到对应拟合线(上沿/下沿)的相对距离 - 距离越小,说明形态越标准、越"纯净" - 距离大表示形态杂乱,枢轴点散乱分布 - 使用指数衰减函数 `exp(-mean_rel_error * 20)` 归一化为 0~1 分数 **实施状态**: ✅ 已完成(2026-01-27) - 代码实现:`src/converging_triangle.py` - 详细文档:`docs/突破强度计算方法.md` (v3.0) - **计算示例**:[强度分计算示例.md](../docs/强度分计算示例.md) - 包含完整计算步骤与多场景对比 ⭐ - 图表显示:已集成到图表标题第三行 - **可视化查看器**:`outputs/converging_triangles/stock_viewer.html` - 交互式强度分筛选 ⭐ --- ## 新增功能: HTML可视化查看器(2026-01-27) ![](images/stock-viewer-demo.png) **功能亮点**: - 🎚️ **交互式滑块**:实时调整强度分阈值(0.00 ~ 1.00) - 📊 **全股票模式**:显示所有108只股票,无形态的强度分为0 - 📈 **统计面板**:总数、筛选数、平均强度分实时更新 - 🔍 **图表放大**:点击图表全屏查看细节 - 📱 **响应式设计**:自适应各种屏幕尺寸 - 💾 **离线可用**:数据内嵌在HTML中,无需服务器 **使用方法**: ```powershell # 一键生成(推荐) python scripts/pipeline_converging_triangle.py --all-stocks # 单独生成HTML python scripts/generate_stock_viewer.py --all-stocks # 显示所有108只 python scripts/generate_stock_viewer.py # 仅显示满足条件的 # 打开查看器 start outputs/converging_triangles/stock_viewer.html ``` **技术特性**: - 数据内嵌方案:解决浏览器CORS限制,可直接双击打开 - 紫色渐变主题:现代化视觉设计 - 实时过滤:无延迟的交互体验 - 颜色分级:绿色(≥0.5)/黄色(0.3~0.5)/灰色(<0.3) **相关文档**: - 快速指南:`outputs/converging_triangles/QUICK_START.md` - 详细文档:`outputs/converging_triangles/README_viewer.md` - 功能说明:`docs/2026-01-27_HTML查看器功能.md` --- ## 附注 **tanh函数**: - 双曲正切函数,输出范围 (-1, 1),用于归一化价格突破幅度 - 公式:`price_score = tanh(突破幅度% × 15)` - 特点:小幅突破时敏感(分数增长快),大幅突破时饱和(分数增长慢) - 示例:1%→0.15分,3%→0.42分,5%→0.64分,10%→0.91分