P.Thai Capital P.Thai Capital Journal

Walk-Forward Optimization (WFO): Chìa Khóa Xây Dựng Hệ Thống Giao Dịch Bền Vững

Mở Bài: Tại sao hệ thống giao dịch của bạn “chết yểu” dù backtest đẹp như mơ?

Chào anh em,

Tôi biết có nhiều anh em ở đây, giống như tôi ngày trước, đã từng dành hàng giờ, thậm chí hàng tuần, để mày mò ra một chiến lược giao dịch. Sau đó, chạy backtest trên dữ liệu quá khứ, nhìn thấy equity curve (đồ thị vốn chủ sở hữu) cứ thế thẳng tắp đi lên, Sharpe Ratio cao vút, Drawdown thấp tè. Mọi thứ trông thật hoàn hảo. Tưởng như mình đã tìm ra chén thánh rồi.

Nhưng rồi, khi mang chiến lược đó ra thị trường thực (hoặc tệ hơn là chỉ chạy forward test trên dữ liệu mới), mọi thứ lại sụp đổ. Kết quả không như kỳ vọng, lỗ liên tục, equity curve đi ngang hoặc thậm chí cắm đầu. Tiền thật mất đi, công sức đổ bể, và sự thất vọng thì lớn gấp bội.

Đây không phải là lỗi của anh em. Đây là một vấn đề cực kỳ phổ biến trong giới giao dịch thuật toán: overfitting (quá khớp). Chúng ta vô tình tạo ra một chiến lược chỉ tối ưu cho dữ liệu lịch sử mà nó được “đào tạo”, chứ không đủ mạnh mẽ để đối phó với những biến động không ngừng của thị trường trong tương lai. Nó giống như việc một vận động viên chỉ tập luyện trên một địa hình quen thuộc, và khi ra sân đấu thật với địa hình mới, họ không thể phát huy hết khả năng.

Để giải quyết bài toán hóc búa này, chúng ta cần một phương pháp tiếp cận khác – một phương pháp không chỉ kiểm tra chiến lược trên dữ liệu quá khứ mà còn mô phỏng được cách chiến lược đó sẽ hoạt động khi đối mặt với dữ liệu chưa từng thấy. Và đó chính là lúc Walk-Forward Optimization (WFO), hay còn gọi là Tối ưu hóa theo bước tiến, xuất hiện. WFO là một công cụ cực kỳ mạnh mẽ, giúp chúng ta xây dựng các hệ thống giao dịch bền vững hơn, có khả năng thích nghi tốt hơn với thị trường thực.

Tôi đã backtest hơn 1000 chiến lược, mất tiền thật không ít, và rút ra được bài học xương máu: nếu anh em muốn hệ thống của mình có cửa “sống sót” trên thị trường đầy khắc nghiệt này, thì WFO không còn là một lựa chọn, mà là một yêu cầu bắt buộc.

Walk-Forward Optimization (WFO) là gì? Khác biệt với Backtest truyền thống như thế nào?

Để hiểu WFO, trước hết chúng ta cần nhìn lại backtest truyền thống.

Backtest truyền thống: Anh em lấy toàn bộ dữ liệu lịch sử từ đầu đến cuối (ví dụ, từ 2010 đến 2020), sau đó tìm ra bộ tham số (parameters) tốt nhất cho chiến lược của mình trên toàn bộ khoảng thời gian đó. Ví dụ, với chiến lược cắt đường trung bình (moving average crossover), anh em sẽ thử mọi cặp MA(X,Y) trên toàn bộ dữ liệu và chọn cặp nào cho lợi nhuận cao nhất, drawdown thấp nhất.

Vấn đề là gì? Anh em đã “nhìn thấy” toàn bộ tương lai (toàn bộ dữ liệu) khi chọn tham số. Điều này không phản ánh thực tế giao dịch. Trong thực tế, chúng ta không biết tương lai sẽ như thế nào. Bộ tham số tối ưu cho giai đoạn 2010-2020 có thể không còn hiệu quả chút nào cho giai đoạn 2021-2022. Đây chính là gốc rễ của overfitting.

Walk-Forward Optimization (WFO): Khác biệt cơ bản của WFO là nó chia dữ liệu thành các đoạn nhỏ hơn, gọi là “cửa sổ” (windows). Mỗi cửa sổ sẽ có một phần dữ liệu dùng để tối ưu hóa (In-Sample – IS) và một phần dữ liệu dùng để kiểm tra (Out-of-Sample – OOS). Cái hay là, phần dữ liệu OOS này hoàn toàn “mới lạ” đối với quá trình tối ưu hóa.

Hãy hình dung thế này: Anh em có một đoạn dữ liệu dài. 1. Anh em lấy một đoạn đầu tiên làm dữ liệu IS (ví dụ 2 năm). 2. Tối ưu hóa chiến lược trên đoạn IS này, tìm ra bộ tham số tốt nhất. 3. Sau đó, anh em dùng chính bộ tham số vừa tìm được đó để chạy chiến lược trên một đoạn dữ liệu ngay sau IS, mà chiến lược chưa hề “nhìn thấy” bao giờ – đây là dữ liệu OOS (ví dụ 6 tháng). 4. Khi hoàn thành đoạn OOS, anh em “trượt” cả cửa sổ IS và OOS về phía trước. Tức là, đoạn IS mới sẽ bao gồm một phần của IS cũ và một phần của OOS cũ. 5. Lặp lại quy trình: tối ưu hóa lại trên IS mới, rồi test trên OOS mới.

Cứ thế, quy trình này lặp đi lặp lại cho đến hết dữ liệu lịch sử. Kết quả tổng hợp của tất cả các đoạn OOS chính là hiệu suất walk-forward của chiến lược. Nó cho chúng ta một cái nhìn thực tế hơn về khả năng sinh lời và độ bền vững của chiến lược trên dữ liệu “chưa từng thấy”.

Quy trình từng bước của Walk-Forward Optimization

Để dễ hình dung hơn, hãy đi sâu vào các bước cụ thể:

  1. Xác định Tổng thời gian dữ liệu: Ví dụ: từ 01/01/2010 đến 31/12/2022.
  2. Chia cửa sổ Walk-Forward (WF Window): Anh em cần quyết định độ dài của In-Sample (IS) và Out-of-Sample (OOS). Ví dụ:
    • In-Sample (IS) Period: 2 năm (dùng để tối ưu hóa).
    • Out-of-Sample (OOS) Period: 6 tháng (dùng để kiểm tra hiệu suất).
    • Walk-Forward Step: 6 tháng (là khoảng thời gian cửa sổ trượt đi sau mỗi lần lặp). Thường thì bước này bằng với OOS Period để tránh trùng lặp dữ liệu OOS.
  3. Lặp lại quy trình:
    • Lần 1:
      • IS: 01/01/2010 - 31/12/2011 (tối ưu hóa, tìm bộ tham số tốt nhất).
      • OOS: 01/01/2012 - 30/06/2012 (chạy chiến lược với bộ tham số vừa tìm được). Ghi lại kết quả.
    • Lần 2:
      • IS: 01/07/2010 - 30/06/2012 (cửa sổ IS trượt 6 tháng). Tối ưu hóa lại.
      • OOS: 01/07/2012 - 31/12/2012 (chạy chiến lược với bộ tham số mới). Ghi lại kết quả.
    • Và cứ thế tiếp tục cho đến khi hết dữ liệu.

Tổng hợp lại, hiệu suất của chiến lược trên toàn bộ các giai đoạn OOS chính là cái mà chúng ta gọi là “Walk-Forward Performance”. Nếu hiệu suất này ổn định và chấp nhận được, thì chiến lược của anh em có tiềm năng hoạt động tốt trên thị trường thực. Ngược lại, nếu OOS liên tục cho kết quả tệ hại, bất kể IS có đẹp đến mấy, thì anh em nên xem xét lại chiến lược của mình.

Giải mã sức mạnh của WFO: Vì sao nó giúp hệ thống của bạn “sống sót” trên thị trường thực?

Sức mạnh thực sự của Walk-Forward Optimization không chỉ nằm ở việc kiểm tra chiến lược trên dữ liệu chưa thấy, mà còn ở việc nó buộc chúng ta phải tư duy khác đi về sự bền vững của hệ thống.

Overfitting – Kẻ thù số một của Trader thuật toán

Như tôi đã nói, overfitting là vấn đề kinh điển. Khi một chiến lược được tối ưu hóa quá mức trên dữ liệu lịch sử (In-Sample), nó sẽ “học thuộc lòng” các đặc điểm ngẫu nhiên, nhiễu của quá khứ thay vì tìm ra các mẫu hình thực sự có tính dự đoán. Kết quả là, chiến lược đó trông rất đẹp trên backtest, nhưng lại rất kém khi đối mặt với dữ liệu mới.

WFO chính là liều thuốc giải cho overfitting. Bằng cách liên tục kiểm tra trên các đoạn dữ liệu Out-of-Sample chưa từng thấy, nó buộc chiến lược phải chứng minh tính hiệu quả của mình một cách lặp đi lặp lại. Nếu một chiến lược thực sự bị overfitting, nó sẽ thất bại thảm hại trong các giai đoạn OOS. Ngược lại, nếu chiến lược có khả năng hoạt động tốt trên OOS qua nhiều chu kỳ, điều đó cho thấy nó đang bắt được các quy luật thị trường thực sự, chứ không phải chỉ là “học thuộc lòng” dữ liệu quá khứ.

Tính thích nghi và sự bền bỉ của hệ thống

Thị trường luôn thay đổi. Một bộ tham số tối ưu cho giai đoạn thị trường tăng trưởng mạnh có thể không còn phù hợp khi thị trường chuyển sang sideway hoặc downtrend. WFO giải quyết vấn đề này bằng cách liên tục re-optimize (tối ưu hóa lại).

Mỗi khi cửa sổ trượt đi, chiến lược sẽ được tối ưu hóa lại trên dữ liệu IS mới nhất. Điều này có nghĩa là, hệ thống của anh em sẽ liên tục “học hỏi” từ những biến động gần đây của thị trường và điều chỉnh bộ tham số của mình để thích nghi. Đây là một lợi thế cực kỳ lớn so với việc chỉ dùng một bộ tham số cố định được tìm ra từ toàn bộ dữ liệu lịch sử.

Một chiến lược vượt qua được bài kiểm tra WFO không chỉ cho thấy nó không bị overfitting mà còn chứng minh được khả năng thích nghi và sự bền bỉ của nó. Đó là loại chiến lược mà chúng ta cần để có thể tự tin triển khai với tiền thật.

Thực hành Walk-Forward Optimization (WFO) trên TTCK Việt Nam: Một Case Study giả định

Để anh em dễ hình dung hơn, tôi sẽ đưa ra một case study giả định về việc áp dụng WFO cho một chiến lược giao dịch đơn giản trên thị trường chứng khoán Việt Nam. Chúng ta sẽ sử dụng chiến lược MA Crossover (cắt đường trung bình), một chiến lược khá phổ biến.

Mục tiêu chiến lược: Mua khi đường MA nhanh cắt lên đường MA chậm, bán khi MA nhanh cắt xuống MA chậm. Tài sản: Cổ phiếu FPT (một cổ phiếu có thanh khoản tốt trên HOSE). Khung thời gian: Daily. Dữ liệu: 01/01/2015 - 31/12/2023.

Cấu hình WFO cho chiến lược MA Crossover

Chúng ta sẽ cấu hình WFO như sau: * Tham số tối ưu: Độ dài của MA nhanh (Fast MA) và MA chậm (Slow MA). * Fast MA: từ 5 đến 50, bước nhảy 5. * Slow MA: từ 10 đến 100, bước nhảy 5 (Slow MA luôn lớn hơn Fast MA). * In-Sample (IS) Period: 2 năm (24 tháng). * Out-of-Sample (OOS) Period: 6 tháng. * Walk-Forward Step: 6 tháng (cửa sổ trượt 6 tháng mỗi lần). * Metric tối ưu: Sharpe Ratio (chỉ số đo lường lợi nhuận trên rủi ro). Chúng ta muốn tìm bộ tham số mang lại Sharpe Ratio cao nhất trong giai đoạn IS.

Quy trình: 1. Giai đoạn 1: * IS: 01/01/2015 - 31/12/2016. Tối ưu hóa để tìm (Fast MA, Slow MA) tốt nhất. * OOS: 01/01/2017 - 30/06/2017. Chạy chiến lược với tham số vừa tìm. 2. Giai đoạn 2: * IS: 01/07/2015 - 30/06/2017. Tối ưu hóa lại. * OOS: 01/07/2017 - 31/12/2017. Chạy chiến lược với tham số mới. 3. … và cứ thế tiếp tục cho đến khi dữ liệu hết.

Kết quả Walk-Forward và bài học rút ra

Giả sử sau khi chạy WFO trên dữ liệu của FPT, chúng ta thu được một bảng kết quả tổng hợp cho từng giai đoạn OOS như sau:

Chu kỳ OOS Giai đoạn IS (Tối ưu) Tham số tối ưu (Fast MA, Slow MA) Sharpe Ratio (IS) Max Drawdown (IS) Sharpe Ratio (OOS) Max Drawdown (OOS) Lợi nhuận gộp (OOS)
01/2017 - 06/2017 01/2015 - 12/2016 (10, 30) 1.85 -12.5% 1.12 -15.8% +8.2%
07/2017 - 12/2017 07/2015 - 06/2017 (15, 40) 2.10 -10.1% 1.55 -8.5% +11.5%
01/2018 - 06/2018 01/2016 - 12/2017 (10, 35) 1.98 -11.0% 0.88 -18.2% +3.1%
07/2018 - 12/2018 07/2016 - 06/2018 (20, 50) 1.70 -13.2% 0.45 -22.0% -2.5%
01/2019 - 06/2019 01/2017 - 12/2018 (15, 30) 2.25 -9.5% 1.70 -7.8% +9.8%
07/2019 - 12/2019 07/2017 - 06/2019 (20, 35) 2.05 -10.8% 1.05 -14.0% +5.3%
01/2020 - 06/2020 01/2018 - 12/2019 (10, 25) 2.30 -8.0% 0.20 -30.5% -5.1%
07/2020 - 12/2020 07/2018 - 06/2020 (20, 40) 1.90 -11.5% 1.85 -9.0% +15.0%
01/2021 - 06/2021 01/2019 - 12/2020 (15, 30) 2.15 -9.8% 1.95 -8.2% +13.7%
07/2021 - 12/2021 07/2019 - 06/2021 (20, 35) 1.80 -12.0% 1.30 -11.5% +7.5%
01/2022 - 06/2022 01/2020 - 12/2021 (10, 20) 2.40 -7.5% 0.60 -25.0% -1.0%
07/2022 - 12/2022 07/2020 - 06/2022 (15, 30) 2.00 -11.0% 1.00 -18.0% +4.5%
01/2023 - 06/2023 01/2021 - 12/2022 (10, 30) 2.20 -9.0% 1.45 -10.0% +10.2%

Phân tích kết quả:

Walk-Forward Optimization không hứa hẹn lợi nhuận khủng, mà nó giúp chúng ta xây dựng một hệ thống có khả năng đối mặt với thực tế thị trường một cách mạnh mẽ hơn, ít bị bất ngờ hơn bởi các biến động.

Những “cạm bẫy” cần tránh khi triển khai Walk-Forward Optimization (WFO)

WFO là một công cụ mạnh, nhưng không phải là phép màu. Nó cũng có những “cạm bẫy” mà nếu không cẩn thận, anh em có thể mắc phải.

1. Thời gian In-Sample và Out-of-Sample hợp lý

Việc lựa chọn độ dài IS và OOS là rất quan trọng và không có công thức cố định nào cho tất cả các chiến lược hay thị trường. * IS quá ngắn: Nếu IS quá ngắn, nó có thể không chứa đủ dữ liệu để chiến lược tìm ra các mẫu hình ý nghĩa. Việc tối ưu trên dữ liệu quá ít sẽ dễ dẫn đến overfitting cục bộ (chỉ tối ưu cho một vài sự kiện gần đây). * IS quá dài: Nếu IS quá dài, nó có thể chứa quá nhiều dữ liệu “cũ”, không còn phản ánh được điều kiện thị trường hiện tại. Lúc này, chiến lược sẽ khó thích nghi với sự thay đổi. * OOS quá ngắn: Nếu OOS quá ngắn (ví dụ chỉ 1-2 tháng), nó có thể không đủ để đánh giá tính bền vững của chiến lược. Một kết quả tốt trên OOS ngắn có thể chỉ là may mắn. * OOS quá dài: Nếu OOS quá dài, việc re-optimize sẽ diễn ra quá ít, làm giảm khả năng thích nghi của hệ thống.

Nguyên tắc chung (Rule of Thumb): * Tỷ lệ IS:OOS: Một tỷ lệ phổ biến là 2:1 hoặc 3:1 (ví dụ, 2 năm IS, 1 năm OOS). Hoặc trong ví dụ trên là 24 tháng IS, 6 tháng OOS (tỷ lệ 4:1). Tỷ lệ này nên dao động từ 2:1 đến 5:1. * Thời gian tối thiểu: Cả IS và OOS đều nên đủ dài để chứa ít nhất một vài chu kỳ thị trường nhỏ (ví dụ, IS ít nhất 1.5 - 2 năm, OOS ít nhất 3-6 tháng cho daily chart).

2. Các chỉ số hiệu suất quan trọng cần theo dõi

Khi chạy WFO, anh em không chỉ nhìn vào lợi nhuận. Có nhiều chỉ số quan trọng khác cần được đánh giá một cách tổng thể để hiểu rõ hơn về rủi ro và hiệu quả của hệ thống.

3. Tránh “Look-Ahead Bias” (Lỗi nhìn trước)

Đây là một lỗi phổ biến khi backtest và WFO. Nó xảy ra khi chiến lược của anh em vô tình sử dụng dữ liệu hoặc thông tin mà tại thời điểm giao dịch thực tế không có sẵn. Ví dụ: * Sử dụng giá đóng cửa ngày hôm nay để ra quyết định giao dịch ở đầu ngày hôm nay. * Sử dụng các chỉ báo cần dữ liệu tương lai để tính toán. * Sử dụng dữ liệu mà chỉ có thể thu thập được sau khi thị trường đã đóng cửa để ra quyết định giao dịch trong ngày.

Khi triển khai WFO, hãy cực kỳ cẩn thận để đảm bảo rằng dữ liệu OOS là hoàn toàn độc lập và không bị ảnh hưởng bởi bất kỳ thông tin nào từ các giai đoạn tương lai. Bất kỳ sự rò rỉ dữ liệu nào cũng sẽ làm cho kết quả WFO của anh em trở nên vô nghĩa.

WFO không phải là chén thánh – Kết hợp với tư duy hệ thống toàn diện

Anh em cần hiểu rõ một điều: Walk-Forward Optimization không phải là một chén thánh, nó không đảm bảo lợi nhuận. Nó chỉ là một công cụ mạnh mẽ giúp chúng ta đánh giá và xây dựng các chiến lược bền vững hơn. Ngay cả một chiến lược đã vượt qua bài kiểm tra WFO cũng vẫn có thể thua lỗ trên thị trường thực.

Thị trường luôn thay đổi, và sẽ có những giai đoạn mà chiến lược của anh em không còn hiệu quả. Đó là lúc chúng ta cần đến một nguyên tắc quản trị rủi ro chặt chẽ và tư duy hệ thống toàn diện.

WFO giúp chúng ta có niềm tin vững chắc hơn vào chiến lược của mình, nhưng nó không thay thế được tư duy phê phán và sự chuẩn bị cho những điều bất ngờ của thị trường.

Lời kết – Xây dựng hệ thống bền vững, quản trị rủi ro là trên hết.

Trong hành trình phát triển chiến lược giao dịch định lượng, tôi đã nếm trải đủ các cung bậc cảm xúc, từ sự phấn khích tột độ khi backtest đẹp như tranh vẽ, cho đến sự cay đắng khi hệ thống “chết” trên thị trường thực. Bài học lớn nhất tôi rút ra là: đừng bao giờ tin vào một backtest đẹp mà chưa được kiểm chứng nghiêm ngặt.

Walk-Forward Optimization (WFO) là một bước kiểm chứng không thể thiếu để phân biệt giữa một chiến lược bị overfitting và một chiến lược thực sự có tiềm năng. Nó giúp anh em xây dựng hệ thống không chỉ “thắng” trên dữ liệu quá khứ mà còn có khả năng “sống sót” và thích nghi với sự khắc nghiệt của thị trường tương lai.

Hãy nhớ, mục tiêu cuối cùng không phải là tìm ra một hệ thống “đúng” mọi lúc, mà là xây dựng một hệ thống bền vững, có khả năng quản lý rủi ro tốt, và có thể mang lại lợi nhuận kỳ vọng trong dài hạn. WFO là công cụ đắc lực để đạt được điều đó.

Hãy bắt đầu áp dụng WFO vào quy trình phát triển chiến lược của anh em ngay hôm nay. Nó sẽ thay đổi cách anh em nhìn nhận và xây dựng hệ thống giao dịch của mình.

Chúc anh em giao dịch thành công!

Thái Phạm

FAQ

Q: Walk-Forward Optimization có cần thiết cho mọi chiến lược giao dịch không? A: Đối với các chiến lược giao dịch thuật toán (quantitative trading) hoặc bất kỳ hệ thống giao dịch nào có sử dụng tham số tối ưu hóa, WFO là cực kỳ cần thiết. Nó giúp kiểm tra tính bền vững và khả năng thích nghi của chiến lược, giảm thiểu rủi ro overfitting mà backtest truyền thống không làm được. Nếu chiến lược của bạn chỉ dựa vào các quy tắc cố định, không có tham số nào được tối ưu hóa, thì WFO ít quan trọng hơn, nhưng việc kiểm tra trên dữ liệu Out-of-Sample vẫn luôn được khuyến khích.

Q: Làm thế nào để chọn tỷ lệ In-Sample:Out-of-Sample (IS:OOS) phù hợp? A: Không có tỷ lệ “hoàn hảo” nào cả, nó phụ thuộc vào chiến lược, tần suất giao dịch, và đặc điểm thị trường. Một số tỷ lệ phổ biến là 2:1, 3:1, hoặc 4:1 (IS dài hơn OOS). Quan trọng là cả IS và OOS đều phải đủ dài để chứa các mẫu hình có ý nghĩa thống kê và đủ số lượng giao dịch. Nếu OOS quá ngắn, kết quả có thể không đáng tin cậy. Nếu IS quá dài, chiến lược có thể khó thích nghi với điều kiện thị trường gần đây.

Q: Tôi nên tối ưu hóa theo chỉ số nào khi chạy WFO? Sharpe Ratio có phải là tốt nhất không? A: Sharpe Ratio là một chỉ số rất tốt để tối ưu hóa vì nó cân bằng giữa lợi nhuận và rủi ro. Tuy nhiên, tùy thuộc vào mục tiêu của bạn, bạn có thể xem xét các chỉ số khác như Profit Factor, Net Profit (Lợi nhuận ròng), hoặc Calmar Ratio. Đôi khi, việc tối ưu hóa cho lợi nhuận ròng có thể dẫn đến rủi ro cao. Quan trọng là bạn hiểu rõ chỉ số mình chọn và nó phản ánh điều gì trong hiệu suất của chiến lược.

Q: Sau khi chạy WFO, tôi nên làm gì nếu kết quả OOS tệ hơn nhiều so với IS? A: Nếu kết quả OOS tệ hơn đáng kể so với IS một cách nhất quán qua nhiều chu kỳ, đó là dấu hiệu cảnh báo mạnh mẽ rằng chiến lược của bạn đang bị overfitting hoặc không đủ bền vững. Lúc này, bạn cần quay lại từ đầu: kiểm tra lại logic chiến lược, đơn giản hóa các tham số, hoặc tìm kiếm một chiến lược hoàn toàn mới. Đừng cố gắng điều chỉnh để làm cho OOS đẹp hơn, vì điều đó có thể dẫn đến một hình thức overfitting khác (ví dụ: peeking at OOS data).

Q: Liệu có nên tự động hóa quá trình re-optimization của WFO trong giao dịch thực tế? A: Việc tự động hóa quá trình re-optimization (cập nhật tham số) trong môi trường giao dịch live là một kỹ thuật nâng cao. Nó có thể giúp hệ thống thích nghi nhanh chóng, nhưng cũng tiềm ẩn rủi ro nếu không được kiểm soát chặt chẽ. Tôi khuyên bạn nên bắt đầu bằng việc thực hiện re-optimization thủ công hoặc bán tự động (ví dụ: định kỳ vài tháng một lần) và theo dõi kết quả cẩn thận. Chỉ khi bạn đã có đủ kinh nghiệm và tin tưởng vào quy trình của mình, hãy xem xét tự động hóa hoàn toàn.


Miễn trừ trách nhiệm: Nội dung mang tính phân tích định lượng, không phải khuyến nghị đầu tư. Nhà đầu tư tự chịu trách nhiệm với quyết định của mình.

Miễn trừ trách nhiệm: Nội dung là phân tích định lượng dựa trên dữ liệu lịch sử, mang tính tham khảo. KHÔNG phải khuyến nghị mua/bán. Giao dịch có rủi ro, kết quả backtest không đảm bảo hiệu suất tương lai. Nhà đầu tư tự chịu trách nhiệm cho quyết định của mình.