Trading & Investment hoạt động

Walk-forward analysis

Walk Forward — Kiểm định trượt thời gian

Đã chạy được. Mục này có công cụ tính toán thật trên nền tảng, không phải mô tả lộ trình.

Kế hoạch walk-forward Chia purged walk-forward và đo phần ngoài mẫu

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.

Số fold 19
Nến ngoài mẫu 38,000
Tỷ lệ dữ liệu ngoài mẫu 76.0%
Nến chưa dùng 1,800
Kết luận Thiết kế đủ chắc
① Tham số

76%

Ngoài mẫu — testChỉ dùng để train + embargoChưa dùng tới
76%Ngoài mẫu — test: 38,000 (76.0%)Chỉ dùng để train + embargo: 10,200 (20.4%)Chưa dùng tới: 1,800 (3.6%)76%

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.

Diễn giải nhanh

19 fold ngoài mẫu, mỗi fold 2,000 nế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.

Ngoài mẫu 38,000 nến = 76.0% tổng dữ liệu

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 200 nến = 10.0% cửa sổ test

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.

1,800 nến (3.6%) không nằm trong fold nào

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.

Khi nào con số này sai: Embargo bằng 0 gần như luôn sai khi nhãn là triple-barrier: nhãn kéo dài qua nhiều nến nên mẫu train cuối cùng chồng lấn với tập test. Đặt embargo ít nhất bằng độ dài nhãn tối đa.

Chi tiế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

76%

Ngoài mẫu — testChỉ dùng để train + embargoChưa dùng tới
76%Ngoài mẫu — test: 38,000 (76.0%)Chỉ dùng để train + embargo: 10,200 (20.4%)Chưa dùng tới: 1,800 (3.6%)76%

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.

Tỷ lệ dữ liệu ngoài mẫu theo cửa sổ test

Tỷ lệ dữ liệu ngoài mẫu theo cửa sổ test80.874.668.462.25008001,0001,5002,0003,0004,0006,0008,000

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.

Số fold theo cửa sổ test

Số fold theo cửa sổ test88.4858.9929.490500: 79800: 491,000: 391,500: 262,000: 193,000: 134,000: 96,000: 68,000: 45008001,0001,5002,0003,0004,0006,0008,000

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.

Lịch chia fold — cửa sổ train trượt

FoldTrainEmbargoTest
11–10,00010,001–10,20010,201–12,200
22,001–12,00012,001–12,20012,201–14,200
34,001–14,00014,001–14,20014,201–16,200
46,001–16,00016,001–16,20016,201–18,200
58,001–18,00018,001–18,20018,201–20,200
610,001–20,00020,001–20,20020,201–22,200
712,001–22,00022,001–22,20022,201–24,200
814,001–24,00024,001–24,20024,201–26,200
916,001–26,00026,001–26,20026,201–28,200
1018,001–28,00028,001–28,20028,201–30,200
1120,001–30,00030,001–30,20030,201–32,200
1222,001–32,00032,001–32,20032,201–34,200
1324,001–34,00034,001–34,20034,201–36,200
1426,001–36,00036,001–36,20036,201–38,200
1528,001–38,00038,001–38,20038,201–40,200
1630,001–40,00040,001–40,20040,201–42,200
1732,001–42,00042,001–42,20042,201–44,200
1834,001–44,00044,001–44,20044,201–46,200
1936,001–46,00046,001–46,20046,201–48,200

Toàn bộ chỉ số

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

Cách dùng

  1. Điền tham số ở cột trái. Mọi ô đã có sẵn giá trị ví dụ chạy được, nên bạn có thể bấm Tính ngay trước rồi sửa sau.
  2. Đọc thẻ số ở trên cùng, rồi mục Diễn giải nhanh để biết con số đó nói gì.
  3. Đọc dòng “Khi nào con số này sai” trước khi dùng kết quả để quyết định — đó là giả định vỡ đầu tiên.
Giới hạn chung. Công cụ này tính đúng công thức của nó trên dữ liệu bạn đưa vào. Nó không kiểm tra dữ liệu của bạn có phù hợp với giả định của phương pháp hay không — phần đó vẫn là việc của người dùng, và mục “sai ở đâu” bên dưới trang liệt kê các chỗ hỏng thường gặp.

Walk-forward analysis là gì

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ỳ.

Làm thế nào

  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.

Đo bằng chỉ số nào

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

Sai ở đâ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 đó.

! 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.

Mô hình định lượng dùng trong Trading

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ủ đề.

Tất cả mô hình →
Bayesian Inferencebeta

Cập nhật niềm tin khi có dữ liệu mới.

Monte Carlohoạt động

Lấy mẫu ngẫu nhiên để ước lượng phân phối kết quả.

Markov Chainsắp có

Trạng thái kế tiếp chỉ phụ thuộc trạng thái hiện tại.

Hidden Markov Modelsắp có

Suy ra trạng thái ẩn từ quan sát.

Câu hỏi thường gặp

Walk-forward analysis là gì?

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 analysis được làm như thế nào?

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.

Walk-forward analysis hay sai ở đâu?

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.

Đo walk-forward analysis bằng chỉ số nào?

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.

Walk-forward analysis trên QuantHub đã dùng được chưa?

Đ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.

Chủ đề khác trong Trading Tools

Toàn bộ Trading
Strategy Builder Backtesting Strategy Validation Portfolio Journal Position Sizing Trade Replay Scanner