Học đầu tư định lượng, bài 2

Bốn cái bẫy khi kiểm chứng một quy tắc trên dữ liệu

Kiểm chứng một quy tắc trên dữ liệu rất dễ cho ra kết quả đẹp mà sai. Bốn lỗi hay gặp và cách tránh.

Tác giả: Rich Future. Ngày 04/10/2026. 3 phút đọc.

Thử một quy tắc trên dữ liệu thị trường là cách nhanh nhất để biết nó giữ được gì và mất gì, trước khi dùng tiền thật. Nhưng phép thử này có một nhược điểm: nó rất dễ cho ra kết quả đẹp mà sai. Kết quả sai không báo lỗi. Bảng tính vẫn chạy, biểu đồ vẫn đi lên, chỉ có điều tiền thật sẽ không đi theo.

Dưới đây là bốn cái bẫy hay gặp. Rich Future đặt việc kiểm cả bốn điều này làm yêu cầu bắt buộc, trước khi tin vào bất kỳ con số nào.

1. Nhìn trước tương lai

Đây là lỗi rất hay gặp và khó thấy. Một quy tắc ghi “mua khi giá đóng cửa vượt đường trung bình 20 phiên”. Trong bảng tính, phép thử mua luôn ở giá đóng cửa của chính ngày đó.

Nhưng ngoài đời, bạn chỉ biết giá đóng cửa khi phiên đã kết thúc. Lệnh sớm nhất có thể đặt là ở phiên hôm sau, với một mức giá khác. Phép thử đã dùng một thông tin chưa tồn tại tại thời điểm quyết định.

Cách tránh: mọi quyết định trong phép thử chỉ được dùng dữ liệu có trước lúc đặt lệnh. Tín hiệu hôm nay thì khớp lệnh từ phiên sau.

2. Quá khớp với dữ liệu

Thử đủ nhiều cách kết hợp, kiểu gì cũng tìm ra một bộ thông số cho kết quả tuyệt đẹp trên chính đoạn dữ liệu đang thử. Đường trung bình 23 phiên tốt hơn 20 phiên, điểm dừng lỗ 7,5% tốt hơn 8%… Càng chỉnh, quy tắc càng khớp với những gì đã xảy ra, và càng ít liên quan tới những gì sẽ xảy ra.

Cách tránh:

  • Giữ lại một đoạn dữ liệu không đụng tới khi xây quy tắc. Chỉ dùng đoạn đó để thử lần cuối, một lần.
  • Ưu tiên quy tắc ít thông số. Một quy tắc chỉ hoạt động với đúng một con số thường là dấu hiệu của quá khớp.
  • Kiểm tra xem kết quả có còn chấp nhận được khi đổi thông số một chút không.

3. Quên chi phí và thanh khoản

Trên giấy, mọi lệnh đều khớp đúng giá, không mất phí. Ngoài đời thì có phí giao dịch, thuế khi bán, và chênh lệch giữa giá mình muốn với giá thật sự khớp. Với một quy tắc giao dịch nhiều lần, những khoản nhỏ này cộng lại có thể xóa sạch phần lời trên giấy.

Thanh khoản là mặt còn lại của vấn đề. Một mã mỗi phiên chỉ khớp vài trăm triệu đồng thì lệnh vài tỷ đồng sẽ tự đẩy giá lên khi mua và đè giá xuống khi bán.

Cách tránh: trừ đủ chi phí vào từng lệnh trong phép thử, và loại các mã có giá trị giao dịch quá thấp so với quy mô lệnh dự kiến.

4. Chỉ nhìn những mã còn sống

Lấy danh sách các mã đang niêm yết hôm nay rồi thử quy tắc trên mười năm dữ liệu của chúng, nghe thì hợp lý. Nhưng danh sách đó đã bỏ sót những công ty bị hủy niêm yết trong mười năm qua, trong đó có nhiều doanh nghiệp làm ăn kém. Phép thử vô tình chỉ chọn trong nhóm “người sống sót”, nên kết quả đẹp hơn thực tế.

Cách tránh: dùng dữ liệu có cả các mã đã hủy niêm yết, đúng như danh sách mà một nhà đầu tư thật nhìn thấy vào từng thời điểm.

Phép thử tốt nhất vẫn là thời gian

Qua được bốn cái bẫy trên, một quy tắc mới đủ điều kiện để chuyển sang chặng tiếp theo: chạy thử theo thời gian thật, chưa dùng tiền, rồi so kết quả với phần kiểm chứng. Đó cũng là lý do mỗi quy tắc của chúng tôi đi qua ba chặng, nghiên cứu, chạy thử rồi mới vận hành thật, như trên trang Phương pháp.

Bài viết chia sẻ kiến thức chung. Mua bán mã nào là quyết định của bạn, theo quy tắc của bạn.

Sẵn sàng kiến tạo tương lai?

Hành trình bắt đầu từ một buổi trao đổi. Bạn chưa cần mở tài khoản, cũng chưa cần quyết định điều gì.

Zalo