AQAI QuantAI research lab for systematic strategies

Automated analysis

This analysis was drafted by our research engine and has not been checked by a human editor. It may contain errors. It separates the paper’s own results from our tests, and any figures called ours come from our own backtest.

Our automated analysisOur backtest

Correct symmetry lowers simulated worst-case ES up to 10% against unrestricted bounds

Unimodality takes another 0.6 to 0.9% off the symmetric bound; the wrong shape usually leaves no feasible distribution.

2026-11-03 · 7 min read · Distributionally Robust Risk Sizing · US ETFs

Reviewing: Robust distortion riskmetrics under symmetry, unimodality, and Wasserstein constraints · Liu Peng, Zhang Yiying and Zuo Baishuai · Read it on arxiv

Our backtest of this idea

Our automated quick test, not the paper's

SPY Bootstrap-Wasserstein ES Control: Symmetric-Unimodal Account

Backtest period 2020-01-01 to 2024-07-01 · hypothetical, net of modelled costs

Why these figures are not the paper's (2)

The paper reports no results of its own

This is a theoretical paper — derivations and proofs, with no measurement on market data. The backtest below is a strategy we built from its idea, not a test of anything the authors claimed.

Our own audit found this run does not follow the paper faithfully

  • Paper simulation uses prescribed known population moments and independent simulated samples.: Estimate fixed decision-level moments from trailing signed SPY losses; add circular moving-block sensitivities. (invalidates: Paper simulation population ES coverage rates do not transfer to SPY; paper simulation calibration and feasibility frequencies do not predict historical market frequencies)

These are our findings about our own implementation, not criticisms of the paper. Read the figures below as a description of what we ran.

Jan 2020Total 15.6%Jul 2024
Sharpe
0.69
Total Return
15.6%
Max Drawdown
-10.5%
CAGR
3.3%
Volatility
5.1%
Beta vs SPY
0.22
Trades
1,096

Symmetry buys room in a risk budget; unimodality adds little. In the simulation by Liu, Zhang and Zuo, symmetry lowers mean worst-case ES at 97.5% by 6.7 to 10.0% against the unrestricted class. Those figures cover the three correctly specified distributions at n = 1000. Requiring unimodality as well cuts another 0.6 to 0.9% for the same three. Both comparisons use only repetitions in which all three calculations are feasible. A position sized as risk budget divided by worst-case ES gets appreciably larger with the first reduction. The extra reduction barely changes it.

The paper develops theory and illustrates it with a simulation. It uses no market data and reports no trading performance. Nothing here tests an authors' claim against prices; the sizing application below is our own.

Building the bound

A distortion riskmetric weights the quantile function and integrates it, with a distortion function g setting the weights. ES, RVaR, VaR and Gini deviation belong to this family. The authors maximise the riskmetric over distributions with fixed mean and variance that are symmetric about the mean. These distributions must also lie within squared 2-Wasserstein distance ϵ of a reference distribution F. In an application, F would be an empirical loss distribution. Without that reference ball, the symmetric worst-case ES at level α > 1/2 is µ + σ/√(2(1−α)). The ball draws the worst case toward F.

An identity makes the construction possible. Under a symmetric law, risk equals µg(1) plus risk under the symmetrized distortion ḡ(t) = [g(t) + g(1−t) − g(1)]/2. The authors add a term formed from F's quantile, multiplied by λ. They then take the least concave majorant of this sum and obtain the worst-case quantile from its derivative. Increasing λ eventually makes the distance constraint bind. Throughout, the auxiliary function remains symmetric about 1/2, allowing its envelope to produce a symmetric law. Non-monotone and discontinuous distortions also fit the construction, admitting VaR.

The thresholds ϵ0 and ϵ1 mark the limits of the ball's role. At ϵ0, the ball first reaches a symmetric law with the required moments. This nearest law comes from the antisymmetric part of F's quantile; below ϵ0, no feasible distribution exists. At ϵ1, the ball ceases to bind, leaving moments and shape to determine the bound. For a lognormal reference with mean and standard deviation 1, the symmetric ES curve begins at ϵ0 = 2−√3 ≈ 0.2679. It levels off at ϵ1 ≈ 0.8626. The unrestricted class, by contrast, is feasible from ϵ = 0.

Unimodality adds an L2 projection onto a fixed convex cone. A symmetric unimodal quantile changes from concave to convex at exactly 1/2, which fixes the cone. The paper supplies convex quadratic programs for this projection on fixed grids. In the simulation, the authors solve second-order cone programs on a 131-node piecewise-linear grid. Across 200 comparisons, doubling the grid changed no feasibility decision. For the 131 pairs feasible on both grids, the largest ES difference was 5.58×10^-4.

Left VaR has a separate difficulty. At levels above 1/2, its symmetric worst case is never attained for any budget strictly above ϵ0. Once the ball stops binding, the candidate law has left VaR of µ. The supremum µ + σ/√(2(1−α)) can be approached, yet never reached. There is no scenario behind that number to hand to a risk committee.

How much does symmetry buy?

The authors simulate five distributions, each with mean zero and variance one. Sample sizes n are 250, 500, 1000 and 2000, with 1000 samples in each cell. Each sample generates 500 bootstrap resamples, and ES is calculated on the out-of-bag points. Calibration selects the smallest ϵ for which unrestricted worst-case ES exceeds validation ES in 95% of resamples: the 475th of 500 required budgets. The authors then use this common budget for all three classes.

Normal, Student-t5 and Laplace satisfy both symmetry and unimodality, making them the correctly specified cases. At n = 1000, imposing symmetry gives the 6.7 to 10.0% reduction, followed by another 0.6 to 0.9% from unimodality. "Most of the observed tightening therefore comes from symmetry," the authors write. Their fixed-reference ES and RVaR curves also put the symmetry-only bounds below those for unimodality with the transition fixed at 1/2. They caution that this ordering belongs to their examples: those classes are not nested.

More data brings smaller budgets. For the normal, the median squared budget drops from 0.0315 at n = 250 to 0.0042 at n = 2000.

Tighter bounds sacrifice coverage. At n = 1000, the unrestricted bound covers population ES in 100% of runs across all three correctly specified distributions. For t5 at n = 1000, coverage runs from 100.0% in the general class to 98.9% under symmetry and 98.4% under symmetric unimodality. The shape-restricted figures decline to 96.7% and 95.8% at n = 2000. The authors describe the 95% criterion as "is a bootstrap validation target," and say that calibration on the general class does not guarantee 95% validation coverage for the shape classes.

When the shape is wrong

An incorrect shape assumption usually leaves an empty set. Biased bounds are the less common failure. With the bimodal distribution at n = 1000, symmetry remains feasible in 100.0% of runs. Symmetric unimodality is feasible in just 1.6%, with coverage also at 1.6%. Calibration for the standardized lognormal succeeds in 78.7% of runs. At n = 1000, its median calibrated budget is 0.0884, about ten times the normal's 0.0083. Symmetry is feasible in 1.2% of runs and symmetric unimodality in 1.1%; each records 0.0% coverage. "At this sample size, imposing the incorrect symmetry restriction yields zero observed coverage."

The reference and moments alone determine ϵ0, so the shape assumption can fail before there is any risk estimate. That leaves a sizing rule with no ES and a decision to make about exposure.

The lognormal's 78.7% calibration rate has a separate explanation. The paper fixes population moments at (0, 1) without restandardizing the samples. As a result, validation ES can exceed the moment-only cap µ + σ√(α/(1−α)). If this occurs in more than 5% of resamples, no finite budget can pass calibration. This accounts for the remaining 21.3% of runs in which calibration failed.

Higher ETF limits need more evidence

This evidence does not yet support a higher ETF limit. The theory treats µ and σ as known exactly. In the paper, lognormal calibration fails in 21.3% of runs because the samples do not match those assumed moments. All the distributions are synthetic; we did not find an application to traded returns. Tail estimation is thin as well. At n = 250, the out-of-bag upper 2.5% tail contains about 2.3 observations on average, a case the authors flag as a stability test.

Our SPY build

We constructed one account from the paper; every performance figure reported here is ours. The run spans 2020-01-01 to 2024-07-01, and the annualised metrics begin on 2020-01-10. The book returned 15.63% over that window, with annualised volatility of 5.10%, a Sharpe of 0.69 and maximum drawdown of -10.48%. The paper claims no trading performance. These figures describe our construction and say nothing about the authors' theory.

Each session uses 504 open-to-open SPY losses to estimate mean and variance. Following the paper's calibration rule, we draw 500 bootstrap resamples and select the 475th required budget for the unrestricted class. Trading uses only the symmetric-unimodal bound, calculated on the same 131-node grid. The target weight is min(1, 0.01/R), with R denoting worst-case daily ES. Execution is at the next open. The account is long only and earns zero on cash. Failed calibration or an empty shape class sends the weight to zero; we never substitute the symmetric-only bound. We also changed solvers, using a SciPy NNLS dual instead of CVXPY with Clarabel.

The 5.10% annualised volatility deserves attention. With weight capped at 1 and no cash return, volatility this low means the account spent much of the period partly or wholly out of SPY. Its -10.48% maximum drawdown covers a window that includes March 2020. There are two ways for the rule to sit out. Worst-case ES may exceed 1% of equity, or the symmetric-unimodal set may be empty. The paper's bimodal 1.6% and lognormal 1.1% feasibility rates at n = 1000 suggest the latter occurs when the assumed shape is wrong. The headline results cannot tell us which mechanism dominated. A unit cap also limited weights in an earlier ETF run of ours.

Our construction goes beyond the paper in two respects. It estimates moments from the window, something the theory never does. And for 504 observations, the paper's n/e rule leaves roughly 4.6 points in each out-of-bag tail. The reported performance belongs to this implementation first.

A version that re-derives ϵ0 with estimated moments and still holds symmetric coverage above 95% would change our view.

Our backtest stops at 2024-07-01, and everything after that date is deliberately left untouched so the same strategy can be checked out of sample later.

How our backtest worked

The steps the code we ran actually executed, from its strategy card. Ours, not the paper's — it is one automated implementation of the idea, not the authors' own.

For each decision session t, after observing adjusted open_t:
  1. Form 504 consecutive completed signed losses:
       loss_s = -(open_s / open_previous_session - 1).
     Require 505 valid adjusted openings; do not bridge missing sessions.
  2. Estimate mu and variance using denominator 504.
     Keep the empirical reference unchanged, including negative losses (gains).
  3. Generate 500 date-keyed bootstrap resamples of size 504.
     Retain training multiplicities; validate on each absent original index once.
     Compute validation ES with fractional empirical tail-boundary mass.
  4. For each replicate, invert the unrestricted fixed-moment ES bound
     from its own feasibility boundary to obtain its required squared budget.
     Preserve infinite budgets. Any empty validation sample fails calibration.
     Set epsilon_hat to the 475th ordered required budget; require it finite.
  5. Set epsilon = multiplier * epsilon_hat without shape-specific recalibration.
     Compute symmetry-only diagnostics and symmetric-unimodal risk independently
     at this common budget; never enlarge epsilon to restore feasibility.
  6. For the traded symmetric-unimodal variant, verify moments, shape,
     Wasserstein distance, solver residuals and doubled-grid refinement.
     Use a certified continuous-class upper risk bound when available;
     otherwise label accepted refined risk NUMERICAL_GRID_APPROXIMATION.
  7. If accepted risk R > 0: target w = min(1, 0.01 / R).
     If R is finite and nonpositive: target w = 1.
     Calibration failure, infeasibility, missing history or unresolved checks: w = 0.
     Never substitute symmetry-only exposure.
  8. Queue w for adjusted open_t+1. Implement a self-financing post-cost
     target using current equity and actual drifted holdings, subject to safety cap.
     Skip orders without a valid execution price and flag achieved-target differences.
     New holdings first earn the open_t+1 to open_t+2 return.
End: do not fill beyond the evaluation interval; mark at the final in-window open
without forced liquidation. Keep benchmarks and sensitivity accounts separate.

The supplied implementation declares a SciPy NNLS support-dual solver for the finite-grid programs instead of the specified CVXPY/Clarabel solver. Exact integration and projection KKT checks are retained according to that declaration; the truncated code does not establish end-to-end compliance.