- 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.
303 lines
7.9 KiB
Markdown
303 lines
7.9 KiB
Markdown
# 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=15,31天窗口)
|
||
- 视觉低点 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
|
||
|