Case study · Backtest
🗓 Backtest period: 2020-01-01..2024-07-01
Spec ID: spec-multi-asset-evar-deviation-tail-risk-parity-us-etfs-1789135350 · Generated: 2026-09-11 15:20 UTC
Cluster: Risk Parity · Sub Cluster: Tempered-Stable Tail-Risk Contribution Parity
Each month, the strategy fits a multivariate normal tempered-stable model to 12 months of daily ETF returns and allocates capital so centered EVaR Euler contributions are as equal as constraints permit. It trades the long-only, fully invested target at the next session's close.
Volatility parity treats symmetric second moments as a complete description of risk. Multi-asset returns can instead exhibit skewness, heavy tails, and nonlinear dependence, causing covariance-based allocations to understate assets' contributions during adverse states.
Centered entropic value-at-risk (EVaR deviation) uses the fitted moment-generating function to measure tail dispersion while removing expected-return estimates, which are particularly noisy over a 12-month window. Equalizing its Euler contributions seeks diversification by modeled tail-risk contribution rather than by capital or volatility alone. Tempered-stable distributions provide finite, weight-dependent MGF domains while accommodating heavier and asymmetric tails.
[code omitted from public view]
Only MNTS_EVaR_DEVIATION_ERC is funded; ICA, inverse-risk, raw-EVaR, CVaR, Gaussian, and equal-weight variants are diagnostics or benchmarks.
| Param | Value | Notes |
|---|---|---|
| Executed variant | MNTS_EVaR_DEVIATION_ERC |
Single funded portfolio |
| Tail probability / confidence | 0.05 / 0.95 | Centered EVaR deviation |
| Distribution | Joint MNTS | Parameters fitted once per rebalance and fixed across candidate weights and perturbations |
| ERC target | DEVaRC_{eta,i}(w) = D_eta^c(w)/N |
Squared contribution residuals are minimized when constraints prevent equality |
| Derivative | Central finite differences | Unconstrained coordinate perturbations; h = 1e-5 |
| MGF domain | Recomputed for every candidate and perturbation | A finite active endpoint is evaluated when applicable |
| Lookback | 12 months of daily log returns | Full history required through the month-end signal close |
| Rebalance / holding period | Monthly / 1 month | Signal on the last trading session of each calendar month |
| Execution | Next trading session close; 1-session lag | Existing positions remain in place through the signal date |
| Constraints | Long-only, fully invested | Minimum weight 0; weights sum to 1 |
| Maximum position | 10% | Platform concentration constraint; may prevent exact ERC equality |
| Maximum leverage | 4.0 safety limit | A long-only, fully invested target ordinarily has gross leverage 1.0 |
| Universe | AGG, EFA, GLD, TIP, VNQ, VTI, VWO, XLB, XLC, XLE, XLF, XLI, XLK, XLP, XLU, XLV, XLY | 17 US-listed ETFs; pooled multi-asset and sector universe |
| Backtest window | 2020-01-01..2024-07-01 | Daily bars |
| Commissions | $0.0040 per share, minimum $1.00 per order, capped at 1.00% of trade value | Charged per fill by the results module; all metrics are net of them |
| Slippage | 0 bps — not applied | Not an omission — MOC (market-on-close) fills at the auction print the backtest uses |
| Costs not modelled | short borrow fees / rebate, margin financing on leverage, market impact, exchange/regulatory/clearing pass-through fees, taxes | Excluded deliberately, not unknown |
| Minimum notional order limit | $0.0 | No platform minimum notional threshold |
| Not modelled | short borrow fees / rebate; margin financing on leverage; market impact; exchange/regulatory/clearing pass-through fees; taxes | The portfolio is long-only and ordinarily unlevered, making borrow and financing inapplicable under normal operation |
| # | Concern | Status |
|---|---|---|
| 1 | Rolling-window information cutoff | ✓ The 12-month return matrix includes only closes available on or before the month-end signal date. |
| 2 | Signal and execution ordering | ✓ The signal is formed at month-end close and executed at the next trading session's close. |
| 3 | Parameter leakage across candidate weights | ✓ MNTS parameters are fitted once per rebalance and held fixed during optimization and finite differences. |
| 4 | Weight-dependent MGF domain | ✓ The admissible endpoint is recalculated for every candidate and positive or negative perturbation. |
| 5 | Transaction costs | ✓ commissions $0.0040/share (min $1.00/order); slippage 0 bps — not applied |
| 6 | Universe selection and survivorship | ⚠ The fixed ETF list and full-history requirement can favor instruments surviving and remaining liquid through the test period. |
Over 2020-01-01 through 2024-07-01, the commission-net backtest returned 58.68% with a 0.66 Sharpe ratio, 19.86% annualized volatility, and a -22.29% maximum drawdown. The Sortino ratio was 0.72, Calmar ratio 0.49, and beta versus SPY 0.46. The run recorded 422 trades, a 93.39% win rate, and an 11.85 profit factor, but the absence of supplied benchmark and matched-variant metrics prevents attributing performance to tempered-stable EVaR parity rather than the sample's broad asset exposures.
Recomputed here from the run's stored daily returns, because every annualized figure in the table above is derived from the LENGTH of that array (years = n / 252). Only total return and max drawdown do not depend on the row count, so when the recomputed and stored values differ by a common factor, those two are the numbers to trust.
| Check | From the run's own returns | Note |
|---|---|---|
| Daily-return rows | 1,131 | 1.00x the 1,134 trading days in 2020-01-01..2024-07-01 |
| Distinct dates | 1,131 | one row per date |
| Date span | 2020-01-02 .. 2024-07-01 | |
| Sum of daily returns | 58.68% | matches the reported total return |
| Sharpe from these rows | 0.66 | stored 0.66 |
| Volatility from these rows | 19.86% | stored 19.86% |
| Max drawdown from these rows | -22.29% | stored -22.29% |
| CAGR from these rows | 10.84% | stored 10.84% |
| Metric | Value |
|---|---|
| Total Return | 58.68% |
| Sharpe | 0.66 |
| Sortino | 0.72 |
| Calmar | 0.49 |
| Max Drawdown | -22.29% |
| Volatility | 19.86% |
| Beta vs SPY | 0.46 |
| Win Rate | 93.39% |
| Profit Factor | 11.85 |
| Total Trades | 422 |
| Symbols | 17 (AGG, EFA, GLD, TIP, VNQ, VTI, VWO, XLB, XLC, XLE, +7 more) |