褚宏光 430511e8c4 feat: 收敛三角形形态可视化验证工具
功能:
- 支持中文名称搜索股票(如"中控技术"、"英伟达")
- 支持 A 股和美股
- 趋势线从窗口起点延伸到终点(与前端一致)
- Y 轴自动调整以包含趋势线
- 支持 --window 参数(1Y/3Y/5Y/ALL)

用法:
python validate.py 中控技术 日 --window 3Y --save
python validate.py 英伟达 日 --window 3Y --save

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 14:51:16 +08:00

76 lines
2.8 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.

# CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
## 项目概述
收敛三角形Converging Triangle形态检测可视化验证工具。通过 HTTP API 调用远程公式执行,绘制 K 线图 + 三角形趋势线,帮助快速目测验证形态检测结果。**支持 A 股和美股**。
## 常用命令
```bash
# 安装依赖
pip install requests mplfinance matplotlib numpy pandas
# 单股验证
python validate.py <股票名或代码> [频率] [--save] [--no-show] [--date YYYYMMDD] [--mode 0-3] [--window 1Y/3Y/5Y/ALL]
# 示例
python validate.py 中远海控 # 日K弹窗显示
python validate.py 中控技术 日 --window 3Y --save # 3年K线保存图片
python validate.py 英伟达 日 --window 3Y --save # 美股也支持
python validate.py SH600519 月 --no-show --save # 月K只保存不弹窗
# 批量验证
python batch_validate.py --no-show --save
```
**参数说明**
- `freq`: 日 / 周 / 月,默认日
- `--save`: 保存 PNG 到 output/ 目录
- `--no-show`: 不弹出交互窗口
- `--mode`: 强度模式 0=等权 1=激进 2=保守 3=放量
- `--window`: K 线时间窗口 1Y/3Y/5Y/ALL默认 3Y
## 架构
```
数据流:
validate.py
① GET {SEARCH_API_URL}/smartstock/assets/search?q=<关键词>
→ 获取正确的 ticker中控技术 → SH688777英伟达 → NVDA.O
② POST {GPT_SERVER_URL}/innerServer/runOneFormula
body: { formula_str: "结果=收敛三角形详情(ticker,freq,True,mode)" }
→ response.output = MongoDB _id
③ GET {DATA_SERVER_URL}/api/timeSeries/requestIndexDetail?id=<_id>
header: Authorization: Bearer <token>
→ data.data_info.detail (含 strength/direction/chart_data)
④ GET {KLINE_API_URL}/dataSupport/getKLineDataByTicker?ticker=<ticker>&begin_date=<begin_date>
→ 获取 K 线 OHLC 数据
⑤ chart.draw_triangle_chart(detail)
→ mplfinance 绘制 K 线 + 趋势线
→ Y 轴自动调整以包含趋势线
→ output/{ticker}_{freq}K_{date}.png
```
**模块职责**
- `validate.py`: CLI 入口、资产搜索、公式执行、详情获取、K 线数据获取
- `batch_validate.py`: 批量验证,修改 `BATCH_CASES` 列表自定义验证标的
- `chart.py`: mplfinance 绘图,趋势线延伸逻辑(与前端 TechPattern.vue 一致)
- `config.py`: API 端点配置Token 过期时在此更新
## 与前端一致性
`chart.py` 中的趋势线绘制逻辑与 `D:\project\frontend_mobile\src\views\workflow\components\assetRatingV2\components\TechPattern.vue` 完全一致:
- 趋势线从 `window_start_date` 延伸到 `window_end_date`
- 使用公式数据中的 `index` 计算斜率
- Y 轴范围包含趋势线价格 + 5% 边距
## 配置
Token 过期时,更新 `config.py` 中的 `AUTH_TOKEN`