- 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.
7.9 KiB
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=15,31天窗口)
- 视觉低点 vs 数学极值点
- 四种常见情况分析
- 山峰/山谷类比
- 验证方法
2. 特定股票分析方法
来源: analyze_sz300892.py / analyze_sz300892_simple.py
通用化方法:
# 方法1: 使用详细模式图表
python scripts/plot_converging_triangles.py --show-details
# 方法2: 使用 Python 脚本分析
# 参考 demo_segmentation.py 的代码结构
关键步骤:
- 加载数据
- 使用
pivots_fractal_hybrid检测枢轴点 - 使用
fit_pivot_line拟合线 - 打印详细信息
🎯 清理原则
删除标准
临时分析脚本满足以下条件时删除:
- ✅ 特定性: 针对特定股票、特定日期
- ✅ 一次性: 为了回答某个问题而创建
- ✅ 已完成: 分析已完成,问题已解决
- ✅ 已沉淀: 有价值的知识已归档为文档
保留标准
脚本满足以下任一条件时保留:
- ✅ 通用性: 可以用于任意数据
- ✅ 可重复性: 可能需要多次运行
- ✅ 教学价值: 用于演示核心概念
- ✅ 核心功能: 必须的运行脚本
📈 清理效果
数据统计
清理前: 12 个脚本文件
临时脚本删除: 3 个
演示脚本归档: 3 个
清理后(主目录): 6 个脚本文件
归档目录: 5 个脚本文件(3个演示 + 2个旧版本)
质量提升
- ✅ 脚本职责更清晰(主目录只保留核心脚本)
- ✅ 没有冗余文件
- ✅ 知识沉淀到文档
- ✅ 更易维护
- ✅ 演示脚本归档保留(供学习参考)
- ✅ 目录结构更简洁
🔄 后续维护建议
创建临时脚本时
- 命名规范: 使用
debug_*或analyze_*前缀 - 添加注释: 说明用途、创建日期、是否临时
- 及时清理: 分析完成后立即删除
- 知识沉淀: 提取有价值内容到文档
示例
"""
临时分析脚本 - 分析 XXX 股票的 YYY 问题
创建日期: 2026-01-26
用途: 回答用户关于 ZZZ 的疑问
状态: 🚧 临时文件,分析完成后删除
"""
✅ 检查清单
- 识别临时分析脚本
- 提取有价值的知识
- 创建 FAQ 文档
- 删除临时脚本
- 更新文档索引
- 更新项目清理总结
- 验证核心功能不受影响
📚 相关文档
- 项目清理总结.md - 整体清理记录
- FAQ_为什么某些低点不是枢轴点.md - 沉淀的知识
- 文档索引.md - 文档导航
版本: v1.0
更新: 2026-01-26