證監會主席易會滿出席第60屆世界交易所聯合會(WFE)會員大會時表示:在成熟市場,量化交易、高頻交易比較普遍,在增強市場流動性、提升定價效率的同時,也容易引發交易趨同、波動加劇、有違市場公平等問題,
萬物均有一體兩面,高頻交易作為當前常見的交易策略,需要較強的技術手段和較大的資金投入,同時也面臨著監管制度趨嚴的現狀,伴隨著高頻量化交易的快速發展,非凸科技致力于為量化機構提供適應新時代科技發展、符合國內實際情況的高頻量化交易系統,
Tips:敲黑板:高頻交易、低延時交易、程式化交易、演算法交易,有什么不同?
高頻交易:是一種高速度、高頻次的交易方式,通過預設的計算機演算法實作,具有低隔夜持倉、高報撤單頻率、高換手率等特點,操作上體現了以下幾種顯著特征:
1.使用高速和復雜的計算機程式來生成、傳遞、執行命令;
2.直連交易所的資料通道;
3.設立和清算頭寸的時限很短;
4.大量發送和取消委托訂單;
5.收盤時不留頭寸,
低延時交易:要求整個交易鏈條上的所有環節,都盡量縮短時間間隔,對低延遲交易技術的掌握程度也是專業機構與普通投資者的差距所在,
區別:高頻交易不等同于低延時交易,有些策略每天需要產生大量的交易,如籃子交易,換倉交易等,并不靠速度取勝,不靠低延時盈利,而有些策略需要低延時,通過監控市場變化發現交易機會立即執行,但每天交易機會非常少,交易頻次很低,也不屬于高頻范疇,
程式化交易:通過既定程式或特定軟體,自動生成或執行交易指令的交易行為,
區別:高頻交易的特點要求交易必然由機器程式化完成,因為人工下單的速度無法實作這些高頻策略,但程式化交易不只適用于高頻策略,低頻策略同樣可以使用程式化實作,
演算法交易:交易員在二級市場交易時采用的一種自動化交易方式,專注于訂單的執行程序,根據數學模型,統計資料等多方面的資訊,通過預先設計好的演算法進行下單,
區別:演算法交易并非一種賺錢的策略,而是在大額交易,籃子交易,回購交易等不同應用場景下,優化訂單的執行程序,隱藏交易意圖,減少沖擊成本,
對于傳統的人工交易來說,由于操作速度掣肘,交易的頻率在10分鐘以上,常見的分鐘級k線或是日線等就足夠作為判斷交易的依據,隨著通信和計算機技術的發展,量化交易可達到的交易頻率遠遠超過從前,而對于高頻量化交易,其交易速度可達到微秒甚至納秒級,
像所有的數學模型一樣,資料是測驗、應用模型的基礎,高頻量化交易也離不開高頻的市場資料,本文首先介紹訂單簿以及價格產生的機理,之后介紹交易所資料的特征,最后介紹實際生產中怎么對資料做預處理,
1. 訂單簿和價格的產生
一件商品的價格是由供需雙方決定的,價格高也好、低也好,只要雙方互相認可,這個價格就是合理的,在二級市場上也有買賣的雙方,投資標的的價格就是雙方成交的價格,在商場或者菜市上,買家可以貨比三家尋求最優,在證券、期貨的市場上不能這么隨意,為了規范交易行為,訂單簿(order book)產生了,
訂單簿是交易所記錄多空訂單的電子系統,訂單簿上記錄了當前所有交易委托的報價和數量,行情軟體上面的盤口深度就是訂單簿在某一時刻的顯示,圖1是某股票某一時間的盤口深度,買盤按價格從高到低、賣盤按價格從低到高分為若干檔,買一價和賣一價分別為10.88、10.89元,當有訂單成交時,成交價格就會成為當下的最新市場價格,價格是由成交的訂單決定的,而訂單如何成交則由訂單簿的撮合機制決定,各個交易所的撮合機制和演算法都有所不同,通常而言撮合服從價格優先、時間優先的規則,即同樣交易方向是按照價格排隊,同樣交易價格是按照時間排隊,

圖1. 某股票盤口深度,縱軸表示價格,橫軸表示訂單量,
2. 交易所資料:Tick到Bar
訂單簿中每有一筆交易成交,價格就會發生變化,因此在市場上,價格的變化是不間斷發生的,原則上交易所應該實時地回傳最新行情,其中包括最新的買盤賣盤以及成交情況,這就是所謂的Tick資料,理想的Tick資料要像流水一樣保存所有交易資訊,對于我國市場,證券交易所用3秒的最小周期回傳行情資料和訂單資料,以大約一百毫秒的周期回傳成交資料,這些截面資料即level-2行情,
最為人熟知的k線是由level-1行情生成的,k線通常以OHLC四價的形式作圖,線上的一個點也被稱作一個Bar,打開行情軟體、財經網站,上面提供的價格都是k線,通常分時k線圖中最小的時間視窗是5分鐘,如果一直盯盤,可以看到價格在當前5分鐘內持續變化,這些變化即Tick資料的變化,直到5分鐘視窗的最后一刻,價格固定,k線進入下一個5分鐘,
從Tick到Bar資料,就是以低頻對高頻資料重采樣,選擇需要的k線時間視窗,將交易期間的Tick資料按照給定的視窗分組,計算得到每個視窗中的開盤價、最高價、最低價、收盤價,這樣就得到Bar資料,完成了level-2到level-1行情資料的轉換,如圖2所示,不同策略的交易頻率不同,根據策略的特性,可以將高頻的Tick資料轉換成不同頻率的Bar資料使用,

圖2. 某股票行情資料片段,A圖為3秒周期的Tick資料,B圖為重新聚合得到的分鐘級Bar資料(顏色含義與國內市場相反),
3. 高頻資料的預處理
從交易所回傳的資料是需要處理的,對于一些流動性較差的股票,行情更新的時間要到6秒或更長,原始資料在時間上不是等間距排列的,非等間距的時間序列在數學上是個難題,目前主流仍是等間距時間序列的處理,因此,股票資料預處理主要是在時間上以3秒對齊行情資料,
Tick行情資料通常包含的欄位有時間戳、股票代碼、最近成交價以及10檔買賣量價,原始資料中有可能出現不同行的資料有相同的時間戳,這一般發生在集合競價期間,首先要對重復時間戳的資料進行去重,由于行情資料是截面資料,因此去重只需要保留最后出現的資料即可,
成交資料的欄位有時間戳、股票代碼、成交價、成交量、換手率、買賣方向等,成交資料的更新時間在百毫秒的水平,時間戳的間隔很不規律,且時間戳重復的資料眾多,處理成交資料時,要根據買賣方向對買單、賣單分組,分組后把時間戳轉換到最近的3秒標準時間上,再將時間戳相同的資料累加,
只考慮連續競價期間的行情,3秒的采樣周期下,每日應有4800個資料點,實際上重聚合后的資料點只會少于4800個,需要補全,資料補全的程序中要仔細處理缺失值,資料中有兩類,一類是存量性資料,比如盤口深度和價格,當資料缺失時只需要取過去最近的值填補就好;一類是瞬時性資料,比如當下成交量等,資料缺失意味著當下沒有成交,對缺失值補0即可,
4. 資料中的細節處理
資料的預處理主要就是去重、重采樣、填補缺失值,在實際作業中,有些細節需要仔細考慮,以免影響后續使用,最重要就是熟悉資料介面的說明,由于各家資料服務商的介面不同,回傳的資料型別也不同,比如時間戳,有的是ISO標準時間,有的則是特定格式的整形數值;還有價格,有的介面直接回傳浮點數,有的去掉小數點回傳整型,不同型別的資料有不同的優勢,比如時間欄位,數值型的時間戳可以提高資料查詢和處理速度,在篩選特定時間的行情資料

時,利用python或MATLAB中獨有的矩陣查詢方法可以快速實作,如果時間格式是Unix時間,在對時間做運算時也比較簡單,因為數值上是連續的,如果時間格式是以93001的數值表示9:30:01,在對時間就近取整時則要考慮60秒與60分鐘進位的情形,對于Time = 93001,有

對于要進位的情形則有

其中%表示取余運算,這樣Time = 93001就轉換成了Timenew = 93003,
對時間重采樣的時候,要注意對時間按3秒取整時是向上近似還是向下近似,不當的近似方式會引入未來資訊,應當以每個時間間隔的結束時間作為新坐標,這個問題通常出現在處理成交記錄時,舉例來說,當要處理時間為9:32:05的成交量Vol時,應當將這個時間前3秒的資料累積起來,即

在去重時也要注意,不同欄位有不同的處理方式,比如前文提及的,對價格去重,要保留最新資料,但對成交記錄去重,則要累加相同標簽(如圖3),

圖3. 資料去重示意圖,價格保留最新價,交易量作累加,
隨著中國市場有效性的提高,再加上監管層變得越來越嚴格,使得投資機構獲取非公開資訊的方式越來越難,因此利用資料挖掘的方法,從公開的資料中挖掘出非公開資訊,有利于量化機構獲取超額收益,
量化基金規模越來越大,高頻策略的有效性也隨之降低,于是量化基金行業變得越來越卷,開始不斷地拼裝備,拼演算法,拼人才,投入了大量的成本,然而,不是每家機構都有高額的投入成本,那么非凸科技來助力!
非凸科技是中國金融市場領先的智能投資演算法交易平臺,專注于智能演算法交易領域的研究和開發,追求卓越演算法,賦能量化交易,一直是我們不懈的追求,業務高速發展的同時,團隊規模也迅速壯大,有國際競賽冠軍,有高校風云人物,有大廠頂尖架構師,還有機器學習大牛,期待與嚴謹細致、沉著冷靜、熱愛Rust、對量化行業充滿熱情的你,一同奮斗在量化交易的最前線!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/385295.html
標籤:其他
