Backtest là gì, và vì sao phần lớn người tập backtest sai

Backtest là việc đem một cách vào lệnh ra thử trên dữ liệu giá đã xảy ra trong quá khứ, để xem nếu hồi đó bạn làm đúng như vậy thì tài khoản hôm nay ra sao. Nghe đơn giản. Chỗ khó không nằm ở việc chạy thử — nó nằm ở việc chạy thử một cách trung thực.

Backtest trả lời được câu hỏi gì

Nó trả lời đúng một câu: cách vào lệnh này, lặp lại nhiều lần, đẻ ra dãy kết quả như thế nào. Không phải "lệnh tới có thắng không" — câu đó không ai trả lời được.

Điều đó nghe có vẻ ít, nhưng nó là toàn bộ thứ bạn cần. Giao dịch là trò chơi xác suất lặp lại. Một lệnh thắng chẳng chứng minh gì; một lệnh thua cũng vậy. Chỉ khi có đủ số lệnh thì hình dạng của dãy kết quả mới hiện ra: bạn lãi trung bình bao nhiêu mỗi lệnh, chuỗi thua dài nhất là bao nhiêu, và đoạn tụt vốn sâu nhất có phải thứ bạn chịu nổi không.

Vì vậy con số đầu tiên cần nhìn không phải lợi nhuận, mà là số lệnh. Ba mươi lệnh chưa nói lên gì. Một trăm lệnh bắt đầu có hình. Vài trăm lệnh thì các chỉ số mới thôi nhảy loạn mỗi lần bạn thêm một lệnh mới.

Ba cách backtest, và cái nào dạy được bạn

1. Nhìn lại biểu đồ bằng mắt

Kéo biểu đồ về quá khứ, chỉ vào vài chỗ và bảo "đây tôi sẽ mua". Đây là cách phổ biến nhất và cũng vô dụng nhất, vì lúc đó toàn bộ phần bên phải cây nến đang hiện trên màn hình. Bạn không thể không thấy nó, và bộ não sẽ lặng lẽ chọn những điểm vào lệnh mà nó biết là sẽ đúng. Đây không phải gian lận có ý thức, đây là cách thị giác hoạt động.

2. Backtest tự động bằng code

Viết luật thành chương trình rồi cho máy chạy qua nhiều năm dữ liệu. Chính xác, nhanh, lặp lại được. Nhược điểm: nó chỉ kiểm được những luật viết thành công thức, và nó không rèn được gì cho bạn — máy bấm nút chứ không phải bạn. Người có hệ thống tự động hoàn toàn thì đây là cách đúng. Người còn vào lệnh bằng tay thì không.

3. Tua lại từng cây nến

Ẩn hết phần tương lai, cho hiện từng cây nến một, và bạn quyết định tại chỗ như đang ngồi trước thị trường thật. Chậm hơn cách 2 rất nhiều, nhưng đây là cách duy nhất vừa kiểm được luật vừa rèn được người: bạn phải chịu cảm giác không biết cây nến sau là gì, đúng như lúc vào tiền thật.

Màn backtest của Sổ Lệnh làm theo cách thứ ba. Phần tương lai bị cắt khỏi dữ liệu chứ không phải bị che bằng lớp phủ — mở công cụ lập trình viên lên cũng không moi ra được.

Bốn kiểu tự lừa mình

Nhìn trộm tương lai

Kiểu rõ ràng nhất là thấy cây nến sau. Kiểu tinh vi hơn: bạn xem khung H4 và cây nến H4 đang chạy hiện ra đầy đủ. Nếu cây nến H4 hiện tại đã gộp đủ 240 phút trong khi thời điểm bạn đang đứng mới là phút thứ 27, thì bạn đang nhìn thấy giá đóng cửa của bốn tiếng tới. Toàn bộ bài tập mất sạch ý nghĩa mà bạn không hề biết.

Đây là lỗi âm thầm nhất trong các công cụ tua nến, vì trên màn hình mọi thứ vẫn trông bình thường. Cách kiểm: dừng lại giữa một cây nến khung lớn, ghi lại giá đóng cửa nó đang hiện, rồi tua tiếp cho hết khung đó và so lại. Hai số phải khác nhau.

Quên phí

Spread, commission và phí qua đêm ăn vào từng lệnh. Một cách đánh kiếm trung bình 3 pip mỗi lệnh nghe thì tốt, cho tới khi bạn trừ 1,5 pip spread và commission — còn một nửa. Cách đánh nào càng vào lệnh nhiều, càng nhắm mục tiêu ngắn, thì phí càng quyết định sống chết. Backtest không tính phí là backtest của một sản phẩm không tồn tại.

Đổi luật giữa chừng

Chạy được ba mươi lệnh, thấy xấu, bèn thêm một điều kiện lọc, rồi chạy lại từ đầu. Lặp lại đủ nhiều lần thì bạn sẽ có một bộ luật đẹp — đẹp trên đúng đoạn dữ liệu đó, và chỉ trên đoạn đó. Cái bạn vừa làm không phải kiểm chứng, mà là học thuộc đáp án. Ra thị trường thật nó rơi ngay.

Cách phòng: viết luật ra giấy trước khi chạy, và giữ nguyên tới hết. Muốn sửa thì được, nhưng phải coi đó là luật mới và chạy lại trên đoạn dữ liệu khác.

Dừng khi đang lãi

Backtest tới lệnh thứ 40 thấy đường vốn đang đẹp, thế là dừng và kết luận. Nếu bạn chạy tiếp tới lệnh 120 thì bức tranh có thể ngược hẳn. Quyết định dừng ở đâu phải được ấn định từ trước — chẳng hạn "chạy đủ 200 lệnh" hoặc "chạy hết năm 2024" — chứ không phải quyết theo tâm trạng lúc nhìn màn hình.

Backtest không đo được cái gì

Nói thẳng ra để bạn khỏi kỳ vọng sai. Ngay cả một backtest làm hoàn hảo cũng không chứa:

  • Trượt giá lúc tin ra. Dữ liệu nến không ghi lại việc lệnh của bạn khớp chậm mấy chục pip trong ba giây sau khi số liệu công bố.
  • Cảm xúc. Bấm nút khi tiền là giả thì dễ. Chuỗi thua năm lệnh liên tiếp trên tài khoản thật là một trải nghiệm hoàn toàn khác, và nó là thứ giết phần lớn tài khoản chứ không phải cách vào lệnh.
  • Việc bạn có thật sự tuân thủ hay không. Backtest đo cách đánh. Nó không đo được con người sẽ thực hiện cách đánh đó.
Vì vậy một backtest tốt không cho bạn sự tự tin. Nó cho bạn hai thứ khác, hữu ích hơn: bằng chứng rằng cách đánh này có nền tảng, và một con số cụ thể về đoạn tụt vốn bạn phải sẵn sàng chịu.

Làm thế nào cho ra kết quả dùng được

  1. Viết luật ra trước. Vào khi nào, cắt lỗ ở đâu, chốt ở đâu, khối lượng bao nhiêu. Cụ thể tới mức người khác đọc xong làm y hệt được.
  2. Ấn định trước điểm dừng. Số lệnh hoặc khoảng thời gian. Ghi ra.
  3. Bật phí đúng với sàn bạn định dùng. Trong Cài đặt có chỗ nhập commission và quy tắc khớp lệnh.
  4. Chạy hết, không sửa gì. Kể cả khi đang xấu. Nhất là khi đang xấu.
  5. Ghi lý do vào lệnh cho từng lệnh. Sáu tháng sau bạn sẽ không nhớ nổi vì sao mình bấm. Sổ lệnh có ô ghi chú và thẻ phân loại cho việc này.
  6. Đọc thống kê, không đọc cảm giác. Mở trang thống kê và xem các con số — bài này giải thích từng chỉ số.

Bước 5 và 6 là hai bước người ta bỏ nhiều nhất, và cũng là hai bước duy nhất biến một buổi bấm nút giải trí thành dữ liệu về chính bạn.

Thử luôn cho nhớ

Dữ liệu mẫu GBPUSD đã nạp sẵn. Không cần đăng ký, không cần cài gì.

Mở màn backtest →

Đọc tiếp: Đọc chỉ số hiệu suất · Xuất dữ liệu lịch sử từ MT4/MT5