technical-patterns-lab/docs/2026-01-26_scripts清理记录.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

7.9 KiB
Raw Permalink Blame History

Scripts 目录清理记录

日期: 2026-01-26
类型: 项目维护


📋 清理概述

scripts/ 目录进行整理,将临时分析脚本删除,有价值的内容沉淀为文档。


🗑️ 已删除文件

1. why_30_not_pivot.py

性质: 临时分析脚本
用途: 分析为什么 SZ300892 股票在 20251110 后接近 30 元的低点不是枢轴点
删除原因:

  • 针对特定股票、特定日期的一次性分析
  • 问题已分析清楚
  • 内容已沉淀为 docs/FAQ_为什么某些低点不是枢轴点.md

知识沉淀:

临时脚本 → FAQ 文档
- 枢轴点的严格定义
- 四种常见情况分析
- 山峰/山谷类比
- 验证方法

2. analyze_sz300892.py

性质: 临时分析脚本
用途: 查看 SZ300892 下沿线的 4 个枢轴点详细信息
删除原因:

  • 针对特定股票的一次性分析
  • 用于回答用户问题:"当前的下沿线的 4个点分别是多少"
  • 分析完成,不需要保留

核心功能 (已集成到主代码):

  • 使用 pivots_fractal_hybrid 检测枢轴点
  • 使用 fit_pivot_line 拟合线
  • 通过详细模式图表可以实现相同功能

3. analyze_sz300892_simple.py

性质: 临时分析脚本
用途: 从 CSV 结果直接分析枢轴点信息(简化版)
删除原因:

  • analyze_sz300892.py 功能重复
  • 只是基于视觉估计,精度不高
  • 一次性分析,不需要保留

保留文件

核心运行脚本

这些是项目的核心功能,必须保留在主目录:

1. run_converging_triangle.py

性质: 主运行脚本
用途: 批量检测收敛三角形
保留原因: 核心功能,必须保留

2. plot_converging_triangles.py

性质: 绘图脚本
用途: 生成图表(简洁/详细模式)
保留原因: 核心功能,必须保留

3. pipeline_converging_triangle.py

性质: 流水线脚本
用途: 完整流程(检测 + 绘图 + 报告)
保留原因: 核心功能,必须保留

4. report_converging_triangles.py

性质: 报告脚本
用途: 生成分析报告
保留原因: 核心功能,必须保留

5. triangle_config.py

性质: 配置文件
用途: 统一配置管理
保留原因: 核心功能,必须保留

6. test_realtime_mode.py

性质: 测试脚本
用途: 对比标准模式和实时模式的检测结果
保留原因: 回归测试需要


演示脚本(已归档到 scripts/archive/

这些脚本具有通用性和教学价值,但日常使用频率低,已归档:

7. demo_segmentation.py (已归档)

性质: 演示脚本
用途: 演示分段选择枢轴点的逻辑
归档原因:

  • 通用演示功能(不针对特定股票)
  • 教学和学习价值高
  • 使用频率低,不是日常工作流的一部分
  • 文档已经很详细,代码作为补充材料

核心功能:

def demo_segmentation(pivot_indices, pivot_values, mode="upper"):
    """演示如何分3段并在每段中选择代表性点"""
    # 1. 按时间排序
    # 2. 分3段
    # 3. 每段选最极值
    # 4. 线性回归拟合

访问方式: python scripts/archive/demo_segmentation.py
配合文档: docs/枢轴点分段选择算法详解.md

8. demo_pivot_detection.py (已归档)

性质: 演示脚本
用途: 演示标准模式 vs 实时模式的枢轴点检测
归档原因:

  • 演示核心算法差异
  • 可视化对比
  • 教学价值高,但日常使用频率低

访问方式: python scripts/archive/demo_pivot_detection.py
配合文档: docs/枢轴点检测原理.md

9. demo_flexible_zone.py (已归档)

性质: 演示脚本
用途: 演示 FLEXIBLE_ZONE 参数的影响
归档原因:

  • 帮助理解实时模式
  • 参数调优参考
  • 使用频率低

访问方式: python scripts/archive/demo_flexible_zone.py
配合文档: docs/实时模式使用指南.md


📊 清理后目录结构

scripts/
├── triangle_config.py                  # 配置文件 ⭐
├── run_converging_triangle.py         # 主运行脚本 ⭐
├── plot_converging_triangles.py       # 绘图脚本 ⭐
├── pipeline_converging_triangle.py    # 流水线脚本 ⭐
├── report_converging_triangles.py     # 报告脚本 ⭐
├── test_realtime_mode.py              # 测试:实时模式 🧪
│
├── archive/                            # 归档目录 📦
│   ├── README.md                      # 归档说明
│   ├── demo_segmentation.py           # 演示:分段算法 📚
│   ├── demo_pivot_detection.py        # 演示:枢轴点检测 📚
│   ├── demo_flexible_zone.py          # 演示:灵活区域 📚
│   ├── run_sym_triangle_json.py       # 旧版本
│   └── run_sym_triangle_pkl.py        # 旧版本
│
└── __pycache__/

图例:

  • 核心功能脚本(日常使用)
  • 🧪 测试脚本(回归测试)
  • 📦 归档脚本(学习参考)

📝 知识沉淀

从临时脚本提取的知识

1. 枢轴点识别的常见误区

来源: why_30_not_pivot.py
沉淀到: docs/FAQ_为什么某些低点不是枢轴点.md

核心内容:

  • 枢轴点的严格定义k=1531天窗口
  • 视觉低点 vs 数学极值点
  • 四种常见情况分析
  • 山峰/山谷类比
  • 验证方法

2. 特定股票分析方法

来源: analyze_sz300892.py / analyze_sz300892_simple.py
通用化方法:

# 方法1: 使用详细模式图表
python scripts/plot_converging_triangles.py --show-details

# 方法2: 使用 Python 脚本分析
# 参考 demo_segmentation.py 的代码结构

关键步骤:

  1. 加载数据
  2. 使用 pivots_fractal_hybrid 检测枢轴点
  3. 使用 fit_pivot_line 拟合线
  4. 打印详细信息

🎯 清理原则

删除标准

临时分析脚本满足以下条件时删除:

  1. 特定性: 针对特定股票、特定日期
  2. 一次性: 为了回答某个问题而创建
  3. 已完成: 分析已完成,问题已解决
  4. 已沉淀: 有价值的知识已归档为文档

保留标准

脚本满足以下任一条件时保留:

  1. 通用性: 可以用于任意数据
  2. 可重复性: 可能需要多次运行
  3. 教学价值: 用于演示核心概念
  4. 核心功能: 必须的运行脚本

📈 清理效果

数据统计

清理前: 12 个脚本文件
临时脚本删除: 3 个
演示脚本归档: 3 个
清理后(主目录): 6 个脚本文件
归档目录: 5 个脚本文件3个演示 + 2个旧版本

质量提升

  • 脚本职责更清晰(主目录只保留核心脚本)
  • 没有冗余文件
  • 知识沉淀到文档
  • 更易维护
  • 演示脚本归档保留(供学习参考)
  • 目录结构更简洁

🔄 后续维护建议

创建临时脚本时

  1. 命名规范: 使用 debug_*analyze_* 前缀
  2. 添加注释: 说明用途、创建日期、是否临时
  3. 及时清理: 分析完成后立即删除
  4. 知识沉淀: 提取有价值内容到文档

示例

"""
临时分析脚本 - 分析 XXX 股票的 YYY 问题
创建日期: 2026-01-26
用途: 回答用户关于 ZZZ 的疑问
状态: 🚧 临时文件,分析完成后删除
"""

检查清单

  • 识别临时分析脚本
  • 提取有价值的知识
  • 创建 FAQ 文档
  • 删除临时脚本
  • 更新文档索引
  • 更新项目清理总结
  • 验证核心功能不受影响

📚 相关文档


版本: v1.0
更新: 2026-01-26