褚宏光 3538b214ba Enhance stock analysis features with K线图 and daily best reporting
- Upgraded charting functionality from line graphs to K线图 for improved technical analysis.
- Introduced a new daily best stocks report, outputting the top-performing stocks over the last 500 days.
- Implemented automatic logging of execution details for better traceability.
- Updated the .gitignore to include new output files related to the K线图 and logs.

Files modified:
- scripts/plot_converging_triangles.py: Enhanced to support K线图 rendering.
- scripts/run_converging_triangle.py: Added logging and daily best reporting features.
- README.md: Updated to reflect new features and usage instructions.
- New files: docs/K线图说明.md for detailed K线图 usage and features.
2026-01-29 09:09:29 +08:00

164 lines
7.1 KiB
Markdown
Raw 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.

# Technical Patterns Lab
技术形态识别研究与实验仓库,聚焦收敛三角形等形态的批量检测、突破强度计算与可视化验证。
## 核心功能
- **收敛三角形检测**:基于枢轴点连线 + 几何约束 + 收敛度判定 + 相向收敛检查
- **批量滚动计算**:支持多股票 × 多交易日的历史检测
- **突破强度评分**0~1 连续分数,使用加权求和 + tanh 归一化
- **可视化验证**:自动绘制检测窗口与完整历史走势
## 最新更新
**2026-01-28**: K线图升级 + 每日最佳报告 📊
- ✅ 图表从折线图升级为**K线图**(红涨绿跌,更专业)
- ✅ 新增**每日最佳股票报告**`daily_best.csv`500天每天强度最高的股票
- ✅ 新增**运行日志保存**`run_log_*.txt`):完整记录检测过程
- ✅ 绘图默认使用**高低价拟合**(更精确)
- ✅ 实测性能:**2.56秒处理54,000个检测点**21,000点/秒)
- 详见:`docs/K线图说明.md`
**2026-01-27**: 性能优化 - Numba加速 ⚡
- ✅ 使用Numba JIT编译**性能提升300+倍**
- ✅ 54,000个检测点从 30秒 → **2.5秒**
- ✅ 自动检测并启用,无需手动配置
- 详见:`docs/README_性能优化.md`
**2026-01-26**: 图表可视化改进 - 简洁/详细模式 🎨
- 新增图表详细模式开关:`SHOW_CHART_DETAILS``--show-details`
- 简洁模式(默认):仅显示收盘价、上沿线、下沿线
- 详细模式:额外显示所有枢轴点、拟合点、分段线等调试信息
- 详见:`docs/2026-01-26_图表详细模式功能.md`
**2026-01-26**: 改进枢轴点拟合逻辑,使用多点线性回归 📈
- 从"只用2个枢轴点"改为"分段选择3-4个代表性点"进行线性回归
- 拟合精度显著提升,抗噪声能力更强
- 检测质量提高误检率大幅降低19k → 6k过滤假三角形
- 详见:`docs/2026-01-26_枢轴点拟合改进.md` 📊
**2026-01-26**: 修复上沿线覆盖问题 🔧
- 修复 `fit_pivot_line()` 算法缺陷:确保上/下沿线覆盖所有枢轴点
- 问题:旧算法可能忽略全局最高/低点,导致拟合线横穿关键价格
- 修复:优先选择全局极值点,验证覆盖情况,自动调整选择
- 详见:`docs/2026-01-26_上沿线覆盖问题修复.md`
**2026-01-26**: 实施方案4混合策略支持实时模式
- 新增 `pivots_fractal_hybrid()` 函数,区分确认和候选枢轴点
- 支持标准模式(历史回测)和实时模式(实时选股)可配置切换
-`triangle_config.py` 中通过 `REALTIME_MODE` 控制
- 实时模式能捕获最近5天的枢轴点无15天滞后
**2026-01-26**: 增加"相向收敛"约束,过滤下降/上升通道误判
- ✅ 对称三角形(上沿↓ + 下沿↑)
- ✅ 上升三角形(上沿→ + 下沿↑)
- ✅ 下降三角形(上沿↓ + 下沿→)
- ❌ 下降通道(上沿↓ + 下沿↓)- 现已过滤
- ❌ 上升通道(上沿↑ + 下沿↑)- 现已过滤
详见:
- `docs/2026-01-26_图表详细模式功能.md` - 图表可视化改进 🎨
- `docs/方案4-混合策略详解.md` - 实时模式完整说明 ⭐
- `docs/实时模式使用指南.md` - 快速上手指南
- `docs/2026-01-26_相向收敛约束改进.md` - 过滤通道形态
- `docs/2026-01-26_上沿线覆盖问题修复.md` - 拟合线覆盖修复 🔧
- `docs/2026-01-26_枢轴点拟合改进.md` - 多点回归改进 📊
## 目录结构
```
technical-patterns-lab/
├── src/ # 核心算法
│ ├── converging_triangle.py # 收敛三角形检测
│ └── archive/ # 归档代码
├── scripts/ # 运行脚本
│ ├── pipeline_converging_triangle.py # 一键流水线
│ ├── run_converging_triangle.py # 批量检测
│ ├── report_converging_triangles.py # 生成报告
│ ├── plot_converging_triangles.py # 绘制图表
│ ├── triangle_config.py # 统一参数配置
│ └── archive/ # 归档脚本
├── data/ # 数据文件
│ ├── open.pkl, high.pkl, low.pkl, close.pkl, volume.pkl
├── outputs/ # 输出结果(已被 gitignore 忽略)
│ └── converging_triangles/ # 收敛三角形结果
└── docs/ # 文档
```
## 快速开始
```powershell
# 1. 激活环境
.\.venv\Scripts\Activate.ps1
# 2. 安装依赖(首次)
pip install numpy pandas matplotlib numba
# 3. 一键运行流水线(检测 + 报告 + 图表)
python scripts/pipeline_converging_triangle.py
```
### ⚡ 性能优化
本项目已集成 **Numba JIT 加速**,性能提升 **300+ 倍**
- **实测性能**54,000个检测点108只股票×500天**2.56秒** 🚀
- **处理速度****21,000 点/秒**
- 无需手动配置,自动检测并启用
- 如未安装 numba自动降级使用原版函数
**安装 Numba**(推荐):
```bash
pip install numba
```
详见:`docs/README_性能优化.md` 📚
## 输出示例
```
检测结果: N 个有效三角形
- 向上突破: N 次
- 向下突破: N 次
- 当日报告: outputs/converging_triangles/report.md
- 图表目录: outputs/converging_triangles/charts/
- HTML查看器: outputs/converging_triangles/stock_viewer.html ⭐
```
**提示**:使用 `--all-stocks` 参数可以为所有108只股票生成图表和HTML查看器方便全面查看。
## 相关文档
### 📖 入门必读
- **`docs/功能与文档总览.md`** - 完整功能与文档索引 ⭐⭐⭐
- `USAGE.md` - 完整使用指南(参数说明、数据格式等)⭐
- `outputs/converging_triangles/QUICK_START.md` - HTML查看器快速指南 🚀
### 核心功能
- `docs/突破强度计算方法.md` - 突破强度的计算逻辑
- `docs/强度分计算示例.md` - 详细的计算步骤示例
- `docs/converging_triangles_outputs.md` - 输出字段说明
### 可视化
- `docs/K线图说明.md` - K线图功能详解新增🆕
- `outputs/converging_triangles/QUICK_START.md` - HTML查看器快速指南 🚀
- `outputs/converging_triangles/README_viewer.md` - HTML查看器详细文档
- `docs/all-stocks-feature.md` - 全股票图表功能说明
- `docs/2026-01-27_HTML查看器功能.md` - HTML查看器设计与实现
- `docs/2026-01-26_图表详细模式功能.md` - 图表可视化改进 🎨
### 性能优化 ⚡
- **`docs/README_性能优化.md`** - 性能优化文档索引 ⭐⭐⭐
- `docs/性能优化执行总结.md` - 快速了解优化成果
- `docs/性能优化完整报告.md` - 完整技术报告
- `docs/性能优化方案.md` - 详细技术方案
- `scripts/README_performance_tests.md` - 性能测试使用说明
### 算法原理
- `docs/枢轴点分段选择算法详解.md` - 分段算法完整说明 ⭐
- `docs/枢轴点检测原理.md` - 枢轴点算法详解
- `docs/枢轴点边界问题分析.md` - 边界盲区问题与解决方案
- `docs/2026-01-26_相向收敛约束改进.md` - 过滤通道形态的改进
- `docs/方案4-混合策略详解.md` - 实时模式完整说明 ⭐
- `docs/实时模式使用指南.md` - 快速上手指南
- `docs/收敛三角形检测系统-使用指南.md` - 使用流程与参数说明