Robust Backtesting: Backtest thế nào mới đủ tin để triển khai thật?
Một trong những câu nguy hiểm nhất trong đầu tư định lượng là: “Chiến lược này backtest đẹp lắm.” Nghe thì có vẻ thuyết phục, nhưng thật ra một kết quả backtest đẹp chưa nói lên quá nhiều điều. Một đường equity curve đi lên đều, Sharpe ratio cao, drawdown thấp, tỷ lệ thắng tốt — tất cả đều có thể chỉ là sản phẩm của việc chọn dữ liệu thuận lợi, tối ưu tham số quá tay, bỏ qua chi phí giao dịch, hoặc vô tình dùng thông tin mà tại thời điểm giao dịch thật nhà đầu tư không thể biết trước.
Một trong những câu nguy hiểm nhất trong đầu tư định lượng là: “Chiến lược này backtest đẹp lắm.” Nghe thì có vẻ thuyết phục, nhưng thật ra một kết quả backtest đẹp chưa nói lên quá nhiều điều. Một đường equity curve đi lên đều, Sharpe ratio cao, drawdown thấp, tỷ lệ thắng tốt — tất cả đều có thể chỉ là sản phẩm của việc chọn dữ liệu thuận lợi, tối ưu tham số quá tay, bỏ qua chi phí giao dịch, hoặc vô tình dùng thông tin mà tại thời điểm giao dịch thật nhà đầu tư không thể biết trước.
Backtest không phải là công cụ để chứng minh chắc chắn một chiến lược sẽ thắng. Backtest chỉ là một bài kiểm tra xem ý tưởng đầu tư có từng hoạt động trong quá khứ hay không, hoạt động trong điều kiện nào, yếu ở đâu, và nếu triển khai thật thì rủi ro có chấp nhận được không. Vì vậy, nhà đầu tư không nên chỉ hỏi: “Backtest lời bao nhiêu?” Câu hỏi đúng hơn phải là: “Kết quả backtest này có đáng tin không, hay chỉ đẹp vì mình đã vô tình tối ưu nó cho quá khứ?”
CFA Institute nhấn mạnh rằng backtesting cần đặc biệt chú ý đến các lỗi như survivorship bias và look-ahead bias, đồng thời rolling-window hoặc walk-forward backtest thường gần với thực tế đầu tư hơn vì mô phỏng việc nhà đầu tư chỉ được dùng dữ liệu quá khứ để đưa ra quyết định tại từng thời điểm. Ngoài ra, các nghiên cứu của Bailey, Borwein, López de Prado và Zhu về backtest overfitting cũng chỉ ra rằng việc chọn chiến lược tốt nhất sau khi thử quá nhiều biến thể có thể khiến nhà đầu tư đánh giá quá cao chất lượng thật của chiến lược.
Bài này sẽ đi thẳng vào trọng tâm: một backtest thế nào mới đủ sạch, đủ chặt và đủ đáng tin để cân nhắc triển khai thật trên thị trường chứng khoán Việt Nam.

Phần 1: Backtest đẹp chưa chắc là backtest tốt
Một backtest đẹp thường rất dễ làm người ta tin. Ví dụ, bạn xây một chiến lược mua cổ phiếu khi giá vượt MA20, bán khi giá thủng MA20. Sau khi chạy dữ liệu 5 năm, kết quả cho thấy lợi nhuận vượt VN-Index, drawdown thấp hơn thị trường, tỷ lệ thắng hơn 60%, đường vốn tăng khá đều. Nếu chỉ nhìn bề mặt, chiến lược này có vẻ đủ tốt để triển khai. Nhưng một người làm định lượng nghiêm túc sẽ không dừng ở đó. Họ sẽ hỏi: dữ liệu có sạch không, cổ phiếu hủy niêm yết có được đưa vào không, giá đã điều chỉnh cổ tức và chia tách chưa, tín hiệu có dùng thông tin tương lai không, có tính phí giao dịch không, có trượt giá không, có giới hạn thanh khoản không, và chiến lược còn hiệu quả nếu thay MA20 thành MA18 hoặc MA25 không?
Đây là khác biệt giữa người xem kết quả backtest và người đánh giá chất lượng backtest. Người mới thường nhìn vào con số lợi nhuận cuối cùng. Người có kinh nghiệm nhìn vào cách con số đó được tạo ra. Một chiến lược có lợi nhuận 25%/năm nhưng được tạo ra bằng dữ liệu sai, không tính chi phí, tối ưu quá nhiều tham số và chỉ hoạt động trong một giai đoạn thị trường tăng mạnh thì không đáng tin bằng một chiến lược lợi nhuận 12–15%/năm nhưng ổn định qua nhiều giai đoạn, có chi phí thực tế, có kiểm định ngoài mẫu và có logic đầu tư rõ ràng.
Trên thị trường chứng khoán Việt Nam, lỗi backtest rất dễ xuất hiện vì dữ liệu có nhiều đặc thù. Nếu chỉ lấy danh sách cổ phiếu hiện tại để backtest ngược về quá khứ, bạn đã mắc survivorship bias. Nghĩa là bạn chỉ kiểm tra trên những cổ phiếu còn sống đến hôm nay, bỏ qua các mã đã hủy niêm yết, bị kiểm soát, thanh khoản cạn kiệt hoặc giảm rất mạnh trong quá khứ. Kết quả khi đó thường đẹp hơn thực tế vì những “người thua cuộc” đã bị loại khỏi dữ liệu. Một chiến lược chọn cổ phiếu cơ bản nếu chỉ test trên những doanh nghiệp còn tồn tại tốt đến hiện tại sẽ dễ tạo cảm giác rằng phương pháp đó rất mạnh, nhưng khi triển khai thật, nhà đầu tư không biết trước doanh nghiệp nào sẽ sống sót.
Một lỗi khác là look-ahead bias, tức vô tình dùng thông tin tương lai. Ví dụ, bạn backtest chiến lược mua cổ phiếu có lợi nhuận quý tăng trưởng mạnh. Nếu dữ liệu lợi nhuận quý I được dùng ngay tại ngày kết thúc quý, trong khi thực tế báo cáo tài chính có thể công bố sau đó vài tuần, backtest đã sai. Tại thời điểm giao dịch thật, nhà đầu tư chưa thể biết dữ liệu đó. Với thị trường Việt Nam, lỗi này rất phổ biến trong các chiến lược dùng báo cáo tài chính, vì cần phân biệt rõ ngày kỳ báo cáo kết thúc và ngày thông tin thực sự được công bố ra thị trường. CFA Institute cũng mô tả look-ahead bias là việc sử dụng thông tin không có sẵn tại thời điểm lịch sử đang được kiểm định.
Một backtest cũng có thể đẹp vì không tính đủ chi phí giao dịch. Ở Việt Nam, nhà đầu tư phải tính phí giao dịch, thuế bán, chênh lệch giá mua bán, trượt giá khi đặt lệnh, và tác động thanh khoản nếu chiến lược giao dịch trên cổ phiếu nhỏ. Một chiến lược đảo danh mục quá thường xuyên có thể nhìn rất tốt trước chi phí, nhưng sau khi trừ phí và trượt giá thì lợi nhuận gần như biến mất. Đặc biệt, nếu chiến lược mua các cổ phiếu thanh khoản thấp, kết quả backtest dùng giá đóng cửa có thể rất ảo, vì thực tế không thể mua đủ khối lượng ở giá đó.
Vì vậy, backtest tốt không phải là backtest có đường lợi nhuận đẹp nhất. Backtest tốt là backtest khó bị đánh lừa nhất. Nó phải được xây trên dữ liệu đúng thời điểm, có đầy đủ cổ phiếu trong vũ trụ đầu tư, có chi phí thực tế, có giả định khớp lệnh hợp lý, và không cho phép chiến lược biết trước những gì nhà đầu tư thật không thể biết.
Phần 2: Một backtest đủ tin phải kiểm tra được “sống sót ngoài quá khứ đẹp”
Điểm yếu lớn nhất của nhiều backtest là chỉ chứng minh chiến lược từng hoạt động trong đúng giai đoạn mà người thiết kế đã nhìn thấy. Nhưng triển khai thật là chuyện khác. Khi đưa tiền thật vào thị trường, chiến lược sẽ đối mặt với dữ liệu mới, trạng thái thị trường mới, thanh khoản mới và hành vi nhà đầu tư mới. Vì vậy, bước quan trọng nhất của robust backtesting là kiểm tra xem chiến lược có còn sống khi rời khỏi vùng dữ liệu đã dùng để thiết kế hay không.
Cách phổ biến nhất là tách dữ liệu thành in-sample và out-of-sample. In-sample là phần dữ liệu dùng để xây dựng và điều chỉnh chiến lược. Out-of-sample là phần dữ liệu được giữ lại để kiểm tra, không được dùng trong quá trình tối ưu. Nếu một chiến lược rất đẹp trong in-sample nhưng tệ trong out-of-sample, khả năng cao nó đã bị overfit — tức là học thuộc quá khứ thay vì nắm được một quy luật có ý nghĩa. Investopedia cũng nhấn mạnh rằng backtest đơn lẻ có thể gây hiểu nhầm, nên cần out-of-sample và forward testing để đánh giá hệ thống trước khi dùng tiền thật.
Tuy nhiên, với dữ liệu tài chính, chia một lần in-sample/out-of-sample vẫn chưa đủ. Thị trường không ổn định như dữ liệu trong phòng thí nghiệm. Một chiến lược có thể hoạt động tốt giai đoạn 2020–2021 vì tiền rẻ và dòng tiền cá nhân mạnh, nhưng lại yếu giai đoạn 2022 khi lãi suất tăng, trái phiếu doanh nghiệp gặp vấn đề và khẩu vị rủi ro giảm. Ngược lại, một chiến lược phòng thủ có thể đẹp trong thị trường giảm nhưng kém trong thị trường tăng. Vì vậy, cần kiểm tra chiến lược qua nhiều regime: thị trường tăng, giảm, đi ngang, thanh khoản cao, thanh khoản thấp, lãi suất giảm, lãi suất tăng, khối ngoại mua ròng, khối ngoại bán ròng.
Một phương pháp tốt hơn là walk-forward backtesting. Thay vì tối ưu một lần trên toàn bộ quá khứ rồi kiểm tra một đoạn cuối, walk-forward mô phỏng cách nhà đầu tư thật vận hành chiến lược: dùng dữ liệu quá khứ để chọn tham số, triển khai trên giai đoạn tiếp theo, rồi lại cuộn cửa sổ dữ liệu về phía trước. Ví dụ, dùng dữ liệu 2018–2020 để chọn bộ tham số, test trên 2021; sau đó dùng 2019–2021 để chọn lại tham số, test trên 2022; tiếp tục như vậy. CFA Institute mô tả rolling-window hoặc walk-forward framework là cách nhà nghiên cứu hiệu chỉnh tín hiệu trên cửa sổ dữ liệu quá khứ, tái cân bằng định kỳ và theo dõi hiệu suất theo thời gian, gần với đầu tư thật hơn backtest tĩnh.
Một chiến lược robust không nhất thiết phải thắng trong mọi giai đoạn. Điều đó gần như không thực tế. Nhưng nó phải có hành vi hợp lý. Nếu thị trường tăng mạnh mà chiến lược trend-following thắng tốt, thị trường đi ngang thì lợi nhuận giảm, thị trường giảm thì drawdown được kiểm soát — đó là hành vi có thể hiểu được. Ngược lại, nếu chiến lược chỉ thắng nhờ một vài giao dịch cực lớn, chỉ hoạt động trong một năm duy nhất, hoặc lợi nhuận đến từ nhóm cổ phiếu rất nhỏ mà thực tế khó mua bán, thì cần nghi ngờ.
Ví dụ, bạn backtest một chiến lược chọn cổ phiếu VN dựa trên momentum 3 tháng. Kết quả 2017–2024 cho thấy lợi nhuận trung bình 22%/năm, vượt VN-Index. Nghe có vẻ tốt. Nhưng khi tách nhỏ, bạn phát hiện 70% lợi nhuận đến từ giai đoạn 2020–2021, còn các năm khác chỉ đi ngang hoặc lỗ nhẹ. Sau đó bạn kiểm tra thêm và thấy chiến lược mua rất nhiều cổ phiếu midcap thanh khoản thấp trong giai đoạn dòng tiền đầu cơ bùng nổ. Nếu triển khai thật với quy mô vốn lớn hơn, có thể không khớp được giá như backtest. Kết quả này không vô dụng, nhưng chưa đủ robust.
Một backtest đủ tin phải trả lời được: nếu thay đổi giai đoạn kiểm định, chiến lược có còn ổn không? Nếu bỏ một năm tốt nhất ra, kết quả có sụp không? Nếu tăng chi phí giao dịch, lợi nhuận có còn không? Nếu chỉ giao dịch cổ phiếu thanh khoản cao, chiến lược còn hiệu quả không? Nếu trì hoãn lệnh một phiên sau tín hiệu, kết quả có mất hết không? Nếu một chiến lược chỉ đẹp trong điều kiện hoàn hảo, nó chưa sẵn sàng để triển khai thật.
Phần 3: Đừng chỉ nhìn lợi nhuận; hãy đọc cấu trúc rủi ro của backtest
Một backtest không nên được đánh giá chỉ bằng tổng lợi nhuận. Tổng lợi nhuận là con số dễ gây ảo giác nhất, vì nó không cho biết nhà đầu tư phải chịu rủi ro gì để đạt được kết quả đó. Một chiến lược lời 200% trong 5 năm nhưng từng drawdown 60% có thể không thực tế với hầu hết nhà đầu tư. Khi drawdown quá sâu, đa số người sẽ bỏ cuộc trước khi chiến lược kịp hồi phục. Vì vậy, chất lượng backtest phải được đọc qua cấu trúc rủi ro.
Chỉ số đầu tiên cần nhìn là maximum drawdown — mức sụt giảm lớn nhất từ đỉnh tài khoản xuống đáy. Đây là con số rất quan trọng vì nó phản ánh áp lực tâm lý và rủi ro sống sót. Một chiến lược có CAGR 25% nhưng max drawdown 45% chưa chắc tốt hơn chiến lược CAGR 15% nhưng max drawdown 15%. Với tiền thật, nhà đầu tư không chỉ cần lợi nhuận, mà cần khả năng chịu đựng được hành trình tạo ra lợi nhuận đó.
Chỉ số thứ hai là Sharpe ratio, nhưng không nên thần thánh hóa Sharpe. Sharpe cao có thể đến từ lợi nhuận ổn định thật, nhưng cũng có thể bị thổi phồng nếu mẫu dữ liệu ngắn, lợi nhuận không phân phối chuẩn, hoặc chiến lược được chọn sau khi thử hàng trăm biến thể. Bailey và López de Prado đề xuất Deflated Sharpe Ratio để điều chỉnh Sharpe cho các vấn đề như selection bias, overfitting và phân phối lợi nhuận không chuẩn. Điều này rất quan trọng vì nhiều người thấy Sharpe 2.0 hay 3.0 là lập tức tin chiến lược tốt, trong khi câu hỏi đúng là: Sharpe đó có còn đáng tin sau khi tính đến số lần thử nghiệm và rủi ro chọn nhầm “người thắng may mắn” không?
Chỉ số thứ ba là turnover — mức độ xoay vòng danh mục. Một chiến lược có lợi nhuận cao nhưng turnover quá lớn sẽ rất nhạy với chi phí giao dịch. Nếu mỗi tháng thay 80–100% danh mục, nhà đầu tư phải trả phí, thuế và trượt giá liên tục. Trên giấy, lợi nhuận có thể cao. Ngoài thị trường, chi phí ăn mòn rất nhanh. Với cổ phiếu Việt Nam, turnover càng cao thì càng phải kiểm tra khắt khe giả định khớp lệnh.
Chỉ số thứ tư là average trade — lợi nhuận trung bình mỗi giao dịch. Nếu mỗi giao dịch chỉ lời trung bình 0,3–0,5% trước chi phí, chiến lược rất dễ chết khi đưa vào thực tế. Chỉ cần trượt giá một chút, spread rộng hơn một chút, hoặc khớp lệnh không đúng giá đóng cửa, lợi thế biến mất. Một chiến lược robust nên có biên lợi nhuận mỗi giao dịch đủ dày so với chi phí thực tế.
Chỉ số thứ năm là phân bổ nguồn lợi nhuận. Lợi nhuận đến đều từ nhiều cổ phiếu, nhiều giai đoạn, nhiều nhóm ngành, hay chỉ đến từ vài lệnh cực lớn? Nếu bỏ 5 giao dịch tốt nhất ra mà toàn bộ chiến lược mất lợi nhuận, kết quả không vững. Nếu chiến lược chỉ thắng nhờ một nhóm ngành duy nhất trong một chu kỳ duy nhất, nó có thể là câu chuyện may mắn theo regime, không phải lợi thế bền.
Ví dụ, một chiến lược chọn cổ phiếu theo thanh khoản tăng đột biến có kết quả rất tốt. Nhưng khi kiểm tra, bạn thấy lợi nhuận chủ yếu đến từ nhóm bất động sản và chứng khoán trong một giai đoạn thị trường hưng phấn. Khi áp dụng sang nhóm ngân hàng, tiêu dùng, sản xuất, kết quả không rõ ràng. Khi thị trường đi ngang, chiến lược bị whipsaw liên tục. Khi thêm chi phí giao dịch, lợi nhuận giảm mạnh. Kết quả này cho thấy chiến lược có thể chỉ là cách bắt sóng đầu cơ trong một môi trường cụ thể, không phải một mô hình đủ bền để triển khai mọi lúc.
Một backtest nghiêm túc cũng phải kiểm tra capacity, tức quy mô vốn có thể triển khai. Một chiến lược giao dịch cổ phiếu thanh khoản thấp có thể lời tốt với tài khoản 200 triệu, nhưng không thể vận hành với 20 tỷ. Nếu backtest giả định mua được 5% thanh khoản trung bình ngày ở giá đóng cửa mà không làm giá dịch chuyển, kết quả rất dễ ảo. Với chiến lược định lượng, capacity không phải chi tiết phụ. Nó quyết định chiến lược có thể biến thành sản phẩm thật hay chỉ là một file Excel đẹp.
Do đó, khi đọc backtest, đừng chỉ hỏi “lãi bao nhiêu”. Hãy hỏi: lãi đó đến từ đâu, có ổn định không, phải chịu drawdown bao nhiêu, turnover thế nào, chi phí có làm mất lợi thế không, có đủ thanh khoản để triển khai không, và nếu điều kiện thị trường thay đổi thì chiến lược có còn sống không.
Phần 4: Backtest đủ tốt để triển khai thật cần qua các bài kiểm tra chịu đựng
Một chiến lược chỉ nên được cân nhắc triển khai thật khi đã qua các bài kiểm tra chịu đựng. Bài kiểm tra đầu tiên là stress test chi phí giao dịch. Nếu phí, thuế và trượt giá trong giả định là 0,15% mỗi chiều, hãy thử nâng lên 0,25%, 0,35%, thậm chí cao hơn với cổ phiếu thanh khoản thấp. Nếu chiến lược chỉ còn lời khi chi phí rất thấp, lợi thế không đủ an toàn. Thị trường thật luôn xấu hơn backtest: lệnh không khớp đúng giá, spread giãn, thanh khoản biến mất lúc cần bán, và tâm lý khiến việc thực hiện không hoàn hảo.
Bài kiểm tra thứ hai là stability test tham số. Nếu chiến lược dùng MA20, hãy kiểm tra MA15, MA18, MA22, MA25. Nếu chiến lược dùng RSI dưới 30 để mua, hãy kiểm tra RSI 25, 28, 32, 35. Một chiến lược robust thường không phụ thuộc vào đúng một con số ma thuật. Nếu chỉ MA20 lời rất lớn nhưng MA19 và MA21 đều tệ, khả năng cao đó là overfit. Một vùng tham số tốt phải tạo ra kết quả tương đối ổn định, không phải một điểm duy nhất đẹp bất thường.
Bài kiểm tra thứ ba là regime test. Chiến lược phải được kiểm tra riêng trong các giai đoạn thị trường tăng, giảm, đi ngang, thanh khoản cao, thanh khoản thấp, biến động cao, biến động thấp. Với thị trường Việt Nam, nên đặc biệt kiểm tra các giai đoạn có tính chất khác nhau: giai đoạn dòng tiền mạnh, giai đoạn thắt chặt tiền tệ, giai đoạn khối ngoại bán ròng, giai đoạn nhóm trụ kéo chỉ số nhưng độ rộng yếu, và giai đoạn cổ phiếu đầu cơ bị siết thanh khoản. Một chiến lược không cần thắng mọi regime, nhưng cần biết regime nào phù hợp và regime nào nên giảm quy mô.
Bài kiểm tra thứ tư là delay test. Nếu tín hiệu xuất hiện cuối ngày hôm nay, backtest có mua được đúng giá đóng cửa không? Thực tế, nhiều nhà đầu tư chỉ có thể mua ở phiên sau. Vì vậy, hãy test trường hợp vào lệnh chậm một phiên. Nếu chỉ cần chậm một phiên mà lợi nhuận biến mất, chiến lược rất khó triển khai thật. Điều này đặc biệt quan trọng với các chiến lược ngắn hạn, breakout hoặc momentum, vì tín hiệu thường xuất hiện sau khi giá đã chạy.
Bài kiểm tra thứ năm là out-of-sample và paper trading. Sau khi chiến lược qua dữ liệu lịch sử, không nên lập tức đưa toàn bộ vốn vào. Nên chạy paper trading hoặc vốn nhỏ trong một thời gian để kiểm tra xem tín hiệu có vận hành như backtest không. Investopedia gọi forward performance testing, hay paper trading, là một lớp kiểm tra bổ sung vì nó mô phỏng giao dịch theo logic hệ thống trong thị trường thật nhưng chưa dùng tiền thật hoặc dùng mức rủi ro rất nhỏ.
Bài kiểm tra cuối cùng là kỷ luật triển khai. Một chiến lược backtest tốt nhưng nhà đầu tư không thể làm đúng cũng vô dụng. Nếu hệ thống yêu cầu cắt lỗ nhanh nhưng nhà đầu tư hay trì hoãn, kết quả thật sẽ khác backtest. Nếu hệ thống yêu cầu mua khi thị trường hoảng loạn nhưng nhà đầu tư không dám mua, kết quả thật sẽ khác. Nếu hệ thống yêu cầu tái cân bằng hàng tuần nhưng nhà đầu tư chỉ làm khi rảnh, kết quả thật cũng khác. Backtest giả định kỷ luật hoàn hảo, còn thị trường thật kiểm tra con người thật.
Một quy trình triển khai hợp lý nên đi theo từng bước. Đầu tiên là viết rõ logic chiến lược: tại sao tín hiệu này có thể tạo lợi thế? Sau đó làm backtest sạch: dữ liệu đúng, không look-ahead, không survivorship, có chi phí, có thanh khoản. Tiếp theo là kiểm tra out-of-sample, walk-forward, tham số, regime, chi phí và delay. Nếu qua được, chạy paper trading hoặc vốn nhỏ. Chỉ khi kết quả thực tế tương đối khớp với hành vi kỳ vọng, mới tăng vốn dần. Và kể cả khi đã triển khai, vẫn phải theo dõi live performance để phát hiện strategy decay — tức lợi thế suy yếu theo thời gian.
Một chiến lược đủ tin để triển khai thật không phải là chiến lược có backtest đẹp nhất, mà là chiến lược sống được sau khi bị làm khó. Tăng chi phí vẫn còn lời. Đổi tham số nhẹ vẫn ổn. Tách giai đoạn vẫn hợp lý. Chạy ngoài mẫu không sụp. Vào lệnh trễ một chút không chết. Bỏ vài giao dịch tốt nhất vẫn còn lợi thế. Giảm thanh khoản giả định vẫn triển khai được. Đó mới là backtest có chất lượng.
Kết luận
Robust backtesting không phải là làm cho kết quả quá khứ đẹp hơn. Ngược lại, robust backtesting là cố tình làm cho bài kiểm tra khó hơn để xem chiến lược có còn đáng tin không. Một backtest tốt phải khiến nhà đầu tư bớt ảo tưởng, không phải tự tin mù quáng hơn.
Nếu chỉ nhìn tổng lợi nhuận, nhà đầu tư rất dễ bị lừa bởi một chiến lược overfit. Nếu biết đọc chất lượng backtest, nhà đầu tư sẽ hỏi những câu quan trọng hơn: dữ liệu có sạch không, có dùng thông tin tương lai không, có bỏ qua cổ phiếu đã chết không, có tính chi phí không, kết quả có sống ngoài mẫu không, tham số có ổn định không, drawdown có chịu được không, và chiến lược có triển khai được với thanh khoản thật không.
Backtest là bước đầu, không phải bằng chứng cuối cùng. Nó chỉ đủ giá trị khi được thiết kế như một mô phỏng trung thực của điều kiện đầu tư thật. Với thị trường chứng khoán Việt Nam, nơi thanh khoản phân hóa mạnh, tâm lý cá nhân lớn và dữ liệu có nhiều đặc thù, backtest càng cần được kiểm tra kỹ hơn.
