AI 量化怎么做:数据与验证
把 AI 用进 A 股量化,卡点几乎从来不是模型,而是两件事:数据能不能稳定、随时被 AI 拿到;结论能不能被验证(而不是被回测骗)。这篇讲清两条路与四个坑,附可运行代码。
AI 不解决选股,解决的是「数据与验证的一致性」 —— 模型可以帮你写代码、算指标、批量筛查、总结公告;但数据从哪来、口径对不对、结论有没有过拟合,这三件事决定成败。把数据接成 AI 能直接调的工具(MCP),把结论按统计门槛验证,是 ROI 最高的两步。
先破两个常见误区
- 「模型越强,选股越准」—— 模型看不到没有的数据;数据质量决定上限
- 「回测收益高就是策略好」—— 过拟合、幸存者偏差、忽略成本,三个都能把假策略做得很好看
- 「AI 会自己上网找数据」—— 抓网页的数据不稳定、不可复现,回测结果无法复算
- 先把数据变成工具:让 AI Agent 能直接调用结构化行情/财务/资金流,而不是让它读网页
- 先定口径再跑数:数据字段、复权方式、交易日对齐、成本假设,先写清楚
- 按门槛裁决:样本量够、置信区间下界 > 0、样本外方向一致 —— 三条都过才算数
数据从哪来:四条路径怎么选
四条常见路径,成本与稳定性差别很大(下表按"能不能支撑长期跑"排序,不按名气):
| 路径 | 成本 | 稳定性 | 适合 | 主要的坑 |
|---|---|---|---|---|
| 开源库直连(如 AkShare) | 免费 | 中 | 研究、原型、学术用途(官方注明"仅用于学术研究") | 官方说明:接口"经常由于目标网站变换网页格式需要维护",需持续升级版本;官方风险提示:商业使用请注意风险。另有官方 HTTP API 版本 AKTools |
| 积分制数据服务(如 Tushare) | 积分门槛(分级,不消耗积分) | 高 | 结构化历史数据、规范表结构 | 常规数据需 5000 分以上才有较高频次;分钟数据需单独开权限;仍需自行封装给 AI Agent 用 |
| 自建多源 API(本服务) | 免费档可用 · 付费 ¥9.9 起 | 高(多源自动切换,某个源出问题就换) | 长期运行、接 AI Agent / 复盘系统 | 不提供分钟级行情与新闻公告全文(需另配) |
| 自己爬网页 | 时间成本最高 | 低 | 一次性、无替代来源的需求 | 页面改版即失效;反爬与法律风险;结果不可复现 |
选型建议:研究阶段用免费开源库没问题;一旦要长期跑或交给 AI Agent 自动调,就该换成有 SLA 思路的接口(多源切换、限流明确、字段稳定),否则你的时间会持续消耗在修数据上。
怎么把数据接给 AI Agent:两条路
同一份数据,两种接入方式,分工不同:
你自己控制调用时机与参数,把结果喂给模型。适合做回测、批量计算、定时任务。免费端点无需 Key,一个 GET 就能拿数据;返回统一信封 `{ ok, endpoint, tier, elapsed_ms, source, data }`。
import requests
r = requests.get(
"https://api.ashareapi.com/v1/kline",
params={"code": "sh600667", "period": "day", "count": 60},
timeout=10,
)
rows = r.json()["data"] # 按日期倒序,rows[0] 是最新一根
# 交给模型做分析时,只传需要的字段,别整包塞进去MCP(Model Context Protocol)是 AI Agent 调用外部工具的标准协议。配一次之后,你在对话里问行情,Agent 会自己去调工具拿数,不需要你写取数代码 —— 这是"让 AI 做研究"最省事的形态。
# 以 Claude Code 为例(一次接入,之后每个会话都能用)
claude mcp add --transport http ashareapi https://api.ashareapi.com/mcp
# 验证:问「太极实业(600667)现在多少钱?」
# 判断标准:看它是否真的调用了工具(如 ashare_quote),而不是答案看着像免费工具(行情 / K 线 / 热搜 / 市场总览 / 涨跌分布)无需 Key;付费工具在配置里加一行 `Authorization` 头即可。19 家客户端的完整配置见 [MCP 页](/mcp),国内平台接入见 [国内平台教程](/docs/mcp-china)。
取到数据之后:验证最容易骗自己的四个坑
回测能给你任何你想要的结论。下面四个是最常见的"假阳性制造机":
样本内漂亮的参数,样本外常常失效。必须留样本外(OOS):前 70% 定规则、后 30% 独立裁决,方向不一致就作废。
用"今天的股票列表"回测历史,等于默认当年就知道谁不会退市。要用当时的全市场样本(含退市/停牌)。
双边佣金+印花税+滑点会吃掉大部分短周期收益。A 股短线的成本量级:10cm 约 -0.50%、20cm 约 -1.10%(双边)。先算净的。
小样本的"全对"没有统计意义。我们的门槛:样本 ≥ 30 且置信区间下界 > 0 才算通过;区间含 0 就继续积累。
补充一条:数据口径一旦定下就不要改。换字段、换复权方式、换成本假设,等于换了一个实验 —— 之前的结论不再适用,验证要重新开始。
常见问题
不能可靠预测。模型擅长的是:批量处理、写代码、算指标、读公告、把散乱数据整理成结构化结论。把这些环节自动化,能省下大量时间与情绪化操作 —— 但"预测涨跌"本身不是它的能力边界内的事。
接 MCP 之后不需要写取数代码(配置一行,对话即可用);但做回测与验证建议至少能读 Python —— 因为判断"结论是否成立"必须自己看懂统计口径,这一步不该外包给模型。
研究和轻量使用够:5 个数据端点免费无需 Key,匿名 5 次/分,解一次 PoW 挑战可到 60 次/分。批量回测或多人共用出口 IP,建议加 Key(分层限流,标准档 120 次/分)。
可以取数做回测(K 线/财务/资金流/龙虎榜等),但我们不提供分钟级行情与新闻公告全文 —— 这两项请继续用 Tushare 或专业数据商,两边可以同时用。
本文只讲数据与研究工具,不涉及也不建议无人值守的自动交易。任何涉及真实资金的动作,风险控制与人工确认不能被省掉。
最后更新: 2026-09-21
端点、字段与限制取自本服务线上真实返回与 MCP `tools/list`(2026-09-21 实测:信封字段 ok/endpoint/tier/elapsed_ms/source/data,免费端点 5 个,匿名 5 次/分、PoW 后 60 次/分、标准档 120 次/分均核对服务端代码);AkShare 特性引自其官方文档(akshare.akfamily.xyz/introduction 的风险提示与"接口需持续维护"说明);Tushare 积分规则引自官方文档(tushare.pro/document/1?doc_id=108 权限说明、doc_id=234 分钟数据需单独开权限);MCP 定义引自 modelcontextprotocol.io("open-source standard");成本量级取自我们自己的回测口径设置。
把数据接进你的 AI Agent(一行命令),或者先看端点清单确认覆盖范围。