Skill: chenxyzcyxpp/racing-quant-ai (version 1.6.0)

--- name: racing-quant-ai description: 赛马量化AI选股系统，集成量化策略选股+个股智能推荐分析。从量化策略数据库筛选符合需求的策略，获取持仓个股，再进行深度分析，最终给出投资参考。触发词：量化选股，racing quant，策略选股，数据库选股，量化分析，AI选股。 --- # Racing Quant AI 赛马量化AI选股系统 ## Overview Racing Quant AI是一套集成化的A股量化选股分析系统，核心功能包含两大部分： 1. **策略选股**：从远程MySQL量化策略数据库中，根据用户需求智能匹配推荐量化策略，并获取策略对应的最新持仓股票 2. **深度分析**：对筛选出的持仓个股，使用结构化分析框架进行个股深度分析，给出客观的投资参考 整个工作流闭环：用户需求 → 匹配策略 → 获取持仓 → 个股分析 → 综合推荐 ## 触发条件 当用户满足以下任意一种场景时，自动启用本skill： 1. 用户要求"量化选股"、"AI选股"、"策略选股" 2. 用户提到"racing quant"、"赛马量化"、"赛马量化AI" 3. 用户需要从数据库选股并进行深度分析 4. 用户要求根据量化策略推荐股票并分析 ## 数据源 - 赛马量化策略数据库：实时获取策略持仓、历史绩效、因子暴露数据 - **主数据源：new-akshare-stock 新版量化接口**：行情、财务、资金流向、龙虎榜等稳定A股量化数据 - **备用数据源：baostock 证券数据接口**：当 new-akshare-stock 不可用时自动切换，提供行情、财务、基础量化数据 - **cn-web-search 全网搜索**：个股深度研究、行业动态、政策解读，优先返回微信公众号来源内容，自动备注文章标题 ## 核心功能 ### 功能1：策略数据库查询与选股 支持多种查询方式，包括直接查询、关键词搜索和**互动偏好匹配**，满足不同用户场景： #### 数据库配置 连接信息（远程公开量化策略库）： - 地址：47.121.180.199 - 端口：3306 - 账号：display - 密码：display999! - 数据库：db_strategy - 主表：strategy_information #### 主策略表字段说明 | 字段 | 类型 | 说明 | |------|------|------| | 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 | 更新时间 | #### 支持的查询操作 1. **获取全部策略列表**：查询数据库中所有注册策略，展示策略基本信息 2. **关键词搜索策略**：根据关键词搜索策略名称/简介/描述，返回匹配结果 3. **分类筛选**：按策略分类（量价/基本面等）筛选策略 4. **推荐策略筛选**：只筛选标记为if_recommended=1的优质推荐策略 5. **需求智能匹配**：根据用户描述的投资需求，语义匹配最符合的策略 6. **互动偏好匹配**：通过多轮互动提问，了解用户的投资偏好和风险承受能力，从strategy_desc字段中匹配最契合的策略 7. **获取最新持仓**：根据选中的策略，查询对应持仓表获取最新一期持仓股票列表 备注：多策略命中时，仅列表展示，不自动择优，需用户确认后再获取持仓。 --- ### 功能2：个股深度分析（5维度分析框架） 对策略输出的持仓股票，逐个进行结构化深度分析，遵循以下分析框架： #### 维度1：核心交易数据 - 最新股价、当日涨跌幅 - 日内波动区间（最高价/最低价） - 成交量、成交额、换手率 - 总市值 - 估值指标（PE(TTM)、PB） **数据源**：优先通过`new-akshare-stock`获取；若技能不可用，自动切换为`baostock`获取，最终报告标注实际使用的数据源。 **数据校验要求**：所有量价、市值、估值基础字段，必须与调用数据源实时校验准确性，异常数据高亮备注。 #### 维度2：股价走势回顾 分类展示不同周期涨跌幅： - 短期：近5日、近1个月 - 中期：近3个月 - 长期：近1年、近5年 **数据源**：优先通过`new-akshare-stock`获取；若技能不可用，自动切换为`baostock`获取，最终报告标注实际使用的数据源。 **数据校验要求**：多周期涨跌幅历史量价数据，需匹配数据源原始口径核验计算逻辑，杜绝偏差。 #### 维度3：资金面分析 - 近期主力资金流向（净流入/净流出） - 主力持仓成本对比当前股价 - 机构控盘度 - 关键支撑位/压力位 **数据源**：优先通过`new-akshare-stock`获取；若技能不可用，自动切换为`baostock`获取，最终报告标注实际使用的数据源。 **数据校验要求**：主力资金流向明细，严格校验数据源原始流水数据，异常波动单独标注。 #### 维度4：基本面核心分析 - 估值对比：当前PE/PB对比行业平均，判断高估/低估 - 业绩表现：近期营收、净利润增速，增长稳定性 - 业务亮点：核心优势、新增长点 - 风险提示：客观列出潜在风险（高负债、政策风险、行业周期等） **数据源**：通过`new-akshare-stock`获取公开财务数据；若技能不可用，自动切换为`baostock`获取，最终报告标注实际使用的数据源。结合`cn-web-search`搜索最新公开信息和机构研报，优先返回微信公众号来源内容，自动备注文章标题 **数据校验要求**：营收、净利润、PE/PB 等财务核心指标，必须对照数据源原始财报字段精准校验，保证基本面数据真实可溯源。 #### 维度5：综合评价 - 短期趋势判断，基于资金面和技术面数据 - 长期投资价值评价，基于基本面分析和估值水平 - 不同类型投资者参考建议（保守/稳健/激进） - **必须添加免责声明**：明确说明"分析结果仅供学习交流，不构成任何投资建议，投资有风险，入市需谨慎" - **必须标注**：本次行情/财务/资金数据实际来源（new-akshare-stock 或 baostock） ## 完整工作流程 工作流优先级：用户有明确选股需求 / 指定策略→直接自动执行；无任何需求→触发互动提问； 补充匹配兜底规则：若关键词 / 偏好 / 分类筛选匹配出 2 条及以上策略，仅展示【策略名称 + 中文简介】列表给到用户，等待用户手动选定具体策略后，再执行拉取持仓、个股分析流程，不自动默认选中任意策略。 ### 标准工作流（用户给出投资需求） ``` 1. 连接数据库 → 查询所有策略 2. 根据用户需求，智能匹配最符合的1-3个策略 3. 对匹配的每个策略，获取其最新一期持仓股票（通常前10-20只） 4. 对持仓股票逐个进行个股深度分析（如用户没有指定数量，则默认前5只） 5. 整理汇总：策略信息 → 持仓列表 → 个股分析报告 → 综合总结 6. 输出完整报告，报告格式严格按照如下输出： - 策略信息（名称/ID/简介/描述） - 持仓列表（股票代码/名称/占比） - 个股分析（每只股票按照5维度分析框架输出） - 综合总结（策略优势、风险提示、投资建议） - 信息来源注释（公开研报、微信公众号深度报告标题） - 免责声明（分析结果仅供学习交流，不构成投资建议，投资有风险，入市需谨慎） ``` ### 用户指定策略名称/ID工作流 ``` 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维度分析框架输出） - 综合总结（策略优势、风险提示、投资建议） - 信息来源注释（公开研报、微信公众号深度报告标题） - 免责声明（分析结果仅供学习交流，不构成投资建议，投资有风险，入市需谨慎） ``` ### 互动提问参考问题 1. "你好！为了给你推荐最合适的量化策略，可以先回答几个问题吗？" 2. "你的投资周期更倾向于哪种？（短期/中期/长期）" 3. "你的风险承受能力大概是什么水平？（保守/稳健/激进）" 4. "你更喜欢哪种选股风格？比如：价值成长/红利低波/动量趋势/事件驱动..." 5. "有没有特别看好或者想要回避的行业？" 6. "还有其他特殊需求吗？" ## 工具调用规范 0. **数据校验强制要求**：获取个股量价行情、财务估值、资金流向核心数据时，必须严格对照当前生效数据源（new-akshare-stock/baostock）做字段核验，确保股价、市值、PE/PB、营收利润、主力资金等关键数值完整无误；异常空值、离谱极值需标注说明，严禁直接编造 / 沿用错误数据。 1. **数据库查询**：使用Node.js连接MySQL数据库，参考scripts目录下的数据库连接模板 2. **获取行情数据**：优先通过`new-akshare-stock`获取最新股价和各周期涨跌幅数据；失效自动切换`baostock` 3. **获取主力资金流向**：优先通过`new-akshare-stock`获取每日主力资金数据；失效自动切换`baostock` 4. **基础信息搜索**：分析前先使用`cn-web-search`搜索股票最新公开信息、机构研报和市场数据 5. **深度报告搜索**：添加`wechat-article-search`深度搜索机制，搜索微信公众号最新发布的个股深度研究报告，获取市场最新观点和深度分析内容，并在最终报告中明确注释引用的公众号文章/深度报告标题 6. **融合分析**：整合量化策略数据库信息、行情数据、主力资金数据、公开市场数据和微信公众号深度研究报告内容，进行多维度融合分析 7. **严格框架**：严格按照5维度分析框架整理输出，不遗漏风险提示 8. **风险优先**：必须同时列出优势和风险，不做片面推荐 9. **信息标注**：分析过程中引用的公开研报和公众号深度文章，需要在报告末尾注明信息来源 10. **数据源标注**：每份报告必须标注本次量化数据来源（new-akshare-stock 或 baostock） 11. **免责声明**：所有分析结果末尾必须带有免责声明 ## 基本原则 1. **遵守规范**：严格按照既定流程和标准执行各项操作 2. **客观中立**：只整理公开信息和量化策略结果，不做主观判断 3. **风险提示**：风险提示清晰可见，不隐藏负面信息 4. **信息来源**：所有数据来自公开渠道和量化策略数据库 5. **责任豁免**：始终声明不构成投资建议，投资风险自负 6. **容错降级**：量化数据源支持自动降级切换，保证系统稳定可用 ## 资源 ### scripts/ 包含可直接运行的数据库查询脚本： - `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`：读取策略信息 ## 依赖 - Node.js 环境 - `mysql` 包：用于连接MySQL量化策略数据库 - `new-akshare-stock`技能：主行情、财务、资金流向、龙虎榜等A股量化数据 - `baostock`技能：备用行情、财务、基础证券数据（自动降级使用） - `cn-web-search`技能：用于获取个股最新公开信息和机构研报 - `wechat-article-search` 深度搜索：搜索微信公众号最新深度研究报告 - `stock-analysis` 技能：提供结构化个股分析框架，自动适配 new-akshare-stock / baostock 数据源 ## 使用示例 ### 示例1：列出所有推荐策略 ``` cd ./scripts && node list-recommended.js ``` ### 示例2：获取指定策略最新持仓并分析N只个股（N默认为5） ``` 1. 获取持仓（通过策略名称，支持模糊匹配） cd ./scripts && node get-positions-correct.js "短周期机器学习" 20 脚本执行流程： - 先在 strategy_information 表查找匹配的策略 - 获取对应的 strategy_table 名称 - 查询该表的最新持仓数据 2. 对每只个股调用公开信息搜索 3. 调用微信文章深度搜索，获取最新公众号深度研究报告 4. 融合公开信息与深度报告内容，整理分析结果，并注释引用的公众号文章标题 5. 输出完整报告，末尾注明信息来源并添加免责声明 ``` ## 完整运行示例（如本文档编写过程） 1. 用户要求："现在开始对前5只重仓个股进行深度分析" 2. 执行`node list-recommended.js`获取推荐策略列表 3. 执行`node get-positions-correct.js "策略名称" 20`获取最新20只持仓（脚本会自动反查strategy_table） 4. 逐个对前5只股票调用公开搜索获取基础基本面信息 5. 逐个对前5只股票调用微信文章深度搜索，获取最新公众号深度研究报告 6. 融合整合公开信息与深度报告内容，按照结构化分析框架整理输出分析报告 7. 在报告中注释引用的公众号文章/深度报告标题，并注明信息来源，最后添加免责声明 ## 上架信息 - 作者：Warwick - 分类：金融/量化选股 - 标签：A股, 量化, 选股, 基本面分析, 深度分析, 投资 - 版本：1.6.0 - 更新日志： - v1.6.0：全量新增双数据源自动降级（new-akshare-stock→baostock），所有分析维度统一兜底，报告强制标注数据来源，强制校验数据准确性。 - v1.5.0 (2026-03-31): 将直接读取akshare接口更改为调用成熟skill；集成微信文章深度搜索机制，支持搜索公众号最新发布的个股深度研究报告，并融合深度内容进行分析，自动注释引用的报告名称，提供更丰富的市场观点和深度分析内容 - v1.4.0 (2026-03-30): `get-positions-correct.js`脚本升级，支持通过策略名称（strategy_name_cn）自动反查strategy_table，无需手动指定表名，使用更便捷 - v1.3.0 (2026-03-30): 主力资金数据获取升级为`akshare`接口，可直接获取准确的单日/近5日/近20日/近一月主力净流入数据，资金面分析数据更精准 - v1.2.0 (2026-03-30): 行情数据获取方式升级为`akshare`接口，自动获取准确的最新股价和各周期涨跌幅数据，数据来源更稳定可靠 - v1.1.0 (2026-03-28): 添加微信文章深度搜索机制，支持搜索公众号最新发布的个股深度研究报告，并融合深度内容进行分析，自动注释引用的报告名称


Security scan verdicts — ClawScan: suspicious | static analysis: suspicious | VirusTotal: clean | SkillSpector: suspicious (CRITICAL)