You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何直接对币安WebSocket订单簿字典执行类DataFrame计算?

直接在原始字典上计算Binance订单簿的bids/asks乘积求和

我通过Binance WebSocket API获取订单簿数据,返回的是如下结构的JSON字典:

{
    'bids': [['20768.16000000', '0.07273000'], [...]],
    'asks': [['20770.77000000', '0.00096000'], [...]]
}

需要将每个子列表中的两个数值(价格×数量)相乘后累加求和。目前我是通过转换为Pandas DataFrame实现的,但希望无需依赖DataFrame,直接在原始字典上完成计算。


当然可以直接用Python原生语法实现,不需要依赖第三方库。核心思路是遍历字典里的bids和asks列表,逐个将字符串转换为数值后相乘,再用sum()函数累加结果。

实现代码

方法1:生成器表达式(简洁写法)

# 假设response是从WebSocket获取的原始字典
response = {
    'bids': [['23767.25000000', '0.00100000'], ['23766.82000000', '0.02102000'],
             ['23766.81000000', '0.01081000'], ['23766.79000000', '0.01758000'],
             ['23766.75000000', '0.00051000'], ['23766.10000000', '0.00168000'],
             ['23766.01000000', '0.00400000'], ['23765.95000000', '0.00092000'],
             ['23765.40000000', '0.13471000'], ['23765.06000000', '0.04420000']],
    'asks': [['23768.53000000', '0.00195000'], ['23768.57000000', '0.10468000'],
             ['23768.68000000', '0.13800000'], ['23768.93000000', '0.00166000'],
             ['23769.02000000', '0.01709000'], ['23769.38000000', '0.01799000'],
             ['23770.67000000', '0.00515000'], ['23771.58000000', '0.00696000'],
             ['23771.75000000', '0.05799000'], ['23771.76000000', '0.13800000']]
}

# 计算bids的总乘积和
total_bids = sum(float(price) * float(quantity) for price, quantity in response['bids'])
# 计算asks的总乘积和
total_asks = sum(float(price) * float(quantity) for price, quantity in response['asks'])

print(f"bids总乘积和: {total_bids:.6f}")
print(f"asks总乘积和: {total_asks:.6f}")

方法2:循环遍历(直观易调试)

total_bids = 0.0
for item in response['bids']:
    price = float(item[0])
    quantity = float(item[1])
    total_bids += price * quantity

total_asks = 0.0
for item in response['asks']:
    price = float(item[0])
    quantity = float(item[1])
    total_asks += price * quantity

print(f"bids总乘积和: {total_bids:.6f}")
print(f"asks总乘积和: {total_asks:.6f}")

计算结果示例

基于你提供的完整字典,运行后会得到:

  • bids总乘积和: 4954.722779
  • asks总乘积和: 7509.650485

内容的提问来源于stack exchange,提问作者fboi1

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 00:43:27