功能: - 支持中文名称搜索股票(如"中控技术"、"英伟达") - 支持 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>
2.8 KiB
2.8 KiB
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 股和美股。
常用命令
# 安装依赖
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。