27/12/2025
111 lượt đọc
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ỗ.
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ó.
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.
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.
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.
0 / 5
Ngành tài chính luôn có một sức hút rất đặc biệt. Lương cao, môi trường chuyên nghiệp, tiếp xúc với tiền, quyền lực và những quyết định lớn. Nhưng cũng chính vì vậy mà tài chính là một trong những ngành khiến người mới vào dễ… chọn sai nhất. Không phải vì họ kém năng lực, mà vì họ chọn con đường dựa trên hình ảnh bề ngoài, thay vì hiểu rõ bản thân và bản chất từng vai trò.
Khi nói đến momentum indicators, rất nhiều trader – đặc biệt là người mới – thường mặc định rằng đây là công cụ để đoán hướng giá. Điều này dẫn đến một loạt cách dùng sai phổ biến như “RSI quá mua thì short”, “MACD cắt xuống thì bán”. Nhưng nếu nhìn sâu hơn một chút, bạn sẽ thấy momentum indicator chưa bao giờ được thiết kế để trả lời câu hỏi giá sẽ đi lên hay đi xuống. Nhiệm vụ của nó là trả lời một câu hỏi khác quan trọng không kém: chuyển động giá hiện tại còn bao nhiêu sức để tiếp diễn.
Trong đầu tư và trading, volatility (biến động) là một trong những khái niệm được nhắc đến nhiều nhất. Ai cũng nói về nó: “thị trường đang biến động cao”, “vol thấp quá nên khó trade”, “vol sắp nổ”… Nhưng có một sự thật rất ít người dừng lại để nghĩ cho kỹ: volatility là thứ không thể nhìn thấy trực tiếp.
Khi thị trường phái sinh Việt Nam ra đời vào năm 2017 với sản phẩm đầu tiên là hợp đồng tương lai VN30, rất nhiều người nhìn nó như một “sòng bài mới”: T+0, đòn bẩy cao, kiếm tiền hai chiều, không cần vốn lớn. Cách nhìn đó không hoàn toàn sai, nhưng nếu dừng lại ở đó thì ta đã bỏ lỡ bản chất quan trọng nhất của phái sinh: đây là nơi rủi ro của toàn hệ thống được biểu hiện rõ ràng và nhanh nhất.
Trong trading, “edge” thường được nhắc đến như một thứ gì đó rất mơ hồ: một cảm giác thị trường, một mô hình quen mắt, hay một bộ quy tắc “đã từng kiếm tiền”. Nhưng nếu tiếp cận thị trường dưới góc độ định lượng, edge không phải là cảm giác, càng không phải là niềm tin. Edge là một đặc tính thống kê của hành động giao dịch, chỉ có thể được xác nhận khi quan sát trên một tập mẫu đủ lớn và đủ đa dạng về điều kiện thị trường.
Price Action thường bị hiểu nhầm như một tập hợp các mô hình nến hoặc vài đường kẻ hỗ trợ – kháng cự. Thực tế, nếu chỉ dừng ở đó thì Price Action không khác gì một dạng technical analysis tối giản. Bản chất sâu hơn của Price Action là một hệ quy chiếu để hiểu cách thị trường vận hành, nơi giá không còn là kết quả ngẫu nhiên của tin tức, mà là biểu hiện trực tiếp của hành vi con người, dòng tiền và cấu trúc thanh khoản.
Đượ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!