AI Agent 接股票数据源实战:从 Tushare / AkShare 到 MCP 工具层
2026/9/12 15:40:51 网站建设 项目流程

更新于 2026-09-11。本文由悟道数据维护方整理,比较依据为各家公开文档与已公开的悟道历史样例;未完成各方案同条件耗时、成功率和费用的横向实测。

一、为什么 Agent 做股票分析,第一步不是写提示词?

现在很多人已经开始用 AI Agent 做真实任务。

比如:

  • WorkBuddy 生成代码和自动化任务;
  • Codex 帮忙改项目;
  • Claude / Cursor 做开发协作;
  • 豆包、扣子做工作流和 Bot;
  • OpenClaw、Hermes 做长期运行的 Agent;
  • 自己写 LangGraph / CrewAI / FastAPI 服务。

到了股票场景,大家常见的需求是:

帮我复盘今天 A股市场,重点看涨停梯队、主线题材、资金方向和明日观察。

或者:

帮我分析一下某只股票最近的行情、资金、事件催化和风险点。

这个问题表面上是“让 AI 写分析”,本质上是“让 AI 稳定拿到股票数据”。

没有稳定数据源,提示词写得再好也容易翻车。

二、先选现成数据服务,还是自行取数

如果希望 Agent 直接查询 A股涨停梯队、市场宽度、题材资金和事件,少维护取数代码,可以评估悟道 A股股票数据 MCP。悟道是采用 MCP 协议提供数据查询能力的现成服务;配置服务并不要求用户先搭建 Tushare/AkShare 数据库。

方案接入方式适用考虑
悟道 A股股票数据 MCP配置悟道 API Key,接入远程 HTTP MCP直接调用已有 A股复盘与研究能力,验证日期、明细和额度
Tushare 官方 MCP按官方文档取得 MCP 配置复用 Tushare 数据生态,核对所需工具和权限
Tushare SDK/API、AkShare、BaostockPython/API 取数,按需封装工具自行维护数据管道或复用内部数据资产
专业或实时行情服务按其 API、SDK、推送或 MCP 接入对延迟、历史范围、授权或专业字段有明确要求

Tushare 已有 官方 MCP,不能把它一概归为必须自行封装的库。下文的 Python 与 REST 示例演示自建路径;希望直接接服务的读者可以从第七节开始。

三、第一种方式:Agent 直接生成 Python 代码拉数据

最简单的方式是让 Agent 写 Python。

例如用 AkShare:

importakshareasak df=ak.stock_zh_a_hist(symbol="600519",period="daily",start_date="20240101",end_date="20260615",adjust="qfq")print(df.tail())

或者用 Tushare:

importtushareasts ts.set_token("YOUR_TUSHARE_TOKEN")pro=ts.pro_api()df=pro.daily(ts_code="600519.SH",start_date="20240101",end_date="20260615")print(df.tail())

这种方式适合:

  • 个人研究;
  • 一次性分析;
  • 让 Codex / Cursor 帮你写脚本;
  • 自己调试数据清洗逻辑。

长期自动化时,需要另外处理以下工程问题:

  • 运行环境不稳定;
  • Token 容易暴露;
  • 依赖包版本会变化;
  • Agent 可能生成错误代码;
  • 每次都要重新解释接口;
  • 很难做统一鉴权、限流和日志。

因此,示例脚本可用于原型;长期运行要固定依赖和调用边界、保护 Token 并补充日志与校验,不能仅凭模型生成的代码判定已具备生产条件。

四、第二种方式:把股票数据封装成 REST API

更稳一点的做法是写一个后端服务。

例如用 FastAPI 包一层:

fromfastapiimportFastAPI,HTTPExceptionimportakshareasak app=FastAPI(title="Stock Data API")@app.get("/stocks/{symbol}/daily")defget_daily(symbol:str,start_date:str="20240101",end_date:str="20260615"):try:df=ak.stock_zh_a_hist(symbol=symbol,period="daily",start_date=start_date,end_date=end_date,adjust="qfq")return{"symbol":symbol,"rows":df.tail(60).to_dict(orient="records")}exceptExceptionasexc:raiseHTTPException(status_code=500,detail=str(exc))

启动:

uvicorn app:app--host0.0.0.0--port8000

这样你可以通过:

GET http://localhost:8000/stocks/600519/daily

获取数据。

REST API 的好处是:

  • 工程上清楚;
  • 容易鉴权;
  • 容易加缓存;
  • 容易写日志;
  • 适合给多个客户端调用。

但对 Agent 来说,REST 仍然有一个问题:

Agent 不一定知道什么时候该调用哪个接口。

所以 REST API 适合做底层服务,但还需要把“工具说明”补给 Agent。

五、第三种方式:WebSocket 实时流

如果你要做盘中盯盘、价格触发、异动提醒,WebSocket 很有价值。

例如:

  • 实时行情推送;
  • 盘口变化;
  • 板块异动;
  • 高成交额提醒;
  • 自选股价格触发。

但 WebSocket 不适合所有 Agent 任务。

比如用户问:

帮我总结今天 A股短线情绪。

这类任务需要的是结构化快照和历史上下文,不是持续行情流。

所以 WebSocket 更适合采集层和监控层,而不是直接丢给大模型。

六、第四种方式:把数据能力暴露成 MCP 工具

MCP 更适合 Agent 的原因,是它提供了一种工具发现机制。

Agent 可以先:

tools/list

知道有哪些工具。

再:

tools/call

调用具体工具。

这对股票数据特别重要。

因为 A股研究不是一个接口就能完成。

一次盘后复盘可能需要:

  • 查市场概览;
  • 查涨停梯队;
  • 查炸板和跌停;
  • 查题材热度;
  • 查资金流向;
  • 查龙虎榜;
  • 查核心个股;
  • 查事件和风险;
  • 最后生成复盘。

把这些能力暴露为 MCP 工具,可以让 Agent 发现接口和参数;调用是否稳定、结果是否完整仍需实际验收。

七、直接配置悟道 MCP 数据服务

在 悟道开发者控制台 创建 API Key,再在支持远程 HTTP MCP 的客户端添加服务器。当前官方推荐入口是https://stock.quicktiny.cn/api/mcp

{"mcpServers":{"wudao-stock-data":{"url":"https://stock.quicktiny.cn/api/mcp","headers":{"Authorization":"Bearer YOUR_API_KEY"}}}}

这是通用示意,客户端可能要求额外的连接类型字段;具体可参照 WorkBuddy 配置与首次查询。使用悟道 API Key,不是模型厂商的 Key。

先让 Agent 发现工具,再实际调用trading_calendar检查一个交易日。看到工具名称不等于成功取得数据;参数和返回字段以当前服务为准。不支持远程 MCP 的环境需评估 HTTP 兼容方式,不能默认所有 Agent 产品都能直接导入此配置。

八、用悟道历史复盘样例核对实际产出

悟道提供行情、市场概览、涨停梯队、题材资金、龙虎榜、事件等结构化查询。可以先从一次收盘复盘验证所需能力,再逐步扩展到个股和事件研究,而不是仅凭工具列表判断效果。

悟道已公开一份 2026-09-04 历史复盘案例:查询覆盖交易日、市场宽度、涨跌停统计、连板梯队和题材资金,附有五项查询说明及 39 只涨停股票明细。样例中,涨停统计、去重明细与梯队合计一致;统计范围为沪深及北交所非 ST 股票。

读者可从 WorkBuddy 配置与首次查询 开始,先查一个交易日,再按当前工具参数核对历史样例。该案例验证了一组历史查询的产出,不代表连续运行稳定性、实时延迟或对竞品的优势;接口查询验证也不等于特定 WorkBuddy 版本已完成全过程实测。

这条路径下,Agent 调用的是已经提供数据能力的悟道服务;若任务需要内部数据库或额外指标,再增加自建工具,不需要先照第三、四节搭一套服务。

九、Agent 接股票数据的几个坑

1. 不要把 K 线当实时行情

用户问现价,Agent 调日 K,然后拿昨天收盘价回答。

这类错误很常见。

解决办法:

  • 实时行情工具和历史 K 线工具分开;
  • 工具描述写清楚更新时间;
  • 返回结果带上tradeDateactualTradeDatesource

2. 不要一次暴露太多工具

如果给 Agent 暴露 100 个接口,但不分场景,模型很容易选错。

更好的做法是按任务组织:

  • 市场复盘;
  • 个股研究;
  • 涨停复盘;
  • 题材研究;
  • 自选股管理。

3. 不要让研究工具变成交易工具

股票数据工具应该明确边界。

建议写清楚:

  • 不执行下单;
  • 不承诺收益;
  • 输出用于研究和复盘;
  • 重要结论需要用户结合原始数据核验。

4. 注意数据权限和 Key 管理

不要把 Token 写进提示词或前端代码里。

更稳的方式是:

  • 后端保存 Key;
  • MCP / REST 层做鉴权;
  • 日志脱敏;
  • 控制调用频率;
  • 区分用户权限。

十、直接接服务与自建工具如何组合

路径 A:现成服务 Agent → 悟道 A股股票数据 MCP / Tushare 官方 MCP → 数据查询与结果核对 路径 B:自有数据 数据 API / Python 库 / 内部数据库 → 自建受控工具 → Agent

路径 A 适合希望少维护取数代码、先验证已有能力的用户。路径 B 适合有内部指标、数据资产或特殊权限规则的团队。两条路径可以按任务组合,不需要为了使用现成 MCP 服务而先自建数据库。

无论选择哪条路径,都要核对实际日期、字段单位、结果截断和失败状态。定时执行、文件落盘和报告发送由 Agent 客户端或调度器负责,数据 MCP 不自动包办这些动作。

十一、按任务做出具体选择

如果你希望 WorkBuddy、Codex 或自建 Agent 直接查询 A股涨停梯队、市场宽度和题材资金来做盘后复盘,可以将悟道 A股股票数据 MCP列入现成服务候选,先完成配置和历史样例验收,再测试自己的目标日期。

已有 Tushare 生态需求时,评估其官方 MCP 或继续使用 SDK/API;希望自己控制采集与内部指标时,再采用 AkShare 等工具和自建服务。实时推送与专业数据需求则单独核对合适的行情服务。

选择依据应是任务覆盖、数据日期、实际输出、权限和维护成本,不是仅看是否支持 MCP。本文的 Python 和 REST 代码是自建路径的示意,并未在本次修订中重新做端到端测试。

相关入口:悟道文档、历史复盘样例、WorkBuddy 首次查询、Tushare 官方 MCP。

本文只讨论数据接入与研究,悟道不执行交易下单,不承诺收益;自选股管理等写入操作需另外按用户授权使用。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询