Hôm thứ Hai, tác nhân nghiên cứu AI của chúng tôi tìm ra một chiến lược hợp đồng tương lai crypto có tỷ lệ Sharpe 4.1. Đến thứ Năm, sau khi đếm số thử nghiệm và không để tác nhân tiếp tục tinh chỉnh trên cùng một khoảng thời gian xác thực, kết quả còn 0.8. Chiến lược không thay đổi. Ước tính của chúng tôi về những gì quá trình tìm kiếm đã đạt được thì có.
Chúng tôi ghi lại quá trình này thành một nhật ký nghiên cứu ngắn, vì “tối ưu hóa cẩn thận” là lời khuyên dễ đưa ra nhưng khó biến thành quy trình thực tế khi một tác nhân có thể viết mã, chạy kiểm thử ngược, xem điểm số rồi thử lại chỉ trong vài phút. Đây là những gì đã trục trặc, theo trình tự.
Thứ Hai: Đặt câu hỏi có giới hạn cho tác nhân
Chúng tôi yêu cầu tác nhân kiểm thử một ý tưởng xu hướng đơn giản theo giờ trên một thị trường hợp đồng tương lai vĩnh cửu có thanh khoản cao: vào lệnh khi đường trung bình động ngắn cắt đường dài hơn, xác định quy mô vị thế theo mục tiêu biến động cố định và đóng vị thế khi có tín hiệu ngược lại. Chúng tôi chỉ định công cụ, ngày tháng, biểu phí, lịch sử funding, giả định khớp lệnh và phạm vi tham số mà tác nhân được phép khám phá.
Mẫu dữ liệu lịch sử kéo dài từ 2021 đến 2025. Chúng tôi dành 2021–2023 cho phát triển, 2024 cho xác thực và niêm phong 2025 làm tập kiểm tra cuối cùng. Phân chia này được ghi trong cấu hình tác vụ, nên tác nhân có thể đọc kết quả phát triển và điểm xác thực nhưng không thể truy xuất lợi nhuận của tập kiểm tra.
Sai lầm đầu tiên của chúng tôi là cho phép thử 300 tổ hợp tham số trong một tác vụ mà không ghi ngân sách tìm kiếm như một kết quả nghiên cứu. Tác nhân trả về cấu hình đứng đầu: đường trung bình nhanh 9 giờ, đường trung bình chậm 73 giờ và mục tiêu biến động 0.8%. Sharpe xác thực của cấu hình này là 4.1. Chúng tôi biết tác nhân đã thử nhiều thiết lập. Nhưng chúng tôi chưa làm gì để không thể quên mất điều đó.
Thứ Ba: Cấu hình thắng cuộc thay đổi khi chạy lại
Chúng tôi chạy lại cùng tác vụ trong một môi trường sạch. Cấu hình đứng đầu đã thay đổi và Sharpe giảm xuống 2.7. Bộ nhớ đệm dữ liệu thị trường đã cung cấp một chuỗi funding được cập nhật trong lần chạy đầu, còn lần chạy lại dùng một bản chụp đã cố định. Cả hai tác vụ đều cho biết dùng cùng khoảng ngày, nhưng chỉ một tác vụ có phiên bản dữ liệu tái lập được.
Chúng tôi ngừng so sánh điểm số và bắt đầu ghi lại toàn bộ thử nghiệm: phiên bản mã, bản chụp dữ liệu, phí, funding, thiết lập khớp lệnh, giá trị tham số và mọi lượt thử do tác nhân khởi chạy. Qua đó, chúng tôi thấy 4.1 không phải lợi thế thị trường bí ẩn nào. Đó là kết quả của một cấu hình trong cuộc tìm kiếm gồm 300 lần thử trên cùng một năm xác thực.
Thứ Tư: Đóng băng quá trình tìm kiếm trước khi mở tập kiểm tra
Chúng tôi chạy lại thử nghiệm với bản chụp dữ liệu cố định và một lưới tham số nhỏ hơn, được xác định trước: 24 tổ hợp. Tác nhân có thể xếp hạng chúng trên giai đoạn phát triển 2021–2023. Chúng tôi cho tác nhân xem dữ liệu 2024 một lần để chọn cấu hình, sau đó khóa các thiết lập đã chọn cùng mã nguồn.
Chiến lược được chọn đạt Sharpe 0.8 trên tập xác thực. Trên tập kiểm tra 2025 đã niêm phong, chiến lược đạt 0.3 sau phí taker, funding và độ trễ khớp lệnh một nến được áp dụng nhất quán trong suốt nghiên cứu. Đó là một câu trả lời hữu ích. Nhưng chưa phải bằng chứng cho thấy chiến lược sẽ sinh lời trong tài khoản giao dịch thực.
Một chuyện bên lề trong tuần này: chúng tôi mất nhiều thời gian thống nhất thế nào là “một lần thử” hơn là viết mã đường trung bình động. Chúng tôi tính mỗi bộ tham số thay đổi là một lần thử, đồng thời tính cả những lượt chạy thay đổi tín hiệu hoặc quy tắc xác định quy mô vị thế. Một bản chụp dữ liệu mới hoặc giả định khớp lệnh mới được ghi thành lượt chạy riêng, vì mỗi thay đổi đều có thể tác động đến thứ hạng tương tự.
Thứ Năm: Những gì chúng tôi sẽ bỏ qua lần tới
Chúng tôi sẽ bỏ qua tác vụ mở, không giới hạn ban đầu. Một tác nhân nghiên cứu cần có ngân sách tìm kiếm và hồ sơ ghi lại những gì nó đã thử, nhất là khi nó có thể dùng mỗi kết quả để quyết định bước thử tiếp theo. Tập kiểm tra cũng cần được bảo vệ khỏi việc xem kết quả tùy tiện: một khi ai đó đọc kết quả rồi thay đổi chiến lược, tập đó đã trở thành một tập xác thực khác.
Với một cuộc tìm kiếm nhỏ, sổ theo dõi thử nghiệm có thể đơn giản và rõ ràng:
| Ghi lại | Lý do quan trọng |
|---|---|
| Phiên bản mã và dữ liệu | Để lần chạy lại dùng cùng đầu vào và logic |
| Mọi biến thể đã thử | Để hiểu cấu hình thắng cuộc trong bối cảnh toàn bộ quá trình tìm kiếm |
| Vai trò của giai đoạn phát triển, xác thực và tập kiểm tra | Để điểm số cuối cùng không bị âm thầm dùng lại cho việc tinh chỉnh |
| Giả định về phí, funding và khớp lệnh | Để kết quả báo cáo mô tả một mô phỏng có thể kiểm thử |
Sau khi mở tập kiểm tra, hãy quay lại giai đoạn phát triển với một câu hỏi nghiên cứu mới và lưu giữ kết quả cũ làm bằng chứng lịch sử. Đừng tiếp tục trau chuốt cùng một chiến lược trên giai đoạn mà nó đã được đánh giá.
Tác nhân đã làm đúng nhiệm vụ: tìm kiếm nhanh và đưa ra một cấu hình đáng để xem xét. Việc của chúng tôi là làm cho quá trình tìm kiếm minh bạch, giữ nguyên một tập kiểm tra chưa bị đụng đến và xem điểm số như một phép đo có lịch sử hình thành. Kết quả đáng chú ý không phải 4.1 hay 0.3. Đó là việc nhìn thấy chính xác con số đầu tiên được tạo ra như thế nào.
← Tất cả bài viết


