1. 程式人生 > >高頻交易系統

高頻交易系統

訂單 精密 吸引 很難 說過 mit 沖突 大量 你們

作者:董可人
鏈接:https://www.zhihu.com/question/19839828/answer/28434795
來源:知乎
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請註明出處。

“高頻交易”是一個挺差勁的名字。按照字面意思,任何能夠以較高頻率進行交易的系統都可以叫“高頻交易系統”。比如說你用VBA寫個小程序,連上券商給你的接口,也完全可以按毫秒級進行交易,你也可以說自己開發了一個“高頻交易系統”。

不過,按照現在市面上的主流認知,我想大多數人概念裏的高頻交易系統是這樣的:
  • 交易指令完全由電腦發送,對市場數據的響應延時在微秒級(VBA退散)。
  • 系統由專用的軟硬件組成,研發時需要大量計算機專家級的工作(散戶隨便編個小程序退散)。
  • 系統的硬件需要放在離交易所主機很近的位置上,所謂 co-location。並且得到專門的準入許可證,交易指令直接發送至交易所(而不是通過券商中轉)。

符合這三點的,就可以叫做高頻交易系統。有人說你這三條沒有一條在說頻率,只能叫低延遲系統不叫高頻交易。的確,我再一次深切贊同“高頻交易”是一個很差勁的名字。但現在市面上的主流媒體,包括大部分新聞和暢銷書在談到這個話題時,說的就是這種系統,所以我在這裏就不糾結字面意思了。

如果對我上面給出的描述仍有疑問,那麽事實上還有一個非常官方的定義,來自美國證券交易委員會(SEC)。SEC 也很難給出明確的定義,最終的描述是基於5個特性:
  • 使用超高速的復雜計算機系統下單
  • 使用 co-location 和直連交易所的數據通道
  • 平均每次持倉時間極短
  • 大量發送和取消委托訂單
  • 收盤時基本保持平倉(不持倉過夜)

見:

相比起這種形象:

技術分享圖片
更真實的一面的其實是這樣的:
技術分享圖片

除此之外,存在很多妖魔化高頻交易的言論,比如:
  • 超強的盈利能力,仿佛高頻交易的機器就跟印鈔機似的。
  • 純粹靠交易賺錢,有著神秘的數學模型和尖端科技,精準的預測市場走勢,帶著無可比擬的優勢在市場上呼風喚雨。
  • 利用速度優勢割其他機構類交易者的肉,大家認為這是作弊。

回想一下,有沒有人對你高談闊論高頻交易提到這裏任何一點?你聽完以後有何感想,好生羨慕,心潮澎湃,還是滿腔憤恨上天不公?別著急,繼續往下看,相信你看完這個回答以後,能夠建立起一個正確的概念,下次遇到這種人,直接請他閉嘴。特別是那些對高頻交易有興趣,還沒入門的朋友,希望你們有一個正確的認識。否則,當你歷盡千辛萬苦,懷著滿腔熱情加入一家HFT,以為從此以後你的工作就是對海量數據做高深莫測的數學模型,架起機器沖進市場草割那些無知的低頻交易者,白花花的銀(da)子(tui)像雪片一樣沖進你的口袋,你很可能要失望。

摒除這些錯誤的觀念,這個行業的真正的精髓才能向你展開:偏執的科技至上理念,極其復雜的技術難題,瘋狂追求機器極致的性能,以及,高強度的同業競爭。這才是我認為本行業最吸引人的特點,它本身就足夠讓人著迷了。至於賺錢,建議你把它當作承擔壓力,努力工作之後的回報,而不是被葵花寶典砸到無意間學得驚世神功,從此縱橫股市點石成金,這種神話至少在這個行業是不存在的。

下面來說一說這幾條有什麽問題。


高頻交易的盈利能力很高嗎?

傳說是這樣的:

技術分享圖片
但現實很殘酷。和任何其他行業一樣,賺大錢的的確有,賠錢的也大把存在。我想這個行業特別吸引眼球的原因主要是因為它融合了金融和計算機這兩個熱門詞匯,而且確實是一個高科技行業(相信沒幾個行業會關心光速在不同介質中的區別),很容易給外人一種神秘感。但如果只盯著金字塔頂端的幾家公司而下結論,就好像看了喬丹集錦以後就認為所有打籃球的人都能扣籃一樣,是不現實的。

特別需要說明的是,因為高頻交易系統對低延遲的敏感性,研發時需要投入大量的人力物力,要高薪聘專業的計算機專家,花錢買昂貴的硬件,租用專門的微波通信線路。但這一切也不能保證你得到一個預想中的“低延遲”系統。整個系統的設計和開發是一個非常復雜的工程。而且交易系統對於準確性和穩定性要求極高,不夠精密的話上線後會出現各種問題,根本無法使用。

如此大規模的投入,很多時候換來的是一個殘次品系統。

技術分享圖片
非常非常多的公司因為搞不定技術問題而賠錢關門。
技術分享圖片

這裏有一個深遠的問題是,高頻交易是一個金融和計算機結合的產業,但同時精通這兩者的人才是非常稀少的。金融人士主導的項目會缺乏對技術的判斷能力,IT人士主導又會對需求把握不清。在對性能不敏感的行業這可能不是太大問題,可以按照傳統的甲方乙方方式解決,有問題慢慢扯皮。但在這個高競爭行業,沒有太多時間可以用來浪費在扯皮上。投產的系統可能慢上幾微秒就是廢物,而那時往往會發現基本的設計就有問題,根本無力回天。這種超高難度的研發壓力,其實才是高回報的來源。


高頻交易的策略?

有兩種策略,做市(market making)和套利(arbitrage),從性價比來說,做市是更好的選擇。

做市是指,在市場上充當流動性提供者,通俗的說就是有任何人想買一個東西(比如股票,期貨等),你要保證能賣給他,有任何人想賣一個東西,你要保證從他那買。保證的意思就是如果市場上沒有別人出頭,做市商就必須出來。隱含的意思就是,做市商是所有人的對手盤。

在過去,做市商可能是這樣的:

技術分享圖片
也可能是這樣的:
技術分享圖片
而在高頻交易時代,他們變成了這樣:
技術分享圖片
這裏需要仔細想一下,一般情況下,如果你想買一支股票,往往是因為你看好它會升值,而你的對手盤跟你交易,是因為他認為會貶值,你們有一個價值判斷上的分歧。那麽做市商為什麽能豪氣幹雲的出頭做所有人的對手盤,是因為他喜歡跟別人唱反調嗎?

當然不是。做市商的策略本質上,是認為市場價格在短期內具有波動性,漲上去的價格會落下來,反之亦然。所以他可以選擇承擔一定的風險,暫時從你手裏把東西買過來,過一段時間價格變得有利時再賣掉。註意這裏的風險是真實存在的,沒有什麽保證價格一定會向著做市商有利的方向變化。時間跨度越大,這種風險也越大。做市商承擔了這種風險,並且買過來的東西需要持有一定時間作為庫存,來賺取因為波動性而產生的一點點價差(通常是一分兩分)。也有更穩妥一些的做法,是通過其他高相關性的產品做對沖,比如買進一只股票的同時賣出它的期貨,這個模型更復雜一些,對算法和性能的要求也更高。這種生意的本質決定了必須要能大量買賣,才能積少成多形成效益。

有風險就意味著有可能賠錢。所以這就產生了兩種不同的做市商。第一種是膽大的土豪,說老子有錢,買人,買設備,全都上最好的,我不信賺不到錢。這種人我們叫它noncontractual market maker,他來做市全憑自己興趣。

技術分享圖片
第二種是膽小的,覺得自己沒把握一直賺錢,他可能就不敢做了。這時有一個人就不高興了,他的名字叫交易所。交易所的存在,就是提供交易平臺,然後通過對每筆交易收手續費來賺錢。如果沒有人交易,顯然他賺不到錢。為什麽沒人交易呢?因為有需求的人可能找不到對手盤,大家對價格的趨勢判斷是一致的,都在觀望。這個情況對交易所很不利,所以他希望引入做市商。做市商一來,就能把門面撐起來(對,在中國,我們有時管這叫托。不同的是做市商的確承擔了風險也參與了真金白銀的交易,給交易者們營造了一個更友好的交易環境,所以是受到大家認可的)。大家一看場子裏有很多人在交易,就願意也摻一腳了。交易的人多了,交易所就很開心。所以他會付錢給做市商,可能還減免手續費什麽的給點小福利。這樣一來,這種做市商即使生意做的不好賠點錢,算上交易所的報酬,還是能盈利。這樣的人,我們叫做contractual market maker,就是說他會和交易所簽訂一個合同,承諾提供多少流動性,交易所也相應的給一些報酬和福利。
技術分享圖片
註意這種業務裏做市商不是很需要預測市場走勢的能力,只要能做到不賠錢就可以賺進交易所的酬勞。這個時候關鍵點來了,就是如何做到不賠錢?一個是按照上面說過的,做好對沖,另一個就是發現形勢不利的時候要能及時撤單,這個是最考驗低延遲的地方,速度慢就會發生來不及撤單而遭受損失的情況。

所以,根據做市這種行為的特點,和市場上的需求,決定了HFT是最適合做這件事的。這也是為什麽我們經常說HFT給市場提供流動性。

套利是指,找到兩種強相關性的證券。一個極端的例子是,ETF和組成ETF的那些股票。如果你知道ETF的計算方式,就可以用同樣的方式通過那些股票的價格來計算一個ETF的期望價格。有的時候,因為種種原因,你發現這個價格和你在市場上看到的ETF價格不一樣,你就知道顯然是市場發生了一些混亂,早晚這個價格會變回來。這時你就可以買入(賣出)ETF,賣出(買入)那些股票,坐等價格回歸,可以穩賺不賠。

這個策略聽起來很美,實際上競爭非常激烈。因為任何人都可以做這件事,參與的人多了,市場就會少犯錯誤,同時每個人的利潤空間也變小了。當你的套利收入不足以支撐HFT的研發維護成本的時候,離關門也就不遠了。

所以總結起來,做市是比較主流的HFT業務。而正是因為做市商這種和所有人做對收盤的業務模式,使得大部分交易都是通過做市商的參與來完成的,也就不難理解為什麽70%的交易都是由HFT(做市商)來完成的了。


高頻交易是通過作弊搶其他人的錢嗎?

首先以上兩種業務可以很清楚的看出,沒有任何作弊空間。簡單的說,HFT的競爭對手一定是另一個HFT。

那麽HFT有那麽多速度優勢,跟交易所攪基(co-location),系統延遲搞到微秒級,他一定比其他人更先看到市場數據,為什麽不能利用這個作弊?

技術分享圖片難道不能這樣嗎?

回答這個問題,一定要明確的是:所有交易都是在交易所內部完成的。沒有人能在別人的交易指令傳入交易所之前就探測到(你說網絡抓包?好吧你贏了,祝你好運。)。從理論上就根本沒有任何作弊的可能(別拿交易所當傻瓜)。HFT的速度優勢是指,當交易所完成一筆交易,在通知所有交易者的時候,HFT因為在通信線路的上遊,所以會比別人先看到這條交易確認信息。這個時候他可能會根據自己對這條信息的理解以及業務需求,增加或者撤掉自己的一些單子,但這些都是完全正常的交易操作,不存在任何惡意,並且由於這條信息是發送給所有人的,任何人都會對此做出解讀和反應,但只有那些在同一個時間粒度上工作的交易者之間才可能存在競爭,下面再解釋這個問題。而對於最初這條交易的發起者來說,因為交易已經完成,所以不存在任何被攻擊的可能。

技術分享圖片
上面說到,HFT的優勢,在於他可以第一時間對交易所放出的交易確認信息做出反應。但是這個信息如果沒有對手盤就毫無價值。而一個接受信息慢,且反應時間在毫秒級以上的機構用戶,怎麽可能參與進來做HFT的對手盤呢?這句話可能還是不太容易理解,我舉一個誇張的例子:如果你的操作頻率以十年為最小單位,買進一支股票以後十年不做任何操作,很顯然沒有任何人在這10年內可以找你做對手盤,這種情況下所有其他交易者對你來說都是HFT,你卻不會擔心他們對你有什麽影響。例子雖然誇張,但HFT和機構用戶之間的差距其實就是這麽大,他們生活在不同的世界裏。他們的業務本來就不沖突,且根本就不是一個層面上的東西。比較HFT和機構用戶,就好像比較百米速跑和馬拉松運動員的速度一樣,毫無意義。
技術分享圖片
對於機構用戶來說,需要理解電子交易市場的規則。有人用那種,看到屏幕上有一個價格,點了鼠標,結果發現成交價不一樣,來說明是背後有人搗鬼,這屬於腦袋進水的邏輯。特別需要註意的是市價單(market order)本來就是不保證成交價的,指令發給交易所,交易所根據當時的情況,算出是什麽價就給你什麽價,這沒什麽好委屈的。如果想要確保價格,請使用限價單(limit order),保證成交價格,但是不保證時間。這兩種單是所有人都可以使用的,沒有任何不公平可言。

人類,應該做電腦的主人,而不要這樣:

技術分享圖片
最後說說HFT可能存在的問題。Flash crash是真實發生過的,也是最大的隱患。當一個市場上70%的交易都是HFT完成的時候,我們必須要能對HFT的系統有信心。這就需要HFT的開發流程標準化,接受開發過程的評審,有嚴格的測試體系。幾個技術宅關在小黑屋裏鼓搗出來的東西沒人敢拍胸脯保證不會死機。而這一點目前看的確是比較差的,需要盡快規範起來。這才是公眾需要關註的重點。

高頻交易系統