BEQI: Bộ công cụ mã nguồn mở kiểm tra chất lượng khớp lệnh của broker forex 04/05/2026 – Posted in: Arbitrage Software
BEQI: Bộ công cụ mã nguồn mở để kiểm tra chất lượng khớp lệnh của bất kỳ broker forex nào
Các broker forex bán lẻ không công bố dữ liệu về chất lượng khớp lệnh. Không có chuẩn đối sánh công khai nào cho độ trễ khớp lệnh, bất đối xứng trượt giá, mức nới rộng spread hay thời gian giữ lệnh last-look. Chúng tôi đang thay đổi điều đó. BEQI — Broker Execution Quality Index (Chỉ số chất lượng khớp lệnh của broker) — là một phương pháp mở, một bộ công cụ Python mở và một bảng tính công khai mà bất kỳ ai cũng có thể đóng góp. Đo broker của chính bạn trong 30 phút; dữ liệu sẽ tích lũy thành một chuẩn đối sánh.
Vì sao trước đây chưa có đợt kiểm tra broker công khai
Khớp lệnh forex bán lẻ là tầng thiếu minh bạch nhất trong toàn bộ hệ thống giao dịch. Spread được quảng cáo. Hoa hồng được công bố. Mọi thứ từ lúc gửi lệnh đến khi khớp được xác nhận — độ trễ khớp lệnh, tính đối xứng của trượt giá, thời gian giữ last-look, tần suất requote, mức nới rộng spread tại thời điểm có tín hiệu — đều vô hình với nhà giao dịch và không được broker công bố. Backtest chiến lược giả định lệnh khớp với độ trễ bằng không (một vấn đề chúng tôi đã phân tích chi tiết trong Vì sao backtest arbitrage độ trễ không đứng vững trong thực tế). Các bài đánh giá broker chấm điểm về trải nghiệm người dùng và rút tiền. Không ai đo các biến số thực sự quyết định liệu một chiến lược có tồn tại được khi giao dịch thực hay không.
BEQI giải quyết một vấn đề cụ thể: không có phương pháp công khai, không có bộ công cụ dùng chung và không có bộ dữ liệu chuẩn đối sánh cho chất lượng khớp lệnh forex bán lẻ. Chúng tôi đã đo lường điều này trong nội bộ BJF Trading Group suốt nhiều năm để xây dựng khả năng hỗ trợ đặc thù từng broker cho SharpTrader Pro và SharpTrader Optimizer. Giờ đây chúng tôi công bố mã nguồn mở cho cả phương pháp lẫn mã.
Mục đích không phải là công bố bảng xếp hạng nêu tên broker (đó là một bãi mìn pháp lý và sẽ làm tổn hại tính toàn vẹn của dữ liệu). Mục đích là trao cho mọi nhà giao dịch, chuyên gia định lượng và nhà nghiên cứu công nghệ broker cùng một cách đo chuẩn hóa, cùng các script Python để chạy và một nơi công khai để gửi kết quả ẩn danh. Qua nhiều tháng, bảng tính sẽ trở thành chuẩn đối sánh. Bất kỳ ai cũng có thể tái lập phương pháp, phản biện hoặc mở rộng nó.
Luận điểm BEQI trong một câu
Nếu 10.000 nhà giao dịch đo chất lượng khớp lệnh của broker bằng cùng một phương pháp mở, kết quả sẽ là một chuẩn đối sánh công khai mà không broker nào có thể phủ nhận, không trang đánh giá nào có thể làm giả, và mọi nhà phát triển chiến lược có thể dùng để phân bổ vốn một cách tỉnh táo.
Năm khía cạnh của BEQI
Chất lượng khớp lệnh không phải là một con số duy nhất. BEQI phân tách nó thành năm khía cạnh trực giao, mỗi khía cạnh có thể đo độc lập từ sao kê giao dịch (và với hai trong số đó, từ luồng tick kết hợp với sao kê):
| Khía cạnh BEQI | Đo lường gì | Đơn vị | Nguồn | Tốt hơn khi… |
|---|---|---|---|---|
| 1. Độ trễ khớp lệnh | Thời gian trung vị từ lúc gửi lệnh đến khi khớp được xác nhận | mili giây | Dấu thời gian trong sao kê + log thời điểm gửi | Thấp hơn |
| 2. Bất đối xứng trượt giá | Tỷ lệ lệnh khớp trượt giá âm so với lệnh khớp trượt giá dương | tỷ lệ (1.0 = đối xứng, >1.0 = bất lợi cho nhà giao dịch) | Sao kê: giá yêu cầu so với giá khớp | Gần 1.0 hơn |
| 3. Hệ số nới rộng spread | Mức giãn spread tại thời điểm có tín hiệu so với mức nền | hệ số nhân (1.0 = không nới rộng, 3.0 = nới rộng 3 lần) | Luồng tick quanh dấu thời gian lệnh | Gần 1.0 hơn |
| 4. Thời gian giữ last-look | Độ trễ trung vị giữa dấu thời gian khớp và xác nhận | mili giây | Log FIX hoặc sao kê mở rộng | Thấp hơn / bằng không |
| 5. Tỷ lệ requote | Số lần requote trên 100 lệnh | số lần trên 100 | Sự kiện requote trong sao kê | Thấp hơn / bằng không |
Mỗi khía cạnh đều có ý nghĩa độc lập. Một broker có thể có độ trễ khớp lệnh thấp nhưng bất đối xứng trượt giá cao, hoặc ngược lại — các tổ hợp này kể những câu chuyện khác nhau về cách broker thực sự hành xử. Bộ công cụ báo cáo riêng từng khía cạnh và một điểm BEQI tổng hợp (có trọng số) ở cuối.
Cách chạy kiểm tra trên broker của bạn (30 phút)
Bạn cần ba thứ: (a) sao kê giao dịch có ít nhất 200 lệnh khớp trong ít nhất một tuần giao dịch, (b) Python 3.10+ trên bất kỳ máy nào, (c) 30 phút. Bộ công cụ lo phần còn lại.
Bước 1 — Xuất sao kê
Bộ công cụ chấp nhận ba định dạng đầu vào:
- Sao kê HTML của terminal phổ biến (lưu từ chức năng “save as report” của nền tảng giao dịch bán lẻ) — hầu hết nhà giao dịch bán lẻ sẽ dùng định dạng này
- Log FIX (bản xuất thông điệp FIX 4.4) — dành cho nhà giao dịch chạy qua FIX bridge hoặc kết nối tổ chức
- CSV với các cột
order_id, send_time, fill_time, requested_price, filled_price, side, volume— cho mọi trường hợp khác, bao gồm log tùy chỉnh
Nếu nền tảng của bạn không cung cấp thời điểm gửi (khoảnh khắc chiến lược quyết định gửi lệnh), bạn vẫn có thể đo khía cạnh 2 và 5 (bất đối xứng trượt giá và tỷ lệ requote) từ một sao kê cơ bản. Các khía cạnh 1, 3 và 4 cần log chi tiết hơn.
Bước 2 — Cài đặt và chạy
$ cd forex-broker-audit-toolkit
$ pip install -r requirements.txt
$ python beqi.py –input my_statement.html –tick-data eurusd_ticks.csv –output report.json
Bộ công cụ tự động nhận diện định dạng đầu vào. beqi.py chuyển dữ liệu tới các bộ phân tích cho từng khía cạnh, in bản tóm tắt và ghi báo cáo JSON mà bạn có thể gửi lên bảng tính công khai.
Bước 3 — Xem báo cáo
Báo cáo bao gồm điểm của năm khía cạnh, BEQI tổng hợp, chẩn đoán cỡ mẫu (N càng nhỏ thì độ tin cậy càng thấp) và phân loại cấp độ (từ 1 đến 4, xem bên dưới). Chạy trên nhiều dữ liệu hơn để thu hẹp khoảng tin cậy.
Ẩn danh theo mặc định
Bộ công cụ không bao giờ thấy số tài khoản, số dư tài khoản, P&L hay quy mô vị thế của bạn. Nó chỉ sử dụng dấu thời gian, giá, chênh lệch giữa giá yêu cầu và giá khớp, và loại sự kiện. JSON đầu ra chứa điểm BEQI, cỡ mẫu, các cặp tiền được bao quát và khoảng thời gian — không có gì mang tính nhận dạng. Bạn có thể gửi nó lên bảng tính công khai một cách ẩn danh.
Đọc kết quả: bốn cấp độ BEQI
Dựa trên các phép đo nội bộ trên những broker mà SharpTrader Pro hỗ trợ, dưới đây là các cấp độ thực nghiệm. Đây là mức nền khởi điểm — bảng tính công khai sẽ tinh chỉnh chúng theo thời gian.
Cấp 1 · ECN tổ chức
BEQI 85–100
- Độ trễ khớp lệnh: 5–15 ms
- Bất đối xứng trượt giá: 1.0–1.05
- Nới rộng spread: 1.0–1.3x
- Last-look: 0–5 ms
- Tỷ lệ requote: <0.5 / 100
Cấp 2 · Bán lẻ nhanh / bridge nhanh
BEQI 65–85
- Độ trễ khớp lệnh: 30–80 ms
- Bất đối xứng trượt giá: 1.05–1.20
- Nới rộng spread: 1.3–2.0x
- Last-look: 50–150 ms
- Tỷ lệ requote: 0.5–2 / 100
Cấp 3 · Bán lẻ tiêu chuẩn
BEQI 40–65
- Độ trễ khớp lệnh: 80–200 ms
- Bất đối xứng trượt giá: 1.20–1.50
- Nới rộng spread: 2.0–3.5x
- Last-look: 200–500 ms
- Tỷ lệ requote: 2–5 / 100
Cấp 4 · Có vấn đề
BEQI 0–40
- Độ trễ khớp lệnh: 200+ ms
- Bất đối xứng trượt giá: 1.50+
- Nới rộng spread: 3.5x+
- Last-look: 500+ ms
- Tỷ lệ requote: 5+ / 100
Phân loại cấp độ quan trọng vì cùng một chiến lược giao dịch sẽ cho kết quả thực tế khác nhau rất lớn giữa các cấp. Một chiến lược arbitrage độ trễ có lãi ở Cấp 1 sẽ sụp đổ ở Cấp 3. Một chiến lược theo xu hướng giữ vị thế trong nhiều giờ gần như không bị ảnh hưởng giữa Cấp 1 và Cấp 3 nhưng chịu thiệt rõ rệt ở Cấp 4. Biết cấp độ của broker trước khi cam kết vốn là yếu tố quyết định.
Bảng tính BEQI công khai
Bảng tính là tài sản dài hạn. Bất kỳ ai cũng có thể đóng góp một dòng cho mỗi đợt kiểm tra. Mỗi dòng chứa điểm của năm khía cạnh, điểm tổng hợp, cỡ mẫu, các cặp tiền được bao quát, khoảng thời gian và (tùy chọn, tự nguyện) tên broker. Chúng tôi dự kiến — và hoan nghênh — các bài gửi ẩn danh để trống tên broker; theo thời gian, ngay cả những bài gửi này cũng tạo ra các phân phối tổng hợp hữu ích về chất lượng khớp lệnh trong toàn ngành forex bán lẻ.
Mở trong tab mới →
Cách gửi: chạy bộ công cụ, sao chép kết quả JSON, dán vào biểu mẫu gửi (liên kết nằm trong bảng tính). Các dòng mới được xem xét tính hợp lý và chấp nhận trong vòng 24 giờ. Chúng tôi không chỉnh sửa điểm đã gửi; chúng tôi có thể đánh dấu các dòng có cỡ mẫu <100 lệnh khớp là độ tin cậy thấp.
Chi tiết phương pháp (dành cho người thẩm định và người tái lập)
Đặc tả toán học đầy đủ nằm trong METHODOLOGY.md trong kho mã, nhưng các quyết định cốt lõi là:
1. Độ trễ khớp lệnh
Trung vị (không phải trung bình) của fill_time − send_time. Chúng tôi dùng trung vị vì phân phối độ trễ khớp lệnh bị lệch phải bởi các giá trị ngoại lai 1–5 giây thỉnh thoảng xuất hiện (định tuyến lại mạng, broker tạm dừng GC) không đại diện cho khớp lệnh điển hình. Chúng tôi báo cáo riêng trung vị, p90 và p99 để người đọc thấy được phần đuôi.
2. Bất đối xứng trượt giá
Với mỗi lệnh khớp, trượt giá có dấu: dương nghĩa là nhà giao dịch nhận giá tốt hơn giá yêu cầu, âm nghĩa là tệ hơn. Bất đối xứng = (số lần trượt giá âm) / (số lần trượt giá dương). Một broker đối xứng, trung lập đạt khoảng ~1.0. Trên 1.2 cho thấy việc khớp lệnh của broker thiên lệch bất lợi cho nhà giao dịch — do quy tắc định tuyến, last-look có chọn lọc hoặc slippage engine bất đối xứng.
3. Hệ số nới rộng spread
Với mỗi dấu thời gian lệnh, chúng tôi đo spread trong cửa sổ 50 ms quanh lệnh so với spread trong cửa sổ nền 5 phút tại cùng giờ trong ngày của tuần trước. Tỷ lệ này là hệ số nới rộng. Việc này cần luồng tick bao phủ khoảng thời gian kiểm tra; bộ công cụ chấp nhận CSV của BJF Feed và định dạng lịch sử tick tiêu chuẩn từ các nền tảng phổ biến.
4. Thời gian giữ last-look
Chỉ đo được từ log FIX hoặc sao kê mở rộng thể hiện cả trạng thái đã khớp-đang chờ lẫn trạng thái đã xác nhận. Sao kê HTML bán lẻ tiêu chuẩn thường không thể hiện điều này, khi đó bộ công cụ báo cáo null cho khía cạnh này và BEQI tổng hợp được tính từ bốn khía cạnh còn lại. Last-look là một trong nhiều kỹ thuật can thiệp khớp lệnh phía broker — xem bài phân tích chuyên sâu về bảy plugin chống arbitrage của broker để hiểu nhóm rộng hơn.
5. Tỷ lệ requote
Được đếm từ các sự kiện requote rõ ràng trong sao kê. Nếu sao kê không đánh dấu requote (một số terminal không làm vậy), bộ công cụ suy ra chúng bằng cách phát hiện bộ ba gửi/hủy/gửi lại trong cửa sổ 200 ms.
BEQI tổng hợp
Mỗi khía cạnh được quy đổi thành điểm thành phần 0–100 theo các định nghĩa cấp độ ở trên. Điểm tổng hợp là trung bình nhân có trọng số: BEQI = (L^0.30 × A^0.25 × W^0.20 × H^0.15 × R^0.10) trong đó L, A, W, H, R là năm điểm thành phần. Chúng tôi dùng trung bình nhân thay vì trung bình cộng để một điểm thảm họa ở bất kỳ khía cạnh nào (ví dụ last-look = 1500ms) không thể bị che giấu bởi điểm tốt ở các khía cạnh khác. Trọng số có thể tranh luận và được công bố rõ ràng để người thẩm định có thể tính lại với trọng số khác từ các điểm thành phần gốc.
Giới hạn và công bố
- Phụ thuộc vào cỡ mẫu. Kiểm tra 50 lệnh khớp chỉ là cảm tính; 500 lệnh khớp là một phép đo; 5.000 lệnh khớp là một chuẩn đối sánh. Bộ công cụ báo cáo khoảng tin cậy theo cỡ mẫu; người đọc nên đánh giá các bài gửi có N thấp cho phù hợp.
- Biến động theo thời điểm trong ngày. Cùng một broker có thể cho kết quả Cấp 2 lúc mở phiên London và Cấp 3 lúc chuyển phiên châu Á. Các đợt kiểm tra nên ghi rõ khung thời gian.
- Khác biệt ở cấp tài khoản. Broker có thể áp dụng logic định tuyến khác nhau cho từng tài khoản dựa trên hồ sơ, số dư và mẫu giao dịch. Kết quả kiểm tra của một nhà giao dịch có thể không áp dụng cho người khác trên cùng một broker danh nghĩa. Để có hướng dẫn chọn broker độc lập với kiểm tra khớp lệnh, xem hướng dẫn broker cho arbitrage forex của chúng tôi.
- Bất đối xứng không chứng minh ác ý. Mức bất đối xứng 1.4 là tín hiệu thống kê rõ rệt, nhưng nguyên nhân có thể là định tuyến qua các nhóm LP bất đối xứng chứ không phải thao túng chủ động. Bộ công cụ đo hành vi, không đo ý định.
- Phương pháp chắc chắn sẽ sai ở điểm nào đó. Đó là lý do nó là mã nguồn mở. Hãy gửi issue, gửi PR, đề xuất trọng số thay thế, tái lập trên broker mà chúng tôi chưa bao quát. Phương pháp v2 sẽ kết hợp những phản biện xác đáng nhất.
Lộ trình
| Phiên bản | Nội dung phát hành | Thời gian |
|---|---|---|
| v1.0 | Phương pháp + bộ công cụ Python + bảng tính công khai (bạn đang ở đây) | Q2 2026 |
| v1.1 | Cải tiến trình phân tích log FIX; phát hiện last-look từ các mẫu heuristic khi không có dấu thời gian rõ ràng | Q3 2026 |
| v1.2 | Khía cạnh gắn cờ mẫu AI (khía cạnh thứ sáu): tiêu chí phát hiện hành vi throttle thích ứng | Q3 2026 |
| v2.0 | Bảng điều khiển công khai trực tuyến tại beqi.bjftradinggroup.com; phân phối tổng hợp trên các bài gửi; cập nhật phương pháp dựa trên phản hồi cộng đồng |
Q4 2026 |
Câu hỏi thường gặp
Không. BEQI là một phương pháp mở và một bộ dữ liệu công khai gồm các đợt kiểm tra ẩn danh. Chúng tôi cố ý không công bố bảng xếp hạng broker từ bộ dữ liệu này vì (a) điều đó sẽ làm tổn hại tính toàn vẹn của dữ liệu — broker sẽ tối ưu cho tín hiệu kiểm tra thay vì cho chất lượng khớp lệnh, và (b) đó là một bãi mìn pháp lý. Bất kỳ ai muốn công bố bảng xếp hạng đều có thể làm vậy bằng dữ liệu mở; chúng tôi công bố công cụ, phương pháp và các phép đo.
Hầu hết các trang đánh giá broker chấm điểm về trải nghiệm người dùng, tốc độ rút tiền, hỗ trợ khách hàng và spread quảng cáo — những biến số bề mặt. Không trang nào đo độ trễ khớp lệnh, bất đối xứng trượt giá hay thời gian giữ last-look. BEQI lấp đầy khoảng trống cụ thể đó: đây là phép đo chất lượng khớp lệnh, không phải bài đánh giá broker chung chung.
Bộ công cụ xử lý tình huống này một cách hợp lý. Các khía cạnh không thể đo từ dữ liệu đầu vào được báo cáo là null thay vì bằng không, và BEQI tổng hợp được tính từ các khía cạnh CÓ THỂ đo, với trọng số được chuẩn hóa lại. JSON đầu ra ghi rõ khía cạnh nào bị bỏ qua và lý do, để kết quả trung thực về phạm vi bao quát.
Kiểm tra trên demo hữu ích nhưng không tương đương. Nhiều broker định tuyến tài khoản demo qua bộ khớp lệnh tổ chức (không last-look, không nới rộng spread, độ trễ thấp) trong khi tài khoản thực đi qua bộ khớp lệnh bán lẻ. Luôn kiểm tra tài khoản thực với khối lượng thực (nhỏ) để đo hành vi thực. Bộ công cụ vẫn chấp nhận dữ liệu demo và đánh dấu kết quả là “demo” trong JSON đầu ra.
200 lệnh khớp là mức tối thiểu thực tế để có tín hiệu dùng được. 500–1.000 lệnh khớp là mức khoảng tin cậy đủ hẹp để phân loại cấp độ một cách chắc chắn. Trên 5.000 lệnh khớp, đợt kiểm tra trở thành phép đo ở cấp độ nghiên cứu. Bạn có thể đạt 200 lệnh khớp trong một tuần bằng cách đặt 30–40 lệnh thị trường nhỏ mỗi ngày (không cần dùng vốn lớn).
Ở dạng hiện tại, phương pháp này dành riêng cho forex — nới rộng spread và last-look là khái niệm của forex, không phải của sàn giao dịch. Một chỉ số tương đương cho crypto sẽ cần các khía cạnh khác (ví dụ độ sâu sổ lệnh tại giá khớp, trượt giá do tác động thị trường, độ trễ rút tiền). Chúng tôi có thể công bố chỉ số crypto-CEQI sau này. Hiện tại, xem phương pháp arbitrage crypto của chúng tôi — chỉ số khác, cùng triết lý dữ liệu mở. Bộ công cụ forex sẽ không cho kết quả có ý nghĩa trên dữ liệu crypto.
Rất chặt chẽ. SharpTrader Optimizer backtest chiến lược với thời gian khớp lệnh có thể cấu hình và trượt giá theo từng tick — nói cách khác, chính các biến số mà BEQI đo trên broker thực của bạn. Nếu broker của bạn đạt Cấp 3 (độ trễ khớp lệnh 80–200 ms), bạn nên cấu hình Optimizer với thời gian khớp lệnh = 100–200 ms trước khi kết luận chiến lược khả thi. BEQI đo broker; Optimizer mô phỏng chiến lược trong điều kiện thực của broker đó. Kết hợp lại, chúng cho bạn biết có nên giao dịch hay không. Logic tương tự áp dụng nếu bạn giao dịch các chiến lược arbitrage forex nói chung — đo broker trước, sau đó điều chỉnh quy mô chiến lược theo hồ sơ khớp lệnh thực tế.
Câu hỏi hợp lý. Chúng tôi có lợi ích thương mại trong việc arbitrage và backtest có tính đến khớp lệnh được xem trọng, và BEQI rõ ràng phục vụ điều đó. Chúng tôi không có lợi ích thương mại nào trong việc một broker cụ thể được điểm cao hay thấp — SharpTrader Pro hỗ trợ broker ở cả bốn cấp độ, và khách hàng tự chọn nơi giao dịch. Chúng tôi công bố phương pháp dưới dạng mã nguồn mở chính là để bạn không phải tin lời chúng tôi: mã có thể kiểm tra, phép đo có thể tái lập, và bất kỳ nhà nghiên cứu nào cũng có thể tái lập hoặc bác bỏ các con số nội bộ của chúng tôi.
Năm cách: (1) chạy bộ công cụ trên broker của bạn và gửi JSON lên bảng tính công khai; (2) mở issue trên kho GitHub khi trình phân tích lỗi với định dạng sao kê của bạn; (3) gửi pull request cho trình phân tích định dạng sao kê mới; (4) đề xuất cải tiến phương pháp qua các chủ đề thảo luận; (5) viết phân tích của riêng bạn dựa trên bộ dữ liệu mở và dẫn liên kết lại — chúng tôi sẽ giới thiệu các bài viết bên ngoài chất lượng trong bản tin của mình.
Các bài gửi lên bảng tính công khai mặc định là ẩn danh — tên broker là tùy chọn, ID tài khoản không bao giờ được thu thập, và JSON đầu ra không chứa thông tin nhận dạng. Chúng tôi chưa nghe về trường hợp broker trả đũa việc đo chất lượng khớp lệnh (sẽ khó làm vậy mà không thừa nhận kết quả kiểm tra là chính xác), nhưng tùy chọn ẩn danh tồn tại chính là để loại bỏ rủi ro đó.
Kiểm tra broker của bạn ngay hôm nay
30 phút. Mã nguồn mở. Phương pháp công khai. Gửi ẩn danh. Chuẩn đối sánh chỉ tồn tại nếu các nhà giao dịch cùng đóng góp — hãy bắt đầu với broker của bạn.