Skip to content
Tất cả hướng dẫn quyền chọn
Kiểm định mô hình chuỗi thời gian tài chính10 phút đọc

Purged cross-validation và embargo: ngăn rò rỉ nhãn trong mô hình giao dịch

Tìm hiểu cách xử lý các khoảng nhãn lợi suất tương lai bị chồng lấn trong chuỗi thời gian tài chính, và phân biệt purging, embargo, walk-forward, TimeSeriesSplit cùng CPCV.

Trong hướng dẫn nàyKhi chia K-fold ngẫu nhiên có thể gây hiểu lầm

Tóm tắt ngắn

Purged cross-validation loại khỏi tập huấn luyện những mẫu có khoảng kết quả nhãn chồng lấn với khoảng kết quả của mẫu kiểm thử. Embargo là một vùng đệm được xác định riêng, loại các quan sát phía sau khối kiểm thử khỏi tập huấn luyện trong những thiết kế có dùng dữ liệu sau khối đó. Hai biện pháp xử lý hai vấn đề khác nhau và bản thân chúng không biến phép chia thành mô phỏng walk-forward theo thời gian.

Khi chia K-fold ngẫu nhiên có thể gây hiểu lầm

K-fold thông thường chia mẫu thành các phần rồi lần lượt dùng từng phần làm tập kiểm thử. Với dữ liệu tài chính, các quan sát có thể phụ thuộc vào nhau và nhãn lợi suất tương lai có thể bao phủ những khoảng thời gian giao nhau. Khi đó, phép chia ngẫu nhiên có thể khiến thông tin của tập huấn luyện và kiểm thử quá gần nhau, làm kết quả trông khả quan hơn.

Điều này không có nghĩa mọi cách dùng K-fold đều sai. Cần xét câu hỏi đánh giá, cấu trúc dữ liệu và các giả định về sự phụ thuộc cũng như khoảng thời gian của nhãn. Với dữ liệu chuỗi thời gian, đặc trưng phải chỉ sử dụng thông tin thực sự có sẵn tại thời điểm dự đoán; kết quả tương lai của tập kiểm thử không được lọt vào nhãn huấn luyện.

Hãy nói rõ phép kiểm định nhằm trả lời câu hỏi nào. Bạn muốn mô phỏng việc chỉ huấn luyện bằng dữ liệu quá khứ rồi dự đoán giai đoạn tiếp theo, hay muốn khảo sát độ ổn định của mô hình qua nhiều phân hoạch? Hai mục tiêu có thể cần thiết kế khác nhau.

Xác định thời điểm quyết định và khoảng nhãn

Với mỗi mẫu, hãy ghi lại thời điểm quyết định t, thông tin thật sự có thể truy cập tại thời điểm đó, cửa sổ dữ liệu dùng để tạo đặc trưng, khoảng thời gian của mục tiêu và thời điểm nhãn được phân giải t1. Ví dụ, nhãn lợi suất trong năm phiên tiếp theo tại quyết định t bao phủ khoảng (t,t+5]. Không được đưa thông tin chỉ xuất hiện sau t+5 vào đặc trưng tại thời điểm t.

Việc cửa sổ dữ liệu quá khứ của hai mẫu có phần chung không tự động là rò rỉ. Nếu lịch sử chung đã có sẵn tại cả hai thời điểm dự đoán và đặc trưng được tạo từ dữ liệu có sẵn tại từng thời điểm, đây thường là sự phụ thuộc của thị trường, khác với việc chia sẻ kết quả tương lai. Ngược lại, dùng số liệu kinh tế được sửa đổi sau này hoặc giá được hiệu chỉnh hồi tố như thể đã biết trong quá khứ là sai lệch.

Với nhãn sự kiện có độ dài thay đổi, chẳng hạn nhãn kết thúc khi chạm một ngưỡng sự kiện, hãy lưu dấu thời gian bắt đầu và kết thúc thực tế của từng mẫu. Một số lượng hàng cố định không thể đại diện chính xác cho mọi khoảng sự kiện.

Purge nhãn huấn luyện bị chồng lấn với kết quả kiểm thử

Purging loại một mẫu huấn luyện nếu khoảng kết quả hoặc khoảng nhãn thực tế của nó giao với khoảng kết quả của mẫu kiểm thử. Vì nhãn tài chính thường chứa lợi suất hoặc sự kiện trong tương lai, chỉ so sánh ngày quyết định có thể bỏ sót việc cùng một biến động giá xuất hiện trong cả nhãn huấn luyện lẫn nhãn kiểm thử.

Với nhãn sự kiện thay đổi theo thời gian, hãy so sánh thời điểm bắt đầu và kết thúc thật. Chỉ xóa một số hàng cố định như năm dòng có thể xử lý thiếu các sự kiện dài hoặc loại quá nhiều các sự kiện ngắn. Trước tiên cần kiểm tra chồng lấn thật; sau đó mới cân nhắc embargo bổ sung nếu thiết kế cần.

Purging không tự làm cho phép chia trở nên theo thứ tự thời gian. Một thiết kế vẫn có thể giữ các quan sát sau khối kiểm thử trong tập huấn luyện. Loại nhãn chồng lấn và mô phỏng đánh giá lịch sử chỉ huấn luyện từ quá khứ là hai yêu cầu khác nhau. Chương 7 của Advances in Financial Machine Learning trình bày cách xử lý các nhãn tài chính chồng lấn bằng purging.

Theo dõi chồng lấn bằng ví dụ nhãn năm phiên

Giả sử mỗi ngày có một quyết định và nhãn kết quả bao phủ năm phiên tiếp theo, tức (t,t+5]. Các ngày dưới đây được coi là chỉ số phiên liên tiếp. Nếu các quyết định trong tập kiểm thử nằm từ ngày 11 đến ngày 15, nhãn của quyết định ngày 15 kéo dài đến ngày 20.

Nhãn ứng viên huấn luyện (7,12] giao với khoảng kết quả kiểm thử từ ngày 11 đến ngày 12. Nhãn (16,21] cũng giao với một phần thời gian mà nhãn kiểm thử còn bao phủ. Vì vậy, cả hai mẫu huấn luyện này đều phải bị purge. Tiêu chí là khoảng kết quả thực tế, không chỉ là khoảng cách giữa các ngày quyết định.

Một nhãn của mẫu muộn hơn có thể không chồng lấn với bất kỳ nhãn kiểm thử nào nhưng vẫn bị loại nếu rơi vào vùng embargo được xác định riêng. Ví dụ này minh họa cách đối chiếu khoảng thời gian, không quy định một độ dài khoảng trống chung cho mọi dữ liệu.

Xác định embargo riêng với purging

Embargo là vùng đệm sau khối kiểm thử, trong đó các quan sát về sau chưa được đưa vào tập huấn luyện, áp dụng cho các phép chia có sử dụng dữ liệu sau khối kiểm thử. Vùng đệm này có thể giảm sự phụ thuộc còn sót lại do cách dựng đặc trưng hoặc ranh giới sự kiện. Tuy nhiên, nó không thay thế việc kiểm tra các khoảng nhãn thực tế có giao nhau hay không.

Không có quy tắc phổ quát rằng embargo phải bằng một tỷ lệ phần trăm dữ liệu hay một số ngày cố định. Hãy chọn độ dài dựa trên tần suất lấy mẫu, chân trời nhãn, cách xây dựng đặc trưng và mức độ phụ thuộc, rồi ghi rõ lý do. Nếu cửa sổ đặc trưng dài hơn chân trời nhãn, một vùng đệm quá ngắn có thể vẫn để lại phụ thuộc.

Trong walk-forward không dùng dữ liệu sau giai đoạn kiểm thử để huấn luyện, có thể không cần vùng embargo cho dữ liệu huấn luyện phía sau. Dù vậy, vẫn phải kiểm tra nhãn huấn luyện trước đó có kéo dài vào kết quả kiểm thử hay không.

Dòng thời gian cho thấy các khoảng huấn luyện giao với nhãn kiểm thử đã bị loại, tiếp theo là một vùng đệm nhỏ riêng biệt.
Purging loại các khoảng nhãn thực sự chồng lấn; embargo là vùng đệm riêng sau khối kiểm thử.

Phân biệt walk-forward với TimeSeriesSplit

Walk-forward hoặc rolling-origin huấn luyện trên dữ liệu quá khứ rồi kiểm thử trên giai đoạn sau đó. Cách này phù hợp khi câu hỏi là một quy trình lịch sử có thể triển khai: nếu chỉ dùng dữ liệu sẵn có lúc đó, mô hình sẽ dự đoán giai đoạn tiếp theo ra sao? Cần ghi rõ cửa sổ huấn luyện mở rộng dần hay giữ độ dài cố định.

TimeSeriesSplit của scikit-learn cũng đặt tập huấn luyện trước tập kiểm thử; tham số gap chỉ định số quan sát bị bỏ ở cuối tập huấn luyện trước kiểm thử. Tài liệu chính thức mô tả gap theo số hàng. Với các quan sát cách đều nhau, đây là khoảng cách theo số mẫu cố định; nó không tự kiểm tra khoảng nhãn sự kiện có độ dài thay đổi.

Vì thế, chỉ đặt gap không đủ để thay thế việc đối chiếu khoảng nhãn thực tế. Hãy xem xét riêng thứ tự thời gian, vùng chồng lấn và khoảng đệm cần thiết. Nếu khoảng cách giữa các hàng không tương ứng với thời gian thực đều đặn, hãy ghi cách ánh xạ số hàng sang thời lượng.

Hiểu câu hỏi mà Purged K-fold và CPCV trả lời

Purged K-fold loại các nhãn huấn luyện bị chồng lấn với từng khối kiểm thử. Tùy cách chia, tập huấn luyện có thể chứa cả quan sát xảy ra sau khối kiểm thử. Điều này có thể giúp khảo sát độ bền của mô hình qua nhiều giai đoạn, nhưng không trả lời cùng câu hỏi với mô phỏng walk-forward chỉ huấn luyện trên quá khứ.

Combinatorial purged cross-validation (CPCV) kết hợp nhiều khối kiểm thử để tạo ra nhiều đường kiểm thử và khảo sát phân phối kết quả. Chương 12 về walk-forward và CPCV trong Advances in Financial Machine Learning thảo luận các phương pháp này; chương 7 trình bày việc xử lý nhãn chồng lấn và purging. Nhiều đường kiểm thử không loại bỏ việc nhìn trước trong đặc trưng, dữ liệu bị sửa đổi hồi tố, tiền xử lý trên toàn bộ mẫu hay thiên lệch do thử quá nhiều mô hình.

Không nên coi số đường CPCV là số thí nghiệm độc lập khi chọn chiến lược tốt nhất. Tác động của việc lựa chọn từ nhiều thử nghiệm cần được đánh giá riêng. Nghiên cứu của Bailey và cộng sự về xác suất quá khớp của backtest phân tích vấn đề lựa chọn trong số nhiều ứng viên.

Kiểm tra các nguồn rò rỉ còn lại sau khi chia

Purging không khắc phục đặc trưng nhìn trước, dấu thời gian sai, thiên lệch sống sót hay dữ liệu được sửa đổi sau này. Nếu chuẩn hóa, điền giá trị thiếu hoặc chọn đặc trưng trên toàn bộ dữ liệu trước khi chia, thông tin kiểm thử có thể truyền sang tập huấn luyện. Việc liên tục điều chỉnh mô hình theo kết quả kiểm thử cũng gây thiên lệch lựa chọn.

Hãy khớp các phép biến đổi và lựa chọn đặc trưng bên trong từng fold huấn luyện, rồi chỉ áp dụng chúng lên phần kiểm định tương ứng. Khi chọn mô hình hoặc siêu tham số, dùng kiểm định lồng nhau có xét thứ tự thời gian và giữ lại một tập holdout cuối theo thời gian mà bạn chưa đụng tới. Giả định thiếu thực tế về phí, chênh lệch giá hoặc khả năng khớp lệnh cũng làm sai lệch kết quả.

Không phương pháp cross-validation nào bảo đảm hiệu quả tương lai. Điểm số chỉ là ước lượng có điều kiện theo mẫu, cách định nghĩa đặc trưng và nhãn, cùng giả định chi phí đã dùng.

Ghi lại quy trình để có thể tái lập

Với mỗi thí nghiệm, hãy lưu thời điểm quyết định, thời điểm thông tin sẵn có, cửa sổ đặc trưng, điểm đầu và cuối của nhãn, ranh giới các fold huấn luyện và kiểm thử, các mẫu bị purge, độ dài và lý do chọn embargo, phạm vi khớp tiền xử lý và tập holdout cuối. Ghi chép này giúp người khác tái tạo đúng các ranh giới mẫu.

Để xem thêm về quá khớp, đọc hướng dẫn về đánh đổi bias-variance trong mô hình tài chính; về thử nghiệm lặp lại, xem kiểm định nhiều lần và tỷ lệ phát hiện sai; còn Sharpe ratio và tự tương quan giải thích một vấn đề khác khi đánh giá chuỗi lợi suất. Luôn nêu rõ dữ liệu nào được dùng ở từng bước, không chỉ tên phương pháp.

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

Q1Cửa sổ đặc trưng quá khứ của hai mẫu giao nhau có luôn là rò rỉ không?

Không. Nếu lịch sử chung đã có sẵn tại cả hai thời điểm dự đoán, bản thân sự giao nhau không làm rò rỉ nhãn. Rủi ro xuất hiện khi kết quả kiểm thử hoặc thông tin tương lai lọt vào nhãn, đặc trưng hay tiền xử lý của tập huấn luyện.

Q2Embargo có phải lúc nào cũng dài năm ngày không?

Không có độ dài phổ quát. Hãy biện minh cho vùng đệm bằng tần suất lấy mẫu, chân trời nhãn, cách tạo đặc trưng và mức độ phụ thuộc; đồng thời kiểm tra riêng các khoảng nhãn thực tế.

Q3Điểm CPCV tốt có bảo đảm kết quả giao dịch trong tương lai không?

Không. CPCV tạo nhiều đường kiểm thử nhưng không loại bỏ nhìn trước, dữ liệu hồi tố, thiên lệch do thử nghiệm lặp lại hay giả định thiếu thực tế về chi phí và khớp lệnh.

Nguồn và tài liệu đọc thêm

Báo lỗi

Chúng tôi sẽ soạn email kèm liên kết bài viết này. Mark chỉ nhận được báo cáo sau khi bạn gửi email

Kiểm tra nhanh

Đọc xong hướng dẫn? Hãy kiểm tra với 3 câu hỏi

Câu hỏi 1 / 3

Câu hỏi 01

Nếu khoảng kết quả của nhãn huấn luyện giao với khoảng kết quả kiểm thử, purging cần làm gì?

Chọn một đáp án để xem giải thích

Bảng thuật ngữ quyền chọn

Vì sao một mô hình có thể giải thích lịch sử nhưng thất bại ở giai đoạn tiếp theoĐánh đổi Bias–Variance và Overfitting trong Mô hình Tài chínhHiểu bias dự báo, variance ước lượng, nhiễu không thể khử, độ phức tạp mô hình, xác thực chuỗi thời gian, data snooping, overfitting backtest và quản trị mô hình tài chínhVì sao một ngưỡng thất bại khi nhà nghiên cứu kiểm tra nhiều ý tưởngKiểm định nhiều lần và tỷ lệ phát hiện sai trong tài chínhHiểu so sánh nhiều lần, tỷ lệ lỗi toàn gia đình, tỷ lệ phát hiện sai, Bonferroni, Holm, Benjamini–Hochberg, sự phụ thuộc, q-value, khai thác yếu tố, lựa chọn backtest và quản trị nghiên cứuSharpe và quy đổi theo nămCó thể nhân Sharpe tháng với √12 để quy đổi năm không?Tìm hiểu khi nào có thể quy đổi Sharpe tháng bằng √12, tự tương quan làm thay đổi kết quả ra sao và công thức hiệu chỉnh tổng hợp theo thời gian của Lo.Cơ chế quyền chọnGiao quyền chọn là gì?Hiểu cách việc giao quyền chọn biến một call hoặc put bán thành nghĩa vụ đối với cổ phiếu, khi nào điều đó có thể xảy ra và cách chuẩn bị tiền mặt và cổ phiếuSố hợp đồng được phép không giống ngân sách rủi roGiải thích giới hạn vị thế so với giới hạn thực hiện quyền chọnTìm hiểu giới hạn vị thế của quyền chọn niêm yết khác giới hạn thực hiện thế nào, vì sao việc gộp cùng phía và báo cáo quan trọng, và vì sao ký quỹ hoặc sức mua không cho biết một số lượng có được phép hay không