Phân loại hướng giao dịch: quote rule, tick test và Lee–Ready
Tìm hiểu cách quote rule, tick test và Lee–Ready suy đoán bên chủ động trong giao dịch, vì sao nhãn có thể khác nhau và dữ liệu sàn có giới hạn gì.
Trong hướng dẫn này“Bên mua” trong phân loại giao dịch có nghĩa gì?
Tóm tắt ngắn
Mỗi giao dịch đều có người mua và người bán. Phân loại hướng giao dịch tìm cách suy ra bên nào đã vượt qua báo giá để khởi tạo giao dịch. Tick test dựa vào thay đổi giá so với giao dịch trước; quote rule so sánh giá khớp với trung điểm bid–ask, còn Lee–Ready kết hợp vị trí so với quote và tick test khi giá khớp đúng midpoint. Đây là suy luận từ dữ liệu, không phải hồ sơ vị thế của người tham gia.
“Bên mua” trong phân loại giao dịch có nghĩa gì?
Trong vi cấu trúc thị trường, nhãn buy thường có nghĩa người mua chủ động khớp với thanh khoản bán đang chờ trong sổ lệnh. Người mua có thể gửi lệnh thị trường hoặc lệnh có thể khớp ngay ở phía ask. Nhãn sell chỉ người bán là bên chủ động, khớp vào bid đang chờ. Dù gọi là mua hay bán, mỗi giao dịch hoàn tất vẫn có cả hai bên đối ứng.
Sự phân biệt này hữu ích khi phân tích dòng lệnh đã khớp. Người mua vượt spread thường được gọi là aggressor hoặc taker, còn lệnh giới hạn bán đang chờ là bên passive hoặc maker. Nhưng nhãn do thuật toán tạo ra không cho biết aggressor đang mở vị thế mua, đóng vị thế bán, phòng hộ rủi ro hay xử lý một phần lệnh lớn của khách hàng. Nó không xác định danh tính, động cơ hoặc mức rủi ro ròng sau giao dịch.
Bản ghi giao dịch và quote thường không nêu trực tiếp ai khởi tạo. Vì vậy nhà nghiên cứu suy ra hướng từ giá, các giao dịch lân cận và quote quanh thời điểm khớp. Hãy xem đây là nhãn ước tính theo một quy tắc cụ thể, đặc biệt khi dữ liệu lịch sử chỉ có giá giao dịch hoặc quote đã được tổng hợp mà không có trường aggressor-side do sàn cung cấp.
Tick test suy ra hướng từ biến động giá giao dịch
Tick test so sánh giá giao dịch hiện tại với giá của giao dịch ngay trước đó. Nếu giá hiện tại cao hơn, đó là uptick và thường được gắn nhãn bên mua chủ động; nếu thấp hơn, đó là downtick và gắn nhãn bên bán chủ động. Phương pháp này có thể dùng khi không có dữ liệu sổ lệnh, nên phù hợp với một số bộ dữ liệu lịch sử chỉ lưu giá khớp.
Nếu giá không đổi, đó là zero tick. Quy tắc phổ biến là giữ hướng của thay đổi gần nhất có giá trị khác không: sau một lần tăng, zero tick kế tiếp nhận dấu mua; sau một lần giảm, nó nhận dấu bán. Cách này giúp xử lý nhiều giao dịch liên tiếp cùng giá, nhưng có thể kéo dài một hướng cũ qua nhiều bản in. Nếu trước đó chưa từng có thay đổi giá khác không, tick test không có cơ sở để gán hướng. Khi ấy nên để chưa phân loại thay vì tự tạo nhãn buy hoặc sell.
Quy tắc đơn giản không đồng nghĩa với chính xác. Giá có thể tăng vì quote thay đổi chứ không phải vì giao dịch vừa rồi do bên mua khởi tạo. Giao dịch thưa, thông điệp không đồng bộ, bản in đến sai thứ tự, giao dịch mở cửa và điều kiện đặc biệt đều có thể làm suy yếu giả định. Lee và Ready xem tick test là công cụ hữu ích, nhất là khi quote không cho câu trả lời rõ ràng, nhưng chất lượng nhãn vẫn phụ thuộc thời điểm và phạm vi dữ liệu (Lee và Ready, 1991).
Quote rule so sánh giá khớp với midpoint của spread
Khi biết best bid và best ask, midpoint là trung bình của hai mức giá đó. Quote rule đơn giản xếp giao dịch cao hơn midpoint vào phía mua, thấp hơn midpoint vào phía bán. Giao dịch đúng tại midpoint không tự xác định hướng; cần thêm quy tắc như tick test hoặc để nhãn chưa xác định. Giao dịch khớp tại ask thường phù hợp với bên mua chủ động, còn tại bid thường phù hợp với bên bán chủ động, nếu quote và giao dịch được ghép đúng thời điểm.
Suy luận yếu hơn khi giá giao dịch nằm bên trong spread. Mức giá đó có thể do lệnh giới hạn cải thiện giá, thanh khoản ẩn, cơ chế khớp nội bộ hoặc độ trễ của nguồn dữ liệu. Việc giá gần midpoint hơn về phía nào không chứng minh phía đó đã gửi lệnh trước. Khi spread rộng hoặc midpoint phải làm tròn theo tick size, chênh lệch chỉ một tick cũng có thể đổi nhãn dù khác biệt kinh tế rất nhỏ.
Điều kiện quan trọng là quote phải còn hiệu lực khi giao dịch xảy ra và thuộc cùng công cụ, cùng venue. Quote trễ, quote tổng hợp hoặc quote từ venue khác có thể xuất hiện sau chính giao dịch làm quote thay đổi. Trước hết hãy kiểm tra nguồn và timestamp; hướng dẫn sổ lệnh futures và Time and Sales giải thích vì sao trạng thái sổ lệnh và bản ghi giao dịch là hai loại dữ liệu khác nhau.
Lee–Ready kết hợp vị trí quote, quy tắc phân xử và thời điểm quote
Quy trình Lee–Ready cổ điển so sánh giá giao dịch với quote tương ứng: tại ask hoặc cao hơn thường là mua chủ động, tại bid hoặc thấp hơn thường là bán chủ động. Với giao dịch bên trong spread nhưng không đúng midpoint, phương pháp gốc gán hướng theo quote gần hơn; đúng tại midpoint thì dùng tick test. Nếu tick test cũng không có biến động giá khác không trước đó, có thể để giao dịch chưa phân loại. Định nghĩa “đúng midpoint” trong chương trình cần xét độ chính xác dữ liệu giá và bước giá tối thiểu.
Các tác giả cũng điều chỉnh thời điểm dùng quote. Trong nghiên cứu, quote được ghi ngay trước giao dịch đôi khi đã phản ánh chính giao dịch đó; với dữ liệu NYSE năm 1988, họ dùng quote gần nhất được ghi ít nhất năm giây trước giao dịch. Độ trễ ban đầu này là lựa chọn phương pháp cho vấn đề ghi nhận và đồng bộ dữ liệu trong bối cảnh lịch sử, không phải thiết lập chung cho thị trường điện tử hiện nay. Với feed tần suất cao, năm giây có thể trỏ đến trạng thái sổ lệnh hoàn toàn khác.
Khi tự triển khai, hãy xác định thứ tự sự kiện và chất lượng timestamp thay vì sao chép con số năm giây. Đồng hồ của trade và quote có chung nguồn không? Timestamp là thời điểm tại sàn hay lúc nhà cung cấp nhận dữ liệu? Xử lý ra sao khi timestamp bằng nhau, có nhiều quote giữa các trade, mất thông điệp hoặc không có quote? Thứ tự thông điệp được feed quy định hoặc độ trễ ngắn hơn có thể phù hợp hơn. Hãy chọn trước khi phân tích, đừng điều chỉnh sau để làm đẹp chỉ số đang mong muốn.
Một ví dụ cho thấy các quy tắc có thể bất đồng
Giả sử best bid là 100.00, best ask là 100.04 nên midpoint bằng 100.02. Giao dịch trước đó xảy ra ở 100.00. Tất cả con số dưới đây chỉ là giả định để minh họa cách phân loại, không mô tả thị trường thật hay kết quả giao dịch.
Giao dịch tiếp theo khớp ở 100.01. Vì giá cao hơn giao dịch trước ở 100.00, tick test gắn nhãn mua. Nhưng 100.01 thấp hơn midpoint 100.02, nên quote rule gắn nhãn bán. Đây không phải lỗi số học: hai quy tắc dựa trên hai loại bằng chứng khác nhau. Với giao dịch bên trong spread, riêng giá khớp không đủ để kết luận chắc chắn bên nào đúng.
Sau đó có giao dịch ở 100.02, đúng midpoint. Quote rule đơn lẻ không quyết định được hướng, còn Lee–Ready chuyển sang tick test. Vì 100.02 cao hơn giao dịch gần nhất ở 100.01, bước dự phòng cho kết quả bên mua. Nếu giao dịch kế tiếp khớp ở ask 100.04, nó thường được phân loại là mua theo so sánh quote. Hệ thống thật vẫn cần xử lý làm tròn, zero tick, quote cũ và timestamp không khớp.
Ví dụ không nói mọi giao dịch ở midpoint đều là buy hoặc nhãn sell tại 100.01 nhất định sai. Nó cho thấy các dấu hiệu gián tiếp có thể mâu thuẫn và cần ghi rõ quy tắc giải quyết. Nếu có trường aggressor do sàn cung cấp, trường đó có thể trực tiếp hơn suy luận từ một mức giá, nhưng vẫn phải diễn giải theo đặc tả của feed cụ thể.
Giả sử khối lượng của ba giao dịch lần lượt là 4, 3 và 2. Theo dấu Lee–Ready, chúng là bán, mua, mua nên signed volume bằng −4 + 3 + 2 = +1. Chỉ dùng tick test thì cả ba đều mang dấu dương, tổng bằng +9. Lựa chọn bộ phân loại làm tổng lệch 8 đơn vị dù giá và khối lượng không đổi. Nếu có giao dịch chưa xác định hướng, hãy nêu tỷ lệ và cách xử lý; đây chỉ là phép tính giả định.

Các con số accuracy đã công bố phụ thuộc vào từng mẫu dữ liệu
Ellis, Michaely và O’Hara so sánh nhiều cách phân loại trên dữ liệu Nasdaq độc quyền. Trong mẫu nghiên cứu của họ, quote rule đạt độ chính xác 76.4%, tick rule 77.66% và Lee–Ready 81.05%. Những tỷ lệ này mô tả phép so sánh trong bộ dữ liệu đó, không phải cam kết về mọi thị trường. Kết quả phụ thuộc vào giai đoạn, công cụ, chất lượng timestamp, cách xác định nhãn chuẩn và tỷ trọng giao dịch bên trong spread; nhóm sau đặc biệt khó phân loại (nghiên cứu của Ellis, Michaely và O’Hara).
Jurkatis đề xuất phương pháp full-information ghép giao dịch với quote bằng tập dữ liệu chi tiết hơn. Trong nghiên cứu, phương pháp này làm tốt hơn các quy tắc chuẩn được đem so sánh, nhất là khi timestamp chỉ có độ chính xác thấp. Đây là phát hiện thực nghiệm trong một nghiên cứu, không bảo đảm ưu thế ở sàn, hợp đồng hay protocol khác. Ghép full-information đòi hỏi tái dựng sổ lệnh từ thông điệp chính xác và có thể không khả thi với người chỉ nhận feed tổng hợp (Jurkatis, 2022).
Khi đánh giá phương pháp, hãy dùng nhãn hướng độc lập do venue cung cấp nếu có, đồng thời báo cáo riêng tỷ lệ giao dịch đã phân loại, chưa xác định và bị loại. Accuracy tổng thể có thể che lỗi lớn bên trong spread hoặc ở công cụ kém thanh khoản. Nếu nhãn chuẩn cũng do một phiên bản khác của chính quy tắc đó tạo ra, phép so sánh không xác nhận được hướng thật.
Trường dữ liệu của sàn khác với nhãn suy luận
Một số feed công bố trực tiếp phía aggressor. Tài liệu CME MDP 3.0 Trade Summary mô tả trường AggressorSide để ghi bên aggressor hoặc trường hợp không có aggressor: giá trị 1 là bid aggressor, giá trị 2 là ask aggressor. Hãy đọc mã theo đúng loại thông điệp của feed; không tự chuyển trường hợp không xác định thành buy hoặc sell (tài liệu CME MDP 3.0).
Nasdaq TotalView-ITCH cung cấp phía của lệnh hiển thị đang nghỉ trong sổ lệnh ở thông điệp thêm lệnh, còn thông điệp execution có thể liên kết với mã tham chiếu của lệnh đó. Nếu lệnh nghỉ là lệnh bán, bên khớp vào thường là buyer-aggressor; nếu lệnh nghỉ là mua thì chiều suy luận ngược lại. Đây là kết luận nối nhiều trường, không phải trường aggressor dùng chung cho mọi giao dịch. ITCH có quy tắc riêng theo loại message: chẳng hạn Buy/Sell Indicator trong thông điệp Non-Cross Trade có thể luôn là “B” bất kể phía lệnh nghỉ theo đặc tả. Đừng đọc byte có tên tương tự như phía khởi tạo; hãy giải mã đúng loại message theo tài liệu Nasdaq (TotalView-ITCH 5.0).
Trường của sàn trực tiếp hơn heuristic chỉ trong phạm vi ngữ nghĩa, phiên bản message và điều kiện phát hành được tài liệu hóa. Thị trường khác có thể không cung cấp aggressor-side. OFI và thay đổi của limit order book cũng là câu hỏi khác: OFI cộng các thay đổi quote và hàng chờ qua thời gian, còn signed volume được tính sau khi từng giao dịch đã nhận dấu.
Cách kiểm tra nhãn trên bộ dữ liệu của bạn
Trước tiên, cố định nguồn trade, nguồn quote, mã công cụ đầy đủ, venue, múi giờ, độ chính xác timestamp và quy tắc sắp xếp message. Sau đó ghi rõ dùng best quote của venue hay NBBO tổng hợp, chuỗi trade nào làm cơ sở tick test, và cách xử lý bản in lặp giá, midpoint, thị trường khóa, giao dịch đấu giá, báo cáo trễ hoặc giá ngoài quote. Những lựa chọn này làm thay đổi nhãn và cần tái tạo được.
Đừng bắt thuật toán gán hướng cho mọi trade. Hướng có thể chưa xác định khi thiếu quote, quote khóa, timestamp không khớp, message sai thứ tự hoặc tick test chưa có biến động giá khác không trước đó. Tỷ lệ các trường hợp này cũng mô tả mức hữu dụng của dữ liệu. Điền nhãn thiếu bằng giao dịch gần nhất hoặc chuyển động giá tương lai có thể vô tình đưa thông tin tương lai vào tập phân tích.
Để rà soát thủ công, lấy mẫu nhỏ gồm message ngay trước và sau từng execution. Đối chiếu best bid/ask, midpoint, giá khớp, biến động giá khác không gần nhất, loại message và trường của sàn nếu có. Xem riêng giao dịch ở ask, bid, bên trong spread và đúng midpoint. Kiểm tra quote có thể được cập nhật do chính trade hay không, rồi tính lại bằng vài quy tắc thời gian có cơ sở. Phân tích độ nhạy giúp thấy kết quả ổn định đến đâu; nó không cho phép chọn phiên bản đẹp nhất nếu chưa có tiêu chí định trước.
Hướng giao dịch không tiết lộ vị thế và không bảo đảm tín hiệu
Một cách tổng hợp là signed volume S = Σ sᵢvᵢ: đặt sᵢ = +1 cho giao dịch ước tính bên mua chủ động, sᵢ = −1 cho bên bán, còn vᵢ là khối lượng. Kết quả phụ thuộc cửa sổ, phạm vi venue, đơn vị khối lượng và cách loại trừ hay xử lý giao dịch chưa rõ hướng. Vì vậy hãy báo cáo tỷ lệ bao phủ và quy tắc cho các giá trị chưa xác định cùng với tổng số.
Một giao dịch buyer-aggressor có thể đóng vị thế short; người bán có thể đang giảm long; một bên có thể hedge hoặc chỉ thực hiện một phần lệnh lớn. Phân loại không cho biết ai giữ rủi ro sau giao dịch, thời hạn nắm giữ hay chuyện gì xảy ra trên venue khác. Tổng signed buy volume trong một phút là một phép tổng hợp khác, phụ thuộc vào cửa sổ và cách cộng, chứ không phải danh sách vị thế long mới mở.
Dù phân loại hướng chính xác, kết quả đó cũng không chứng minh lợi nhuận tương lai. Giá có thể đã thay đổi trước khi dữ liệu đến, lệnh có thể chỉ khớp một phần, còn spread, phí, độ trễ, market impact và giá thoát có thể lớn hơn biến động ngắn hạn. Đánh giá chi phí thực tế cần một câu hỏi khác: hướng dẫn implementation shortfall đo khoảng cách giữa giá quyết định, các lần khớp và lượng còn chưa khớp.
Báo cáo nghiên cứu nên nêu quy tắc phân loại, quy ước thời gian, tỷ lệ nhãn chưa xác định, đặc điểm mẫu và cách kiểm chứng. Nếu dữ liệu chỉ cho phép suy đoán bên chủ động, đừng gọi đó là bằng chứng trực tiếp về ý định của người giao dịch. Nhãn microstructure có thể giúp mô tả luồng lệnh, nhưng không phải bảo đảm tín hiệu, dự báo hay kết quả.
Câu hỏi thường gặp
Q1Giao dịch mang nhãn “buy” có người bán không?
Có. Buy nghĩa là người mua vượt quote để khởi tạo giao dịch; người bán cung cấp thanh khoản đối ứng. Mọi giao dịch đã hoàn tất đều có cả hai phía.
Q2Giao dịch tại ask có luôn chứng minh bên mua chủ động không?
Thường là vậy nếu quote và giao dịch được ghép đúng thời điểm. Feed cũ hoặc lệch đồng hồ, khớp lệnh đấu giá và loại message đặc biệt có thể làm thay đổi cách đọc; hãy kiểm tra đặc tả dữ liệu.
Q3Có thể dùng Lee–Ready làm tín hiệu giao dịch không?
Thuật toán ước tính phía khởi tạo của giao dịch đã xảy ra. Nó không xác nhận vị thế người tham gia hay lợi nhuận tương lai; trước khi dùng trong nghiên cứu, hãy kiểm tra lỗi, trường hợp chưa rõ, căn chỉnh thời gian và chi phí giao dịch.
Nguồn và tài liệu đọc thêm
Báo lỗi
Chúng tôi sẽ soạn email kèm liên kết bài viết này. Mark chỉ nhận được báo cáo sau khi bạn gửi email
Kiểm tra nhanh
Đọc xong hướng dẫn? Hãy kiểm tra với 3 câu hỏi
Câu hỏi 01
Trong phân loại bên khởi tạo, nhãn “buy” có nghĩa gì?
Chọn một đáp án để xem giải thích
Bảng thuật ngữ quyền chọn
Định nghĩa rõ ràng về các thuật ngữ cốt lõi, từ call, put và chuỗi quyền chọn đến IV, Greeks, lãi suất mở và max pain
Xem bảng thuật ngữ quyền chọn