Bỏ qua, đến nội dung chính
Stockup
Kiểm định chiến lược

Chia Dữ Liệu Trong Mẫu Và Ngoài Mẫu Khi Kiểm Định

Dữ liệu trong mẫu dùng để xây chiến lược, ngoài mẫu dùng để kiểm tra. Nguyên tắc chia theo thời gian, tỷ lệ và lỗi dùng lại dữ liệu ngoài mẫu.

Tuan Nguyen

Tuan Nguyen

Chia Dữ Liệu Trong Mẫu Và Ngoài Mẫu Khi Kiểm Định

Chia dữ liệu theo thứ tự thời gian: phần trước (trong mẫu) để xây và tinh chỉnh chiến lược, phần sau (ngoài mẫu) giữ nguyên để kiểm tra đúng một lần. Nếu nhìn kết quả ngoài mẫu rồi quay lại sửa tham số, phần đó đã trở thành dữ liệu trong mẫu.

Định nghĩa đầy đủ

Dữ liệu trong mẫu (in-sample) là phần dữ liệu lịch sử dùng để thiết kế và tối ưu tham số chiến lược; dữ liệu ngoài mẫu (out-of-sample) là phần được giữ riêng, không dùng trong quá trình xây dựng, chỉ để đánh giá chiến lược có còn hiệu quả trên dữ liệu chưa thấy hay không.

Lưu ý rủi ro: Nội dung mang tính giáo dục về phương pháp kiểm định, không phải tư vấn đầu tư và không trình bày kết quả của chiến lược thật. Hợp đồng tương lai dùng đòn bẩy nên lãi và lỗ đều bị khuếch đại; kết quả kiểm định tốt không bảo đảm kết quả giao dịch thật.

Những điều cần nhớ

  • Dữ liệu chuỗi thời gian phải chia theo thứ tự thời gian để tránh rò rỉ thông tin tương lai
  • Dữ liệu ngoài mẫu chỉ có giá trị khi được dùng để đánh giá một lần
  • Không có tỷ lệ chia chuẩn; phần ngoài mẫu cần đủ số lệnh để có ý nghĩa thống kê
  • Kết quả ngoài mẫu kém hơn trong mẫu là bình thường; sụt quá mạnh là dấu hiệu overfitting

Vì sao phải tách dữ liệu trước khi kiểm định

Khi xây một chiến lược, người kiểm định liên tục đưa ra lựa chọn: dùng chỉ báo nào, cửa sổ bao nhiêu phiên, ngưỡng vào lệnh ở đâu, có lọc theo giờ hay không. Mỗi lựa chọn được "chấm điểm" bằng kết quả backtest. Sau vài chục vòng như vậy, chiến lược không chỉ học được quy luật của thị trường mà còn học cả nhiễu ngẫu nhiên của đúng đoạn dữ liệu đó.

Vấn đề là không có cách nào phân biệt hai phần này nếu chỉ nhìn trên dữ liệu đã dùng để xây dựng. Kết quả trên dữ liệu trong mẫu luôn bị thổi phồng, vì nó được chọn ra chính là để đẹp trên dữ liệu đó. Hiện tượng này được gọi là điểm khớp quá mức (overfitting), phân tích chi tiết trong bài điểm khớp quá mức khi kiểm định chiến lược.

Dữ liệu ngoài mẫu đóng vai trò như một bài thi chưa ai xem đề. Nếu chiến lược chỉ "học thuộc" nhiễu, kết quả trên phần này sẽ sụt mạnh. Nếu chiến lược nắm được một quy luật có thật, kết quả thường kém đi một chút nhưng vẫn giữ được đặc điểm chính.

Chia theo thời gian, không chia ngẫu nhiên

Trong nhiều bài toán thống kê, dữ liệu được xáo trộn rồi chia ngẫu nhiên. Với dữ liệu giá như VN30F1M, cách làm đó sai về nguyên tắc vì hai lý do:

  • Rò rỉ thông tin tương lai: nếu một ngày tháng 3 nằm trong phần ngoài mẫu nhưng ngày tháng 4 nằm trong phần trong mẫu, chiến lược đã "thấy" diễn biến sau đó khi được tinh chỉnh. Đây là một dạng sai lệch nhìn trước (look-ahead bias).
  • Phụ thuộc giữa các phiên liền nhau: biến động, xu hướng và thanh khoản có tính liên tục. Hai phiên cạnh nhau thường giống nhau hơn hai phiên cách xa, nên chia ngẫu nhiên làm hai phần giống nhau một cách giả tạo.

Quy tắc đơn giản: chọn một mốc thời gian, mọi dữ liệu trước mốc là trong mẫu, mọi dữ liệu sau mốc là ngoài mẫu. Không có phiên nào của phần ngoài mẫu nằm trước phiên cuối của phần trong mẫu. Với chỉ báo cần dữ liệu khởi động (ví dụ trung bình 50 phiên), các phiên khởi động ở đầu phần ngoài mẫu phải được tính từ dữ liệu trước mốc, không được làm tín hiệu đầu tiên bị lệch.

Tỷ lệ chia và độ dài tối thiểu mỗi phần

Các tỷ lệ 70/30 hay 80/20 thường được nhắc tới, nhưng chúng chỉ là điểm xuất phát, không phải chuẩn. Câu hỏi đúng là: mỗi phần có đủ thông tin để kết luận hay không.

  • Phần trong mẫu cần đủ dài để chiến lược gặp nhiều trạng thái thị trường — tăng, giảm, đi ngang, biến động mạnh và yếu — nếu không, tham số được chọn chỉ phù hợp với một trạng thái.
  • Phần ngoài mẫu cần đủ số lệnh. Chiến lược giao dịch ít lệnh có thể cần phần ngoài mẫu dài hơn nhiều so với chiến lược giao dịch trong ngày. Vài chục lệnh thường chưa đủ để phân biệt kỹ năng với may mắn, xem bài cỡ mẫu và ý nghĩa thống kê trong kiểm định.
  • Chế độ thị trường: nếu phần ngoài mẫu chỉ gồm một giai đoạn xu hướng mạnh, kết quả tốt có thể chỉ phản ánh giai đoạn đó. Hiện tượng này được bàn trong bài về phụ thuộc chế độ thị trường.

Ví dụ minh họa: có 6 năm dữ liệu, 4 năm đầu làm trong mẫu, 2 năm cuối làm ngoài mẫu. Chiến lược cho 120 lệnh trong mẫu nhưng chỉ 25 lệnh ngoài mẫu. Với 25 lệnh, một hai lệnh thắng lớn có thể thay đổi toàn bộ kết luận — phần ngoài mẫu quá ít lệnh để đánh giá, cần dữ liệu dài hơn hoặc thận trọng khi đọc kết quả.

Thanh thời gian chia dữ liệu thành phần trong mẫu và ngoài mẫu, có mũi tên cấm quay lại sửa tham số

Phần dữ liệuGiai đoạn (minh họa)Dùng đểSố lệnh (minh họa)
Trong mẫuNăm 1 – Năm 4Thiết kế, tối ưu tham số120
Ngoài mẫuNăm 5 – Năm 6Đánh giá một lần, không chỉnh sửa25

Giai đoạn và số lệnh là ví dụ minh họa, không phải kết quả kiểm định chiến lược thật.

Lỗi "tiêu hao" dữ liệu ngoài mẫu

Lỗi phổ biến nhất không nằm ở cách chia mà ở cách dùng. Quy trình thường diễn ra thế này: xây chiến lược trên phần trong mẫu, chạy thử phần ngoài mẫu, thấy kết quả chưa đẹp, quay lại chỉnh một tham số, chạy lại phần ngoài mẫu. Sau vài vòng, kết quả ngoài mẫu trông rất tốt.

Nhưng lúc này dữ liệu ngoài mẫu đã tham gia vào việc chọn tham số. Nó không còn là bài thi chưa xem đề mà đã trở thành một phần của dữ liệu trong mẫu. Mỗi lần nhìn kết quả ngoài mẫu rồi sửa chiến lược, giá trị kiểm tra của phần dữ liệu đó bị tiêu hao một ít, cho tới khi mất hẳn.

Cách giảm lỗi này:

  1. Ghi lại quy tắc và tham số chiến lược trước khi chạy phần ngoài mẫu, kèm ngày giờ.
  2. Chạy phần ngoài mẫu một lần, ghi kết quả, dù tốt hay xấu.
  3. Nếu buộc phải sửa chiến lược, coi phần ngoài mẫu cũ là dữ liệu đã dùng và cần một nguồn kiểm tra mới — dữ liệu phát sinh sau này hoặc giai đoạn thử nghiệm trên dữ liệu thời gian thực.
  4. Ghi lại số lần đã thử, vì càng nhiều lần thử, kết quả tốt nhất càng dễ là may mắn.

Từ chia một lần đến walk-forward

Chia một lần có hạn chế: kết luận phụ thuộc vào đúng một mốc cắt. Nếu mốc rơi vào đầu một giai đoạn thuận lợi, kết quả ngoài mẫu đẹp một cách tình cờ.

Walk-forward mở rộng ý tưởng này bằng cách lặp lại việc chia nhiều lần: tối ưu trên một cửa sổ, kiểm tra trên cửa sổ kế tiếp, rồi trượt cả hai về phía trước. Kết quả ngoài mẫu được ghép từ nhiều đoạn, bao phủ nhiều giai đoạn thị trường hơn. Cách chọn độ dài cửa sổ được trình bày trong bài thiết kế cửa sổ walk-forward.

Chia một lần vẫn hữu ích như bước đầu: đơn giản, dễ kiểm tra và đủ để loại sớm các chiến lược overfitting rõ ràng. Walk-forward là bước sau, khi chiến lược đã qua vòng lọc đầu tiên.

Đọc chênh lệch kết quả trong mẫu và ngoài mẫu

Kết quả ngoài mẫu kém hơn trong mẫu là điều bình thường, vì phần trong mẫu đã được tối ưu. Điều cần xem là mức độ và tính chất của chênh lệch:

  • Sụt vừa phải, các đặc điểm chính giữ nguyên (tỷ lệ thắng, lãi lỗ trung bình, độ sụt vốn gần tương tự): chiến lược có thể nắm được một quy luật thật.
  • Sụt mạnh hoặc đổi dấu: dấu hiệu rõ của overfitting hoặc chiến lược chỉ phù hợp chế độ thị trường của phần trong mẫu.
  • Ngoài mẫu tốt hơn hẳn trong mẫu: không nên vội mừng. Có thể phần ngoài mẫu rơi vào giai đoạn đặc biệt thuận lợi, hoặc số lệnh quá ít.

Dù kết quả thế nào, cần tính đủ chi phí giao dịch và trượt giá ở cả hai phần, nếu không so sánh sẽ bị lệch.

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

Nên chia dữ liệu 70/30 hay 80/20?

Không có tỷ lệ cố định đúng cho mọi chiến lược. Điều quan trọng là phần ngoài mẫu có đủ số lệnh để kết luận và bao phủ nhiều chế độ thị trường, còn phần trong mẫu đủ dài để tham số không bị gắn với một giai đoạn duy nhất. Chiến lược ít lệnh thường cần phần ngoài mẫu dài hơn chiến lược giao dịch trong ngày.

Chia dữ liệu ngẫu nhiên có được không?

Không, với dữ liệu chuỗi thời gian như giá VN30F1M. Chia ngẫu nhiên khiến phần trong mẫu chứa các phiên nằm sau phiên ngoài mẫu, tạo rò rỉ thông tin tương lai. Các phiên liền nhau cũng phụ thuộc lẫn nhau, làm hai phần giống nhau giả tạo. Luôn chia theo một mốc thời gian, phần trước là trong mẫu, phần sau là ngoài mẫu.

Kết quả ngoài mẫu tốt hơn trong mẫu thì có nghĩa gì?

Không nhất thiết là tín hiệu tốt. Phần ngoài mẫu có thể rơi đúng vào một giai đoạn thị trường thuận lợi cho chiến lược, hoặc có quá ít lệnh nên vài lệnh thắng lớn kéo kết quả lên. Nên kiểm tra số lệnh, chế độ thị trường của giai đoạn đó và thử thêm walk-forward trước khi đưa ra kết luận.

Có được dùng lại dữ liệu ngoài mẫu sau khi sửa chiến lược không?

Không nên. Khi đã xem kết quả ngoài mẫu rồi sửa chiến lược, phần dữ liệu đó đã tham gia vào việc chọn tham số và mất vai trò kiểm tra độc lập. Để đánh giá phiên bản mới cần một nguồn dữ liệu chưa dùng, ví dụ dữ liệu phát sinh sau thời điểm sửa hoặc giai đoạn thử nghiệm theo thời gian thực.

Walk-forward khác chia một lần thế nào?

Chia một lần dùng một mốc cắt duy nhất, nên kết luận phụ thuộc vào vị trí mốc đó. Walk-forward lặp lại việc tối ưu trên một cửa sổ và kiểm tra trên cửa sổ kế tiếp, rồi trượt dần về phía trước. Kết quả ngoài mẫu được ghép từ nhiều đoạn, bao phủ nhiều giai đoạn thị trường hơn và ít phụ thuộc vào may rủi của một mốc cắt.

Nguồn tham khảo

  • Tài liệu phương pháp luận kiểm định chiến lược giao dịch của tổ chức tài chính uy tín

Giai đoạn dữ liệu và số lệnh trong bài là ví dụ minh họa, không phải kết quả kiểm định chiến lược thật.


Lưu ý rủi ro: Bài viết trình bày phương pháp kiểm định, không gợi ý áp dụng chiến lược nào. Chứng khoán phái sinh dùng đòn bẩy — lãi và lỗ đều được khuếch đại.

Kiểm định trung thực là chủ đề chính của Stockup — đăng ký bản tin để nhận checklist kiểm định mỗi khi có bài mới.

Tuan Nguyen

Tuan Nguyen

Founder

18+ năm xây dựng sản phẩm Web, SaaS, FinTech và Blockchain — hơn 120 dự án thực tế, kết hợp kinh nghiệm đầu tư chứng khoán và phát triển hệ thống phân tích, giao dịch tài chính.

Trang tác giảLiên hệ

Chia sẻ bài viết

fin

Stockup cung cấp công cụ nghiên cứu và dữ liệu lịch sử. Nội dung trên website không phải khuyến nghị đầu tư và không phải dịch vụ tư vấn đầu tư chứng khoán. Mọi quyết định giao dịch và rủi ro thuộc về người dùng. Giao dịch chứng khoán phái sinh sử dụng đòn bẩy và có thể dẫn tới thua lỗ lớn.

Bình luận (0)

Góp ý về phương pháp, số liệu hoặc cách bạn đang áp dụng. Bình luận hiển thị công khai sau khi gửi, có thể bị ẩn nếu vi phạm quy định. Email chỉ dùng để liên hệ lại, không hiển thị công khai.

0/800

Đang tải bình luận...

Đọc tiếp các bài khác trong cùng cụm nghiên cứu.

Xem tất cả