Bỏ qua tới nội dung chính

Kiểm định yếu tố trước khi phân bổ: Walk-forward, chi phí, overfitting

Sharpe đẹp trong backtest chưa đủ để phân bổ. Kiểm định walk-forward ngoài mẫu, mô hình chi phí, độ trượt theo quy mô, Deflated Sharpe và xác suất overfitting.

1. Vấn đề: backtest đẹp, danh mục thực kém

Trong bài Backtest yếu tố momentum trên VN30: Vì sao kết quả thường bị thổi phồng, chúng tôi liệt kê các nguồn khiến một kết quả backtest trông tốt hơn thực tế. Bài này đi tiếp câu hỏi thực hành: một quỹ cần kiểm định gì, theo thứ tự nào, trước khi cho phép một yếu tố ảnh hưởng tới phân bổ danh mục.

Khoảng cách giữa backtest và danh mục thực thường đến từ ba nguồn:

  1. Overfitting: tham số được chọn vì khớp tốt với dữ liệu quá khứ, không phải vì nắm bắt được một hiện tượng bền vững.
  2. Chi phí và độ trượt bị đánh giá thấp: đặc biệt với yếu tố có vòng quay cao hoặc tập trung vào mã có thanh khoản biến động.
  3. Lỗi dữ liệu: thiên lệch sống sót, dùng thông tin tương lai (look-ahead) và giả định khớp lệnh không thực tế.

Mỗi nguồn tương ứng với một lớp kiểm định. Một yếu tố chỉ được trình lên hội đồng đầu tư khi đã qua cả ba lớp.

2. Kiểm định walk-forward

Chuyên gia Ginity trình bày quy trình kiểm định walk-forward trước hội đồng đầu tư

2.1. Nguyên lý

Một backtest thông thường tối ưu tham số trên toàn bộ dữ liệu rồi báo cáo kết quả trên chính dữ liệu đó. Điều này giống như cho học sinh xem trước đề thi. Walk-forward tách dữ liệu thành các cặp cửa sổ nối tiếp:

  • Trong mẫu (in-sample, IS): dùng để chọn tham số của yếu tố, ví dụ cửa sổ đo động lượng hay tần suất tái cân bằng.
  • Ngoài mẫu (out-of-sample, OOS): cửa sổ ngay sau IS, dùng tham số đã chọn mà không điều chỉnh.

Sau mỗi bước, cả hai cửa sổ trượt về phía trước. Chuỗi lợi nhuận cuối cùng được ghép từ các đoạn OOS, mỗi đoạn được tạo ra bởi tham số chọn từ dữ liệu quá khứ của nó.

2.2. Thiết kế cửa sổ minh hoạ

Bảng dưới là một cấu hình minh hoạ cho dữ liệu ngày từ 2021 đến 2026, với cửa sổ IS 3 năm và OOS 6 tháng:

BướcCửa sổ trong mẫuCửa sổ ngoài mẫu
101/2021 - 12/202301/2024 - 06/2024
207/2021 - 06/202407/2024 - 12/2024
301/2022 - 12/202401/2025 - 06/2025
407/2022 - 06/202507/2025 - 12/2025
501/2023 - 12/202501/2026 - 06/2026

Lựa chọn độ dài cửa sổ là một đánh đổi. Cửa sổ IS dài cho ước lượng ổn định hơn nhưng phản ứng chậm với thay đổi chế độ thị trường; cửa sổ OOS ngắn cho nhiều điểm kiểm định hơn nhưng mỗi đoạn có ít kỳ tái cân bằng. Với yếu tố tái cân bằng hàng tháng, năm đoạn OOS sáu tháng chỉ cho khoảng 30 quan sát ngoài mẫu, nên mọi kết luận cần đi kèm khoảng tin cậy.

2.3. Những gì cần quan sát

  • Hiệu suất OOS so với IS: suy giảm là bình thường; suy giảm quá lớn là dấu hiệu overfitting.
  • Độ ổn định tham số: nếu tham số tối ưu thay đổi mạnh giữa các bước, yếu tố có thể đang khớp nhiễu.
  • Vùng tham số “phẳng”: hiệu suất tốt trên một vùng rộng quanh tham số tối ưu đáng tin hơn một đỉnh nhọn tại một giá trị duy nhất.
  • Độ phụ thuộc vào vài giai đoạn: nếu phần lớn lợi nhuận OOS đến từ một hoặc hai đoạn, kết quả phản ánh một chế độ thị trường hơn là một yếu tố bền vững.

3. Mô hình hóa chi phí giao dịch

3.1. Bốn thành phần chi phí

Với danh mục cổ phiếu niêm yết, chi phí của mỗi lần tái cân bằng gồm bốn phần có tính chất khác nhau:

Thành phầnBản chấtCách mô hình hóa
Phí giao dịchGần như cố định theo giá trị giao dịchTheo biểu phí thực tế của danh mục
Thuế và phí khi bánTheo quy định hiện hànhCập nhật theo loại hình pháp nhân của danh mục
Chênh lệch giá mua-bánPhụ thuộc thanh khoản từng mãƯớc lượng theo biến động và bước giá
Tác động giáTăng theo quy mô lệnh so với thanh khoảnHàm của tỷ lệ lệnh trên giá trị giao dịch bình quân ngày

Hai thành phần đầu dễ đo và thường được tính đúng. Hai thành phần sau khó đo hơn, phụ thuộc quy mô danh mục, và là nơi phần lớn backtest đánh giá thấp chi phí.

3.2. Vòng quay quyết định gánh nặng chi phí

Với vòng quay một chiều T (tỷ lệ giá trị mua mới trong năm so với giá trị danh mục) và chi phí c mỗi chiều, chi phí năm xấp xỉ 2 × T × c. Bảng dưới là ví dụ minh hoạ phương pháp với các mức giả định, không phải biểu phí của bất kỳ đơn vị nào:

Vòng quay một chiều/nămChi phí 0,2% mỗi chiềuChi phí 0,4% mỗi chiềuChi phí 0,6% mỗi chiều
100%0,4 điểm %0,8 điểm %1,2 điểm %
200%0,8 điểm %1,6 điểm %2,4 điểm %
400%1,6 điểm %3,2 điểm %4,8 điểm %

Một yếu tố có lợi nhuận vượt trội trên giấy khoảng 3%/năm và vòng quay 400% gần như không còn lợi thế khi chi phí mỗi chiều vượt 0,4%. Vì vậy, vòng quay là một tham số cần kiểm soát ngay từ thiết kế, ví dụ bằng cách giảm tần suất tái cân bằng hoặc chỉ giao dịch khi xếp hạng thay đổi đủ lớn.

3.3. Tác động giá và sức chứa

Tác động giá thường được mô hình hóa như một hàm tăng theo tỷ lệ lệnh trên giá trị giao dịch bình quân ngày của mã, trong các mô hình thực thi tối ưu như Almgren và Chriss (2001). Hệ quả thực tế là chi phí không tuyến tính theo quy mô: tăng quy mô danh mục lên gấp bốn lần có thể làm chi phí trên mỗi đồng giao dịch tăng đáng kể, đặc biệt ở các mã ngoài nhóm thanh khoản cao nhất.

Do đó, kết quả kiểm định cần được báo cáo kèm quy mô danh mục giả định. Một yếu tố được chấp nhận ở quy mô này không tự động được chấp nhận ở quy mô lớn hơn.

3.4. Phân tích độ nhạy chi phí

Thay vì báo cáo một con số duy nhất, chúng tôi chạy lại kết quả OOS với nhiều mức chi phí, từ giả định cơ sở tới gấp hai và gấp ba lần. Một yếu tố đáng đưa vào phân bổ cần giữ được lợi nhuận vượt trội dương ở mức chi phí cao hơn đáng kể so với giả định cơ sở.

4. Thống kê chống overfitting

4.1. Vấn đề đa kiểm định

Nếu thử 1.000 cấu hình tham số không có lợi thế thực, cấu hình tốt nhất vẫn có thể cho Sharpe ấn tượng chỉ do may mắn. Bailey và López de Prado (2014) gọi đây là thiên lệch lựa chọn trong backtest.

4.2. Deflated Sharpe Ratio

Deflated Sharpe Ratio (DSR) điều chỉnh Sharpe quan sát được theo số lần thử nghiệm, độ dài dữ liệu và phân phối không chuẩn của lợi nhuận (độ lệch và độ nhọn). Kết quả là xác suất Sharpe thực dương sau khi tính đến việc ta đã chọn cấu hình tốt nhất trong nhiều lần thử. Yêu cầu thực hành: ghi lại số cấu hình đã thử, kể cả những cấu hình bị loại.

4.3. Xác suất overfitting (PBO)

Bailey, Borwein, López de Prado và Zhu đề xuất phương pháp Combinatorially Symmetric Cross-Validation (CSCV) để ước lượng xác suất mà cấu hình tốt nhất trong mẫu lại kém hơn trung vị ngoài mẫu. PBO cao cho thấy quy trình chọn tham số đang chủ yếu chọn nhiễu.

Thước đoCâu hỏi trả lờiCách dùng
Lợi nhuận OOS ghép từ walk-forwardYếu tố có hoạt động trên dữ liệu chưa thấy?Thước đo chính, thay cho kết quả trong mẫu
Deflated Sharpe RatioKết quả có còn ý nghĩa sau khi tính số lần thử?Ngưỡng xác suất trước khi trình hội đồng
PBO (CSCV)Quy trình chọn tham số có chọn nhiễu?Loại bỏ quy trình có PBO cao
Độ nhạy chi phíLợi thế có đủ dày để chịu chi phí thực?Kiểm tra ở nhiều mức chi phí và quy mô

5. Lỗi dữ liệu đặc thù thị trường Việt Nam

5.1. Thiên lệch sống sót của rổ VN30

Rổ VN30 được xem xét định kỳ, cổ phiếu có thể vào hoặc ra khỏi rổ. Nếu kiểm định một yếu tố trên cổ phiếu VN30 bằng danh sách thành phần hiện tại cho toàn bộ quá khứ, kết quả sẽ thiên lệch tích cực vì chỉ bao gồm doanh nghiệp đã “sống sót” và tăng trưởng đủ để vào rổ. Cách xử lý đúng là dùng danh sách thành phần tại từng thời điểm.

5.2. Look-ahead và thời điểm khớp lệnh

Một lỗi phổ biến là tính tín hiệu bằng giá đóng cửa rồi giả định tái cân bằng tại chính giá đóng cửa đó. Trong thực tế, giá đóng cửa chỉ được biết sau phiên khớp lệnh định kỳ cuối ngày. Từ khi hệ thống KRX vận hành (5/5/2025), một số quy tắc khớp lệnh đã thay đổi, nên mô hình khớp lệnh trong kiểm định cần phản ánh quy tắc hiện hành. Cách thận trọng là giả định giao dịch ở phiên kế tiếp với giá có tính đến độ trượt.

5.3. Biên độ giá và chu kỳ thanh toán

Với biên độ ±7% trên HOSE, có những phiên không thể giảm tỷ trọng ở mức giá dự kiến. Mô hình cần mô phỏng trường hợp lệnh không khớp và vị thế bị giữ sang phiên sau. Chu kỳ thanh toán T+2 cũng ảnh hưởng tới thời điểm tiền bán sẵn sàng cho lệnh mua mới trong cùng một lần tái cân bằng.

5.4. Sự kiện doanh nghiệp

Cổ tức tiền mặt, cổ tức bằng cổ phiếu và phát hành quyền mua làm giá tham chiếu thay đổi. Dữ liệu giá cần được điều chỉnh nhất quán, và việc điều chỉnh phải dựa trên ngày giao dịch không hưởng quyền thực tế để tránh đưa thông tin tương lai vào tín hiệu.

6. Từ kiểm định đến phân bổ

Một yếu tố chỉ được đưa vào khung phân bổ khi vượt qua toàn bộ các bước:

  1. Walk-forward OOS cho lợi nhuận vượt trội dương ở mức chi phí cơ sở và giữ được khi chi phí và quy mô tăng.
  2. DSR và PBO đạt ngưỡng do Hội đồng Rủi ro & Định lượng quy định.
  3. Danh mục mô phỏng song song (shadow portfolio) trên dữ liệu thời gian thực trong một khoảng đủ dài để so sánh chi phí thực với giả định.
  4. Phân bổ trong ngân sách rủi ro: yếu tố chỉ được dùng ở mức phơi nhiễm nằm trong giới hạn tracking error, tỷ trọng ngành và thanh khoản của mandate.
  5. Giám sát và tiêu chí rà soát: khi kết quả thực lệch khỏi khoảng tin cậy dự kiến, yếu tố được đưa lại vòng kiểm định thay vì điều chỉnh tham số cho khớp dữ liệu mới.

Nguyên tắc định cỡ vị thế theo rủi ro, cùng các đặc thù như biên độ giá và T+2, được trình bày trong bài Quản trị vốn và DCA.

7. Kết luận

Một backtest có giá trị không phải vì Sharpe cao, mà vì nó trung thực về những gì đã thử, những gì đã tốn và những gì chưa biết. Walk-forward, mô hình chi phí theo quy mô và các thống kê điều chỉnh cho số lần thử là ba lớp bảo vệ giúp thu hẹp khoảng cách giữa kết quả trên giấy và kết quả của danh mục thực. Với các yếu tố có vòng quay cao như momentum, lớp bảo vệ thứ hai thường quyết định yếu tố đó có xứng đáng với ngân sách rủi ro hay không.

Lưu ý về số liệu: các bảng trong bài là minh hoạ phương pháp với giả định đơn giản hóa, không phải biểu phí, kết quả đầu tư thực tế hay dự báo lợi nhuận của bất kỳ danh mục nào.

Nguồn tham khảo

Về tác giả

Ban Nghiên cứu Định lượng & Rủi ro Ginity

Tác giả Ginity

Ban Nghiên cứu Định lượng & Rủi ro Ginity viết về Định lượng & rủi ro trên Ginity.

Được xem xét bởi Hội đồng Rủi ro & Định lượng

Xem hồ sơ và bài viết