Nội dung này phục vụ mục đích giáo dục, không phải lời khuyên đầu tư hoặc tín hiệu giao dịch.

Trả lời ngắn: Overfitting trong Trading xảy ra khi model, ruleset hoặc quy trình nghiên cứu khớp quá sát dữ liệu quá khứ, kể cả phần nhiễu và trùng hợp, nên kết quả đẹp trong mẫu nhưng suy yếu trên dữ liệu mới. Nó không chỉ do AI phức tạp; thử quá nhiều cấu hình rồi chọn người thắng cũng tạo overfitting.

Đọc xong, bạn sẽ hiểu:

  • Overfitting khác một backtest xấu hoặc một giai đoạn thua bình thường thế nào.
  • Vì sao người nghiên cứu cũng có thể “học thuộc lịch sử”.
  • Cách điền Overfitting Audit Card bằng số giả trước khi retest.

1. Overfitting trong Trading là gì?

a. Mô hình học tín hiệu hay học cả vết xước?

Một quy tắc thật sự hữu ích phải generalize, tức giữ được phần nào khả năng dự báo trên dữ liệu mới. Overfitting giống học sinh nhớ vị trí đáp án trên đề cũ: điểm luyện tập rất cao, nhưng đổi đề là lúng túng.

Google định nghĩa overfitting là tình trạng model làm tốt trên training data nhưng kém trên ví dụ mới. Hai nguyên nhân lớn là tập train không đại diện cho thực tế và model quá phức tạp (Google for Developers — Overfitting). Trong trading, bài toán còn khó hơn vì phân phối thị trường thay đổi theo thời gian.

Noise là dao động hoặc trùng hợp không bền mà model vẫn có thể ghi nhớ. Một mẫu “giá tăng sau ba cây nến xanh vào thứ Ba cuối tháng” có thể chỉ là vết xước trong lịch sử, không phải cơ chế lặp lại.

b. Train, validation và test có vai trò khác nhau

  • Train set: dùng để fit model hoặc chọn rule ban đầu.
  • Validation set: dùng để so cấu hình, tune hyperparameter và chọn ứng viên.
  • Test set: chỉ mở sau khi quy trình chọn đã khóa để ước lượng khả năng tổng quát.

Hyperparameter là lựa chọn do người nghiên cứu đặt, như lookback 20 hay 50, độ sâu cây hoặc learning rate. Nếu xem test rồi quay lại tune, test đã trở thành validation. Cần một test mới nếu muốn có phép kiểm độc lập.

Hiện tượng Train/IS Validation/OOS Cách hiểu
Underfitting Kém Kém Luật chưa học đủ cấu trúc
Fit hợp lý Khá Khá, có suy giảm Có khả năng generalize có điều kiện
Overfitting Rất đẹp Sụt mạnh hoặc bất ổn Đã học cả noise hoặc selection bias

Hình 1 — Một model nhìn đẹp trong gương lịch sử chưa chắc nhìn rõ qua cửa sổ dữ liệu mới.

2. Overfitting đến từ đâu?

a. Lớp dữ liệu: quá ít, sai thời điểm hoặc không đại diện

Nếu train chỉ chứa bull market, model có thể xem “luôn mua khi giảm nhẹ” là chân lý. Dữ liệu ít event làm vài giao dịch may mắn chi phối kết quả. Feature dùng dữ liệu tương lai, survivorship bias hoặc timestamp sai còn tạo ảo giác mạnh hơn overfitting thông thường: phép thử đã nhìn đáp án.

b. Lớp model và ruleset: quá nhiều núm vặn

Model capacity là khả năng một model biểu diễn các quan hệ phức tạp. Capacity cao không tự động xấu, nhưng khi dữ liệu ít và số tham số nhiều, model dễ bẻ cong để ôm từng điểm lịch sử.

Ruleset không dùng AI vẫn overfit được. Ví dụ ta thêm lần lượt bộ lọc thứ, giờ, volatility, volume, ba loại stop và năm mức take profit cho đến khi đường vốn mượt. Mỗi núm vặn là thêm một cách giải thích noise.

c. Lớp nghiên cứu: thử 240 lần rồi chỉ khoe một lần

Multiple testing là thử nhiều giả thuyết hoặc cấu hình trên cùng lịch sử. Giả sử 240 cấu hình thật ra không có edge. Chỉ nhờ ngẫu nhiên, vài cấu hình vẫn có thể đứng đầu bảng.

Winner's curse là người thắng được chọn một phần vì may mắn nên thường suy giảm khi đo lại. Bailey và cộng sự chỉ ra rằng số cấu hình backtest càng nhiều, xác suất backtest overfitting càng cao; nhưng số lần thử thường không được báo cáo (Bailey et al. — Effects of Backtest Overfitting).

Hình 2 — Người đọc cần thấy cả 240 lần thử, không chỉ chiếc cúp của cấu hình may mắn nhất.

3. Dấu hiệu nào cho thấy hệ thống có thể overfit?

a. Train–OOS gap quá lớn

Ví dụ giả: cấu hình A có return IS +34%, OOS -3%; Sharpe IS 2,6, OOS 0,1. Khoảng cách này là red flag, chưa phải bản án. OOS có thể rơi đúng regime khác hoặc mẫu quá nhỏ. Ta cần nhìn thêm số trade, cost, data quality và các fold khác.

Validation curve của scikit-learn so train score với validation score khi một hyperparameter thay đổi. Train cao nhưng validation giảm khi complexity tăng là mẫu hình overfit thường gặp (scikit-learn — Validation curves).

b. Parameter cliff và hàng xóm yếu

Parameter cliff là điểm mà chỉ một giá trị, chẳng hạn lookback 37, cho kết quả tuyệt đẹp; 35, 36, 38, 39 đều xấu. Nếu cơ chế kinh tế không giải thích được vách đứng ấy, ta có thể đang chọn đúng một nhiễu ngẫu nhiên.

Một vùng tham số lân cận cùng khá thường đáng tin hơn một đỉnh kim. Nhưng “mặt phẳng đẹp” cũng không chứng minh edge; nó có thể xuất hiện vì data leakage hoặc cost model quá dễ.

c. Đẹp nhờ turnover, lệnh hiếm hoặc một giai đoạn

  • Lợi nhuận biến mất khi thêm fee và slippage hợp lý.
  • 80% P&L đến từ ba giao dịch.
  • Chỉ một symbol, timeframe hoặc năm lịch sử hoạt động.
  • Feature importance và tham số đổi cực mạnh giữa các fold.
  • OOS bị mở nhiều lần và trở thành nơi tune không chính thức.
  • Trial log chỉ còn người thắng, không còn những cấu hình bị loại.

Chắc chắn: không một chỉ số đẹp nào tự chứng minh không overfit. Có điều kiện: nhiều bằng chứng cùng chiều — OOS ổn định, hàng xóm bền, chi phí chịu được, trial log đầy đủ — làm rủi ro đáng tin hơn, nhưng không xóa được uncertainty.

4. Làm gì để giảm overfitting?

a. Giảm tự do trước khi tăng dữ liệu

  1. Viết hypothesis bằng lời trước khi code: cơ chế nào có thể tạo edge?
  2. Chọn baseline, tức mô hình đơn giản để so; model phức tạp phải thắng baseline sau chi phí.
  3. Giới hạn search space và số trial trước khi chạy.
  4. Tách train/validation/test theo thời gian; dùng Walk-forward Analysis khi phù hợp.
  5. Ghi mọi trial, kể cả trial xấu, cùng code hash và data snapshot.
  6. Kiểm parameter neighborhood, nhiều regime và cost sensitivity.
  7. Giữ final holdout chưa mở; sau đó mới forward paper.

b. Simplify và regularize

Regularization là cơ chế phạt độ phức tạp để model không ôm quá sát train data. Với model, đó có thể là L1/L2, dropout, pruning hoặc early stopping. Với ruleset, cách tương đương là bỏ filter yếu, làm tròn tham số, giảm số điều kiện và ưu tiên vùng tham số thay vì một đỉnh.

Đơn giản không đồng nghĩa tốt. Một MA crossover hai tham số vẫn có thể bị chọn sau 10.000 lần thử. Điều cần kiểm là tổng “ngân sách tự do”: số feature, tham số, market, timeframe, metric và quyết định thủ công đã thử.

c. Báo cáo quy trình, không chỉ báo cáo người thắng

Một research report nên có hypothesis, số trial, search space, split, cost, rejected variants, kết quả từng fold và lý do dừng. Probability of Backtest Overfitting là một cách định lượng selection risk khi nhiều cấu hình được so, nhưng nó không thay thế data audit hoặc economic reasoning (Bailey et al. — PBO).

Đứng ngoài nếu không tái lập được code/data, không biết đã thử bao nhiêu lần, test từng bị dùng để tune hoặc performance mất hết sau chi phí. Đừng “sửa thêm một chút” trên cùng OOS.

5. Bài tập 15 phút: Overfitting Audit Card

a. Dùng bảng tính miễn phí

Mở Google Sheets hoặc LibreOffice Calc. Tạo 12 cấu hình giả với các cột trial, lookback, filter_count, IS_return, OOS_return, OOS_drawdown, cost_on, neighbor_pass, note.

Cho trial 7 đứng đầu IS với +18,4% nhưng OOS -2,1%. Trong năm cấu hình lân cận, chỉ hai cấu hình OOS dương. Trial 7 dùng bốn filter; baseline một filter đạt IS +7,2%, OOS +3,0%. Đây là dữ liệu demo, không phải chiến lược.

b. Mẫu tham khảo đã điền

Trường Mẫu tham khảo
Trials đã thử 12, ghi đủ cả trial xấu
Best IS / OOS Trial 7: +18,4% / -2,1%
Hàng xóm 2/5 OOS dương
Baseline +7,2% IS / +3,0% OOS
Decision SIMPLIFY + RETEST
Xem cách ra quyết định mẫu

Không chọn trial 7 chỉ vì IS cao. Giữ baseline, bỏ các filter không có lý do, khóa search space nhỏ hơn rồi tạo nghiên cứu mới với holdout chưa mở. Chưa chuyển sang tiền thật.

Hình 3 — Audit Card buộc ghi số trial, hàng xóm và baseline trước khi retest.

c. Kết quả bài tập cần giữ

Lưu sheet cùng ngày, version và giả định chi phí. Decision SIMPLIFY + RETEST không có nghĩa baseline chắc chắn tốt; nó chỉ nói bằng chứng hiện tại chưa ủng hộ trial 7. Không xóa 11 trial còn lại, vì chúng là mẫu số của selection process.

6. Tổng kết

a. Năm ý chính

  • Overfitting là fit lịch sử tốt nhưng generalize kém trên dữ liệu mới.
  • Model đơn giản vẫn overfit nếu được chọn từ quá nhiều lần thử.
  • Train–OOS gap, parameter cliff và hàng xóm yếu là red flag, không phải bản án riêng lẻ.
  • Time split, WFA, trial log, baseline, regularization và holdout giúp giảm rủi ro.
  • Kết quả tốt sau kiểm định vẫn cần forward paper; không bảo đảm lợi nhuận.

b. Câu hỏi tự kiểm tra

  • Test set mất tính độc lập khi nào?
  • Vì sao ruleset không dùng AI vẫn có thể overfit?
  • Parameter cliff gợi ý điều gì?
  • Trial log giúp người review đánh giá gì?

c. Gợi ý đáp án

Xem gợi ý câu 1

Khi đã xem test rồi quay lại tune model, rule hoặc protocol. Xem mục 1b.

Xem gợi ý câu 2

Vì thêm nhiều filter và thử nhiều cấu hình vẫn có thể khớp noise. Xem mục 2b–2c.

Xem gợi ý câu 3

Đỉnh đơn độc có thể là trùng hợp; cần kiểm hàng xóm và cơ chế. Xem mục 3b.

Xem gợi ý câu 4

Nó cho biết search space và mức selection bias, không chỉ người thắng. Xem mục 4c.

d. Thuật ngữ cần nhớ

Thuật ngữ Giải thích ngắn
Overfitting Khớp train quá sát, yếu trên dữ liệu mới
Generalization Khả năng hoạt động trên dữ liệu chưa dùng
Noise Dao động hoặc trùng hợp không bền
Hyperparameter Lựa chọn cấu hình do người nghiên cứu đặt
Model capacity Mức quan hệ phức tạp model có thể biểu diễn
Multiple testing Thử nhiều giả thuyết trên cùng lịch sử
Winner's curse Người thắng may mắn thường suy giảm khi đo lại
Parameter cliff Một đỉnh tham số tốt nhưng hàng xóm xấu
Regularization Phạt độ phức tạp để giảm học thuộc
Trial log Nhật ký đầy đủ mọi cấu hình đã thử

e. Nguồn tham khảo

Đọc lại Walk-forward Analysis là gì, quay về AI Trading là gì, rồi học tiếp bài #22 về Data Leakage và Look-ahead Bias.

Chọn đúng bài trong lộ trình

Bài này tập trung vào overfitting trong trading — dấu hiệu học nhiễu và cách giảm overfit. Nếu bạn cần bức tranh chung trước khi đi sâu, hãy bắt đầu từ AI Trading là gì? Hướng dẫn từ nền tảng đến kiểm định. Các bước liên quan trực tiếp là Walk-forward Analysis là gì, Data Leakage và Look-ahead BiasModel Drift là gì trong AI Trading.

Nội dung này phục vụ mục đích giáo dục, không phải lời khuyên đầu tư hoặc tín hiệu giao dịch. Mọi thị trường đều có rủi ro mất vốn.