如何判斷哪一方主動成交:報價規則、逐筆規則與 Lee–Ready
了解報價規則、逐筆規則和 Lee–Ready 如何推斷主動買賣方,為什麼價差內的成交難以判斷,以及交易所資料有哪些限制。
本指南內容分類中的「買進」代表甚麼
簡短摘要
每筆成交都有買方和賣方。成交方向分類試圖推斷哪一方跨越報價、主動發起成交。逐筆規則看成交價相對上一筆的變化,報價規則比較成交價與買賣價差中點;Lee–Ready結合報價位置,並在成交價正好位於中點時使用逐筆規則。這是從資料推論的方向,不是參與者帳戶的持倉紀錄。
分類中的「買進」代表甚麼
在市場微結構研究中,標記為 buy 通常表示買方主動取得賣方掛出的流動性。買方可能送出市價單,或可立即成交的委託,去成交 ask 上等待的賣單。標記為 sell 則表示賣方主動與 bid 上等待的買單成交。不論標籤是買進還是賣出,每筆完成交易仍同時有買方和賣方。
分析逐筆成交時,這項區分很重要。買方跨越價差成交,通常稱為主動方或 taker;等待成交的賣方限價單則是被動方或 maker。不過,演算法產生的標籤不會說明主動買方是在建立多頭部位、回補空頭、避險,還是執行大型客戶委託的一部分。它也不會揭露參與者身分、交易動機或成交後的淨風險。
成交資料和報價資料常常沒有直接說明由哪一方發起,因此研究者會從成交價、相鄰成交和當時報價推論方向。若歷史資料只有成交價,或報價已彙整而沒有交易所提供的主動方欄位,應將標籤視為依特定規則算出的估計值,而非原始事實。
逐筆規則從連續成交價推論方向
逐筆規則比較目前成交價與前一筆成交價。若價格較高,稱為 uptick,通常標記為主動買進;若價格較低,稱為 downtick,通常標記為主動賣出。這種方法不需讀取委託簿報價,因此可用於部分只保留歷史成交價的資料集。
如果價格沒有變動,稱為 zero tick。常見規則是沿用最近一次非零價格變動的方向:最近一次變動向上,同價成交沿用買進標籤;最近一次變動向下,則沿用賣出標籤。這可以處理多筆連續同價成交,但舊方向也可能延續多筆。若此前沒有任何非零價格變動,逐筆規則便無法判斷方向;應保留為未分類,而不要任意填上 buy 或 sell。
規則簡單不代表總是準確。價格可能因報價變動而上升,不一定表示最新成交由買方發起。成交稀疏、訊息不同步、成交回報次序錯誤、開盤集合競價和特殊成交條件也會削弱假設。Lee與Ready認為逐筆規則有其用途,特別是在報價無法給出清楚答案時,但標籤品質仍取決於時間和資料範圍(Lee與Ready,1991)。
報價規則將成交價與價差中點比較
已知最佳買價和最佳賣價時,中點就是兩者平均。簡單報價規則將高於中點的成交歸為主動買進,低於中點的成交歸為主動賣出。成交價恰好在中點時,單靠這項比較無法判定方向,需要逐筆規則等補充方法,或保留為未分類。成交在 ask 通常符合買方主動,在 bid 則通常符合賣方主動,前提是成交和報價的時間配對正確。
價差內成交的推論較弱。bid和ask之間的價格可能來自改善報價的限價單、隱藏流動性、內部撮合或資料來源延遲。僅憑價格較接近中點的哪一側,不能證明哪一方先送出委託。若價差較寬,或中點須依最小跳動單位取整,相差一個 tick 就可能改變標籤,儘管經濟差異很小。
關鍵是報價須在成交當時有效,且屬於同一商品和交易場所。延遲報價、彙整報價或其他場所的報價,可能晚於觸發報價變動的成交。先核對來源與時間戳記;期貨委託簿與逐筆成交的差異說明委託簿狀態和成交紀錄是不同類型的市場資料。
Lee–Ready結合報價位置、價差內規則與時間調整
經典Lee–Ready方法會先比較成交價與適用報價:高於中點為買進,低於中點為賣出。成交正好在中點時,改用逐筆規則。更完整地說,ask或更高的成交通常歸為主動買進,bid或更低的成交通常歸為主動賣出;在價差內但不在中點的成交,原方法歸向較接近的報價一側。如果中點成交的逐筆測試也沒有先前方向,觀察值可保留為未分類。程式對「正好在中點」的定義須配合價格精度和最小跳動單位。
作者也調整了報價與成交的時間配對。在其研究中,緊接成交之前記錄的報價可能已反映該筆成交;針對1988年NYSE資料,他們使用成交時間至少五秒以前出現的最近報價。這個原始延遲是因應當時記錄和同步問題的研究設定,不是現代電子市場通用參數。高頻資料中,五秒前的委託簿狀態可能已完全不同。
自行實作時,應界定事件順序和時間戳記品質,而不要照抄五秒。成交和報價使用相同時鐘嗎?時間是交易所事件時間,還是供應商接收時間?遇到相同時間戳記、成交之間多筆報價、訊息遺失或沒有報價時,程式如何處理?依資料流規定的訊息次序,或更短且有理據的延遲可能較合適。應在分析前選擇並記錄,不要事後調整以改善想要的指標。
一個例子說明不同規則為何可能衝突
假設最佳買價為100.00、最佳賣價為100.04,中點就是100.02。上一筆成交價為100.00。以下價格僅為示範分類規則的假設值,不是實際行情或交易結果。
下一筆成交價為100.01。由於100.01高於前一筆的100.00,逐筆規則會標記為買進;但它低於中點100.02,報價規則和Lee–Ready會標記為賣出。這不是算術錯誤,而是兩種方法依據不同資訊。成交落在價差內時,單看價格不足以確定哪一方的標籤一定正確。
再下一筆成交在100.02,正好位於中點。單靠報價規則無法判定方向,Lee–Ready會改用逐筆規則。100.02高於上一筆的100.01,因此後備判斷為買進。如果下一筆成交在ask的100.04,按報價比較通常會歸為主動買進。實際程式仍須處理取整、零跳、過時報價和不一致的時間戳記。
若這三筆成交的數量依序為4、3、2,Lee–Ready的符號為賣、買、買,所以加權成交量為−4 + 3 + 2 = +1;只用逐筆規則則三筆都是上漲或延續上漲,合計為+9。分類方法令總量相差8個單位,但成交價格與數量完全相同。若另有方向未定的成交,也要報告其數量和處理方式。這些數字只示範計算,不是實際成交。

已發表的準確率只適用於特定樣本
Ellis、Michaely與O’Hara使用Nasdaq專有資料比較分類方法。在他們的樣本中,報價規則正確分類76.4%的成交、逐筆規則為77.66%、Lee–Ready為81.05%。這些比例描述的是該資料集的比較,並非所有市場的準確度保證。時期、商品、時間戳記品質、參考標籤建立方式和價差內成交比例都會影響結果;價差內成交尤其難判斷(Ellis、Michaely與O’Hara研究)。
Jurkatis提出full-information方法,使用更詳細的資料將成交與報價配對。研究中,尤其當時間戳記精度較低時,該方法優於比較中的標準規則。這是單一研究的實證結果,不保證它在其他交易所、合約或訊息協定都較好。Full-information配對須準確重建委託簿訊息;只取得彙整歷史資料的使用者可能無法執行(Jurkatis,2022)。
比較方法時,若交易場所提供獨立的方向標記,可用來核對結果,並分別報告已分類、未分類和剔除成交的比例。整體準確率可能掩蓋價差內成交或流動性較低商品的錯誤。若參考標籤本身也是同一規則的另一版本,就不能藉此確認真正的主動方。
交易所原生欄位不同於推斷標籤
部分行情feed會直接提供aggressor side。CME的MDP 3.0 Trade Summary文件說明AggressorSide欄位,也包括沒有明確aggressor的事件;代碼要按相應feed和商品解讀(CME MDP 3.0 Trade Summary)。Nasdaq TotalView-ITCH則定義逐筆新增委託和執行訊息,包括掛單識別碼與成交數量;它不會將每筆印出的成交都變成跨交易場所通用的買賣方向標籤(Nasdaq ITCH 5.0規格)。不同交易所欄位不能互相套用。
如何核對分類資料是否可重現
先抽取一小段涵蓋成交前後的原始訊息,不要只看整理好的表格。確認每筆記錄的交易場所、完整商品與月份、交易時段、資料來源和時區,再按feed的sequence number及事件時間重建當時的best bid與best ask。如果只有秒級timestamp,而同一秒內已有多筆報價更新,就不一定能知道成交時哪筆報價有效;應依feed的排序規則處理,或將該筆保留為未能配對。供應商接收時間和交易所事件時間也不能當成相同欄位任意替換。
再分別檢查ask成交、bid成交、價差內成交、midpoint成交、價差鎖定或交叉時的成交,以及集合競價和更正訊息。核對tick test時,要確認交易序列如何處理trade break、取消和修正,避免一筆更正前後的成交被重複計算。逐筆規則的「上一筆」應按該商品和資料流界定,不能拿另一venue的上一筆混入。若交易所提供aggressor欄位或能從訂單訊息還原掛單一方,可把它當作獨立參照,並按事件類別查看不一致集中在哪裏。
Nasdaq TotalView-ITCH的Order Executed with Price訊息還要檢查Printable欄位:部分執行會標為「N」,其股數已包含在後續彙總成交;若再把該訊息獨立計入成交量,就會重複計算。規格建議time-and-sales顯示及成交量統計忽略這些non-printable訊息。若要重建方向,也應按訊息參照還原原始掛單,不能把每個execution事件直接視為獨立成交(Nasdaq TotalView-ITCH 5.0規格)。
比較多種規則時,所有方法都應使用相同成交樣本,並列出已分類成交量、未分類比例和彼此分歧率。若研究結論只在某一種時間配對或某一種分類法下成立,就應把依賴條件寫入結論。預先選擇窗口、時間欄位、未定標籤處理和驗證基準,能避免看到結果後才改規則。成交方向是由資料定義產生的估計值;留下重建步驟,其他人才能判斷結果是否源於市場,還是源於分類設定。
評估分類準確率時,不要只計算演算法願意標記的成交。如果某個方法把難以判斷的價差內成交留為未知,它在剩餘樣本上的準確率可能較高,但實際涵蓋的成交量較少。應在相同成交集合上並列報告準確率、未分類比例及已標記方向的成交量占比;timestamp精度較低的觀察也應分組。這樣才看得出方法是真正減少錯誤,還是跳過了較難判定的紀錄。
帶符號成交量是測量值,不是交易結論
對每筆成交i,若數量為vᵢ、方向符號為sᵢ,常見的signed volume會加總sᵢvᵢ:主動買進用+1,主動賣出用−1。結果取決於分類方法、數量單位、時間窗口、場所範圍和未知成交的處理方式。報告應說明這些選擇,必要時也列出有方向標記的成交量占比。
正值不代表經濟意義上的買方比賣方多,因每筆交易仍然同時有雙方。它只是依指定規則估計主動取得流動性的方向。正signed volume不能證明有資訊的買進、預測價格必然上漲,也不代表策略可以在中點取得成交。研究執行成本時,要明確指定比較基準,並納入價差、費用、排隊位置、延遲和市場衝擊。Implementation shortfall指南從另一角度衡量決策到執行的實際成本。
成交方向分類最適合當作可重現的資料處理選擇。報告使用的規則、報價配對方式、未分類情況及驗證證據。它和委託流失衡(OFI)也回答不同問題:OFI會累計掛單增加、取消及最佳報價移動,signed volume則只彙總已成交交易的估計方向。如果合理替代方法會令結果大幅改變,這種敏感度本身就是研究發現的一部分。
常見問題
Q1標為「主動買進」的成交仍有賣方嗎?
有。這個標籤表示買方跨越報價發起成交;賣方提供對應流動性。每筆完成的交易都有雙方。
Q2在ask成交是否一定能證明買方主動?
如果成交和報價時間配對正確,通常如此。不過,過時或不同步的feed、集合競價和特殊訊息類型都可能影響解讀,應核對資料規格。
Q3可以將Lee–Ready用作交易訊號嗎?
演算法估計的是過去成交由哪一方發起,不會確認參與者持倉或未來報酬。用於研究前,應檢查錯誤、未定情況、時間對齊和交易成本。
資料來源與延伸閱讀
回報問題
我們會準備一封包含本文連結的電子郵件。寄出後,Mark 才會收到你的回報
快速檢查
讀完指南後,用 3 道題檢查一下
問題 01
成交價與上一筆相同,而最近一次非零價格變動向下。逐筆規則會如何標記?
選擇答案即可查看解釋