1.000 biến thể chiến lược. Mức Sharpe đo được của phương án thắng cuộc là 2.0. Tỷ lệ dương tính giả 5%. Những con số đó nghe có vẻ là một kết quả vững chắc, cho đến khi bạn hỏi đã thử bao nhiêu lần để tìm ra nó. Nếu thử đủ nhiều, một backtest thuyết phục có thể xuất hiện chỉ nhờ nhiễu.
Con số đáng ngạc nhiên không phải là Sharpe. Mà là số lần thử. Mỗi khoảng thời gian của chỉ báo, ngưỡng vào lệnh, lựa chọn tập công cụ và ý tưởng bị loại bỏ đều tạo thêm một cơ hội chọn trúng kết quả may mắn. Nếu quy trình nghiên cứu bỏ quên những lần thử đó, phép tính độ tin cậy của bạn cũng vậy.
Vì sao thử nhiều chiến lược hơn lại khiến phương án thắng cuộc trông tốt hơn?
Hãy hình dung bạn kiểm tra 1.000 chiến lược không có lợi thế thực sự. Mỗi chiến lược có 5% khả năng trông có ý nghĩa thống kê theo một phép kiểm định thông thường. Trong nghiên cứu thực tế, các lần thử này không hoàn toàn độc lập, nhưng trực giác cơ bản vẫn đúng: càng xem xét nhiều ứng viên, càng có khả năng một ứng viên trông xuất sắc chỉ nhờ may rủi.
Ngay cả nếu mọi ứng viên đều độc lập, xác suất có ít nhất một ứng viên vượt ngưỡng 5% đó vào khoảng 99.4%. Trên thực tế, các thiết lập tham số gần nhau thường cho kết quả tương tự, nên 1.000 biến thể không tương đương với 1.000 lần tung đồng xu độc lập. Nhưng số lần thử hiệu dụng cũng hiếm khi chỉ là 1.
Đây là cái bẫy nhỏ tôi từng gặp trong notebook: nhà nghiên cứu thử các khoảng nhìn lại từ 5 đến 100, vẽ bề mặt Sharpe, rồi báo cáo đỉnh trông đẹp nhất. Bề mặt đó hữu ích để hiểu độ nhạy. Nhưng đỉnh cũng là sản phẩm của quá trình tìm kiếm, nên không đáng tin bằng một ngưỡng được chọn trước khi thử nghiệm.
Thế nào được tính là một lần thử nghiệm nghiên cứu?
Hãy tính cả những quyết định chịu ảnh hưởng từ kết quả đã quan sát. Một lần thử có thể là backtest được lập trình, nhưng cũng có thể là thay đổi thủ công sau khi xem đường cong vốn. Nếu bạn nới mức dừng lỗ vì thiết lập cũ bỏ lỡ một đợt tăng giá, lần điều chỉnh đó đã sử dụng thông tin từ giai đoạn kiểm định.
| Thao tác nghiên cứu | Thường được tính là một lần thử? | Lý do |
|---|---|---|
| Thử một ngưỡng tín hiệu khác | Có | Kết quả giúp chọn ứng viên |
| Thay đổi khoảng thời gian sau khi thấy sụt giảm | Có | Mẫu dữ liệu được chọn để phản ứng với hiệu suất |
| Sửa lỗi dữ liệu đã được ghi nhận | Thường là không | Thay đổi này khôi phục thí nghiệm theo đúng dự định |
| Chạy lại chiến lược đã cố định trên một giai đoạn giữ lại mới | Chưa phát sinh lần thử chọn lọc mới | Nó trở thành một lần thử nếu bạn tinh chỉnh dựa trên kết quả đó |
Ranh giới này cần được cân nhắc. Sửa lỗi đánh máy khác với thay đổi một đặc trưng sau khi nhận ra nơi nó thất bại. Hãy ghi lại ngắn gọn giả thuyết, thay đổi, giai đoạn dữ liệu và kết quả. Không cần trình bày cầu kỳ; một tệp CSV có ngày tháng còn tốt hơn việc cố dựng lại quá trình tìm kiếm từ trí nhớ sau 3 tháng.
Tôi có thể hiệu chỉnh Sharpe để tính đến việc kiểm định nhiều lần không?
Các phương pháp như Tỷ lệ Sharpe đã khử lạm phát ước tính mức hiệu suất biểu kiến có thể đến từ việc chọn lọc giữa nhiều ứng viên, đồng thời xét đến các yếu tố như phân phối lợi nhuận và mức độ phụ thuộc giữa các lần thử. Đây là công cụ chẩn đoán hữu ích, chứ không phải cỗ máy biến một quy trình nghiên cứu lộn xộn thành điều chắc chắn. Kết quả phụ thuộc vào các giả định và độ đáng tin cậy của số lần thử bạn khai báo.
Để hình dung sơ bộ, giả sử một nhà nghiên cứu đã thử 400 biến thể, tìm được Sharpe 1.8 và ước tính lợi nhuận có độ lệch và đuôi dày đáng kể. Kết quả đó cần vượt qua ngưỡng cao hơn Sharpe 1.8 từ một phép kiểm định được đăng ký trước. Hiệu chỉnh có thể làm bằng chứng yếu đi đáng kể; nó không thể cho bạn biết lợi thế đó là có thật.
Hãy ghi lại quá trình tìm kiếm trước khi cần giải trình: số lượng ứng viên, khoảng tham số, các giai đoạn dữ liệu đã xem và mọi điều chỉnh thủ công. Nếu không rõ những chi tiết này, hãy mô tả backtest là mang tính thăm dò.
Cần làm gì trước khi giao dịch mô phỏng?
Cố định một ứng viên và xác định cách đánh giá tiếp theo trước khi chạy thử. Một trình tự hữu ích là chọn chiến lược bằng dữ liệu huấn luyện, kiểm tra trên dữ liệu thẩm định, rồi dành riêng một giai đoạn cuối hoặc khoảng thời gian giao dịch mô phỏng không tác động ngược lại đến quá trình thiết kế. Mỗi giai đoạn trả lời một câu hỏi khác nhau; liên tục điều chỉnh chiến lược dựa trên giai đoạn cuối sẽ biến dữ liệu đó thành dữ liệu huấn luyện bổ sung.
Cũng nên xem các thiết lập lân cận có kể cùng một câu chuyện hay không. Một vùng rộng với kết quả dương tính vừa phải thường đáng tin hơn một đỉnh nhọn đơn độc, dù độ vững chắc không thể cứu được mô hình khớp lệnh sai lệch. Phí, funding, tác động thị trường và khả năng tiếp cận công cụ vẫn cần phản ánh đúng những gì chiến lược có thể gặp phải.
Giao dịch mô phỏng bổ sung bằng chứng về mức độ tương đồng trong vận hành: thời điểm, xử lý lệnh và việc quy trình nghiên cứu trực tiếp có hoạt động như dự kiến hay không. Nó không thể xóa bỏ quá trình chọn lọc đã diễn ra. Khi lệnh mô phỏng đầu tiên được gửi đi, 1.000 backtest may mắn vẫn là 1.000 lần thử.
Vì vậy, khi backtest báo Sharpe bằng 2, hãy xem lịch sử nghiên cứu bên cạnh đường cong vốn. Đã thử bao nhiêu ý tưởng? Kết quả nào đã làm thay đổi thí nghiệm tiếp theo? Câu trả lời có thể là thống kê quan trọng nhất trong báo cáo.
← Tất cả bài viết


