功能: - 支持中文名称搜索股票(如"中控技术"、"英伟达") - 支持 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>
76 lines
2.8 KiB
Markdown
76 lines
2.8 KiB
Markdown
# 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`。
|