//

        歷史上最早使用演算法交易的例子可以追溯到1949年。對沖基金之父阿爾弗雷德·瓊斯,利用空對多3:7的比例進行配對交易,在1955年到1964年間,綜合回報率高達28%。到了上世紀60年代早期,投資者開始利用電腦通過分析股票的周線和月線來預測價格運 動方向。

  配對交易逐漸成熟,發展成後來的演算法交易。隨後演算法交易策略慢慢在華爾街流傳開來並被廣泛使用,同時也帶來了非常可觀的盈利。原來在摩根士丹利從事配對交易的研究員,後來逐漸成為如大衛·肖、詹姆斯·西蒙斯這類明星基金經理手下的精英,演算法交易的“黑盒子”便由此誕生。

  隨著電腦的廣泛普及,華爾街各大交易平臺都開始執行演算法交易,對IT技術人員的需求不斷攀升。各種數量化研究人才進入到華爾街工作,改變了交易大廳傳統的交易習慣,公開喊價的交易員逐漸被演算法交易員所取代,演算法交易也從此在華爾街開始蓬勃發展。現在,無論是股票、商品、期貨以及外匯市場,演算法交易已成為市場中不可或缺的組成部分。

  據花旗集團的報告顯示,超過50%的股票交易都是通過演算法進行自動交易的。而其他銀行的報告指出這一數字甚至達到75%。市場之所以青睞演算法交易,其原因在於其能夠快速有效地降低交易成本,控制市場衝擊成本和具有較高的執行概率。除此之外,它還能提供隱藏交易意圖等傳統交易方法不具有的交易方式。

  衝擊驅動型演算法交易:降低對價格的影響

  衝擊驅動型演算法是由簡單的指令分割策略演化而來的。通過將大訂單分拆成小訂單進行發送,試圖降低交易對資產價格的影響,達到最小化市場衝擊成本的目的。

  基於平均價格的演算法,代表了第一代衝擊驅動型演算法。這些演算法都是由帶有預設目標的演算法演化而來的,對價格或成交量等條件無敏感性。它們通常按預定的步驟被執行,在給定的時間內不管市場條件如何,只是單純執行預先設置的指令。

  為了使交易演算法更加靈活和適應市場環境,可以對這些靜態方法進行改進,或更多地採用動態演算法。這就導致了演算法逐漸向機會導向演算法傾斜。參與率演算法(POV)建立在真實市場成交量上而不是依賴靜態模型而形成交易進度,隨後逐漸演化成為採用更隱藏的路徑以達到零市場衝擊的最小衝擊演算法。

  時間加權平均價格(TWAP)是一種基於時間變化的加權平均價格,被稱為TWAP演算法,其僅以時間分割為基礎,考慮指令的設置或指令的執行,而不受市場價格或成交量等其他方面因素的影響。用這種方法執行一系列指令,其平均執行價格就是各執行時間點市場交易價格的加權平均。

  相對於TWAP策略而言,成交量加權平均價格(VWAP)交易策略是指交易者利用市場成交量來試圖實現使平均執行價格等於VWAP基準價格的執行策略。它是最常用的交易策略之一,具有簡單易操作等特點,基本思想就是讓演算法的成交量提交比例與市場成交量比例盡可能匹配,在減少對市場衝擊的同時,獲得市場成交加權的平均交易價格。因此,VWAP策略一般不直接對交易的衝擊成本建模,而是注重日內成交量分佈的預測。值得注意的是,如果訂單量很大,VWAP策略的衝擊成本仍不可忽略。

  參與率演算法是一種與市場成交量同步的演算法,有時它們也被稱為目標成交量演算法或跟隨演算法。與VWAP演算法一樣,參與率演算法的表現取決於它們所採用的追蹤目標成交量的技術,並且重點目標都是為了最小化市場衝擊。

  在實踐中,參與率演算法可能會考慮其他的因素,比如流動性等來幫助選擇最優的交易時機。

  一些參與率演算法 會包含成交量預測功能。一般來說,這些方法是建立在對歷史成交量分佈、當前觀測到的成交量和數量分析綜合考慮基礎之上的。另外,也有其他參與率演算法允許控制演算法追蹤目標參與率的進度,甚至可以顯示演算法能夠提前或之後目標參與率的程度。

  因此可以加快演算法的執行度,留下交易的餘地,從而避免出現滯後。事實上,這成為目標參與率的一個傾斜機制。對於那些允許對參與率做出更多動態調整的演算法來說,還需要附加變數來確定基準和確定參與率如何根據基準或變數來變化的。

  由於參與率演算法不會對價格產生依賴性,因此必須對其設定嚴格的價格限制。參與率演算法是追蹤所有的成交量,但是,一旦應用了限價指令,它必須忽略掉所有超出這個限制的交易,否則每次當價格回落到限制之內時演算法的表現就會差強人意。

  成本驅動型演算法交易:降低總體交易成本

  成本驅動型演算法的主要目的是降低總體交易成本,除了傭金和價差之外,衝擊成本和時機風險等隱性成本都是成本的重要組成部分。雖然將大訂單進行分割並將其分散到相當長的一段時間內進行交易可以最小化市場衝擊,然而這樣做會把訂單暴露在更大的時機風險下,對波動性大的資產尤其如此。因此,成本驅動型演算法也需要同時降低時機成本。

  過於主動的交易會導致相當大的市場衝擊,而過於被動的交易會引起時機風險。為了最小化總的交易成本,我們需要在衝擊成本和時機風險這兩者之間尋找一個平衡點。為了找到這樣一個平衡點需要考慮到投資者的風險厭惡程度。

  早期的成本驅動型演算法是由衝擊驅動演算法吸收了時機風險等要素演化而來的,現在成本驅動型演算法越來越多地使用複雜市場模型,去預測潛在的交易成本和決定指令的最優交易策略。

  執行落差演算法代表了純粹的成本驅動型演算法。它試圖最小化平均交易價格和反映投資者決定價格的分配基準之間的落差。適應性落差演算法是執行落差的一個機會導向型的版本,一般來說對價格更加敏感。

  執行落差指投資者決定交易的價格與實際實現的平均執行價格之間的差額。投資者決定的價格相當於演算法的參考基準,一般用指令到達交易商時的中間價格作為替代。而執行落差演算法的目的是實現一個能夠最小化缺口的平均執行價格。實現這類演算法的關鍵就是在市場影響和時機風險這兩者之間尋找一個平衡點。通常這意味著演算法只能在不產生顯著市場衝擊的時間範圍內執行。

  由於實現這個目的的過程很複雜,於是許多情況下人們選擇利用更簡單的演算法去實現。這些演算法中有一部分實際上是成交量加權平均價格演算法或參與率演算法的增強版。它們使用成本模型去決定最優交易週期,這個交易週期應該包含由模型決定的結束時間或最優參與率。

  適應性落差是從執行缺口演算法中演化而來的新演算法。該演算法所具有的適應性特點主要體現在對市場價格的適應或反應。價格適應性落差演算法實際上是一種更加傾向於機會導向的演算法。

  一個主動實值(AIM)策略是指當價格有利時交易更加主動,而當價格變得不利時交易變得被動。對於一個買入指令,有利的價格條件等價於市場價格下降到基準價格以下;而對於賣出指令情況則是相反。因此只有當市場價格顯著下降到基準價格以下,主動實值策略的交易率才會上升。

  而被動實值策略(PIM)則是相反的,且當價格有利時它會變得更加被動,而當價格不利時它會變得更加主動。因此,交易率只有當市場價格顯著地高於基準時,才會上升。

  收盤價格通常用作盯市,以便計算每日的資產淨值和盈虧狀況。因此不少機構會把收市價作為一個參考基準。一般來說,在收市前進行交易會增加交易成本,而且交易價格對於指令會變得更加敏感。同時,流動性溢價在收市前也會更明顯。

  收盤演算法(MOC)的主要問題在於,其基準只有在市場收盤價格確定下來後才能得知。所以,該演算法並不能把交易日內的交易進行平均,然後把訂單進行簡單切割去匹配基準。若執行交易的時間較早,收盤價的波動性會給交易者帶來時機風險;若交易時間較晚,則會對市場產生較大的衝擊。

  機會導向型演算法交易:利用有利的市場條件

  機會導向型演算法是從一系列交易演算法中演化而來的,其本質都是利用有利的市場條件,包括價格、流動性或其他因素。其中盯住價格演算法是以成交量加權平均價格演算法、參與率演算法等策略為基礎,與它們所不同的是添加了對價格的敏感指標,並且能夠基於當前市場價格是否有利來修正演算法的交易風格。因此許多看重市場衝擊成本的演算法都會更多採用機會導向型策略。

  對於每一類機會導向演算法,價格都是一個重要的變數。目標基準提供了一個允許演算法去判斷市場條件是否有利的基準線。由於具有動態性特徵,機會導向型演算法比其他類型的演算法能更精確地執行目標策略。

  盯住價格演算法是把交易與市場價格聯繫在一起的方式,與參與率演算法根據市場成交量進行調整的方式類似,先定義一個基準價格,然後用市場價格與其比較的結果調整成交量。如果事先沒有設定基準價格,那麼通常就會使用指令下達時的中間價格。所以,對於買入而言,低於基準價格即為有利的買入價格;對於賣出而言,高於基準價格即為有利的賣出價格。

  盯住價格演算法包括一個基本的交易機制,同時附加價格調整的功能。因此,它可以建立在靜態成交量加權平均價格演算法或更動態的成交量百分比方法的基礎上,實際的價格調整策略可以直接追蹤市場價格和其基準的差異,或者包含其他的變數。




外匯天眼

** 博客文章文責自負,不代表本公司立場 **