Backtesting, Forward testing và Walk-forward testing

27/12/2025

618 lượt đọc

Vì sao rất nhiều chiến lược “hợp lý” vẫn chết khi chạy thật

Trong algo trading, có một nghịch lý mà gần như ai cũng gặp ít nhất một lần: bạn có một ý tưởng nghe rất logic, backtest không quá đẹp nhưng đủ ổn để tin là có edge, thậm chí forward test vài tháng đầu còn kiếm được tiền. Nhưng rồi đến một lúc nào đó, chiến lược bắt đầu đi chệch khỏi kỳ vọng. Lỗ không phải kiểu “sai logic”, mà là lỗ dai, lỗ đều, khiến bạn nghi ngờ chính khả năng đánh giá hệ thống của mình. Khi nhìn lại, rất nhiều người mới nhận ra: vấn đề không nằm ở việc chiến lược có edge hay không, mà nằm ở việc mình đã tin vào kết quả test sai chỗ.

Phần 1: Backtesting – khi quá khứ trả lời rất rõ, nhưng lại không trả lời đúng câu hỏi

Backtesting về bản chất chỉ làm một việc: lấy một tập dữ liệu lịch sử, áp luật giao dịch vào, rồi tính xem nếu đã biết trước mọi thứ thì kết quả sẽ như thế nào. Vấn đề là, con người rất dễ đánh tráo mục tiêu. Ta không hỏi “chiến lược này có từng kiếm tiền không?”, mà vô thức hỏi “chiến lược này có đáng để mình tin không?”. Và backtest thì không được thiết kế để trả lời câu hỏi thứ hai.

Ví dụ rất thực tế: bạn xây một chiến lược breakout đơn giản, dùng high/low của 20 ngày. Bạn optimize thêm vài tham số như stop, take profit, filter volatility. Sau một hồi thử, bạn thấy có một vùng tham số cho kết quả ổn trên dữ liệu 2010–2020. Lúc này, điều bạn không nhìn thấy là: chiến lược đó ăn chủ yếu nhờ một số giai đoạn có trend kéo dài và biến động có cấu trúc rất “đẹp”. Bạn không cố tình gian lận, nhưng bạn đã vô tình điều chỉnh chiến lược cho phù hợp với lịch sử mà bạn đã nhìn thấy.

Backtest không cho bạn cảm giác rủi ro thật. Bạn không phải chịu chuỗi lỗ liên tiếp mà không biết bao giờ kết thúc. Bạn không phải đối mặt với việc “logic vẫn đúng nhưng P&L vẫn xấu”. Vì vậy, backtest rất dễ tạo ra một dạng tự tin giả: không phải vì số liệu bị làm đẹp, mà vì bạn đang đứng ngoài cuộc chơi khi đánh giá nó.

Phần 2: Forward testing – nơi cảm xúc bắt đầu phá vỡ mọi thứ một cách rất hợp lý

Forward testing thường được xem là “bước tiếp theo tự nhiên”: chạy chiến lược trên dữ liệu mới, không dùng để optimize. Trên lý thuyết, đây là bước rất tốt. Nhưng trên thực tế, forward test là nơi rất nhiều chiến lược chết theo cách âm thầm nhất.

Lý do là vì forward testing đặt bạn vào một trạng thái tâm lý rất khó: bạn đã đầu tư công sức vào chiến lược, đã thấy nó hoạt động trong backtest, và giờ bạn chờ nó chứng minh mình đúng. Khi kết quả không như kỳ vọng, phản xạ rất tự nhiên là can thiệp. Ban đầu chỉ là những điều chỉnh nhỏ: “market này hơi khác”, “volatility cao quá”, “giảm size chút cho an toàn”. Nhưng mỗi lần bạn chỉnh, bạn đang học từ dữ liệu forward, và như vậy forward test không còn là forward test nữa.

Một ví dụ rất phổ biến: một chiến lược mean reversion chạy tốt trong môi trường volatility thấp. Khi volatility tăng, chiến lược lỗ liên tục. Thay vì chấp nhận rằng edge của mình có giới hạn regime, người chạy chiến lược thêm filter để “tránh market xấu”. Kết quả: forward test sau đó nhìn có vẻ ổn hơn, nhưng thực chất bạn vừa fit chiến lược vào đúng giai đoạn đang chạy, và lần tới khi regime đổi nữa, vấn đề lại lặp lại.

Forward testing chỉ thực sự có giá trị nếu bạn chấp nhận một điều rất khó: để chiến lược thua đúng cách. Không sửa, không tối ưu, không biện minh. Điều này cực kỳ khó với con người, đặc biệt khi có tiền thật liên quan.

Phần 3: Walk-forward testing – mô phỏng đúng cách mà một trader phải sống cùng sự không chắc chắn

Walk-forward testing là phương pháp gần nhất với thực tế ra quyết định của con người trong trading. Bạn chỉ được phép dùng dữ liệu quá khứ để đưa ra tham số, rồi buộc phải sống với kết quả trong tương lai mà bạn không kiểm soát được. Điểm quan trọng không nằm ở con số lợi nhuận, mà ở hành vi của chiến lược qua nhiều giai đoạn khác nhau.

Khi làm walk-forward nghiêm túc, bạn sẽ thấy những thứ mà backtest không bao giờ cho thấy: có giai đoạn chiến lược hoạt động đúng như kỳ vọng, có giai đoạn edge gần như biến mất, có giai đoạn lỗ kéo dài dù logic không hề sai. Đây chính là bức tranh thực của trading: edge không bật/tắt rõ ràng, mà mờ dần rồi quay lại.

Một ví dụ rất đời: hai chiến lược có cùng CAGR trong backtest, nhưng khi walk-forward, một cái cho kết quả tương đối ổn định qua các window, cái còn lại phụ thuộc nặng vào một vài giai đoạn ngắn. Nếu chỉ nhìn backtest, bạn không phân biệt được. Nhưng walk-forward buộc bạn phải hỏi câu hỏi quan trọng hơn: “Nếu tôi bắt đầu chạy chiến lược này ở một thời điểm ngẫu nhiên trong tương lai, xác suất tôi gặp giai đoạn xấu là bao nhiêu?”

Điểm mạnh nhất của walk-forward không phải là “giảm overfitting”, mà là giảm ảo tưởng kiểm soát. Nó dạy bạn rằng một chiến lược tốt không phải là chiến lược thắng nhiều, mà là chiến lược thua theo cách bạn có thể chịu đựng và tồn tại.

Kết luận: Test không phải để tìm chiến lược thắng, mà để loại bỏ những chiến lược khiến bạn tự tin nhầm

Nếu chỉ rút ra một bài học sau tất cả các phương pháp test, thì đó là: đừng dùng test để chứng minh bạn đúng. Hãy dùng test để tìm ra tất cả những cách bạn có thể sai. Một chiến lược sống sót qua walk-forward không đảm bảo sẽ kiếm tiền, nhưng một chiến lược không sống sót qua walk-forward gần như chắc chắn sẽ làm bạn mất tiền khi chạy thật.

Trong algo trading, thứ nguy hiểm nhất không phải là chiến lược kém, mà là chiến lược trông có vẻ hợp lý đủ để bạn tin, nhưng không đủ bền để bạn sống sót khi market đổi mặt. Và chỉ khi bạn test theo cách khiến bản thân thấy khó chịu, mất tự tin và buộc phải đặt câu hỏi ngược lại, bạn mới đang đi đúng hướng.

Chia sẻ bài viết

Đánh giá

Hãy là người đầu tiên nhận xét bài viết này!

Đăng ký nhận tin

Nhập Email để nhận được bản tin mới nhất từ QM Capital.

Bài viết liên quan

Mô hình Không gian Trạng thái & Bộ lọc Kalman: Tại sao chúng cực kỳ quan trọng trong trading?
12/04/2026
30 lượt đọc

Mô hình Không gian Trạng thái & Bộ lọc Kalman: Tại sao chúng cực kỳ quan trọng trong trading? C

Trong lĩnh vực quantitative finance, có một số công cụ mạnh mẽ nhưng ít được chú ý đến so với những mô hình phổ biến như Deep Learning hay SMA crossover. Một trong những công cụ mạnh mẽ đó chính là Mô hình Không gian Trạng thái (State-space models) và Bộ lọc Kalman (Kalman filter). Mặc dù có vẻ phức tạp, nhưng những công cụ này lại cực kỳ hữu ích và mạnh mẽ khi áp dụng vào việc phân tích và dự đoán thị trường tài chính. Mặc dù nghe có vẻ như là những mô hình nguyên thủy, thực tế chúng là những công cụ cực kỳ mạnh mẽ và bền bỉ (robust), đặc biệt trong môi trường thay đổi nhanh chóng của các thị trường tài chính.

Khả năng giải thích trong trading: Tại sao lại quan trọng?
11/04/2026
39 lượt đọc

Khả năng giải thích trong trading: Tại sao lại quan trọng? C

Khi thực hiện bất kỳ chiến lược giao dịch nào trên thị trường tài chính, một yếu tố không thể thiếu chính là khả năng giải thích (interpretability) của mô hình giao dịch. Điều này đặc biệt quan trọng trong bối cảnh môi trường biến động và khi quản lý rủi ro là yếu tố sống còn đối với các quỹ đầu tư và các trader chuyên nghiệp. Mỗi chiến lược giao dịch không chỉ cần phải hiệu quả mà còn phải dễ hiểu, có thể giải thích một cách rõ ràng tại sao tín hiệu mua/bán lại được đưa ra trong một tình huống cụ thể.

Vectorized backtesting có ích gì trong thực tế?
06/04/2026
105 lượt đọc

Vectorized backtesting có ích gì trong thực tế? C

Trong thực tế, rất nhiều ý tưởng giao dịch nghe qua đều có vẻ hợp lý. Ví dụ như mua khi giá vượt MA dài hạn, mua khi cổ phiếu breakout kèm thanh khoản tăng, hoặc đứng ngoài khi thị trường chung nằm dưới đường trung bình dài hạn. Nếu chỉ nhìn chart bằng mắt, rất dễ cảm thấy những ý tưởng như vậy “có vẻ đúng”. Vấn đề là cảm giác đó không đủ để dùng tiền thật. Với QM Capital, giá trị đầu tiên và lớn nhất của vectorized backtesting không phải là để khoe một equity curve đẹp, mà là để biến một ý tưởng mơ hồ thành một bộ quy tắc kiểm tra được.

Vì sao thực thi quan trọng hơn dự báo trong quant trading
05/04/2026
96 lượt đọc

Vì sao thực thi quan trọng hơn dự báo trong quant trading C

Khi mới học quant trading, nhiều người thường tập trung gần như toàn bộ vào phần mô hình. Họ nghĩ rằng nếu dự báo đúng hơn một chút, hoặc nếu tìm được một tín hiệu chính xác hơn phần còn lại của thị trường, thì kết quả giao dịch chắc chắn sẽ tốt. Cách nghĩ này không sai hoàn toàn, nhưng mới đúng một nửa. Trong giao dịch thực tế, dự báo chỉ là điểm bắt đầu. Sau đó còn một bước quan trọng hơn nhiều: biến tín hiệu đó thành vị thế thật, giao dịch thật, lợi nhuận thật.

Overfitting là “kẻ thù số 1” trong quant trading
02/04/2026
162 lượt đọc

Overfitting là “kẻ thù số 1” trong quant trading C

Nếu phải chọn một rủi ro làm hỏng nhiều chiến lược định lượng nhất, thì đó thường không phải là thiếu mô hình hiện đại, mà là overfitting. Nói đơn giản, overfitting xảy ra khi mô hình học quá kỹ dữ liệu quá khứ đến mức nó không chỉ học tín hiệu thật, mà còn học luôn cả nhiễu. Khi nhìn lại lịch sử, mọi thứ trông rất đẹp: độ chính xác cao, equity curve mượt, drawdown dễ chịu, Sharpe ratio hấp dẫn. Nhưng đến khi đem sang giai đoạn mới, hoặc live trading, mô hình bắt đầu hỏng rất nhanh.

Vì sao các quỹ quant lớn vẫn kiếm tiền bằng những mô hình rất đơn giản?
31/03/2026
285 lượt đọc

Vì sao các quỹ quant lớn vẫn kiếm tiền bằng những mô hình rất đơn giản? C

Có một hiểu lầm rất phổ biến khi mới bước vào quant trading: cứ nghe đến “quant” là nghĩ ngay đến deep learning, transformers, reinforcement learning, foundation models, hay ít nhất cũng phải có một thứ gì đó đủ phức tạp để nghe giống phòng lab hơn là bàn giao dịch. Nhưng nếu nhìn vào cách nhiều tổ chức thật đang vận hành, bức tranh lại bớt hào nhoáng hơn nhiều.

video-image

Truy Cập Miễn Phí Thư Viện Bot Tín Hiệu Giao Dịch Tự Động

Được nghiên cứu và phát triển bởi các chuyên gia từ QMTrade và cộng đồng nhà đầu tư chuyên nghiệp.

Truy cập ngay!