让 Cursor 帮你搞定美股 4 个时段:AI Agent 的时段感知实战

TickDB Research ·

一、AI 看到美股数据时,第一个困惑就是时段

给 AI Agent 接美股数据,第一个翻车现场通常是这样的:Agent 在美东时间凌晨 5 点查了一次 AAPL 的价格,兴冲冲告诉你“当前价格 260.81”。你手动打开 tradingview 一看——价格根本不一样。

不是数据源错了,是 Agent 不知道美股有 4 个交易时段。它随便拿了一个时段的报价就当“最新价”用。

给 AI Agent 接美股数据,几乎所有开发者第一次都会忽略时段问题——不是模型的问题,是你把行情 JSON 扔给 Agent,里面没有 trade_session=1 这个字段,它就是瞎的。Claude 或 GPT,换了哪个模型都一样。

美股一天切成四段。盘前和盘后订单簿深度只有正盘的几分之一甚至更薄,但财报、宏观数据、重大公告全挤在这两个窗口发布。也就是说,信息密度最高的时段恰恰是流动性最薄的时段——AI 如果感知不到这个差异,它给出的分析结论会系统性地忽略盘前盘后的价格信号。

特斯拉经常在美东凌晨走出 5% 的涨幅,那不是夜盘异常,是盘前市场在定价。Agent 要是只订了正盘那 6.5 小时,等于每天有 8.5 小时的定价过程对它来说是黑箱。

二、拆解 trade_session:4 个数字背后的交易规则

解决这个问题的关键只有一个字段:trade_session。

TickDB 的交易时段接口 GET /v1/market/trading-sessions?market=US 返回结构长这样:

{
  "market": "US",
  "trading_sessions": [
    {"begin_time": 400,  "end_time": 930,  "trade_session": 1},
    {"begin_time": 930,  "end_time": 1600, "trade_session": 0},
    {"begin_time": 1600, "end_time": 2000, "trade_session": 2}
  ]
}

为了方便你的 Agent 理解,我把这四个时段的逻辑梳理如下:

时段名称trade_session 枚举美东时间范围典型特征对 Agent 的决策影响
盘前104:00 - 09:30流动性薄,财报/宏观集中发布禁止市价大单,适合收集盘前情绪
正盘009:30 - 16:00流动性最好,价差最小开启全量策略,适合所有单类型
盘后216:00 - 20:00流动性迅速萎缩适合收盘定价,不适合激进策略
夜盘320:00 - 次日 04:00覆盖 Blue Ocean ATS标的少,仅监控核心高波动品种

验证流动性的实操方法:如果你想让 Agent 直观感受盘前和正盘的流动性差异,可以在美东时间 8:00(盘前)和 10:00(正盘)分别调一次 TickDB 的 GET /v1/market/depth?symbol=AAPL.US,对比两次返回的 bids/asks 价差。盘前的买卖价差往往是正盘的数倍——Agent 如果不加时段过滤,可能会在盘前用滑点极高的报价做出错误判断。

字段名陷阱:注意 begin_time=400 是 hhmm 格式,表示美东时间凌晨 4:00,不是 400 毫秒。解析时务必先手动换算成分钟数。

三、你踩过的坑,我替你整理好了

在做 AI 金融应用时,你大概率会卡在这几个地方。这些是我在真实项目里排查了很久才搞定的:

坑点典型表现正确解法
时区陷阱服务器跑 UTC,人工查看是北京时间,美东开发却按本地时间看用 pytz.timezone('America/New_York') 锁死时区,不要写死 UTC-5
字段幻觉看到 400 以为是毫秒或 Unix 时间戳写一行函数:hour = begin_time // 100; minute = begin_time % 100
夜盘差异trade_session=3 并非所有数据源都支持代码里做好兼容,查不到夜盘字段时不报错,自动降级
缓存失效缓存了时段表,结果遇到节假日或半日交易设置缓存过期时间到当天 23:59:59,隔天强制刷新
API 错误码忽视Agent 遇到 3001(限流)直接 JSON 解析失败退出必须检查 code 字段,非 0 时返回明确错误信息而非崩溃

四、极简实现:一个能跑的时段感知函数

下面是给 Agent 工具层用的极简版。约 30 行,能直接跑。

import requests
import pytz
from datetime import datetime

API_KEY = "YOUR_API_KEY"  # 替换为你的 TickDB API Key
                          # 测试阶段可覆盖数十个热门标的,无需付费 Key
                          # 详见 TickDB GitHub 的 SKILL.md 说明
API_BASE = "https://api.tickdb.ai"
ET = pytz.timezone("America/New_York")

def get_current_session():
    resp = requests.get(
        f"{API_BASE}/v1/market/trading-sessions",
        params={"market": "US"},
        headers={"X-API-Key": API_KEY},
        timeout=5
    )
    data = resp.json()

    # 关键:检查业务错误码,而非仅依赖 HTTP 状态码
    code = data.get("code", -1)
    if code != 0:
        if code in [1001]:
            return {"error": "API Key 无效,请检查配置"}
        elif code in [3001, 3002]:
            return {"error": f"请求超限 (code={code}),请降低频率或升级套餐"}
        else:
            return {"error": f"API 错误: {data.get('message', '未知')}"}

    sessions = data["trading_sessions"]  # 注意路径
    now_et = datetime.now(ET)
    now_minutes = now_et.hour * 60 + now_et.minute

    for s in sessions:
        begin_m = (s["begin_time"] // 100) * 60 + (s["begin_time"] % 100)
        end_m   = (s["end_time"]   // 100) * 60 + (s["end_time"]   % 100)

        if begin_m <= end_m:
            if begin_m <= now_minutes < end_m:
                return s["trade_session"]
        else:
            # 处理跨午夜时段 (如夜盘 20:00-次日 04:00)
            if now_minutes >= begin_m or now_minutes < end_m:
                return s["trade_session"]
    return None

工程预警:get_current_session() 不要每次 Agent 做决策时都调。把它缓存住,只在日期切换时刷新。时段表一天变不了一次,每次都调 REST 会持续消耗 API 配额。

极简版代码已在上方完整展示,可直接复制运行。生产版(含 WebSocket 重连后重判时段、按时段动态调整订阅列表)后续更新在 GitHub,搜索仓库 ai-agent-trading-sessions 或关注更新。

五、封装成 MCP 工具给 Claude 调用

刚才那段逻辑要给 Claude Desktop 或 Cursor 用,就要包成 MCP(Model Context Protocol)工具。核心只需要一段 schema 定义和一个服务挂载。

Schema 定义(暴露给 AI 的“说明书”):

配置项详细说明
工具名称get_us_market_session
功能描述获取当前美股交易时段。Agent 在做任何交易决策前,必须先调此工具判断现在是盘中、盘前还是盘后。
输入参数无(自动获取当前时间)
返回逻辑0 盘中 / 1 盘前 / 2 盘后 / 3 夜盘 / None 非交易时段

在 MCP Server 中注册实现(MCP Python SDK 示例):

from mcp import Server, Tool

server = Server("market-sessions")

@server.tool("get_us_market_session")
def get_us_market_session():
    """获取当前美股交易时段"""
    return get_current_session()  # 复用刚才写的函数

MCP 配置提示:代码示例基于 MCP Python SDK。如遇导入报错,请对照 MCP 官方文档确认当前版本的正确导入路径——不同版本间 Server/Tool 的导入命名空间可能有微小差异。

Claude 调用效果: Agent 接到指令“帮我看看 AAPL 现在适不适合下单”,推理路径就会变成:

用户要下单 AAPL → 调 get_us_market_session → 返回 1 (盘前) → 盘前流动性不足,不适合市价大单 → 回复用户建议用限价单或等正盘。

Agent 自己完成了时段感知——不需要你在 prompt 里写“注意盘前盘后”,它自己查自己判断。

六、如果没有它,你要维护 3 套时段映射逻辑

把视野拉高一点。做金融 Agent 不太可能只盯美股,A 股和港股也要接。TickDB 覆盖美股(12,400+)、港股(4,300+)、A 股(6,000+),三个市场的时段规则极其分裂:

市场时段复杂度特殊机制对 Agent 的映射难度
美股4 段(盘前/正盘/盘后/夜盘)夜盘覆盖 Blue Ocean ATS高:需处理跨午夜区间
港股3 段(盘前竞价/正盘含午休/收盘竞价)午休不撤单但无成交中:需识别午休空窗期
A 股2 段(集合竞价/连续竞价)9:15-9:25 特殊撮合规则中:需区分竞价时段

要么自己维护 3 套时段映射逻辑,每次新增市场就加班加点对时区、写解析、配缓存。要么找一个已经把这层差异封装掉的接入层——TickDB 用同一个 trade_session 枚举覆盖了美股、港股、A 股三个市场。调哪个市场,返回的时段表用同一套字段语义,Agent 工具链里只需要一个 get_market_session(market) 函数。

美股盘前和 A 股集合竞价在语义上都映射为 1,这对 AI 来说是最友好的跨市场推理基础。

七、聊聊你的 Agent 场景

有了美股 API ≠ 有了盘前数据。这两件事文档里都写了,但大部分人第一次读文档会跳过时段部分——不是因为不重要,是因为正式时段能跑通的代码已经够让人忙的了。直到策略在盘前漏掉一个 5% 的跳空信号,才回头翻 API 文档里那一段不到一屏的 trade_session 说明。

如果 Agent 后续需要获取全量美股实时时段状态、夜盘覆盖,或配合 depth(订单簿)在盘前盘后做流动性验证,付费套餐可解锁完整数据能力——从免费测试 Key 开始跑通逻辑,再按需升级。

你的 Agent 跑在哪个时段上?有没有因为没接盘前数据错过信号?评论区聊聊。

本文数据来自 TickDB。

相关文章

AI Agent 框架接金融行情数据前,先检查这 7 个工程风险

> 本文不是框架排名,而是一份金融行情数据接入前的工程风险清单。每个风险点都附了检查方法和修正示例。 --- 一、不同框架,同一个坑 假设你用三个不同的 Agent 框架跑同一个任务——“每 30 分钟查一次价格,超过阈值时汇总分析”。 其中一个 Agent 把 ticker 快照的 (24 小时成交量)当成了单根 K 线的成交量,量级差了几千倍。另一个在 API 限流后陷入重试死循环,两分钟烧掉

TickDB Research ·

LangGraph 多 Agent 行情接入:节点之间传递实时数据的 3 种姿势

目录 - 一、当你的金融 Agent 节点“各说各话” - 二、姿势 1:State 共享——最简单,但 reducer 行为容易忽略 - 三、姿势 2:Tool 封装——最灵活,但 API 调用量是隐藏成本 - 四、姿势 3:Subgraph 组合——最工程,但状态映射是调试重点 - 五、三种姿势权衡矩阵与数据一致性策略 - 六、完整示例:盘前-盘中-盘后多 Agent 协同 - 七、FAQ -

TickDB Research ·

MCP、WebSocket与Agentic Wallet:AI自主交易的三把钥匙,正同时转动

一、四巨头4月密集出手,AI交易从“副驾驶”升级为“机长” 2026年4月,四家机构几乎同时亮出了AI交易的底牌。 4月初,Coinbase推出专为AI设计的“智能体钱包”——AI可以自己持有私钥,自己签名转账。4月中下旬,Bitget宣布其AI交易平台Agent Hub原生支持MCP协议,AI可直接调用下单接口;Gemini交易所加速推进AI代理自动化交易API。4月28日,彭博终端史上最大一次

TickDB Research ·

AI自主下单!彭博、Coinbase、Bitget联手布局,行情数据成最后护城河

4月28日,彭博终端史上最大一次改版。新功能叫 AskB——一个能自己写研报、自己验证数据、自己做财务模型的 AI Agent。几乎同时,Bitget 宣布其 AI 交易平台 Agent Hub 原生支持 MCP 协议,AI 可直接调用下单接口。Gemini 交易所加速推进 AI 代理自动化交易 API。而在更早前的4月初,Coinbase 推出了专为 AI 设计的“智能体钱包”(Agentic

TickDB Research ·