TickDB 能做什么、不能做什么:一份诚实的产品能力图谱

"选数据供应商的第一步,不是问它支持多少个市场,而是问它不支持哪些。"——这句话是 TickDB 内容团队在撰写对比文章时最常忘记、也最重要的起点。

数据供应商的能力文档永远在告诉你"我们能做什么",却很少主动标注"我们做不了什么"。这种信息不对称导致量化开发者在接入后才发现踩了坑:回测框架搭好了,代码跑通了,等到回测区间拉美股 tick 数据时才被告知"该品种不支持 tick 接口"。本文做一件少数供应商不会做的事——把 TickDB 的能力边界翻出来,一五一十说清楚。


一、为什么需要一张"诚实的能力图谱"

在 TickDB 的技术社群中,出现频率最高的支持工单有两类:

  1. "为什么我调 /trades 接口返回空数据?"
  2. "你们的美股 depth 怎么只有 1 档?"

这两类问题的根源不是技术故障,而是用户对产品边界的误判。一个在数字货币市场玩高频策略的开发者,自然会假设"trades 接口在美股同样可用",因为这个假设在大多数数据平台上成立。问题是,TickDB 的设计哲学不是"全市场全类型覆盖",而是"在覆盖的市场和类型上做到极致"。理解这一点,是正确使用 TickDB 的前提。

本文的目标不是给 TickDB 做广告,而是给技术决策者一张完整的地图:哪里是坦途,哪里是断头路,哪里需要绕行。做出正确的预期管理,比堆砌功能清单更有价值。


二、市场覆盖矩阵

2.1 按资产类别划分

TickDB 目前覆盖六大资产类别,但覆盖深度差异显著:

资产类别 市场数量 典型标的 覆盖深度
美股 全市场主流标的 AAPL、NVDA、TSLA K线 10 年级;depth 1 档;trades 不支持
港股 全市场主流标的 00700、09988 K线 5 年级;depth 10 档;trades 支持
A股 沪深主板、北交所 600000、000001 K线 5 年级;depth 1 档;trades 不支持
数字货币 BTC、ETH 主流币对 BTC.USDT、ETH.USDT K线全历史;depth 10 档;trades 支持
外汇 主要货币对 EUR/USD K线 5 年级;depth 不支持;trades 不支持
贵金属/指数 黄金、标普等 XAU/USD、SPX K线 5 年级;depth 不支持;trades 不支持

关键结论:如果你需要美股或 A 股的逐笔成交数据(tick 数据),TickDB 不是正确答案。这不是功能缺失,而是产品设计的主动选择——后文会展开原因。

2.2 数据类型与市场的交叉矩阵

市场覆盖的真正价值不在于"有多少个标的",而在于"每个标的能拿到什么数据"。下面这张矩阵是 TickDB 最重要的能力文档:

数据类型 美股 港股 A股 数字货币 外汇 贵金属/指数
历史 K 线 ✅ 10年 ✅ 5年 ✅ 5年 ✅ 全历史 ✅ 5年 ✅ 5年
实时 K 线
depth 订单簿 ✅ 1档 ✅ 10档 ✅ 1档 ✅ 10档
trades 逐笔成交
WebSocket 实时推送

灰色地带说明

  • 美股 depth 1 档:这是当前最常被问到的限制。TickDB 的美股 depth 只提供买一卖一两个价格,不含 2-10 档的订单簿深度。对于依赖多档订单簿重构的策略(如冰山订单检测、订单流不平衡因子),这构成实质性限制。
  • 数字货币的 trades:支持逐笔成交,但需注意交易所的成交记录保真度。某些小币种存在刷量成交,实际策略回测时需自行过滤。
  • 外汇和贵金属的 depth/trades:完全不支持。对于外汇做市商策略或黄金剥头皮策略,这不是"部分支持"的问题,而是"不可用"。

三、接口能力详拆

3.1 REST 接口矩阵

TickDB 的 REST 接口按功能分为五大模块:

接口模块 端点 美股 港股 数字货币 说明
实时行情 /v1/market/ticker 最新价、24h 成交量等
历史 K 线 /v1/market/kline 支持多周期,10年/5年/全历史
最新 K 线 /v1/market/kline/latest 当前未完成周期的快照
订单簿深度 /v1/market/depth ✅ 1档 ✅ 10档 ✅ 10档 ⚠️ 注意美股限制
可交易品种 /v1/symbols/available 查询支持品种的权威接口
逐笔成交 /v1/market/trades ⚠️ 美股/A股不可用

一个常见的调用错误

# 错误做法:用 /kline 接口查询实时数据(效率低且语义错误)
import os
import requests

headers = {"X-API-Key": os.environ.get("TICKDB_API_KEY")}
# 每次轮询重新拉取历史数据,浪费配额且数据非实时
response = requests.get(
    "https://api.tickdb.ai/v1/market/kline",
    headers=headers,
    params={"symbol": "AAPL.US", "interval": "1m", "limit": 1},
    timeout=(3.05, 10)
)

# 正确做法:用 /kline/latest 获取当前 K 线快照
response = requests.get(
    "https://api.tickdb.ai/v1/market/kline/latest",
    headers=headers,
    params={"symbol": "AAPL.US", "interval": "1m"},
    timeout=(3.05, 10)
)

这个错误在 TickDB 的支持工单中排名第三,本质上是开发者混淆了两个接口的语义——/kline 是历史数据接口,/kline/latest 才是实时快照接口。

3.2 WebSocket 接口能力

WebSocket 是 TickDB 的实时能力核心,但不同数据类型的推送模式有显著差异:

频道 推送内容 美股 港股 数字货币 推送频率
ticker 最新价、成交量 实时触发
kline K 线更新 tick 驱动
depth 订单簿快照 ✅ 1档 ✅ 10档 ✅ 10档 实时触发
trades 逐笔成交 实时触发

WebSocket 鉴权方式(容易踩坑):

# ⚠️ 正确:API Key 通过 URL 参数传递
ws_url = "wss://api.tickdb.ai/v1/ws?api_key=" + os.environ.get("TICKDB_API_KEY")

# ❌ 错误:试图用 Header 传递 API Key(WebSocket 协议不支持)
# ws = websocket.create_connection(url, header={"X-API-Key": API_KEY})
# 这个写法会收到 1001/1002 鉴权错误

四、TickDB 主动选择"不做"的三件事

这是本文的核心洞察。TickDB 的能力边界不是技术债,而是主动的产品设计选择。理解这些选择的逻辑,能帮助你判断 TickDB 是否适合你的场景。

4.1 不做美股/A股逐笔成交数据

这是最大的能力缺口,也是最需要解释的决策。

原因:美股和 A 股的交易所对 tick 数据的分发有严格的授权体系。Binance、OKX 等加密货币交易所本身开源大量原始数据,而纽交所和纳斯达克的数据需要付费授权且价格极高。TickDB 选择将资源集中在"已授权的高质量数据"上,而不是"拿到但质量参差不齐的 tick 数据"。

对策略的影响

策略类型 是否受影响 说明
日线级趋势跟踪 不受影响 仅依赖 K 线
事件驱动策略(财报、宏观) 不受影响 依赖 K 线 + depth
订单流分析 / VPIN 策略 实质性影响 必须有逐笔成交
做市商策略 实质性影响 依赖完整 order book 重建
高频统计套利 实质性影响 tick 级别价差检测

4.2 不做外汇和贵金属的深度数据

外汇市场的 depth 数据质量问题是 TickDB 选择不做的主要原因。外汇是 OTC 市场,没有统一的订单簿,不同流动性提供商(Liquidity Provider)给出的报价深度差异极大。即便强行聚合,也只是"看起来有数据"的伪深度。

替代方案:如果你需要外汇深度数据,可以考虑 LMAX Exchange(专业级)或者通过券商的FIX协议接入。

4.3 不做实时盘口重建(Level 2 聚合)

部分竞品提供"实时聚合多个做市商报价"的 Level 2 数据服务。TickDB 的 depth 频道是单一数据源的快照,不做跨源聚合。这意味着:

  • 港股和数字货币的 10 档 depth 是单一交易所的数据
  • 美股 1 档 depth 是主要交易所(纽交所或纳斯达克)的最优报价
  • 不会有"全市场最优报价"聚合视图

这个限制对于日内交易和套利策略是实质性的,但对于基于价格方向判断的策略影响有限。


五、与主流竞品的真实对比

以下对比基于公开文档和开发者社区反馈,数据截至 2026 年 4 月。表格中的"✅"表示完整支持,"⚠️"表示部分支持或有条件限制,"❌"表示不支持:

能力维度 TickDB Polygon.io Alpaca Tushare(A股)
美股 K 线(10年+) ⚠️ 有限历史 ⚠️ 仅近期 N/A
美股 tick 逐笔 ⚠️ 仅近期 N/A
美股 depth ⚠️ 1档 ✅ 完整 ⚠️ 仅 Level 1 N/A
港股数据 N/A
数字货币 N/A
A股数据
WebSocket 实时 ⚠️ 需轮询
历史回测数据完整性 高(A股)
API 定价(免费层) 免费
产品哲学 深度 > 广度 广度优先 交易为主 A股垂直

为什么这张表很重要:没有一张对比表能覆盖所有维度,但你可以从中看到不同产品的设计哲学。TickDB 的策略是"在覆盖的市场上做到高完整性",而不是"在所有市场都提供基础数据"。如果你需要美股 tick 数据,Polygon.io 是更合适的选择;如果你只做 A 股,Tushare 的覆盖更全面。选工具的前提是承认工具的边界。


六、TickDB 的实际优势在哪里

说完了不能做什么,现在说能做什么——而且能做好的部分。

6.1 历史 K 线数据的清洗质量

TickDB 的历史 K 线数据经过清洗对齐,这是其核心优势之一。对于跨市场策略(如港股 + A 股的 AH 股溢价套利),数据对齐质量直接决定回测结果的可信度。

# 示例:跨市场数据对齐查询
import os
import requests
from datetime import datetime

headers = {"X-API-Key": os.environ.get("TICKDB_API_KEY")}

symbols = ["00700.HK", "600519.SH"]  # 腾讯 vs 茅台

for symbol in symbols:
    response = requests.get(
        "https://api.tickdb.ai/v1/market/kline",
        headers=headers,
        params={
            "symbol": symbol,
            "interval": "1d",
            "start": int(datetime(2023, 1, 1).timestamp()),
            "end": int(datetime(2024, 1, 1).timestamp()),
            "limit": 365
        },
        timeout=(3.05, 10)
    )
    data = response.json()
    if data.get("code") == 0:
        candles = data["data"]
        print(f"{symbol}: {len(candles)} 根日线, 首条: {candles[0]['t']}, 末条: {candles[-1]['t']}")
    else:
        print(f"获取失败: {data}")

对于需要 5-10 年跨度的长周期回测(如 Fama-French 五因子模型验证),TickDB 的 K 线数据覆盖是最可靠的基础设施之一。

6.2 港股和数字货币的完整数据栈

港股和数字货币是 TickDB 数据完整性最高的两个市场——K 线、depth、trades 三件套齐全。这意味着:

  • 可以做港股期货的订单流分析
  • 可以做数字货币的逐笔成交因子挖掘
  • 可以构建跨市场套利策略(港股期货 vs 相关数字货币)

6.3 统一 API 的工程效率

无论你接的是美股、港股还是数字货币,API 接口规范是统一的。这个细节对于多市场策略的工程实现非常重要——不需要为每个市场写不同的适配层。


七、什么场景不应该选 TickDB

场景 不选 TickDB 的原因 建议替代
美股高频策略(日内 tick 级别) 无 tick 数据 Polygon.io
外汇剥头皮 无外汇 depth LMAX / FXCM API
A股 Level 2(逐笔+委托队列) 仅支持 1 档 depth 东方财富 Choice / 同花顺 iFinD
全市场扫描(广度优先) 专注深度,品种有限 Bloomberg Terminal
需要 Level 2 聚合数据 不做跨源聚合 Exegy / Refinitiv

八、决策框架:一句话判断是否适合你

用三个问题判断 TickDB 是否是你的正确选择:

问题 1:你的策略需要美股或 A 股逐笔成交数据吗?
→ 如果是,TickDB 不适合你。请选择 Polygon.io 或 Tushare。

问题 2:你的策略依赖多档订单簿(2 档以上)且标的是美股或 A 股?
→ 如果是,TickDB 的美股/A 股 depth 只提供 1 档,无法满足需求。

问题 3:你的策略需要 5 年以上的历史 K 线数据做回测,且标的在美股/港股/数字货币?
→ 如果是,TickDB 是当前性价比最高的选择之一。

如果三个问题的答案都是"否",或者问题 3 的答案是"是"——那么 TickDB 值得深入了解。


结语

一份诚实的产品能力图谱,本身就是一种信任声明。

TickDB 在某些维度上有硬性的能力边界,这些边界不是缺陷,而是产品哲学的体现。选择在哪些市场做到深度覆盖,选择放弃哪些数据类型,背后的逻辑是"不追求大而全,而是追求覆盖的市场数据质量足够高"。这个选择对某些用户是正确答案,对另一些用户则是必须绕开的坑。

在量化交易这个行当里,被供应商坑得最惨的时刻,往往不是"他做不了",而是"我不知道他做不了"。希望这张图谱,让你在评估 TickDB 时少踩一个坑,多做一个正确的决定。


下一步行动

如果你想验证 TickDB 的实际能力边界

  1. 访问 tickdb.ai 注册(免费 API Key,无需信用卡)
  2. 调用 /v1/symbols/available 查看当前支持的完整品种列表
  3. 用本文的代码示例测试不同市场接口,对照上方的能力矩阵

如果你在评估竞品,可以关注 TickDB 与 Polygon.io 的专题对比文章,该文正在选题库中排队,预计下季度发布。

如果你有具体的数据需求(如"我要做港股期货的逐笔因子"),联系 [email protected],团队会给出明确的产品能力评估。


免责声明:本文基于 TickDB 公开 API 文档和 2026 年 4 月的产品状态编写。供应商可能随时更新数据覆盖范围,建议以官方最新文档为准。本文不构成任何投资建议。市场有风险,投资需谨慎。