繁體
  • 简体中文
  • 繁體中文

熱門資訊> 正文

高頻交易,足矣!

2024-06-11 16:44

登錄新浪財經APP 搜索【信披】查看更多考評等級

來源:量化投資與機器學習

量化投資與機器學習微信公眾號,是業內垂直於量化投資、對衝基金、金融科技、人工智能、大數據領域的主流自媒體公眾號擁有來自公募、私募、券商、期貨、銀行、保險、高校等行業30W+關注者,曾榮獲AMMA優秀品牌力、優秀洞察力大獎,連續4年被騰訊雲+社區評選為「年度最佳作者」。

作者 | 江海        來自 | 知乎

本文來自作者對《High-frequency trading a practical guide to algorithmic strategies and trading systems》一書的脱水解讀。書里內容很全面也很practical,似乎網上中文的文章也很少有全面介紹高頻交易是怎麼回事的,所以這里寫篇文章來試圖做這麼一件事,還有自己的一些相關想法,也當做自己的讀書筆記總結。

就像愛因斯坦説的「如果不能用最簡單的話來解釋物理,那麼説明自己也沒有弄懂」,爭取用最簡單的語言講清楚高頻交易是個什麼東西,讓每個人都學會高頻交易。

本文分為四個部分:

首先第一部分是介紹高頻數據長什麼樣子;第二部分是基於高頻數據,介紹現在高頻交易的各種統計套利,market making策略還有events driven策略;第三部分是簡單介紹execution cost和algo trading,用來隱藏自己的下單和降低對市場的影響;前三部分都是金融硬核知識,最后一部分是工作心得,還有附錄推薦書籍。話不多説,我們接下來先看看第一章高頻數據。

一、高頻數據

高頻交易最重要的信息來源就是Quotes和Trades了,我感覺基本上所有的數據分析都是基於買和賣的信息,不僅最重要的strategy和signal,還有market impact和order execution的modeling都是基於order book上面的Quotes和Trades做出的判斷。

Quotes和Trades都是從交易所發過來的信息。如果一個人想要在交易所交易某個股票(交易過股票的盆友可能在股票app上也見到過),會有兩個下單的order訂單種類選擇,一個是用limit order(限價訂單),另一個是用market orde(市場訂單)。

Limit order是指在特定價格買入或賣出股票,用的是limit buy order和limit sell order,優點是可以控制成交價格是自己指定的價格,但缺點是需要等很長時間甚至不一定買得到股票,因為一般limit order的價格都是差於市場正在交易的價格market price),買賣的人是希望未來市場價格會達到自己心目中的價位,否則寧願交易不成功。

除了limit order,我們還可以用market order,其是指以當前market price立即買入或賣出股票的order,用的是market buy order和market sell order。這樣可以快速確保交易的成功執行,當然缺點就是當買賣股票數目很大的時候,實際的交易價格會和一開始下單時的market price偏離很大,也就是market impact會很大,這點后面會詳細解釋為什麼。

作為高頻交易,里面其實據此也分成Maker和Taker,還有其相應不同的策略。Maker策略就是主要用limit order放在自己這一邊來做market making,盈利主要是spread還有rebate;Taker策略就是根據很強的alpha來直接用market order去吃掉對面limit order單子,比如預測股票要漲,那麼就take對面best ask的單子,需要用到market order是因為alpha很容易就decay掉了所以需要儘快realize這個交易。

總之,Quotes包含了所有買賣雙方的limit order的信息,然后把所有的信息都呈現在一個book上面,這就是Limit Order BookLOB),其名字其實也就是代表了這是所有limit order的集合。Trades的所有信息是從market order來的,也可以當做是market order在limit order book上撮合交易的結果。本質上市場是由market order驅動的,因為如果沒有market order那麼limit order永遠成交不了,這樣市場就永遠不會有成交的交易也永遠不會move了當然這里表述其實不是很準確,因為limit order設置的價格也可以優於market price,這里爲了簡單,統一把優於市場價格的order都當做market order,因為都是可以立即執行變成trade的order)。

這兩個數據對於高頻交易都至關重要,我們可以先看看Quotes和Limit Order Book。

1.1 Limit Order Book (LOB) and Microstructure

Limit Order Book(限價訂單簿)是一個顯示所有未成交限價訂單的信息集合。它包括買入和賣出的限價訂單,按照價格和時間優先級排序。簡單來説,就是買和賣的所有人把自己想在什麼價位買多少股票都列在同一個book上面,這樣所有人都非常清楚地知道了某個股票當下的供給狀態。如果把股票換成是任何可以交易的物品,我覺得這最微觀的行為反而是金融市場最本質最優美的狀態,fundamentally就是買和賣,像極了之前博士期間學習粒子物理時候的受到世界最本質粒子的震撼。

首先我們可以看看這本書里解釋的limit order book長什麼樣子,如下:

橫軸是bid(買)和ask(賣)分別的報價,縱軸是各個買和賣價格上的掛單數目和次序,也就是這個價格上的queue隊列。買單和賣單統稱為quotes(訂單)。有點像俄羅斯方塊,什麼價格的大小訂單就按照先來后到的順序堆疊在什麼價格上,同一價格上先到的訂單先成交。

首先從最簡單的第一檔best quotes開始,best bid是市場中可用於出售該股票的最高價格(相對於market sell order來説),排列在bid里的第一檔;best ask是任何特定時間內買入該股票的最低價格(相對於market buy order來説),排在ask里的第一檔。我們可以看看圖中第一檔的bid和ask的信息,第一檔買單best bid是這里的價格$20.07,第一檔賣單best ask是這里的價格$20.09。我們可以看到買單價格比賣單價格要低,並且買單和賣單之間有一個小gap(這個gap其實就是bid/ask的價差spread),spread是一個很重要的流動性指標,后面會詳細解釋。

那為什麼買單價格比賣單價格低呢?很簡單,買的人都想盡可能用低的價格買,賣的人都想要儘可能高的價格賣,穩定的平衡狀態就是買的人買不到賣的人賣不掉都尬在這兒了,必須得要不斷有人讓步市場才能繼續運行。如果bid order的價格比ask order高的話,那這兩個掛單就直接成交了(bid/ask crossed),並不會顯示在limit order book上面,其實就是前面説的設置price優於market price的limit order變成了market order。對於cross和uncross這兩個詞也挺有意思,在論文和機構報告里經常會有人用,這里解釋一下:

在金融市場中,術語「uncross」和「crossed」有特定的含義,用於描述買賣訂單的狀態和交易過程。以下是它們的定義和區別:

Crossed Market

定義: 當買入價(bid price)高於賣出價(ask price)時,市場被稱為「crossed market」。

現象: 這表明有買家願意支付的價格比賣家願意接受的價格更高,通常這是一個不穩定的狀態,表明市場可能會很快發生交易。

Uncross

定義: 當買入價和賣出價之間的差距被消除並且訂單被匹配成交時,這個過程稱為「uncross」。

過程: 訂單簿中的買入訂單和賣出訂單被匹配,成交價格在買賣雙方都能接受的範圍內,市場恢復到一個非跨價狀態(non-crossed state)。

所以bid和ask不能cross纔是現實中最常見的穩定狀態,因為買的人和賣的人都覺得自己的價格是對的,從而沒有辦法達成共識。如果所有的bid和ask都直接cross成交了,那也就沒有limit order book什麼事兒了,比如按照有效市場假説,所有的trade都是在信息披露的一剎那在同一個價格成交的,也不會有人掛limit order了因為所有人都知道同一個fair value準確是多少。

回到上面的圖,我們再來看看best bid @$20.07上面的掛單。可以看到上面從下到上有5個order: buy300,buy200,buy300,buy200還有buy200。這里一共的買單有300+200+300+200+200=1200股,然后fill的priority是從下到上(最下面的300個買單先fill,最上面的最后fill)。這里priority是指Price-Time Priority,有些交易所也有其他的priority比如pro-rata Priority,order-size priority之類的,決定了在同一個價格的若干個掛單在交易所分別是按照什麼順序被execute的,如下有書里的兩張示例圖。

接下來我們可以看看Limit Order Book是怎麼work的,如下圖:
接下來我們可以看看Limit Order Book是怎麼work的,如下圖: 接下來我們可以看看Limit Order Book是怎麼work的,如下圖:

我們可以看到如果來了一個大的market sell order,首先就會按照價格順序去match相應的limit order的單子,這樣當下best bid這一價格檔的所有limit order訂單都會在首輪被先吃掉,然后次一檔的bid訂單就變成了新的best bid,繼續也被market order剩下的部分吃掉(同一個價格上按照從下往上的順序)。然后此時best bid的價格比之前就變得更低了,因為掉到了下一個價格檔位。整體而言,就解釋了為什麼一個大的market sell order在微觀上會使得股票價格下降。同時,我們可以看到spread也相應變寬了,因為best ask價格沒變,但best bid降低了,所以他們之間的距離就更大了,這也顯示了spread變寬一般是流動性被take的結果。

然后如果現在又來了新的limit buy order,那就堆棧在相應的價格檔位上。如果這個新的limit buy order的價格比現在的best bid價格更高,那麼這個limit buy order就成了新的best bid,也就是bid的第一檔位。然后相應的spread就變窄了,表示有人放了新的limit order提供了流動性。

還有流動性,這個詞其實很有意思,因為所有人都在説,但卻沒有一個人能給出明確的定義哈哈。這本書里的解釋是」在特定交易場所中,所有限價訂單在任何給定時間能夠滿足新進市場訂單的累計交易量被稱為流動性。交易所中可用的限價訂單交易者數量越多,並且每個交易者的限價訂單規模越大,該交易場所的流動性就越高「。我覺得這個定義還算是比較貼切,其實就是對於任何時候自己想要在某一個price買賣股票容易程度的一種measure。最完美的流動性,就是我可以在當下的市場價格買到任意數目的股票而不造成對市場的任何影響(比如market impact和information leak)。但現實中是很難做到的。現實中的流動性情況更加複雜,需要同時考慮bid和ask在各個price level上的數目和其分佈,決定了你可以在市場上用什麼價格買到多少數目的股票。還有spread的大小,決定了你如果用market order去買賣股票,需要承受的spread cost,一般是以mid-price來衡量的半個spread。還有交易的活躍度,比如一個股票是一秒鍾交易一次還是一個小時交易一次,決定了你用limit order買賣股票需要等待的時間長短,這期間你需要承受等很久之后價格遠遠偏離起始價格的market risk。流動性還可以用market impact來衡量,market impact是下單時候的價格和實際成交的價格之間的差別,也就是是你下單之后對orderbook所造成的影響導致的。如果完美的流動性,那對於任意數目任何時間的股票買賣都造成0的market impact。之前還做過tick size的研究,具體就是研究tick size的變化怎麼影響市場的流動性,還是挺有意思的,這里就不多寫了因為只有公司的clients能看哈哈。網上也有很多相關的學術論文和賣方機構的研究報告可以讀一讀,都寫得還不錯。

1.2 Tick數據

1.2.1 介紹

高頻的數據分為tick逐筆數據(比如美股)和snapshot快照數據(比如A股)。tick指的其實就是一個update的data feed,這個update可以是最新變動的quotes或者trade的價格,訂單大小和成交量信息,然后高頻頻數據就是一系列連續「ticks」的集合。Tick數據通常具有以下屬性:

  • 時間戳

  • 股票代碼

  • 買價

  • 賣價

  • 可用買單數量

  • 可用賣單數量

  • 最后交易價格

  • 最后交易數量

時間戳記錄了報價產生的日期和時間。它可能是交易所或經紀商發佈報價的時間,也可能是交易系統收到報價的時間。書里説客户下單到交易所再返回客户並確認訂單接收的標準「往返」時間在紐約為15毫秒或更少。如果經紀商無法以這種現在的標準速度處理訂單,客户可能會解僱他們。因此,複雜的報價系統會在時間戳中包括毫秒甚至微秒。

最后交易價格顯示了股票最后成交的價格。最后交易價格可能與買價和賣價不同。當客户發佈一個有利的limit order並立即被經紀商匹配,而不廣播客户的報價時,可能會產生差異。最后交易數量顯示了最后執行交易的實際數量。

Tick數據也包含了每次quote或者trade更新時的order book的信息,其實也就是Level1和Level2數據。Level1的數據只包括了quotes第一檔所有的變化信息,比如best bid price&size, best ask price&size 以及 last trade price&size。Level2的數據除了包括前面Level1里order book第一檔的所有變化,還包括了遠離市場價格(第二檔,第三檔以至於第十檔)的ask和bid的信息。

就比如下面一開始的那張圖里,Level1只包含best bid@$20.07和best ask@$20.09這兩個queue的信息,而Level2就可以看到整張圖,比Level1的信息量更多,能做的分析和建模也更多,但自然Level2比Level1的數據也是貴很多。

其實還有更貴的Level3的數據,包括的市場信息會更多。除了包含Level1和Level2的數據以外,Level3還會包括比如訂單ID;提交訂單的市場參與者的標識,是做市商、流動性提供者、散户還是機構投資者;訂單被提交的準確時間戳;訂單是買單還是賣單,限價單還是市價單等;訂單當前的狀態,如未執行、部分執行、完全執行或已取消;訂單的指定價格和指定數量等等。這些信息幾乎可以讓整個市場的交易變得透明,這樣擁有這些數據的人就有了巨大的優勢。

我們來看一個書里的例子tick數據長什麼樣子:

圖4.1的A和B展示了紐約證券交易所(NYSE) 在2009年11月9日14:00:16:400至14:02:00:000 GMT期間為S&P 500 ETF SPY記錄的30秒一級高頻數據日誌。A圖顯示了報價數據:最佳買價、最佳賣價和最后交易信息,而圖B顯示了相應的持倉規模(最佳買單數量、最佳賣單數量和最后交易數量)。我們可以看到每次的bid/ask/trade的price或者size有任何變化的時候,都會產生一個tick的update,然后我們收到的tick數據就是所有的這些更新的信息。

1.2.2 高頻數據特性

作者總結了一下高頻數據的特性,這里挑幾個比較有意思的講一下:

1.2.2.1 數據量大

高頻數據第一個特性就是數據量特別大,書里舉例如下圖:

我們可以看到SPY一天的Level1 tick data總數目是20w條,這也僅僅是一個股票,如果你要同時分析spx500個股票,那麼一天需要處理的數據量就是一個億,如果想要用歷史數據做modeling,即使一年的數據那就得250億條數據。這個數據量對於任何一個軟件或者model都是很有壓力的。如果是Level2的數據,那至少又是Level1數據的十倍大,所以單純從數據量來説高頻交易對於硬件和軟件的要求都會很高。

1.2.2.2 不是normally或者lognormally distributed

高頻數據第二個特性就是它並不是normally或者lognormally distributed,我們可以看看書中的固定時長的股票return的histogram示例圖:

我們可以看到當bin size是200ms的時候,histogram圖基本就是中間一根線,然后兩邊零零散散的分佈一些點,這是因為大部分時候(200ms的固定時間跨度來看)這個股票價格都沒有動。而當bin size變成15s的時候,我們看到histogram越來越像normal distribution,如果是daily數據,那可會是更接近正態分佈。所以在用高頻數據做modeling的時候需要考慮他們的分佈函數很不一樣,很多假設normal distribution的模型都不再使用,所以需要有一些特殊的處理。

1.2.2.3 Tick data之間的時間間隔不一樣

高頻數據第三個特性就是相鄰tick data之間的時間間隔不一樣。因為tick data是隻要當quote或者trades有update的時候就會產生一個tick,那麼tick發生的時間就很隨機,不像resample過的數據使得bin size都一樣。書里給出了一個Last-tick sampling和Interpolated sampling兩種解決辦法,如下圖:

Last-tick sampling是指的把固定時間戳的quote信息相等於上一個tick更新的quote信息(上一個有效值),Interpolated sampling指的是以時間做weight用相鄰的兩個quotes來算一個平均的quote(這個方法我感覺有點問題,因為在實際的trading里面不太可能知道下一個quote,所以只能在做歷史數據分析的時候用)。

這里書里還說了,其實tick和tick之間不相同的時間間隔也是自帶了某些有用信息的。時間間隔的model用於估計影響任意兩個連續ticks之間時間的因素,這類模型分別被稱為quote processes和trade processes。持續時間模型還用於測量預定大小的價格變化之間經過的時間,以及預定交易量增量之間的時間間隔。處理固定價格的模型被稱為price processes;估計固定交易量增量持續時間變化的模型被稱為volume processes。對於時間間隔duration的model,學術界經常用的是Poission distribution,學過統計的盆友可能也會比較熟悉,該過程假設連續事件(如arrival quote或者trade)彼此獨立發生。

書里的下表顯示了對2009年5月13日記錄的所有SPY交易計算的持續時間度量的匯總統計數據:

」Diamond 和 Verrecchia(1987)以及 Easley 和 O’Hara(1992)首先提出 ticks 之間的持續時間攜帶信息。他們的模型認為,在存在賣空限制的情況下,交易間隔時間可以表明有好消息的存在;在禁止賣空的證券市場中,交易間隔時間越短,未被觀察到的好消息的可能性就越高。反之亦然:在有限賣空和正常流動性的市場中,trade arrival之間的時間越長,未被觀察到的壞消息的概率就越高。然而,完全沒有交易則表明沒有新聞。而且間隔一段時間的交易與接近發生的交易相比,其信息內容大不相同。Easley 和 O’Hara(1992)的一個重要意義在於,整個價格序列傳遞信息,因此應儘可能全面地使用「。我自己的感覺是duration應該是包含挺多信息可以做研究的,但可能得和microstructure上其他的信息結合起來,因為其本身可能是一個neutral的信息,但有可能可以用來預測volatility和event,畢竟也是屬於比較clustering的特點。

1.2.2.4 Trade不會標明是buy還是sell的結果

高頻數據最后一個特性是Level1和Level2的trade都不會標明是buy的還是sell的market order。如果不知道是買造成的還是賣造成的,那麼trade數據的信息量自然會大大折扣。所以書里給出了幾種學術界常用的辦法:

Tick rule

Tick rule是用的最多也最簡單的一個方法,是將trade price與前一筆trade price進行比較來對當下這個trade的買賣進行分類。簡單的地方在於,這里不需要考慮bid或ask信息,只需要trade的信息就可以了。如果一起處理過quote和trade的盆友估計會深有體會哈哈。

但這個辦法準確率不高,根據 Ellis,Michaely和O’Hara(2000)的研究,在1997-1998年間,tick rule只能正確分類77.66%納斯達克所有的trade。文章里面也解釋trade正確分類比例低可能特別歸因於股票市場的監管問題,也就是美股里的uptick rule,其要求股票short sell必須在uptick或zero-uptick時執行,然后美股里面30%的trade都是short sell。如果在沒有uptick rule的S&P 500的E-mini futures上驗證,那就會有86.43%的準確率。

Quote rule

Quote rule是由Lee和Ready(1991)以及Ellis等人(2000)提出,如果trade price高於當時的bid/ask報價平均值,則該交易為buy(sell)。如果交易價格恰好處於當時bid/ask報價的中點,則該交易不被分類。Quote rule經常被使用,證明在納斯達克正確分類了76.4%的所有交易(見 Ellis 等人,2000)。

不過Lee和Ready(1991)指出,quote和trade經常是按非順序報告的,導致確定trade當時的quote很困難。他們具體展示了隨着電子交易的引入,報價常常記錄在觸發它們的交易之前。

Lee-Ready rule

Lee-Ready rule首先使用quote rule對trade進行分類。按照quote rule,發生在當時報價bid和ask price中點的交易不進行分類,隨后再使用 tick 規則進行分類。這個方法我感覺是最優的,結合了前兩個方法的優點,其成功率有81.05%。

除了上面三個方法,書里還介紹了Bulk volume classification,是用一種概率模型的方式來做classification,公式比較多這里就不介紹了。

前面都介紹的是tick數據,還有一種就是snapshot數據,比如A股。具體就是Quote不會每個tick都會update,而是直接給固定時間間隔(比如3s)的orderbook的信息,比如best bid/ask的price和size。這種的話就丟失了很多信息,比如3s之內的所有quotes變化都是未知的,這樣在modeling的時候就需要做出更多的假設。A股現在貌似也有tick數據,但似乎不是很可信,開盤的時候tick數據由於體量太大會有很大的延迟,所以大家還是用更容易操作的snapshot數據。不過我感覺沒準可以在tick數據上面做分析,如果有什麼新發現再應用在snapshot的交易。

整體來説高頻數據和低頻數據是很不一樣的,不僅信息不一樣,而且分佈也不一樣。但高頻數據的好處就是信息量非常的豐富,可以做的事情會非常多,但需要處理的問題也會相應變很多。好了,高頻數據介紹了很多,接下來可以看看書里介紹的最亦可賽艇的高頻策略了。

二、高頻策略

我們瞭解了高頻數據長什麼樣子,接下來我們就需要用高頻數據的各種信息來賺錢了。高頻策略作為高頻交易賺錢的核心,大概可以被分為Stats Arb統計套利策略,market making策略還有Events driven策略。

下圖的總結挺好的,相對於order book中市場價格,來判斷訂單aggressiveness程度和交易者類型的分佈。Aggressiveness的意思是直接用market order來交易,形容非常迫切的想要吃掉order book上的訂單;與之相對用limit order來交易被稱作passiveness,形容對時間不是那麼敏感可以用掛單來完成交易。

圖里中間informed traders指的是高頻交易中的prop trading,包括了統計套利和event driven等策略,他們對能不能快速完成交易非常的敏感,因為timing極大程度決定了他們策略是不是能賺錢,所以很多時候會aggressive的用market order來完成交易。其兩邊相對沒有那麼aggressive的是market maker做市商,他們主要是通過管理inventory來兩邊下單賺spread和交易所的rebate,所以正常情況下不是那麼需要aggressive的去吃掉單子,除非遇到了單邊市場risk過大了需要感覺liquidate倉位。然后兩端最不aggressive的就是價值投資者(比如巴菲特lol),主要是研究公司和行業基本面和財報之類的信息,因為是長期的一個投資,對時間和價格其實沒有那麼的敏感,所以是最有耐心也最不aggressive的投資類型。

2.1 Statistical arbitrage統計套利

統計套利或統計套利(stat-arb),其在1990年代迅速崛起,交易者利用簡單的統計現象獲得兩位數的回報。本章討論在高頻交易領域中常用的一些統計套利策略。

統計套利這個名字來源於它的主要功能:檢測那些具有統計顯著性和持久性的現象,這些現象通常有fundamental的原因。這樣的統計持久性anomaly可能存在於股票的當前價格水平和該公司最近財報的收益之間,也可能存在於多個金融工具的價格水平之間,比如通過某些基本變量連接在一起的金融工具價格和波動性之間,或者其他許多變量之間。

識別適合統計套利的關鍵是,變量之間的關係必須以至少90%或更高的統計置信度成立(所謂2個sigma外的anomaly)。當測試關係中的數值變化保持在其平均值的兩個標準差以內時,就可以觀察到這種置信度。從某種程度上説,統計套利其實有點像一種現代且複雜的技術分析策略,比如利用Bollinger bands(布林帶)顯示價格簡單移動平均線周圍的兩標準差區間,暗示可能的短期價格路徑邊界然后相應的做mean reversion。本質上任意變量都可以做一個Bollinger bands,都可以trade它的mean reversion。

但不是所有變量的stats arb都是可以持續賺錢的,相比之下,衡量實際經濟現象統計持久性的統計套利模型往往比僅靠數據挖掘的模型更有盈利能力,持續時間也更長。一個有solid經濟原理的統計套利例子是交易所交易基金(ETF)或指數套利:根據金融的一價定律,交易的指數或ETF的價格應該和構成該ETF的一籃子個別金融工具的價格相同,並按比例加權。如果你自己做的籃子和交易的ETF之間存在不匹配,交易者可以通過套利這種不匹配獲利,稍后會討論具體細節。相比之下,兩個完全不相關的股票價格之間觀察到的統計關係可能純粹是隨機的,或者説是「虛假的」。儘管這種關係顯示出高度顯著的統計依賴性,但幾乎無法用於對這些股票未來價值做出有意義的預測。從交易策略的角度來看,這種關係和 Challe(2003)展示的那些統計關係沒什麼區別。他舉了一個極端的例子:太陽黑子的出現與資產回報的可預測性之間存在統計顯著的聯繫。

這一節主要介紹統計套利在不同asset上的應用例子。下表列出了書里討論的策略,這些選定的策略只是爲了大致説明統計套利的概念,肯定還有許多其他的套利機會沒有被寫出來(都是各個PM用來吃飯的家伙)。

2.1.1 股票

2.1.1.1 Pairs trading(配對交易)

配對交易(Pairs Trading)可以説是統計套利策略里最簡單也最常用的一種。它的基本原理是找出兩隻在價格上有很強關係的股票。當這兩隻股票的價格偏離它們歷史上的正常關係時,我們就可以進行套利操作。具體來説,當一隻股票的價格高於預期,而另一隻低於預期時,我們可以做空價格高的那隻,同時做多價格低的那隻,等到它們的價格關係恢復正常時獲利。

書里具體的步驟如下:

簡單來説就是遍歷所有股票pairs,然后找到兩個股票i和j,使得他們的股票波動大小一致,也就是波動大小的差別最小。這里書里寫的S是股票的價格,我覺得可能不太對,應該是return纔對,不然不同股票價格相差太大了。這里用來判斷哪兩隻股票之間波動差別大小用的是最簡單的平方和,其實也就是兩隻股票return之間的方差最小。這里return可以是daily return也可以是intraday的更小尺度的return,取決於pair trading策略的horizon大小。感覺其實也可以做兩個loop,一個是loop所有的股票pair,一個loop所有的horizon大小,然后找到最optimal的pair和horizon。或者用價格S來做差也可以,但就不能橫向對比所有的股票,因為他們的price scale不一樣,也許可以用time series的model來判斷這個序列是不是stationary,其實也是判斷兩個股票之間有很強的相關性,或者也可以直接用相關性的指標來判斷。當然這個pair不一定需要是最小差值的,可以選擇相對來説有fundamental解釋的pairs,比如兩個公司同屬於一個sector,或者他們之間是有互相持股的關係等等可以解釋他們之間的強相關性,這樣在金融理論上也更加solid而不僅僅是data mining的結果。

一旦找到這個股票pair之后,然后就可以算他們return差別的均值和標準差。接着就可以開始monitor他們return之間的差來做pair trading了: 一旦他們之間的差別超過兩個標準差甚至更多,就可以利用pair trading的邏輯,做空價格高的那隻,同時做多價格低的那隻,等到它們的價格關係恢復正常時獲利。不過這里我覺得可以做的更細一點,把標準差變成他們差的分佈函數,而不是簡單假設這是一個正態分佈的兩個標準差。因為我們前面高頻數據里可以看到,intraday的高頻數據是和日頻數據長得很不一樣,所以分佈不一定是正態分佈,而且這個分佈其實也jointly取決於兩個股票價格波動的分佈長什麼樣子。

爲了讓pair trading更加靈活,應對不斷變化的市場conditions,pair trading策略可以動態調整。例如,我們可以用移動加權平均來計算某個變量的均值,這樣最新的觀察值會被賦予更大的權重,以反映最新的市場情況。同樣,計算標準差時也可以只使用最近的一些數據,這樣可以更好地反映當前的經濟環境 。除了檢測價格水平上的統計anomalys,統計套利還可以應用於其他變量,比如兩個股票之間的相關性和傳統的基本面關係。基於基本面因素的統計套利的具體實現細節將在后文中詳細討論。

2.1.1.2 同一發行人的不同股票類別

首先,這種策略的基本思路是利用同一家公司發行的不同股票類別之間的價格差異來進行套利,我覺得其實可以算是屬於pairs trading的一種更有公司fundamental解釋的特殊類型。一般來説,同一家公司可能會發行多種不同類別的股票,這些股票可能會有不同的投票權或其他權益差異。儘管如此,它們的價格應該在一個合理的範圍內波動,因為它們都代表着同一家公司的價值。

具體操作上,當發現兩類股票的價格偏離了它們的正常關係時,我們就可以進行套利操作。例如,如果A類股票的價格比B類股票高出很多,而從歷史數據來看,這種情況是不正常的,那麼我們就可以賣出A類股票(做空),同時買入B類股票(做多)。隨着時間的推移,當兩類股票的價格關係恢復到正常水平時,我們就可以平倉獲利。

這種策略的優勢在於,它利用的是同一家公司內部的價格關係,因此受到外部市場波動的影響相對較小。而且,由於這兩類股票都代表着同一公司的價值,它們的價格關係通常會比較穩定,提供了很好的套利機會。但是這個策略也有一些問題,一般同一個公司不同的類別的股票他們的流動性可能會相差特別大,比如下圖。這一點就會導致比較不liquid的股票很難去交易,因為產生的market impact會特別大,開倉關倉就會吃掉很多的利潤,這里就需要特別把market impact也謹慎考慮進去。

總的來説,「同一發行者的不同股票類別套利」是一種利用同一家公司不同股票類別之間價格差異的策略。它通過做多和做空不同類別的股票來獲取價格關係恢復正常的收益。

2.1.1.3 風險套利(市場中性套利)

接下來是風險套利,也稱作市場中性套利。市場中性套利聽起來有點複雜,但其實就是一種在市場不確定性中尋找穩定收益的策略。這種策略的目標是消除市場整體波動的影響,只賺取兩隻股票之間的收益差。說白了,就是你做多一隻股票,同時做空另一隻股票,以此來中和掉市場整體的漲跌,其實有點像long&short fund的策略。

具體來説,市場中性套利通常會選擇兩個在歷史上表現出強相關性的股票或資產。比如,你可以選擇同一個行業里的兩隻股票,或者是同一個公司的不同股票類別。這些資產在大多數情況下會一起漲跌,但有時候它們的價格會出現暫時的偏離。這個時候,套利者就會買入被低估的資產,同時賣出被高估的資產。

數學公式上來説就是著名的CAPM模型,也是alpha和beta的起源。

這種策略的好處在於,它不依賴於市場的整體走勢,不管市場是漲還是跌,只要你選的資產對之間的關係穩定,你就有機會賺錢。這也是為什麼叫它「市場中性」,因為它對市場的整體方向沒有偏好。

CAPM的主要思想就是所有的股票都會受到大盤market走勢的影響,股票相對大盤的走勢也是不一樣的,其beta和alpha就是用相應股票的return對市場的return做regression得到的相關係數和剩下的市場不能解釋的信息。

策略具體的做法是如下:

這是最簡單的一個基於CAPM的配對套利: 選兩個股票,這兩個股票他們的beta一樣但是alpha差別很大,通常他們是同一個industry sector的所以有着相似的beta。所以可以long相對較大alpha的股票,然后short相對較小alpha的股票,比如long整個行業最top的龍頭企業,然后short這個行業最bottom的企業,這樣整個portfolio就把相對於市場波動的beta exposure給去除掉了,甚至把行業這個factor的exposure也給對衝掉了(如果結合Fama多因子模型去理解),只剩下了這兩隻股票之間的alpha差別的套利,其實也就是Long&Short strategy。實際的Long&Short包含了所有的股票,應該會更復雜去控制所有Barra因子的exposure,比如全球市場因子,地域市場因子,國家市場因子,行業因子等等從上至下。

這里還是以簡單的兩隻股票為例,我們需要算兩個東西,一個是兩隻股票beta的差的均值和標準差,另一個是兩隻股票alpha的差的均值和標準差,就像前面pairs trading里面做的一樣。但這里有一些不一樣,這里要求兩隻股票他們的beta之差的均值是在一個標準差之內,也就是要使這兩隻股票的beta大小一致最好完全一樣;然后還要求這兩隻股票的alpha差別足夠大,也就是他們的alpha之差的均值至少是在兩個標準差以外,因為這個差別是L&S策略的收益來源,所以肯定希望越大越顯著越好。這里還是像之前説的一樣,不一定是採取兩個標準差,需要根據alpha之差的不同分佈形狀來確定「顯著性」的threshold。

這里讀者可能絕感覺市場中性套利和之前介紹的配對交易這兩個策略聽起來有點像,但其實有些不同。

我感覺市場中性交易比較像有solid金融學fundamental理論的配對交易,比如里面用到了alpha和beta的概念,也引入了hedge對衝的思想,所以市場中性策略給我的感覺是更加systematic,可能會涉及不同類型的資產和更復雜的對衝策略。市場中性套利旨在通過對衝市場整體風險來賺取資產間的價差。它的核心在於同時持有多頭和空頭頭寸,以消除市場的系統性風險,更加註重在消除市場因子的exposure的大前提下進行套利。而配對交易則是市場中性套利的一種原始形式,只用專注於選擇兩隻在歷史價格關係上表現出高度相關性的股票,當這兩隻股票的價格出現暫時偏離時,你就會買入被低估的股票,賣出被高估的股票,做價差的mean reversion,這個其實就和市場還有因子就沒有太大關係了,只專注於股票價格之間的關係,其實有點像data mining出來的anomaly。

不過,雖然市場中性套利把市場的漲跌影響給去掉了,但也不是沒有風險的。首先,你需要有足夠的統計和數據分析能力,來判斷哪些資產對會出現暫時的偏離。其次,市場中也有很多不可預測的因素,比如突發新聞、政策變化等,這些都會影響資產的價格走勢。

總結一下,市場中性套利是一種通過對衝市場整體風險,專注於資產間價格差異的策略。它的核心在於找到那些歷史上表現出強相關性的資產對,在它們價格偏離時進行買賣操作,以賺取差價。

2.1.1.4 大股票到小股票的信息溢出

最后一個是大股票到小股票的信息溢出。這種策略的核心是利用市場中大公司的信息對小公司的影響。比如説,當一家大公司發佈了重要的財務報告,這個信息可能會影響到同一行業中小公司的股價。聰明的交易員會在第一時間捕捉到這種信息溢出,進行套利交易。小股票的反應速度通常比大股票要慢。舉個例子,當有重大新聞發佈時,大型股票因為交易活躍,能夠快速吸收和反映這些信息。而小型股票則因為交易量小,信息吸收和價格調整會相對滯后。

這種現象的解釋是,大股票的交易者通常更專業,反應更快,所以大股票的價格會先調整,隨后小股票的價格纔會跟上。還有一個解釋小盤股反應延迟的原因,是它們對於機構投資者相對不具吸引力,而機構投資者是將信息反映到市場價格的主要來源。我覺得這個説法還挺有insight。由於規模問題,小盤股對機構投資者不具吸引力。一箇中期職業的機構經理的典型投資組合規模大約是2億美元;如果一個組合經理決定投資小盤股,即使是一個分散良好的機構投資組合,也會顯著影響任何小盤股的市場價格。此外,擁有5%或更多的某一美國股票必須向證券交易委員會(SEC)報告,這進一步複雜了機構投資小盤股的操作。結果,小盤股主要由小投資者交易,其中許多人使用日常數據和傳統的「低技術」技術分析來做出交易決策,所以對於信息吸收和價格調整會相對滯后於大股票。不論是哪種原因,這就意味着,如果你能預測到這種信息溢出效應,你就可以在大股票變動后,抓住機會在小股票上進行交易,從而獲利。

在實際操作中,你可以通過觀察大股票的價格走勢和新聞事件,來預測小股票的未來走勢。例如,如果某個行業的龍頭公司發佈了好消息,那麼這個行業的小公司股價可能也會跟着上漲。反之亦然,如果大公司股價下跌,小公司的股價可能也會受影響。總的來説,這種策略利用了大股票和小股票之間的信息傳導差異。通過密切關注大股票的變動,你可以提前佈局,利用小股票的滯后反應來賺取利潤。小盤股的市場特點使得這些股票流動性差且高度低效,從而能夠帶來盈利的交易機會。Llorente,Michaely,Saar和Wang(2002)進一步研究了交易量的資訊內容,發現小公司的股票和買賣差價較大的股票在高成交量時期后會表現出動量效應。然而,大公司的股票和買賣差價較小的股票在高成交量時期后則沒有動量效應,有時甚至會出現逆轉。因此,盈利的交易策略包括基於大盤股滯后回報和小盤股交易量的相關性或協整關係來交易小盤股。

2.1.2 外匯

2.1.2.1 Triangular Arbitrage(三角套利)

Triangular Arbitrage(三角套利)是怎麼回事呢?其實它是一種利用三個不同貨幣之間的暫時價格偏差來獲利的策略。簡單來説,就是通過一系列買賣操作,在發現匯率不一致時賺取差價。

舉個例子來説吧,假設我們有歐元、加元和美元。通常情況下,這三種貨幣之間的匯率應該是相互一致的,也就是説通過一系列兑換后,最終你應該不會虧錢或者賺錢。但是,有時候市場上會出現暫時的價格偏差,這就給了我們套利的機會。

比如説,你發現EUR/USD、USD/CAD和EUR/CAD這三個匯率之間出現了不一致。你可以先用歐元兑換美元,然后用美元兑換加元,最后再用加元兑換回歐元。如果在這個過程中,你最終得到的歐元比你最初投入的多,那你就成功套利了。

書中還提到了一個具體的例子,詳細說明了如何利用這種策略在EUR/CAD之間進行套利。這個例子是基於Dacorogna等人在2001年描述的一個三角套利案例。

簡單總結一下,三角套利的核心就是發現並利用三個貨幣之間的暫時價格偏差,通過一系列買賣操作來獲利。這種策略要求對市場的價格變化非常敏感,並且需要快速反應來抓住機會。

2.1.2.1 Uncovered Interest Parity Arbitrage(無套息套利)

簡單來説,「無套息套利」策略是基於兩個國家之間的利率差異來進行套利。具體操作是這樣的:你借入一種低利率的貨幣,然后將其兑換成另一種高利率的貨幣,並將高利率貨幣進行投資,其實也就是macro trading里面最常見的carry trade策略(疫情之前最主要是通過借日元歐元買美元來套利,因為日本和歐洲都是負利率)。這聽起來是不是有點複雜?別擔心,我們一步一步來解釋。

假設你在美國,美元的利率比較低,而澳大利亞的利率相對較高。那麼,你可以借入美元,然后把這些美元兑換成澳元,再用這些澳元去購買澳大利亞的債券或者進行其他投資。由於澳大利亞的利率較高,你可以獲得較高的回報。當投資結束后,你再把澳元兑換回美元,償還最初的貸款,並且還能有一個不錯的利潤。

不過,這里有一個關鍵點需要注意,就是匯率風險。因為在你投資期間,匯率可能會發生變化,影響你的最終收益。如果在投資結束時,澳元對美元的匯率下跌,那麼你兑換回來的美元就會少於預期,甚至可能導致虧損。這就是為什麼這種策略被稱為「無套息套利」,因為它沒有對衝匯率風險。

書中提到了一些經典的模型和研究,比如Chaboud和Wright在2005年的研究,他們發現「無套息套利」在短期內是有效的,但長期來看效果不佳。這就是説,這種套利策略可能在短期內獲得不錯的收益,但如果長期持有,匯率波動的風險可能會抵消利率差異帶來的收益。

總的來説,「無套息套利」是一種利用利率差異來進行短期套利的策略,但需要注意匯率風險。

2.1.3 指數和ETFs

什麼是「指數」和「ETF」呢?指數是一個衡量某一特定市場或市場一部分表現的指標,比如你可能聽説過的標普500指數,它反映了500家大型美國公司的整體表現。而ETF(交易所交易基金)則是一種跟蹤特定指數的基金,它們在交易所上市,可以像股票一樣買賣。因此,ETF基本上是讓你可以輕松投資整個市場或者特定的市場部分。

這本書里討論瞭如何利用指數和ETF進行統計套利,現實中其實也叫做index arb策略。簡單來説,統計套利就是利用價格的暫時性偏離來賺取利潤。對於指數和ETF,這種偏離通常是短暫的,而且會很快回歸到正常水平。

舉個例子,假設某個ETF的價格暫時低於它所跟蹤的指數的實際價值。你可以通過買入這個低估的ETF,並同時做空與這個指數相關的其他資產來進行套利。等到價格迴歸正常之后,你就可以平倉,從中獲利。這種策略的關鍵在於找到那些價格暫時偏離的機會,並且快速反應。

Index arb可以存在的一個原因是index ETF的構建者其實相對index本身肯定會有tracking error,有時候還會由於各種原因導致error很大;還有的原因就是可以用不同的品種去套利,比如index期貨,index portfolio還有index ETF之間有dividends的差別,這樣就會出現index不同產品見的定價discrepancy。

除了index和股票之間的套利,書里還介紹了index和index之間的套利:

比如上圖説的就是EAFE index和其相應constituents region的index,如果他們之間的差別alpha特別大的時候,可以通過short一攬子indices和long EAFE index或者反過來來賺取alpha。

總的來説,指數和ETF提供了一個很好的平臺來進行統計套利,因為它們的價格通常是透明的,交易成本也比較低(borrowing rate也會比股票低一些)。而且,由於它們反映的是整個市場或者市場的一部分,所以價格偏離通常會比較快地修正回來。

2.1.4 跨品種(Cross asset)

2.1.4.1 Basis Trading(基差交易)

基差交易就是利用現貨市場和期貨市場之間的價格差異來進行套利。現貨市場是指你可以立即買賣資產的市場,而期貨市場是指你同意在未來某個時間以預定價格買賣資產的市場。

在這本書中,提到基差交易是跨資產套利的一種常見策略。比如説,你可能會在現貨市場上發現某個資產的價格低於其在期貨市場上的價格。這個時候,你就可以買入現貨,同時賣出期貨,期待在未來價格趨於一致的時候獲利。特別需要注意的是,這里所説的價格趨於一致並不是説他們之間的價格差一定會變成0,因為這里期貨是未來的價格,隱含了折現利率等因素,而現貨是當下的價格:

所以這里的基差交易並不是bet他們之間價差最終會converge到0,而是有點類似pair trading是bet他們之間的價差會恢復原樣,比如恢復成mean或者median值。同樣也類似pair trading的步驟,先確定他們之間差值的distribution,比如均值和標準差,然后再monitor他們之間價差的變化,一旦超過了某些統計上的threshold就可以相應進行操作,期望他們anomaly差值會mean reversion到正常值。

比如Lyons(2001)論文里寫了一種基差交易策略的表現,這個策略涉及六種貨幣對:DEM/USD、USD/JPY、GBP/USD、USD/CHF、FRF/USD和USD/CAD。這個策略的賭注是即期價格和期貨價格之間的差異會迴歸到其平均值或中位數值。具體操作如下:每當期貨價格超過即期價格一定預設水平或更多時,就賣出外幣期貨;每當期貨價格低於即期價格至少一個預設差值時,就買入外幣期貨。Lyons(2001)報告説,當預設的策略trigger threshold計算為中位基差值時,這個策略可以獲得0.4到0.5的夏普比率。

2.1.4.2 期貨/ETF套利

這里期貨/ETF的套利指的是期貨和ETF之間信息傳導速度不同的套利)當然我覺得其實可以做pair trading)。在宏觀經濟新聞發佈后,期貨市場被證明比現貨市場調整得更快。比如,Kawaller、Koch和Koch(1993)展示了在格蘭傑因果關係的設定下,S&P 500期貨價格對新聞的反應比S&P 500指數本身的價格更快。Stoll和Whaley(1990)記錄了類似的效果:對於以5分鍾間隔衡量的回報,S&P 500和貨幣市場指數期貨都比股市回報領先5到10分鍾。

期貨市場相對於股票市場更快的調整,很可能是由於期貨和股票市場的歷史發展。芝加哥商品交易所,北美期貨合約的中央清算所,在1990年代初推出了一個完全功能的電子交易平臺;而大多數股票交易所直到2005年仍依賴於包含人工交易者和機器的混合清算機制。因此,更快的信息套利策略在期貨市場上得到了完善,而系統化的股票策略到今天仍然不夠發達。在這本書寫成的時候,期貨和現貨市場之間的領先-滯后效應已經從Stoll和Whaley(1990)記錄的5到10分鍾縮減到1到2秒的優勢。然而,對於那些擁有低交易成本的強大高頻交易系統來説,仍然存在獲利的機會。

2.1.4.3 不同金融工具/資產類別的協整

首先,什麼是協整呢?協整是一種統計關係,描述了兩個或多個金融工具的價格如何按照某種特定的模式聯動。簡單來説,就是這些工具的價格雖然各自波動,但它們之間有一種長期穩定的關係。這種關係是基於歷史數據參數化的。其實有點類似把CAPM理論用到不同的asset class上面,而不僅僅是個股對於大盤的regression。例如,你可以研究債券和利率期貨之間的關係,發現它們的價格有很強的依存性,通常是同時上漲或下跌。如果這種價格關係在某個時刻偏離了歷史上穩定的模式,那就可能存在套利機會,算是一種pair trading。

具體來説,協整模型可以幫助你識別什麼時候兩個資產價格之間的差距超出了合理範圍。假設你發現債券和利率期貨的價格偏離了它們長期的平衡關係,這時你可以賣出價格較高的資產,買入價格較低的資產。當價格迴歸平衡時,你就可以平倉獲利。此外,使用協整模型進行套利的關鍵在於誤差項的平穩性。也就是説,你的模型需要確保兩個資產價格之間的差距是隨機波動的,而不是持續擴大 。這也意味着你需要不斷監測和調整模型,以確保其有效性。協整模型不僅限於債券和利率期貨,還可以擴展到其他資產類別,比如股票和衍生品、不同市場的同類資產等。通過這種方式,你可以在更廣泛的市場中尋找套利機會。

然后爲了增強這個模型,還可以像如下圖所示加入lag的信息在regression里面:

文章里面描述的kth lag有點像time series的ACF/PACF檢測,看看哪些lag是顯著的,加入了lag信息之后就可以幫助預測的更準甚至提前發現套利的機會。

2.2 Market Making做市(Liquidity trading)

Market making做市,也稱為流動性交易,感覺股票市場上大於90%的流動性都是market making提供的。其賺錢的核心就是兩邊同時掛單然后賺取spread(當然,還有交易所的rebate)。

一個很簡單的例子就是market maker同時掛limit order在best bid和best ask上,那麼如果這兩個limit order都被fill了,這樣bid買的股票就通過更高的ask價格賣了出去,這樣就賺了bid&ask之間的spread價格。

這個策略聽起來挺簡單而且穩賺不賠,但是事實並不是這樣。market maker最怕的就是單邊行情的市場(與之相對,market maker最喜歡來回的震盪市場)。比如説我掛單了bid和ask,如果現在的市場是一個單邊的下跌市場,那麼我的bid就會一直被fill但是ask卻無人問津,這樣一來我就是一直在用bid的掛單去不斷買股票,而因為ask的掛單一直沒有被fill所以一直不能以更高的價格賣出去,然后我手上的股票就會越買越多,同時也越虧越多,因為股票價格越來越低,之前買進來的股票就會是不斷虧損的狀態,然后直到自己被margin call而爆倉。

有些人可能會説,那在單邊市場不market making不就行了?一個原因是market maker其實是承擔了交易所提供流動性的責任,所以即使很不想報價但依然還是得去做這件事,最多就是把spread拉的足夠寬給自己留下足夠大的虧損buffer。當然更主要的原因還是沒有人能預測這個單邊趨勢,作為market maker你也不知道這個單邊趨勢和虧損是會一直持續,還是僅僅是隨機的波動,所以你也很難在一開始就判斷什麼時候該market making什麼時候不該。如果真有能力能提前知道趨勢的話那可能也不用做market making了,直接all in賭單邊趨勢就好了哈哈。

所以從這個例子可以看到,market making在市場里會面臨兩種risk,一種risk是adverse selection,另一種risk是inventory risk。

Adverse selection是指交易對手方比你掌握更多關鍵信息的情形。當market maker遇到有非常強的alpha的對手方,就很容易被對方的信息優勢給run over,比如對方對市場趨勢判斷非常準確,又或者對股票的基本面和fair value非常瞭解,這樣對方就掌握了未來股票的趨勢,然后market maker作為其對手方就會不斷虧錢。根據Per Copeland and Galai(1983)指出,limit order天生就是處於信息劣勢,因為limit order永遠是market order的對手方,只能被更有information優勢的market order來pick up。

Inventory risk是指market maker自己在單邊市場里面會不斷積累不利的倉位,並且發現不利倉位已經過多而想要及時止損的時候,很多其他的market maker競爭對手都會做同樣的事情,這樣就導致自己在liquidate這些不利倉位的時候會遇到大量擠兑,清倉用limit order沒法被fill,然后用market order的話又會造成巨大的market impact cost的尷尬局面。所以market maker的inventory少了不好因為沒有足夠的倉位來做兩邊不斷的掛單,多了也不好因為會面臨巨大的inventory risk,需要折中取一個optimal的點。做市商就像是一個商店老闆,他需要確保貨架上有足夠的商品(也就是庫存)來滿足客户的需求,但又不能讓庫存過多,以免承擔太大的風險。

2.2.1 Naïve Market Making策略

根據market making時候決定兩邊掛單價格offset的不同方式,可以分為以下四種:

Fixed Offset

Fixed Offset(固定偏移)策略是最簡單的做市策略之一。它的核心思想是不斷在市場價格的兩邊放置限價單,並且這些限價單與當前市場價格相隔固定的價格「跳動」(ticks)。

那麼,怎麼操作呢?想象一下你是一個做市商,你會在市場價格的上下方分別掛出買入單和賣出單。比如,如果當前市場價格是100元,你可能會在98元掛一個買單,在102元掛一個賣單。這樣,當市場價格波動時,你的訂單就有可能被執行,從而賺取買賣價差的利潤。

這個策略的一個關鍵點是,限價單的fill概率與它們離當前市場價格的距離密切相關。放在當前market price附近的限價單更有可能被執行;而那些離市場價格較遠的限價單,執行的概率就會非常低了,同時執行的時間會非常長引入了更多risk。所以需要找到一個合適的偏移量,既能增加訂單的執行效率,又能確保賺取足夠的價差來cover所有的成本和風險。

總的來説,Fixed Offset策略雖然簡單,但卻非常實用。它通過在市場價格兩邊放置固定偏移量的限價單,幫助做市商穩定地賺取買賣價差,同時管理庫存風險。對於初學者來説,這是一個很好的入門策略。

Volatility-Dependent Offset

Volatility-Dependent Offset(波動率依賴偏移)策略是一種更為智能的做市策略,旨在根據市場波動率的變化來調整限價單的位置。簡單來説,就是在市場波動率高的時候,把限價單放得遠一點;在市場波動率低的時候,把限價單放得近一點。

具體來説,當市場波動很大時,價格上下波動的範圍也會更大。在這種情況下,放置離市場價格較遠的限價單也有更高的概率被執行,而且這樣可以賺取更高的買賣價差(也就是bid-ask spread)。相反,當市場波動較小時,價格變化不大,限價單需要放得更接近當前市場價格才能被執行。

這策略的一個例子可以用下面的公式來表示:

這個公式的意思是,限價單的偏移量是過去一段時間內價格變化的一個函數。通過這種方式,做市商可以動態地調整限價單的位置,適應不同的市場波動情況。熟悉統計的朋友可能可以看出來這其實就是一種過去一定window長度時間的volatility大小(我覺得其實也可以用各種形式的volatility measure方式)。

這個方法的好處在於,它能更好地匹配市場的實際情況。高波動率時,做市商可以利用更大的價差來增加利潤;低波動率時,做市商可以通過更高的訂單執行率來保持穩定的交易量。

總的來説,Volatility-Dependent Offset策略讓做市商能夠更靈活地應對市場變化,通過動態調整限價單的位置來優化交易決策。

Order Arrival Rate-Dependent Offset

Order Arrival Rate-Dependent Offset策略的核心思想是根據市場訂單的到達頻率來調整限價單的偏移量。簡單來説,就是根據市場上訂單的多少和到達速度來決定限價單離市場價格有多遠。

那麼,為什麼訂單到達率這麼重要呢?想象一下,每個市場訂單就像一個隨機出現的顧客。如果顧客很多(也就是訂單到達率高),你的限價單就有更大概率被執行。在這種情況下,你可以把限價單放得遠一點,這樣即使偏離市場價格較遠,也有較高的執行概率,同時還能賺取更高的買賣價差(bid-ask spread)。相反,如果顧客比較少(訂單到達率低),你就需要把限價單放得更近一些,確保它們能更容易被執行。畢竟,在這種情況下,你需要靠更高的訂單執行率來保持交易量和盈利。

這種方法的好處在於,它能更靈活地適應市場動態。訂單到達頻率高的時候,可以通過更大的價差增加利潤;訂單到達頻率低的時候,可以通過更高的訂單執行率保持穩定的交易量。

這個公示其實就像之前提到的Poisson distribution,假設每個market order是arrive independently的,這里的lambda和mu是可以用level1和tick的數據calibrate出來。

Trend-Dependent Offset

Trend-Dependent Offset策略是一種改進的做市策略,它會根據市場是處於趨勢狀態還是均值迴歸狀態來調整限價單的位置。簡單來説,就是在不同的市場趨勢下,動態地改變你掛單的位置。

首先,來看看什麼是均值迴歸市場。在這種市場中,價格會在一個範圍內來回波動,像個彈簧一樣總是回到中間值。這種情況下,價格波動不大,做市商掛出的限價單被執行的概率較高,而且風險較低,因為價格總會回到某個範圍內。而在趨勢市場中,價格會持續朝一個方向移動,比如一直上漲或一直下跌。這種情況下,價格波動較大,且不容易預測回到某個固定範圍。因此,做市商在這種市場條件下需要更謹慎地調整限價單的位置,可能需要設置更大的偏移量,以避免被快速移動的市場價格吞噬。

具體操作上,這個策略會根據市場的歷史數據來判斷當前市場是趨勢市場還是均值迴歸市場,然后相應地調整限價單的偏移量。在均值迴歸市場中,限價單可以放得更近一些,因為價格波動小且風險低;而在趨勢市場中,限價單需要放得更遠一些,以規避市場的劇烈波動。

這個策略聽起來很容易,但其實要做到這一點很難,因為需要提前預測市場的趨勢,至少需要預測市場趨勢的regime(當然也有挺多學術paper是講這個,最簡單的就是技術分析的各種指標了都是用來判斷市場trending的)。但我感覺這個策略有點悖論,因為如果真的可以準確預測市場的漲跌趨勢,那直接prop trading就行了,也不需要做market making賺幾個bps的spread了…

總而言之,其實這四種掛單方式,本質上都是在盈利(spread gain)和cost(執行的概率,或者執行的時間etc)之間做一個平衡或者優化,只不過是根據各自市場情況的factor來做優化。

其實不僅僅每次只用一個factor來做優化,還可以把multiple的factors全放在一起優化,比如利用現在最火的machine learning或者deep learning的models,這樣也許可以看到更多新的東西和interactions。market making很多時候都是在和liquidity打交道,下面還有書里給出的很多市場liquidity的factor可以當做參考,更多細節可以在書或者paper里找到:

  • The tightness of the bid-ask spread.

  • Market depth at best bid and best ask.

  • Shape of the order book(Level2 data).

  • Price sensitivity to block transactions.

  • Price sensitivity to order-flow imbalance.

  • Price change per unit volume.

  • Technical support and resistance levels.

  • Market resilience.

2.2.2 改進版Market Making策略(with 市場預測)

在上一章的基礎上,這一章利用各種Level1和Level2的數據,加入了市場交易行為的patterns和短期的預測模型,進一步探討更復雜的market making模型。這一章可能是所有人最感興趣的一章,因為高頻交易的核心還是和limit order book打交道,所以在limit order book上面做research得到對自己有用的信息就至關重要了。

所有的trade和order都會傳遞信息。僅僅是一個交易者用自己的錢下注市場的某個方向,就會讓其他市場參與者知道這個交易者的想法。

一個交易所包含的信息,比新聞分析師的意見要強得多。分析師通常按工資拿報酬,不管他們的預言是否成真。而交易者通常按他們交易所賺取的利潤提成,每筆交易都直接影響到他們的福利。因此,交易被視為對市場走勢的強有力信號。訂單越大,交易信號就越可信。

無論是aggressive order(market order)還是passive order(limit order),都是可信的信號——market order是承諾以當前市場最優價格立即買入或賣出證券,而limit order則是在對方市場交易可用時,以預定義的價格買入或賣出。因此,market order和limit order都會對市場產生影響。不過,與market order不同的是,limit order可以被取消。因此,limit order的信號不如market order那麼可信,而且market order和limit order的強度甚至方向可能會有所不同。order作為可信信號的想法最早在1971年被提出。這個關於市場信號的觀點在當時如此具有革命性,以至於研究的作者敢於以假名 Bagehot 發佈理論,這個名字來源於一位著名的十九世紀英國經濟學記者。

此外,大部分信息是逐漸融入價格中的,這一點最早由Kyle(1985)指出,而不是像經典金融學研究希望的那樣瞬間就price in。每筆交易都是買單和賣單相遇的結果。通常情況下,一筆交易是一個市價單遇到一個相對的限價單的結果,但兩個方向相反的限價單也可能匹配形成一筆交易。交易是供需對立力量的產物,理論上來説,每筆交易對市場的影響不大。然而,在短期的現實中,情況恰恰相反:

Market buy orders通常會導致交易證券價格上漲,而market sell orders通常會導致價格下跌。

Limit buy orders和limit sell orders也會在預期未來交易時產生市場衝擊(參見Harris,1997;Parlour和Seppi,2007;Boulatov和George,2008;以及Rosu,2010)。因此,限價單之后也會跟隨持續的價格變化(參見Eisler,Bouchaud,和Kockelkoren,2009;以及Hautsch和Huang,2011)。雖然完成的交易是不可逆且最可信的信號,但限價單是可以cancel的交易意向,因此它們的影響力度比市價單小。Hautsch和Huang(2011)以及Aldridge(2012c)估算,limit order的市場衝擊大約是類似market order的25%。Limit order后的價格變化方向可能與market order相反,這取決於limit order價格離market price有多遠。對這里書里説到的結論我其實不敢苟同,因為我覺得已經完成的交易的影響是已經price in到價格里了,也並不能tradable(除非你是想trade reversion),而沒有完成的交易纔是我們最需要研究的信息。

首先我們來看看Level 1數據幾種不同的quotes patterns的情景,來研究market maker的特定行為:

Case 1:Market does not move

在上圖case 1中,交易按以下順序發生:第一個交易在最佳買入價成交,然后在最佳賣出價成交,最后又在最佳買入價成交。最佳買入價和最佳賣出價都沒有變化。

這種情景包含了什麼信息呢?答案是沒有信息。沒有發生任何有趣或異常的事情。第一個arrival並導致交易的訂單是一個市場賣單——交易按市場賣單的方式在買入價成交。市場賣單的規模小於當時最佳買入價的規模——交易后,最佳買入價沒有變化。從更廣泛的市場角度來看,這個訂單沒有攜帶任何信息:最佳買入價和最佳賣出價仍保持在原來的水平。在第一個賣單之后,圖中顯示很快又執行了兩個訂單:一個市場買單和一個市場賣單。買單被識別出來是因為它在最佳賣出價成交——市場買單會與限價訂單簿的賣出方匹配。下一個交易在最佳買入價成交,因此必須是一個賣單。再次,圖中顯示在這兩個訂單之后價格沒有變化,這意味着:

兩個訂單的規模相比最佳買入價和最佳賣出價的總規模都很小

並且這些訂單沒有被認為具有任何特殊的信息優勢

這里我其實並不是很同意,因為這三個trade其實還是會造成一些quote sizes的變化,也會一定程度上包含一些信息,還是取決於怎麼去extract這些信息。

Case 2:Market moves and rebounds

上圖case 2展示了一個不同的情景:一個交易在買入價成交。成交后,報價下跌,但隨着時間的推移逐漸恢復。

圖中的交易發生在買入價,所以是由市場賣單觸發的。隨后的報價下跌並逐漸恢復,表明:

交易規模相對於最佳買入價的available size較大;市場賣單必須「掃掉」訂單簿才能完全fill掉。

儘管交易規模很大,但並沒有影響驅動價格的基本面——報價慢慢恢復到原來的水平;交易並沒有攜帶任何信息(回到原來的價格其實也是一種信息,説明暫時的市場定價還是fair的,或者有買家在support這個level)。

在圖中,最佳賣出報價在賣單后也下跌了。這可能是由於做市商的活動,他們試圖出售通過賣單剛剛獲得的庫存。通過降低最佳賣出報價,做市商可以迅速賣出新購入的庫存,實現快速盈利。

Case 3:A trade moves markets

上圖case 3中的交易也是在買入價成交的。但與上面case 2不同的是,圖中的交易大幅度降低了買入價和賣出價的報價,且沒有立即恢復。

圖中市場活動的最可能解釋是信息。這次交易在買入價成交,因此是一個賣單。然而,市場將這個賣單解讀為包含足夠信息,足以導致價格的永久性下降。與case 2不同,這次交易后的報價沒有恢復到原來的水平,而是停留在新的低點。這個新的持久價格水平最有可能是因為賣單攜帶了基本面信息。

做市商可能會通過幾種方式確定這個賣單包含信息。通常,發出賣單的交易者的經紀商可能會觀察到,這個交易者具有出色的研究技能,並且經常在其他交易者之前下達有利可圖的訂單。在這種情況下,交易者的經紀商可能是第一個在交易執行后調整報價的人,以保護自己免受與虧損對手方進一步交易的風險。這種活動是完全合法的,通常被稱為prehedging。另外,經紀商和其他市場參與者也可能通過本章后面描述的信息提取模型來確定informed交易者存在的概率。

Case 4:The quotes widen

上圖case 4展示了另一種情景:交易后spread價差變寬。圖中描繪的情況通常是市場不確定性增加的結果。例如,在重大新聞發佈前的時間段,這種新聞一旦發佈,可能會顯著影響市場。做市商的自然反應是避免被信息更靈通的交易者擊敗,並撤回最接近市場價格的訂單,這種做法稱為quoting wide擴大報價範圍。

從上面的例子我們可以看到,Case 1到4展示了做市商在不同情況下的可預測行為。做市商在特定市場事件后的行為,可以從公開報價數據中觀察到,這有助於自動交易系統提取對其他做市商可用的信息。我們可以看到order flow的變化可以包含很多有用的信息,最重要的是提取它們並且為我所用。下面我們詳細介紹一下書里提到的三種利用trades, quotes還有整個order book來做modeling提取有用信息的方式。

2.2.2.1 Order flow autocorrelation

Order flow autocorrelation(訂單流自相關)是一個時間序列的概念,它主要關注訂單流之間的相互關係,尤其是時間上的依賴性。簡單來説,就是看看市場上的買單和賣單是否有某種規律可循,比如一個買單之后,接下來是不是更可能出現另一個買單。

自相關性是什麼呢?簡單來説,就是看看當前的交易方向是否會影響未來的交易方向。如果發現市場上連續出現多個買單,那我們就可以説這些買單具有正自相關性;反之,如果一個買單后緊跟着一個賣單,那就是負自相關性。

那麼,這對做市商有什麼幫助呢?通過分析訂單流的自相關性,做市商可以更好地預測市場的下一步走勢。這意味着,如果市場是正自相關的,並且觀察到市場上連續出現多個買單,他們就可以預期價格可能會上漲,從而調整自己的買賣策略以獲取利潤。

具體的modeling里,這里order flow訂單流的定義是依據trade的信息,如下:

我們可以看到order flow被定義成market buy的volume和market sell的volume之間的差值,其實order flow也可以用其他不同的形式來定義,主要的核心就是在不同的dimension上研究其behavior patterns,提取trades的方向和size所攜帶的信息。

根據學術研究,order flow訂單流至少直接解釋市場價格中50%以上的信息。發佈新聞時,訂單流會變得非常有方向性。比如,Love和Payne(2008)估計,在歐元區和美國發布重大新聞后,圍繞EUR/USD匯率的訂單流會緊密跟隨公告的方向。因此,被預期會提升美元的「好」美國新聞,主要由「買美元」或「賣歐元」的訂單主導。其他關於各種證券的類似研究結果包括Lyons(1995), Perraudin和Vitale(1996), Evans和Lyons(2002a),以及Jones,Kaul和Lipson(1994)。

根據Lyons(2001)的説法,訂單流之所以帶有信息,有以下三個原因:

1、訂單流可以看作是市場參與者不惜將自己的決策最直接的暴露在市場中,因為market order是不可撤銷的,所以攜帶了最強有力的信息。limit order也可以被執行並且成本高昂,因此也帶有信息。因此,訂單流反映了市場參與者對市場未來走向的真實信念。

2、訂單流數據是分散的,分佈有限。經紀商可以直接觀察到他們客户的訂單流以及經紀商之間的網絡。終端投資者幾乎不會看到任何直接的訂單流,但可以從市場數據中部分推斷出訂單流信息,如本節所述。交易所擁有他們從經紀商和其他市場參與者那里收到的訂單流數據。然而,由於經紀商越來越多地尋求內部匹配訂單,這個過程稱為訂單流的internalization,交易所可能會錯過大量投資者訂單。內部化目前被視為控制經紀成本的必要功能,通過儘可能避免交易所。因為訂單流並非對所有人開放,那些擁有完整訂單流信息或成功建模的人處於非常有優勢的位置,可以在信息被納入市場價格之前加以利用。這里其實也解釋了為什麼賣方投行的sales trading desk為什麼非常有市場信息的edge(俗稱color,也是很多買方trader在瞭解市場時最需要的信息),因為可以接觸到最原始的order flow,而不僅僅是交易所的。

3、訂單流顯示了大量且含有信息的positions,這些positions無論交易發起者是否擁有任何優於其他人的信息,都會由於market impact而暫時move market。這樣,觀察或modeling訂單流的交易者就成了最有可能抓住圍繞這些交易的市場波動中的機會。

這里訂單流分成可以直接觀察到的和不能直接觀察到的兩種情況:

1、訂單流可以直接觀察到

對於broker而言,客户的每一個market order其實都很清楚的知道是買還是賣,這種情況就比較簡單。Lyons(1995)、Perraudin和Vitale(1996)、以及Evans和Lyons(2002b)等人的paper里指出,訂單流以前是分散在市場參與者之間的,但現在可以被經紀商或交易場所集中查看。特定金融證券在任何給定時間的訂單流正式定義為買方發起和賣方發起的交易興趣之間的差異。訂單流有時被稱為買入或賣出壓力。當交易規模可觀察時,訂單流可以計算為買方發起交易的累計規模和賣方發起交易的累計規模之間的差異。當交易數量不可直接觀察(例如在外匯市場中常見的情況),訂單流可以測量為每個特定時間間隔內買方發起交易和賣方發起交易的數量差異。

在實證研究中,基於交易規模和交易數量的訂單流測量方法都被使用過。這些測量方法是可比的,因為大多數訂單都是以「片段」或標準規模的包裹形式傳遞的,主要是爲了避免不必要的關注和隨着大額交易而來的價格上漲。Jones等人(1994)發現,按交易數量測量的訂單流比按交易總規模測量的訂單流更能預測價格和波動性(這里還挺神奇,order的count比volume更加有信息含量)。

訂單流在新聞發佈后到達新價格水平的重要性已經被實證驗證。例如,Love和Payne(2008)研究了外匯市場中圍繞宏觀經濟新聞公告的訂單流,發現訂單流包含了市場價格中至少一半的信息。

Love和Payne(2008)研究了訂單流對三個貨幣對的影響:USD/EUR、GBP/EUR和USD/GBP。Love和Payne(2008)發現訂單流對相應匯率的影響如表11.1所示。作者將訂單流測量為每一分鍾間隔內買方發起和賣方發起交易數量的差異。Love和Payne(2008)記錄到,在歐元區新聞發佈時,每一筆正的order flow會導致USD/EUR上升0.00626或0.626%。這里比較類似announcement的event driven的策略。

2、訂單流不能直接觀察到

但訂單流往往並不對所有市場參與者都是透明的。比如,執行經紀商可以直接觀察到來自客户的買賣訂單,但一般來説,客户只能看到買價和賣價,可能還包括市場深度。

因此,各種模型應運而生,用於從可觀察的數據中提取訂單流信息。最基本的算法是測試交易標記的自相關性。比如,算法將過去一段時間T(例如30分鍾)內記錄的所有交易分為買單和賣單。交易的買賣tag識別可以使用前面描述的Lee-Ready Rule等等。被識別為買單的交易被assign「交易方向值」+1,而每筆賣單則記為-1。

這里從ACF的圖我們可以看出來MSFT的autocorrelation其實並不是很顯著,可能還需要PACF。而BEAM就可以看出來cutoff的地方在lag=4的時候,也就是説前4個trade的方向可以幫助預測下一個trade。如果對ACF和PACF不太瞭解的朋友可以去看看統計里面time series的部分。

書里面還給出了很多相關的research paper,Ellul、Holden、Jain和Jennings(2007)認為,高頻訂單流中的短期自相關性可以解釋為在liquidity depletion和replenishment期間,競爭性的訂單流對當前市場事件的反應波動,比如所有人在短時間內同時去追一個市場方向。Ellul等人(2007)確認了高頻率下訂單流的強正序列相關性,但在低頻率下發現了負的訂單公司相關性。其他關於訂單自相關性的研究包括Hedvall、Niemeyer和Rosenqvist(1997);Ranaldo(2004);Hollifield、Miller和Sandas(2004);Foucault、Kadan和Kandel(2005);Rosu(2005);以及Biais、Hillion和Spatt(1995)。

訂單流信息很容易進行有利可圖的交易。大量的買單不可避免地會推高所交易證券的價格;在觀察到大量買單時下買單會帶來正收益。同樣,大量的賣單會壓低價格,而在觀察到賣單流時及時下賣單也會帶來正收益。這里其實就是利用訂單流信息提前detect到大單,然后front run去ride這個trend。

但這里我覺得還是有點問題。如果是用來解釋價格的波動,我覺得用trade是make sense的,但事實情況是trade是已經發生的事情,所以實際的信息其實已經price in到市場的價格里了,比如我看到有大單在交易,那這個時候很可能大單也已經快交易完了,所以trade其實是一個相對滯后的信息。如果用trade進行交易,那timing一定得把握好要提前一定的程度,不然搞不好自己就變成了接盤的。

2.2.2.2 Order flow aggressiveness

上面我們利用了trade的size/count來做時間序列自相關的分析,這里我們可以用trade的aggressiveness來獲得一些有效信息。

Aggressiveness指的是在market price提交的訂單比例(也就是market order的比例),而不是limit order。Market order的比例越高,説明交易者在捕捉best price上越aggressive和不顧一切,也越可能相信該證券的價格即將偏離當前市場價格。

Limit order比market order的執行價格更有利;然而,價格優勢伴隨着等待和未執行的risk。Market order則立即執行,但可能會遇到不利價格。Market order用於aggressive交易,當價格迅速變動且必須快速執行以捕捉和保持交易收益時。交易者的信息越有利、交易越aggressive,信息進入價格的速度越快。

因此,aggressive的訂單可能本身就傳達了即將到來的證券價格走勢的信息。如果交易者立即執行訂單而不是等待更有利的價格,交易者可能傳達了他對市場走向的信念。Vega(2007)顯示,信息更好的市場參與者交易更aggressive。因此,模仿aggressive的交易可能會形成一致的盈利交易策略。訂單流的aggressiveness測量可能進一步捕捉到知情交易者的信息,並有助於產生短期利潤。

Anand et al. (2005) 測量了order的不同信息對於price change的影響:

結果如下:

我們可以明顯看到具有統計顯著性的有order的size和aggressiveness。這個結果說明了order越大對price change的影響越大,也說明了order越aggressive對於price change的影響也越大,無論是下單之后5min還是60min,表明這個效應其實還是挺具有持續性的。這個結果也告訴我們,如果能提前detect到大size的order,或者一系列的aggressive order,那麼我們就可以在60min的window內ride這個trend。

根據一些研究人員的觀點,市場的aggressiveness表現出自相關性(和上面time series分析方式一致),這可以用來預測未來的市場aggressiveness。這種自相關性可能來源於以下兩個方面:

1、大型機構訂單被分割成較小的部分並在較長時間內以相似的market aggressiveness程度發出。

2、簡單的價格動量效應(比如其他detect到aggressiveness相關性的人也會follow這個trend)。

Biais等人(1995)進行了關於檢測市場aggressiveness自相關性的研究,他們將巴黎證券交易所的訂單按積極性程度分開——從最不aggressive的市場訂單到最aggressive的超出當前訂單簿的限價訂單。作者發現,訂單在aggressiveness方面的分佈取決於市場狀態,並且訂單提交具有自相關性。作者檢測到一種「對角線效應」,即初始某一aggressive水平的訂單會跟隨其他同一aggressive水平的訂單。后續的實證研究在不同的證券交易所也證實了這一發現。例如,Griffiths、Smith、Turnbull和White(2000)在多倫多證券交易所的研究;Ranaldo(2004)在瑞士證券交易所的研究;Cao、Hansch和Wang(2004)在澳大利亞證券交易所的研究;Ahn、Bae和Chan(2001)在香港證券交易所的研究;以及Handa等人(2003)在巴黎證券交易所CAC40股票的研究。這些研究説明trending這個效應,可能更加本質上是是一種order size和order aggressiveness自相關性的自我實現的結果,比如均線和技術分析之類的指標也只是order自相關的一種更表層的描述。

2.2.2.3 Shape of the order book

前面兩個是提取的trade的信息,這里討論一下用quote和limit order book (LOB)來提取信息做預測。

書里面提到Level 1的數據就可以用來預測未來股價的變動:

這里定義了一個變量叫order flow imbalance (OFI),然后e是代表了order book的top price level上流動性的變化。注意這里是一階導的變化,而不是某一時刻static的狀態。方程(5)和(6)可以這樣理解:Order Flow Imbalance(訂單流失衡)取決於order book上最top level的流動性的瞬時變化,而這又取決於最佳買價和最佳賣價的逐筆變化。如果最佳買價上升,訂單流失衡就會增加新最佳買價的數量。如果最佳買價從一個價位下降到下一個價位,相關的訂單流失衡就會減少之前價位記錄的最佳買價數量。同樣地,如果賣價下降,訂單流失衡就會減少新最佳賣價的數量。如果賣價從上一個價位上升到當前價位,訂單流失衡就會增加之前最佳賣價記錄的數量。

爲了確定訂單流失衡的預測能力,Cont等人(2011)接下來將訂單流失衡與短期價格變化進行對比,得出了一個線性關係,如下圖所示:

我們可以看到regression的結果還是挺統計顯著的,能達到9%的R2其實算挺高的了,這説明order book上面的信息其實還是非常有價值的。當然這里只是很簡單的一個例子,其實還有很多其他的信息可以用不同的方式extract出來,也有很多paper都圍繞order book做過各種研究,並且也有挺多坑,因為高頻數據的特性和低頻數據還是挺不一樣,需要根據實際的使用情況來做一些customization和調整。而且這里還僅僅是Level 1的order book信息,如果有Level 2的multi-level數據那麼可以research的東西會更加多,也會更加有意思,也歡迎大家一起交流。

有幾項研究還考慮瞭如何利用限價訂單簿的形狀來預測短期價格走勢。比如,Cao等人(2004)發現,當流動性高峰接近市場價格時,往往會將市場價格推離高峰。然而,當流動性高峰遠離市場價格時,往往會「拉」市場價格向高峰靠近。Cohen、Maier、Schwartz和Whitcomb(1981)將這種現象稱為報價的「引力作用」。下圖展示了市場深度和相關流動性的樣本演變。

這里我其實不是很理解為什麼會產生這種引力現象,我能想到的從resistance和support(這兩者都是liquidity peak)來解釋,可能是market price在這兩個點位待的時間最長,在阻力和支撐中間的時候因為order book的depth比較淺,所以價格很容易打上去或者下來,所以大部分時間都在高峰附近震盪,只有來的大單纔有力量把價格徹底拉離peak的引力。

除了預測價格波動之外,Rosu(2005)發現,限價訂單簿的形狀取決於市場訂單到達的概率分佈。大額市場訂單的高概率會導致限價訂單簿呈現駝峰形狀。Foucault、Moinas和Theissen(2005)則發現,限價訂單簿的深度可以預測未來資產價格的波動性:深度越低,預期波動性越低。Berber和Caglio(2004)發現,限價訂單在某些事件(如公司earning announcement)期間攜帶private的信息:遠離當前市場價格的限價訂單集中,可能反映了某人對公告后其金融工具的估值預期。

這里介紹的limit order book幾種提取信息的方式和思路其實只是最初步的,我相信真正的高頻交易應該有複雜得多的數據和研究方法,但在其失效之前可能也不會有人寫出來,不過還是可以多讀讀學術界的paper找一找靈感。

2.3 Events driven策略

傳統低頻量化模型的一些假設,比如市場會立即將所有公開信息反映到價格中,但現實中情況並非如此。你可能也會注意到,當有重大新聞發佈時,市場價格的調整往往不是瞬間完成的,這一章就依據此介紹不同的事件驅動策略。Events driven策略的核心就是通過及時獲取和分析這些新聞,你可以在市場還未完全反應過來之前進行交易,從而獲取超額收益。

我們可以先看一個書里的例子:

這里是看US通脹announcement對於外匯USD/CAD的影響。我們可以看到當bin size是5min的時候,通脹漲和跌都對USD/CAD沒有顯著統計的影響。但是當bin size變得越來越小,我們觀察event的尺度變得越來越高頻的時候,機會就開始出現了。當bin size是15s的時候,這種機會會出現的最多達到5-6次,如果更小的話可能機會會更多,所以events driven的策略其實在高頻的時候還是會有挺多可以做的。

概括來説,基於事件的方向性策略指的是一類根據市場對事件的反應來進行交易的策略。這些事件可能是經濟、行業,甚至是特定金融工具的事件,這些事件會一再地對相關工具產生影響。比如,美聯儲利率意外上調通常會推升美元價值,同時推高USD/CAD匯率並壓低AUD/USD匯率。因此,美聯儲利率決策的公告就是一種可以持續獲利的套利事件。

事件套利策略的目標是找出在每個事件發生前后時間窗口內能夠獲得正收益的投資組合。這個時間窗口通常從事件發生前不久開始,到事件發生后不久結束。對於事先已知的事件,比如計劃中的經濟公告,投資組合頭寸可能會在公告前或剛公告后開立,然后在公告后不久完全平倉。

持倉時間可以從幾秒鍾到數小時不等,並且通常能以低波動率實現持續盈利。對事件的響應速度往往決定了交易的收益;響應越快,策略就越有可能借助事件后的價格波動獲利。因此,事件套利策略非常適合高頻交易,並且在全自動交易環境中執行效果最佳。

開發事件套利交易策略需要利用關於均衡定價的研究,並藉助統計工具評估逐筆交易數據和事件發佈的瞬間影響。現在,我們先研究一下開發事件套利策略的具體操作。

大多數事件套利策略遵循以下三個階段:

1、對每種事件類型,在歷史數據中確定過去事件的日期和時間。

2、計算與第1步中確定的事件相關的證券在所需頻率下的歷史價格變化。

3、基於過去事件的歷史價格行為估算預期的價格反應。

過去事件的日期和時間可以從各種互聯網網站收集。大多數公告都是在同一時間發佈的,這使得數據收集變得更容易。例如,美國失業率公告總是在東部時間早上8:30發佈。一些公告,如美國聯邦公開市場委員會的利率變更公告,則在一天中的不規則時間發佈,處理起來可能就會更麻煩一點。

事件套利策略利用重複性的經濟活動、市場波動等新聞發佈,因為重複性事件可以幫助研究人員估計歷史影響並預測未來影響。不同事件對市場的影響不同,影響大小取決於實際數據與預期的差異,這種差異在經濟學中被稱為「surprise」。比如,股票價格會根據收益公告的高於或低於預期來調整,外匯市場的匯率也會對意外的CPI變化作出反應。市場參與者在正式數據發佈前很久就形成了預期(concensus),並基於這些預期進行交易,把預期反映在價格中。估計新聞影響的關鍵是區分意外變化和已反映在價格中的預期。宏觀經濟公告中的「surprise」可以通過與經濟學家預測的平均值進行比較來衡量。

實證證據表明,這種自迴歸框架確實可以用來預測證券的未來走勢,但這種影響在短期內最為明顯。Almeida, Goodhart和Payne(1998)記錄了宏觀經濟新聞發佈對美元/德國馬克匯率的顯著短期影響,尤其是美國就業和貿易平衡相關的新聞公告在公告后兩小時內是匯率的重要預測指標。而美國非農就業和消費者信心新聞公告在公告后12小時或更長時間內引發了價格動量。

2.3.1 Events driven策略的基本步驟

預測的制定涉及對特定交易數據的事件研究,這些數據圍繞感興趣的事件公告。事件研究衡量公告對新聞事件前后回報的定量影響,通常按以下步驟進行:

a. 確定和記錄announcement日期、時間及「surprise」變化。爲了創建有用的模擬,事件數據庫和事件前后交易的證券價格應該非常詳細,事件要分類清楚,報價和交易要高頻記錄。「surprise」部分可以通過兩種方式衡量:

作為實際值與基於自迴歸分析的預測值之間的差異。

作為實際值與分析師預測共識之間的差異。

b. 計算announcement前后對應時間的回報。例如,如果研究人員想評估CPI公告對USD/CAD一秒變化的影響,那麼就要計算曆史CPI公告日早上8:30:00到8:30:01之間USD/CAD的變化(美國CPI公告總是在東部時間早上8:30發佈)。

c. 通過簡單線性迴歸估計announcement的影響:

利用上面這個方法,我感覺實際上有兩種交易方式,一種是左側交易,一種是右側交易。左側交易就是自己大概有一個預期的surprise,然后提前建倉進去bet是不是這個surprise,這個其實就是對自己認為的實際值有很強的信心才能辦到;右側交易就是等surprise已經announce瞭然后計算市場的movement大小是不是符合這個surprise,如果不符合的話那就是套利的機會了。

2.3.2 各個資產類別的events driven策略

依據上面的方法,我們可以看看events driven在不同資產上的research work。

2.3.2.1 外匯市場

許多研究(如Almeida, Goodhart, 和 Payne (1997); Edison (1996); Andersen, Bollerslev, Diebold, 和 Vega (2003); Love 和 Payne (2008))都探討了外匯市場對宏觀經濟公告的反應。Edison (1996) 發現,外匯市場對實際經濟活動新聞(如非農就業數據)的反應最顯著。他指出,每當非農就業人數意外增加10萬,美元平均升值0.2%。同時,他還發現通脹對外匯匯率的影響不大。

Andersen等人(2003)使用基於時間戳插值的外匯報價,創建了精確的五分鍾間隔進行分析。他們發現,外匯匯率水平會迅速且有效地根據新信息調整。然而,波動性在多數新聞發佈后的尖峰之后需要更長時間才能平息。研究還顯示,不利消息通常比利好消息影響更大。他們使用國際貨幣市場服務(MMS)編制的共識預測值作為新聞公告的預期值來估計意外成分。他們對五分鍾現貨外匯匯率變化進行了建模,實際上是用lag的return和lag的surprise做regression。

他們用以上模型研究了以下貨幣對:GBP/USD, USD/JPY, DEM/USD, CHF/USD, 和 EUR/USD,時間範圍從1992年1月3日到1998年12月30日。研究表明,所有貨幣對對以下變量的意外增加都以99%的顯著性正面迴應:非農就業人數、工業生產、耐用品訂單、貿易平衡、消費者信心指數和全國採購經理人協會(NAPM)指數。所有貨幣對對初次失業救濟申請人數和貨幣供應量M3的意外增加則作出負面反應。

Love 和 Payne (2008) 發現,不同國家的宏觀經濟新聞對不同的貨幣對有不同的影響。他們研究了來自美國、歐元區和英國的宏觀經濟新聞對EUR/USD, GBP/USD, 和 EUR/GBP匯率對的影響。結果顯示,美國新聞對EUR/USD影響最大,而英國新聞對GBP/USD影響最大。他們還記錄了三大區域不同類型的新聞對各自貨幣的具體影響。詳細結果見下表,

附上書里的macro events列表:

2.3.2.2 股票

根據經典金融理論,股票價格的變化主要有兩個原因:一是上市公司的預期收益變化,二是這些公司相關的折現率變化,這兩者都可以當做events。

預期收益可能會受到市場環境變化的影響。比如,消費者信心和消費支出的增加可能會提升零售銷售,從而提高零售公司的收益預期。而勞動力成本的上升則可能預示着艱難的商業環境,降低收益預期。理論上,股票價格是公司未來所有現金流的現值加總,按照合適的利率折現,這個利率可以由資本資產定價模型(CAPM)、羅斯的套利定價理論(1977)或投資者特定的機會成本決定。所以意外的收益變化會導致股價迅速對新的earning信息作出反應,收益與預測值的顯著偏差可能引發市場大幅波動。Surprisingly的正收益通常會推高股價,而負收益則會壓低公司股票的估值。在收益公告之前,會有分析師的預測。如果公告的結果與經濟學家的共識預測有實質性差異,證券價格會迅速調整到新的均衡水平。公告中的surprise部分是公告值與經濟學家預測均值或中值的差異,這部分是估計事件對價格影響的關鍵變量,這也是上面介紹的events driven策略的應用範圍。

除了上面講的上市公司的預期收益變化,公司的股價還被折現率影響。折現率至少由無風險利率和特定股票的獨特風險水平決定。對於美國股票來説,無風險利率通常用美國財政部發行的三個月期國庫券來表示;而對於其他國家的股票,無風險利率則是該國央行公佈的短期目標利率。無風險利率越低,股票收益的折現率就越低,理論上的股票價格就越高。

宏觀經濟新聞在實際中是如何影響股票的?大量實證證據顯示,股票價格對利率公告反應強烈,對其他宏觀經濟新聞的反應則稍微弱一些。不論是長期還是短期利率的下降,都能顯著提高月度股票回報率,長期利率的影響有90%的統計顯著性,而短期利率的影響有99%的統計顯著性(參見Cutler, Poterba, 和 Summers, 1989)。論文證據表明,大多數價格調整發生在公告發布后的幾秒鍾或幾分鍾內。這里用上面預期差套利方法的機會也就來了,如果我們知道了利率變化對某隻股票的影響程度,那麼就可以在利率announcement之后立即做統計套利來arb市場還未能來得及反應的部分,直到這隻股票完全price in了這個event。

而對於非貨幣的宏觀經濟新聞,股票的反應通常是混合的。正面的通脹衝擊往往會導致股票回報下降,不受其他市場條件的影響(詳情見Pearce和Roley, 1983, 1985)。其他一些宏觀經濟變量的反應則取決於當前的經濟周期狀態。McQueen和Roley(1993)指出,在經濟衰退期間,高於預期的工業生產數據對股市是好消息,但在經濟活躍期則是壞消息。

同樣,失業統計數據的意外變化也會引起不同的反應。Orphanides(1992)發現,在經濟擴張期間,失業增加時股票回報會上升;但在經濟緊縮期,失業增加會導致股票回報下降。Orphanides(1992)將股票的這種不對稱反應歸因於經濟過熱假説:當經濟過熱時,失業增加實際上是好消息。這一發現也得到了Boyd, Hu, 和 Jagannathan(2005)的確認。這種對宏觀經濟新聞的不對稱反應不僅限於美國市場。比如,Löflund和Nummelin(1997)發現,芬蘭股市對工業生產數據意外增長的反應在經濟疲軟狀態下會提振股票。

不同來源的信息對股票的影響頻率不同。宏觀經濟對股票數據的影響似乎隨着數據頻率的增加而增加。比如,Chan、Karceski 和 Lakonishok(1998)在套利定價理論框架下分析了美國和日本股票的月度回報,發現個別股票的特性在低頻率下對未來回報的預測最準確。通過使用因子模擬組合,Chan 等人展示了個股的規模、過去的回報、市淨率和股息收益率是與相應股票回報最相關的因素。然而,Chan 等人記錄到,「宏觀經濟因素在月度回報頻率上對解釋回報共變做得不好」。Wasserfallen(1989)發現宏觀經濟新聞對季度股票數據沒有影響。

Flannery 和 Protopapadakis(2002)發現,美國股票的日回報顯著受幾種宏觀經濟新聞的影響。作者使用廣義自迴歸條件異方差(GARCH)回報模型,並發現以下宏觀經濟公告對股票回報和波動性有顯著影響:CPI、PPI、貨幣總量、貿易平衡、就業報告和房屋開工數據。

Ajayi 和 Mehdian(1995)記錄到,發達國家的外國股市通常對美國的宏觀經濟新聞公告反應過度。因此,外國股市往往對美元匯率和國內賬户余額敏感。比如,Sadeghi(1992)注意到,在澳大利亞市場上,股票回報隨着經常賬户赤字、AUD/USD 匯率和實際國內生產總值(GDP)的增加而增加;而在國內通脹或利率上升的新聞發佈后,股票回報則會下降。

不同行業的公司股票對宏觀經濟公告的反應不同。例如,Hardouvelis(1987)指出,金融機構的股票對貨幣調整公告的敏感度更高。市場資本化的程度也很重要。Li 和 Hu(1998)顯示,大市值股票對宏觀經濟意外的敏感度高於小市值股票。

宏觀經濟新聞的意外成分大小會影響股票價格。例如,Aggarwal 和 Schirm(1992)記錄到,小的意外,即在平均值一個標準差以內的意外,比大的意外對股票和外匯市場造成更大的變化。

書里提到的equity上面這些research其實都可以當做trade idea,但怎麼圍繞idea去構建trade還是很需要研究的。

2.3.2.3 固定收益

Jones、Lamont 和 Lumsdaine(1998)研究了就業數據和PPI數據對美國國債的影響。作者發現,在這些數據發佈的當天,債券價格的波動性顯著增加,但這種波動性不會持續到公告日之后,表明這些信息已經迅速被價格吸收。

Hardouvelis(1987)和Edison(1996)指出,就業數據、PPI和CPI會影響債券價格。Krueger(1996)記錄到,美國失業率下降會導致美國國債和短期國庫券的收益率上升。

一些關於債券市場對宏觀經濟公告反應的高頻研究包括Ederington和Lee(1993);Fleming和Remolona(1997、1998、1999);以及Balduzzi、Elton和Green(2001)。Ederington和Lee(1993)以及Fleming和Remolona(1998)顯示,新信息在公告發布后僅兩分鍾內就完全反映在債券價格中。Fleming和Remolona(1999)估算了宏觀經濟公告對整個美國國債收益率曲線的高頻影響。他們研究了10類公告的影響:CPI、耐用品訂單、GDP、房屋開工、失業率、領先指標、非農就業、PPI、零售銷售和貿易平衡。Fleming和Remolona(1999)將宏觀經濟意外定義為實際發佈的數據減去湯森路透的共識預測。

Fleming和Remolona(1999)研究的所有10個宏觀經濟公告都在早上8:30發佈。作者測量了這些新聞發佈對整個收益率曲線從8:30到8:35的影響,記錄到這些公告對收益率的顯著平均變化。例如下表顯示,失業率「意外」增加1%時,三個月期國庫券的收益率平均下降0.9%,置信度為95%;兩年期國債的收益率平均下降1.3%,置信度為99%。而30年期國債的收益率平均下降則沒有統計顯著性。

這張表實際上就是events driven統計套利方法里的beta值和其顯著性,那麼我們可以挑選其中最顯著的instrument和其相應的events,知道了consensus那麼再結合實際announce的數字,就可以測算出surprise和其對某種bond的具體影響,然后arb和市場movement之間的discrepancy。

2.3.2.4 期貨,新興市場,Commodity和REITs

Becker、Finnerty 和 Kopecky(1996),Ederington 和 Lee(1993),以及 Simpson 和 Ramchander(2004)研究了宏觀經濟公告對期貨市場的影響。Becker、Finnerty 和 Kopecky(1996)以及 Simpson 和 Ramchander(2004)記錄到,關於PPI、商品貿易、非農就業和CPI的新聞公告會影響債券期貨的價格。Ederington 和 Lee(1993)發現,利率和外匯期貨在新聞發佈后的第一分鍾內就會進行價格調整。不過,新聞引起的波動性往往會持續接下來的15分鍾。

還有不少作者研究了宏觀經濟新聞對新興經濟體的影響。比如,Andritzky、Bannister 和 Tamirisa(2007)研究了宏觀經濟公告如何影響債券利差。他們發現,美國的新聞對債券利差有重大影響,而本國的公告影響不大。不過,Nikkinen、Omran、Sahlström 和 Äijö(2006)對股票市場進行了類似的分析,發現成熟的股票市場幾乎會立即對美國的宏觀經濟公告做出反應,而新興市場的股市則沒有受到影響。Kandir(2008)估算了宏觀經濟對伊斯坦布爾證券交易所的影響,發現土耳其里拉/USD匯率、土耳其利率和全球市場回報對土耳其股票有顯著影響,而本國的工業生產和貨幣供應等變量影響很小。Muradoglu、Taskin 和 Bigan(2000)發現新興市場受全球宏觀經濟變量的影響,這取決於所研究的新興市場的規模以及該市場與世界經濟的融合程度。

然而,東南亞國家聯盟(ASEAN)國家主要受國內變量的影響。Wongbangpo 和 Sharma(2002)發現,當地的國民生產總值(GNP)、CPI、貨幣供應、利率和基於美元的匯率顯著影響了當地的股票市場。同時,Bailey(1990)發現美國貨幣供應與亞太市場的股票回報之間沒有因果關係。

在商品市場的實證研究中,Gorton 和 Rouwenhorst(2006)記錄到,實際經濟活動和通脹都會影響商品價格。不過,新聞公告的效果有時會有些複雜;高於預期的經濟活動和通脹一般會推高商品價格,但如果伴隨着利率上升,就會對商品估值產生冷卻作用。關於商品價格和利率之間關係的更多細節,可以參考 Bond(1984)、Chambers(1985)和 Frankel(2006)的研究。

房地產投資信託基金(REITs)是比較新穎的公開交易證券,由美國國會在1960年設立。1991年,美國所有REITs的市值約為900萬美元,並在2006年穩步增長到3000億美元。REITs像普通股票一樣交易,但其結構有一些特別之處:REITs的資產中至少有75%必須投資於房地產,並且必須將至少90%的應税收入作為股息支付出去。由於它們有較高的派息比例,REITs對宏觀經濟新聞公告的反應可能與普通股票不同。

Simpson、Ramchander 和 Webb(2007)記錄了通脹對REITs表現的影響。作者發現,當通脹意外下降或意外上升時,REITs的回報都會增加。Bredin、O'Reilly 和 Stevenson(2007)研究了REITs對美國貨幣政策意外變化的反應。作者發現,REITs的反應與普通股票類似——聯邦基金利率的上升會增加REITs價格的波動性,同時壓低REITs的價格。

三、Trading Costs

經典金融理論里面假設是沒有trading cost的,但實際上會有很多各種各樣的costs,並且這些costs會極大的影響高頻交易策略的有效性。

trading cost分成兩部分:

  • Transparent execution cost: 包含了比如券商手續費,交易所fee,税務等等。

  • Implicit execution cost: 包含了bid-ask spread (這個有時候可以很大,特別是流動性不好的instrument);timing risk cost,這個指的是如果execution的時間過長,那麼就需要承受市場against自己的movement的risk;還有market impact,這個接下來會詳細説。

3.1 Market Impact

Market impact指的是下單后導致的市場價格的不利變化,主要是爲了回答了一個問題:「如果交易者進行這筆交易,會對價格產生多大影響?」。

比如散户一筆很小的交易可能還不太需要擔心market impact,但如果像機構或者高頻交易要買賣大量的股票,那麼造成的market impact cost還是特別大的,這樣會使得自己的買賣成本特別高,其實也就會侵蝕自己的利潤空間。實際上Market impact也正迅速成為最主要的交易成本,在股票市場中,根據ITG全球交易成本報告(2010),交易成本總額平均佔成交額的0.476%,其中只有0.089%的交易金額用於佣金,而佔交易總金額的0.387%的交易成本都來自於market impact。這些數據在美國、歐盟、英國和日本的股票市場中是相似的;新興市場的交易成本則更高。

在期貨市場中,market impact和交易成本都較低,但market impact成本依然是主要的:根據Aldridge(2012c)的數據,在Eurex的Eurobund期貨(FGBL)中,market impact佔交易金額的0.020%。在期貨和外匯市場中,機構交易成本通常為每交易100萬美元花費5到10美元,或佔執行交易金額的0.0005%到0.0010%。

我們先看看書里的下圖market impact是怎麼形成的:

圖里展示了在實際交易中,攜帶信息的trade和沒有攜帶信息的trade的對價格的逐步影響。當攜帶信息的trade傳來時,市場價格往往會超出其基本水平,然后這個超出部分會逐漸回落或衰減到其基本水平,但由於攜帶的信息已經price in到了現在的價格里所以依然會高於之前的水平。而如果是不攜帶信息的trade,那麼會逐漸回落到trade到來之前的水平。這個其實就是order對實際價格的market impact。

那麼這個market impact成本怎麼用模型去估計呢?這里我把書里完整的描述粘貼在這兒以供參考,大致就是用各種方式去model這種市場行為:

書里還說了一些其他的modeling方式,但我覺得有些是有問題的所以就不放在這兒了,具體每個機構怎麼去model market impact都是各自的祕密,畢竟market impact也是可以用來trade alpha的,所以這里也不能寫的太細哈哈。這里投行其實是很有edge的,畢竟每天會幫客户做大量的trade,也就有豐富的實際數據來做model,也能最清楚的知道市場的影響會是什麼樣子。書里還寫了其他的一些會影響market impact的factors,並且也都給出了paper的出處,感興趣的盆友可以研究。這一塊兒對高頻交易其實挺重要,因為高頻交易需要在短時間內交易大量的股票,所以產生的market impact肯定不會小,又因為高頻交易本身每次賺的利潤其實並不大,所以一定需要確保利潤可以cover住其產生的market impact,不然就沒有交易的必要了。

這一節最后有一個research的結果還挺有意思,也放在這兒了:

大致意思就是有人做過trade和market impact的自相關性研究,發現trade自身方向之間是強自相關的,buy order的下一個order也是buy的機率是46.2%,如果連續兩個buy order的下一個order是buy的機率是62.5%,如果連續三個buy order的下一個order是buy的機率是69.3%,如果連續四個buy order的下一個order是buy的機率可以高達72.5%。當然這是2009年的research,現在是不是依然成立就得再做做相關的research了。

3.2 Minimizing market impact—Algorithmic trading

上面介紹了market impact的形成,那麼這里再介紹一下怎麼去減小market impact。其實本質上market impact的產生就是因為短期內流動性不足,那麼想要減小market impact自然是尋找能夠增加流動性的辦法,也就是algoritmic trading做的事情了。

書里介紹了兩個方面去減小market impact,一個是venue的選擇,另一個是algo本身。

3.2.1 Venue

這里從venue的選擇開始:

我曾經以為venue還不簡單,直接選價格最好的不就行了,但讀了這本書之后發現好像並不是這麼簡單,因為size and speed matters。

Maximize Execution Speed

快速執行有助於捕捉當前的市場狀況。市價單可以在流動性最強的市場中最快地執行。因此,爲了最大化市價單的執行速度,投資者可以調查各種交易所的可用流動性,並將訂單首先發送到流動性最強的交易所。然而,限價單在流動性最弱的條件下執行得最快。因此,限價單最好在可用限價單最少的市場執行。這里的邏輯是因為limit order需要stack在queue里,而流動性越少的地方queue越短。但我覺得也並不一定,因為流動性差的地方可能也沒有什麼對手方,那麼即使queue很短也不一定就能fill的更快,but anyway書里的説法也可以當做參考。

下圖展示了一個示例,調查多個交易所流動性併爲特定order選擇合適交易所的過程。

在圖里的例子中,有三個交易所:交易所1有2000個shares的買方流動性;交易所2有3000個單位的流動性;交易所3只有500個單位的流動性。

爲了最小化交易足跡,一個下market sell order的交易者會先去交易所2,並在那下一個不超過3000個單位的訂單。下一個等於或小於交易所top level流動性的訂單,確保market order不會或僅會稍微影響市場,從而不留下任何track。在耗盡交易所2的頂部流動性后,market order交易者會轉向下一個最具流動性的交易所:在我們的例子中,這是交易所1,top level買方流動性為2000個單位。交易者然后會在交易所1下一個不超過2000個單位的訂單,接着再去交易所3,利用那里的可用流動性進行交易。

然而,一個想要執行limit buy order的交易者會先在交易所3下一個限價單,因為那個交易所可用的limit buy order總量最少。接下來,交易者會在交易所1下一個limit buy order,該交易所是下一個可用買限價單總量最少的交易所。此時,限價單交易者可能會在交易所2下一個買限價單,因為交易所2目前是買限價單最具競爭力的交易所。

選擇交易所的基本原理是:在limit order最少的地方下limit order,在limit order最多的地方下market order。這樣的過程確保了訂單有最高的快速執行概率。這個過程被稱為最小影響算法。

Maximize Trading Size

對於在策略中投入大量資本的投資者來説,處理大交易量的能力至關重要。例如,一個大型養老金基金需要能夠買賣大量證券而不產生太多額外成本,以成功重新分配養老金基金的頭寸。爲了最大化交易規模,大型交易者可能會在處理每個訂單時結合使用market order和limit order。具體來説,一個想要執行大額買單的交易者可能會先通過連續調查市場上的可用最佳賣出量,依次用market buy order耗盡所有可用的市場top sell side的流動性,從最具流動性的市場開始,依次下與最佳賣出流動性匹配或較小的market buy order。隨后,交易者可能會轉向limit order,通過在所有交易所下best limit buy order來增加買方流動性,從最不具流動性的交易所開始,並在增加買方流動性的方向上輪換交易所。下圖展示了這種方式:

3.2.2 Algorithms

除了選擇venue外,利用algorithms也是降低execution cost很重要的一個部分,甚至應該是最重要的一個部分,本質上就是不同的方式把大的order切成小的order。

將大訂單切分開來非常必要,Chan和Lakonishok(1995)的研究表明,如果一個典型的機構交易量一次性全部執行,那麼它將佔到每日交易量的約60%,這使得同時執行該訂單既昂貴又困難,甚至不可能。於是,這些較小的「子訂單」會在一定時間段內一片一片地執行。根據Gatheral、Schied和Slynko(2012)的説法,算法執行可以分為三個不同的layers,我覺得總結的還不錯,如下圖所示:

這里三層其實每一層都很值得研究,也都是可以優化的對象,也有很多的學術paper研究。algo其實是一個很綜合的系統,任何一環表現不好都會影響整體algo的表現。

大家可能都耳熟能詳的algo strategy有TWAP和VWAP,下面也把書里這兩種algo strategy的介紹放在這里。

TWAP

TWAP是最簡單的一個algo strategy,是通過將大訂單拆分成等大小的部分,並在等間隔的時間內發送,來隱藏訂單流。數學上講,TWAP每個預定時間單位執行訂單的固定部分1/T。結果得出的TWAP價格是按常規時間間隔採樣價格的算術平均數。

TWAP算法如上圖所示。當交易者選擇使用TWAP執行一個大小為S的大訂單時,交易者還需要決定要執行的子訂單或切片的總數N和總執行時間T。接下來,每隔T/N秒就向市場發送一個大小為S/N的訂單切片,直到處理完大小為S的整個訂單。子訂單的總數量N和執行時間T最好根據所交易證券的特定特徵來確定。這些特徵可能包括交易日內成交量的歷史變化、執行開始時的市場深度,以及其他一系列變量。總體目標是選擇足夠小的切片,使每個子訂單不會顯著移動市場,同時切片又足夠大或頻繁,使整個大訂單能在合理的時間T內完成執行。最終的TWAP訂單流如下圖所示,每個子訂單用箭頭表示。

VWAP

VWAP算法目前是最流行的執行方法之一。VWAP的原理很簡單:把大訂單拆分成小訂單,當交易量高時,VWAP子訂單較大;當交易量低時,子訂單較小。高交易量通常會提供更多的匹配訂單池,導致更快、更經濟的執行。其實也就是在流動性多的時候多trade一點,流動性少的時候少trade一點來降低market impact,這個做法也是有理論基礎的,VWAP算法理論上會converge到VWAP price,感興趣的朋友可以去找paper來看。

除了TWAP和VWAP之外,還有其他很多algo算法和其衍生算法,詳情可以看《algorithmic trading & DMA》這本書,也是我的職業入門書籍強推。

書里這一章節還有一個research也很有意思,那就是反過來利用傅里葉變換reverse-engineering來detect被切成小單的大單。之前還沒想過還有這種操作,看來以后做algo的時候得非常小心了,至少得摻點randomness之類的。交易市場就像是一個黑暗森林,每個獵人本身也是別人的獵物,都在儘可能的隱藏自己的身影防止被人抓住。作者一方面教人怎麼用algo的strategies,另一方面又反過來利用這一點,屬於是老奸巨猾了。

因為這些TWAP,VWAP策略發送訂單的規律性,它們的子訂單用一些簡單的工具(比如自相關)和高級工具(比如傅里葉分析)都能輕松地識別出來。

以TWAP為例,任何熟悉數字信號處理基礎知識的人都能輕松看穿它的訂單流,TWAP包含了等間隔發送的相同大小的訂單。要在tick數據流中檢測市場上的TWAP訂單,你需要:

根據前面章節介紹的方法,把所有最近的市場交易tick數據標記為買入或賣出。

根據交易量,把所有買入tick分成不同的buckets;賣出tick也同樣處理。

在每個bucket內,識別出在相同時間間隔發生的交易。

這個過程可以實時連續重複,從而讓系統預測下一個TWAP訂單的時間和大小,進而消除TWAP訂單的原始目的。

VWAP看起來可能更安全,因為交易的大小不是統一的,因為VWAP交易是根據前一天的特定交易量或波動率來調整的,或者是前一周或一個月的平均值。雖然這樣的調整看起來可以防止VWAP訂單流被reverse-engineering,但實際上,VWAP流可能和TWAP一樣透明。

要了解VWAP安全性的侷限性,看看下圖中顯示的股票VWAP過程。將觀察到的所有交易tick按照與VWAP生成過程相同的調整交易量或波動率函數進行反調整,會將VWAP轉化為TWAP,從而使得訂單流的識別像TWAP一樣容易。

不同交易者使用的VWAP調整函數可能會因為平均交易量或波動率所用的天數,以及計算日內平均值的時間條寬度不同而有所不同。即便如此,多次使用不同的預計算調整函數重複整個訂單流的反調整分析,仍然可以識別出使用特定調整函數發送的訂單。

四、工作感受

從工作上來説,quant的工作和做學術還是挺像的,都是做research那一套流程:先羣覽paper或者書對這一領域有一定的瞭解,然后讀多了之后就會產生了一些idea,接着就是做實驗或者數據分析來驗證這些idea的可行性,這些idea可以是創造某種東西也可以是改進某些東西,當然和做科研一樣大部分也還是對現有的理論修修補補,如果idea可以work那麼就開始用在實際的production工作里,如果發現不work那麼就繼續分析一下為什麼,也許又會發現其他的ideas,實在不work的話那麼也許一開始的research方向就錯了,英雄可以從頭來過。這個角度來説PhD們確實挺適合做quant,research的流程都大差不差,只是內容上面從理工科知識換成了金融知識,所以博士讀抑郁了想要轉行的朋友也可以考慮quant這個方向,無論科研畢業還是找工作千萬不要想不開,都是人生必經的過程。

也有很多朋友問過我金融是不是比物理簡單很多,我都回答並不是這樣,我反而覺得金融市場更難。物理建模的是世界一成不變的運行,只要時間夠長人類一定能找到那個萬物定理;而金融建模的是人的運行,是一個時時刻刻在變化的東西。金融市場加入了很多人為的randomness和noise所以建模會更加困難,但同時驗證也會更加快速,證明有用的東西馬上就可以在實際production里用上看看效果,而學術的話從發paper到實際應用其實還是有非常長的時間(比如高能物理的應用我覺得應該得等一百年吧…)。所以金融市場變化的特別快,以前成立的東西現在不一定還成立,因為底層邏輯已經變了,不像物理定律過了千萬年還是一樣的,一個標點符號都不會變。

從我的人生經驗來説,其實還是挺推薦畢業第一份工作在賣方投行做的(越front desk越好,因為越貼近金融市場,當然也越賺錢),因為投行平臺大所以可以接觸到金融市場各種各樣的知識,也可以和不同desk的人打交(喝)道(酒)瞭解到具體每個部門都具體在做什麼,還有知道他們賺的是什麼錢和他們面對的constrains是什麼。這可以讓自己對金融市場整個生態系統有一個大概的sense,知道市場里有哪些players他們又分別是在做些什麼和他們為什麼這麼做。理論上如果你知道市場上每個人都在做些什麼和為什麼做,你就知道了市場是怎麼在move和為什麼這麼move(但金融市場實際更像布朗運動,大部分都是隨機過程而不是確定性的path)。

歸根結底,你要知道自己是賺的誰的錢,和為什麼可以賺到錢,不然一旦市場情況變了,那麼自己一旦賺不到錢了還不知道為什麼,不知道自己面對的risk纔是最危險的。二是在大賣方還可以鍛鍊一下自己和他人打交道social的能力,畢竟PhD階段每天都見不到幾個人,科研久了人很容易變木了脱離社會生活,而金融這一行其實很多信息和機會都是私下交流出來的,所以與人打交道還是很重要的一環,而且在賣方認識的朋友也會比較多,這對開闊眼界(到處浪)和未來的職業發展也挺有幫助。選擇工作氛圍好的公司和具體的組也很重要的,我比較幸運從一開始就加入了一個工作環境很chill的組,同事都非常supportive,從來沒有什麼勾引鬥角之類的,這點也是比較感恩的。

當然最近幾年經濟不好,金融行業也首當其衝,各種裁員降薪凍結headcount,讓每個人都感受到了寒意,所以現在想要進入這一行的盆友們還是需要三思,不過如果是真的對金融感興趣的那我覺得還是可以無腦衝,至少工作起來有激情。

感覺金融行業最大的優點就是和生活息息相關,一直會有新的東西出現而不會覺得無聊。就像段子里面調侃的,雖然沒賺什麼錢,但亂七八糟的知識學了一大堆,其實也not bad。人生不過一場one way旅途,做人吶還是開心最重要,也希望大家讀完這篇文章也學到了一些無用但可以用來吹牛逼的知識。

附錄

相關推薦書籍:

1、《HIGH FREQUENCY TRADING: A Practical Guide to Algorithmic Strategies and Trading Systems》- Irene Aldridge

2、《All About HIGH-FREQUENCY TRADING》- Michael Durbin

3、《Algorithmic trading & DMA》- Barry Johnson

4、《Algorithmic Trading and Quantitative Strategies》- Maxence Hardy

5、《Algorithmic Trading》- Jeffrey M.Bacidore

6、《Machine Learning for Algorithmic Trading》- Stefan Jansen

7、《Trading & Exchanges》- Larry Harris

8、《Quantitative Trading》《Algorithmic TRADING》- Ernest P.Chan

風險及免責提示:以上內容僅代表作者的個人立場和觀點,不代表華盛的任何立場,華盛亦無法證實上述內容的真實性、準確性和原創性。投資者在做出任何投資決定前,應結合自身情況,考慮投資產品的風險。必要時,請諮詢專業投資顧問的意見。華盛不提供任何投資建議,對此亦不做任何承諾和保證。