06/04/2026
108 lượt đọc
Trong thực tế, rất nhiều ý tưởng giao dịch nghe qua đều có vẻ hợp lý. Ví dụ như mua khi giá vượt MA dài hạn, mua khi cổ phiếu breakout kèm thanh khoản tăng, hoặc đứng ngoài khi thị trường chung nằm dưới đường trung bình dài hạn. Nếu chỉ nhìn chart bằng mắt, rất dễ cảm thấy những ý tưởng như vậy “có vẻ đúng”. Vấn đề là cảm giác đó không đủ để dùng tiền thật. Với QM Capital, giá trị đầu tiên và lớn nhất của vectorized backtesting không phải là để khoe một equity curve đẹp, mà là để biến một ý tưởng mơ hồ thành một bộ quy tắc kiểm tra được.
Điều này đặc biệt hữu ích ở thị trường Việt Nam, nơi nhà đầu tư cá nhân rất hay bị kéo bởi câu chuyện. Một mã đang được bàn tán nhiều trong nhóm ngành chứng khoán, đầu tư công hay bán lẻ thường dễ tạo cảm giác “chắc là có sóng”. Nhưng khi chuyển ý tưởng đó thành quy tắc và áp lên dữ liệu lịch sử, rất nhiều thứ bắt đầu lộ ra. Có ý tưởng nhìn trên chart vài đoạn thì ổn, nhưng chạy xuyên suốt nhiều năm lại gần như không tạo ra lợi thế gì rõ. Có ý tưởng chỉ hợp trong một giai đoạn thị trường tăng mạnh, còn bước sang giai đoạn đi ngang hoặc giảm thì hiệu quả xấu đi rất nhanh. Có ý tưởng tưởng là “trend-following”, nhưng thực chất chỉ đang bám theo vài pha đẹp và thua nhiều trong phần còn lại.
Đó là lý do QM Capital xem vectorized backtesting như một bộ lọc đầu tiên. Nó không chứng minh chiến lược sẽ thắng trong tương lai, nhưng nó giúp trả lời sớm ba câu hỏi cực kỳ quan trọng. Thứ nhất, ý tưởng này có giữ được logic khi áp lên cả chuỗi dữ liệu hay không. Thứ hai, profile của nó có khác đáng kể so với việc mua và nắm giữ hay không. Thứ ba, nó có đủ ổn để đáng nghiên cứu tiếp hay nên dừng ngay từ đây. Trong thực tế nghiên cứu chiến lược, biết bỏ sớm một ý tưởng yếu thường có giá trị gần bằng việc tìm được một ý tưởng tốt.
Ở thị trường Việt Nam, cách dùng đúng nhất là bắt đầu từ những mã hoặc nhóm mã mà mình thật sự có thể giao dịch. Nghĩa là không nên lấy những cổ phiếu thanh khoản quá thấp, mã đầu cơ quá nhiễu hoặc một rổ cổ phiếu mà ngoài đời rất khó triển khai. Nếu đang ở giai đoạn đầu, thực tế nhất là bắt đầu từ nhóm VN30 hoặc ít nhất là nhóm HOSE thanh khoản tốt. Làm như vậy không phải vì “mã to thì chắc tốt hơn”, mà vì mục tiêu của vectorized backtesting là kiểm tra ý tưởng theo cách có khả năng bước tiếp ra đời thật. Một chiến lược nhìn đẹp trên những mã khó giao dịch thường ít giá trị thực dụng hơn nhiều so với một chiến lược tạm ổn trên một universe đủ sạch và đủ thanh khoản.
Nếu nhìn theo góc thực hành, vectorized backtesting chỉ cần ba lớp rất cơ bản: dữ liệu giá, tín hiệu, và vị thế. Thứ mình cần đầu tiên là dữ liệu lịch sử tương đối sạch và dễ lấy. Với thị trường Việt Nam, vnstock là một lựa chọn rất tiện cho bước đầu vì nó giúp kéo dữ liệu giá lịch sử nhanh mà không phải tự đi gom từ nhiều nguồn. Ở mức cơ bản, chỉ cần lấy OHLCV của một mã, rồi tính lợi suất ngày là đã đủ để bắt đầu nghiên cứu.
Một khung thực tế rất đơn giản có thể như sau:
Đến đây, điều quan trọng không phải là viết mô hình phức tạp, mà là đặt một quy tắc giao dịch đủ rõ để kiểm tra. Ví dụ, một chiến lược rất cơ bản là khi MA ngắn nằm trên MA dài thì giữ vị thế, còn ngược lại thì đứng ngoài. Mục đích ở đây không phải chứng minh MA là tốt nhất. Mục đích là dùng một ý tưởng đủ rõ để xem backtesting thật sự giúp mình nhìn ra điều gì.
Dòng shift(1) là một chi tiết rất nhỏ nhưng mang giá trị thực tế rất lớn. Nó nhắc mình rằng quyết định giao dịch không thể dùng chính thông tin của phiên đó để tự thưởng cho mình mức giá đẹp trong cùng phiên. Khi đã quen với logic này, người làm backtest sẽ bớt mắc lỗi quá phổ biến là vô tình dùng dữ liệu tương lai. Với QM Capital, một backtest rất đơn giản nhưng sạch sẽ còn có ích hơn nhiều một backtest nhìn chuyên nghiệp nhưng sai logic thời gian.
Khi đã có vị thế, lợi suất chiến lược ở mỗi ngày chỉ là lợi suất thị trường nhân với vị thế của mình trong ngày đó. Đây là chỗ mà vectorized backtesting trở nên rất hữu ích về mặt thực hành: từ một ý tưởng khá trừu tượng, mọi thứ được đưa về một logic rất rõ.
Chỉ với vài dòng như vậy, bạn đã có thể nhìn một ý tưởng giao dịch bằng con mắt rất khác. Không còn là “chart này trông ổn”, mà là “nếu áp quy tắc này đều đặn, đường vốn của nó trông ra sao”. Và đây chính là giá trị thực tiễn của vectorized backtesting: nó buộc mình thôi nhìn chiến lược như một câu chuyện và bắt đầu nhìn nó như một chuỗi quyết định lặp lại.
Nếu làm đúng, sau một buổi tối hoặc một cuối tuần, người đọc có thể tự kiểm tra được những ý tưởng rất cơ bản như:
giữ vị thế khi xu hướng trung hạn còn tốt
thoát khi giá yếu đi rõ rệt
chỉ tham gia khi thanh khoản cao hơn trung bình
hoặc kết hợp tín hiệu giá với một bộ lọc đơn giản từ thị trường chung
Điều quan trọng là đừng tối ưu quá sớm. Giai đoạn này không nên lao vào hỏi MA 18/47 có tốt hơn MA 20/50 không. Cái cần kiểm tra trước là logic tổng thể của ý tưởng có tạo ra một profile đủ tử tế để nghiên cứu tiếp hay không. Đây là chỗ rất nhiều người mới đi sai: họ bắt đầu tối ưu chi tiết khi còn chưa biết ý tưởng nền có thật sự đáng giữ lại không.
QM Capital nghĩ rằng một bài viết về vectorized backtesting chỉ thật sự có giá trị nếu nói rõ luôn phần giới hạn của nó. Nhiều người mới dễ mắc hai thái cực. Một là xem nhẹ backtesting, nghĩ rằng chỉ cần nhìn chart bằng mắt là đủ. Hai là tin backtest quá mức, thấy chiến lược có đường vốn đẹp là nghĩ đã gần như sẵn sàng giao dịch thật. Cả hai cách nhìn này đều không đúng.
Vectorized backtesting rất mạnh ở vai trò kiểm tra ý tưởng ban đầu. Nó nhanh, gọn, dễ lặp, dễ so sánh nhiều giả thuyết khác nhau. Với thị trường Việt Nam, điều đó rất hữu ích vì bạn có thể lấy dữ liệu từ vnstock, viết vài quy tắc đơn giản, rồi trả lời nhanh xem một ý tưởng có còn đáng để nghĩ tiếp hay không. Nếu không có bước này, quá trình nghiên cứu chiến lược rất dễ trôi vào cảm tính. Người nghiên cứu sẽ liên tục bị cuốn vào những chart “trông như hợp lý” mà không có một lớp kiểm tra đủ khách quan.
Nhưng vectorized backtesting không phải nơi để kết luận cuối cùng. Nó chưa xử lý được đầy đủ những chuyện rất thật của thị trường Việt Nam như chi phí giao dịch, thuế bán, T+2, biên độ giá, sự khác biệt lớn về thanh khoản giữa các nhóm cổ phiếu, hay việc nhiều lệnh ngoài đời không thể khớp đẹp như trên dữ liệu cuối ngày. Vì vậy, nếu một chiến lược trông ổn qua vòng vectorized backtest, cách dùng đúng không phải là đem đi giao dịch ngay, mà là chuyển nó sang vòng kiểm tra thực tế hơn. Có thể là thêm chi phí cơ bản, thêm turnover, thêm ràng buộc universe, hoặc nếu nghiêm túc hơn thì đi sang event-driven backtesting.
Nói cách khác, giá trị thực tiễn của vectorized backtesting không nằm ở việc nó trả lời hết mọi câu hỏi. Giá trị của nó nằm ở chỗ nó giúp người nghiên cứu đặt đúng câu hỏi ngay từ đầu. Ý tưởng này có đáng để mất thêm thời gian không. Profile lợi nhuận có khác gì so với việc chỉ mua và giữ không. Chiến lược này có vẻ sống nhờ một vài giai đoạn đẹp hay có logic đủ đều. Nếu không vượt qua được vòng kiểm tra đầu tiên này, thì không nên mất thêm nhiều công sức cho các bước phức tạp hơn.
Nếu phải rút gọn toàn bộ topic này thành một ý ngắn, QM Capital sẽ nói thế này: vectorized backtesting rất có giá trị thực tế không phải vì nó dự báo được tương lai, mà vì nó giúp mình loại bỏ sớm những ý tưởng không đủ tốt trước khi đem chúng ra thử với tiền thật. Với người mới làm quant trên thị trường Việt Nam, chỉ riêng việc có được một bộ lọc như vậy đã là một bước tiến rất lớn rồi.
0 / 5
Trong lĩnh vực quantitative finance, có một số công cụ mạnh mẽ nhưng ít được chú ý đến so với những mô hình phổ biến như Deep Learning hay SMA crossover. Một trong những công cụ mạnh mẽ đó chính là Mô hình Không gian Trạng thái (State-space models) và Bộ lọc Kalman (Kalman filter). Mặc dù có vẻ phức tạp, nhưng những công cụ này lại cực kỳ hữu ích và mạnh mẽ khi áp dụng vào việc phân tích và dự đoán thị trường tài chính. Mặc dù nghe có vẻ như là những mô hình nguyên thủy, thực tế chúng là những công cụ cực kỳ mạnh mẽ và bền bỉ (robust), đặc biệt trong môi trường thay đổi nhanh chóng của các thị trường tài chính.
Khi thực hiện bất kỳ chiến lược giao dịch nào trên thị trường tài chính, một yếu tố không thể thiếu chính là khả năng giải thích (interpretability) của mô hình giao dịch. Điều này đặc biệt quan trọng trong bối cảnh môi trường biến động và khi quản lý rủi ro là yếu tố sống còn đối với các quỹ đầu tư và các trader chuyên nghiệp. Mỗi chiến lược giao dịch không chỉ cần phải hiệu quả mà còn phải dễ hiểu, có thể giải thích một cách rõ ràng tại sao tín hiệu mua/bán lại được đưa ra trong một tình huống cụ thể.
Khi mới học quant trading, nhiều người thường tập trung gần như toàn bộ vào phần mô hình. Họ nghĩ rằng nếu dự báo đúng hơn một chút, hoặc nếu tìm được một tín hiệu chính xác hơn phần còn lại của thị trường, thì kết quả giao dịch chắc chắn sẽ tốt. Cách nghĩ này không sai hoàn toàn, nhưng mới đúng một nửa. Trong giao dịch thực tế, dự báo chỉ là điểm bắt đầu. Sau đó còn một bước quan trọng hơn nhiều: biến tín hiệu đó thành vị thế thật, giao dịch thật, lợi nhuận thật.
Nếu phải chọn một rủi ro làm hỏng nhiều chiến lược định lượng nhất, thì đó thường không phải là thiếu mô hình hiện đại, mà là overfitting. Nói đơn giản, overfitting xảy ra khi mô hình học quá kỹ dữ liệu quá khứ đến mức nó không chỉ học tín hiệu thật, mà còn học luôn cả nhiễu. Khi nhìn lại lịch sử, mọi thứ trông rất đẹp: độ chính xác cao, equity curve mượt, drawdown dễ chịu, Sharpe ratio hấp dẫn. Nhưng đến khi đem sang giai đoạn mới, hoặc live trading, mô hình bắt đầu hỏng rất nhanh.
Có một hiểu lầm rất phổ biến khi mới bước vào quant trading: cứ nghe đến “quant” là nghĩ ngay đến deep learning, transformers, reinforcement learning, foundation models, hay ít nhất cũng phải có một thứ gì đó đủ phức tạp để nghe giống phòng lab hơn là bàn giao dịch. Nhưng nếu nhìn vào cách nhiều tổ chức thật đang vận hành, bức tranh lại bớt hào nhoáng hơn nhiều.
Nếu nhìn theo kiểu tin tức, ngày đáo hạn phái sinh thường bị gắn với những cụm như rung lắc, kéo trụ, ép ATC. Nhưng với quant trading, cách hỏi như vậy vẫn còn cảm tính. Câu hỏi đúng hơn là: ngày đáo hạn có tạo ra một mẫu biến động lặp lại, đủ ổn định, đủ rõ, để mình đưa vào bộ lọc của hệ thống hay không. Đây là một câu hỏi rất hợp với thị trường Việt Nam, vì hợp đồng tương lai VN30 có lịch đáo hạn cố định vào thứ Năm lần thứ ba của tháng đáo hạn, nên bản thân nó đã là một event định kỳ, rất phù hợp để làm event study. Ngoài ra, hợp đồng VN30 hiện có hệ số nhân 100.000 đồng mỗi điểm chỉ số, nên đây không phải một sản phẩm quá nhỏ để bỏ qua khi nhìn hành vi của nhóm cổ phiếu trụ.
Đượ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!