Định nghĩa ngắn
Look-ahead bias (sai lệch nhìn trước) là lỗi backtest khi chiến lược dùng dữ liệu mà ở thời điểm ra quyết định thực tế người giao dịch chưa thể biết.
Backtest là việc chạy một quy tắc giao dịch trên dữ liệu quá khứ để xem kết quả giả định. Khi có look-ahead bias, kết quả thường đẹp hơn thực tế, vì chiến lược đã "biết trước" một phần tương lai.
Sẵn sàng thử trên tài khoản thật hoặc demo?
Liên kết đối tác · giao dịch có rủi ro thua lỗ cao
Định nghĩa chính xác
Mỗi quyết định tại thời điểm t chỉ được dựa trên tập thông tin có sẵn đến đúng thời điểm t. Nếu tín hiệu, bộ lọc, khối lượng lệnh hay mức dừng lỗ dùng bất kỳ giá trị nào được công bố, tính xong hoặc chỉnh sửa sau t, backtest có look-ahead bias.
Điều cần kiểm tra không chỉ là giá. Thời điểm dữ liệu trở nên khả dụng cũng quan trọng như thời điểm dữ liệu mô tả.
Ví dụ giả định
Một quy tắc: "Mua khi giá đóng cửa của nến ngày vượt đường trung bình động, vào lệnh tại giá mở cửa của chính nến đó."
- Giá đóng cửa chỉ có khi nến đã kết thúc.
- Giá mở cửa thuộc về đầu cùng nến đó.
- Vậy quy tắc vào lệnh ở đầu ngày dựa trên thông tin cuối ngày, điều không thể làm khi giao dịch thật.
Bản sửa đúng: tín hiệu tính trên nến đã đóng, vào lệnh từ giá mở cửa của nến kế tiếp. Khi so sánh hai phiên bản, phiên bản lỗi thường cho đường vốn dốc lên đều đặn hơn. Chính sự khác biệt đó là dấu hiệu nên nghi ngờ.
Nơi look-ahead bias hay xuất hiện
- Trình kiểm thử chiến lược trên MetaTrader: chỉ báo hoặc mã EA đọc giá của nến hiện tại chưa đóng như thể đã chốt. Xem thêm về nền tảng tại MetaTrader 5 và Nền tảng và ứng dụng.
- Chỉ báo vẽ lại (repaint): các chỉ báo đỉnh/đáy như fractal hay zigzag chỉ xác nhận sau khi có thêm nến mới. Trên biểu đồ quá khứ chúng trông chính xác.
- Dữ liệu kinh tế được điều chỉnh: số liệu GDP, việc làm thường được sửa sau lần công bố đầu. Dùng bản đã sửa thay vì bản công bố ban đầu là nhìn trước. Xem Phân tích cơ bản.
- Múi giờ và dấu thời gian: tin tức hoặc giá được ghi theo múi giờ khác, làm sự kiện có vẻ xảy ra sớm hơn thực tế.
- Chuẩn hóa trên toàn bộ dữ liệu: tính trung bình, độ lệch chuẩn hay ngưỡng tối ưu trên cả giai đoạn rồi áp ngược lại từng thời điểm.
- Báo cáo hiệu suất và tin quảng cáo: kết quả backtest được trình bày như bằng chứng, nhưng không nói rõ tín hiệu được tính lúc nào.
Trường hợp biên
- Dùng giá đóng cửa để vào lệnh tại giá đóng cửa là chấp nhận được nếu quy trình thực tế cho phép đặt lệnh sát lúc đóng nến. Tuy vậy, spread và trượt giá lúc đó có thể khác dữ liệu lịch sử.
- Dữ liệu nến trong backtest có giá cao và thấp của nến, nhưng không cho biết cái nào đến trước. Nếu cả mức chốt lời và dừng lỗ đều nằm trong cùng nến, giả định thứ tự có lợi cũng là một dạng nhìn trước.
- Look-ahead bias khác survivorship bias (chỉ dùng tài sản còn tồn tại) và khác overfitting (khớp quá mức với dữ liệu cũ), dù chúng hay đi cùng nhau.
Kết quả backtest sạch lỗi vẫn không bảo đảm kết quả tương lai. Giao dịch CFD và forex có đòn bẩy có thể làm mất tiền nhanh. Xem Quản lý rủi ro.
Thuật ngữ liên quan
- Đường vốn Equity Curve
- Chiến lược giao dịch
- Phân tích kỹ thuật
- Fat tails và tail risk
- Thuật ngữ tài chính
Câu hỏi thường gặp
Look-ahead bias meaning trong tiếng Việt là gì?
Đó là "sai lệch nhìn trước": backtest dùng thông tin chưa có tại thời điểm ra quyết định.
Làm sao phát hiện lỗi backtest dạng này?
Với mỗi giá trị chiến lược dùng, hãy hỏi giá trị đó có sẵn đúng lúc nào. Nên dời tín hiệu sang nến kế tiếp rồi so sánh kết quả. Nếu kết quả thay đổi mạnh, rất có thể đã có nhìn trước.
Tài khoản demo có loại bỏ được look-ahead bias không?
Chạy trên tài khoản demo theo thời gian thực không thể dùng dữ liệu tương lai. Tuy vậy, demo không phản ánh đầy đủ điều kiện và tâm lý của giao dịch thật.
Backtest không có look-ahead bias thì có đáng tin không?
Chỉ đáng tin hơn chứ không chắc chắn. Kết quả vẫn có thể bị ảnh hưởng bởi overfitting, chi phí giao dịch và các điều kiện thị trường thay đổi.
