A股中的level1跟Level2有什么区别
A股中的level1跟Level2究竟有什么區(qū)別呢?L2行情市場(chǎng)是上海證券交易所推出的實(shí)時(shí)市場(chǎng)信息收費(fèi)服務(wù)產(chǎn)品,主要提供在上海證券交易所上市交易的證券產(chǎn)品的實(shí)時(shí)交易數(shù)據(jù)。包括十檔行情,買賣隊(duì)列,逐筆成交,委托總量和加權(quán)價(jià)格等多種新式數(shù)據(jù)。
level2與標(biāo)準(zhǔn)行情的區(qū)別:
1、表現(xiàn)速度不同
level2數(shù)據(jù)發(fā)送比普通level1要快3到10秒,行情顯示速度更快,投資者更及時(shí)地獲得交易信息。
2、報(bào)價(jià)方式不同
市場(chǎng)上的買方和賣方都是需要排隊(duì)的:買方出價(jià)由高到低,順序自然由前到后;賣方出價(jià)由低到高,順序自然由前到后,level1就是這兩方的排頭,level2就是除了排頭之外,還包括其他人。
3、功能豐富度不同
level2的功能比level1的功能要多,level1顯示的是五檔行情,而level2顯示的是十檔行情,以及買賣隊(duì)列,逐筆成交,委托總量和加權(quán)價(jià)格等多種新式數(shù)據(jù)。
除此之外,level1是免費(fèi)的,而level2需要投資者付費(fèi)開通。
l2-push-python: python level2行情接入示例
# 推送逐筆成交行情數(shù)據(jù)
def tick_record_stream():
????StreamResult = Stub.NewTickRecordStream(entity_pb2.Void())
????# 用For循環(huán)就可以不斷消費(fèi)數(shù)據(jù)
????for Result in StreamResult:
????????print(Result)
# 推送逐筆委托行情數(shù)據(jù)
def order_record_stream():
????StreamResult = Stub.NewOrderRecordStream(entity_pb2.Void())
????# 用For循環(huán)就可以不斷消費(fèi)數(shù)據(jù)
????for Result in StreamResult:
????????print(Result)
# 推送委托隊(duì)列行情數(shù)據(jù)
def order_queue_record_stream():
????StreamResult = Stub.NewOrderQueueRecordStream(entity_pb2.Void())
????# 用For循環(huán)就可以不斷消費(fèi)數(shù)據(jù)
????for Result in StreamResult:
????????print(Result)
# 推送股票十檔行情行情數(shù)據(jù)
def stock_quote_record_stream():
????StreamResult = Stub.NewStockQuoteRecordStream(entity_pb2.Void())
????# 用For循環(huán)就可以不斷消費(fèi)數(shù)據(jù)
????for Result in StreamResult:
????????print(Result)
if __name__ == '__main__':
????# 可以使用多線程并發(fā)接收推送數(shù)據(jù)
????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)
????# 多進(jìn)程并發(fā)接收推送數(shù)據(jù)
????# 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)
????# 這設(shè)置為隨主線程退出子線程,避免產(chǎn)生孤兒或僵尸線程
????ThreadOne.daemon = True
????ThreadTwo.daemon = True
????ThreadThree.daemon = True
????ThreadFour.daemon = True
????# ProcessOne.daemon = True
????# ProcessTwo.daemon = True
????# ProcessThree.daemon = True
????# ProcessFour.daemon = True
????# 有一點(diǎn)值得注意一下,假如訂閱的股票相對(duì)活躍,推送的數(shù)據(jù)就不會(huì)有休眠的狀態(tài)出現(xiàn),因?yàn)镻ython的GIL鎖,所以用多線程接收推送效率不顯著,這個(gè)時(shí)候可以考慮用多進(jìn)程來(lái)接收推送
????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()
總結(jié)
以上是生活随笔為你收集整理的A股中的level1跟Level2有什么区别的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: python计算派的值_使用 Pytho
- 下一篇: Leetcode 1599. Maxim