Machine Learning trong chứng khoán: Dự báo giá hay hỗ trợ quyết định?
Machine Learning
Phần 1: Sai lầm lớn nhất là kỳ vọng Machine Learning đoán đúng giá ngày mai
Khi nhắc đến Machine Learning trong chứng khoán, nhiều người thường nghĩ ngay đến một hình ảnh rất hấp dẫn: đưa dữ liệu vào mô hình, mô hình trả ra cổ phiếu nào sẽ tăng, cổ phiếu nào sẽ giảm, thậm chí dự báo giá ngày mai hoặc tuần sau. Nghe rất cuốn, nhưng đây cũng là cách hiểu dễ làm nhà đầu tư thất vọng nhất. Thị trường chứng khoán không giống một bài toán kỹ thuật cố định, nơi dữ liệu đầu vào ổn định và quy luật lặp lại rõ ràng. Giá cổ phiếu thay đổi vì dòng tiền, kỳ vọng, tin tức, lãi suất, kết quả kinh doanh, hành vi đám đông, thanh khoản, cung cầu ngắn hạn và rất nhiều biến không thể đo đầy đủ trong dữ liệu.

Nếu dùng Machine Learning với mục tiêu “dự báo chính xác giá đóng cửa ngày mai”, mô hình rất dễ rơi vào bẫy overfitting. Nó học quá kỹ những mẫu hình trong quá khứ, cho kết quả rất đẹp trên dữ liệu cũ, nhưng khi đưa vào giao dịch thật lại không còn hiệu quả. Một cổ phiếu hôm qua tăng vì dòng tiền ngành, hôm nay có thể giảm vì khối ngoại bán mạnh. Một tín hiệu kỹ thuật từng hiệu quả trong giai đoạn thị trường tăng có thể thất bại trong giai đoạn thanh khoản cạn. Một mô hình học từ dữ liệu cũ có thể không kịp phản ứng khi cấu trúc thị trường thay đổi.
Cách tiếp cận thực tế hơn là xem Machine Learning như một công cụ hỗ trợ quyết định, không phải một cái máy phán chắc tương lai. Thay vì hỏi “giá cổ phiếu A ngày mai là bao nhiêu”, câu hỏi nên là: “Trong 500 cổ phiếu trên thị trường, cổ phiếu nào có xác suất cao nằm trong nhóm mạnh hơn thị trường trong 20 phiên tới?” Hoặc: “Cổ phiếu nào đang có dấu hiệu suy yếu về momentum, thanh khoản và sức mạnh tương đối?” Hoặc: “Danh mục hiện tại có mã nào đang giống nhóm cổ phiếu từng underperform trong quá khứ?” Đây là những câu hỏi phù hợp hơn với bản chất của Machine Learning.
Trong nghiên cứu tài chính, nhiều bài toán dự báo chứng khoán cũng chuyển từ dự báo giá chính xác sang bài toán phân loại xu hướng hoặc phân loại nhóm cổ phiếu. Một nghiên cứu về Random Forest cho dự báo hướng giá cổ phiếu cũng nhấn mạnh việc xem dự báo như bài toán phân loại nhằm giảm rủi ro sai số dự báo tuyệt đối, thay vì cố dự đoán một con số giá cụ thể. Một nghiên cứu khác về Machine Learning dựa trên dữ liệu cơ bản cho thấy các mô hình như Random Forest có thể hỗ trợ nhà phân tích cơ bản trong quá trình ra quyết định đầu tư, chứ không nên hiểu đơn giản là thay thế hoàn toàn phán đoán đầu tư.
Nhìn vào thực tế thị trường Việt Nam hiện tại càng thấy rõ điều này. Phiên 08/07/2026, VN-Index đóng cửa ở 1.853,7 điểm, tăng 0,3%; thanh khoản khớp lệnh HoSE đạt 14,7 nghìn tỷ đồng, tăng 22,8% so với phiên trước; nhưng thị trường vẫn phân hóa khi 13/19 nhóm ngành tăng, dầu khí tăng 2,5%, bán lẻ, hóa chất, xây dựng và vật liệu cùng tăng 1,3%, trong khi công nghệ giảm 1,6%. Nếu chỉ nhìn chỉ số tăng nhẹ, nhà đầu tư có thể nghĩ thị trường đang ổn. Nhưng nếu nhìn sâu hơn, dòng tiền đang luân chuyển giữa các nhóm ngành, khối ngoại vẫn bán ròng và độ rộng thị trường chưa thật sự đồng đều. Một mô hình Machine Learning thực tế phải đọc được bối cảnh phân hóa như vậy, chứ không chỉ nhìn VN-Index tăng hay giảm.
Đó là điểm khác biệt giữa “dự báo giá” và “hỗ trợ quyết định”. Dự báo giá cố trả lời một kết quả duy nhất. Hỗ trợ quyết định giúp nhà đầu tư xử lý dữ liệu tốt hơn, ưu tiên cổ phiếu đáng theo dõi hơn, giảm số lượng quyết định cảm tính và biết khi nào điều kiện thị trường không còn thuận lợi. Trong thị trường thật, mục tiêu không phải là đúng tuyệt đối. Mục tiêu là ra quyết định có xác suất tốt hơn, quản trị rủi ro tốt hơn và tránh những sai lầm lặp lại.
Phần 2: Machine Learning nên bắt đầu từ câu hỏi đầu tư, không bắt đầu từ thuật toán
Một lỗi rất phổ biến là nhà đầu tư bắt đầu bằng câu hỏi: nên dùng Random Forest, XGBoost, LSTM hay Neural Network? Cách tiếp cận này bị ngược. Trong đầu tư, mô hình không phải điểm bắt đầu. Câu hỏi đầu tư mới là điểm bắt đầu. Nếu không biết mình muốn mô hình giúp quyết định điều gì, thuật toán càng phức tạp càng dễ tạo ra ảo giác.
Câu hỏi đầu tiên nên là: mình muốn dùng Machine Learning để làm gì? Nếu mục tiêu là giao dịch ngắn hạn, mô hình có thể tập trung vào momentum, thanh khoản, biến động, độ rộng thị trường, sức mạnh ngành và phản ứng giá. Nếu mục tiêu là đầu tư trung hạn, mô hình cần thêm dữ liệu cơ bản như tăng trưởng lợi nhuận, ROE, dòng tiền kinh doanh, biên lợi nhuận, định giá, nợ vay và chất lượng tài sản. Nếu mục tiêu là quản trị danh mục, mô hình có thể dùng để cảnh báo cổ phiếu yếu, phát hiện vị thế lệch ngành, đo rủi ro thanh khoản hoặc xếp hạng cơ hội thay thế.
Ví dụ, một bài toán thực tế có thể là: mỗi cuối tuần, mô hình xếp hạng toàn bộ cổ phiếu đủ thanh khoản trên HoSE/HNX/UPCoM, sau đó chọn ra 30 cổ phiếu có xác suất cao nhất thuộc nhóm outperform VN-Index trong 20 phiên tới. Đây là bài toán hợp lý hơn nhiều so với “dự báo giá đóng cửa từng mã”. Đầu ra của mô hình không phải là “mua ngay”, mà là một watchlist có thứ tự ưu tiên. Sau đó nhà đầu tư vẫn phải kiểm tra ngành, thanh khoản, điểm mua, tin tức, rủi ro sự kiện và tỷ trọng danh mục.
Một cách định nghĩa cụ thể hơn: tại ngày T, lấy toàn bộ cổ phiếu đủ thanh khoản. Sau 20 phiên, tính lợi nhuận của từng cổ phiếu và trừ đi lợi nhuận của VN-Index trong cùng kỳ. Nếu cổ phiếu nằm trong top 30% về hiệu suất tương đối, gán nhãn “mạnh”. Nếu nằm trong bottom 30%, gán nhãn “yếu”. Nhóm giữa có thể gán trung tính hoặc bỏ qua. Mô hình sẽ học xem tại ngày T, những đặc điểm nào thường xuất hiện ở nhóm cổ phiếu mạnh và nhóm cổ phiếu yếu sau 20 phiên. Đây là tư duy phân loại xác suất, không phải bói giá.
Tại sao nên dùng hiệu suất tương đối thay vì tăng/giảm tuyệt đối? Vì thị trường có bối cảnh. Trong một giai đoạn VN-Index tăng 10%, một cổ phiếu tăng 2% có thể là yếu. Ngược lại, trong một giai đoạn VN-Index giảm 8%, một cổ phiếu chỉ giảm 1% có thể là mạnh tương đối. Nếu mô hình chỉ học “tăng là tốt, giảm là xấu”, nó sẽ dễ bị lệ thuộc vào trạng thái thị trường chung. Dùng relative return giúp mô hình tập trung vào câu hỏi thực tế hơn: cổ phiếu nào đáng ưu tiên hơn phần còn lại của thị trường.
Sau khi có nhãn, mới đến bước chọn dữ liệu đầu vào. Dữ liệu giá có thể gồm lợi nhuận 5, 20, 60, 120 phiên; khoảng cách so với MA20, MA50, MA200; mức giảm từ đỉnh 52 tuần; số phiên tăng trong 20 phiên gần nhất; biến động giá. Dữ liệu thanh khoản có thể gồm giá trị giao dịch bình quân 20 và 60 phiên, tỷ lệ thanh khoản hiện tại so với trung bình, độ ổn định thanh khoản và mức độ dễ thoát hàng. Dữ liệu ngành có thể gồm hiệu suất ngành, số cổ phiếu trong ngành nằm trên MA50, thanh khoản ngành và độ rộng ngành. Dữ liệu cơ bản có thể gồm tăng trưởng doanh thu, lợi nhuận, ROE, biên lợi nhuận, dòng tiền kinh doanh, nợ vay, P/E, P/B. Nhưng tất cả dữ liệu cơ bản phải được xử lý theo ngày công bố thực tế, tránh dùng thông tin mà tại thời điểm đó nhà đầu tư chưa thể biết.
Một mô hình tốt không nhất thiết phải có hàng trăm biến. Quan trọng là biến có ý nghĩa kinh tế. Momentum đo sức mạnh giá. Thanh khoản đo khả năng dòng tiền tham gia. Volatility đo rủi ro biến động. Quality đo chất lượng doanh nghiệp. Value đo mức định giá. Sector strength đo bối cảnh ngành. Market regime đo môi trường thị trường chung. Nếu một feature không giải thích được vì sao nó có thể liên quan đến lợi nhuận tương lai, rất có thể nó chỉ là nhiễu.
Phần 3: Bám thực tế hiện tại: thị trường phân hóa thì mô hình càng phải đọc theo nhóm ngành và thanh khoản
Thị trường Việt Nam hiện tại là ví dụ rất tốt để hiểu vì sao Machine Learning không nên chỉ dự báo chỉ số chung. Trong một phiên, VN-Index có thể xanh nhẹ, nhưng cơ hội thật lại chỉ tập trung ở một số nhóm ngành. Ngược lại, có phiên chỉ số giảm nhưng vẫn có nhóm giữ giá tốt. Theo Tuổi Trẻ dẫn nhận định của các công ty chứng khoán, dù chỉ số hồi phục, thanh khoản vẫn là điểm cần thận trọng; ACBS cho rằng giá trị giao dịch giảm hơn 27% so với phiên trước cho thấy dòng tiền còn đứng ngoài, trong khi Vietcap đánh giá lực mua mới tập trung chủ yếu ở ngân hàng và chứng khoán, các nhóm bất động sản, vật liệu xây dựng, bán lẻ và tiêu dùng chỉ cải thiện cục bộ.
Điều này rất quan trọng với Machine Learning. Nếu mô hình chỉ lấy dữ liệu từng cổ phiếu mà không có biến ngành và biến thị trường, nó có thể bỏ qua một phần lớn bối cảnh. Một cổ phiếu ngân hàng tăng 5% trong giai đoạn cả nhóm ngân hàng mạnh có ý nghĩa khác với một cổ phiếu tăng 5% đơn lẻ trong ngành đang yếu. Một cổ phiếu bất động sản hồi 7% sau khi giảm sâu nhưng thanh khoản ngành chưa xác nhận có thể chỉ là hồi kỹ thuật. Một cổ phiếu chứng khoán tăng cùng lúc giá trị giao dịch toàn thị trường cải thiện có thể đáng chú ý hơn, vì ngành này nhạy trực tiếp với thanh khoản.
Vì vậy, trong bài toán thực tế, mỗi cổ phiếu nên được nhìn trong ít nhất ba lớp. Lớp thứ nhất là bản thân cổ phiếu: giá, thanh khoản, biến động, kết quả kinh doanh, định giá. Lớp thứ hai là ngành: ngành đang mạnh hay yếu, dòng tiền có lan tỏa không, có bao nhiêu mã trong ngành cùng xác nhận xu hướng. Lớp thứ ba là thị trường chung: VN-Index ở trên hay dưới MA50, thanh khoản toàn thị trường cải thiện hay suy yếu, độ rộng thị trường tốt hay xấu, khối ngoại mua hay bán ròng, nhóm vốn hóa lớn có dẫn dắt không.
Ví dụ, nếu ngày 08/07/2026 HoSE khớp lệnh 14,7 nghìn tỷ đồng, tăng 22,8% so với phiên trước, mô hình có thể ghi nhận biến “market liquidity improvement” là tích cực. Nhưng cùng lúc khối ngoại bán ròng 546,9 tỷ đồng và thị trường phân hóa theo ngành, mô hình không nên hiểu đây là tín hiệu mua toàn thị trường. Một cách dùng thực tế là tăng điểm cho cổ phiếu thuộc nhóm ngành đang có dòng tiền thật, nhưng vẫn phạt những cổ phiếu thanh khoản yếu, hồi phục kém hoặc bị bán mạnh bởi khối ngoại nếu dữ liệu cho thấy yếu tố đó có ý nghĩa.
Đây chính là chỗ Machine Learning có giá trị. Con người có thể đọc vài chục mã tốt, nhưng rất khó cập nhật hàng trăm cổ phiếu mỗi ngày theo cùng một bộ tiêu chí. Mô hình có thể giúp quét toàn thị trường: mã nào momentum cải thiện, mã nào thanh khoản đột biến nhưng giá không tăng, mã nào mạnh hơn ngành, mã nào yếu hơn VN-Index, mã nào có rủi ro thanh khoản nếu muốn thoát hàng. Nhà đầu tư sau đó dùng kinh nghiệm để đọc bối cảnh và quyết định.
Một ví dụ cụ thể: mô hình chấm điểm cổ phiếu A xác suất outperform 20 phiên tới là 68%, cổ phiếu B là 61%, cổ phiếu C là 55%. Điều này không có nghĩa phải mua ngay A, B, C. Nó chỉ có nghĩa A đáng được ưu tiên kiểm tra trước. Nếu A thuộc ngành đang dẫn dắt, thanh khoản 20 phiên trên 50 tỷ/ngày, giá vừa vượt nền nhưng chưa quá xa, kết quả kinh doanh sắp tới có catalyst, thì A có thể vào watchlist. Nếu B xác suất cao nhưng thanh khoản chỉ 3 tỷ/ngày, spread lớn, tăng trần liên tục và khó mua bán, thì nên loại hoặc giảm điểm. Nếu C xác suất thấp hơn nhưng nằm trong ngành đang cải thiện và có nền giá đẹp, có thể vẫn đáng theo dõi. Mô hình giúp xếp hàng công việc, không thay nhà đầu tư bấm lệnh.
Phần 4: Một quy trình Machine Learning thực tế cho nhà đầu tư cá nhân
Một quy trình thực tế có thể bắt đầu bằng việc xây universe. Không nên đưa toàn bộ cổ phiếu vào mô hình nếu mục tiêu là giao dịch được. Với nhà đầu tư cá nhân, có thể lọc trước các cổ phiếu có giá trị giao dịch bình quân 20 phiên trên một ngưỡng nhất định, ví dụ 10–20 tỷ đồng/ngày tùy quy mô tài khoản. Những cổ phiếu bị cảnh báo nghiêm trọng, thanh khoản quá thấp, dữ liệu thiếu hoặc thường xuyên không giao dịch nên được loại khỏi universe. Nếu không làm bước này, mô hình có thể chọn ra nhiều cổ phiếu tăng mạnh trên giấy nhưng không mua bán được ngoài đời.
Sau đó là tạo nhãn. Một nhãn đơn giản có thể là “top 30% cổ phiếu outperform VN-Index trong 20 phiên tới”. Nếu muốn trung hạn hơn, dùng 60 phiên. Nếu muốn phòng thủ, có thể tạo nhãn “giảm ít hơn VN-Index trong các giai đoạn thị trường giảm”. Nếu muốn tìm cổ phiếu breakout, có thể tạo nhãn “tăng ít nhất X% sau khi vượt nền và không vi phạm stop-loss trong N phiên”. Nhãn phải bám sát mục tiêu đầu tư. Không có nhãn đúng, mô hình sẽ học sai câu hỏi.
Tiếp theo là tạo feature tại ngày T. Đây là nơi cần cực kỳ kỷ luật. Tất cả feature phải là dữ liệu nhà đầu tư biết được tại ngày T. Dữ liệu báo cáo tài chính phải có độ trễ công bố. Dữ liệu ngành phải dùng thông tin có sẵn đến ngày đó. Dữ liệu giá và thanh khoản chỉ tính đến ngày T, không được dùng thông tin sau T. Nếu vô tình dùng dữ liệu tương lai, backtest sẽ đẹp giả tạo. Đây là lỗi look-ahead bias, một trong những lỗi nguy hiểm nhất khi dùng Machine Learning trong tài chính.
Sau đó là chia train/test theo thời gian, không chia ngẫu nhiên như các bài toán Machine Learning thông thường. Ví dụ, dùng dữ liệu 2018–2022 để huấn luyện, 2023 để kiểm tra; sau đó dùng 2018–2023 để huấn luyện, 2024 để kiểm tra; tiếp tục theo kiểu walk-forward. Cách này mô phỏng thực tế hơn: nhà đầu tư luôn dùng quá khứ để ra quyết định cho tương lai, chứ không được trộn dữ liệu tương lai vào quá khứ.
Khi đánh giá mô hình, không nên chỉ nhìn accuracy. Trong đầu tư, đúng 55% chưa chắc có lãi, và đúng 48% vẫn có thể có lãi nếu lệnh thắng lớn hơn lệnh thua. Cần nhìn thêm AUC, precision ở nhóm top, lợi nhuận trung bình của nhóm cổ phiếu được chọn, drawdown, turnover, chi phí giao dịch, slippage và khả năng mua bán thật. Nếu mô hình chọn top 20 cổ phiếu mỗi tuần nhưng turnover quá cao, phí và trượt giá có thể ăn hết lợi thế. Nếu mô hình chỉ hiệu quả trong uptrend nhưng mất nhiều trong downtrend, cần thêm bộ lọc regime thị trường.
Một kết quả thực tế nên được đọc như thế này: mô hình không cần chọn đúng mọi mã. Nếu top 20% cổ phiếu theo điểm mô hình có lợi nhuận trung bình cao hơn rõ rệt so với bottom 20% sau khi tính chi phí, mô hình đã có giá trị. Nếu nhóm điểm cao cũng có thanh khoản đủ, drawdown chấp nhận được và hiệu quả ổn định qua nhiều giai đoạn thị trường, mô hình đáng được đưa vào quy trình đầu tư. Nhưng nếu mô hình chỉ đẹp trên một giai đoạn ngắn, chỉ thắng nhờ vài cổ phiếu nhỏ tăng sốc, hoặc thất bại khi đưa ra ngoài mẫu, thì chưa nên dùng bằng tiền thật.
Phần 5: Machine Learning hỗ trợ quyết định ở những điểm nào?
Ứng dụng đầu tiên là lọc cổ phiếu. Thay vì đọc toàn bộ thị trường mỗi ngày, mô hình giúp nhà đầu tư rút từ vài trăm mã xuống còn 20–30 mã đáng quan sát. Đây là lợi ích rất thực tế. Nhà đầu tư cá nhân thường bị quá tải thông tin: mã nào cũng có câu chuyện, nhóm nào cũng có người hô, tin tức mỗi ngày rất nhiều. Một hệ thống xếp hạng giúp giảm nhiễu và buộc mình chỉ tập trung vào những cổ phiếu thỏa tiêu chí dữ liệu.
Ứng dụng thứ hai là xếp hạng xác suất, không phải đưa tín hiệu mua/bán cứng. Một cổ phiếu được mô hình chấm 0,72 xác suất mạnh không có nghĩa chắc chắn tăng. Nó chỉ có nghĩa trong dữ liệu lịch sử, các đặc điểm hiện tại của cổ phiếu này giống với nhóm từng outperform hơn là nhóm underperform. Nhà đầu tư vẫn phải hỏi: điểm mua còn đẹp không, cổ phiếu có quá xa nền không, thanh khoản đủ không, ngành có đồng thuận không, nếu sai thì mất bao nhiêu, danh mục đã có quá nhiều mã cùng ngành chưa.
Ứng dụng thứ ba là cảnh báo rủi ro trong danh mục. Nhiều nhà đầu tư không bán cổ phiếu yếu vì bị Status Quo Bias: đã cầm lâu nên ngại thay đổi. Mô hình có thể đóng vai trò như một người nhắc lạnh lùng: mã này đang rơi khỏi nhóm mạnh, momentum suy yếu, thanh khoản giảm, ngành yếu hơn thị trường, khả năng outperform thấp. Tín hiệu đó không bắt buộc bán ngay, nhưng buộc nhà đầu tư review lại luận điểm. Đây là giá trị lớn, vì nhiều khoản lỗ lớn không đến từ việc mua sai ban đầu, mà đến từ việc không cập nhật khi dữ liệu đã xấu đi.
Ứng dụng thứ tư là kiểm tra giả thuyết đầu tư. Ví dụ, nhà đầu tư tin rằng cổ phiếu có ROE cao, tăng trưởng lợi nhuận tốt và momentum 60 phiên dương sẽ outperform. Thay vì chỉ tin bằng cảm giác, có thể đưa các biến này vào mô hình hoặc backtest để xem giả thuyết có thật sự có giá trị không. Nếu dữ liệu cho thấy yếu tố đó chỉ hiệu quả trong một số giai đoạn hoặc chỉ hiệu quả khi thanh khoản thị trường tăng, nhà đầu tư sẽ hiểu chiến lược sâu hơn. Machine Learning không chỉ trả lời “mua mã nào”, mà còn giúp kiểm chứng cách mình nghĩ về thị trường.
Ứng dụng thứ năm là kết hợp nhiều lớp dữ liệu. Con người thường giỏi đọc câu chuyện riêng lẻ, nhưng kém khi phải cân nhiều biến cùng lúc. Một cổ phiếu có thể rẻ, nhưng momentum yếu. Một cổ phiếu tăng mạnh, nhưng định giá cao. Một cổ phiếu cơ bản tốt, nhưng ngành đang bị rút tiền. Một cổ phiếu có thanh khoản tăng, nhưng giá không vượt được kháng cự. Machine Learning có thể tổng hợp nhiều tín hiệu và cho ra điểm xác suất. Điểm này không hoàn hảo, nhưng giúp quyết định bớt lệ thuộc vào một chỉ báo duy nhất.
Phần 6: Vì sao mô hình đẹp vẫn có thể thất bại khi giao dịch thật?
Lý do đầu tiên là dữ liệu không sạch. Dữ liệu giá có thể bị điều chỉnh sai, dữ liệu doanh nghiệp có thể thiếu, dữ liệu ngành có thể phân loại không nhất quán, dữ liệu báo cáo tài chính có thể không theo đúng thời điểm công bố. Với thị trường Việt Nam, dữ liệu cổ phiếu nhỏ, cổ phiếu thanh khoản thấp, cổ phiếu bị cảnh báo hoặc bị hạn chế giao dịch càng cần xử lý cẩn thận. Mô hình tốt không thể sinh ra từ dữ liệu bẩn.
Lý do thứ hai là chi phí giao dịch và slippage. Backtest thường giả định mua được ở giá đóng cửa hoặc giá mở cửa, bán được ngay với khối lượng mong muốn. Thực tế không đơn giản như vậy. Nếu cổ phiếu thanh khoản thấp, chỉ cần mua vài trăm triệu cũng có thể đẩy giá. Nếu cổ phiếu giảm sàn hoặc mất thanh khoản, không phải muốn bán là bán được. Vì vậy, một mô hình chọn đúng hướng nhưng không tính thanh khoản vẫn có thể thất bại. Với thị trường Việt Nam, bộ lọc thanh khoản không phải phần phụ, mà là phần sống còn.
Lý do thứ ba là regime thị trường thay đổi. Một mô hình học tốt trong giai đoạn tiền rẻ, dòng tiền cá nhân mạnh, nhóm cổ phiếu nhỏ bùng nổ có thể không còn hiệu quả khi thị trường chuyển sang phân hóa, khối ngoại bán ròng, thanh khoản giảm và dòng tiền chỉ tập trung vào ngân hàng/chứng khoán. Tuổi Trẻ ghi nhận trong bối cảnh gần đây, thanh khoản toàn thị trường có lúc chỉ tương đương khoảng 65% mức trung bình theo nhận định của SHS, phản ánh mức độ phân hóa lớn và cơ hội tăng giá chưa xuất hiện rộng. Một mô hình không nhận diện được regime sẽ dễ dùng cùng một luật cho mọi hoàn cảnh.
Lý do thứ tư là nhà đầu tư dùng mô hình sai cách. Mô hình đưa ra xác suất, nhưng nhà đầu tư lại hiểu như tín hiệu chắc chắn. Mô hình chọn top cổ phiếu, nhưng nhà đầu tư all-in một mã. Mô hình gợi ý watchlist, nhưng nhà đầu tư mua đuổi khi giá đã tăng quá xa. Mô hình có hiệu quả trung bình sau 20 phiên, nhưng nhà đầu tư nhìn lỗ 2 phiên đã bán. Khi cách dùng không khớp với cách mô hình được thiết kế, kết quả thực tế sẽ lệch rất xa backtest.
Lý do thứ năm là mô hình không thay thế quản trị rủi ro. Dù mô hình tốt đến đâu, vẫn cần giới hạn tỷ trọng, stop-loss hoặc điểm sai luận điểm, kiểm soát ngành, kiểm soát thanh khoản, giới hạn drawdown và quy tắc giảm rủi ro khi thị trường chung xấu. Machine Learning có thể giúp chọn xác suất tốt hơn, nhưng không loại bỏ tail risk. Một sự kiện bất ngờ như tin pháp lý, thay đổi chính sách, khủng hoảng thanh khoản, kết quả kinh doanh sốc hoặc biến động vĩ mô có thể làm mọi mô hình trở nên chậm.
Phần 7: Tư duy đúng: dùng Machine Learning như một “bộ lọc kỷ luật”
Cách dùng đúng nhất với nhà đầu tư cá nhân là xem Machine Learning như một bộ lọc kỷ luật. Mỗi tuần hoặc mỗi ngày, mô hình quét thị trường, xếp hạng cổ phiếu theo xác suất mạnh/yếu, cảnh báo cổ phiếu trong danh mục suy yếu, và cho biết nhóm ngành nào đang có dòng tiền cải thiện. Nhà đầu tư dùng kết quả đó để ưu tiên phân tích, không dùng nó để bấm lệnh mù quáng.
Ví dụ, cuối tuần mô hình trả ra top 30 cổ phiếu có xác suất outperform cao nhất. Nhà đầu tư không mua hết 30 mã. Họ xem ngành nào xuất hiện nhiều nhất, cổ phiếu nào thanh khoản đủ, mã nào còn điểm mua hợp lý, mã nào có kết quả kinh doanh hoặc catalyst hỗ trợ, mã nào đã tăng quá xa nên chờ lại. Sau đó chọn 5–8 mã vào watchlist. Khi thị trường mở cửa, chỉ mua nếu giá về vùng kế hoạch và rủi ro còn kiểm soát được. Đây là cách kết hợp giữa dữ liệu và tư duy giao dịch.
Ngược lại, nếu mô hình cảnh báo danh mục đang yếu đi, nhà đầu tư nên review. Một cổ phiếu đang nắm giữ nếu rơi khỏi nhóm top, momentum âm, yếu hơn VN-Index, ngành suy yếu và thanh khoản giảm, thì cần hỏi lại: mình còn giữ vì dữ liệu ủng hộ hay vì không muốn nhận sai? Đây là nơi Machine Learning giúp chống lại cảm xúc. Nó không biết mình mua giá nào, không biết mình tiếc ra sao, không biết mình hy vọng về bờ. Nó chỉ nhìn dữ liệu hiện tại. Sự lạnh lùng đó đôi khi rất cần thiết.
Một hệ thống thực tế có thể có ba tầng. Tầng một là bộ lọc định lượng: loại cổ phiếu thiếu thanh khoản, rủi ro giao dịch, dữ liệu xấu. Tầng hai là mô hình Machine Learning: xếp hạng xác suất mạnh/yếu dựa trên giá, thanh khoản, ngành, cơ bản và regime thị trường. Tầng ba là quyết định đầu tư: kiểm tra câu chuyện, catalyst, điểm mua, tỷ trọng, stop-loss, rủi ro danh mục. Nếu thiếu tầng một, mô hình chọn cổ phiếu không giao dịch được. Nếu thiếu tầng hai, nhà đầu tư dễ cảm tính. Nếu thiếu tầng ba, nhà đầu tư biến mô hình thành robot mua bán thiếu kiểm soát.
Nói ngắn gọn, Machine Learning trong chứng khoán không nên được hiểu là “máy dự báo giá”. Nó nên được hiểu là công cụ giúp nhà đầu tư ra quyết định có cấu trúc hơn. Nó giúp lọc cổ phiếu, xếp hạng xác suất, phát hiện tín hiệu suy yếu, kiểm tra giả thuyết và giảm nhiễu thông tin. Nhưng nó không thay thế quản trị rủi ro, không thay thế hiểu biết thị trường và không loại bỏ được bất định.
