EVT Tail Risk Calculator
RISK/STATS · EVT TAIL RISK · ADVANCED
Peaks-Over-Threshold Extreme Value Theory: fits a Generalized Pareto Distribution to the loss tail and extrapolates VaR/Expected Shortfall beyond it, without assuming a normal distribution.
Comma, space, or newline separated. No thousand separators (write 43250.50, not 43,250.50).
Fits a Generalized Pareto Distribution to losses beyond the threshold percentile via Grimshaw's profile-likelihood MLE, then extrapolates VaR/Expected Shortfall - no normal-distribution assumption.
Why not just use parametric VaR?
Parametric VaR/CVaR assumes returns are normally distributed. Crypto returns aren't: excess kurtosis of 12-16 is common for daily BTC/ETH returns, meaning extreme moves happen far more often than a normal distribution predicts. Extreme Value Theory sidesteps the assumption entirely by fitting a distribution only to the losses that actually happen beyond a high threshold, then extrapolating from that fit, not from a bell curve.
Peaks-Over-Threshold (POT)
Pick a high threshold u (this calculator: a percentile of the loss distribution). The Pickands-Balkema-de Haan theorem says the excesses above any sufficiently high threshold converge to a Generalized Pareto Distribution (GPD), regardless of the parent distribution:
- P(loss − u > y | loss > u) = (1 + ξy/β)−1/ξ
- ξ > 0: heavy/fat tail · ξ = 0: exponential tail · ξ < 0: bounded tail
Fitted here via Grimshaw's (1993) profile-likelihood MLE. VaR and Expected Shortfall beyond the threshold follow in closed form once (ξ, β) are known (McNeil, Frey & Embrechts, Quantitative Risk Management, ch. 7).
Reading ξ asymptotically normal
For a strongly negative shape parameter, the maximum-likelihood estimator loses its usual statistical guarantees: standard confidence-interval theory only applies when ξ > −0.5. Between −1 and −0.5 the fit is still a valid point estimate, just a less certain one. Values at or below −1 are excluded from the fit entirely - that region has a genuinely unbounded likelihood (Smith, 1985), not just a wide one.
Where to go next
Compare this against the normal-distribution assumption directly with the VaR / CVaR calculator, or see the full risk picture including drawdown ratios with the portfolio tearsheet.
Use via API or MCP
This calculation is available as a deterministic API call for bots and AI agents.
EMBED ON YOUR SITE
<!-- TradingCalc widget: please keep the link below exactly as given (address and words) --> <div class="tradingcalc-widget" data-widget="evt-tail-risk-calculator"><a href="https://tradingcalc.io/evt-tail-risk-calculator?utm_source=embed&utm_medium=backlink&utm_campaign=evt-tail-risk-calculator">EVT Tail Risk Calculator by TradingCalc.io</a></div> <script async src="https://tradingcalc.io/embed.js"></script>
Free, no signup. Keep the text link in the code exactly as given, with its address and its words: it is the attribution and it points visitors to the full calculator. Change colors, size and start values or read the installation guide and FAQ.
What assumptions and edge cases does this calculator use?
Returns are decimals per period (0.02 is 2%), not prices. It needs at least 100 finite returns, a threshold percentile strictly between 0 and 100 (default 90) and a confidence level strictly between 0 and 1 (default 99 percent). At least 10 returns must lie beyond the threshold, and if the tail fit does not converge you get an error and a hint to try another threshold. Not covered: time-varying volatility, an automatic choice of threshold, and risk beyond what the sample has seen.
How is this different from the VaR / CVaR calculator?
The VaR/CVaR calculator assumes returns are normally distributed (plus an optional skew/kurtosis correction). This calculator makes no distributional assumption at all: it fits a Generalized Pareto Distribution only to the actual losses beyond a high threshold, the standard approach for fat-tailed series like crypto returns.
What is the threshold percentile?
The percentile of the loss distribution (losses = -returns) used as the cutoff u: only losses beyond this point are used to fit the tail model. A higher percentile (e.g. 95th) uses fewer, more extreme observations; a lower one (e.g. 85th) uses more data but risks including observations that aren't truly in the tail. 90th is a common default.
What do xi and beta mean?
xi (shape) controls how heavy the tail is: positive means heavier-than-exponential (fat tail, common for crypto), zero means exponential, negative means a bounded tail with a finite worst case. beta (scale) sets the magnitude of typical excesses beyond the threshold.
Why can Expected Shortfall be undefined?
When xi >= 1, the Generalized Pareto Distribution's mean doesn't exist (the tail is too heavy for a finite expectation), so Expected Shortfall has no closed form. VaR is still well-defined in that case; only ES is affected.
How much data do I need?
At least 100 return values, and enough that the chosen threshold percentile leaves at least 10 exceedances to fit the two-parameter GPD. Longer series and a lower threshold percentile both help.