# 获取实时摆盘

# get_order_book

get_order_book(code, num=10)

  • 介绍

    获取已订阅股票的实时摆盘,必须要先订阅。

  • 参数

    参数 类型 说明
    code str 股票代码
    num int 请求摆盘档数
  • 返回

    参数 类型 说明
    ret RET_CODE 接口调用结果
    data dict 当 ret == RET_OK,返回摆盘数据
    str 当 ret != RET_OK,返回错误描述
    • 摆盘数据格式如下:

      字段 类型 说明
      code str 股票代码
      svr_recv_time_bid str 富途服务器从交易所收到买盘数据的时间
      svr_recv_time_ask str 富途服务器从交易所收到卖盘数据的时间
      Bid list 每个元祖包含如下信息:委托价格,委托数量,委托订单数,委托订单明细
      Ask list 每个元祖包含如下信息:委托价格,委托数量,委托订单数,委托订单明细

      其中,Bid 和 Ask 字段的结构如下:

       'Bid': [ (bid_price1, bid_volume1, order_num, {'orderid1': order_volume1, 'orderid2': order_volume2, …… }), (bid_price2, bid_volume2, order_num,  {'orderid1': order_volume1, 'orderid2': order_volume2, …… }),…]
       'Ask': [ (ask_price1, ask_volume1,order_num, {'orderid1': order_volume1, 'orderid2': order_volume2, …… }), (ask_price2, ask_volume2, order_num, {'orderid1': order_volume1, 'orderid2': order_volume2, …… }),…] 
      
  • Example

from futu import *
quote_ctx = OpenQuoteContext(host='127.0.0.1', port=11111)
ret_sub = quote_ctx.subscribe(['HK.00700'], [SubType.ORDER_BOOK], subscribe_push=False)[0]
# 先订阅买卖摆盘类型。订阅成功后 OpenD 将持续收到服务器的推送,False 代表暂时不需要推送给脚本
if ret_sub == RET_OK:  # 订阅成功
    ret, data = quote_ctx.get_order_book('HK.00700', num=3)  # 获取一次 3 档实时摆盘数据
    if ret == RET_OK:
        print(data)
    else:
        print('error:', data)
else:
    print('subscription failed')
quote_ctx.close()  # 关闭当条连接,OpenD 会在 1 分钟后自动取消相应股票相应类型的订阅
1
2
3
4
5
6
7
8
9
10
11
12
13
  • Output
{'code': 'HK.00700', 'svr_recv_time_bid': '', 'svr_recv_time_ask': '', 'Bid': [(384.2, 15400, 6, {}), (384.0, 3700, 7, {}), (383.8, 6600, 10, {})], 'Ask': [(384.4, 3000, 9, {}), (384.6, 25800, 23, {}), (384.8, 19100, 27, {})]}
1

接口限制

  • 富途服务器从交易所收到数据的时间字段,仅支持港股正股、窝轮、牛熊,且仅开盘时间才有此数据。
  • 富途服务器从交易所收到数据的时间字段,部分情况下接收时间可能为零,例如:服务器重启或第一次推送的缓存数据。

提示