Định nghĩa ngắn
Walk-forward analysis (còn gọi là walk forward optimization) là cách kiểm tra chiến lược giao dịch. Người kiểm tra tối ưu tham số trên một đoạn dữ liệu quá khứ, rồi thử bộ tham số đó trên đoạn dữ liệu ngay sau, chưa dùng để tối ưu. Sau đó cửa sổ được dời lên phía trước và quy trình lặp lại.
Mục đích là xem chiến lược còn hoạt động trên dữ liệu mà nó "chưa thấy" hay không. Backtest thông thường chỉ tối ưu và đánh giá trên cùng một đoạn dữ liệu.
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 hơn
- In-sample (IS): đoạn dữ liệu dùng để tối ưu tham số.
- Out-of-sample (OOS): đoạn dữ liệu ngay sau IS, chỉ dùng để kiểm tra với tham số đã chọn, không chỉnh thêm.
- Rolling (cửa sổ trượt): IS có độ dài cố định. Mỗi lần dời cửa sổ, dữ liệu cũ nhất bị bỏ ra.
- Anchored (cửa sổ neo): IS luôn bắt đầu từ cùng một mốc và dài dần ra theo từng vòng.
Kết quả cuối cùng là chuỗi các đoạn OOS ghép nối lại thành một đường vốn. Một số phần mềm còn tính walk-forward efficiency, tức tỷ lệ giữa lợi suất quy năm trên OOS và trên IS. Tỷ lệ càng thấp thì càng có dấu hiệu chiến lược bị "khớp quá mức" (overfitting) với dữ liệu tối ưu.
Ví dụ giả định
Giả sử bạn kiểm tra chiến lược giao cắt đường trung bình động trên EUR/USD. Tham số cần tối ưu là độ dài của đường nhanh và đường chậm.
| Vòng | Tối ưu (IS) | Kiểm tra (OOS) |
|---|---|---|
| A | Đoạn dữ liệu đầu tiên | Đoạn ngắn hơn, ngay sau IS của vòng A |
| B | IS dời lên bằng độ dài OOS | Đoạn ngay sau IS của vòng B |
| C | Tiếp tục dời lên | Đoạn ngay sau IS của vòng C |
Ở mỗi vòng, bạn chọn bộ tham số tốt nhất trên IS và ghi lại kết quả OOS. Quy trình dừng khi hết dữ liệu. Nếu các đoạn OOS ghép lại cho kết quả kém xa IS, hoặc bộ tham số tối ưu nhảy rất mạnh giữa các vòng, chiến lược có thể không ổn định.
Kết quả walk-forward vẫn là kết quả trên dữ liệu quá khứ, không đảm bảo kết quả trong tương lai. Giao dịch CFD và forex có đòn bẩy có thể làm mất tiền rất nhanh.
Thuật ngữ này xuất hiện ở đâu
- MetaTrader 5: Strategy Tester có tùy chọn kiểm tra forward. Tùy chọn này tách dữ liệu thành phần tối ưu và phần kiểm tra. Đây chỉ là một lần tách, chưa phải walk-forward đầy đủ có nhiều vòng trượt. Xem thêm MetaTrader 5.
- Phần mềm backtest và giao dịch qua API: nhiều công cụ có chế độ walk-forward riêng hoặc dùng script tự viết.
- Báo cáo hệ thống giao dịch: thường ghi kết quả IS và OOS tách riêng.
Trường hợp biên và lỗi thường gặp
- OOS quá ngắn: có quá ít lệnh nên kết quả mang tính ngẫu nhiên.
- Tối ưu lại chính walk-forward: chạy nhiều lần, đổi độ dài cửa sổ cho đến khi đẹp thì lại rơi vào overfitting.
- Bỏ qua chi phí: spread, phí swap và trượt giá làm kết quả thực tế khác kết quả kiểm tra.
- Thay đổi chế độ thị trường: dữ liệu quá khứ có thể không chứa các sự kiện kiểu thiên nga đen hay fat tails.
Bước tiếp theo sau walk-forward thường là chạy thử trên tài khoản demo. Xem thêm chiến lược giao dịch, quản lý rủi ro và thuật ngữ tài chính.
Câu hỏi thường gặp
Walk-forward analysis khác backtest thế nào?
Backtest thường tối ưu và đánh giá trên cùng dữ liệu. Backtest walk forward luôn đánh giá trên đoạn dữ liệu chưa dùng để tối ưu và lặp lại theo thời gian.
Nên dùng cửa sổ rolling hay anchored?
Không có lựa chọn đúng cho mọi trường hợp. Rolling phản ứng nhanh hơn với dữ liệu gần đây. Anchored dùng nhiều dữ liệu hơn cho mỗi lần tối ưu.
Kết quả walk-forward tốt có nghĩa là chiến lược sẽ có lãi?
Không. Kết quả này chỉ giảm bớt một phần rủi ro overfitting. Chiến lược vẫn có thể thua lỗ khi giao dịch thật.
