综合

当你的A股策略需要同时盯着美股和比特币,一个WebSocket就够了

作者: TickDB Research · 发布: 2026/5/14 · 阅读: 8

标签: Track A, 场景型, 知乎

适用场景 跨市场量化策略开发

技术栈 WebSocket + REST

覆盖市场 A股 / 美股 / 加密货币


凌晨两点,监控脚本准时唤醒。三个信号几乎同时出现:

  • 上证50隐含波动率跳升
  • 纳斯达克期货盘前成交量异常放大
  • BTCUSDT永续合约资金费率转负

但三个信号来自三个不同的数据源:A股用本地数据服务,美股接Polygon.io的WebSocket,加密货币靠轮询交易所API。时间戳差了近一秒——美股实时推送,A股轮询后本地对齐,比特币那路刚好被限流,延迟两秒。

维护这三条数据管道的成本,已经超过了打磨策略本身。问题不是数据不够,而是接口碎片化。

核心诉求:一个连接,同一套字段,同一种鉴权,同时拿到A股、美股和加密货币的实时行情。


一个WebSocket,覆盖三个市场

TickDB把这件事变成了基础设施——统一 REST + WebSocket 接口、统一字段、统一鉴权

连接端点 wss://api.tickdb.ai/v1/realtime,鉴权通过URL参数 api_key 传递。一次订阅,同时拉取三个市场:

import asyncio
import websockets
import json

async def subscribe_cross_market():
    uri = "wss://api.tickdb.ai/v1/realtime?api_key=YOUR_API_KEY"
    async with websockets.connect(uri) as ws:
        subscribe_msg = {
            "cmd": "subscribe",
            "data": {
                "channel": "ticker",
                "symbols": ["000001.SZ", "AAPL.US", "BTCUSDT"]
            }
        }
        await ws.send(json.dumps(subscribe_msg))

        # 心跳:每秒发送ping,维持连接
        async def heartbeat():
            while True:
                await ws.send(json.dumps({"cmd": "ping"}))
                await asyncio.sleep(1)

        asyncio.create_task(heartbeat())

        while True:
            msg = await ws.recv()
            data = json.loads(msg)
            print(f"{data['data']['symbol']} | 最新价: {data['data']['last_price']}")
  • 字段语义跨市场完全一致,无需为不同市场写不同解析器。
  • 所有推送共享同一连接的时间基准,消除跨市场数据对齐的额外延迟。

痛点与解法一览

你的需求过去的做法TickDB 的做法技术证据
同时监控 A 股、美股、加密3 套 WebSocket,3 种鉴权,3 套字段映射1 个 WebSocket 连接,同时订阅wss://api.tickdb.ai/v1/realtime,单条 subscribe 消息覆盖多市场
回测用历史 K 线各市场数据格式不同,清洗对齐耗时统一 REST 端点,字段命名一致GET /v1/market/kline?symbol=000001.SZ&interval=1d
判断美股是否还在盘后需另外查询交易时段REST 接口含盘前/盘后/夜盘三段报价GET /v1/market/trading-sessions?market=US 可查时段定义
限流处理各家错误码不同,处理逻辑各异统一错误码 3001,附带 Retry-After收到 3001 时指数退避重试
AI 编程工具里直接查行情手动写 API 调用MCP 端点提供 13 个行情工具https://mcp.tickdb.ai,配置后 AI 可直接调用

快速验证:一行命令拿实时价

无需写脚本,用 curl 直接测试:

curl -H "X-API-Key: YOUR_API_KEY" \
  "https://api.tickdb.ai/v1/market/ticker?symbols=BTCUSDT"

返回 JSON 中的 last_pricebidaskvolume 字段与 WebSocket 推送完全一致。五分钟内即可验证数据可及性。


生产级限流处理

实盘环境必须处理请求频率超限。错误码 3001 会携带 Retry-After 头,指数退避重试:

import time
import requests

def tickdb_get(endpoint: str, api_key: str, params: dict = None) -> dict:
    headers = {"X-API-Key": api_key}
    base_url = "https://api.tickdb.ai"
    retry_count = 0

    while True:
        resp = requests.get(f"{base_url}{endpoint}", headers=headers, params=params)
        if resp.status_code == 200:
            return resp.json()
        elif resp.status_code == 429:   # 对应 3001 限流
            retry_after = int(resp.headers.get("Retry-After", 1))
            wait = min(retry_after * (2 ** retry_count), 60)
            time.sleep(wait)
            retry_count += 1
        else:
            resp.raise_for_status()

行情之外,策略需要的完整基础设施

实盘还需要盘口深度、交易时段、资金流向、分时图等。全部收敛在同一套 API 里,共享同一个 X-API-Key 鉴权:

  • GET /v1/market/depth?symbol=AAPL.US — 订单簿深度(美股、A股、加密)
  • GET /v1/market/kline?symbol=000001.SZ&interval=1d — 历史日线(不含未闭合 K 线)
  • GET /v1/market/intraday?symbol=700.HK — 当日分时(也适用于 A 股、美股)
  • GET /v1/market/trading-sessions?market=US — 美股交易时段(含盘前盘后)
  • GET /v1/market/capital-flow?symbol=000001.SH — A 股资金流向(需指定具体 symbol)
  • GET /v1/market/calc-index?symbols=AAPL.US — 美股市场指标与估值(需指定具体 symbols)

如果你在用 AI 编程工具

工作流已迁移到 Cursor 或 Windsurf?

将 MCP 端点 https://mcp.tickdb.ai 配置进 AI 助手,13 个行情工具直接可用。输入“获取 000001.SZ、AAPL.US、BTCUSDT 最新价,输出价差表格”,AI 自动调用接口、解析数据。

对话用 Skill,编码用 MCP,自动化用 CLI —— 数据接入层交给 AI,你只专注于信号逻辑。


开源带来的可信度

TickDB 以 MIT 许可证在 GitHub 完全开源。GitHub 开源,文档可查,代码可跑。你可以审查 WebSocket 重连逻辑,可以 fork 做二次开发,也可以通过 Issue 跟踪服务状态。开源不是噱头,是基础设施控制权。


从三市场到全市场

当前关注 A 股、美股、加密货币,但统一接口可无痛扩展至:

  • 全量港股:4,299 只
  • 外汇:1,227 对
  • 贵金属:XAUUSD / XAGUSD
  • 全球指数:14,100 个

一个连接,覆盖 4 大市场、40,000+ 品种。只需在 symbols 数组里追加代码,零额外接入成本。

如需手机告警,用 CLI 工具(npm install -g tickdb)配合 Telegram Bot,即可搭建轻量级跨市场监控。


下一步

  1. 在 GitHub 搜索 “TickDB”,查看三语版 README(简体中文 / 繁體中文 / English)。
  2. 获取免费体验额度。
  3. 花一刻钟将三个市场的行情接入测试环境,验证字段一致性。

如果你的跨市场策略长期卡在数据适配层,这次重构很可能是策略代码最清爽的一次进化。

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

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

免费领取 API Key查看 API 文档

相关文章