实时加密货币数据
机器翻译译自英文(docs.alpaca.markets)本页 46 段已全部译完
Crypto Data API 提供成交、报价、订单簿、分钟线和日线的 WebSocket 流。这有助于接收最新的市场信息,可帮助你的交易策略针对某些市场变动采取行动。
Alpaca 在其自有交易所执行你的加密货币订单,同时也支持 Kraken(另一个加密货币交易所)。因此,v1beta3 加密货币市场数据端点分发来自 Alpaca 和 Kraken 的数据。
你可以在此处找到实时 WebSocket 流的通用说明。本页重点介绍加密货币流。
👍 高级 WebSocket 教程
查看我们的教程 Python 高级实时 WebSocket 加密货币数据流,了解在 Python 中处理实时加密货币数据流的一些技巧。
URL
加密货币流的 URL 是
wss://stream.data.alpaca.markets/v1beta3/crypto/{loc}
沙盒 URL:
wss://stream.data.sandbox.alpaca.markets/v1beta3/crypto/{loc}
{loc} 可以具有的可能值有:
- us - Alpaca 美国
- us-1 - Kraken 美国
- eu-1 - Kraken 欧盟
位置 us-1 代表下列州:
- AL(阿拉巴马州)
- AK(阿拉斯加州)
- AR(阿肯色州)
- CO(科罗拉多州)
- DC(哥伦比亚特区)
- DE(特拉华州)
- FL(佛罗里达州)
- HI(夏威夷州)
- LA(路易斯安那州)
- MN(明尼苏达州)
- NV(内华达州)
- NH(新罕布什尔州)
- NJ(新泽西州)
- NM(新墨西哥州)
- OK(俄克拉荷马州)
- OR(俄勒冈州)
- PA(宾夕法尼亚州)
- PR(波多黎各)
- TN(田纳西州)
- TX(德克萨斯州)
- VA(弗吉尼亚州)
- WI(威斯康星州)
- WY(怀俄明州)
请注意,目前 us-1 和 eu-1 流式传输 Kraken(另一个加密货币交易所)的市场数据,但提供商可能会随时间变化。
从服务器接收的每条消息中可能到达多个数据点。根据其类型,这些数据点具有以下格式。
频道
成交
模式
| 属性 | 类型 | 备注 |
|---|---|---|
T | string | 消息类型,始终为“t” |
S | string | 代码 |
p | number | 成交价格 |
s | number | 成交数量 |
t | string | RFC-3339 格式的时间戳,纳秒精度 |
i | int | 成交 ID |
tks | string | 吃单方:B 表示买方,S 表示卖方 |
示例
{
"T": "t",
"S": "AVAX/USD",
"p": 47.299,
"s": 29.205707815,
"t": "2024-03-12T10:27:48.858228144Z",
"i": 3447222699101865076,
"tks": "S"
}报价
模式
| 属性 | 类型 | 备注 |
|---|---|---|
T | string | 消息类型,始终为“q” |
S | string | 代码 |
bp | number | 买价 |
bs | number | 买量 |
ap | number | 卖价 |
as | number | 卖量 |
t | string | RFC-3339 格式的时间戳,纳秒精度 |
示例
{
"T": "q",
"S": "BAT/USD",
"bp": 0.35718,
"bs": 13445.46,
"ap": 0.3581,
"as": 13561.902,
"t": "2024-03-12T10:29:43.111588173Z"
}K 线
📘 加密货币 K 线包含报价中间价
由于某些货币的波动性,包括在任何给定时间缺乏交易量,我们在 K 线中包含报价中间价以提供更好的数据体验。如果某根 K 线中没有发生交易,成交量将为 0,但价格将由报价价格决定。
有三个独立的频道可供你流式传输成交聚合数据(K 线)。
分钟线(bars)
分钟线在每分钟标记后立即发出。它们包含上一分钟的成交和报价中间价。
日线(dailyBars)
日线在开盘后每分钟标记后立即发出。日线包含直到其发出时的所有成交和报价中间价。
更新 K 线(updatedBars)
如果在前一分钟标记之后有“迟到”的成交到达,则更新线在每个半分钟标记后发出。例如,如果时间戳为 16:49:59.998 的成交在 16:50:00 之后不久到达,则在 16:50:30 之后不久会发送一条 t 设置为 16:49:00 的更新线,包含该成交,可能更新前一根线的收盘价和成交量。
模式
| 属性 | 类型 | 描述 |
|---|---|---|
T | string | 消息类型:“b”、“d”或“u” |
S | string | 代码 |
o | number | 开盘价 |
h | number | 最高价 |
l | number | 最低价 |
c | number | 收盘价 |
v | int | 成交量 |
t | string | RFC-3339 格式的时间戳 |
示例
{
"T": "b",
"S": "BTC/USD",
"o": 71856.1435,
"h": 71856.1435,
"l": 71856.1435,
"c": 71856.1435,
"v": 0,
"t": "2024-03-12T10:37:00Z",
"n": 0,
"vw": 0
}订单簿
模式
| 属性 | 类型 | 备注 |
|---|---|---|
T | string | 消息类型,始终为“o” |
S | string | 代码 |
t | string | RFC-3339 格式的时间戳,纳秒精度 |
b | array | 买价:由 p(价格)和 s 对组成的数组。如果 s 为零,则表示该买价条目已从订单簿中移除。否则表示已添加或更新。 |
a | array | 卖价:由 p(价格)和 s 对组成的数组。如果 s 为零,则表示该卖价条目已从订单簿中移除。否则表示已添加或更新。 |
r | boolean | 重置:如果为 true,订单簿消息包含整个服务器端订单簿。这向客户端指示应重置其订单簿。通常作为订阅后的第一条消息发送。 |
示例
初始完整订单簿
{
"T": "o",
"S": "BTC/USD",
"t": "2024-03-12T10:38:50.79613221Z",
"b": [
{
"p": 71859.53,
"s": 0.27994
},
{
"p": 71849.4,
"s": 0.553986
},
{
"p": 71820.469,
"s": 0.83495
},
...
],
"a": [
{
"p": 71939.7,
"s": 0.83953
},
{
"p": 71940.4,
"s": 0.28025
},
{
"p": 71950.715,
"s": 0.555928
},
...
],
"r": true
}r 为 true,意味着此消息包含整个 BTC/USD 订单簿。为便于阅读,此处已截断,实际订单簿有更多的买价和卖价。
更新消息
{
"T": "o",
"S": "MKR/USD",
"t": "2024-03-12T10:39:39.445492807Z",
"b": [],
"a": [
{
"p": 2614.587,
"s": 12.5308
}
]
}这意味着卖价档位 2614.587 被改为 12.5308。如果订单簿中之前没有 2614.587 的卖价条目,则应将其添加;如果有,则其数量应被更新。
移除消息
{
"T": "o",
"S": "CRV/USD",
"t": "2024-03-12T10:39:40.501160019Z",
"b": [
{
"p": 0.7904,
"s": 0
}
],
"a": []
}这意味着应从订单簿中移除 0.7904 的买价档位。
示例
$ wscat -c wss://stream.data.alpaca.markets/v1beta3/crypto/us
connected (press CTRL+C to quit)
< [{"T":"success","msg":"connected"}]
> {"action": "auth", "key": "**\***", "secret": "**\***"}
< [{"T":"success","msg":"authenticated"}]
> {"action": "subscribe", "bars": ["BTC/USD"]}
< [{"T":"subscription","trades":[],"quotes":[],"orderbooks":[],"bars":["BTC/USD"],"updatedBars":[],"dailyBars":[]}]
< [{"T":"b","S":"BTC/USD","o":26675.04,"h":26695.36,"l":26668.79,"c":26688.7,"v":3.227759152,"t":"2023-03-17T12:28:00Z","n":93,"vw":26679.5912436798}]
< [{"T":"b","S":"BTC/USD","o":26687.9,"h":26692.91,"l":26628.55,"c":26651.39,"v":11.568622108,"t":"2023-03-17T12:29:00Z","n":197,"vw":26651.7679765663}]