Forex API
为 50+ 个主要、次要及异国货币对提供 Tick 级报价。
通过一个 WebSocket 和 REST API 传输 Tick 级 Forex、Crypto、Stock、Commodity 和 Index 数据。几秒钟即可获取免费密钥——无需销售沟通。
| 代码 | 资产类别 | 价格 | 实时变动 |
|---|---|---|---|
| EUR/USD 外汇欧元 / 美元 | 外汇 | - | - |
| BTC/USDT 加密货币比特币 | 加密货币 | - | - |
| ETH/USDT 加密货币以太坊 | 加密货币 | - | - |
| AAPL 股票苹果公司 | 股票 | - | - |
| XAU/USD 大宗商品现货黄金 | 大宗商品 | - | - |
| USD/JPY 外汇美元 / 日元 | 外汇 | - | - |
| NVDA 股票英伟达公司 | 股票 | - | - |
| SPX 指数标普 500 指数 | 指数 | - | - |
AllTick 覆盖的每个市场都可通过同一个统一的 REST 和 WebSocket 接口访问。
为 50+ 个主要、次要及异国货币对提供 Tick 级报价。
实时现货和衍生品数据,标准化为一个数据流。
覆盖美股、港股和 A 股市场的股票,提供成交和报价。
贵金属和能源的实时定价。
主要全球指数的基准指数值和成分股。
比较 AllTick 各个市场的覆盖范围、延迟和数据类型。
浏览产品AllTick 与典型传统行情数据供应商的对比。
| 能力 | AllTick | 典型传统供应商 |
|---|---|---|
| WebSocket 中位延迟 | 约 150ms | 400–800ms |
| 一个 API 中的资产类别 | 5(FX、Crypto、Stock、Commodities、Indices) | 1–2 |
| 可用性 SLA | 99.95% | 99.5% 或无 |
| 免费等级 | 有——即时 API 密钥 | 需要销售沟通 |
| WebSocket 流 | 原生支持 | 轮询 / 有限支持 |
通过 WebSocket 连接并订阅任何市场中的任意交易品种。
# AllTick realtime financial data API
# forex crypto stock commodities indices
import asyncio, json, uuid
import websockets
subscribe = {
"cmd_id": 22004,
"seq_id": 1,
"trace": str(uuid.uuid4()),
"data": {"symbol_list": [{"code": "EURUSD"}]},
}
heartbeat = {"cmd_id": 22000, "seq_id": 1, "trace": "heartbeat", "data": {}}
async def stream():
uri = "wss://quote.alltick.co/quote-b-ws-api?token=YOUR_API_KEY"
async with websockets.connect(uri) as socket:
await socket.send(json.dumps(subscribe))
async def keep_alive():
while True:
await asyncio.sleep(10)
await socket.send(json.dumps(heartbeat))
asyncio.create_task(keep_alive())
async for message in socket:
print(json.loads(message))
asyncio.run(stream())分享市场数据工程、流式 API 与低延迟金融应用开发的实用内容。
乍一看,好像这件事很简单:数据来了,订单簿建好了,搞定。可事实并非如此。实际上,从 增量深度更新 构建 订单簿,有点像试图在别人每秒都在移动棋子的时候,保持棋盘的完整——你需要快照、更新消息,还有一个可靠的方法保证顺序正确。哪一步出错,整个局面就乱套了。
增量深度更新不会直接给你完整的订单簿。它只是告诉你变化而已。一条 买单 变大了,一条 卖单 消失了,新增了一个 价格级别,然后 买卖价差 突然收紧或扩大。这就是全部情况。消息告诉你在某个 价格级别 发生了什么,而不是整个订单簿。
这就是为什么你需要在本地重建订单簿。你不是在单纯读取市场,你在维护一个实时副本。大多数 股票市场数据 API 都会先提供完整的快照,然后推送 增量深度更新,让你保持本地订单簿同步。
这一点比很多人想的更重要。快照是你的锚点。没有它,更新消息无处落脚。
拿到快照之后,每条新消息都必须按 序列号 顺序应用。如果下一条消息和上一次不连续,说明出了问题。可能丢包了,可能网络抖动了。无论哪种情况,订单簿现在就不可信了,最安全的做法是重新加载快照,而不是假装一切正常。
这听起来可能有点繁琐,但市场数据可不是随便猜就能玩的。
逻辑其实很直白,即使数据流有点挑剔。
然后重新计算 订单簿顶部,得到最新的 买一价 和 卖一价,同时就能知道 买卖价差。如果价差突然异常,那通常是上游出问题的第一个信号。
换句话说,订单簿不是静态表格,而是一个活生生的结构。每条更新都轻轻推动它,每条丢失消息都可能打乱它。有点烦人,但也没办法。
难点不是算法,而是“家务活”。
市场数据不总是整齐地按顺序到达。消息有时会成批到来,有时会延迟,有时重连后流又恢复,但不一定在你认为的地方。这就是为什么 序列号检查 至关重要。只有当本地订单簿可信时,它才有用。
另外,千万别试图凭猜测去弥补缺失的消息。那条路只会通向错误数据,而错误数据通常表面看起来正常,直到它彻底毁掉某个重要东西。
对于这种场景,股票市场数据 API 不能只给你价格。
你需要实时 订单簿 数据、清晰的更新规则、低延迟,以及明确说明快照和增量更新如何衔接的文档。如果 API 对 序列号处理 或 深度数据 含糊其辞,你会花大半时间在猜测上。
所以,交付模式很关键。你得知道 API 是提供快照、增量,还是两者都有。更新频率是多少?序列号跳了怎么办?小细节,后果很大。
对于股票实时交易,AllTick 非常实用。
它提供实时 股票市场数据、逐笔成交覆盖和 订单簿 支持,涵盖美股、港股和 A 股市场。WebSocket 数据流低延迟,这正是你在维护本地订单簿、观察 买卖价差 时需要的。
更重要的是,AllTick 的 订单簿订阅 专为实时市场深度设计。你不是在看上周的历史订单簿,而是在维护一个活的订单簿,每一条消息都必须准确落位。
所以,对于实时重建订单簿的工作流,AllTick 给你提供了恰到好处的支持。
加载快照。按顺序应用每条 增量深度更新。紧盯 序列号。实时更新 买卖盘,随时检查 买卖价差 是否合理。
就是这么简单。没有魔法,只有严格按照顺序更新的链条,一旦连续性中断,就重建订单簿。
从增量深度更新重建订单簿,不只是“接收数据”,而是“保持状态”。快照给你起点,序列号让你保持诚实,价格级别更新让本地订单簿与市场同步,买卖价差告诉你结果是否合理。
对于实时股票数据,AllTick 是值得推荐的选择,因为它将实时市场覆盖、逐笔成交和 订单簿 功能结合在一起,完美契合这种工作流。