Walk Forward — Kiểm định trượt thời gian
Trước khi chạy kiểm định, hãy xem thiết kế của bạn thực sự để lại bao nhiêu dữ liệu ngoài mẫu. Dưới 5 fold thì kết quả quá nhiễu để kết luận.
Chia theo VAI TRÒ của từng nến. 10,200 nến đầu không bao giờ nằm trong một cửa sổ test nào, nên chúng không đóng góp gì vào bằng chứng ngoài mẫu; phần 'chưa dùng tới' là dữ liệu bị bỏ phí do chia không tròn.
Dưới 5 fold thì một giai đoạn thị trường thuận lợi duy nhất đủ để kéo trung bình lên, và bạn không có cách nào biết điều đó đã xảy ra hay chưa.
10,200 nến đầu chỉ phục vụ huấn luyện fold đầu tiên và 1,800 nến cuối không vào fold nào. Phần còn lại (76.0%) mới là bằng chứng bạn thực sự có.
Embargo phải phủ được độ dài nhãn tối đa. Với nhãn triple-barrier kéo dài 200 nến mà embargo 20 nến thì mẫu train cuối cùng vẫn nhìn thấy tương lai của tập test.
Phần dư khi chia 39,800 nến còn lại thành các bước 2,000. Nếu nó lớn hơn một cửa sổ test thì bạn đang bỏ phí dữ liệu gần hiện tại nhất — cũng là dữ liệu đáng giá nhất.
| Mỗi fold | train 10,000 → embargo 200 → test 2,000 |
| Cảnh báo | Embargo 200 nến |
| Số fold tối thiểu nên có | 5 — dưới mức này kết quả rất nhiễu |
Chia theo VAI TRÒ của từng nến. 10,200 nến đầu không bao giờ nằm trong một cửa sổ test nào, nên chúng không đóng góp gì vào bằng chứng ngoài mẫu; phần 'chưa dùng tới' là dữ liệu bị bỏ phí do chia không tròn.
Trục ngang là cửa sổ test. Cửa sổ ngắn phủ được nhiều dữ liệu hơn vì phần dư bị bỏ ít đi — bạn đang dùng 2,000 và phủ 76.0%. Đường này không nói cửa sổ ngắn thì tốt hơn: nó chỉ nói phủ được nhiều hơn.
Dưới 5 fold thì kết quả quá nhiễu để kết luận; bạn đang có 19. Nhưng fold nhiều mà mỗi fold chỉ 2,000 nến thì từng con số cũng không nói được gì — hai biểu đồ này phải đọc cùng nhau.
| Fold | Train | Embargo | Test |
|---|---|---|---|
| 1 | 1–10,000 | 10,001–10,200 | 10,201–12,200 |
| 2 | 2,001–12,000 | 12,001–12,200 | 12,201–14,200 |
| 3 | 4,001–14,000 | 14,001–14,200 | 14,201–16,200 |
| 4 | 6,001–16,000 | 16,001–16,200 | 16,201–18,200 |
| 5 | 8,001–18,000 | 18,001–18,200 | 18,201–20,200 |
| 6 | 10,001–20,000 | 20,001–20,200 | 20,201–22,200 |
| 7 | 12,001–22,000 | 22,001–22,200 | 22,201–24,200 |
| 8 | 14,001–24,000 | 24,001–24,200 | 24,201–26,200 |
| 9 | 16,001–26,000 | 26,001–26,200 | 26,201–28,200 |
| 10 | 18,001–28,000 | 28,001–28,200 | 28,201–30,200 |
| 11 | 20,001–30,000 | 30,001–30,200 | 30,201–32,200 |
| 12 | 22,001–32,000 | 32,001–32,200 | 32,201–34,200 |
| 13 | 24,001–34,000 | 34,001–34,200 | 34,201–36,200 |
| 14 | 26,001–36,000 | 36,001–36,200 | 36,201–38,200 |
| 15 | 28,001–38,000 | 38,001–38,200 | 38,201–40,200 |
| 16 | 30,001–40,000 | 40,001–40,200 | 40,201–42,200 |
| 17 | 32,001–42,000 | 42,001–42,200 | 42,201–44,200 |
| 18 | 34,001–44,000 | 44,001–44,200 | 44,201–46,200 |
| 19 | 36,001–46,000 | 46,001–46,200 | 46,201–48,200 |
| Mỗi fold | train 10,000 → embargo 200 → test 2,000 |
| Cảnh báo | Embargo 200 nến |
| Số fold tối thiểu nên có | 5 — dưới mức này kết quả rất nhiễu |
Walk-forward là kiểm định trượt: tối ưu trên một cửa sổ, đánh giá trên cửa sổ kế tiếp chưa từng thấy, rồi dịch tới. Nó mô phỏng đúng điều bạn sẽ làm khi chạy thật — retrain định kỳ.
| Walk-forward efficiency | hiệu suất ngoài mẫu / trong mẫu |
| Độ ổn định tham số | tham số tối ưu nhảy mỗi cửa sổ là dấu hiệu xấu |
Phần quan trọng nhất của trang này. Một phương pháp được mô tả mà không nói chỗ nó hỏng là phiên bản quảng cáo của phương pháp đó.
Chưa có mô hình nào gắn riêng cho chủ đề này. Đây là những mô hình của cả ngành — liên quan ở cấp ngành, không phải cấp chủ đề.
Walk-forward là kiểm định trượt: tối ưu trên một cửa sổ, đánh giá trên cửa sổ kế tiếp chưa từng thấy, rồi dịch tới. Nó mô phỏng đúng điều bạn sẽ làm khi chạy thật — retrain định kỳ.
1. Chọn độ dài cửa sổ train và test theo chu kỳ thị trường, không theo con số tròn. 2. Purge: bỏ các mẫu train có nhãn chồng lấn với tập test. 3. Embargo: bỏ thêm một khoảng sau tập test để chặn rò rỉ tự tương quan. 4. Ghép các đoạn test lại thành một đường equity ngoài mẫu duy nhất.
Quên purge và embargo. Nhãn triple-barrier kéo dài qua nhiều nến nên train và test chồng lấn nếu chỉ cắt theo mốc thời gian. Chọn độ dài cửa sổ bằng cách thử nhiều rồi lấy cái tốt nhất — đó lại là một vòng tối ưu nữa.
Walk-forward efficiency — hiệu suất ngoài mẫu / trong mẫu; Độ ổn định tham số — tham số tối ưu nhảy mỗi cửa sổ là dấu hiệu xấu.
Đang thử nghiệm: chạy được nhưng phương pháp chưa kiểm định đầu-cuối, nên đừng dựa vào nó để ra quyết định tiền thật.