BJF TRADING GROUP · HƯỚNG DẪN
Chiến lược của bạn quyết định khi nào giao dịch. Broker của bạn quyết định giao dịch ở mức giá nào và nhanh đến đâu. Hướng dẫn này giải thích chất lượng khớp lệnh là gì, những con số nào mô tả nó, mẫu hình nào cho thấy sự can thiệp chứ không phải do kém may mắn, cách đo chúng trên chính các lệnh của bạn, và nên làm gì với kết quả.
Chất lượng khớp lệnh của broker là mức độ nhanh, sát giá báo và công bằng khi broker khớp các lệnh của bạn. Nó không hiển thị trong lịch sử giao dịch, nhưng có thể đo được: thời gian khớp, trượt giá có dấu, spread tại thời điểm khớp và độ lệch so với một nguồn giá độc lập, theo từng lệnh. Hướng dẫn này cho thấy những con số nào quan trọng, đâu là giới hạn của khớp lệnh bình thường, và cách so sánh broker của bạn với broker của các trader khác dựa trên dữ liệu thực.
Trong hướng dẫn này
Nói ngắn gọn: chất lượng khớp lệnh là mức độ sát, nhanh và công bằng khi broker biến yêu cầu đặt lệnh của bạn thành lệnh khớp. Nó được đo bằng thời gian khớp, trượt giá so với giá báo, spread tại thời điểm khớp và mức độ giá của broker khớp với thị trường chung tại thời điểm đó.
Terminal giao dịch cho bạn thấy kết quả: giá mở, giá đóng và lợi nhuận. Nó không cho thấy quá trình. Từ lúc lệnh của bạn được gửi đi đến lúc được khớp, broker có thể mất 50 ms hoặc 500 ms, giá có thể dịch chuyển có lợi hoặc bất lợi cho bạn, và spread có thể giãn rộng. Với swing trading, những chi tiết này chỉ là nhiễu. Với scalping, giao dịch tin tức và mọi hình thức arbitrage, chúng là tất cả: một chiến lược kiếm 2 point mỗi giao dịch không thể tồn tại với broker khiến bạn mất 3 point.
Chất lượng khớp lệnh cũng chính là khoảng cách giữa backtest và giao dịch thật. Backtest giả định lệnh được khớp tại giá báo sau một độ trễ cố định. Giao dịch thật cho bạn bất cứ kết quả nào mà cách khớp lệnh của broker mang lại. Đo lường khớp lệnh là cách bạn biết mình thực sự đang giao dịch theo kịch bản nào. Nếu bạn kiểm thử trên dữ liệu tick, hướng dẫn của chúng tôi về dữ liệu tick forex cho backtest giải thích cách làm cho phía backtest trung thực nhất có thể.
| Chỉ số | Định nghĩa | Vì sao quan trọng |
|---|---|---|
| Thời gian khớp | Số mili giây từ lúc gửi yêu cầu đặt lệnh đến lúc khớp, đo riêng cho lệnh mở và lệnh đóng. | Độ trễ càng lâu, giá càng có thể dịch chuyển nhiều trước khi khớp. Các chiến lược tốc độ cao mất lợi thế đầu tiên. |
| Trượt giá có dấu | Giá khớp trừ giá yêu cầu, tính bằng point, có dấu sao cho giá trị âm nghĩa là bất lợi cho bạn. | Bản thân trượt giá là bình thường. Trượt giá phần lớn mang dấu âm thì không. |
| Thời gian khớp P95 | Mức thời gian mà 95% lệnh khớp nằm dưới ngưỡng đó. | Phát hiện những broker trung bình thì nhanh nhưng thường xuyên có độ trễ tăng vọt, thường vào những thời điểm tệ nhất. |
| Spread tại thời điểm khớp | Ask trừ bid khi lệnh được khớp, so với mức trung bình của mã. | Spread giãn rộng đúng lúc bạn giao dịch là chi phí mà backtest với spread cố định không bao giờ thấy. |
| Độ lệch tham chiếu | Khoảng cách giữa giá của broker và nguồn giá tham chiếu độc lập tại cùng thời điểm. | Cho thấy giá của broker có khớp với thị trường hay chỉ khớp với chính nó. |
| Khớp ngoài thị trường | Lệnh khớp nằm ngoài toàn bộ các mức bid và ask được báo trong khoảng từ lúc yêu cầu đến lúc khớp. | Lệnh khớp ở mức giá chưa từng được báo là dấu hiệu cảnh báo rõ ràng nhất. |
| Requote và từ chối lệnh | Lệnh được phản hồi bằng giá mới, hoặc bị từ chối rồi gửi lại. | Requote thường xuyên ở các điểm vào lệnh có lãi khiến bạn mất những giao dịch tốt nhất. |
| Đóng băng báo giá | Khoảng trống trong luồng báo giá của broker trong khi thị trường vẫn tiếp tục biến động. | Lệnh được khớp trong lúc đóng băng là khớp theo giá cũ. |
Để tìm hiểu sâu hơn riêng về trượt giá, bao gồm cách tính và cách giảm thiểu, xem Giải thích trượt giá Forex.
Không broker nào khớp mọi lệnh đúng giá yêu cầu trong 0 mili giây. Câu hỏi không bao giờ là “có trượt giá không” mà là “việc khớp lệnh có diễn ra như một thị trường công bằng không”. Đây là những mẫu hình giúp phân biệt hai trường hợp.
| Mẫu hình | Khớp lệnh bình thường | Có thể có can thiệp |
|---|---|---|
| Hướng trượt giá | Tương đối cân bằng: số lệnh trượt giá có lợi xấp xỉ số lệnh trượt giá bất lợi. | Một chiều: phần lớn lệnh bị trượt giá là bất lợi cho bạn, đặc biệt ở các điểm vào lệnh có lãi. |
| Thời gian khớp | Ổn định, thỉnh thoảng tăng vọt khi có tin tức. | Chỉ chậm trên một số tài khoản, hoặc chậm ở một chiều của giao dịch: đóng lệnh lỗ nhanh, đóng lệnh lãi chậm. |
| Lệnh stop | Bị kích hoạt bởi mức giá mà các nơi giao dịch khác cũng ghi nhận. | Bị kích hoạt bởi một cú spike ngắn mà không nguồn giá tham chiếu nào ghi nhận (phantom spike). |
| Báo giá | Liên tục, có những khoảng trống ngắn ở các mã kém thanh khoản. | Luồng báo giá bị đứng trong khi thị trường đang biến động, và lệnh được khớp trong lúc đứng giá. |
| Requote | Hiếm và xảy ra ở cả hai chiều. | Thường xuyên ở các điểm vào lệnh có thể có lãi, hiếm ở các lệnh khác. |
Mỗi mẫu hình này cũng có thể có nguyên nhân vô hại. Một mẫu hình một chiều trên hàng trăm lệnh, qua nhiều mã, và biến mất khi dùng cùng chiến lược ở broker khác thì khó giải thích là vô hại hơn nhiều.
Không phải broker nào cũng kiếm tiền theo cùng một cách, và mô hình kinh doanh định hình cách khớp lệnh.
Các dealing desk có những công cụ được xây dựng cho mục đích này, từ plugin độ trễ đến thiết lập virtual dealer. Hướng dẫn của chúng tôi về tính minh bạch trong khớp lệnh của broker trình bày chi tiết về A-book, B-book, định tuyến hybrid và last look, và bài viết của chúng tôi về các plugin chống arbitrage mà broker sử dụng mô tả cách chúng hoạt động. Điểm mấu chốt ở đây mang tính thực tế: bạn không thể biết từ website của broker mình sẽ nhận được kiểu khớp lệnh nào. Bạn chỉ có thể đo lường nó.
Đo khớp lệnh đúng cách cần bốn yếu tố. Mỗi yếu tố lấp một khoảng trống mà lịch sử giao dịch đơn thuần bỏ ngỏ.
1
2
3
4
Từ các dữ liệu này, tính cho từng lệnh thời gian khớp của mỗi chiều, trượt giá có dấu, spread tại thời điểm khớp và độ lệch tham chiếu, sau đó gắn cờ các lệnh vượt ngưỡng của bạn. Làm thủ công từ dữ liệu giao dịch đã xuất là khả thi với vài lệnh nhưng không thực tế với một chiến lược đang chạy thật, vì vậy chúng tôi đã tích hợp nó vào SharpTrader.
Không có ngưỡng chung cho mọi trường hợp: một scalper vàng dùng VPS đặt cạnh máy chủ broker và một swing trader dùng mạng gia đình sống ở hai thế giới khác nhau. Đây là các giá trị mặc định chúng tôi dùng trong Broker Intervention Detection, một điểm khởi đầu hợp lý cho các chiến lược ngắn hạn trên VPS đặt gần broker.
| Kiểm tra | Ngưỡng mặc định | Ghi chú |
|---|---|---|
| Slow execution | > 200 ms khi mở hoặc đóng lệnh | Tăng ngưỡng nếu VPS của bạn ở xa máy chủ của broker. |
| Excessive slippage | > 10 point bất lợi cho bạn | Điều chỉnh theo mã: 10 point là nhiều với EURUSD nhưng ít với chỉ số. |
| Spread spike | ≥ 3× mức trung bình của mã và rộng hơn ≥ 1 point | Spike thường xuất hiện quanh thời điểm tin tức và rollover. |
| Phantom spike | Biến động bất lợi ≥ 2 point không xuất hiện trên nguồn giá tham chiếu | Cần có nguồn giá tham chiếu. |
| Quote freeze | Không có báo giá trong > 2,000 ms trong khi nguồn tham chiếu vẫn có tick | Mã kém thanh khoản tự nhiên có lúc đóng băng; hãy so sánh với nguồn tham chiếu. |
| Asymmetric latency | Chiều chậm hơn ≥ 3× chiều nhanh hơn và lâu hơn ≥ 50 ms | Chú ý các lệnh lãi bị đóng chậm. |
| Rejected & resent | Lệnh cùng mã và cùng chiều bị từ chối trong vòng 10 s trước đó | Kiểm tra khối lượng và mức stop trước tiên. |
Một lệnh khớp tệ không chứng minh điều gì. Hai mươi lệnh khớp tệ liên tiếp trên một mã thì đáng để chú ý. Phép kiểm định hữu ích đơn giản nhất liên quan đến hướng trượt giá: khi khớp lệnh công bằng, một lệnh bị trượt giá có khả năng có lợi hay bất lợi cho bạn gần như ngang nhau, giống như tung đồng xu. Nếu 18 trong 20 lệnh bị trượt giá gần nhất của bạn là bất lợi, xác suất điều đó xảy ra với một đồng xu công bằng là khoảng 0.02%.
Broker Intervention Detection áp dụng ý tưởng này dưới dạng kiểm tra asymmetric slippage: trong 50 lệnh khớp gần nhất của chiến lược, nó gắn cờ mẫu hình khi ít nhất 65% lệnh bị trượt giá là bất lợi cho bạn và kiểm định nhị thức cho kết quả dưới p = 0.05. Hãy áp dụng cùng nguyên tắc cho mọi mẫu hình: đếm, so sánh với những gì yếu tố ngẫu nhiên có thể tạo ra, và so sánh với một broker thứ hai hoặc với cộng đồng trước khi kết luận bất cứ điều gì.
Lệnh của bạn cho biết về tài khoản của bạn. Lệnh của nhiều trader cho biết về broker. Khi dữ liệu khớp lệnh từ nhiều terminal được gộp lại một cách ẩn danh, nhiễu từ các kết nối riêng lẻ sẽ được trung bình hóa và hành vi thật của broker hiện ra: thời gian khớp điển hình và ở nhóm chậm nhất, hướng trượt giá, tần suất lệnh khớp ngoài thị trường. Một broker nhanh và công bằng với cộng đồng nhưng chậm với bạn cho thấy vấn đề nằm ở thiết lập của bạn; một broker chậm và một chiều với tất cả mọi người cho thấy vấn đề nằm ở broker.
Dữ liệu gộp cần có cơ chế bảo vệ: không có số tài khoản hay tên, chỉ công bố khi vượt quá số lượng trader và số lệnh tối thiểu, và kiểm duyệt mọi báo cáo nêu đích danh một trường hợp cụ thể.
Broker Execution Scorecard là nơi công bố dữ liệu cộng đồng từ các terminal SharpTrader. Dưới đây là cách đọc nó, dùng broker demo trong ảnh chụp màn hình của chúng tôi. Các broker trong ảnh chụp màn hình chỉ là ví dụ, và các con số đến từ môi trường thử nghiệm, không phải từ một broker thật.




Đọc các bảng theo thứ tự này và câu chuyện thường sẽ rõ ràng chỉ trong một phút:
Broker chỉ xuất hiện trên Scorecard khi vượt quá số lượt cài đặt và số lệnh tối thiểu. Tỷ lệ bất thường là tín hiệu chẩn đoán, không phải bằng chứng vi phạm. Báo cáo của thành viên được tính riêng với phát hiện tự động: báo cáo là một khiếu nại, còn cờ là một phép đo.
Chúng tôi đã tích hợp cả hai phần của quy trình này vào SharpTrader.


Video, 2:22: module và Scorecard khi hoạt động thực tế.
Thời gian khớp, trượt giá có dấu, độ lệch tham chiếu và các kiểm tra có tên cho mọi lệnh, cùng với so sánh cộng đồng.
Với các chiến lược ngắn hạn trên VPS gần máy chủ của broker, thời gian khớp trung vị dưới khoảng 150 đến 200 ms là điển hình, với P95 không cao hơn nhiều. Quan trọng hơn trung vị là sự ổn định và cân xứng: cùng một tốc độ khi mở và đóng lệnh, với cả giao dịch thắng và thua.
Tự bản thân nó thì không. Khi khớp lệnh công bằng, trượt giá xảy ra ở cả hai chiều. Nó trở thành cảnh báo khi phần lớn lệnh bị trượt giá là bất lợi cho bạn trên một số lượng lệnh đủ lớn.
Một cú spike giá bất lợi ngắn trên luồng giá của broker mà không nguồn giá tham chiếu độc lập nào ghi nhận. Nếu lệnh stop-loss bị kích hoạt bởi cú spike như vậy, lệnh stop đã bị chạm bởi một mức giá chưa từng thực sự được giao dịch ở nơi khác.
Với hướng trượt giá, cần ít nhất 30 đến 50 lệnh bị trượt giá cho mỗi mã. Với độ trễ, vài chục lệnh khớp đã cho thấy thời gian điển hình; nhóm chậm nhất cần nhiều lệnh hơn.
Việc đo lường là thụ động: nó chỉ đọc các lệnh đã đóng và báo giá của bạn. Nó không gửi gì đến broker và không thay đổi cách đặt lệnh.
Quy định phụ thuộc vào cơ quan quản lý và thỏa thuận tài khoản. Nhiều thỏa thuận cho phép requote và trượt giá khi thị trường biến động nhanh; đối xử một chiều với khách hàng có lãi lại là vấn đề khác. Hãy lưu bằng chứng theo từng lệnh và kiểm tra điều khoản của broker cũng như cơ quan quản lý.
Giao dịch luôn tiềm ẩn rủi ro. Hướng dẫn này mang tính giáo dục, không phải lời khuyên tài chính hay pháp lý. Kết quả phát hiện là thông tin chẩn đoán, không phải bằng chứng broker vi phạm.