Install
openclaw skills install @chenxyzcyxpp/racing-quant-ai赛马量化AI选股系统,集成量化策略选股+个股智能推荐分析。从量化策略数据库筛选符合需求的策略,获取持仓个股,再进行深度分析,最终给出投资参考。触发词:量化选股,racing quant,策略选股,数据库选股,量化分析,AI选股。
openclaw skills install @chenxyzcyxpp/racing-quant-aiRacing Quant AI是一套集成化的A股量化选股分析系统,其本质是一个 「信号→资产」的智能匹配引擎。系统在三个层面产生信号(策略信号→持仓信号→交易信号),并通过四层匹配机制(用户需求→策略→标的→交易指令)完成从策略研究到交易执行的全链路闭环。
核心功能包含两大部分:
整个工作流闭环:用户需求 → 匹配策略 → 获取持仓 → 个股分析 → 综合推荐
⚠️ 路演/系统说明时的叙事规范:不要从数据库表结构或技术架构讲起。必须围绕「信号」和「匹配」展开——每个功能点都要回答:它产生什么信号?信号怎么找到对应的资产?详见
references/signal-asset-matching-framework.md。
当用户满足以下任意一种场景时,自动启用本skill:
🔴 数据校验铁律:所有行情、财务、资金数据必须来自实际数据源调用结果。数据获取失败时必须如实标注"数据获取失败",严禁编造任何具体数值。违反此规则视为重大事故(参见陷阱#14)。
tushareMcp,工具前缀 mcp_tushareMcp_*daily / pro_bar(含前复权)daily_basicfina_indicatorincome / balancesheetmoneyflowtop_list / top_inststk_limitadj_factortrade_calstock_basic支持多种查询方式,包括直接查询、关键词搜索和互动偏好匹配,满足不同用户场景:
连接信息(远程公开量化策略库):
| 字段 | 类型 | 说明 |
|---|---|---|
| strategy_table | text | 策略对应持仓数据表名称 |
| strategy_name | text | 策略英文名称 |
| strategy_id | text | 策略ID(唯一标识) |
| benchmark | text | 对标指数 |
| owner_name | text | 策略创建人姓名 |
| owner_id | text | 创建人ID |
| start_date | datetime | 策略开始回测时间 |
| online_date | datetime | 策略上线时间 |
| strategy_name_cn | text | 策略中文名称 |
| strategy_summ | text | 策略简介 |
| strategy_desc | text | 策略详细描述 |
| strategy_cat | text | 策略分类(量价/基本面/事件驱动/量化选股等) |
| how_to_trade | text | 交易调仓规则 |
| if_recommended | bigint | 是否推荐(1=推荐,0=不推荐) |
| 字段 | 类型 | 说明 |
|---|---|---|
| trade_date | text | 交易日期 |
| strategy_name | text | 策略名称 |
| strategy_id | text | 策略ID |
| trading_info | text | 交易信息(持仓信息json,主键为证券代码、值为权重,举例 {'300001.SZ':'0.1'}) |
| trade_price | text | 交易价格(open/close) |
| update_time | datetime | 更新时间 |
对策略输出的持仓股票,逐个进行结构化深度分析,遵循以下分析框架:
💡 深度分析模式选择:当用户要求使用"stock-research-sop"分析时,应加载
quant-finance技能的templates/stock-research-sop.md模板,按三阶段(基本面->技术面->综合判断)执行,该SOP比本5维度框架更严格(含评分、盈亏比、投资者匹配)。本5维度框架适用于快速分析和批量持仓扫描。
数据源:优先通过 Tushare MCP 获取;若 Tushare 不可用(token失效/MCP连接失败),切换至new-akshare-stock;再不可用切换至baostock。最终报告标注实际使用的数据源。
数据校验要求:所有量价、市值、估值基础字段,必须与调用数据源实时校验准确性,异常数据高亮备注。
分类展示不同周期涨跌幅:
数据源:优先通过 Tushare MCP 获取;若 Tushare 不可用(token失效/MCP连接失败),切换至new-akshare-stock;再不可用切换至baostock。最终报告标注实际使用的数据源。
数据校验要求:多周期涨跌幅历史量价数据,需匹配数据源原始口径核验计算逻辑,杜绝偏差。
数据源:优先通过 Tushare MCP 获取;若 Tushare 不可用(token失效/MCP连接失败),切换至new-akshare-stock;再不可用切换至baostock。最终报告标注实际使用的数据源。
数据校验要求:主力资金流向明细,严格校验数据源原始流水数据,异常波动单独标注。
数据源:优先通过 Tushare MCP(fina_indicator / income / balancesheet)获取财务数据;若 Tushare 不可用,切换至new-akshare-stock获取公开财务数据;再不可用切换至baostock获取。结合cn-web-search搜索最新公开信息和机构研报,优先返回微信公众号来源内容,自动备注文章标题
数据校验要求:营收、净利润、PE/PB 等财务核心指标,必须对照数据源原始财报字段精准校验,保证基本面数据真实可溯源。
工作流优先级:用户有明确选股需求 / 指定策略→直接自动执行;无任何需求→触发互动提问; 补充匹配兜底规则:若关键词 / 偏好 / 分类筛选匹配出 2 条及以上策略,仅展示【策略名称 + 中文简介】列表给到用户,等待用户手动选定具体策略后,再执行拉取持仓、个股分析流程,不自动默认选中任意策略。
1. 连接数据库 → 查询所有策略
2. 根据用户需求,智能匹配最符合的1-3个策略
3. 对匹配的每个策略,获取其最新一期持仓股票(通常前10-20只)
4. 对持仓股票逐个进行个股深度分析(如用户没有指定数量,则默认前5只)
5. 整理汇总:策略信息 → 持仓列表 → 个股分析报告 → 综合总结
6. 输出完整报告,报告格式严格按照如下输出:
- 策略信息(名称/ID/简介/描述)
- 持仓列表(股票代码/名称/占比)
- 个股分析(每只股票按照5维度分析框架输出)
- 综合总结(策略优势、风险提示、投资建议)
- 信息来源注释(公开研报、微信公众号深度报告标题)
- 免责声明(分析结果仅供学习交流,不构成投资建议,投资有风险,入市需谨慎)
1. 根据用户提供的策略名称/ID,从数据库查询策略详细信息,返回匹配到的策略信息包括名称/ID
2. 获取该策略最新持仓列表
3. 对持仓股票进行个股深度分析(如用户没有指定数量,则默认前5只)
4. 输出完整报告,报告格式严格按照如下输出:
- 策略信息(名称/ID/简介/描述)
- 持仓列表(股票代码/名称/占比)
- 个股分析(每只股票按照5维度分析框架输出)
- 综合总结(策略优势、风险提示、投资建议)
- 信息来源注释(公开研报、微信公众号深度报告标题)
- 免责声明(分析结果仅供学习交流,不构成投资建议,投资有风险,入市需谨慎)
1. 根据用户条件(关键词/分类)筛选策略
2. 输出策略列表和基本信息,供用户选择
3. 用户选择后再进行下一步获取持仓和分析(如用户没有指定数量,则默认前5只)
4. 输出完整报告,报告格式严格按照如下输出:
- 策略信息(名称/ID/简介/描述)
- 持仓列表(股票代码/名称/占比)
- 个股分析(每只股票按照5维度分析框架输出)
- 综合总结(策略优势、风险提示、投资建议)
- 信息来源注释(公开研报、微信公众号深度报告标题)
- 免责声明(分析结果仅供学习交流,不构成投资建议,投资有风险,入市需谨慎)
1. 主动提问了解用户的投资偏好,包括:
- 投资周期偏好(短期/中期/长期)
- 风险承受能力(保守/稳健/激进)
- 选股风格偏好(价值成长/红利低波/动量趋势/事件驱动)
- 行业偏好(是否有特定看好或回避的行业)
- 其他特殊需求
2. 将用户回答的偏好转化为搜索关键词,在strategy_desc字段中进行语义匹配
3. 按匹配度排序,推荐最符合的3-5个策略
4. 请用户确认选择哪个策略
5. 用户确认后,获取策略最新持仓并进行个股分析(如用户没有指定数量,则默认前5只)
6. 输出完整报告,报告格式严格按照如下输出:
- 策略信息(名称/ID/简介/描述)
- 持仓列表(股票代码/名称/占比)
- 个股分析(每只股票按照5维度分析框架输出)
- 综合总结(策略优势、风险提示、投资建议)
- 信息来源注释(公开研报、微信公众号深度报告标题)
- 免责声明(分析结果仅供学习交流,不构成投资建议,投资有风险,入市需谨慎)
当用户要求将策略持仓直接推送到交易系统(QMT)时,启用此工作流。
1. 连接MySQL策略数据库 → 获取指定策略的最新持仓(代码+权重)
2. 调用东方财富批量API获取实时行情(前20只的现价/涨跌幅/昨收)
3. 加载当前持仓快照(如有)
4. 计算买卖指令:
- 买入:按权重分配资金,考虑现存仓位,100股取整
- 卖出:全量换仓模式下,不在目标持仓中的股票全部卖出
5. 风险检查:涨跌停偏离、最低金额、单只仓位上限
6. 输出交易指令JSON或通过xtquant实际下单
~/.hermes/scripts/racing_to_qmt.py — 一体化生成+执行脚本references/trading-execution-pipeline.md# 生成指令(Hermes端)
python3 ~/.hermes/scripts/racing_to_qmt.py --mode=generate-only \\
--strategy="短周期机器学习时序交叉版" --capital=100000 --top-n=10
# 执行下单(QMT端,需安装xtquant)
python racing_to_qmt.py --mode=execute --account=1234567890
daily / daily_basic / pro_bar)获取最新股价和各周期涨跌幅数据;Tushare 不可用时切换至new-akshare-stock;再不可用切换至baostockmoneyflow)获取每日主力资金数据;Tushare 不可用时切换至new-akshare-stock;再不可用切换至baostockcn-web-search搜索股票最新公开信息、机构研报和市场数据wechat-article-search深度搜索机制,搜索微信公众号最新发布的个股深度研究报告,获取市场最新观点和深度分析内容,并在最终报告中明确注释引用的公众号文章/深度报告标题/home/ubuntu/.hermes/hermes-agent/venv/bin/python3python3 -m ensurepip(venv 可能没有 pip),再 python3 -m pip install akshare baostock--break-system-packages 安装不会对 hermes 生效stock_zh_a_spot_em、stock_zh_a_hist)可能因服务器网络限制返回 RemoteDisconnected 错误stock_individual_fund_flow(资金流向)和stock_news_em(新闻)——最稳定的两个接口stock_financial_abstract_ths(财务摘要)——可用但注意indicator参数python3 -c传递含中文的复杂代码——shell引号嵌套+中文字符极易SyntaxErrorweb_fetch 通过东方财富 Push API 获取实时行情:
https://push2.eastmoney.com/api/qt/stock/get?secid=0.300308&fields=f43,f44,f45,f46,f47,f48,f50,f51,f52,f55,f57,f58,f60,f116,f117,f162,f167,f170,f1711.,深市用 0.stock_financial_abstract_ths(symbol, indicator="按报告期") 默认按时间正序排列,head(4) 返回最早的数据而非最新的indicator="按年度" 并 tail(4) 获取最近4年数据tail() 而非 head() 取最新数据stock_individual_fund_flow 接口通常稳定可用,即使实时行情接口不通signal-asset-matching-framework.md — 信号-标的匹配框架:对外路演的核心叙事规范,三层信号体系+四层匹配机制,禁止从架构讲起portfolio-analysis-workflow.md — 全持仓深度分析的可复用工作流(数据采集→5维度分析→报告输出),含数据源可靠性、陷阱与报告模板trading-execution-pipeline.md — 策略持仓→QMT交易执行流水线,含 racing_to_qmt.py 脚本用法、模式对比、交易规则配置strategy-drawdown-analysis.md — 策略历史回撤分析方法论:月度持仓快照、换手率统计、持仓集中度追踪、ETF涨跌幅与持仓时长相关性分析strategy-drawdown-analysis.md — 策略历史回撤分析方法论:查询任意策略在指定时间段内的持仓变化、换手率、持仓集中度,并关联ETF/个股价格走势解释回撤原因position-sizing-optimization.md — 策略仓位优化回测框架:从MySQL拉取历史持仓→东方财富获取价格→模拟原始vs优化策略→对比指标。含最优参数(10%单仓上限+50%总仓位保底)回测验证结果fintech-codebase-structure.md — racingai.top网站(Go+React)代码结构、开发规范、部署流程。当用户要求修改网站功能时参考multi-stock-analysis-workflow.md - 多股票批量深度分析的完整工作流模板(数据源组合、技术指标计算、分析框架、Feishu导出)concept-stock-analysis-workflow.md - 概念股/主题驱动产业链分析工作流(搜索->识别标的->产业链分层->批量行情采集->综合研判->持仓交叉分析),含超节点算力产业链实战案例tsauto_run-strategy-inventory.md — 用户自研量化仓库 warwickInv/tsauto_run 的完整策略储备清单(数据ETL→因子工程→ML多因子模型20+变体→择时策略5种→行业轮动→运维辅助),私有Gitee仓库需token访问包含可直接运行的数据库查询脚本:
check-json.js:检查JSON格式正确性desc-table.js:输出策略描述表格get-positions-correct.js:获取策略最新正确持仓列表get-positions.js:获取策略持仓列表(原始版)get-positions-json.js:获取持仓JSON格式get-position-table.js:输出持仓表格list-recommended.js:列出所有推荐策略read-strategies.js:读取策略信息strategy-history-analysis.js:查询指定策略在任意时间段的持仓变化历史(月度快照+换手率+持仓数趋势),用法:node strategy-history-analysis.js <strategy_id> <start_date> <end_date>mysql2 包:用于连接MySQL量化策略数据库(必须在 scripts/ 目录下 npm install mysql2,旧版 mysql 包不可用)tushareMcp 已在 config.yaml 中配置,提供专业金融数据(行情/财务/资金流向/龙虎榜等)。需 Gateway 重启后自动发现工具。若 MCP 连接失败则自动降级至下方备用数据源new-akshare-stock技能:第一备用数据源(行情、财务、资金流向、龙虎榜等A股量化数据)baostock技能:第二备用数据源(行情、财务、基础证券数据,自动降级使用)cn-web-search技能:用于获取个股最新公开信息和机构研报wechat-article-search 深度搜索:搜索微信公众号最新深度研究报告stock-analysis 技能:提供结构化个股分析框架,自动适配 Tushare / new-akshare-stock / baostock 数据源事故复盘:每日持仓分析cron job(8c5674a53206)使用 portfolio_report.py 脚本采集行情。当 akshare 的 stock_zh_a_spot_em() 接口返回 RemoteDisconnected 时,脚本输出全 N/A。下游 LLM(deepseek-v4-flash)在收到全 N/A 数据后,没有如实报告失败,而是编造了一整套虚假行情数据(成交额、涨跌幅、换手率、大宗交易等全部捏造),推送至飞书群。
根因:
修复措施(已实施 v2.1):
portfolio_report.py 主数据源改为 baostock(稳定可靠),登录一次批量查询,3秒完成14只标的采集铁律:任何分析报告中,行情数据只能来自脚本采集的表格。如果数据为 N/A/获取失败,必须如实标注,严禁编造任何具体数字。违反此规则视为重大事故。
Tushare MCP 作为主数据源的调用优先级:
mcp_tushareMcp_* 系列工具获取行情、财务、资金数据new-akshare-stock 技能baostock 技能Tushare 接口与原数据源的映射关系:
| 数据需求 | Tushare 接口 | 原 akshare/baostock 接口 |
|---|---|---|
| 日线行情(OHLCV) | daily / pro_bar(前复权) | stock_zh_a_hist / query_history_k_data_plus |
| 每日指标(PE/PB/换手率/市值) | daily_basic | stock_zh_a_spot_em |
| 财务指标(ROE/净利率等) | fina_indicator | stock_financial_abstract_ths |
| 利润表 | income | 同上 |
| 资产负债表 | balancesheet | 同上 |
| 个股资金流向 | moneyflow | stock_individual_fund_flow |
| 龙虎榜 | top_list / top_inst | stock_lhb_detail_em |
| 涨跌停价 | stk_limit | 无直接对应 |
| 复权因子 | adj_factor | baostock adjustflag参数 |
| 交易日历 | trade_cal | tool_trade_date_hist_sina |
| 股票基本信息 | stock_basic | stock_info_a_code_name |
注意事项:
mcp_tushareMcp_* 前缀工具YYYYMMDD(如 20260724),需注意与 akshare(YYYY-MM-DD)和 baostock(YYYY-MM-DD)的格式差异# Node.js 依赖(必须在 scripts/ 目录下执行)
cd ~/.hermes/skills/racing-quant-ai/scripts && npm install mysql2
# Python 依赖(hermes venv 需要先安装 pip 再装 akshare)
python3 -m ensurepip
python3 -m pip install akshare baostock
如果跳过此步骤,所有数据库脚本和行情接口都会报 MODULE_NOT_FOUND。
接口可靠性矩阵(2026-05 实测):
| 接口 | 可用性 | 说明 |
|---|---|---|
stock_zh_a_spot_em() | ❌ | 高频 RemoteDisconnected,不可作唯一数据源 |
stock_zh_a_hist() | ⚠️ | 同样受连接问题影响 |
fund_etf_spot_em() | ⚠️ | 部分可用,但部分ETF返回NaN(如纳指ETF、现金流ETF),沪市ETF较稳定。当stock_zh_a_spot_em失败时此接口仍可尝试 |
stock_individual_fund_flow() | ✅ | 最可靠的akshare接口,含每日收盘价和主力净流入 |
stock_financial_abstract_ths() | ✅ | 可用,indicator="按年度" 取近年数据,勿用"按报告期"(返回2008年起旧数据) |
stock_news_em() | ✅ | 个股新闻稳定可用,返回标题+时间 |
index_us_stock_sina() | ⚠️ | 可用但返回全量历史数据(数万行),需 tail() 截取,否则极耗内存 |
| 黄金价格接口 | ❌ | gold_price_history、fx_spot_quote 等均不可用 |
baostock 接口可靠性(2026-05 实测):
| 接口 | 可用性 | 说明 |
|---|---|---|
query_history_k_data_plus() — 个股 | ✅ | 个股K线稳定,前复权取最新价 |
query_history_k_data_plus() — ETF | ⚠️ | 仅返回近~120天数据,不支持长历史回测!回测ETF需用东方财富历史K线API(见下方) |
query_profit_data() | ✅ | 盈利能力数据稳定 |
query_growth_data() | ✅ | 成长能力数据稳定 |
query_balance_data() | ✅ | 偿债能力数据稳定 |
web_fetch 抓取东方财富网页版当需要完整的历史K线数据(如策略回测、多年度涨跌幅计算)时,使用以下API:
# API: https://push2his.eastmoney.com/api/qt/stock/kline/get
# 参数: secid={market}.{code}&fields1=f1,f2,f3&fields2=f51,f52,f53&klt=101&fqt=1&beg=YYYYMMDD&end=YYYYMMDD
# market: 1=沪市, 0=深市
# fields2: f51=date, f52=open, f53=close (还有f54=high, f55=low)
# klt=101=日线, fqt=1=前复权
import subprocess, json
url = f"https://push2his.eastmoney.com/api/qt/stock/kline/get?secid={market}.{code}&fields1=f1,f2,f3&fields2=f51,f52,f53&klt=101&fqt=1&beg=20230601&end=20260701"
result = subprocess.run(['curl', '-s', '--connect-timeout', '10', '--max-time', '15', url], capture_output=True, text=True, timeout=20)
data = json.loads(result.stdout)
klines = data.get('data', {}).get('klines', []) # ["2023-06-01,1.474,1.523", ...]
关键坑:必须用 subprocess.run(['curl', ...]) 而非 urllib.request.urlopen — 批量请求时urllib会大量失败("Remote end closed connection"),curl带重试机制可靠。每个请求间隔0.15秒,3次重试。
terminal(command="node -e '...'") 中写复杂 SQL 查询时,shell 引号嵌套极易出错write_file 写入 /tmp/xxx.js,然后 cp 到 scripts/ 目录再执行(因为 scripts/ 下已有 node_modules)trading_info LIKE '%股票代码%'trading_info 字段返回时已经是 JavaScript 对象,不是字符串.substring() 会报 row.trading_info?.substring is not a functionlet holdings = row.trading_info;
if (typeof holdings === 'string') {
try { holdings = JSON.parse(holdings); } catch(e) { holdings = {}; }
}
// holdings 现在是对象,直接用 Object.keys(holdings) 即可
JSON.stringify(row.trading_info) 反而会把已解析的对象再序列化成字符串,导致双重编码http://racingai.top/strategy/{id} 是 Vite + React 前端,curl 只返回空壳 HTML/strategy/stgetf0001 → strategy_id = 'stgetf0001' → 查询 strategy_information 表获取 strategy_table 名⚠️ 用户曾明确要求:撤销推送到 fintech 仓库 dev_hermes 分支的所有前后端改动,改为只改信号脚本。
stgetf0001_huaxia_pool.py 等信号生成脚本中trading_info 中的权重值,不参与仓位计算dev_hermes 分支,不要推到 fintech 仓库references/position-sizing-optimization.md 第6-7节。报告须包含四大部分+9个分析维度+市场温度计ASCII可视化,并上传至飞书文档StandardOutput/StandardError 重定向到 /var/log/fintech/backend.logjournalctl -u fintech-backend 只显示 systemd 层面的启停/崩溃日志,看不到 Go 应用 log.Printf 输出tail -50 /var/log/fintech/backend.log 查看应用日志GetLatestStrategyMonitoring 先取全局 MAX(calculate_date),再用该日期查特定策略 -> 大部分策略 record not found -> 500 错误 -> 净值曲线无法显示WHERE strategy_id = ? 条件;批量查询用 INNER JOIN 子查询references/fintech-codebase-structure.md 的「调试指南」章节cronjob(action='update') 不是只读操作——传入 prompt 参数会立即覆盖现有 promptcronjob(action='update', prompt='test') 来"查看"当前 prompt,这会直接把生产 prompt 替换为 "test"~/.hermes/cron/jobs.json 文件(read_file 工具),其中 prompt 字段包含完整内容cronjob(action='list') 返回的 prompt_preview 字段是被截断的,不足以查看全貌~/.hermes/cron/output/<job_id>/ 目录下的历史输出 .md 文件,其中 ## Prompt 段落包含原始 prompt 全文stock_margin_detail_szse() 不接受 code 参数,必须传 date 获取全量数据再过滤stock_hsgt_individual_em() 参数名是 symbol 不是 stock,且返回数据可能严重滞后(实测仅返回2024-08数据)stock_margin_detail_szse(date="20260717") 后过滤目标股票stock_lhb_detail_em(start_date, end_date) 后过滤,大盘股通常不在龙虎榜quant-finance 技能的 references/technical-indicators-computation.mdpush2.eastmoney.com/api/qt/stock/get?secid={market}.{code}&fields=f57,f58(f57=代码, f58=名称)push2his.eastmoney.com/api/qt/stock/kline/get?secid={market}.{code}&fields1=f1,f2,f3&fields2=f51,f52,f53,f54,f55,f56&klt=101&fqt=1&beg={YYYYMMDD}&end={YYYYMMDD}
date,open,close,high,low,volume1.,深市 0.Remote end closed connection without response),需 retry 或间隔 time.sleep(0.5-1)references/strategy-drawdown-analysis.mdcd ./scripts && node list-recommended.js
1. 获取持仓(通过策略名称,支持模糊匹配)
cd ./scripts && node get-positions-correct.js "短周期机器学习" 20
脚本执行流程:
- 先在 strategy_information 表查找匹配的策略
- 获取对应的 strategy_table 名称
- 查询该表的最新持仓数据
2. 对每只个股调用公开信息搜索
3. 调用微信文章深度搜索,获取最新公众号深度研究报告
4. 融合公开信息与深度报告内容,整理分析结果,并注释引用的公众号文章标题
5. 输出完整报告,末尾注明信息来源并添加免责声明
node list-recommended.js获取推荐策略列表node get-positions-correct.js "策略名称" 20获取最新20只持仓(脚本会自动反查strategy_table)references/concept-stock-analysis-workflow.md(概念股/主题驱动产业链分析工作流,含超节点算力产业链实战案例,覆盖搜索->分层->采集->研判->持仓交叉分析6步法)。fintech-codebase-structure.md 新增「基础设施与运维」章节(nginx/systemd/双数据库/Entity表名映射/API路由总览)和「调试指南」章节(排查流程+GORM MAX(date)反模式)。SKILL.md 新增陷阱#9(后端日志不在journalctl)和#10(GORM全局MAX(date)反模式),触发条件扩展覆盖网站bug排查。position-sizing-optimization.md 新增第7节:详细报告撰写规范。用户明确要求"不要遗漏任何点",报告须包含四大部分(回撤分析/直觉验证/单仓上限对比/方案D深度回测)、9个分析维度、市场温度计ASCII可视化、飞书文档上传步骤。退回简略报告并要求补充所有数据点,是用户偏好强信号。position-sizing-optimization.md 新增第5-6节(生产部署代码+Git流程+优化后总结报告工作流)。SKILL.md 新增陷阱#8:仓位优化代码必须放在信号生成脚本中,禁止在fintech前后端展示层修改。get-positions-correct.js脚本升级,支持通过策略名称(strategy_name_cn)自动反查strategy_table,无需手动指定表名,使用更便捷akshare接口,可直接获取准确的单日/近5日/近20日/近一月主力净流入数据,资金面分析数据更精准akshare接口,自动获取准确的最新股价和各周期涨跌幅数据,数据来源更稳定可靠