如何通过Binance API获取更大tick size的聚合订单簿数据
币安API获取大tick size聚合订单簿的实现方法
你调用的api/v3/depth接口返回的是最小tick精度的原始订单簿数据,和网页端调整tick size后展示的聚合订单簿逻辑完全不同,因此无论怎么调整limit参数都无法直接获得大粒度的聚合结果,可通过以下两种方案实现需求:
调用官方聚合深度接口
币安现货API提供了专门的聚合深度接口/api/v3/aggDepth,支持传入参数指定你需要的tick size聚合粒度,接口会直接返回按对应粒度聚合后的订单簿档位,相同limit下可覆盖的价格区间远大于原始深度接口。比如你需要tick size为100的BTCUSDT聚合订单簿,直接在接口中指定对应精度参数即可。本地手动聚合订单数据
如果你需要的粒度比较特殊,或是需要覆盖更大的价格区间,可以拉取api/v3/depth接口的最大5000档原始数据,或是通过websocket深度增量流维护本地全量订单簿,之后按规则手动聚合:- 确定你需要的tick size(示例为100)
- 对每个原始价格档位做换算:
聚合档位价格 = floor(原始价格 / tick_size) * tick_size - 将所有归属于同一聚合档位的买单、卖单挂单量分别累加,最终得到对应粒度的聚合订单簿
注意事项
- 官方聚合深度接口的最大limit为1000档,足够覆盖绝大多数场景的价格区间需求
- 币安公开API不会返回超过5000档的原始深度数据,如果你需要更广价格区间的订单,只能通过维护本地全量订单簿的方式实现
内容的提问来源于stack exchange,提问作者Ivan Sas
相关产品推荐
相关产品推荐

