当前位置: 首页 > 工具软件 > level > 使用案例 >

A股中的level1跟Level2有什么区别

邵羽
2023-12-01

A股中的level1跟Level2究竟有什么区别呢?L2行情市场是上海证券交易所推出的实时市场信息收费服务产品,主要提供在上海证券交易所上市交易的证券产品的实时交易数据。包括十档行情,买卖队列,逐笔成交,委托总量和加权价格等多种新式数据。


level2与标准行情的区别:


1、表现速度不同


level2数据发送比普通level1要快3到10秒,行情显示速度更快,投资者更及时地获得交易信息。


2、报价方式不同


市场上的买方和卖方都是需要排队的:买方出价由高到低,顺序自然由前到后;卖方出价由低到高,顺序自然由前到后,level1就是这两方的排头,level2就是除了排头之外,还包括其他人。


3、功能丰富度不同


level2的功能比level1的功能要多,level1显示的是五档行情,而level2显示的是十档行情,以及买卖队列,逐笔成交,委托总量和加权价格等多种新式数据。
除此之外,level1是免费的,而level2需要投资者付费开通。

l2-push-python: python level2行情接入示例

# 推送逐笔成交行情数据

def tick_record_stream():

    StreamResult = Stub.NewTickRecordStream(entity_pb2.Void())

    # 用For循环就可以不断消费数据

    for Result in StreamResult:

        print(Result)

# 推送逐笔委托行情数据

def order_record_stream():

    StreamResult = Stub.NewOrderRecordStream(entity_pb2.Void())

    # 用For循环就可以不断消费数据

    for Result in StreamResult:

        print(Result)

# 推送委托队列行情数据

def order_queue_record_stream():

    StreamResult = Stub.NewOrderQueueRecordStream(entity_pb2.Void())

    # 用For循环就可以不断消费数据

    for Result in StreamResult:

        print(Result)

# 推送股票十档行情行情数据

def stock_quote_record_stream():

    StreamResult = Stub.NewStockQuoteRecordStream(entity_pb2.Void())

    # 用For循环就可以不断消费数据

    for Result in StreamResult:

        print(Result)

if __name__ == '__main__':

    # 可以使用多线程并发接收推送数据

    ThreadOne = threading.Thread(target=tick_record_stream)

    ThreadTwo = threading.Thread(target=order_record_stream)

    ThreadThree = threading.Thread(target=order_queue_record_stream)

    ThreadFour = threading.Thread(target=stock_quote_record_stream)

    # 多进程并发接收推送数据

    # ProcessOne = Process(target=tick_record_stream)

    # ProcessTwo = Process(target=order_record_stream)

    # ProcessThree = Process(target=order_queue_record_stream)

    # ProcessFour = Process(target=stock_quote_record_stream)

    # 这设置为随主线程退出子线程,避免产生孤儿或僵尸线程

    ThreadOne.daemon = True

    ThreadTwo.daemon = True

    ThreadThree.daemon = True

    ThreadFour.daemon = True

    # ProcessOne.daemon = True

    # ProcessTwo.daemon = True

    # ProcessThree.daemon = True

    # ProcessFour.daemon = True

    # 有一点值得注意一下,假如订阅的股票相对活跃,推送的数据就不会有休眠的状态出现,因为Python的GIL锁,所以用多线程接收推送效率不显著,这个时候可以考虑用多进程来接收推送

    ThreadOne.start()

    ThreadTwo.start()

    ThreadThree.start()

    ThreadFour.start()

    # ProcessOne.start()

    # ProcessTwo.start()

    # ProcessThree.start()

    # ProcessFour.start()

    ThreadOne.join()

    ThreadTwo.join()

    ThreadThree.join()

    ThreadFour.join()

    # ProcessOne.join()

    # ProcessTwo.join()

    # ProcessThree.join()

    # ProcessFour.join()

 类似资料: