Nên kiểm thử lại (backtest) bot giao dịch crypto như thế nào?
Câu trả lời trực tiếp
Một kiểm thử lại đáng tin cậy phải ngăn dữ liệu tương lai lọt vào các quyết định trong quá khứ, dùng giá có thể khớp được, tính phí, trượt giá, độ trễ và funding, đồng thời đánh giá các giai đoạn ngoài mẫu. Chỉ lợi nhuận thôi là chưa đủ; hãy xem xét mức sụt giảm, số lượng giao dịch, mức phụ thuộc vào trạng thái thị trường và độ nhạy với tham số.
Công thức
Lợi nhuận ròng của chiến lược = lãi/lỗ gộp từ giao dịch − phí − trượt giá − funding − lỗi khớp lệnh
Ví dụ tính
Một chiến lược cho thấy lợi thế gộp 8 bps mỗi giao dịch nhưng phải trả 5 bps phí hai chiều và 2 bps trượt giá thì chỉ còn 1 bp trước funding và lỗi. Những giả định nhỏ cũng có thể xóa sạch lợi thế tưởng chừng có được.
Các bước thực hiện
- Cố định định nghĩa tín hiệu trước khi kiểm thử.
- Dùng giai đoạn huấn luyện và kiểm thử theo thứ tự thời gian.
- Mô phỏng đầy đủ chi phí khớp lệnh.
- Giao dịch thử (paper trading) trước khi chạy thật.
Lỗi thường gặp
- Tối ưu hàng trăm tham số trên một mẫu dữ liệu.
- Dùng giá đóng cửa cho một lệnh khớp không thể thực hiện.
- Bỏ qua sự cố sàn và giới hạn tần suất gọi API.
Câu hỏi thường gặp
Sai lệch nhìn trước (look-ahead bias) là gì?
Nó xảy ra khi một quyết định trong quá khứ sử dụng thông tin chưa có tại thời điểm đó.
Bao nhiêu dữ liệu ngoài mẫu là đủ?
Đủ để bao gồm nhiều điều kiện thị trường và một số lượng giao dịch có ý nghĩa; không có mức tối thiểu chung.
Khi nào nên cho bot chạy thật?
Chỉ sau khi kết quả giao dịch thử ổn định, có giám sát vận hành, giới hạn rủi ro và một đợt chạy thật nhỏ có kiểm soát.