资金流与微观结构
订单簿和订单流所揭示的力量对比。五个数据族:累计成交量差、聚合深度、加权均价、方向性压力和爆仓区域。
#CVD
GET/v1/cvddata_type · cvd_<tf>
GET/v1/cvd/historydata_type · cvd_<tf>_history
累计成交量差:市价买入量减去市价卖出量的累计值。它衡量买方和卖方中是谁不得不吃掉订单簿,也就是谁在真正推动价格。
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
symbol | string | 必填 | 资产。 |
timeframe | string | 必填 | 1m、5m、15m、30m、1h、4h、1d。 |
live | boolean | false | 返回进行中的窗口。 |
since_ms / until_ms | integer | — | 仅用于历史接口。 |
limit | integer | 100 | 用于历史接口,1 到 1000。 |
curl -H "X-API-KEY: $BYTNODE_KEY" \
"https://api.bytnode.com/v1/cvd?symbol=BTCUSDT&timeframe=1h"| 字段 | 类型 | 说明 |
|---|---|---|
bucket | string | 窗口起始时间。 |
cvd_series | float[] | 窗口内的累计序列,每个内部步长一个点,从旧到新。信息蕴含在其斜率中。 |
net_delta | float | 整个窗口内的买入减卖出。 |
taker_buy_volume / taker_sell_volume | float | 构成差值的两个成交量。 |
points_count | integer | 序列中的点数。 |
is_closed | boolean | 仅在 live=1 时为假。 |
#订单簿
GET/v1/raw/orderbookdata_type · raw_orderbook
聚合后的最新已知状态:取每个交易所的最新快照,再将深度相加。没有 limit:接口只返回一个对象。
| 字段 | 类型 | 说明 |
|---|---|---|
timestamp | string | 所保留状态中最新的一个。 |
bid_total | float | 买盘量,所有交易所。 |
ask_total | float | 卖盘量,所有交易所。 |
imbalance | float | null | (bid − ask) / (bid + ask),基于聚合总量计算,而不是按交易所平均。为正:买方占优。 |
GET/v1/orderbook/aggregateddata_type · orderbook_aggregated_<tf>
GET/v1/orderbook/aggregated/historydata_type · orderbook_aggregated_<tf>_history
同样的深度,但按窗口汇总:均值、极值和离散度。这种形式适用于图表或状态识别,因为瞬时订单簿状态噪音太大。
| 字段 | 类型 | 说明 |
|---|---|---|
bucket | string | 窗口起始时间。 |
bid_total_avg / _min / _max | float | 累计买盘量,均值及极值。 |
ask_total_avg / _min / _max | float | 卖盘方向的同类数据。 |
imbalance_avg / _min / _max | float | 窗口内的失衡。 |
imbalance_std | float | null | 其标准差:衡量力量对比的稳定性。 |
samples_count | integer | 窗口内的样本数。 |
is_closed | boolean | 仅在 live=1 时为假。 |
#VWAP
两种 VWAP,不要混淆。第一种是自 UTC 午夜起累计的:即当日均价。第二种是某个窗口的:每根 K 线一个值。两者都按成交量加权并在交易所间聚合。
# The VWAP of the day, since midnight UTC
GET /v1/vwap?symbol=BTCUSDT
# The VWAP of the last closed hour, one value per window
GET /v1/vwap/window?symbol=BTCUSDT&timeframe=1hGET/v1/vwapdata_type · vwap
GET/v1/vwap/historydata_type · vwap_history
| 字段 | 类型 | 说明 |
|---|---|---|
vwap | float | null | 自 UTC 午夜起的成交量加权平均价。 |
cumulative_volume | float | 累计成交量,作为权重。 |
timestamp | string | 最近一次计算的时间戳。 |
该接口不带 is_closed:它不是 K 线,而是持续更新的值。
GET/v1/vwap/windowdata_type · vwap_window_<tf>
GET/v1/vwap/window/historydata_type · vwap_window_<tf>_history
| 字段 | 类型 | 说明 |
|---|---|---|
bucket | string | 窗口起始时间。 |
vwap | float | null | 窗口内的成交量加权平均价。 |
total_volume | float | 窗口内的成交量。 |
trade_count | integer | 窗口内的成交笔数。 |
is_closed | boolean | 仅在 live=1 时为假。 |
#方向性压力
GET/v1/buysell/ratiodata_type · buysell_ratio
GET/v1/buysell/ratio/historydata_type · buysell_ratio_history
| 字段 | 类型 | 说明 |
|---|---|---|
timestamp | string | 计算时间戳。 |
buy_volume | float | 5 分钟窗口内的买入量。 |
sell_volume | float | 卖出量。 |
buy_ratio | float | buy / (buy + sell),0 到 1。高于 0.5 时买方占优。 |
GET/v1/trades/avg-sizedata_type · trade_size_avg
GET/v1/trades/avg-size/historydata_type · trade_size_avg_history
单笔成交的平均规模能刻画参与者:机构入场时上升,资金流变成散户碎单时骤降。
| 字段 | 类型 | 说明 |
|---|---|---|
avg_size | float | null | 平均规模,按各交易所的成交笔数加权。 |
total_volume | float | 聚合总成交量。 |
trade_count | integer | 聚合成交笔数。 |
timestamp | string | 计算时间戳。 |
#爆仓热力图
GET/v1/heatmap/clustersdata_type · heatmap_clusters
GET/v1/heatmap/clusters/historydata_type · heatmap_clusters_history
潜在爆仓在价格上方和下方聚集的区域。它们是吸引区:价格会去那里寻找它们所代表的流动性。
| 字段 | 类型 | 说明 |
|---|---|---|
timestamp | string | 计算时间戳。 |
density_up / density_down | float | 价格上方和下方最具吸引力的聚集区密度。 |
dist_up / dist_down | float | 聚集区的相对距离:0.01 表示 1%。 |
attraction_up / attraction_down | float | 密度 / 距离²。平方使近处的权重远大于远处。 |
如何解读
如果 attraction_down 明显高于 attraction_up,价格会被向下牵引:多头仓位的爆仓点就在附近。反方向同理。它指示的是价格有机械性理由前往哪里,而不是预测。