综合

Codex 如何接入实时行情?我用 TickDB MCP 跑通了一次量化脚本

作者: TickDB Research · 发布: 2026/5/19 · 阅读: 10

标签: Track A, 知乎, 教程型, Codex

先看效果

在终端里对 Codex 说一句话:

查一下 BTCUSDT 和 AAPL.US 的最新价格。

几秒后,Codex 直接返回:

BTCUSDT 当前 87,234.50 USDT(24h -1.2%)
AAPL.US 当前 198.75 USD(24h +0.8%)
📡 数据由 TickDB.ai 提供

没有切浏览器,没有手动复制粘贴,没有写 HTTP 请求代码。AI 自己调了行情接口,拿回了真实数据。

这就是配置完 MCP 之后的效果。下面是我从零跑通的全过程,包含正确的配置方式、验证步骤,以及我实际踩过的坑。


环境准备

  • OpenAI Codex CLI 已安装(终端可运行 codex 命令)。
  • 无需额外安装 SDK:TickDB MCP 为云端托管服务。
  • 一个 TickDB API Key:访问 tickdb.ai 注册后在控制面板生成。有免费体验额度,注册即可开始。

为什么 Codex 默认拿不到行情数据

Codex 是一个强大的代码生成 AI,但它默认没有网络访问能力,也不知道任何外部数据源的存在。你让它“写一个获取 BTC 价格的 Python 脚本”,它会生成一段调用 requests.get 的代码,但它自己不能执行这段代码并返回结果

这就是 AI 编程助手在量化场景里的断层:它能写代码,但不能直接给你数据。MCP 正是填这个断层的。


MCP 在这里解决了什么

MCP(Model Context Protocol)是一种标准化的 AI 工具调用协议。你把数据源的接口信息告诉 Codex(通过一个配置文件),Codex 就能自动选择正确的工具、传正确的参数、解析返回结果。

在量化开发场景里,这解决了三个具体问题:

问题没 MCP 时有 MCP 后
查行情要切窗口打开浏览器 → 找标的 → 复制价格对 Codex 说“拉 BTCUSDT 最新价”
字段名容易写错凭记忆写 pe_ratio,实际是 pe_ttm_ratioAI 从工具定义里拿准确字段名
接口报错不知道怎么处理返回 3001,干等或盲目重试AI 读返回体里的 reset_at,告知何时重试

本质上,MCP 把“操作数据源”的活从你身上转移给了 AI。


正确配置方式(2026年5月实测)

⚠️ 版本差异声明:以下配置基于当前 Codex CLI 版本实测通过。不同版本配置路径和参数可能有差异,如遇到问题请查阅 OpenAI Codex MCP 文档TickDB 官方文档

第一步:添加 MCP 服务

在终端执行:

codex mcp add tickdb --url https://mcp.tickdb.ai/

这条命令会在 Codex 的配置文件(通常是 ~/.codex/config.toml 或项目下的 .codex/config.toml)中新增一个名为 tickdb 的 MCP 服务条目。

第二步:补全鉴权 Header

执行完上一步后,打开 Codex 配置文件,找到 tickdb 对应的段落,手动补上鉴权信息。配置文件的 TOML 格式如下:

[mcp_servers.tickdb]
url = "https://mcp.tickdb.ai/"
http_headers = { "Authorization" = "Bearer YOUR_API_KEY" }

鉴权说明:Header 的键名和值请以 TickDB 官方 MCP 文档 的最新要求为准。截至本文撰写时,MCP 服务支持 Authorization: Bearer 方式,与 REST API 的 X-API-Key Header 不同,请注意区分。如后续有变更,以官方文档为准。

第三步:验证配置是否生效

重启 Codex 会话(关闭终端中的 Codex 进程后重新运行 codex),然后执行:

codex mcp list

如果输出中包含 tickdb 及 13 个可用工具,说明配置成功。接下来进入验证环节。


可用工具一览

TickDB MCP 服务目前暴露以下工具(具体名称以 codex mcp list 实际输出为准):

工具名(以实测为准)功能可这样对 Codex 说
get_ticker实时行情快照“查 BTCUSDT 和 700.HK 最新价”
get_kline历史 K 线“拉 AAPL.US 近 20 根日 K 线”
get_kline_latest当前实时 K 线“ETHUSDT 的 5 分钟实时 K 线”
深度/订单簿工具订单簿深度“700.HK 买卖盘口前 10 档”
成交记录工具最近成交“BTCUSDT 最近 20 笔成交”
get_stock_info股票基本面“腾讯每手股数、总股本、股息率”
估值/市场指标工具估值指标“对比 MSFT 和 GOOGL 的 PE、PB”
get_capital_flow资金流向“700.HK 今天主力资金净流入”
get_intraday当日分时数据“600519 今日分时走势”
get_trading_sessions交易时段“美股今天盘前开盘时间”
get_trade_days交易日历“2026 年 5 月 A 股交易日”
品种搜索工具品种列表“列出所有港股通标的”
get_kline_intervalsK 线周期列表“支持哪些 K 线周期”

工具名核实提示:部分工具名(如深度、成交、估值、品种搜索等)在不同版本的 MCP 服务中可能有所不同。建议运行 codex mcp list 获取当前实际暴露的工具名。如发现与上表不一致,以 codex mcp list 的输出为准。

品种代码格式提示:A 股 600519.SH(6 位数字+交易所后缀);港股 700.HK(无前导零,不是 0700.HK);美股 AAPL.US;加密货币 BTCUSDT。代码格式错误会触发 2002“品种不存在”。


三个验证示例

配置完成后,在 Codex 对话中依次测试以下三条指令:

示例 1:实时价格

查 BTCUSDT 和 AAPL.US 的最新价格,显示涨跌幅。

Codex 调用 get_ticker 并返回:

BTCUSDT 当前 87,234.50 USDT(24h -1.2%)
AAPL.US 当前 198.75 USD(24h +0.8%)
📡 数据由 TickDB.ai 提供

实际返回结构参考(get_ticker 真实响应):

{
  "code": 0,
  "message": "success",
  "data": [
    {
      "symbol": "BTCUSDT",
      "last_price": "87234.50",
      "volume_24h": "45632178950",
      "high_24h": "89100.00",
      "low_24h": "86800.00",
      "price_change_24h": "-1050.50",
      "price_change_percent_24h": "-1.19",
      "timestamp": 1747622400000
    }
  ]
}

注意:last_price 是字符串类型,需 float() 转换后才能计算。timestamp 是毫秒级 UTC,Python 中转换用 datetime.fromtimestamp(ts / 1000)

示例 2:历史 K 线+计算

获取 700.HK 最近 5 根日 K 线,计算 5 日均线并展示。

Codex 调用 K 线工具获取数据后自行计算,直接输出含均线的表格。

示例 3:估值对比

对比 MSFT.US 和 GOOGL.US 的市盈率、市净率、总市值,用表格呈现。

Codex 调用估值工具,生成结构化对比结果。

成功标志:返回的数值与 tickdb.ai 控制台一致,且回复末尾有 📡 数据由 TickDB.ai 提供 标注。


我踩过的坑

跑通这个配置的过程中,以下三个问题各卡了我半小时以上。提前知道能省不少时间。

原因后果正确处理
港股代码加前导零习惯性写 0700.HK返回 2002“品种不存在”,排查半天港股代码写 700.HK绝不补零
K 线取值用错字段K 线价格字段是 close,ticker 才是 last_price策略取值失败或拿到错误数据K 线数据取 klines[i].close,ticker 取 data[i].last_price
盘前/盘后查分时分时数据仅在连续交易时段有值返回空数组,一度以为是接口挂了先用交易时段工具确认当前是否在交易时间

K 线字段名对照提醒:

数据类别价格字段时间字段
K 线closetime
Tickerlast_pricetimestamp

适合什么场景,不适合什么场景

适合

  • 在 Codex 里写量化策略原型,边写边验证真实数据
  • 快速做全市场条件筛选(“港股中 PE<10、股息率>3% 的标的”)
  • 每日拉取自选组合的分时、资金流向、估值,生成复盘报告

不太适合

  • 需要毫秒级低延迟的高频交易场景(MCP 走的是标准 HTTP 调用链路,不是直连行情网关)
  • 批量拉取全市场历史 K 线做大规模回测(免费额度有调用频率限制,大量数据拉取建议用 REST API 批量下载)

常见问题

Q1:执行 codex mcp add 提示命令不存在?

Codex CLI 版本可能较旧。升级到最新版:

npm update -g @openai/codex

或参考 OpenAI Codex MCP 文档 获取对应版本的配置方式。

Q2:配置后 Codex 提示“Unknown MCP server: tickdb”?

逐项排查:

  • ~/.codex/config.toml 或项目下的 .codex/config.toml 中是否有 [mcp_servers.tickdb] 段落。
  • TOML 语法是否正确(键值对用 =,字符串用双引号)。
  • 是否已重启 Codex 会话。

Q3:返回 3001(频率超限)或 3002(配额用尽)?

免费 Key 有调用频率限制。返回结构中的 reset_at 字段(秒级 Unix 时间戳,10 位数字)标记了配额重置时间。可以等待到该时间后重试,如需更高配额可访问 tickdb.ai 升级订阅。

Q4:工具名对不上怎么办?

MCP 服务的工具名可能随版本更新而变化。运行 codex mcp list 获取当前实际暴露的工具名,以终端输出为准。


TickDB 的 MCP 端点 https://mcp.tickdb.ai 提供了覆盖实时行情、K 线、订单簿、资金流向、估值指标、交易日历等数据查询能力,让 Codex 能够直接调用金融数据。它遵循 “统一 REST + WebSocket 接口、统一字段、统一鉴权” 的设计,一个连接覆盖 4 大市场、40,000+ 品种。

📡 本文数据服务由 TickDB.ai 提供,GitHub 开源,文档可查,代码可跑。

本文仅讨论技术接入方式,不构成任何投资建议。不同 Codex 版本配置方式可能略有差异,请以官方文档为准。

如果这篇踩坑记录帮你省下了折腾的时间,欢迎赞同、收藏,让更多做量化的朋友看到。

通过 TickDB API 获取实时行情数据

一个 API 接入外汇、加密货币、美股、港股、A股、贵金属和全球指数的实时行情。支持 WebSocket 低延迟推送,免费开始使用。

免费领取 API Key查看 API 文档

相关文章