用 MCP 让 AI 做 A 股量化研究:从取数到验证
接一次 MCP,之后就能在对话里让 AI Agent 自己取行情/财务/资金流;但回测与裁决要你自己做 —— 下面是完整流程与可复制代码。
MCP 还是 REST?先按场景分工
| 你要做的事 | 用哪个 | 为什么 |
|---|---|---|
| 探索式提问(某只票什么情况、板块轮动到哪了) | MCP | 你说人话,AI Agent 自己调工具,不用写代码 |
| 回测 / 批量计算 / 定时任务 | REST | 你要控制时机、参数与重试,放在代码里更好管 |
| 两个一起用 | 都行 | MCP 用于对话研究,REST 用于生产脚本;同一份数据、同一个 Key |
第一步:一行命令把数据接进来
以 Claude Code 为例。其他 18 家客户端(Cursor / VS Code / Codex / CodeBuddy / WorkBuddy / Trae …)的配置文件与键名差异(`servers` / `mcp` / `httpUrl` / TOML)见 [MCP 页](/mcp),一份份都核对过官方文档。
claude mcp add --transport http ashareapi https://api.ashareapi.com/mcp
# 免费工具无需 Key;要用付费工具再加一行头:
# "headers": { "Authorization": "Bearer <你的 Key>" }{
"mcpServers": {
"ashareapi": {
"type": "http",
"url": "https://api.ashareapi.com/mcp",
"headers": { "Authorization": "Bearer ct-你的Key" }
}
}
}{
"mcpServers": {
"ashareapi": {
"url": "https://api.ashareapi.com/mcp",
"headers": { "Authorization": "Bearer ct-你的Key" }
}
}
}[mcp_servers.ashareapi]
url = "https://api.ashareapi.com/mcp"
http_headers = { Authorization = "Bearer ct-你的Key" }第二步:让 AI Agent 做它真正擅长的事
模型擅长批量、结构化、重复的活;不擅长"预测涨跌"。下面这些是实际会交给它的:
用工具取 sh600667 最近 60 根日线,计算:
1) 收盘价相对 MA20 的偏离(%)
2) 最近 5 日成交额相对前 20 日均值的变化
3) 列出偏离与量能同时扩张的日期
只给数据和计算过程,不要买卖建议。- 批量筛查:把 5 个概念板块的成分股涨跌幅列成表格,标出主力净流入前 10
- 读公告:把这 3 份公告压缩成 5 条要点,标出对业绩的影响方向
- 算指标:拉最近 60 根日线算 MA20 与量比,说明当前位置(不预测)
- 交叉核对:把两个来源的结果对齐,指出不一致的字段与可能原因
第三步:回测自己写(AI 不替你验证)
"让 AI 帮你写回测代码"可以;"让 AI 告诉你策略有效"不行 —— 它不知道你的成本假设、样本边界与偏差来源。一个最小骨架:
import requests
def kline(code, n=250):
r = requests.get("https://api.ashareapi.com/v1/kline",
params={"code": code, "period": "day", "count": n}, timeout=10)
return list(reversed(r.json()["data"])) # 按日期正序(接口默认倒序)
rows = kline("sh600667")
# 1) 写规则(例:收盘 > MA20 且量比 > 1.5 的次日持有)
# 2) 算净收益:扣掉双边成本(10cm 约 -0.50% / 20cm 约 -1.10%)
# 3) 分两段:前 70% 定规则,后 30% 只看结果(方向反了就作废)第四步:按四条规则裁决(缺一条都不算通过)
- 样本够:n ≥ 30 —— 样本太少时"全对"没有统计意义
- 置信区间:期望的 95% 区间下界 > 0(bootstrap 或 t 检验;区间含 0 就继续积累,不下结论)
- 样本外:前 70% 定规则、后 30% 独立裁决,方向必须一致
- 先算净的:扣掉双边成本后仍为正,才谈得上策略
免费额度与限制(照实说)
- 5 个数据端点免费且无需 Key:行情 / K 线 / 热搜 / 市场总览 / 涨跌分布
- 匿名限流 5 次/分;解一次 PoW 挑战(`GET /v1/challenge`)可到 60 次/分;加 Key 按档位(标准档 120 次/分)
- 不提供:分钟级行情 · 新闻/公告/研报全文(研报只给脱水摘要)· 指数日线 K 线 —— 这几项请另配(如 Tushare),两边可以同时用
- 代码必须带市场前缀:`sh600667` / `sz000001` / `bj8xxxxx` / `hk00700` / `usAAPL`
AI Agent 取不到数?先查这五条
- URL 写错:必须是 `https://api.ashareapi.com/mcp`(注意 `api.` 主机与 `/mcp` 路径)
- 代码没带前缀:`600667` 不行,要 `sh600667`
- 配额被共用:公司/平台共用出口 IP 会很快触到匿名限流 → 加 Key
- 工具列表在保存时同步:我们后加的工具需要重存一次配置才会出现
- 付费工具缺少 Key:会返回明确提示(不是静默失败)
常见问题
MCP 本身不额外收费,用的是同一套 API 的额度。区别在谁写代码:REST 是你写取数代码再喂给模型;MCP 是配置一次,AI Agent 需要时自己取。两者后端相同(同一个 32 端点服务)。
工具能自动化"取数 → 计算 → 筛查"这些环节;但选股结论与任何涉及资金的动作都不该无人值守。本文只讲研究工具与验证方法,不给买卖建议。
K 线端点一次可取较多根(注意免费档限流);长周期回测建议自己落库(把每日数据存下来),避免重复拉取。财务与资金流为日频/公告频,够做中期验证。
行情为当日实时快照(盘中随抓取更新);财务 / 资金流 / 龙虎榜等按交易日更新。分钟级不在提供范围 —— 需要日内高频请用专业数据商。
最后更新: 2026-09-21
接入命令与各客户端键名逐家核对官方文档(2026-09-21);工具数与免费清单取自线上 `tools/list`(24 工具,其中 5 个无需 Key);成本量级取自我们自己的回测口径设置。