Vì sao backtest rất đẹp nhưng live trading vẫn thua?

25/03/2026

495 lượt đọc

7 cái bẫy khiến strategy tưởng có lợi thế nhưng thực ra không có

Phần 1: Backtest đẹp chỉ là điểm khởi đầu, không phải bằng chứng chiến lược sẽ kiếm được tiền

Khi mới học quant trading, rất nhiều người có chung một cảm giác phấn khích. Chỉ cần tải dữ liệu giá về, viết vài dòng Python, gắn thêm một vài điều kiện như MA cắt nhau, RSI quá bán hay breakout đỉnh cũ, rồi chạy backtest là có ngay một đường vốn tăng rất đẹp. Nhìn vào kết quả đó, ai cũng dễ nghĩ rằng mình vừa tìm ra một chiến lược có thể kiếm tiền thật. Nhưng vấn đề nằm ở chỗ backtest chỉ cho ta biết chiến lược sẽ trông như thế nào nếu quá khứ diễn ra đúng như dữ liệu đang có trong máy. Nó không hề đảm bảo rằng khi bước ra thị trường thật, nơi có độ trễ, có chi phí, có tâm lý và có những biến động bất ngờ, chiến lược đó vẫn giữ được hiệu quả như vậy.

Người mới thường mắc sai lầm ở chỗ nhìn backtest như một bài kiểm tra cuối cùng, trong khi thực ra nó chỉ là bài kiểm tra đầu tiên. Một strategy có lợi nhuận cao trong quá khứ chưa chắc là strategy tốt. Nó có thể chỉ là một cách sắp xếp dữ liệu khéo léo, hoặc tệ hơn, là một mô hình vô tình học thuộc lòng quá khứ.

Ví dụ rất quen thuộc ở Việt Nam là bạn lấy dữ liệu của một số cổ phiếu lớn như FPT, MWG, HPG, ACB, VCB rồi chạy chiến lược momentum đơn giản. Giai đoạn thị trường tăng tốt thì chiến lược này nhìn rất ổn, lợi nhuận đều, drawdown thấp. Nhưng đến khi đem áp dụng sang giai đoạn thị trường rung lắc mạnh, tín hiệu bắt đầu nhiễu, lệnh vào ra liên tục và lợi nhuận co lại rất nhanh. Điều đó cho thấy một đường backtest đẹp chưa nói lên nhiều điều, vì điều quan trọng không phải là chiến lược từng thắng trong lịch sử, mà là vì sao nó thắng, nó thắng trong điều kiện nào, và điều kiện đó có còn tồn tại nữa hay không.

Một lỗi khác rất hay gặp là dùng nhầm thông tin của tương lai mà không nhận ra. Người mới hay tải dữ liệu về rồi tính indicator cho cả bộ dữ liệu, sau đó sinh tín hiệu mua bán luôn trong cùng cây nến hoặc cùng ngày. Nghe thì có vẻ bình thường, nhưng thực tế nếu bạn dùng giá đóng cửa hôm nay để quyết định mua ngay ở giá đóng cửa hôm nay, thì đó là một giả định không thực tế. Trong đời thật, bạn chỉ biết giá đóng cửa sau khi phiên đã kết thúc. Nghĩa là lệnh hợp lý hơn phải là mua ở phiên sau. Chỉ cần sai lệch một bước rất nhỏ như vậy thôi, kết quả backtest có thể đẹp hơn rất nhiều so với giao dịch thật. Đây là lý do tại sao có những chiến lược lúc viết code thì Sharpe rất cao, nhưng đến khi paper trade hoặc vào lệnh thật lại thấy kết quả khác hẳn.

Với sinh viên hoặc người mới, cách hiểu đơn giản nhất là thế này. Backtest giống như bạn giải đề thi bằng đáp án đã có sẵn ở cuối sách. Bạn có thể làm đúng rất nhiều câu, nhưng điều đó chưa chứng minh được rằng khi đi thi thật bạn cũng sẽ làm tốt như vậy. Muốn biết chiến lược có thật sự mạnh hay không, phải kiểm tra nó trong điều kiện gần với thực tế hơn nhiều.

Phần 2: Bẫy dữ liệu khiến chiến lược nhìn rất hay nhưng thực ra chỉ đúng trên giấy

Một trong những cái bẫy lớn nhất của người mới làm quant là tin rằng dữ liệu lịch sử luôn khách quan. Thực ra dữ liệu có thể vô tình làm bạn hiểu sai chiến lược rất nhiều. Cái bẫy đầu tiên là chỉ nhìn vào những cổ phiếu còn “sống khỏe” đến hiện tại. Ví dụ bạn muốn kiểm tra một chiến lược trên nhóm VN30, rồi bạn lấy danh sách VN30 hiện tại chạy ngược về 5 năm trước. Làm vậy rất tiện, nhưng không chính xác, vì thành phần của chỉ số qua từng năm không giống nhau. Có mã từng ở trong rổ rồi bị loại, có mã trước kia yếu nhưng giờ mới mạnh lên. Khi bạn chỉ test trên nhóm cổ phiếu đang tốt ở hiện tại, bạn vô tình bỏ qua những mã kém hơn từng tồn tại trong quá khứ. Kết quả là chiến lược nhìn đẹp hơn thực tế, vì bộ dữ liệu đã bị làm sạch quá mức.

Ở Việt Nam, lỗi này càng dễ gặp vì nhiều người mới chỉ quen backtest trên những mã nổi tiếng, thanh khoản cao, tên quen thuộc. Nhưng thị trường thật không chỉ có FPT, VCB, HPG hay SSI. Trong nhiều giai đoạn, dòng tiền luân chuyển rất mạnh sang midcap hoặc smallcap. Có thời điểm nhóm chứng khoán chạy mạnh, có thời điểm nhóm bất động sản hút tiền, có lúc lại quay về ngân hàng. Nếu dữ liệu của bạn chỉ toàn những cổ phiếu nhìn đẹp ở hiện tại, bạn sẽ có cảm giác strategy nào cũng hiệu quả. Nhưng khi bước vào thị trường thật, danh mục thực tế luôn bừa bộn hơn nhiều.

Cái bẫy thứ hai là thử quá nhiều cách cho đến khi ra kết quả đẹp. Người mới thường bắt đầu bằng một ý tưởng rất đơn giản, chẳng hạn MA 10 cắt MA 30 thì mua. Chạy thử thấy chưa đẹp, liền đổi sang MA 15 và MA 40. Chưa ổn thì thêm điều kiện RSI phải trên 50. Sau đó lại thêm volume phải lớn hơn trung bình 20 phiên. Rồi thêm stop-loss 5 phần trăm, take-profit 12 phần trăm. Sau một hồi chỉnh sửa, cuối cùng cũng ra được một đường vốn rất mượt. Lúc đó ai cũng có cảm giác như mình vừa tối ưu được hệ thống. Nhưng thực ra nhiều khi mình chỉ đang “vẽ lại” chiến lược cho khớp với đoạn lịch sử vừa test mà thôi.

Hãy tưởng tượng bạn nhìn lại dữ liệu của HPG từ năm 2020 đến 2024 và tìm ra rằng MA 18 cắt MA 43 cho kết quả tốt nhất. Con số này nghe rất cụ thể nên dễ tạo cảm giác khoa học. Nhưng vấn đề là vì sao lại là 18 và 43, chứ không phải 20 và 50. Rất có thể đó chỉ là bộ tham số hợp nhất với đoạn dữ liệu cũ, chứ không phản ánh một quy luật ổn định của thị trường. Khi sang năm sau, hoặc chuyển từ HPG sang MSN hay CTG, chiến lược đó có thể yếu đi rất nhanh. Đây là kiểu bẫy rất phổ biến với người mới học Python và backtest, vì việc thử hàng trăm tổ hợp tham số quá dễ, trong khi việc kiểm soát xem mình có đang tối ưu quá mức hay không lại khó hơn nhiều.

Với người mới, có thể hiểu đơn giản thế này. Nếu bạn thử đủ nhiều cách, gần như lúc nào bạn cũng sẽ tìm ra một cách nhìn rất đẹp trong quá khứ. Nhưng đẹp trong quá khứ không có nghĩa là có lợi thế thật. Nó chỉ chứng minh rằng bạn đã tìm ra một chìa khóa khớp với ổ khóa cũ, còn ổ khóa của thị trường tương lai có thể đã khác rồi.

Phần 3: Từ backtest sang live trading là lúc thực tế bắt đầu “đòi tiền”

Đây là phần khiến nhiều người vỡ mộng nhất. Trên backtest, bạn thấy chiến lược lãi đều. Nhưng khi giao dịch thật, bạn mới nhận ra thị trường không cho bạn mua bán dễ dàng như trong code. Trên máy tính, bạn có thể giả định rằng cứ có tín hiệu là khớp ở đúng giá đóng cửa, hoặc đúng giá mở cửa hôm sau. Nhưng ngoài đời, luôn có một khoảng chênh giữa mức giá bạn muốn và mức giá bạn thật sự nhận được. Đó là lý do rất nhiều chiến lược lợi nhuận thấp nhưng tần suất giao dịch cao sẽ chết ngay khi đưa chi phí vào.

Ở Việt Nam, điều này rất dễ thấy. Ví dụ bạn viết một strategy lướt sóng ngắn trên cổ phiếu SSI. Mỗi lệnh bạn chỉ kỳ vọng lời khoảng 2 phần trăm. Nhìn trên backtest, tỷ lệ thắng khá tốt nên tổng thể vẫn đẹp. Nhưng khi vào giao dịch thật, bạn phải chịu phí giao dịch, thuế khi bán, rồi thêm chênh lệch mua bán trên bảng điện. Đôi khi thấy tín hiệu đẹp, bạn đặt mua nhưng cổ phiếu bật lên ngay, khớp cao hơn dự kiến. Đến lúc bán cũng không ra được đúng mức giá đẹp như trong mô phỏng. Tổng hợp những chi tiết nhỏ đó lại, lợi nhuận mỗi lệnh bị bào mòn rất nhanh. Một chiến lược lời 2 phần trăm mỗi trade trên giấy có thể chỉ còn rất ít, thậm chí âm khi bước vào thực chiến.

Với các mã thanh khoản vừa hoặc thấp, câu chuyện còn rõ hơn nữa. Giả sử bạn backtest trên một cổ phiếu midcap nào đó và thấy tín hiệu breakout rất hay. Nhưng lúc giao dịch thật, khi cổ phiếu bắt đầu tăng mạnh, bên bán mỏng đi rất nhanh. Bạn muốn mua giá 25.0 nhưng cuối cùng phải khớp lên 25.3 hoặc 25.4 mới đủ khối lượng. Đến khi cổ phiếu giảm, bạn lại không thoát được đúng mức giá mong muốn. Backtest thường không phản ánh được chuyện này. Nó nhìn thị trường như một dòng dữ liệu mượt mà, trong khi thị trường thật là nơi lệnh của bạn phải va chạm với lệnh của người khác.

Một điểm nữa mà sinh viên hay bỏ qua là vấn đề thời gian. Trong code, mọi thứ diễn ra tức thì. Nhưng ở thị trường thật, tín hiệu xuất hiện rồi bạn còn phải xử lý dữ liệu, gửi lệnh, chờ khớp, đôi khi mạng chậm hoặc bảng điện giật. Với những chiến lược ngắn hạn, chỉ cần chậm một chút là chất lượng giao dịch đã khác. Đây là lý do những người mới rất hay tự hỏi vì sao cùng một rule, cùng một dữ liệu mà backtest lãi còn trade thật thì không như mong đợi. Câu trả lời nằm ở chỗ thị trường thật có ma sát, còn backtest thường quá sạch sẽ.

Nói theo cách gần gũi, backtest giống như bạn tập đá bóng trong phòng gym, còn live trading là ra sân thật lúc trời mưa, cỏ trơn, khán giả ồn, đồng đội phối hợp không như tập. Kỹ thuật trên sân tập vẫn quan trọng, nhưng nếu không tính đến điều kiện thật thì kết quả sẽ khác rất xa.

Phần 4: Cái bẫy cuối cùng là thị trường luôn thay đổi, còn chiến lược của bạn lại đang sống trong quá khứ

Ngay cả khi dữ liệu của bạn sạch hơn, code của bạn đúng hơn và chi phí giao dịch đã được tính vào, vẫn còn một bẫy lớn nữa. Đó là thị trường không đứng yên. Một chiến lược có thể hoạt động rất tốt trong một giai đoạn, nhưng khi bối cảnh thay đổi, hiệu quả của nó cũng thay đổi theo. Đây là điều đặc biệt quan trọng với thị trường Việt Nam, vì Việt Nam thường có những giai đoạn luân chuyển rất rõ giữa các nhóm ngành và tâm lý thị trường thay đổi khá mạnh theo từng chu kỳ.

Ví dụ, một chiến lược mua theo breakout có thể hoạt động rất tốt trong giai đoạn thị trường hưng phấn, dòng tiền vào mạnh, nhà đầu tư sẵn sàng đẩy giá lên tiếp. Nhưng sang giai đoạn thị trường lình xình hoặc nghi ngờ, những cú breakout đó dễ trở thành bẫy tăng giá. Bạn mua xong thì cổ phiếu đứng lại hoặc quay đầu ngay. Ngược lại, một chiến lược bắt đáy ngắn hạn có thể rất hiệu quả khi thị trường đi ngang và hồi kỹ thuật thường xuyên, nhưng lại cực kỳ nguy hiểm trong những nhịp giảm mạnh kéo dài. Người mới thường thấy một strategy chạy tốt trong 2 năm rồi nghĩ rằng đó là quy luật bền vững. Thực ra rất có thể chiến lược đó chỉ hợp với một “mùa” của thị trường mà thôi.

Ở Việt Nam, chỉ cần nhìn lại vài năm gần đây là thấy rất rõ. Có giai đoạn cổ phiếu ngân hàng dẫn sóng, có giai đoạn chứng khoán và bất động sản bứt mạnh, nhưng cũng có lúc những nhóm đó suy yếu rõ rệt. Một chiến lược được xây trên logic rằng tiền sẽ luôn quay lại nhóm bluechip có thể hoạt động tốt ở một pha, nhưng sang pha khác lại không còn phù hợp. Điều quan trọng là phải hiểu chiến lược của mình sinh ra để kiếm tiền trong môi trường nào. Nó phù hợp với thị trường tăng mạnh, đi ngang hay biến động lớn. Nó cần thanh khoản cao hay chỉ cần biến động cao. Nó phù hợp với cổ phiếu vốn hóa lớn hay các mã đầu cơ. Khi chưa trả lời được những câu hỏi này, người mới rất dễ nhầm lẫn giữa chiến lược có lợi thế và chiến lược chỉ gặp đúng thời.

Vậy người mới nên làm gì để đỡ rơi vào 7 cái bẫy này. Cách đơn giản nhất là bớt tin vào một backtest đẹp ngay từ đầu. Hãy chia dữ liệu thành nhiều giai đoạn, thử xem chiến lược có còn ổn ở những khoảng thời gian khác nhau không. Đừng tối ưu quá nhiều tham số. Hãy tính cả phí, thuế, độ trượt giá vào từ sớm. Ưu tiên những chiến lược có logic đủ đơn giản để giải thích được. Và quan trọng nhất, trước khi nghĩ đến chuyện kiếm tiền nhanh từ quant, hãy coi backtest như một công cụ học cách nghi ngờ chính mình. Người sống lâu trong thị trường không phải người tạo được đường vốn đẹp nhất trong notebook, mà là người biết chiến lược của mình yếu ở đâu và còn sống được sau khi bỏ đi những ảo tưởng đẹp đẽ nhất.

Tóm lại, backtest đẹp không xấu. Nó vẫn là bước rất quan trọng trong quant trading. Nhưng điều nguy hiểm là quá yêu backtest của mình. Một chiến lược có lợi thế thật thường không quá hào nhoáng. Nó có thể không lãi khủng trong lịch sử, không có Sharpe đẹp như mơ, không có hàng chục điều kiện phức tạp. Nhưng đổi lại, nó thực tế hơn, bền hơn, dễ giải thích hơn và ít bị vỡ vụn khi đưa vào thị trường thật. Đó mới là thứ người mới nên theo đuổi.

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

Understanding Market Sentiment: Đọc vị thị trường để đưa ra quyết định giao dịch chính xác
21/04/2026
726 lượt đọc

Understanding Market Sentiment: Đọc vị thị trường để đưa ra quyết định giao dịch chính xác C

Trong giao dịch, rất nhiều người dành phần lớn thời gian để học cách đọc biểu đồ, học mô hình nến, học RSI, MACD, Bollinger Bands hay Fibonacci. Những thứ đó đều hữu ích. Nhưng sau một thời gian đủ dài, gần như ai cũng sẽ gặp cùng một vấn đề: biết tín hiệu nhưng vẫn vào sai lệnh, thấy mô hình đúng mà kết quả vẫn không như kỳ vọng. Lý do nằm ở chỗ thị trường không vận hành chỉ bằng kỹ thuật. Thị trường vận hành bằng kỳ vọng, định vị dòng tiền và cảm xúc tập thể. Nói cách khác, nếu chỉ đọc chart mà không đọc được tâm lý thị trường, chúng ta mới chỉ nhìn thấy “hình dạng” của giá, chứ chưa hiểu “động cơ” khiến giá vận động.

Vì sao trader thua không phải vì thiếu kiến thức, mà vì thiếu kỷ luật?
14/04/2026
213 lượt đọc

Vì sao trader thua không phải vì thiếu kiến thức, mà vì thiếu kỷ luật? C

Jesse Livermore là một trong những cái tên kinh điển nhất trong lịch sử trading. Điều khiến ông trở thành huyền thoại không chỉ nằm ở những thương vụ lớn, mà nằm ở cách ông quan sát thị trường và đúc kết ra các nguyên tắc giao dịch vượt thời gian. Dù thị trường ngày nay đã có thuật toán, dữ liệu lớn, phái sinh, margin, HFT và rất nhiều công cụ hiện đại, những bài học của Livermore vẫn còn nguyên giá trị, bởi bản chất sâu nhất của thị trường chưa từng thay đổi: con người vẫn bị chi phối bởi tham lam, sợ hãi, hy vọng và cái tôi.

Trading không phải là đoán đúng, mà là xây dựng lợi thế
14/04/2026
255 lượt đọc

Trading không phải là đoán đúng, mà là xây dựng lợi thế C

Đọc bài review của Steve Burns về cuốn The Man Who Solved the Market: Jim Simons, QM Capital thấy đây không chỉ là câu chuyện về một cá nhân xuất chúng, mà là một cách nhìn rất khác về thị trường tài chính. Jim Simons không bước vào thị trường với tư duy “hôm nay mua mã nào” hay “ngày mai thị trường tăng hay giảm”. Ông bước vào thị trường với niềm tin rằng: trong giá cả có những mẫu hình lặp lại, và nếu có đủ dữ liệu, đủ năng lực toán học, đủ công nghệ và đủ kỷ luật, con người có thể tìm ra lợi thế từ những mẫu hình đó.

Những mô hình nhiều nến đáng chú ý trong giao dịch chứng khoán và phái sinh Việt Nam - Phần 2
14/04/2026
291 lượt đọc

Những mô hình nhiều nến đáng chú ý trong giao dịch chứng khoán và phái sinh Việt Nam - Phần 2 C

Ở Phần 1, chúng ta đã nói về cách hình thành các mô hình giá phổ biến. Sang Phần 2, trọng tâm không còn là “mô hình đó trông như thế nào”, mà là mô hình nào có thể tạo tín hiệu tăng, mô hình nào cảnh báo tín hiệu giảm, và quan trọng hơn là trader nên đọc chúng ra sao trong thực chiến.

Cách hình thành các mô hình giá phổ biến trong phân tích kỹ thuật - Phần I
14/04/2026
342 lượt đọc

Cách hình thành các mô hình giá phổ biến trong phân tích kỹ thuật - Phần I C

Trong phân tích kỹ thuật, mô hình giá không chỉ là những đường kẻ trên biểu đồ. Mỗi mô hình thực chất là một “bản ghi” về tâm lý thị trường: bên mua đang mạnh lên hay yếu đi, bên bán đang phân phối hay mất kiểm soát, dòng tiền đang tích lũy hay rút ra. Khi nhìn một mô hình, điều quan trọng không phải là cố tìm cho giống hình mẫu trong sách, mà là hiểu được câu chuyện cung – cầu đang diễn ra phía sau.

Techniques for Trading Patterns: 4 Kỹ thuật quan trọng trong giao dịch chứng khoán và phái sinh Việt Nam
14/04/2026
294 lượt đọc

Techniques for Trading Patterns: 4 Kỹ thuật quan trọng trong giao dịch chứng khoán và phái sinh Việt Nam C

Trong giao dịch tài chính, đặc biệt là ở thị trường chứng khoán Việt Nam và phái sinh VN30, phần lớn trader thường bắt đầu bằng việc tìm kiếm tín hiệu vào lệnh. Họ học các mô hình giá, đường trung bình, RSI, MACD, Bollinger Bands, volume, nến Nhật và rất nhiều chỉ báo khác. Tuy nhiên, vấn đề không nằm ở việc thiếu tín hiệu. Vấn đề lớn hơn là trader không biết tín hiệu nào đáng tin, vào lệnh ở đâu, sai thì thoát ở đâu, và khi nào nên kiên nhẫn chờ giá điều chỉnh thay vì mua đuổi.

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!