Backtesting, Forward testing và Walk-forward testing

27/12/2025

9 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

Ba kiểu Bear Market...nếu không phân loại đúng, bạn sẽ phản ứng sai
26/12/2025
24 lượt đọc

Ba kiểu Bear Market...nếu không phân loại đúng, bạn sẽ phản ứng sai C

Bear market không đáng sợ vì nó xảy ra, mà vì đa số nhà đầu tư không hiểu mình đang đối mặt với loại bear market nào. Khi không phân loại được bản chất của cú giảm, mọi phản ứng phía sau – từ bán tháo, mua bắt đáy, đến thay đổi chiến lược – đều dễ đi chệch hướng.

Stop loss là công cụ quản lý rủi ro hay cái bẫy quen thuộc trong trading?
25/12/2025
39 lượt đọc

Stop loss là công cụ quản lý rủi ro hay cái bẫy quen thuộc trong trading? C

Trong phần lớn trường hợp, stop loss không đo lường risk, mà chỉ phản ánh đường đi ngắn hạn của giá (price path). Risk, về mặt định lượng, là xác suất và mức độ của các kết cục bất lợi trong tương lai. Còn stop loss chỉ nói rằng: giá đã đi ngược lại vị thế của bạn một đoạn nào đó. Hai khái niệm này không đồng nhất, nhưng trong thực tế trading, chúng thường bị đánh đồng.

Algo trading hay Buy & Hold...thật ra là hai bài toán rất khác nhau
23/12/2025
171 lượt đọc

Algo trading hay Buy & Hold...thật ra là hai bài toán rất khác nhau C

Buy & Hold, xét cho cùng, là một chiến lược dựa trên equity risk premium: nhà đầu tư chấp nhận biến động và drawdown để đổi lấy kỳ vọng lợi nhuận vượt trội so với tài sản phi rủi ro trong dài hạn. Khi bạn Buy & Hold chỉ số hay cổ phiếu, bạn không chỉ mua tài sản, mà mua toàn bộ phân phối rủi ro của thị trường.

Algo Trading “Best Of” Không phải danh sách mẹo, mà là một lộ trình tư duy
22/12/2025
90 lượt đọc

Algo Trading “Best Of” Không phải danh sách mẹo, mà là một lộ trình tư duy C

Khi mới tìm hiểu algo trading, rất dễ bị cuốn vào công cụ, platform, indicator hay tối ưu tham số. Nhưng đọc các “Best Of Trading Lists” của Kevin Davey, điểm nổi bật nhất không phải là nên dùng cái gì, mà là nên nghĩ như thế nào. Những danh sách này thực chất ghép lại thành một lộ trình: từ cách nhìn về trading, cách xây strategy, cho tới cách sống sót khi hệ thống không hoạt động như mong đợi.

Momentum vs Trend Following – Hai chiến lược khác nhau để khai thác sức mạnh của giá
21/12/2025
81 lượt đọc

Momentum vs Trend Following – Hai chiến lược khác nhau để khai thác sức mạnh của giá C

Khi nói về các chiến lược giao dịch hệ thống dựa trên giá, momentum và trend following thường bị gộp chung vì cả hai đều “đi theo hướng giá”. Tuy nhiên, nếu nhìn kỹ, đây là hai cách tiếp cận khác nhau về cách thị trường tạo ra lợi nhuận theo thời gian.

Bot Trading có phải là một ý tưởng tốt
19/12/2025
105 lượt đọc

Bot Trading có phải là một ý tưởng tốt C

Nếu nhìn vào các con số thống kê, việc nhiều người tìm đến bot trading là điều hoàn toàn dễ hiểu. Phần lớn trader cá nhân không beat được thị trường trong dài hạn. Day trading thì tỷ lệ tồn tại còn thấp hơn nữa. Khi đã thử đủ cách mà kết quả vẫn không cải thiện, ý tưởng “để máy làm thay mình” trở nên rất hấp dẫn.

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!