Backtest thủ công và tự động: nên chọn cách nào?
Backtest thủ công là việc người kiểm tra tự xem dữ liệu quá khứ và ghi nhận từng lệnh theo quy tắc. Backtest tự động dùng phần mềm thực hiện bộ quy tắc đã được mô tả. Cách phù hợp phụ thuộc điều bạn muốn kiểm tra và mức độ rõ ràng của chiến lược.
Để bắt đầu, hãy đọc khái niệm backtest và những lỗi thường gặp. Bài này tập trung vào cách chọn phương pháp và đối chiếu hai cách làm, thay vì hướng dẫn một chiến lược kiếm lời.

Backtest thủ công phù hợp khi nào?
Kiểm tra bằng tay hữu ích lúc bạn còn đang làm rõ tín hiệu, cần quan sát bối cảnh biểu đồ hoặc muốn hiểu vì sao một điều kiện xuất hiện. Người kiểm tra có thể dừng tại từng nến và ghi lại lý do vào, bỏ hoặc thoát lệnh.
Điểm yếu là cách diễn giải dễ thay đổi. Một vùng giá được xem là “đẹp” hôm nay có thể bị đánh giá khác ngày mai. Nếu nhìn trước đoạn giá tiếp theo, quyết định cũng có thể bị ảnh hưởng bởi kết quả đã biết.
Vì vậy, cần chốt tiêu chí trước buổi thử, chỉ dùng thông tin đã có tại thời điểm ra quyết định và ghi cả tín hiệu bị bỏ. Một nhật ký chỉ giữ lại lệnh dễ nhìn thấy sẽ không đại diện bộ quy tắc đã định.
Backtest tự động phù hợp khi nào?
Tự động hóa hữu ích khi tín hiệu, cách vào/ra và cách tính vị thế đã đủ rõ để phần mềm xử lý. Bạn có thể chạy cùng một cấu hình trên dữ liệu dài hơn và so sánh các phương án theo một quy trình lặp lại.
Phần mềm không tự sửa những giả định sai. Nếu quy tắc dùng dữ liệu tương lai, đặc tả sản phẩm không đúng hoặc mô hình khớp lệnh quá lý tưởng, chạy nhanh hơn chỉ tạo ra kết quả sai nhanh hơn.
Tài liệu Strategy Tester của MetaTrader 5 giới thiệu một ví dụ về công cụ kiểm thử tự động. Cơ chế của mỗi công cụ cần được đọc riêng, không mặc định mọi phần mềm mô phỏng giống nhau.
So sánh theo việc cần làm
| Tiêu chí | Thủ công | Tự động |
|---|---|---|
| Chuẩn bị | Cần tiêu chí và nhật ký nhất quán | Cần điều kiện mà phần mềm biểu diễn được |
| Quan sát bối cảnh | Linh hoạt nhưng dễ chủ quan | Phụ thuộc những biến đã đưa vào quy tắc |
| Lặp lại phép thử | Phải kiểm soát cách đánh giá của người thử | Có thể chạy lại cấu hình, cần giữ đúng dữ liệu và phiên bản |
| Kiểm tra lỗi | Đối chiếu từng tình huống | Đọc nhật ký và xem lại các lệnh đại diện |
| So sánh phương án | Tốn thêm công ghi chép | Vẫn cần kiểm soát số cấu hình đã thử |
Không nên kết luận kết quả thủ công đáng tin hơn chỉ vì có người xem, hoặc kết quả tự động đúng hơn chỉ vì có nhiều lệnh. Điều quan trọng là dữ liệu, quy tắc và giả định có được kiểm tra hay không.
Quy trình kết hợp hai cách
- Viết ý tưởng thành điều kiện cụ thể bằng mẫu quy tắc backtest.
- Chọn trước một đoạn dữ liệu nhỏ, có cả tình huống đủ và thiếu điều kiện.
- Ghi tín hiệu thủ công, thời điểm xác nhận, giá vào và lý do thoát.
- Chạy phiên bản tương ứng bằng phần mềm trên cùng dữ liệu.
- Đối chiếu từng chênh lệch trước khi mở rộng giai đoạn thử.
Nếu kết quả khác nhau, hãy kiểm tra múi giờ, nến đã đóng, điều kiện “cắt lên” so với “lớn hơn”, giá vào, spread và giới hạn vị thế. Không chỉ so tổng lãi rồi chọn phương án có số đẹp hơn.
Bắt đầu trên ThanhBinhTrading
Dùng công cụ Backtest khi điều kiện có thể biểu diễn trong giao diện; dùng Luyện tập để quan sát việc ra quyết định theo từng đoạn giá. Trước mỗi lần chạy, kiểm tra danh sách chuẩn bị backtest.
Mục tiêu đầu tiên là làm cho cùng dữ liệu và cùng quy tắc tạo ra một tập lệnh có thể giải thích. Chọn phương pháp giúp bạn làm rõ điều đó, rồi mới đánh giá kết quả.
Bài trước: Maximum drawdown là gì? Cách đọc mức sụt vốn Bài sau: Backtest và forward test khác nhau thế nào?