Hãy định nghĩa quy tắc không mơ hồ, dùng dữ liệu lịch sử sạch, tính cả phí và trượt giá, thử nghiệm trên một giai đoạn rồi xác thực bằng dữ liệu chưa từng dùng. Báo cáo mức sụt giảm và phân bố kết quả giao dịch, không chỉ tổng lợi nhuận.
Ý tưởng cốt lõi#
Backtest rất dễ bị khớp quá mức vì người nghiên cứu thường sửa quy tắc sau khi đã nhìn thấy kết quả. Cấu trúc thị trường, thanh khoản và danh sách token trên thị trường crypto cũng thay đổi theo thời gian.
Giao diện công cụ chỉ cho thấy một phần của hệ thống. Hãy xác nhận đúng sàn, cặp, khung thời gian, múi giờ và nguồn dữ liệu trước khi coi một tên quen thuộc là bằng chứng.
Quy trình từng bước#
- Viết quy tắc vào và thoát trước khi xem kết quả. Nêu rõ dữ liệu nào tạo tín hiệu, mức giá giả định khớp và cách xử lý khi nhiều điều kiện xuất hiện cùng lúc.
- Dùng dữ liệu có tính đến thiên lệch sống sót. Tập dữ liệu phải bao gồm cả token bị hủy niêm yết hoặc thất bại nếu chúng từng thuộc phạm vi chiến lược, thay vì chỉ giữ những tài sản còn tồn tại.
- Mô phỏng khớp lệnh và chi phí thực tế. Tính phí maker/taker, spread, trượt giá, funding và khả năng không khớp theo giả định thận trọng.
- Tách giai đoạn phát triển và giai đoạn ngoài mẫu. Chỉ dùng tập đầu để xây quy tắc; giữ nguyên tập sau để kiểm tra xem chiến lược có hoạt động trên dữ liệu chưa thấy hay không.
- Kiểm tra độ bền theo tham số và chế độ thị trường. Thử các giá trị lân cận và nhiều giai đoạn tăng, giảm, đi ngang; kết quả không nên sụp đổ chỉ vì một thay đổi nhỏ.
Những kiểu sai lệch cần theo dõi#
- Vô tình dùng dữ liệu tương lai. Tín hiệu hoặc mức khớp có thể dựa vào thông tin chưa tồn tại tại thời điểm quyết định mô phỏng.
- Bỏ qua token đã hủy niêm yết. Điều này làm kết quả đẹp giả tạo vì chỉ đo những tài sản sống sót đến hiện tại.
- Tối ưu hàng chục tham số. Càng thử nhiều tổ hợp, khả năng tìm được một kết quả tốt do ngẫu nhiên càng cao.
- Cho rằng mọi mức giá trên nến đều có thể khớp. Một cây nến không cho biết thứ tự giá, độ sâu sổ lệnh hay liệu khối lượng của bạn có thể được thực hiện tại mức đó.
Khi nào nên dừng hoặc đổi hướng#
Chiến lược vững nên còn hợp lý khi tham số thay đổi nhẹ. Chỉ có một thiết lập duy nhất cho kết quả hoàn hảo thường là dấu hiệu cảnh báo, không phải lợi thế.
Bằng chứng cho thấy quy trình đã hoàn tất#
Đừng đánh giá backtest chỉ bằng thông báo chạy thành công. Hãy lưu bằng chứng để một người khác có thể tái hiện sau khi đóng công cụ.
| Điểm kiểm tra | Bằng chứng | Điều kiện dừng |
|---|---|---|
| Viết quy tắc vào và thoát trước khi xem kết quả | Bản quy tắc có dấu thời gian và phiên bản cố định | Phát hiện dữ liệu tương lai trong tín hiệu hoặc giá khớp |
| Dùng dữ liệu có tính đến thiên lệch sống sót | Nguồn dữ liệu, danh sách tài sản và các mã bị hủy niêm yết | Tập dữ liệu chỉ chứa token còn tồn tại |
| Mô phỏng khớp lệnh và chi phí thực tế | Giả định phí, trượt giá, thanh khoản và kết quả sau chi phí | Đang tối ưu quá nhiều tham số trên cùng một mẫu |
Hãy ghi lại phân bố lãi lỗ, drawdown, phí và các giai đoạn chiến lược không hoạt động. Tổng lợi nhuận chỉ là một phần của hồ sơ.
Câu hỏi thường gặp#
Thiên lệch nhìn trước là gì?
Đó là việc dùng thông tin chưa sẵn có tại thời điểm quyết định được mô phỏng.
Có thể backtest bằng bảng tính không?
Có, với quy tắc đơn giản, miễn là dữ liệu và giả định khớp lệnh được xử lý cẩn thận.
Backtest có lợi nhuận có dự báo chắc chắn lợi nhuận thật không?
Không. Nó chỉ là bằng chứng về hành vi lịch sử theo một bộ giả định, không phải sự bảo đảm cho tương lai.
Hướng dẫn liên quan#
Nguồn tham khảo#
- Coinbase: Tìm hiểu các loại lệnh
- CFTC: Cảnh báo khách hàng về tiền mã hóa
- Kraken: Các loại lệnh giao dịch
Cảnh báo rủi ro: Giao dịch crypto có thể gây thua lỗ nhanh. Ví dụ chỉ nhằm mục đích giáo dục, không phải tư vấn tài chính cá nhân; hãy kiểm tra quy tắc sàn, phí và nghĩa vụ pháp lý hoặc thuế trước khi hành động.
Tiêu chuẩn biên tập
Bài viết mang tính giáo dục và dựa trên nguồn đáng tin cậy. Biện pháp bảo mật, quy định của sàn và yêu cầu pháp lý có thể thay đổi; hãy kiểm tra nguồn chính thức trước khi hành động.