Exogenous shock là kẻ thù của model học từ lịch sử?
Exogenous shock
Trong quantitative investing, chúng ta gần như luôn phải học từ quá khứ. Momentum được phát hiện từ historical returns, volatility được ước lượng từ những biến động đã xảy ra, covariance matrix được xây từ các quan sát cũ, machine-learning model được fit trên feature và label trong lịch sử, còn backtest về bản chất cũng là một câu hỏi: nếu quy tắc hiện tại tồn tại trong những trạng thái thị trường trước đây thì nó đã hoạt động như thế nào? Toàn bộ quá trình này ngầm chứa một giả định quan trọng: tương lai không cần giống hệt quá khứ, nhưng những quan hệ thống kê đủ quan trọng phải còn tồn tại ở mức nào đó. Exogenous shock làm giả định này trở nên mong manh. Một cuộc chiến bất ngờ, thay đổi chính sách thương mại, shutdown của một tuyến vận chuyển, capital control, commodity embargo, sự cố thanh khoản hoặc một quyết định chính sách không nằm trong distribution quen thuộc có thể đồng thời thay đổi return, volatility, correlation, liquidity và hành vi của nhà đầu tư. Model không chỉ gặp một observation “lớn hơn bình thường”; nó có thể bước vào một thế giới mà mapping giữa feature và outcome đã thay đổi. Chính lúc đó, câu hỏi quan trọng không còn là model dự báo đúng bao nhiêu phần trăm trong validation set, mà là nó sẽ làm gì khi observation hôm nay không còn giống những observation mà nó đã được học để xử lý.

PHẦN 1. Một cú sốc ngoài mẫu phá vỡ lịch sử của model như thế nào?
Điều đầu tiên cần phân biệt là outlier và regime shift không hoàn toàn giống nhau. Một outlier có thể chỉ là một ngày return -6% trong một distribution vốn thường dao động quanh ±1%; sau đó thị trường có thể nhanh chóng trở lại cấu trúc cũ. Regime shift sâu hơn: không chỉ giá trị của biến thay đổi mà mối quan hệ giữa các biến cũng thay đổi. Ví dụ trước shock, lợi suất trái phiếu tăng có thể đi cùng với equity mạnh vì tăng trưởng tốt; sau một commodity supply shock, yields tăng lại phản ánh inflation risk và đi cùng equity yếu. Feature “bond yield up” không thay đổi cách tính, nhưng ý nghĩa kinh tế của nó đã đổi. Trong machine learning có thể nhìn vấn đề này dưới góc distribution shift: P(X), tức phân phối của inputs, thay đổi; nghiêm trọng hơn, P(Y|X), tức quan hệ giữa inputs và outcome mà model thực sự cố học, cũng có thể thay đổi. Nếu chỉ có covariate shift, model đôi khi vẫn có thể hoạt động nếu mapping từ X sang Y còn ổn định. Nếu chính mapping đó thay đổi, historical accuracy trở thành một chỉ dẫn yếu hơn nhiều. Đây là lý do một model từng rất ổn trong low-volatility regime có thể thất bại không phải vì code sai, mà vì câu hỏi kinh tế mà các features đang trả lời đã thay đổi.
Trend following là một ví dụ rất trực quan. Giả sử một medium-term model đang long equity vì thị trường đã tăng đều suốt ba tháng, short một commodity vì giá giảm kéo dài và long một currency theo carry/trend combination. Đây là những positions hoàn toàn hợp lý theo information set trước shock. Một sự kiện địa chính trị bất ngờ xuất hiện qua đêm khiến equity gap down, commodity đảo chiều tăng mạnh và FX correlations đồng loạt thay đổi. Model không “sai” theo nghĩa đã bỏ qua một feature rõ ràng trong dữ liệu hôm trước; sự kiện mới đơn giản chưa tồn tại trong state mà nó quan sát được. Nếu trend horizon là 120 ngày, một cú giảm trong một hoặc hai phiên chưa đủ để đảo tín hiệu. Hệ thống vẫn long trong phần đầu của cú shock. Nếu shock tiếp tục, signal cuối cùng giảm exposure hoặc chuyển short. Nhưng nếu ngay sau đó xuất hiện một ceasefire, policy reversal hoặc government intervention khiến giá bật lại mạnh, strategy có thể bị đánh hai lần: mất tiền khi giữ trend cũ trong leg đầu, sau đó mất thêm khi vừa reposition theo xu hướng mới thì market đảo ngược. Đây là textbook whipsaw và nó không thể được loại bỏ hoàn toàn bằng việc “chọn parameter tốt hơn”, bởi parameter nhanh hơn sẽ giảm lag nhưng tăng false signals trong thị trường bình thường; parameter chậm hơn lọc noise tốt nhưng chịu lớn hơn khi regime đổi rất nhanh.
Man Group mô tả đúng loại rủi ro này trong Q2 2026: An Era of Uncertainty. Trong outlook của họ, môi trường đầu năm 2026 được mô tả là chịu ảnh hưởng mạnh từ geopolitical uncertainty, policy shifts và AI-related repricing; riêng với Quantitative Macro, họ lưu ý Trend đã phục hồi đáng kể trong sáu tháng trước đó nhưng vẫn dễ tổn thương trước các exogenous market shocks, và những sự kiện địa chính trị độc đáo có thể khó giao dịch hơn đối với các model được huấn luyện để nhận diện patterns trong dữ liệu trước đây. Họ đồng thời ghi nhận rằng việc repositioning trong tháng 3 diễn ra tương đối nhanh, cho thấy adaptive response vẫn có giá trị sau khi shock đã xuất hiện. Đây là market commentary và đánh giá chiến lược của Man Group, không phải bằng chứng thực nghiệm rằng một regime filter cụ thể có thể dự báo geopolitical shock tiếp theo.
Điểm rất dễ hiểu sai ở đây là tưởng rằng một model “tốt” phải dự đoán được shock. Trong thực tế, nhiều exogenous shocks gần như không có feature precursor đủ rõ để tạo một forecast đáng tin. Nếu một military escalation diễn ra sau quyết định chính trị bí mật, không có moving average hay neural network nào được quyền biết trước thông tin chưa tồn tại trong dữ liệu. Điều model có thể làm tốt hơn là nhận ra hậu quả của shock nhanh và điều chỉnh exposure có kiểm soát. Đây là khác biệt giữa prediction và adaptation. Nếu volatility tăng từ 12% lên 35%, correlation giữa các risky assets nhảy mạnh, spreads mở rộng và cross-sectional liquidity xấu đi, đó là information đã xuất hiện sau shock nhưng vẫn rất hữu ích cho risk management. Hệ thống không cần biết trước nguyên nhân để nhận ra rằng risk distribution hiện tại đã khác tuần trước. Do đó khi đánh giá robustness, câu hỏi nên là “model mất bao lâu để biết mình đang ở một state mới?” thay vì “model có dự đoán đúng geopolitical event hay không?”.
Machine-learning models phức tạp còn có một rủi ro riêng: chúng có thể interpolate rất giỏi nhưng extrapolate rất tệ. Nếu training data chủ yếu chứa volatility từ 10% đến 30%, model có thể học rất tinh vi cách rank outcomes trong vùng đó. Nhưng khi volatility lên 60%, spreads tăng gấp bốn và correlations tiến sát một, input vector nằm xa training manifold. Một tree model vẫn phải đưa observation vào một leaf nào đó; neural network vẫn phải trả ra một prediction; regression vẫn cho một con số. Model không tự nhiên nói “tôi chưa từng thấy trạng thái này, xin đừng tin forecast của tôi”. Đây là một vấn đề governance rất thực tế: hệ thống production nên có out-of-distribution diagnostics tách biệt với prediction engine. Có thể theo dõi Mahalanobis distance, feature percentile extremes, proportion of variables nằm ngoài training range, reconstruction error của representation model hoặc một score đơn giản đếm số inputs vượt historical 99th percentile. Nếu OOD score tăng mạnh, action hợp lý không nhất thiết là reverse position; có thể chỉ là giảm confidence và giảm risk budget.
Ngay cả volatility targeting, một trong những lớp risk control phổ biến nhất của systematic investing, cũng không phải thuốc chữa mọi shock. Volatility estimate là backward-looking nên nó luôn có lag. Sau một giai đoạn cực kỳ yên tĩnh, position sizes thường lớn hơn vì estimated risk thấp. Shock xuất hiện đúng lúc đó có thể tạo một loss lớn trước khi realized volatility kịp tăng và model giảm leverage. Sau shock, volatility estimator tăng mạnh khiến system cắt position; nếu market phục hồi nhanh, nó có thể bị underinvested trong rebound. Đây là một dạng procyclical risk adjustment. Điều đó không làm volatility targeting vô dụng — nó vẫn là một cơ chế risk control rất quan trọng — nhưng nhắc chúng ta rằng risk model cũng học từ history và cũng có reaction lag. Một implementation thực tế vì vậy có thể dùng nhiều horizons của volatility, floors để tránh leverage tăng quá cao trong low-volatility regime, caps cho gross exposure và shock multipliers khi gap hoặc intraday range vượt ngưỡng, thay vì giao toàn bộ quyền kiểm soát position cho một EWMA volatility duy nhất.
Horizon diversification là một cách giảm phụ thuộc vào một tốc độ duy nhất nhưng cũng không miễn phí. Một ensemble có thể kết hợp fast, medium và slow trend, chẳng hạn các windows minh họa từ vài tuần đến nhiều tháng. Fast component phản ứng nhanh hơn khi shock thực sự tạo một persistent new trend; slow component tránh việc toàn bộ portfolio đảo position vì một headline tạm thời. Nếu ba horizons cùng cho cùng hướng, conviction có thể cao hơn; nếu fast signal đã đảo còn slow signal chưa thay đổi, system nhận ra mình đang ở một transition state thay vì ép portfolio thành binary long/short. Nhưng thêm horizons không tự động làm Sharpe cao hơn. Các signals có thể tương quan mạnh, turnover tăng và ensemble dễ trở thành một cách khác để overfit. Cần kiểm tra contribution của từng horizon, pairwise correlation, incremental Sharpe sau costs và đặc biệt là behavior trong shock/reversal periods. Mục tiêu của multi-horizon design không phải tìm combination dự báo mọi loại shock, mà giảm xác suất toàn bộ portfolio phụ thuộc vào một single response speed.
Điều quan trọng nhất của phần này vì vậy là thừa nhận một giới hạn: historical model không thể học trực tiếp những thông tin chưa từng xuất hiện, nhưng nó có thể được thiết kế để nhận ra rằng những giả định từng đúng đang trở nên kém đáng tin. Một model tốt không chỉ có prediction function \(f(X)\); nó nên có cả một confidence framework. Nếu observation nằm trong vùng quen thuộc, risk budget có thể bình thường. Nếu inputs bắt đầu xa training distribution, confidence giảm. Nếu market liquidity đồng thời xấu đi, leverage giảm thêm. Nếu data quality bị lỗi, system có thể freeze hoặc chuyển sang fallback rules. Đó là cách biến “model không biết” từ một failure bí mật thành một trạng thái có thể quản trị.
PHẦN 2. Exogenous shock, regime shift và giới hạn thật sự của mô hình học máy
Khi nói “model học từ lịch sử”, điều dễ khiến người đọc hiểu sai là tưởng machine learning chỉ đơn giản ghi nhớ quá khứ. Một model tốt không cần ngày mai lặp lại ngày hôm qua; nó cố học những relationships tổng quát hơn. Nhưng ngay cả relationship tốt cũng chỉ tồn tại dưới một tập assumptions nhất định. Một momentum model chẳng hạn không cần biết cú trend năm 2028 giống trend năm 2022, nhưng nó vẫn dựa vào giả thuyết rằng price moves đôi khi có persistence. Một value model dựa vào giả thuyết relative mispricing sẽ mean-revert đủ chậm để trade được. Một market-making model dựa vào giả thuyết spread, arrival rate và adverse-selection risk nằm trong một vùng có thể định lượng. Exogenous shock trở thành vấn đề khi nó phá những assumptions này cùng lúc. Price persistence có thể biến thành violent reversal; covariance có thể tăng đột ngột; liquidity providers có thể rút quotes; transaction cost function mà backtest dùng không còn đúng. Khi đó không chỉ forecast sai mà toàn bộ mapping từ signal sang realized P&L có thể thay đổi.
Đây là lý do robustness phải được thiết kế ở nhiều tầng thay vì chỉ thêm một “regime filter”. Tầng đầu là signal robustness: model có dựa quá nhiều vào một feature hoặc một horizon không? Tầng thứ hai là portfolio robustness: nếu một signal sai, position size có đủ nhỏ để không làm hỏng portfolio không? Tầng thứ ba là liquidity robustness: nếu spreads tăng và depth giảm, hệ thống còn có thể giảm risk theo kế hoạch không? Tầng thứ tư là operational robustness: nếu một data feed hỏng trong lúc market biến động, strategy có fallback behavior không? Tầng cuối là governance robustness: ai được quyền override model, override trong điều kiện nào, và sau override phải ghi nhận điều gì để tránh discretionary decisions không thể audit? Một systematic strategy có thể dùng model rất đơn giản nhưng governance rất mạnh và sống sót tốt hơn một deep-learning model predictive hơn vài basis points nhưng thiếu những lớp bảo vệ này.
Stress testing vì vậy nên tập trung vào mechanism, không chỉ replay historical dates. Replay 2020, 2022 hoặc một geopolitical episode cụ thể hữu ích nhưng luôn bị giới hạn bởi việc tương lai sẽ không giống hoàn toàn một event cũ. Một cách tốt hơn là xây hypothetical shocks. Chẳng hạn equity gap -8% qua đêm, commodity +15%, domestic currency yếu 4%, realized volatility tăng gấp ba, correlations tăng từ 0,3 lên 0,8, bid-ask spreads gấp bốn và ADV giảm 40%. Sau đó không chỉ tính mark-to-market loss mà phải chạy lại portfolio mechanics: volatility targeting sẽ cắt exposure bao nhiêu, margin tăng thế nào, cash buffer còn đủ không, bao nhiêu positions vượt participation-rate limit, mất bao lâu mới thoát được 50% book và strategy có tạo thêm turnover đúng lúc transaction costs cao nhất hay không. Stress test như vậy không “dự báo” shock; nó trả lời một câu thực dụng hơn nhiều: nếu shock tương tự xảy ra, chúng ta có sống được qua nó hay không?
Stops cũng cần được hiểu theo cách thực tế. Một stop-loss đặt tại -7% không có nghĩa maximum loss là 7%. Nếu cổ phiếu đóng cửa hôm trước ở 100 và shock khiến giá mở cửa ở 88, stop không thể khớp ở 93 chỉ vì backtest nói vậy. Trong thị trường có price limits hoặc thanh khoản có thể đóng băng, vấn đề còn nghiêm trọng hơn: giá có thể xuống mạnh nhưng phía mua gần như biến mất, khiến theoretical exit tồn tại trên chart nhưng không tồn tại trên order book. Đây là lý do stop nên được coi là decision rule, không phải guarantee về execution price. Backtest cần mô hình hóa gap risk và liquidity-adjusted exit. Với một portfolio Việt Nam, đặc biệt ở mid/small caps, nên có scenarios trong đó position không thể thoát toàn bộ trong một phiên, buộc phải liquidate theo participation cap qua nhiều ngày. Nếu risk report chỉ nhân position với stop price rồi kết luận loss tối đa, nó đang đánh giá thấp chính loại risk mà exogenous shocks làm lộ ra.
Man Group trong outlook Q2/2026 cũng đặt vấn đề này ở bối cảnh rộng hơn: họ mô tả geopolitical và AI-related themes là nguồn có thể tạo market shocks và rotations trong leadership, đồng thời nhận xét Quantitative Macro đang ở trạng thái biến động khi những unique events từ geopolitics có thể khó giao dịch hơn cho các mô hình học patterns từ dữ liệu trước đó. Tuy nhiên cùng bài viết cũng cho rằng Trend đã reposition tương đối nhanh sau những biến động tháng 3 và họ vẫn giữ quan điểm tích cực với Global Macro nói chung. Cách đọc hợp lý là: systematic strategies có vulnerability trước abrupt regime shifts nhưng vẫn có khả năng adaptation sau khi information đi vào market; không nên biến câu này thành tuyên bố rằng trend luôn phòng thủ tốt trước mọi geopolitical event.
Điểm này dẫn đến một nguyên tắc quan trọng: exogenous shock và trend following có quan hệ phụ thuộc vào shape của price path, không chỉ magnitude của event. Một shock lớn nhưng tạo ra một directional trend kéo dài vài tháng có thể cuối cùng trở thành môi trường tốt cho trend follower sau giai đoạn điều chỉnh ban đầu. Ngược lại, một shock vừa phải nhưng tạo series “giảm mạnh → hồi mạnh → giảm lại → hồi lại” có thể cực kỳ khó dù total return cuối kỳ gần bằng zero. Vì vậy khi stress trend strategy, không nên chỉ shock terminal price. Cần tạo nhiều paths có cùng điểm cuối nhưng khác journey. Path A giảm 20% đều trong 40 phiên. Path B giảm 20% trong ba phiên rồi đi ngang. Path C giảm 15%, hồi 12%, lại giảm 15%, sau đó hồi mạnh. Cùng một terminal outcome có thể tạo P&L hoàn toàn khác bởi signal lag và position flips. Đây là nơi path-dependent stress testing có giá trị hơn một VaR tĩnh.
Một risk model cũng nên stress correlation breakdown. Diversification thường nhìn tốt nhất trong dữ liệu bình thường và tệ nhất đúng khi cần nhất. Một portfolio có 30 positions với average historical correlation 0,25 có thể được sized như thể risk được phân tán tốt. Nhưng trong liquidity shock, investors cùng bán những assets khác nhau để tạo cash; correlations tăng và effective number of bets giảm rất nhanh. Một portfolio nghĩ mình có 20 independent positions có thể thực chất chỉ còn 4–5 risk factors. Vì vậy có thể stress covariance matrix bằng cách tăng off-diagonal correlations, hoặc trực tiếp tính portfolio loss trong “correlation-to-one” scenarios. Đối với trend, cần đặc biệt kiểm tra signal crowding: nếu nhiều markets đều long vì cùng một risk-on trend trước shock, chúng không thật sự là independent bets chỉ vì tickers khác nhau.
Một lớp protection rất thực tế khác là liquidity reserve. Trong môi trường bình thường, giữ cash dư thừa trông kém hiệu quả. Trong shock, cash có option value: nó giúp đáp ứng margin, giảm forced selling và cho phép strategy rebalance vào những cơ hội mới thay vì chỉ bán để sống sót. Với futures portfolio, cần stress variation margin và initial-margin changes; với equity portfolio, cần stress settlement cash, blocked exits và concentration. Một system chạy sát maximum leverage trong môi trường low vol có thể có backtest đẹp nhưng rất dễ buộc deleverage đúng đáy. Chính vì thế capital efficiency không nên được tối đa hóa đến mức loại bỏ mọi buffer.
Machine-learning model có thể bổ sung một lớp uncertainty estimation. Thay vì output expected_return = 1.2%, có thể output distribution hoặc confidence interval. Ensemble disagreement cũng có thể hữu ích: nếu năm models historically khá đồng thuận nhưng trong shock predictions phân kỳ mạnh, dispersion giữa model outputs có thể được dùng như một proxy cho epistemic uncertainty. Một action đơn giản là position size tỷ lệ với expected return nhưng nghịch với predictive uncertainty. Tuy nhiên cần rất cẩn thận: uncertainty model cũng được fit từ history, nên không có gì đảm bảo nó được calibration tốt trong truly novel states. Nó là một thêm lớp cảnh báo, không phải giấy bảo hiểm.
Quan trọng nhất, không nên “học lại” model ngay sau shock chỉ vì vài tuần dữ liệu mới có vẻ khác. Nếu mỗi regime bất lợi đều kích hoạt retraining và hyperparameter search, research process sẽ vô tình chase the latest path. Một số changes là structural, nhưng một số chỉ là temporary extreme observations. Nên có champion/challenger framework: production model tiếp tục chạy, một adaptive model được chạy song song trong shadow mode, sau đó so sánh out-of-sample trên đủ số observations. Nếu model mới thực sự cải thiện trong nhiều markets hoặc nhiều episodes, evidence mạnh hơn. Nếu nó chỉ fit đẹp đúng shock vừa xảy ra, đó rất có thể là retrospective optimization.
PHẦN 3. Thay vì kỳ vọng model biết mọi thứ, hãy stress hệ thống trước khi shock xuất hiện
Nếu triển khai tư duy này tại Việt Nam, phần đầu tiên tôi sẽ xây không phải “geopolitical prediction model” mà là Shock Response Framework. Framework có thể chia trạng thái thành Normal, Alert, Stress và Dislocation. Normal là khi volatility, spread, breadth và liquidity nằm trong vùng lịch sử bình thường. Alert xuất hiện khi một hoặc hai indicators dịch chuyển mạnh nhưng execution vẫn hoạt động bình thường. Stress xảy ra khi nhiều risk indicators cùng deteriorate, chẳng hạn volatility tăng mạnh, breadth giảm, correlations cao hơn và market depth xấu. Dislocation dành cho các tình huống data hoặc execution assumptions bắt đầu mất hiệu lực: limit-down queues lớn, nhiều mã không có khả năng thoát, spreads hoặc depth vượt historical bands, margin rules thay đổi đột ngột hoặc data feed không còn đáng tin. Mỗi trạng thái phải có action table định nghĩa trước: target risk giảm bao nhiêu, max position thay đổi thế nào, có được mở position mới hay không, liquidity threshold tăng ra sao và khi nào human risk committee được quyền intervene. Các threshold cụ thể cần backtest và governance riêng; điều quan trọng ở đây là action phải tồn tại trước khi shock xảy ra.
Tôi cũng sẽ tách hoàn toàn signal layer và risk layer. Signal có thể vẫn nói “long” bởi medium-term trend chưa gãy; risk layer có thể nói “exposure chỉ được 50% bình thường vì volatility và liquidity regime đã thay đổi”. Đây không phải mâu thuẫn. Signal trả lời direction; risk layer trả lời confidence và size. Nếu trộn chúng lại, mỗi lần portfolio giảm risk sẽ bị hiểu nhầm là model đổi forecast. Trong một exogenous shock, cách làm này đặc biệt hữu ích vì signal thường phản ứng chậm hơn risk metrics. Volatility, spread và order-book depth có thể thay đổi trong vài phút hoặc vài phiên; medium-term trend có thể mất nhiều tuần mới đảo. Portfolio không cần chờ signal chuyển từ +1 sang -1 mới được phép giảm exposure.
Một implementation minh họa có thể dùng ba horizons trend - fast, medium, slow - rồi aggregate thành một directional score. Sau đó áp dụng independent risk multiplier dựa trên volatility, market breadth và liquidity. Ví dụ trend score vẫn +0,7 nhưng risk multiplier từ 1,0 xuống 0,6 khi stress regime xuất hiện, nên effective exposure giảm mà strategy chưa cần đảo short. Nếu shock kéo dài và fast rồi medium trend chuyển âm, directional exposure tiếp tục thay đổi. Nếu market hồi ngay, slow trend giúp tránh việc portfolio flip quá mạnh. Đây chỉ là kiến trúc nghiên cứu, không phải công thức tối ưu, nhưng nó thể hiện một nguyên tắc quan trọng: reaction speed của risk control có thể nhanh hơn reaction speed của alpha signal.
Stress test nên có cả gap + illiquidity, không chỉ return shock. Với mỗi position, ta có thể lưu ADV, spread, free float hoặc proxy thanh khoản, historical worst-volume days và estimated market-impact curve. Trong scenario bình thường, assume participation 10% ADV. Trong stress, giảm usable ADV và tăng spread/impact multiplier. Sau đó tính liquidation horizon: cần bao nhiêu phiên để cắt 25%, 50% và 100% position mà không vượt participation limit. Một portfolio có VaR thấp nhưng cần sáu ngày để liquidate trong stress có risk khác hoàn toàn portfolio có VaR tương tự nhưng có thể thoát trong vài giờ. Đối với thị trường có biên độ giá và khả năng xuất hiện lệnh xếp hàng một chiều, cần thêm scenario “no meaningful exit for N sessions”. Con số N không phải forecast; nó là stress assumption để kiểm tra portfolio survival.
Một stress book thực tế nên có cả historical scenarios và synthetic scenarios. Historical scenarios giúp kiểm tra strategy trước những gì đã từng xảy ra: sudden selloff, V-shaped rebound, prolonged bear market, liquidity squeeze, policy reversal. Synthetic scenarios giúp vượt giới hạn lịch sử: commodity tăng 20% trong vài phiên đồng thời currency yếu mạnh; equity giảm nhanh nhưng recovery hoàn toàn sau một tuần; interest rates tăng trong khi equity cũng giảm; liquidity giảm một nửa trong lúc volatility gấp ba. Mỗi scenario cần xuất ra không chỉ P&L cuối kỳ mà còn peak intraday loss, margin requirement, turnover, gross exposure, largest factor contribution, number of positions breaching liquidity limits và days-to-liquidate. Nếu chỉ ghi “portfolio mất 12%” thì chúng ta chưa biết nó có sống sót tới cuối scenario hay không.
Dữ liệu cũng cần một circuit breaker riêng. Trong shock, data vendors có thể chậm, stale prices tăng, corporate-action feeds lỗi hoặc order-book snapshots thiếu. Một ML system có thể đưa stale data vào model và vẫn trả ra prediction rất tự tin. Do đó mỗi feature nên có age, validity flag và expected refresh frequency. Nếu quá nhiều features bị stale hoặc data drift vượt threshold, model confidence phải bị haircut hoặc signal bị vô hiệu hóa. Một Data Integrity Kill Switch đôi khi quan trọng hơn một stop-loss. Có thể nghe hơi operational, nhưng nhiều failure thực tế của automated systems không đến từ thesis kinh tế mà đến từ việc model đưa ra decision trên information set hỏng.
Nếu đưa hệ thống này lên một trang phân tích cổ phiếu, tôi sẽ tránh một output duy nhất kiểu “Risk Score = 82/100” mà không giải thích. Người dùng nên click vào score và thấy ít nhất bốn lớp: Market State đang Normal hay Stress; Signal State trend/quality/momentum đang hướng nào; Liquidity State có deterioration hay không; và Model Confidence hiện cao hay thấp so với training distribution. Nếu confidence giảm vì volatility vượt range từng thấy hoặc liquidity data stale, giao diện phải nói rõ. Một câu “model đánh giá tiêu cực” không cho người dùng biết điều gì đã thay đổi. Ngược lại, một panel nói “trend vẫn dương nhưng volatility tăng lên percentile 97, breadth giảm mạnh và liquidity score xấu đi nên risk multiplier giảm từ 1,0 xuống 0,6” cho phép audit decision.
Khi đánh giá performance, cũng phải tách forecast quality, portfolio response và survival quality. Một model có thể forecast direction sai nhưng risk layer giảm exposure đủ nhanh nên loss được hạn chế; điều đó không làm forecast trở nên đúng, nhưng chứng minh risk process có giá trị. Một model khác có accuracy cao nhưng sử dụng leverage quá lớn và gặp một tail shock đủ để wipe out strategy; forecast tốt không cứu được poor sizing. Một third model có gross alpha ổn nhưng liquidity constraints khiến không thể execute. Ba vấn đề này không nên bị gộp vào một Sharpe ratio.
Một report tốt có thể theo dõi shock capture ratio: strategy mất bao nhiêu trong first leg trước khi risk giảm; reversal penalty: mất bao nhiêu thêm nếu market đảo chiều sau reposition; recovery lag: mất bao nhiêu phiên để exposure trở lại sau khi regime bình thường hóa; và liquidity penalty: phần chênh giữa theoretical và executable P&L. Những metrics này trực tiếp trả lời một câu hỏi mà annual Sharpe không trả lời: strategy xử lý transition như thế nào. Chính transition mới là nơi exogenous shock gây nguy hiểm nhất.
Cuối cùng, cần có quy tắc rõ về khi nào model được retrain. Tôi sẽ không cho phép “performance xấu” tự nó là lý do đủ để thay model. Trigger nên đến từ nhiều evidence: feature distributions thay đổi bền vững; signal-outcome relationship deteriorate trong rolling out-of-sample; execution cost structure thay đổi; market rules thay đổi; hoặc một assumption kinh tế nền tảng không còn đúng. Sau đó model mới phải đi qua validation, stress testing và shadow period trước khi thay production. Nếu không, research team rất dễ biến từng exogenous shock thành một bài tập curve fitting mới.
Bài của Man Group Q2/2026 hữu ích ở chỗ nó không nói systematic investing thất bại khi uncertainty tăng. Trái lại, họ vẫn cho rằng môi trường macro-driven có thể tạo opportunity, nhưng đồng thời nhấn mạnh Quantitative Macro đang trong trạng thái điều chỉnh và các sự kiện địa chính trị độc đáo có thể khó hơn đối với những model dựa trên patterns lịch sử. Điều đó phản ánh đúng trade-off của systematic investing: lịch sử vẫn là dữ liệu tốt nhất chúng ta có để học, nhưng lịch sử không phải một hợp đồng bảo đảm rằng tương lai sẽ giữ nguyên distribution.
Exogenous shock vì vậy không nhất thiết là “kẻ thù” của model. Nó là bài kiểm tra xem model có đang bị nhầm với cả hệ thống hay không. Prediction engine có thể sai vì cú shock chưa từng xuất hiện. Nhưng portfolio không nhất thiết phải mất kiểm soát nếu leverage có giới hạn, horizons được diversification, liquidity được stress, risk layer phản ứng độc lập, data quality có fail-safe và action rules đã được định nghĩa trước. Một Quant system tốt không cần tuyên bố nó biết trước chiến tranh, policy reversal hay liquidity crisis tiếp theo. Tham vọng thực tế hơn và quan trọng hơn là khi một điều chưa từng thấy xảy ra, hệ thống đủ mạnh để nhận ra rằng thế giới đã thay đổi, giảm mức độ tin tưởng vào chính mình và sống đủ lâu để học từ regime mới.
