算法和高頻交易(Algorithmic and High-Frequency Trading(Álvaro Cartea & Sebastian Jaimungal &José Penalva)
"高頻交易"(High-Frequency Trading, HFT) 是個奇特領域,它雖是金融交易的一小部分,但現實面純商學院畢業者鮮有人涉入,主因是看不懂,主流描繪方式是用數學語言,缺少通俗化用語在大眾間傳播,只有商管學院基本程度的微積分與統計學在這領域是不夠用的,學校裡也只有提供給專門的研究生課程才有機會接觸,國內出版目前完全沒有這個主題的中文書寫."算法與高頻交易"是個簡中譯本,書籍實際雖只涉及這領域的某一部分主題,但或者能對此領域有興趣者提供某種理解的開端.
高頻交易 (是一種利用極致的硬體速度與精密演算法,在微秒(百萬分之一秒,μs)等級內執行大量訂單的交易形式.它與一般交易最大的不同在於,一般交易者關注的是資產的"趨勢"與"基本面",試圖預測未來的漲跌.而高頻交易者則是在尋找市場的"微觀失衡"與"機率優勢".對高頻交易而言,利潤並不是來自長期持有的價差,而是來自於"極高勝率,極小利潤,極多次數"的累積. 這種交易模式的主要參與者經常是擁有強大技術儲備的專業機構,如造市商 (Market Makers))與量化避險基金.而他們之所採用高頻交易主要基於三種理由.第一個理由是賺取極短瞬間買賣之間的價差.交易者透過同時掛出買單與賣單,為市場提供流動性並以此獲利.第二個理由則是藉由延遲套利 (Latency Arbitrage)來取利.這種套利是利用不同交易所間微小的價格更新時差,搶先捕捉失效的報價.第三個理由則是為了優化交易(Execution Optimization).大型機構將巨量訂單拆解成無數小單,藉以隱藏交易企圖,利用背景雜訊的遮蔽以減少市場衝擊成本.所以本質上,高頻交易是將交易行為從"投資行為"轉化為一種"技術競賽"與"數據統計工程",它也有一種隱藏的假設,就是效率假說在極短的時間內可能不存在,而高頻交易就是利用這種瞬間失衡後又瞬間復原的間隙中取利.
花許多時間讀這本書,一個重要又基本心得是要順讀這本書,不能只靠"盤感",它需要一套橫跨數學,金融微觀結構與控制理論的複合知識體系.然後,若之後能將這些數學語言換成通俗理解的方式來說明,大概就能說明能此領域有一個入門的理解.個人以為想讀這本書必備的四項基本知識條件.1.線性代數,矩陣運算 (Linear Algebra).它是處理"狀態轉移"的基礎.至少要能懂理解矩陣的乘法,轉置,以及"特徵值與特徵向量".書中第 12 章提到的馬可夫轉移矩陣,本質上就是線性代數的應用,如果不理解矩陣如何描述系統狀態的演化,就無法看透限價單價格不平衡(Order Book Imbalance)如何驅動下一個價格跳動.2.隨機過程與機率論 (Stochastic Processes).這是這本書的"靈魂語言",這屬於金融數學領域的部分,起碼需要理解波桑過程 (Poisson Process),馬可夫鏈 (Markov Chains)以及布朗運動 (Brownian Motion).因為在高頻交易世界中,成交不是連續的,而是點狀發生的,把它看成是一個計數過程.所以必須理解 λ(強度/到達率)的數學意義,才能計算出"預期成交時間".3.市場微觀結構理論 (Market Microstructure)這是數學模型要解決的"物理現場",這門微觀結構理論可以寫一整本書,市面上有許多談這個主題的原文書,它讓我們能深入理解 LOB (限價單簿 Limit Order Book) 的運作,買賣價差 (Bid-Ask Spread)的成因,訂單流毒性(Order Flow Toxicity)以及市場價格衝擊 (Market Impact),如果不懂 LOB,書中的變數如 δ(delta,掛單距離)或 (價差z)只是枯燥的字母.4.隨機控制與最優化理論 (Stochastic Control & Optimization)這是全書最硬核的"大腦".基本要求是數量方法或作業研究中所習得的動態規劃 (Dynamic Programming) 的建模邏輯.這本書使用一個特別的 HJB (Hamilton-Jacobi-Bellman) 方程,或許沒學過,但理解動態規劃建模後,就知道這個HJB方程存在的目的是求一個"最優解".如果具備管理科學中"資源最優化"的概念,會發現這些複雜的微分方程其實只是在算在當下的剩餘時間與風險下,如何做出最划算的決定.但是若是純商學院背景,優勢可能在於"直覺",可以先跳過繁瑣的微分方程證明,專注於理解模型中變數的"物理與實作意義".
高頻交易其實並不是一種單一的策略交易,而是一系列根據市場微觀環境,硬體優勢與數學建模所構建的博弈體系.從實務路徑與獲利邏輯來看,主要可區分為以下幾種核心模式. 首先是"造市模式 "(Market Making).這是目前高頻領域最主流的路徑,運作方式是同時在限價單簿(LOB)的兩端掛出委託單,依賴對"中間價"的精確估算以及對庫存風險的動態控制,從中獲利.造市者並不預測方向,而是透過提供流動性來賺取買賣價差.在設計上,系統會根據當下的訂單流強度,微秒級地調整報價深度,以確保在成交的同時不會累積過高的庫存壓力.其次是"套利模式 "(Arbitrage).這類模式對交易速度有著近乎偏執的要求,路徑上可分為跨市場套利(比如台指期與摩台指,或是期貨與權值現貨間的價差,就是相關性高,價格連動高的兩種商品)與延遲套利,延遲套利的核心在於偵測'領先—落後"關係,當領先指標發生跳動,系統必須在落後市場尚未更新報價前,搶先掃清所有失效的掛單.這類模式的路徑極度依賴物理距離與硬體加速(如 FPGA),是純粹的速度競賽.最後則是"結構偵測與執行模式" (Structural & Execution Algos).它是透過監控訂單流的"毒性"與"不平衡度"來識別大單(如冰山單)的行蹤,然後從中取利.當程式或硬體偵測到市場存在尚未消化的巨大清算需求時,高頻系統會先行卡位,此外這種方式也包含大額交易者的拆單執行路徑,將巨量庫存拆解成無數小單的策略,目的是在最短時間內完成清算且不引發價格崩潰.以上三類模式在路徑上的交織,構成了現代市場最底層的動態風景,無論是造市者的守株待兔,還是套利者的主動出擊,背後的共同語言都是對"訂單流"細微變化的極速響應.
雖然所有參與者都在爭奪毫秒間的機會,但以上各種策略方式背後的思維邏輯與操作重心理論卻大相徑庭.首先"造市模式 "的重心在於庫存管理與逆向選擇風險 (Adverse Selection).造市者的目標非常純粹,就是賺取買賣價差(Spread).為了達成此目標,他們必須像水果商一樣,不斷報出買價與賣價.然而造市者最怕遇到"知情交易者",就是那些手中握有尚未公開之利多或利空消息的人,因為這會導致他們在錯誤的價格接下一堆庫存.所以造市者的方式是利用隨機控制模型,根據當前庫存量動態調整報價位移(Skewing),如果手頭多單太多,便會調低賣價以誘使他人買走. 而"套利模式" 則將重心完全放在延遲 (Latency) 與確定性上.套利目標是捕捉市場間暫時性的定價錯誤,賺取幾乎無風險的利潤,但是這種作方式高度依賴物理設施,如交易所主機代管(Co-location),物理環境優勢者會瞬間掃空現貨報價簿上尚未撤除的舊單,因此這是一場"全贏或全輸"的遊戲,比對手快一微秒就是獲利,慢一微秒則是徒勞."訂單流偵測"(Order Flow Trading)的重心在於判別訂單流毒性 (Toxic Flow),目標是識別出市場力量的失衡點,並先於趨勢啟動前卡位.實作上,這類系統會監控"撤單率"與"訂單不平衡度"(OFI),如果發現某個價格水位雖然掛單厚實,但撤單頻率極高且買方攻擊力 λ強度 持續上升,那模型就會判斷此為"虛假阻力",進而採取突破策略."執行策略" (Optimal Execution)則是大型交易商的重心,執行關鍵在於最小化市場衝擊成本 (Market Impact),目標是在指定的時間內,將大額庫存清算完畢,且不引起價格劇烈震盪.其實作方式是將大單拆解成碎形狀的小單,並動態計算交易速率.模型會不斷在"主動撞單"(MO,市價單)以確保進度,與"被動掛單"(LO,限價單以節省成本之間,尋求一個數學上的最優平衡點,以上 這四種執行方式相輔相成,造市者提供流動性,套利者負責修正價格,偵測者與執行者則在買賣力量的消長中,尋找最有效率的成交路徑.
這個主題在我國過去屬於冷門領域,大約是次貸風暴之後才逐漸躍入人們眼簾,且多數只是屬於學界的研究.我透過對我國博碩士論文系統以"高頻交易"為關鍵字進行檢索,目前約可整理出 43篇直接相關的學術論著.若將這些研究依據前述模式進行分類,可以發現"交易策略與執行優化"約佔 18 篇,"微觀結構與 LOB 分析"約 12篇,而探討"市場衝擊與財務實證"則有 8 篇,剩餘則為"硬體加速技術"相關研究.回顧這項知識在台灣學術領域的發展,短短歷史演進過程可約略分為三個重要階段.第一階段主要研究重心放在制度觀察與風險評估上. 約在2010-2014左右,此時期的研究重心在於"高頻交易對市場穩定性的影響",受2010年美國閃崩事件(lash Crash)啟發,國內開始有人利用"分資料"或"日資料"探討高頻交易與市場波動率,流動性的關聯,但這時期的論文多屬於傳統財務實證範疇,關心的是高頻交易者身為"造市商"是否在危機發生時抽走流動性.而非研究其內部的演算法邏輯.第二階段則自2014-2018左右,是策略開發與演算法轉型期.隨著 2014年權證市場改為"逐筆撮合",學術界的研究動能發生質變.論文主題開始大量出現關於 VWAP,TWAP 等拆單策略的優化,以及跨市場套利機會的偵測.研究者開始意識到傳統的線性回歸已不足以描述毫秒級的價格變動,隨機過程與計算金融的觀念開始被引入財務領域.第三階段則自2020年迄今,開示進入微觀實相與隨機控制觀察期. 2020年3 月台股全面實施逐筆撮合 (Continuous Trading),這可以說是台灣高頻研究的分水嶺.學術界正式進入深水區,研究重心轉向"限價單簿 (LOB) 的動態演化"與"訂單流毒性偵測".這時期的研究者開始運用如馬可夫狀態轉移模型,隨機控制理論等高難度工具,試圖解構掛單與撤單背後的資訊含量.綜觀這段歷史,台灣的研究脈絡已從最初的"批判與觀察",演進到如今的"建模與優化".這反映出國內某些人已體認到,在逐筆撮合的實務環境下,透過隨機控制與微觀結構的結合,能真正觸及市場運作的靈魂.
繁體書市中,關於"交易"的書籍雖汗牛充棟,但大多停留在心理建設或簡易的技術指標分析,基本上完全沒有有深入探討高頻領域的通俗讀物.目前尋得的這本簡體譯本"算法與高頻交易"雖冠以"高頻交易"之名,但其內容深度主要集中在以清算或建立一定庫存數量的交易模式與思考上,並不涉及關於高頻交易硬體,與資訊傳輸速度流差異的那類領域.而是將整個市場的運作建立在"隨機控" (Stochastic Control)"的理論架構上.在高頻的世界裡,價格不再是平滑的曲線,而是由無數離散,隨機且高頻發生的訂單事件所組成的"雜訊",當交易頻率進入毫秒等級,傳統的均值回歸或趨勢追隨模型已失去解釋力.這本書的主體特性在於它假設市場的一切變數無論是價格的跳動,成交的頻率λ,還是限價單簿(LOB)上的價格不平衡,皆服從某種隨機過程, 因此這本書的本質是一套"動態優化決策系統,它透過利用隨機分析工具,試圖在不斷變動的機率場中,尋找一個"最優解".例如當你身為造市商時,應如何根據隨機波動的庫存壓力,動態調整下一微秒的報價?或是當你身為交易員時,如何在隨機到達的訂單流中,找到最不衝擊價格的清算速率? 這意味著雖然書名帶有"算法",但它也像是一本"金融物理學",將市場參與者的掛單,撤單,成交視為一種對隨機系統的"控制輸入",這也是為什麼這本書中充斥著繁瑣的隨機微分方程,因為那是描述這個紛亂,隨機且瞬息萬變市場的唯一語言.
一場嚴密的數學推導與交易行動的深度耦合是這本書與高頻交易研究領域的特點,它將市場微觀數據(LOB)視為輸入訊號,透過隨機分析的過濾,最終形成一個具體的交易指令.核心目標在於能基於價值函數,機率分布與邊界條件的限制,規劃出當下最理性的交易動作.而這些數學化語言經過與現實的結合,也能創造出交易者對於"盤面語言的量化解構能力".例如當我們看到五檔掛單突然失衡,這不再只是視覺上的變化,而是知道模型中MO變數的擾動,預示著下一刻價格位移的機率提高.這種從看盤"感覺"提升到"模型判斷"的跨越,可以說是給予看盤某種新的意義.但是閱讀本書最大的障礙,莫過於大量疊加在金融術語上的隨機微分方程 (SDE),偏微分方程(PDE),動態規劃(DPE) ,特別是這本書引入的 Hamilton-Jacobi-Bellman (HJB) 方程.對於大多數具備商學院背景的人來說,看到這些符號往往會產生強烈的挫折感,甚至覺得這只是純數學遊戲,但實際上這是華爾街財工交易的核心,若想攻克它,建議使用"三層過濾"法.第一層:物理直覺.先忽略積分符號,直接看公式中的變數代表什麼,想到實務上代表的變化意義與解釋即可.第二層:因果關係.思考模型為什麼要加這個參數?這條限制式?是為了應對"毒流"?還是為了趕在收盤前"出清庫存"?理解了條件設立目標,數學就只是達成目標的邏輯鏈條.第三層:數值模擬.不要試圖手算證明,而是去理解模型算出來的"控制圖形".當你看到庫存越多,報價越往另一邊偏移的圖形時,這就是你實務上看盤時應該調整的掛單邏輯.總結來說閱讀本書不應執著於"解方程",而應專注於理解模型如何處理"擴散"(波動),"計數"(成交)與"停止"(結算)等現象.當然若完全能讀懂,甚至自行推導,或者為自己建模提供思路,那不也是個人的一大突破,當然理解數學並不似口說這樣容易,所幸現代人很幸運,Youtube上有許多相關數學課程的教學影片,不用去補習便能習得,怕的是缺乏耐心而已.
這本書的架構是一條由淺入深的"建模之路",它將一個交易員從觀察市場,學習工具到制定決策的過程,嚴謹的拆解為三大組成部分.第一部分:微觀基礎.LOB 的物理實相與常識建立 .這部分讓我們建立對"限價單簿(LOB)"運作的直觀物理認知,這是本書一切數學模型的基礎. 這部分的重心在於定義交易發生的現場,讀者在這裡需要學習的不是公式,而是"規則",這包括買賣價差(Spread)的形成,訂單的類型(限價單或市價單),以及流動性的消耗與補充.從隨機控制的角度看,這部分是在定義"邊界條件"與"狀態變數",讀者必須理解所有的價格跳動都是由 LOB 上的買賣單交互作用產生的,藉由LOB數據計算建立的觀察值,如"訂單不平衡"與"撤單率",都將成為後續模型中決定系統演化的關鍵參數. 第二部分:數學語言與決策目標的引入 .將LOB上的項目化為假設變數,引進數學模式裡,透過理解數學模型知曉如何捕捉市場的"不確定",並確立"什麼才是好的交易", 這部分的重點不在於解開複雜的積分,而在於介紹如何用數學描述交易者的心態與市場的波動.例如引入Merton問題的框架,目的並不是要讀者去算資產配置,而是要介紹"效用函數"(Utility Function)與"風險厭惡"的概念.數學工具的引入是為了求得兩個答案,一個是追求價值的衡量: 如何定義一個狀態的"含金量"?這涉及了價值函數 (Value Function) 的建立.另一個是追求變化的動能:市場如何隨時間演化?這引入了隨機過程(擴散與計數過程).這些工具在第三部分會被整合進動態規劃方程式 (DPE).讀者應將這數學部分視為"武器庫",理解每一種數學模式是為了對應哪一種市場現象,不用死記硬套. 第三部分:利用動態規劃與實戰決策的終極解答 閱讀目標.理解在不同交易目標下,如何求得最優的"交易速率"與"報價深度"(報價深度的白話用語 就是你要把價位掛在哪個位置的意思),這是本書最硬核,也是最有價值的核心.從第 6 章到第 12 章的每一章,本質上都是在解開一個"管理科學中的動態規劃問題",這是本書的絕對核心,只不過這些動態規劃函數的條件式中有服從隨機微分方程(SPE)的部分,所以才需要讀者理解SPE.這些模型建立在 Hamilton-Jacobi-Bellman (HJB) 相關的價值函數,邊界條件與現值條件所構成的模式下,這些模型旨在解開以下三大核心動作的時機與程度.第一個動作是觀察"擴散" (Diffusion),這意思是指當價格像煙霧一樣隨機飄散時,我該如何調整我的預期.第二個動作理解"計數" (Counting).這意思是當成交一筆一筆發生(點狀事件,也就是所謂得poisson過程)時,我的庫存風險(手中的持股或金融商品面對的風險)如何變化?第三個動作則是關於"停止" (Stopping),這意思是指決定什麼時候是清空庫存,終止策略的最佳時機(包括價位與動能的觀察).這部分的每一章都在針對特定的場景(如造市,套利,大單清算)提供"最優解".例如模型會告訴你在當下的庫存 q,成交頻率λ與不平衡度ρ之下,你最優的報價應該距離中間價多少位移. 讀者應將第一部分視為"戰場環境",第二部分為"戰略思維",第三部分則是"戰術執行".雖然數學符號讓整本書難讀,但底層邏輯極其一致,追求在隨機擾動的市場中,利用動態規劃尋找一條風險最小,收益最大的路徑. 理解了這一點,你就知道數學在此只是霧霾,必須直接抓取模型背後的交易靈魂.
以下是我將各章核心觀念用簡單白話解構說明它的重點.第 6 章談最優執行 (Optimal Execution) .主題看起來很玄,但是實際上是在問"如果我想在短時間內賣出大量庫存部位,我會把自己砸崩嗎?,或者如何出清大量部位不引起他人注意." 這裡的目標是尋找一個最優的"交易速率", 如果交易太快,會產生巨大的臨時性市場衝擊,價格滑價.如果交易太慢,則會暴露在存貨風險,因為價格隨機飄散中,後續不知是否能繼續再好的價位賣出,這章透過隨機控制,算出了一條"交易曲線",告訴你在什麼樣的剩餘時間與庫存壓力下,應該踩多少油門,在最小化清算成本的同時,確保在指定時間內完成任務.第 7 章則是在第6章的基礎上,加入了對"價格漂移"(Drift)的考量,這種考量的思維動機是"如果我預感到盤勢要崩,我是否應該賣得更快?". 目標是將對未來價格走向的機率判斷納入最優執行框架,這就不再只是單純的"分批賣出",而是根據當前的價格趨勢動態調整速率.解答顯示當預期收益為負時,最優控制律會要求交易者在前期採取更激進的市價單(MO)進攻,這一章是將"看盤盤感"與"成本優化"結合的起點.第 8 章則討論目標清算與獲利,白話說法是"我如何在清倉的過程中,順便達成獲利目標?將"獲利目標"與"清算截止期"結合, 模型不再僅是為了賣掉,而是要計算一個"獲利機率",利用隨機控制來決定現在應該掛一個高一點的限價單(LO)等待獲利,還是為了確保能清完而直接撞市價單?此地的解答給出了一個"動態邊界",當價格觸碰到特定獲利水位時,系統會自動切換控制模式. 第 9 章則談資產組合的執行.用白話說就是"當你手裡不只有一種資產時,如何利用 A 與 B 的相關性,來降低整體的清算風險?", 目標是解決"多變數最優控制".如果兩支股票高度正相關,同時賣出會造成雙重衝擊,如果負相關,則可以互相對沖,本章的重點在於利用"共變異數矩陣"來調整交易路徑,解答提供了一套跨資產的調度頻率,讓交易者在清算一籃子股票時,能透過資產間的互補性來抵銷隨機擴散帶來的風險. 第 10 章則談"最優造市" (Market Making),動機是解決造市商的終極難題,用白話說就是"我價位該掛在第幾檔,才能既賺到價差又不會抱回一堆廢紙?", 目標是求得最優的買賣報價距離(δ+與δ-),解答顯示最優報價不應該是對稱的,當你多單太滿時,你的賣單要往中間價靠(變便宜),買單要往後撤(變更便宜),這就是透過價格位移來誘使市場幫你對沖,這是一個將 LOB 數據轉化為動態報價單的過程.第 11 章則談跨市場套利與對沖,他是延遲與頻率的對決.用白話來說是"當我在 A 市場成交了,我如何在 B 市場以最低代價完成對沖?" ,目標是解決對沖過程中的執行風險,這涉及了對不同交易所λ(成交頻率)的評估,解答告訴我們對沖不一定要用市價單強追,有時利用限價單在另一個市場等待在數學上可能是更優的長期選擇,這一章是為了求得"主動對沖"與"被動等待"間的最優分配比例. 而第 12 章則談'微觀結構數據建模馬可夫鏈的終極預測", 目的動機是將所有盤面雜訊轉化為"狀態",透過ρ(不平衡) 與 λ(到達率)建立馬可夫模型,預測下一刻的市場狀態,它建模的重心在於理解"狀態轉移強度",這不僅是統計相關性,而是為了求得"價格跳動的條件機率",讓我們知道在目前的訂單流"毒性"下,當前的平衡狀態還能維持多久,這是全書最前衛的部分,將隨機過程直接應用於LOB的動態演化預測.
高頻交易的高頻另一個隱藏的意思就是"大量".頻繁交易若不是有大量部位需要建立,或者清除,就是意味著需要利用頻繁交易積少成多的特性獲利.因此,高頻交易其實本身原是法人專屬的,一般人本無此需要,更不用理解.只不過隨著現代資訊器具算力,與資料量的提升,似乎普通人也開始可以利用頻繁交易的特色從中取粟.加上隨機過程從LOB尋求支援的本質,即使不採此種交易,也能從本書中領會更多關於LOB內容變動的實質意義,對於看盤者來說,提供了有意義的解釋.這本書雖然用盡了繁瑣的語言,但它真正要表達的觀念其實可以用四個簡單的金融詞彙串聯. 第一"毒流"(Toxic Flow)的反思",即書中所有的模型都在教你辨識現在成交的單子,是"路人甲"隨機下的,還是"知情交易者"有備而來的進貨或出貨.第二"結構耐受力".利用ρ和λ算出市場這堵牆還能撐幾秒,這就是我們說的'時間對撞".第三"庫存是債務".在高頻世界,持倉不是資產,而是風險,所有的優化都是為了用"最低的代價"換回"零持倉"的平安.第四"動態邊界".沒有固定的壓力支撐位,只有隨著庫存,時間與波動率不斷位移的"最優動作邊界".
這本書是將"管理科學"的套用在"隨機市場"的混亂中的一次展示.它試圖講述交易系統與下單思維不該只能是僵化的規則,而是一個能不斷感知環境變數,隨時修正路徑的自動控制系統.這類模式並不提供"價格會漲到哪?"這樣的問題與解答,而是問"在目前的機率場中,我下一步該以什麼樣的速度與姿勢前進?".這就是將交易者從"預測先知"轉化為"被動控制者"的一種轉變,這是最後必須要理解的自身重點.當然,若你有能力熟悉於此並轉化利用創造LOB迷霧的能力,那又是另一種故事了.以上

留言功能已依作者設定調整顯示方式