EPS tăng nhưng dự báo bị hạ. Vậy thị trường đang nhìn vào điều gì?
EPS
Một doanh nghiệp công bố lợi nhuận tăng 30% nhưng giá cổ phiếu vẫn giảm. Một doanh nghiệp khác báo kết quả thấp hơn cùng kỳ nhưng giá lại tăng mạnh ngay sau báo cáo. Những trường hợp này không hề hiếm, vì thị trường không định giá doanh nghiệp chỉ dựa trên câu hỏi “lợi nhuận vừa rồi tăng hay giảm?”. Giá cổ phiếu phản ánh kỳ vọng về dòng tiền tương lai, nên một phần thông tin quan trọng hơn nằm ở việc sau khi có kết quả mới, kỳ vọng của thị trường về những quý tiếp theo thay đổi như thế nào.
Đây là chỗ Analyst Revision trở nên thú vị đối với Quant Research. Earnings surprise cho biết actual vừa công bố khác kỳ vọng trước công bố bao nhiêu. Analyst revision lại cho biết sau khi đọc báo cáo, nghe management guidance và cập nhật mô hình, các analyst đã thay đổi dự báo tương lai thế nào. Hai tín hiệu có thể cùng chiều, nhưng trường hợp đáng nghiên cứu nhất lại là khi chúng đi ngược nhau: doanh nghiệp beat kỳ vọng nhưng consensus bị hạ, hoặc doanh nghiệp miss kỳ vọng nhưng dự báo những năm tiếp theo được nâng lên.
PHẦN 1. EPS TĂNG CHƯA CHẮC LÀ TIN TỐT, VÌ THỊ TRƯỜNG ĐANG SO VỚI MỘT MỐC KHÁC
Giả sử một doanh nghiệp công bố EPS quý III tăng 25% so với cùng kỳ. Nếu chỉ đọc báo cáo tài chính, đây rõ ràng là một con số tích cực. Nhưng trước ngày công bố, thị trường có thể đã kỳ vọng EPS tăng 35%. Khi đó kết quả thực tế vẫn là một disappointment so với expectation. Xa hơn nữa, doanh nghiệp có thể đồng thời thông báo nhu cầu quý IV chậm lại, biên lợi nhuận giảm hoặc capex tăng mạnh. Analyst sau đó hạ EPS dự báo cho năm tới 10%. Nhìn backward, doanh nghiệp vừa có một quý tăng trưởng tốt; nhìn forward, giá trị kỳ vọng của doanh nghiệp vừa bị điều chỉnh xuống.
Trường hợp ngược lại cũng quan trọng không kém. Một doanh nghiệp có thể báo EPS thấp hơn consensus một chút do chi phí bất thường trong quý, nhưng management cho biết đơn hàng mới tăng nhanh và biên lợi nhuận dự kiến phục hồi. Nếu các analyst sau đó đồng loạt nâng dự báo EPS cho năm sau, cổ phiếu có thể phản ứng tích cực dù headline earnings ban đầu không đẹp. Điều thị trường quan tâm ở đây không đơn giản là actual cao hay thấp mà là thông tin mới khiến đường kỳ vọng tương lai dịch chuyển theo hướng nào.
Vì vậy, khi xây một factor từ analyst data, mình sẽ tách ít nhất hai lớp thông tin. Lớp thứ nhất là earnings surprise: actual EPS vừa công bố khác consensus trước công bố bao nhiêu. Lớp thứ hai là estimate revision: consensus EPS hoặc revenue cho kỳ tiếp theo thay đổi bao nhiêu sau sự kiện. Đây là hai biến có ý nghĩa kinh tế khác nhau. Surprise nói về việc thị trường đã dự báo quý vừa rồi chính xác đến đâu; revision phản ánh cách analyst cập nhật kỳ vọng về tương lai sau khi nhận thêm thông tin.
Các nghiên cứu về analyst behavior cho thấy forecast revisions sau earnings announcements không đơn thuần là một thao tác cơ học. Clement, Hales và Xue nghiên cứu quá trình analyst điều chỉnh dự báo sau công bố lợi nhuận và cho thấy họ sử dụng cả stock returns lẫn revisions của những analyst khác để cập nhật forecast; đồng thời analyst có xu hướng phản ứng chưa đầy đủ với các tín hiệu này. Nghiên cứu khác về timing của forecast revisions cũng cho thấy thời điểm revision rất quan trọng: revisions xuất hiện ngay sau earnings announcement có thể mang ý nghĩa khác revisions phát sinh xa hơn khỏi sự kiện.
Điểm này quan trọng với Quant vì một biến đơn giản như “EPS forecast tăng 5%” chưa đủ. Cần biết dự báo nào được thay đổi, dự báo cũ được ghi nhận lúc nào, analyst nào thay đổi, thay đổi trước hay sau earnings announcement và tại thời điểm giao dịch nhà đầu tư đã nhìn thấy revision đó chưa. Không có timeline đúng, một factor Analyst Revision rất dễ trở thành một backtest sử dụng thông tin tương lai.
Một ví dụ dễ mắc lỗi là lấy consensus EPS hiện tại từ một data vendor rồi so ngược với actual lịch sử. Consensus hiện tại đã chứa hàng loạt revisions diễn ra sau những sự kiện mà mình đang backtest. Dataset nhìn rất hợp lý nhưng không còn phản ánh những gì thị trường biết tại thời điểm đó. Muốn nghiên cứu đúng, consensus phải được lưu dưới dạng snapshot point-in-time: tại ngày 10/4 thị trường dự báo gì, ngày 20/4 thay đổi ra sao, sau báo cáo ngày 25/4 thì consensus ngày 26/4 và 30/4 chuyển thế nào.
Vì vậy, Analyst Revision hấp dẫn không phải vì analyst luôn đúng. Thực tế analyst cũng có bias, phản ứng chậm hoặc đi theo nhau. Giá trị nghiên cứu nằm ở việc revisions cho phép quan sát trực tiếp sự thay đổi của kỳ vọng. Trong asset pricing, thay đổi kỳ vọng nhiều khi quan trọng hơn level tuyệt đối của kỳ vọng. Một doanh nghiệp được dự báo tăng trưởng 30% nhưng forecast vừa giảm từ 45% xuống 30% đang có một câu chuyện rất khác doanh nghiệp cũng được dự báo tăng 30% nhưng vừa được nâng từ 15% lên 30%.
PHẦN 2. MUỐN BIẾT REVISION CÓ GIÁ TRỊ HAY KHÔNG, PHẢI TÁCH NÓ KHỎI EARNINGS SURPRISE VÀ PHẢN ỨNG GIÁ
Một thiết kế research thực tế có thể bắt đầu từ ba snapshot. Trước earnings announcement, lưu consensus EPS và revenue tại T-1. Tại T, ghi nhận actual và tính mức surprise so với consensus đó. Sau khi doanh nghiệp công bố, tiếp tục theo dõi consensus tại T+5 và T+20 để xem analyst đã điều chỉnh dự báo kỳ tiếp theo hoặc năm tài chính tiếp theo bao nhiêu. Khi đó, thay vì chỉ có một biến “earnings tốt/xấu”, mình có cả đường đi của expectation trước và sau sự kiện.
Một test khá trực quan là chia các sự kiện thành bốn trường hợp. Có những doanh nghiệp vừa positive surprise vừa được nâng forecast sau công bố. Đây là trường hợp thông tin hiện tại và kỳ vọng tương lai cùng tốt. Nhóm thứ hai positive surprise nhưng forecast tương lai bị hạ. Đây có thể là trường hợp kết quả vừa qua tốt nhưng management guidance hoặc chi tiết báo cáo làm outlook xấu đi. Nhóm thứ ba miss earnings nhưng forecast tương lai lại được nâng, và nhóm cuối cùng vừa miss vừa bị downgrade. Thay vì mặc định một trong hai signal mạnh hơn, có thể đo return sau đó của bốn nhóm để xem thị trường phản ứng với những thông tin mâu thuẫn này như thế nào.
Đây mới là bài test trực tiếp cho câu hỏi “revision có quan trọng hơn EPS đã công bố không?”. Nếu hai doanh nghiệp đều beat consensus khoảng 10%, nhưng nhóm sau đó được nâng forecast outperform đáng kể nhóm bị hạ forecast trong 5–20 phiên tiếp theo, revision đang cung cấp thêm thông tin ngoài earnings surprise. Ngược lại, nếu sau khi kiểm soát surprise và announcement return, revision không còn liên quan đến future return thì factor này chưa chứng minh được incremental value.
Một nghiên cứu năm 2022 của Kanyuan Huang tập trung trực tiếp vào vấn đề này và báo cáo rằng các aggregated forecast revisions sau earnings announcements tạo ra sự phân tách post-announcement returns mạnh hơn các thước đo earnings surprise trong mẫu của nghiên cứu. Đáng chú ý, tác giả nhận thấy trường hợp revisions và earnings surprise đi ngược chiều đặc biệt có nhiều thông tin, phù hợp với khả năng nhà đầu tư gặp khó khi xử lý hai tín hiệu trái chiều. Đây là evidence đáng quan tâm cho hypothesis, nhưng vẫn là kết quả của một mẫu nghiên cứu cụ thể chứ không phải bằng chứng rằng cùng một strategy sẽ hoạt động trên VN100.
Bài Macro News and Micro News: Complements or Substitutes? của Hirshleifer và Sheng mà topic ban đầu nhắc tới cũng hữu ích, nhưng nó phù hợp hơn với phần cơ chế xử lý thông tin chứ không phải nguồn chính để chứng minh Analyst Revision factor. Tác giả nghiên cứu earnings announcements trong những ngày có và không có macro news và tìm thấy market reaction với earnings news mạnh hơn, còn post-earnings-announcement drift yếu hơn vào macro-news days. Họ cũng ghi nhận analyst revisions xuất hiện thường xuyên hơn và forecast chính xác hơn khi earnings announcements trùng với macro-news days. Ý nghĩa ở đây là tốc độ market và analyst hấp thụ thông tin phụ thuộc vào information environment, nên revision không nên được xem là một signal tách khỏi bối cảnh của sự kiện.
Một vấn đề khác là revision breadth. Consensus EPS tăng 5% có thể xuất phát từ một analyst thay đổi mạnh trong khi sáu analyst còn lại giữ nguyên, hoặc sáu trên bảy analyst cùng nâng dự báo một cách vừa phải. Hai trường hợp có cùng thay đổi median nhưng mức độ đồng thuận hoàn toàn khác nhau. Vì vậy ngoài revision magnitude, có thể đo tỷ lệ analyst nâng forecast trừ tỷ lệ analyst hạ forecast. Khi magnitude và breadth cùng hướng, evidence về sự thay đổi expectation có thể rõ hơn.
Dispersion cũng đáng quan tâm. Nếu consensus tăng nhưng độ phân tán dự báo giữa các analyst tăng rất mạnh, thị trường đang có nhiều bất đồng hơn chứ chưa chắc có một expectation mới rõ ràng. Ngược lại, consensus được nâng đồng thời dispersion giảm có thể phản ánh việc nhiều analyst đang hội tụ về cùng một outlook. Trong nghiên cứu thực tế, magnitude, breadth và dispersion có thể được kiểm tra riêng trước khi quyết định có combine chúng thành một signal hay không.
Tuy nhiên, revision xảy ra sau earnings announcement nên phải đặc biệt cẩn thận khi tính return. Nếu báo cáo được công bố ngày T nhưng broker phát hành revision vào chiều T+2, model không thể mua tại giá đóng cửa ngày T rồi tự nhận toàn bộ return từ T+1 đến T+2. Return của factor chỉ nên bắt đầu sau thời điểm revision thực sự có thể quan sát được. Báo cáo phát hành sau giờ đóng cửa thì thời điểm giao dịch thực tế sớm nhất thường phải chuyển sang phiên tiếp theo. Đây là chi tiết nhỏ nhưng có thể thay đổi rất nhiều backtest event-driven.
Cũng cần kiểm soát announcement return. Một broker có thể nâng EPS forecast đơn giản vì giá cổ phiếu vừa tăng mạnh sau earnings announcement và analyst cập nhật mô hình theo thông tin mà thị trường đã phản ánh. Nếu sau đó strategy Revision vẫn nắm giữ một phần momentum từ cú tăng ban đầu, rất dễ gọi nhầm price momentum là analyst alpha. Nghiên cứu về analyst revisions từng chỉ ra chính vấn đề identification này: nhiều revisions xuất hiện ngay sau corporate events, vì vậy return đo ở cửa sổ quá rộng có thể trộn lẫn phản ứng với thông tin doanh nghiệp và phản ứng với analyst.
Do đó, một factor Revision đáng tin phải chứng minh được nó còn giá trị sau khi kiểm soát earnings surprise, announcement return, Momentum, Size, sector và một số đặc điểm thanh khoản. Mục tiêu không phải loại bỏ mọi thứ khỏi signal, mà là biết mình thực sự đang khai thác thay đổi kỳ vọng hay chỉ đang đo lại một thông tin mà giá đã phản ánh.
PHẦN 3. NẾU LÀM ANALYST REVISION CHO VN100, KHÓ NHẤT KHÔNG PHẢI MODEL MÀ LÀ XÂY ĐƯỢC CONSENSUS ĐÚNG THỜI ĐIỂM
Nếu triển khai trên VN100, mình sẽ bắt đầu từ các cổ phiếu có analyst coverage đủ tốt thay vì ép toàn bộ 100 mã phải có signal. Đây là điểm khác biệt lớn so với price factor. Momentum có thể tính cho gần như tất cả cổ phiếu có đủ lịch sử giá, nhưng consensus EPS chỉ có ý nghĩa khi thực sự có một nhóm analyst độc lập đang theo dõi doanh nghiệp. Với những mã chỉ có một báo cáo trong vài tháng, thay đổi “consensus” đôi khi chỉ là việc một broker cập nhật model chứ không phản ánh expectation của thị trường.
Dữ liệu đầu vào cần giữ từng forecast theo analyst, ngày phát hành, kỳ dự báo và phiên bản. Ví dụ EPS 2027 phải được phân biệt với EPS trailing hoặc EPS của quý tiếp theo. Khi công ty thay đổi số cổ phiếu lưu hành, có chia tách hoặc phát hành thêm, EPS cũng cần được chuẩn hóa. Revenue, EBITDA và net profit có thể được lưu song song để kiểm tra analyst đang thay đổi kỳ vọng ở đâu. Một công ty có revenue forecast gần như không đổi nhưng EPS forecast bị cắt mạnh thường mang một thông điệp về margin khác với trường hợp cả revenue lẫn EPS cùng bị hạ.
Sau đó mới xây consensus. Median thường thực tế hơn mean nếu số analyst không lớn vì một forecast cực đoan có thể kéo trung bình đi mạnh. Nhưng ngay cả median cũng cần điều kiện về freshness. Một dự báo được phát hành sáu tháng trước không nên có trọng số ngang với báo cáo cập nhật tuần trước. Một research design có thể yêu cầu forecast phải được cập nhật trong một cửa sổ nhất định và có số analyst tối thiểu trước khi coi consensus đủ tin cậy. Ngưỡng cụ thể nên được lựa chọn trước khi backtest thay vì thử nhiều giá trị rồi chọn mức tạo Sharpe đẹp nhất.
Signal đơn giản nhất có thể là phần trăm thay đổi của consensus EPS cho năm tới trong 20 phiên gần nhất. Nhưng bản có giá trị hơn có thể kết hợp cả breadth: bao nhiêu analyst đang nâng và bao nhiêu đang hạ. Sau đó kiểm tra signal theo decile hoặc quintile, xem nhóm revision tốt nhất có outperform nhóm kém nhất không, quan hệ có monotonic không và hiệu quả kéo dài 5, 20 hay 60 phiên. Nếu chỉ có vài observation cực mạnh tạo toàn bộ spread, factor sẽ khó tin hơn một pattern phân bố tương đối đều.
Một test đặc biệt hữu ích là giữ earnings surprise gần giống nhau rồi so revision. Ví dụ chỉ lấy các công ty có positive surprise từ 5–15%, sau đó chia tiếp thành nhóm forecast được nâng và forecast bị hạ. Nếu return sau đó khác biệt rõ, revision đang giúp phân biệt hai doanh nghiệp có headline earnings gần giống nhau. Sau đó có thể đảo lại: giữ revision tương tự và kiểm tra earnings surprise còn tạo thêm thông tin không. Cách này thực tế hơn việc tranh luận chung chung rằng “EPS hay analyst revision quan trọng hơn”.
Transaction cost của factor này cũng khác một price signal chạy hàng ngày. Analyst revisions thường xuất hiện không đồng đều quanh earnings season, nên strategy có thể mang tính event-driven hơn. Một cổ phiếu có thể nhận ba báo cáo mới trong ba ngày, còn mã khác không có update trong một tháng. Nếu cứ rebalance toàn portfolio mỗi lần một broker phát hành report, turnover rất dễ tăng. Có thể gom revisions theo daily hoặc weekly snapshot, hoặc chỉ thay đổi position khi aggregate signal vượt một ngưỡng đủ lớn. Nhưng mỗi lựa chọn đều cần được kiểm tra ngoài mẫu, không nên tối ưu chỉ để backtest đẹp.
Một vấn đề rất thực tế ở Việt Nam là dữ liệu analyst thường nằm rải rác trong các báo cáo PDF, website công ty chứng khoán hoặc database thương mại. Nếu tự xây data pipeline, việc chuẩn hóa tên doanh nghiệp, kỳ tài chính, đơn vị tiền tệ, EPS trước/sau pha loãng và timestamp phát hành quan trọng hơn rất nhiều so với việc chọn Random Forest hay XGBoost. Nếu lịch sử consensus không được lưu point-in-time, gần như không thể backtest Analyst Revision một cách nghiêm túc.
Khi đã có dữ liệu đủ sạch, model ban đầu thậm chí không cần Machine Learning. Có thể bắt đầu bằng một ranking đơn giản dựa trên revision magnitude và breadth, sau đó kiểm tra incremental return. Chỉ khi baseline này có evidence mới đáng thử nonlinear model kết hợp surprise, revision, dispersion, Momentum, valuation và price reaction. Nếu Gradient Boosting chỉ tạo kết quả tốt hơn bằng cách học rằng “positive revision + positive Momentum” là tốt, ít nhất mình biết improvement đang đến từ interaction nào thay vì xem model như một hộp đen.
Cuối cùng, Analyst Revision không nên được hiểu là “broker nâng EPS thì mua”. Điều thú vị hơn nằm ở khoảng cách giữa thông tin vừa được công bố, expectation cũ và expectation mới. Một doanh nghiệp vừa báo lãi tăng mạnh nhưng consensus năm tới bị cắt liên tục đang truyền tải một câu chuyện rất khác doanh nghiệp chỉ có kết quả hiện tại bình thường nhưng forecast tương lai được nhiều analyst cùng nâng.
Vì vậy, nếu biến topic này thành một Quant hypothesis, mình sẽ không cố chứng minh Analyst Revision luôn mạnh hơn Earnings Surprise. Mình sẽ kiểm tra một câu cụ thể hơn: sau khi biết earnings surprise và phản ứng giá ngày công bố, việc consensus tiếp tục được nâng hay hạ có còn giúp dự báo cross-sectional return trong những tuần tiếp theo hay không?
Nếu câu trả lời vẫn là có sau point-in-time data, liquidity filter, transaction cost và out-of-sample test, Analyst Revision mới thực sự trở thành một factor đáng nghiên cứu.
Nếu không, ít nhất ta cũng biết phần “thay đổi kỳ vọng” đã được thị trường hấp thụ nhanh hơn mình tưởng.
