12 tháng Mười, 2026 · nghiên cứu

Chúng tôi mổ xẻ một backtest thị trường dự đoán đã mua nhầm hợp đồng

Chúng tôi mổ xẻ một backtest thị trường dự đoán đã mua nhầm hợp đồng

Một backtest thị trường dự đoán có thể dùng mã giao dịch trông có vẻ đúng, lịch sử giá đúng, nhưng lại nhầm hợp đồng. Lỗi này rất dễ bị bỏ sót vì tên thị trường thường ngắn, trang sự kiện có thể được cập nhật, còn một cổ phần YES lúc nào cũng trông như một mức giá từ 0 đến 1.

Hãy xét một thị trường giả định có nhãn “Đạo luật Giao thông Sạch có được thông qua không?” Một chiến lược mua YES ở mức 0.42 sau khi có tín hiệu tin tức. Về sau, backtest định giá vị thế ở mức 1.00. Trước khi tin vào khoản thắng đó, tôi muốn biết chính xác hợp đồng đã cam kết điều gì: dự luật nào, “được thông qua” nghĩa là gì, thời hạn ra sao và nguồn nào quyết định kết quả.

Tiêu đề: “Đạo luật Giao thông Sạch có được thông qua không?”

Tiêu đề là chuỗi hiển thị, không phải mã định danh công cụ ổn định. Hai thị trường có thể dùng cách diễn đạt gần như giống hệt nhau nhưng đề cập đến các kỳ họp lập pháp, dự luật sửa đổi hoặc thời hạn khác nhau. Nhà cung cấp cũng có thể đổi tiêu đề để làm rõ thị trường mà không thay đổi điều khoản cơ sở.

Vì vậy, backtest nên gắn vị thế với ID thị trường hoặc hợp đồng bất biến của nhà cung cấp, đồng thời lưu toàn văn quy tắc và phiên bản của chúng. Nếu dữ liệu lịch sử chỉ có tiêu đề và mã giao dịch, bạn không thể xác định chuỗi giá có thuộc về hợp đồng mà chiến lược dự định giao dịch hay không.

Trường nhận diệnXác định cụ thểLỗi nếu bị bỏ qua
Nhà cung cấp và ID thị trườngThị trường cụ thể được niêm yếtCác tiêu đề tương tự bị gộp làm một
Phiên bản quy tắcĐiều khoản mà người tham gia đã đồng ýBản chỉnh sửa về sau được áp dụng cho giao dịch trước đó
ID token kết quảQuyền nhận YES hoặc NO đang được giao dịchGiá YES và NO bị hoán đổi hoặc gộp chung
Nguồn phân xửBằng chứng dùng để quyết định kết quảBacktest giả định một cơ quan có thẩm quyền khác

Quy tắc: “được thông qua” nghĩa là gì?

Giả sử quy tắc nêu rằng dự luật phải được Hạ viện và Thượng viện thông qua trước ngày 30 tháng 6, sau đó được tổng thống ký ban hành. Backtest coi việc được một trong hai viện thông qua là thành công thì đã thay đổi điều kiện cược. Coi một dự luật cùng tên ở kỳ họp tiếp theo là đạt điều kiện cũng vậy.

Hãy đọc các tiêu chí phân xử thực tế như những điều kiện có thể thực thi. Ghi lại thời hạn và múi giờ, sự kiện đáp ứng điều kiện, mọi ngoại lệ và nguồn phân xử được nêu tên. Sự mơ hồ cũng quan trọng: nếu quy tắc của nhà cung cấp không giải quyết một tình huống hợp lý, đừng âm thầm chọn cách diễn giải khớp với kết quả lịch sử.

Có một phần công việc rất đỗi bình thường: lưu trang quy tắc trước khi có diễn biến đáng chú ý. Trang chỉ được chụp lại sau khi có kết quả có thể hiển thị câu chữ cuối cùng, trong khi chiến lược của bạn đã vào lệnh theo một phiên bản trước đó.

Dòng thời gian: khi nào chiến lược có thể biết thông tin?

Giờ giả sử quy tắc rõ ràng và tín hiệu tin tức xuất hiện lúc 14:05 UTC. Nguồn dữ liệu lịch sử ghi nhận một giao dịch diễn ra lúc 14:05, ở mức giá 0.42. Chỉ riêng dấu thời gian đó không cho biết thông tin đã có trước giao dịch hay chưa, mức giá được ghi nhận có thể khớp lệnh sau đó hay không, hoặc thanh giá biểu thị báo giá, giao dịch hay bản tóm tắt một khoảng thời gian.

Hãy tách riêng thời điểm tín hiệu khả dụng và thời điểm sự kiện thị trường. Sau đó, đặt lệnh vào thời điểm chiến lược đã có thể tính toán và gửi lệnh. Với thị trường thanh khoản mỏng, giao dịch tiếp theo được ghi nhận có thể diễn ra sau đó vài phút; điều đó không chứng minh lệnh của bạn sẽ được khớp ở mức giá ấy.

Giá: báo giá không đồng nghĩa với khớp lệnh

YES ở mức 0.42 tương đương giá 42 xu mỗi cổ phần, nhưng chuỗi giá giao dịch cuối cùng che khuất chênh lệch mua bán và khối lượng khả dụng. Nếu giá chào bán tốt nhất là 0.45 cho 20 cổ phần, một lệnh mua giả lập 100 cổ phần không thể được khớp toàn bộ ở mức 0.42. Lệnh có thể quét sổ lệnh, chờ hoặc không được khớp.

Giá thị trường dự đoán cũng dễ khiến ta đơn giản hóa việc hạch toán: coi 0.42 là xác suất 42% rồi quên rằng đó cũng là khoản tiền mặt bỏ ra để vào lệnh. Vị thế 100 cổ phần YES có giá vốn $42 trước phí. Nếu quyết toán ở mức $1, tổng tiền thu về là $100; nếu quyết toán ở mức $0, số tiền thu về bằng 0. Phí, khớp lệnh một phần và mọi cơ chế quyết toán riêng của nhà cung cấp cần được ghi vào sổ giao dịch.

$42Tổng giá vốn của 100 cổ phần YES ở mức $0.42
$100Tổng giá trị quyết toán nếu kết quả là YES
$0Tổng giá trị quyết toán nếu kết quả là NO

Quyết toán: điều gì kết thúc giao dịch?

Backtest thường kết thúc vị thế ở mức giá thị trường cuối cùng. Nhưng hợp đồng được giữ đến khi có kết quả sẽ trả tiền theo quy tắc, còn mức giá báo cuối cùng có thể đã cũ, chênh lệch mua bán lớn hoặc cách xa khoản chi trả thực tế sau cùng. Hãy mô hình hóa quyết toán như một sự kiện riêng: kết quả, thời điểm quyết toán và dòng tiền phải lấy từ hồ sơ hợp đồng.

Ngoài ra, hãy tính đến trường hợp thị trường có kết quả không hợp lệ hoặc bị tranh chấp, nếu quy tắc của nhà cung cấp có quy định. Trường hợp đó có thể hoàn lại tiền cược, trả một khoản khác hoặc cần thời gian xử lý. Giả định chi trả nhị phân không thể mô tả mọi kịch bản phân xử.

Kết luận về backtest

Với ví dụ này, tôi chỉ chấp nhận kết quả thắng đã báo cáo sau khi đối chiếu ID thị trường bất biến, phiên bản quy tắc có hiệu lực lúc vào lệnh, token YES, thời điểm tín hiệu khả dụng, giá chào bán và khối lượng có thể khớp, phí cùng hồ sơ quyết toán. Nếu kho lưu trữ giá không đủ dữ liệu để kiểm tra những điểm đó, kết quả trung thực nên là một khoảng kịch bản hoặc kết quả chưa được xác minh.

Điều đó có thể nghe khắt khe với một giao dịch nhỏ. Nhưng nếu cùng một lỗi ghép dữ liệu lặp lại trên hàng nghìn thị trường, backtest có thể trở thành một phép đo cẩn thận về những hợp đồng mà chiến lược của bạn chưa từng giao dịch.

thị trường dự đoánbacktestdữ liệu thị trườngkhớp lệnh
← Tất cả bài viết