Strict static no-arbitrage made the simulated dynamic arbitrage worse, by a wide margin. Across a million paths with daily rebalancing and zero costs, the authors' own generator produced validated period-return arbitrage at 12.500% of tested state-time centers. The intentionally arbitrage-ridden control, PCA applied directly to log implied vols, scored 1.584% under the same test. DYSANOS finished higher in every single row.
Buehler, Horvath and Kratsios put the problem up front. Their introduction flags it, their tables quantify it, and the conclusion says they have found numerical indication that DYSANOS admits dynamic arbitrage along its paths. They describe the dynamics module as a "somewhat simplistic" AR(1) baseline and a "baseline to beat". The surface representation is their main contribution. That defence mostly holds. The harder question is what these results demand from anyone who supplies better dynamics.
The work happens in 20 states
Existing arbitrage-free option simulators move a discrete floating grid of moneyness and time-to-expiry from one simulated day to the next. No trader can hold that object. A hedging agent needs returns for a fixed cash strike and calendar expiry, which the floating grid never supplies.
Linear interpolation between on-grid prices looks like the easy answer. The paper shows the cost: it gives the most expensive arbitrage-free price off the grid, while implied density vanishes between strikes. Spot can then occupy only model strikes without generating dynamic arbitrage.
The authors answer with a decoder. They reparameterize SANOS, their earlier smooth arbitrage-free surface family, so sigmoids and an Andreasen-Huge style tri-band transition operator turn an unconstrained real vector into martingale densities and discrete local volatilities. A three-layer feed-forward network, using 100 hidden nodes and SELU activations, maps a 20-dimensional state into that vector. Each decoded state yields a smooth surface that can price any strike and any expiry. Butterfly and calendar arbitrage are excluded by construction, without relying on a penalty.
A typical SANOS setup contains around 2,000 discrete local volatilities. This version uses 7 expiries and 20 model strikes. From 20 latent numbers, it reproduces the fit to 0.3% average vol error out to one year, measured over roughly five years of SPX surfaces with expiries up to one year. The fitting sample contains 1,412 daily SPX surfaces from OptionMetrics IvyDB, spanning 2020-01-02 to 2025-08-29. On 2025-05-06, the underlying SANOS linear program placed 91.4% of 1,000 options inside bid/ask. For the remainder, median error was 21% of the half-spread.
No profit-seeking P&L strategy appears in the paper. Trading enters only through the arbitrage-detection LP. The commercial value lies downstream, in simulators used by hedging engines such as Deep Hedging and Deep Bellman Hedging, both cited by the authors as motivation. For that use, arbitrage diagnostics carry more weight than fit statistics. An agent trained in a simulated market containing free money learns to collect it.
Reproducible geometry, discretionary choices
The paper prints the grid geometry in full. Its 7 expiries are 2, 5, 10, 20, 40, 127.5 and 255 business days. It uses 20 model strikes, normalized moneyness from -2 to 1, and 100 sampled strikes per expiry as training targets. Smoothing mu = 0.5, while Sigma and sigma are bounded in 0.01 to 2. Fitting weights use inverse vega divided by root expiry. The spread-weighted put-call-parity forward is also written out.
Its filters are equally explicit: bids above 0.011, log volume and log open interest of at least 1, business days to expiry capped at 756, normalized moneyness in [-5, 2], at least 10 options for each expiry and no more than 1,000 per day. The arbitrage harness reaches the Bonferroni level of 0.05 divided by 442,368 and specifies the 9,216 denominator.
More discretion enters elsewhere. The authors did not attempt to learn mu or the expiry positions. They hand-selected neighbourhood sizes of 1,024 and 4,096, the tail multiplier r = 8 and the direct-law weight pi_0 = 0.1. Their importance sampler operates at about 30.5% effective sample size. We found no printed values for either the epsilon in the calibration objective or the numerical band in the loss test. Training uses standard batch gradient descent in Torch, with no printed learning rate, batch size or epoch count. Innovation mixing also appears under two conventions: w applies to the historic score in equation 1, while b applies to the Gaussian in equation 19.
Fittability conditions the final universe. The authors drop expiries whenever they cannot obtain a no-arbitrage fit, assuming those failures reflect data alignment rather than genuine opportunity. They also say the volume filter probably removes many post-one-year options during the early years because IvyDB volume appears unreliable there.
Where does the leakage come from?
One diagnostic should outlive the paper. The authors reprice 63 fixed cash options from day to day across 20,000 simulated paths. For historical fixed-contract IV changes, the first principal component explains 29.3% of variance, while reaching 90% requires 17 components. On the moving moneyness grid, the first component explains 77.7%, and four components reach 90%. The familiar finding that a handful of PCA factors describes the surface, traced here to Cont, da Fonseca and Durrleman, depends on the floating grid. A book holding fixed contracts behaves differently.
The simulated fixed-contract market also moves less than the real one. Historical standard deviations for level, skew and term changes are 0.0174, 0.0266 and 0.0335. The five-factor version produces 0.0136, 0.0229 and 0.0288. With all 20 factors, the figures become 0.0133, 0.0225 and 0.0285.
Dependence is weaker too. Spot-level and spot-skew correlations in the data are -0.610 and -0.675. The five-factor simulation gives -0.436 and -0.556, compared with -0.422 and -0.548 in the all-factor run. For one-day IV changes on the moving normalized-moneyness grid, the first component absorbs 90.0% of variance with five factors and 89.5% with all 20. The market figure is 80.8%. First rankwise angles are 4.9 and 4.7 degrees, with second angles around 30.4 degrees. Five-day realized log-variance gets the mean right, at 0.000918 historically and 0.000914 in simulation, yet delivers one fifth of the dispersion. Standard deviation is 0.002693 against 0.000578.
Placed beside the arbitrage result, those figures explain much of the leakage. The period-return test searches for a unit-L1 portfolio that never loses within a local neighbourhood of simulated paths and earns on average. A conditional law concentrating 90% of its movement along one direction, rotating secondary directions incorrectly by 30 degrees and producing no volatility cluster approaches degeneracy in the directions targeted by calendar or skew spreads. As the paper states, the SANOS constraints say nothing about transitions in a fixed contract. The decoder cannot repair those dynamics. Each date lies inside the static cone; the free lunch appears between dates.
The test is economically active. At 1bp, occurrence declines to 9.082%, then reaches 3.266% at 10bp. The control records 0.564% and 0.141%, respectively, which makes a rounding explanation unconvincing. The authors replay the two strongest weekly 10bp candidates across a million fresh five-day continuations. Candidate two records losses in 0.0752% of cases, with minimum P&L of -1.478e-3, and is rejected. Candidate one records no loss, with minimum P&L of 2.963e-4. Its one-sided 95% Clopper-Pearson upper bound on loss probability is 2.996e-6. The authors carefully avoid claiming certified non-negative P&L across the full conditional support. The result also looks unlikely to be a sampling ghost.
Our SPY adaptation
We could not trade the same market as the paper. Our strategy uses SPY listed options in place of SPX. We possess end-of-day prices, whereas the paper's spread-aware linear program and bid/ask execution use IvyDB quote-level quotes that we do not have. This adaptation tests our end-of-day SPY implementation. It does not test the authors' SPX calibration or reproduce any of their reported diagnostics.
Our run spans 2020-01-01 to 2024-07-01. Total return was -0.02%, maximum drawdown was 0.09%, and realized volatility was 0.03%. Sharpe came to -0.19, Sortino to -0.05 and Calmar to -0.06. One automated pass on an adapted end-of-day SPY implementation finished flat and slightly negative.
The paper gives no backtest return or Sharpe. Its reported results cover SPX fit statistics, including 0.3% average vol error and 91.4% inside bid/ask on 2025-05-06, along with arbitrage occurrence rates. Table 6 reports the P&L of the two replayed arbitrage portfolios: means of 4.683e-3 and 5.821e-3, with minima of 2.963e-4 and -1.478e-3. None is comparable with a Sharpe ratio.
For our run, we fitted the arbitrage-constrained 20-state surface on expanding data through every close. After waiting for 252 surface observations, we fitted the PCA-AR(1) with five retained factors. The exact affine Gaussian transition generates the next day's state. We then reprice each unchanged option name at its fixed cash strike, with one trading day removed from expiry.
A trade requires an edge large enough to survive the full cost stack: quoted spreads, $0.65 per contract per execution, slippage equal to 25% of the quoted spread, SPY hedge costs of 1bp plus half a cent a share, and an expanding 95th-percentile out-of-sample error reserve by moneyness-expiry bucket. Positions are held for one day and delta-hedged in SPY. Sizing is 1% per position, gross action L1 is capped at 1, and leverage cannot exceed 4x. Those limits determine the scale of the return and drawdown above. A one-day delta-hedged book risking 1% per name cannot generate much volatility or drawdown. Nor can it earn much unless the forecast clears a tangible set of costs.
The error reserve decides the trade. We have previously discussed abstention layers that appear decisive in-sample and then scarcely bind (the 0DTE gate). Here, the reserve may consume every edge. The paper's own diagnostics warn against using its forecast this way. Because the baseline understates fixed-contract volatility in level, skew and term changes, a mean-reverting state forecast will under-predict tomorrow's move and quietly take short realized surface volatility exposure.
Those understatement figures belong to the authors. They come from SPX under their calibration. Our run uses a different process and a different underlying. Its weak result speaks first to our single automated pass. End-of-day quote quality and a 252-day warmup that begins trading in a post-COVID regime are our leading suspects.
The result a successor must beat
The decoder is the piece worth keeping.
A successor could replace the AR(1) with clustered or regime-switching innovations, or use the empirical resampling already supported by the paper. Its benchmark is 3.266% at daily 10bp. Bring that figure toward the control's 0.141% while preserving the 0.3% fit and zero to-expiry detections, and the representation deserves a place inside a hedging simulator. Leave the result unchanged, and an agent trained within DYSANOS gets paid to discover the model's own transitions rather than learn to hedge.
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.