Quantitative modeling study demonstrates closed-form tail-risk estimation across asset returns, highlighting improved dynamic forecasting using machine learning.
Financial returns have heavy tails and nonzero skewness. Machine learning risk models typically return isolated quantiles or rest on thin-tailed laws. We introduce a skewed, heavy-tailed distribution that is as easy to use as the normal and that converts any machine learning forecast of conditional moments into a full density. The law splices the left half of one logistic density onto the right half of another. A prescribed mean, variance, and skewness map into its three parameters by elementary algebra. Value at Risk (VaR), Expected Shortfall (ES), optimal holdings, and risk premia then have closed-form expressions. The attainable third-moment interval is wider than that of the smooth half-normal law and even a small departure from symmetry already moves the implied tails away from the Gaussian benchmark. The logistic base has a kurtosis of 4.2 and above, so tail-risk estimates are more conservative than those of thin-tailed alternatives. Gradient-boosted trees predict the conditional mean, volatility, and skewness that enter the closed-form formulas. The resulting one-day-ahead VaR and ES forecasts are well calibrated and pass standard coverage tests. Unlike quantile-based machine learning forecasts, they deliver the entire conditional density in analytic form. Exponentially weighted moving average moments, fed through the same formulas, already give accurate ES forecasts. An application to stock-index, commodity, and foreign-exchange returns shows that the distribution tracks sample asymmetry and tail behavior. A three-moment calibration matches mean, variance, and skewness. The implied kurtosis is that of the logistic base and is not a free parameter.
No takes yet. Share an insight, caveat, or question.
Li et al. (2026) studied this question.
Synapse has enriched 5 closely related papers on similar clinical questions. Consider them for comparative context: