我們一定聽說過高頻交易使用十檔行情,市場是實時刷新的,比我們的普通市場快得多,我們都知道市場快1ms,可以給我們帶來巨大的信息優(yōu)勢,然后轉(zhuǎn)化為收入。今天我們將解密傳說中的十檔行情。
在介紹行情前,先介紹一些基本概念。
又稱逐筆成交,是整個市場上的逐筆數(shù)據(jù)。例如投資者一筆新的委托會形成一筆行情,交易所撮合一筆新的成交也會形成一筆行情,撤單也會形成一筆行情。?level2行情接口記錄了市場的每一個事件的數(shù)據(jù),是最精細和完整的數(shù)據(jù)。
行情快照
又稱切片(snapshot)行情,是對tick行情數(shù)據(jù)的某一個時刻的切片數(shù)據(jù)。例如現(xiàn)在A股市場3s一筆的行情,就是每3s,在這時間段內(nèi)的最高價、最低價、成交量、成交額等匯總成的一筆快照行情。這里有點像利潤表的概念,利潤表是一段時間內(nèi)的匯總,而快照也是一定時間內(nèi)行情的匯總。這里需要注意下,現(xiàn)在有人把3s一次的行情稱為tick行情,其實這個是不對的,3s一次只能稱之為行情快照。
level1行情
又稱五檔行情或基本行情,字面意義上是指行情報單簿的檔位只有五檔,即買一到買五,賣一到賣五。實際應用中一般用來指比較基礎的一種行情,只包含最低層次的買賣,成交數(shù)據(jù),更新頻次也是最低。
level2行情
稱十檔行情或者增強行情,可以認為是level1行情的升級版,增強行情指在基本即時行情的基礎上,實時買賣盤由五檔擴展到十檔,并增加最佳價位的前50個分檔明細、逐筆委托、逐筆成交等信息。這種行情一般是要單獨收費的。
level2行情又分為兩類,第一類是展示行情。
level2展示行情
是指我們可以在交易軟件或者手機app上看到的行情。比如同x順level2,通x信level2,或者手機app的level2。
行情比較
接下來我們來看看行情的比較,首先不管是level1行情還是level2行情,都是3s一次刷新。買賣盤口,level1是五檔行情,level2是十檔行情。行情的基本信息都包括最高價、最低價、開盤價、收盤價、交易量和交易額,level1和level2都包括這些基本的信息。level1與level2最大的不同,就是這個增強行情信息。
上交所的level2增強信息,包括買一賣一前50筆訂單的委托量,這里插一句,如果你用的是獨立交易單元,就可以通過level2的這個數(shù)據(jù)來查看你委托的排名。另外上交所level2還有逐筆成交,以及全部委托的加權(quán)均價和總量的信息。
深交所的level2增強行情跟上交所有所不同,他除了有逐筆成交信息以外,還包括逐筆委托信息,實現(xiàn)了真tick級行情。由于有了逐筆委托和逐筆成交的信息,這樣就能根據(jù)這個信息還原整個行情訂單簿,實現(xiàn)實時行情刷新,也就是今天我們所講的千檔行情。
高頻策略如何使用level2行情
讓我們看看高頻交易是如何使用二級市場的。高頻交易將策略程序托管到交易所的機房,在機房內(nèi)獲得第二級市場,這比通過互聯(lián)網(wǎng)獲得市場要快得多。市場觸發(fā)戰(zhàn)略信號,信號發(fā)送到交易所匹配主機完成交易。
最后,讓我們看看誰通常使用2級市場。一般來說,它們是高頻量化交易用戶,其高頻策略高度依賴于高速市場的觸發(fā)。這些客戶通常有自己強大的金融工程團隊和IT團隊,主要是高頻量化交易。
在這里,我們要注意的是,一般的私募都是利用證券公司的市場,而魔方為了滿足自己的需求,去交易所申請了第二級市場授權(quán)。這個授權(quán)很貴,每年交易的授權(quán)費、帶寬費、硬件費加起來就有幾百萬,說明第二級市場對于高頻量化私募有多重要。
代碼示例
# -*- coding: utf-8 -*-
# 此Demo只是演示接入過程
import grpc
import entity_pb2
import proxy_pb2_grpc
import threading
from multiprocessing import Process
# 代理服務器監(jiān)聽的地址和端口
ServerConnect = grpc.insecure_channel('localhost:5000')
Stub = proxy_pb2_grpc.ProxyStub(ServerConnect)
# 查詢訂閱
def get_subscription():
????# rep返回code為1代表成功,其余狀態(tài)碼可參考接入文檔,data是返回訂閱股票的情況
????Result = Stub.GetSubscription(entity_pb2.Void())
????print(Result)
# 新增訂閱
def add_subscription():
????# 實例ProtoBuf協(xié)議的方法
????String = entity_pb2.String()
????# 修改協(xié)議的值
????# 2:市場代碼標識(1為上海證券,2為深圳證券)
????# 000002:股票代碼
????# 15:訂閱全部標識(1為逐筆成交,2為逐筆委托,4為委托隊列,8為股票十檔行情,如果想全部訂閱可直接填入15,原理是1+2+4+8,如果想訂閱某幾個行情將幾個行情標識相加即可)
????String.value = '2_000002_15'
????# String.value = '2_000001_15,2_000002_5,2_000003_12,批量訂閱'
????# rep返回code為1代表成功,其余狀態(tài)碼可參考接入文檔
????Result = Stub.AddSubscription(String)
????print(Result)
# 取消訂閱
def del_subscription():
????# 實例ProtoBuf協(xié)議的方法
????String = entity_pb2.String()
????# 修改協(xié)議的值
????# 2:市場代碼標識(1為上海證券,2為深圳證券)
????# 000002:股票代碼
????# 15:取消全部標識(1為逐筆成交,2為逐筆委托,4為委托隊列,8為股票十檔行情,如果想全部取消可直接填入15,原理是1+2+4+8,如果想取消某幾個行情將幾個行情標識相加即可)
????String.value = '2_000002_15'
????# String.value = '2_000001_15,2_000002_5,2_000003_12,批量取消'
????# rep返回code為1代表成功,其余狀態(tài)碼可參考接入文檔
????Result = Stub.DelSubscription(String)
????print(Result)
# 推送逐筆成交行情數(shù)據(jù)
def tick_record_stream():
????StreamResult = Stub.NewTickRecordStream(entity_pb2.Void())
????# 用For循環(huán)就可以不斷消費數(shù)據(jù)
????for Result in StreamResult:文章來源:http://www.zghlxwxcb.cn/news/detail-491806.html
????????print(Result)文章來源地址http://www.zghlxwxcb.cn/news/detail-491806.html
到了這里,關于高頻策略如何使用level2行情?的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!