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

303 lines
7.9 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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 ⭐ (已归档)
**性质**: 演示脚本
**用途**: 演示分段选择枢轴点的逻辑
**归档原因**:
- 通用演示功能(不针对特定股票)
- 教学和学习价值高
- 使用频率低,不是日常工作流的一部分
- 文档已经很详细,代码作为补充材料
**核心功能**:
```python
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`
**通用化方法**:
```bash
# 方法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. **知识沉淀**: 提取有价值内容到文档
### 示例
```python
"""
临时分析脚本 - 分析 XXX 股票的 YYY 问题
创建日期: 2026-01-26
用途: 回答用户关于 ZZZ 的疑问
状态: 🚧 临时文件,分析完成后删除
"""
```
---
## ✅ 检查清单
- [x] 识别临时分析脚本
- [x] 提取有价值的知识
- [x] 创建 FAQ 文档
- [x] 删除临时脚本
- [x] 更新文档索引
- [x] 更新项目清理总结
- [x] 验证核心功能不受影响
---
## 📚 相关文档
- [项目清理总结.md](./2026-01-26_项目清理总结.md) - 整体清理记录
- [FAQ_为什么某些低点不是枢轴点.md](./FAQ_为什么某些低点不是枢轴点.md) - 沉淀的知识
- [文档索引.md](./文档索引.md) - 文档导航
---
**版本**: v1.0
**更新**: 2026-01-26