Có một kiểu thua lỗ rất quen trên thị trường: cổ phiếu không hẳn xấu, doanh nghiệp không hẳn gãy, nhưng dòng tiền đã rời đi.
Nhà đầu tư vẫn giữ vì câu chuyện cơ bản còn nghe hợp lý. Vẫn chờ vì định giá đã rẻ hơn trước. Vẫn tự nhủ rằng cổ phiếu tốt rồi sẽ quay lại. Nhưng thị trường không vận hành theo sự kiên nhẫn của từng người. Khi dòng tiền chuyển sang nhóm khác, một cổ phiếu có thể đi ngang hoặc giảm rất lâu, dù câu chuyện đầu tư ban đầu chưa hoàn toàn sai.
Đây là lý do trend following vẫn có giá trị.
Triết lý theo xu hướng không cố đoán đỉnh đáy. Nó không cần biết chính xác khi nào thị trường tạo đỉnh, cũng không cố bắt đáy bằng cảm giác. Cốt lõi của nó là: khi xu hướng được xác nhận, đi cùng xu hướng; khi xu hướng gãy, giảm rủi ro hoặc thoát ra.
Nghe đơn giản. Nhưng sau hơn 50 năm, đây vẫn là một trong những triết lý bền bỉ nhất trong đầu tư có hệ thống.
Mục Lục
- Trend following không dự đoán, nó phản ứng
- Vì sao một triết lý cũ vẫn còn hiệu quả?
- Use case: Alpha trend following với RS Momentum Rotation trên VN30
- Cấu trúc chiến lược trong code
- Kết quả backtest 2020-2026
- Vì sao chiến lược này có thể tạo alpha?
- Giai đoạn 2020-2026 là bài kiểm tra đáng giá.
- Điểm cần cẩn trọng khi đọc kết quả backtest
- Từ code đến hệ thống đầu tư thật
- Checklist trước khi dùng chiến lược này với vốn thật
- Kết luận
- Glossary
Trend following không dự đoán, nó phản ứng
Trend following không cố trả lời câu hỏi: Thị trường sắp tăng hay giảm?
Nó hỏi một câu thực tế hơn: Dòng tiền hiện đang đi về đâu, và xu hướng đó có đủ mạnh để tham gia không?
Đây là khác biệt rất lớn.
Trong giao dịch discretionary, quyết định thường đến từ kinh nghiệm, tin tức, định giá, câu chuyện doanh nghiệp hoặc cảm giác thị trường. Những yếu tố này có giá trị, nhưng cũng dễ bị pha lẫn với cảm xúc: hy vọng, sợ bỏ lỡ, tiếc nuối, hoặc cố bảo vệ quan điểm cũ.
Trend following đưa phần lớn quyết định về cho dữ liệu giá.
Giá đang mạnh hơn thị trường, xu hướng được xác nhận, hệ thống tham gia. Giá yếu đi, mất động lượng, không còn nằm trong nhóm dẫn dắt, hệ thống giảm tỷ trọng hoặc thoát.
Không phải vì hệ thống biết trước tương lai. Nó chỉ phản ứng nhanh hơn cảm xúc con người.

Vì sao một triết lý cũ vẫn còn hiệu quả?
Nếu thị trường ngày càng hiệu quả hơn, dữ liệu nhiều hơn, máy tính nhanh hơn, vì sao trend following vẫn chưa biến mất?
Lý do là vì nó không chỉ khai thác một mẫu hình kỹ thuật. Nó khai thác độ trễ trong hành vi thị trường.
Các xu hướng lớn thường bắt nguồn từ thay đổi thật: chính sách tiền tệ, chu kỳ lợi nhuận, dòng tiền ngành, thanh khoản, margin, hoặc kỳ vọng nhà đầu tư. Những thay đổi này hiếm khi được phản ánh vào giá ngay lập tức.
Nhà đầu tư thường neo vào quan điểm cũ. Khi thị trường mới giảm, nhiều người xem đó là điều chỉnh kỹ thuật. Khi giảm sâu hơn, họ tìm lý do để nắm giữ. Khi xu hướng xấu đã rõ, áp lực bán bắt buộc mới xuất hiện.
Ngược lại, trong thị trường tăng, nhiều người chốt lời quá sớm vì sợ mất lãi. Nhưng một xu hướng mạnh có thể kéo dài lâu hơn hầu hết mọi người tưởng.
Trend following tồn tại vì thị trường có trí nhớ ngắn, còn con người thì phản ứng chậm trước thay đổi lớn.

Use case: Alpha trend following với RS Momentum Rotation trên VN30
Trong một hệ thống quant, trend following không nhất thiết phải được hiểu đơn giản là “mua khi giá vượt đỉnh, bán khi giá thủng đáy”. Một use case thực tế hơn là biến xu hướng thành alpha signal: một tín hiệu có thể đo lường, xếp hạng, kiểm định và đưa vào danh mục.
Chiến lược RS Momentum Rotation trên VN30 là một ví dụ như vậy.
Thay vì chỉ hỏi “cổ phiếu này đang tăng hay giảm?”, hệ thống hỏi:
Trong rổ cổ phiếu được xét, mã nào đang thể hiện sức mạnh giá tốt hơn phần còn lại?
Với RS Momentum Rotation trên VN30, rổ cổ phiếu được xét là 30 mã thuộc VN30. Hệ thống không cố dự báo toàn thị trường. Nó cũng không cố định nắm giữ cả rổ. Mỗi kỳ tái cơ cấu, hệ thống đo momentum 40 ngày của từng cổ phiếu, xếp hạng các mã trong rổ VN30, rồi chọn tối đa 3 cổ phiếu mạnh nhất để nắm giữ.
Nói ngắn gọn: hệ thống luân chuyển vốn về nơi dòng tiền đang thể hiện sức mạnh rõ nhất.
Đây là một dạng trend following rất thực dụng. Không cần dự báo ngành nào sẽ dẫn dắt trong quý tới. Không cần tranh luận quá lâu về câu chuyện vĩ mô. Hệ thống chỉ quan sát dữ liệu giá và hỏi: Hiện tại, cổ phiếu nào đang được thị trường trả giá tốt hơn?
Nhận lộ trình Auto Trading tại: Roadmap Auto Trading

Cấu trúc chiến lược trong code
Chiến lược trong file backtest có vài ràng buộc đáng chú ý, vì chúng làm cho kết quả gần với thực tế giao dịch tại Việt Nam hơn.
Danh mục là long-only, tức chỉ mua và nắm giữ cổ phiếu, không bán khống. Đây là giả định phù hợp với phần lớn nhà đầu tư trên thị trường Việt Nam.
Rổ cổ phiếu được xét là VN30, gồm các mã vốn hóa lớn và thanh khoản tương đối tốt như ACB, BID, CTG, FPT, HPG, MBB, SSI, TCB, VCB, VHM, VIC, VPB và các cổ phiếu còn lại trong danh sách VN30 của bộ dữ liệu.
Điều này có nghĩa là hệ thống đo hiệu suất giá của từng cổ phiếu trong 40 phiên gần nhất. Sau đó, tại ngày tái cơ cấu, các cổ phiếu được xếp hạng từ mạnh đến yếu. Top 3 mã có RS cao nhất sẽ trở thành danh mục mục tiêu.
Tần suất tái cơ cấu là 10 ngày giao dịch, tương đương khoảng 2 tuần. Đây là nhịp đủ nhanh để bắt sự luân chuyển dòng tiền ngắn/trung hạn, nhưng không quá dày đến mức phí giao dịch bào mòn toàn bộ lợi thế.
Chiến lược cũng có tính ràng buộc T+2. Một vị thế chỉ được bán khi đã nắm giữ tối thiểu 2 ngày giao dịch. Đây là chi tiết nhỏ nhưng quan trọng, vì nhiều backtest nhìn đẹp trên giấy nhưng bỏ qua quy tắc thực thi thật.
Chi phí ma sát được đưa vào ở mức 0,50% cho mỗi vòng giao dịch, gồm phí mua, thuế/phí bán và trượt giá. Với một chiến lược rotation, đây là yếu tố không thể bỏ qua. Nếu tín hiệu tốt nhưng turnover quá cao, alpha có thể biến mất sau phí.
Kết quả backtest 2020-2026
Theo file backtest , giai đoạn kiểm thử 2020-2026 cho kết quả như sau:
Tổng lợi nhuận RS Momentum Rotation: 560,95%
Tổng lợi nhuận benchmark Buy & Hold: 247,73%
CAGR chiến lược: 37,84%
CAGR benchmark: 23,59%
Max drawdown chiến lược: -43,68%
Max drawdown benchmark: -45,04%
Sharpe ratio: 1,04
Tổng số giao dịch: 189
Win rate: 51,3%
Profit factor: 2,25
Kỳ vọng toán học mỗi lệnh: 3,77%

Điểm đáng chú ý không chỉ là tổng lợi nhuận cao hơn benchmark. Điểm đáng chú ý hơn là chiến lược làm được điều đó trong một cấu trúc rất tập trung: tối đa 3 cổ phiếu cùng lúc.
Danh mục tập trung cao thường đi kèm rủi ro lớn hơn. Nhưng trong backtest này, max drawdown của chiến lược vẫn thấp hơn nhẹ so với Buy & Hold, dù mức giảm tối đa -43,68% vẫn là rất sâu.
Đây là chỗ cần nhìn bằng tư duy thực chiến.
Một chiến lược có CAGR cao không có nghĩa là dễ vận hành. Drawdown hơn 40% là giai đoạn mà nhiều người sẽ nghi ngờ hệ thống, nghi ngờ dữ liệu, nghi ngờ chính mình. Nếu chỉ nhìn đường cong lợi nhuận sau khi mọi chuyện đã xảy ra, mọi thứ trông có vẻ hợp lý. Nhưng khi đang sống trong drawdown thật, cảm giác rất khác.
Vì sao chiến lược này có thể tạo alpha?
Alpha ở đây không đến từ việc tìm ra một cổ phiếu bí mật.
VN30 là rổ cổ phiếu rất phổ biến. Nhiều nhà đầu tư theo dõi. Thanh khoản cao. Tin tức nhiều. Nhưng ngay cả trong một rổ cổ phiếu quen thuộc như vậy, dòng tiền vẫn luân chuyển rất mạnh qua từng giai đoạn.
Có lúc ngân hàng dẫn dắt. Có lúc chứng khoán mạnh hơn. Có lúc thép, bán lẻ, bất động sản hoặc một vài cổ phiếu riêng lẻ hút dòng tiền tốt hơn phần còn lại.
Nếu nắm giữ đều cả rổ, nhà đầu tư nhận được hiệu suất trung bình của nhóm. Nhưng nếu có cơ chế nhận diện nhóm mạnh hơn và luân chuyển vốn có kỷ luật, danh mục có cơ hội vượt benchmark.
RS Momentum Rotation khai thác đúng điểm này.
Nó không cố biết trước cổ phiếu nào sẽ dẫn dắt. Nó chờ dữ liệu giá xác nhận rằng một cổ phiếu đang mạnh hơn các mã còn lại trong rổ VN30. Sau đó vốn được tập trung vào nhóm mạnh nhất.
Đây chính là alpha trend following: biến xu hướng tương đối thành tín hiệu phân bổ vốn.
Giai đoạn 2020-2026 là bài kiểm tra đáng giá.
Một backtest chỉ có ý nghĩa khi nó đi qua nhiều trạng thái thị trường khác nhau.
Giai đoạn 2020-2026 có đủ các trạng thái lớn:
Năm 2020 có cú sốc Covid, thị trường giảm nhanh rồi hồi phục mạnh. Năm 2021 là giai đoạn hưng phấn, thanh khoản bùng nổ, nhiều nhóm cổ phiếu tăng rất mạnh. Năm 2022 là pha giảm sâu của VN-Index, áp lực margin và thanh khoản suy yếu khiến nhiều cổ phiếu rơi mạnh. Sau đó thị trường bước vào giai đoạn hồi phục và phân hóa.
Một hệ thống rotation phải sống được qua cả những đoạn đó.
Trong thị trường có xu hướng rõ, nó cần đủ nhạy để bám nhóm dẫn dắt. Trong thị trường nhiễu, nó phải chấp nhận sai, cắt lỗ, đổi mã, hoặc có lúc đứng dưới benchmark. Không có rotation system nào luôn mượt.
Win rate 51,3% trong backtest là một con số rất thực tế. Nó cho thấy hệ thống không thắng vì luôn đúng. Nó thắng vì khi đúng, khoản lãi đủ lớn so với khoản lỗ khi sai.
Đó là bản chất của expectancy.
Trong đầu tư hệ thống, câu hỏi không phải là “lệnh tiếp theo có chắc thắng không?”. Câu hỏi đúng hơn là:
Nếu lặp lại quy trình này đủ nhiều lần, sau phí giao dịch, trượt giá, T+2 và các giai đoạn thị trường xấu, kỳ vọng có còn dương không?
Điểm cần cẩn trọng khi đọc kết quả backtest
Backtest tốt là điểm bắt đầu, không phải kết luận cuối cùng.
Có vài điểm cần đặc biệt lưu ý với chiến lược này.
Thứ nhất, tín hiệu trong code là momentum 40 ngày của từng cổ phiếu, sau đó xếp hạng trong rổ VN30. Vì vậy nên hiểu đây là sức mạnh tương đối trong nội bộ rổ VN30, không phải một công thức RS phức tạp so trực tiếp với VN-Index.
Thứ hai, chiến lược mua/bán tại giá đóng cửa của ngày tái cơ cấu. Trong triển khai thật, cần làm rõ quy trình execution: tín hiệu được chốt khi nào, lệnh được đặt ở ATC, ngày hôm sau, hay theo một cơ chế khớp lệnh khác. Đây là phần có thể tạo execution drag.
Thứ ba, VN30 thay đổi thành phần theo thời gian. Nếu dữ liệu dùng danh sách VN30 hiện tại để backtest ngược về quá khứ, cần kiểm tra rủi ro survivorship bias. Một backtest chặt hơn nên dùng danh sách thành phần VN30 theo từng thời điểm lịch sử.
Thứ tư, danh mục tối đa 3 cổ phiếu giúp tăng sức mạnh alpha nhưng cũng làm rủi ro tập trung cao. Max drawdown hơn 40% cho thấy chiến lược vẫn có những giai đoạn rất khó chịu.
Những điểm này không phủ nhận kết quả. Ngược lại, chúng giúp nhìn kết quả đúng hơn. Một hệ thống đáng tin không phải hệ thống không có điểm yếu, mà là hệ thống biết rõ điểm yếu nằm ở đâu.
Từ code đến hệ thống đầu tư thật
Điểm hay của use case này là nó không dừng ở ý tưởng “mua cổ phiếu khỏe”.
Nó đã có cấu trúc hệ thống:
Rổ cổ phiếu được xét: VN30.
Tín hiệu alpha: momentum 40 ngày.
Cơ chế chọn mã: top 3 cổ phiếu mạnh nhất.
Nhịp tái cơ cấu: 10 ngày giao dịch.
Ràng buộc thị trường: long-only, T+2.
Chi phí thực thi: phí mua, phí bán, thuế và trượt giá.
Benchmark: Buy & Hold equal-weight.
Thước đo đánh giá: CAGR, max drawdown, Sharpe, win rate, profit factor, expectancy.
Đây là cách một ý tưởng trend following đi từ cảm giác thị trường thành hệ thống có thể kiểm định.
Và cũng là sự khác biệt lớn giữa discretionary trading và systematic investing.
Discretionary trader có thể nhìn bảng giá và nói “dòng tiền đang vào FPT, SSI, HPG”. Systematic investor cần biến quan sát đó thành quy tắc rõ ràng: đo bằng gì, xét trong rổ nào, mua bao nhiêu, bán khi nào, chịu phí bao nhiêu, và so với benchmark nào.
Không phải để loại bỏ hoàn toàn kinh nghiệm thị trường. Mà để kinh nghiệm đó không bị cảm xúc bóp méo khi thị trường đi ngược kỳ vọng.

Checklist trước khi dùng chiến lược này với vốn thật
Nếu dùng RS Momentum Rotation như một alpha trend following strategy, cần kiểm tra thêm vài câu hỏi:
Rổ VN30 trong backtest có phản ánh đúng thành phần VN30 tại từng thời điểm lịch sử không?
Tín hiệu momentum 40 ngày có ổn định nếu đổi sang 30, 60 hoặc 90 ngày không?
Rebalance 10 ngày có còn hiệu quả nếu đổi sang 5, 15 hoặc 20 ngày không?
Kết quả có còn tốt sau khi tăng giả định trượt giá trong các giai đoạn thanh khoản xấu không?
Có cần thêm bộ lọc thị trường chung để giảm tỷ trọng khi VN-Index ở trạng thái xấu không?
Top 3 cổ phiếu có quá tập trung không, hay nên kiểm tra thêm top 5 để giảm biến động?
Chiến lược có bị phụ thuộc quá nhiều vào một vài năm đặc biệt như 2020-2021 không?
Có forward test trên dữ liệu mới trước khi triển khai vốn thật không?
Với một hệ thống định lượng, câu hỏi quan trọng không phải là “backtest có đẹp không?”. Câu hỏi quan trọng hơn là “lợi thế này có đủ bền khi giả định thực tế trở nên khó hơn không?”.
Kết luận
Trend following vẫn hiệu quả sau hơn 50 năm không phải vì nó là công thức thần kỳ. Nó hiệu quả vì thị trường vẫn có xu hướng, dòng tiền vẫn luân chuyển, và con người vẫn phản ứng chậm trước thay đổi lớn.
Use case RS Momentum Rotation trên VN30 cho thấy cách triết lý này có thể được đưa vào một hệ thống cụ thể: chọn rổ cổ phiếu được xét, đo momentum, xếp hạng sức mạnh tương đối, tập trung vào nhóm dẫn dắt, tái cơ cấu định kỳ và kiểm tra kết quả sau phí giao dịch thật.
Điểm mạnh của trend following không phải là giúp nhà đầu tư luôn đúng. Điểm mạnh của nó là giúp nhà đầu tư sai có kiểm soát, và ở lại đủ lâu với những xu hướng thật sự lớn.
Sau nhiều chu kỳ thị trường, đó vẫn là một lợi thế rất đáng giá.
Glossary
Trend following: Phương pháp đầu tư/giao dịch đi theo xu hướng giá đã được xác nhận, thay vì cố dự đoán trước điểm đảo chiều.
Alpha: Phần lợi nhuận vượt trội đến từ tín hiệu, phương pháp hoặc lợi thế đầu tư riêng, sau khi xét đến rủi ro thị trường.
Alpha trend following: Cách sử dụng tín hiệu xu hướng như một nguồn alpha trong mô hình đầu tư định lượng, ví dụ để chọn cổ phiếu, xếp hạng cơ hội hoặc điều chỉnh tỷ trọng.
RS Momentum: Trong bài này, RS Momentum được hiểu là sức mạnh giá tương đối trong rổ VN30, đo bằng momentum 40 ngày rồi xếp hạng các cổ phiếu với nhau.
Rotation: Luân chuyển danh mục từ các cổ phiếu yếu sang các cổ phiếu mạnh hơn theo tín hiệu định lượng.
Rebalance: Tái cơ cấu danh mục định kỳ để cập nhật tỷ trọng và thay thế các cổ phiếu không còn đáp ứng tiêu chí.
Drawdown: Mức sụt giảm của tài khoản từ đỉnh xuống đáy trong một giai đoạn.
Backtest: Kiểm tra chiến lược trên dữ liệu quá khứ để xem hệ thống phản ứng thế nào trong nhiều điều kiện thị trường.
Forward test: Theo dõi chiến lược trên dữ liệu mới, chưa được dùng để tối ưu hệ thống, trước khi triển khai vốn thật.
Expectancy: Kỳ vọng lợi nhuận trung bình của một hệ thống sau nhiều giao dịch.
Profit factor: Tỷ lệ giữa tổng lợi nhuận từ các lệnh thắng và tổng thua lỗ từ các lệnh thua.
Execution drag: Phần hiệu quả bị hao hụt khi triển khai thực tế, do phí giao dịch, trượt giá, thanh khoản và độ trễ khớp lệnh.
Survivorship bias: Sai lệch trong backtest khi chỉ dùng các cổ phiếu còn tồn tại hoặc còn nằm trong rổ hiện tại, khiến kết quả quá khứ có thể đẹp hơn thực tế.
Discretionary trader: Nhà giao dịch ra quyết định chủ yếu dựa trên nhận định cá nhân, kinh nghiệm, quan sát thị trường và phán đoán tại thời điểm đó.