> Source: https://ashareapi.com/docs/guides/ai-quant-mcp/  ·  Markdown version for LLMs / AI agents

教程

# 用 MCP 让 AI 做 A 股量化研究：从取数到验证
 接一次 MCP，之后就能在对话里让 AI Agent 自己取行情/财务/资金流；但回测与裁决要你自己做 —— 下面是完整流程与可复制代码。

## MCP 还是 REST？先按场景分工
 |
| | 你要做的事 | 用哪个 | 为什么

| | 探索式提问（某只票什么情况、板块轮动到哪了） | MCP | 你说人话，AI Agent 自己调工具，不用写代码

| | 回测 / 批量计算 / 定时任务 | REST | 你要控制时机、参数与重试，放在代码里更好管

| | 两个一起用 | 都行 | MCP 用于对话研究，REST 用于生产脚本；同一份数据、同一个 Key

 探索式提问（某只票什么情况、板块轮动到哪了）
 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>" }
```
 Claude Code · .mcp.json

```
{
 "mcpServers": {
 "ashareapi": {
 "type": "http",
 "url": "https://api.ashareapi.com/mcp",
 "headers": { "Authorization": "Bearer ct-你的Key" }
 }
 }
}
```
 Cursor · .cursor/mcp.json

```
{
 "mcpServers": {
 "ashareapi": {
 "url": "https://api.ashareapi.com/mcp",
 "headers": { "Authorization": "Bearer ct-你的Key" }
 }
 }
}
```
 Codex · ~/.codex/config.toml

```
[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 告诉你策略有效"不行 —— 它不知道你的成本假设、样本边界与偏差来源。一个最小骨架：

 Python（回测骨架）
```
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 有什么区别？
 MCP 本身不额外收费，用的是同一套 API 的额度。区别在**谁写代码**：REST 是你写取数代码再喂给模型；MCP 是配置一次，AI Agent 需要时自己取。两者后端相同（同一个 32 端点服务）。

 能让 AI 自动选股或自动交易吗？
 工具能自动化"取数 → 计算 → 筛查"这些环节；但**选股结论与任何涉及资金的动作都不该无人值守**。本文只讲研究工具与验证方法，不给买卖建议。

 回测需要多长历史数据？
 K 线端点一次可取较多根（注意免费档限流）；长周期回测建议自己落库（把每日数据存下来），避免重复拉取。财务与资金流为日频/公告频，够做中期验证。

 数据有延迟吗？
 行情为当日实时快照（盘中随抓取更新）；财务 / 资金流 / 龙虎榜等按交易日更新。**分钟级不在提供范围** —— 需要日内高频请用专业数据商。

 最后更新: 2026-09-21
 接入命令与各客户端键名逐家核对官方文档（2026-09-21）；工具数与免费清单取自线上 `tools/list`（24 工具，其中 5 个无需 Key）；成本量级取自我们自己的回测口径设置。

 接着看

-
[AI 量化：数据与验证（专题）](/docs/ai-quant)

-
[MCP 页（19 家客户端配置）](/mcp)

-
[用 Python 获取 A 股实时行情（3 种方法）](/docs/guides/python-ashare-quotes)

-
[端点清单](/endpoints)

 [← 全部教程](/docs/guides)
