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

Fractional Brownian motion becomes a semimartingale, and H returns 0.45

Jarrow and Tan fit five parameters to eight S&P 500 return moments, without pricing options.

2026-09-08 · 8 min read · US ETF options, primarily SPY options, with SPY as the tradable S&P 500 proxy

Reviewing: Option Pricing with Time-Changed Fractional Brownian Motion: A Fractional Variance Gamma Model · Robert Jarrow and Jayen Tan · Read it on arxiv

Our backtest of this idea

Our automated quick test, not the paper's

Rolling fVG GMM Delta-Hedged SPY Options Mispricing Arbitrage

Backtest period 2015-01-01 to 2024-12-31 · hypothetical, net of modelled costs

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

Run on a different market than the paper

The paper estimates and motivates the model on the S&P 500 index, while the available tradable implementation would use SPY and EOD SPY options. This is a substitution from index to ETF, but the mechanism is an equity-index return and option-pricing model, and SPY closely tracks the S&P 500, so the core return-scaling and option-valuation logic should survive; reported paper quantities would not transfer directly.

The paper's own figures describe its universe and do not carry over to ours.

This is not a replication of the paper (3)

  • The paper's model is mathematically and computationally involved; implementation would require coding the fVG simulation/pricing and GMM estimation rather than relying on precomputed database fields.
  • Available options data are end-of-day only, so the backtest can evaluate EOD option mispricing and hedging, not intraday option execution or continuous delta hedging.
  • If the paper's empirical application uses the S&P 500 index or SPX options specifically, our implementation would test the SPY ETF/options proxy rather than the exact original market.

The figures below measure what we could run, not the paper's own method, so they are not evidence for or against its claim.

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

  • deviation left undescribed by the audit (invalidates: The paper's empirical S&P 500 parameter estimates and predicted qualitative pricing performance may not transfer exactly to SPY options; American exercise, ETF dividends, and SPY microstructure can alter observed mispricings.)
  • estimation_window_trading_days rolling warm-up: The 2516-day estimation window is applied as a rolling walk-forward fit rather than the paper's single full-sample fit, so no signal is produced until ~10 years of SPY history has accrued from data start. (invalidates: The paper's single-sample Table 1 estimates are not reproduced; each as-of fit uses a different rolling window and early backtest dates before warm-up produce no trades.)
  • emm_validity_guard action_if_violated (hard EMM lambda>0 gate): The lambda(t)>0 EMM-existence gate is changed from a hard skip-all-pricing/skip-all-trades gate to an advisory flag; pricing continues under the selected measure. As a hard gate, at the spec's own reference estimates (xi*=0.3481/yr, r≈0.02/yr, numerator r−xi≈−0.33/yr), lambda<=0 on effectively every date whenever the integral of (e^x−1)psi_Y is positive (its typical sign), so the gate would delete the entire strategy rather than merely reduce coverage. (invalidates: On dates where the estimated lambda(t)<=0, Prop 5.2/5.3's guarantee that Q is a genuine equivalent martingale measure no longer holds, so risk-neutral valuation on those dates is not arbitrage-consistent and the paper's implied option-pricing behaviour does not transfer to them.)
  • fvg_model.gmm second-stage weighting W2=(m*1 m*1^T)^-1: The paper's second-stage weighting matrix W2=(m*1 m*1^T)^-1 is a rank-1 (hence singular) 8x8 matrix for the L=8 moment conditions at p=2 and cannot implement efficient weighting; the operative estimator falls back to the paper's well-posed first-stage identity weighting (equally-weighted least squares over the moment conditions). The spec no longer runs the paper's two-step feasible efficient GMM configuration. (invalidates: The paper's claim of a feasible two-step EFFICIENT GMM estimator does not hold; efficiency and standard-error properties attributed to the second stage are not reproduced, and Table 1 point estimates obtained via the paper's two-step procedure are not exactly reproduced (first-stage identity-weighted estimates are used instead).)

3 further finding(s) are described in the note.

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 2015Total 8.6%Dec 2024
Sharpe
0.23
Total Return
8.6%
Max Drawdown
-6.9%
CAGR
0.8%
Volatility
3.8%
Trades
1,176

The number worth arguing over is 0.4511.

Jarrow and Tan obtain that Hurst exponent for the S&P 500 under their full model. The Brownian benchmark is 0.5, so the estimate falls below it. Their introduction gives fractional Brownian motion three attractions: long-range dependence, path roughness and anomalous diffusion. At H = 0.45, long-range dependence disappears while the other features remain.

For the time-changed process, the paper derives an increment autocovariance decay rate of n^(2H-2). Long-range dependence requires H above 0.5. When H < 0.5, the authors describe negatively autocorrelated increments, comparatively rough sample paths and subdiffusion. Their first substantial estimate within this framework therefore runs away from the long-memory feature that receives most of the introduction's citations.

The authors acknowledge the result in the abstract and give it another interpretation. They call the Hurst exponent of approximately 0.45 "consistent with mildly sublinear temporal scaling of return moments." Section 7 says the same: "the term structure of empirical moments exhibits mildly sub-linear scaling, which the model captures through a Hurst exponent below 0.5." They never treat 0.45 as direct evidence of anti-persistence. GMM identifies H mainly from the scaling of return moments across horizons, so a value below 0.5 means that those moments accumulate more slowly than linearly. The estimate does not directly establish the sign of return autocorrelation.

Any attempt to use 0.45 against the long-memory literature has to deal with that interpretation rather than merely quote the estimate. The paper adds a further possibility. Apparent long memory in simpler models could partly come from unmodeled heavy tails rather than genuine persistence.

A different clock restores Itô

Fractional Brownian motion ceases to be a semimartingale whenever H differs from 0.5. Itô calculus and the fundamental theorems disappear with that property. Citing Rogers and Cheridito, the paper notes explicit arbitrages in the fractional Black-Scholes-Merton model under continuous trading.

Every familiar escape gives something up. One enforces a minimum interval between trades. Another allows proportional transaction costs and finite-variation strategies. A third uses Wick calculus to redefine self-financing, leaving portfolio values with a meaning foreign to traders. A fourth constructs another semimartingale that reproduces selected fBm traits, commonly by running ordinary Brownian motion on a long-memory clock.

Jarrow and Tan choose another route. They evaluate fBm at gamma activity time, X(t) = B_H(gamma(t;v)), and assume independence between the fBm and gamma subordinator. Activity time measures cumulative executed trading rather than calendar time. Because the gamma clock is an infinite-activity pure-jump subordinator, the composition has bounded variation on compacts and hence is a semimartingale. The argument passes through Yor and Protter.

The time change preserves roughness and the scaling exponent. Its unconditional kurtosis is 3·Γ(t/v+4H)Γ(t/v)/Γ(t/v+2H)², converging to 3 as the horizon lengthens. The variance intensity v controls kurtosis. H determines path regularity and the horizon rate at which moments accumulate.

They then define the fractional Variance Gamma price process,

S(t) = S(0)·exp{ξt + θγ(t;v) + σB_H(γ(t;v))}.

Five parameters describe drift, skewness, kurtosis, scale and dependence. Log returns contain four pieces: the risk-free rate, a jump risk premium, an endogenous drift arising from dependence, and a martingale. At H = 0.5, the endogenous component vanishes. Girsanov, the arbitrage-free drift condition and sufficient conditions for an equivalent martingale measure then proceed in the standard fashion.

The advance over earlier work is specific. Discussing semimartingale-preserving constructions, including time-changed Brownian motions and regularized versions of fBm, the paper says they retain semimartingale pricing compatibility while usually increasing modeling complexity and moving away from the canonical Brownian paradigm. This model assigns roughness to B_H and kurtosis to v. In the authors' companion work, claims were priced on a fractional underlying excluded from trading. Here the traded asset carries the fractional dynamics itself.

Eight moments support five parameters

The empirical work is thin, for reasons the authors discuss openly.

Their GMM matches unconditional raw and central moments of orders 1 through 4 at lags 1 through p days. The sample contains daily CRSP S&P 500 levels from January 2010 to December 2019, with N = 2516 observations and d = 1/252. The preferred choice is p = 2. They describe it as the smallest setting that achieves identification, giving eight moment conditions for five parameters.

Only two horizons identify the fit. H comes mainly from the way moments scale between them. Autocovariance appears in none of the eight moment conditions, although the paper derives increment autocovariance in Equation 11 and plots the autocorrelation function in Figure 1(a).

The estimates move when individual mechanisms enter the model. Under the fractional Black-Scholes restriction (θ = v = 0), H = 0.4659 at p = 2. It remains close at p = 3, 4 and 5, where the estimates are 0.4776, 0.4720 and 0.4679.

Allow kurtosis while suppressing skewness (θ = 0, v free), and the p = 2 estimate falls to H = 0.3491 with v = 0.0427. The drop is unstable across truncations. Under the same restriction, p = 3 produces H = 0.4776 with v = 0.0006. The estimate then returns to 0.3563 at p = 4 and 0.4022 at p = 5.

With every parameter free at p = 2, H rises to 0.4511, accompanied by θ = -0.2433 and v = 0.0068. The data and truncation are unchanged. Across the p = 2 rows, H shifts by 0.10 according to which parameters compete to explain the higher moments.

The authors interpret this movement as evidence that H can be calibrated accurately only after skewness and kurtosis are modeled. Another reading is harder on the estimate: 0.45 depends jointly on the mechanisms admitted to the specification. Instability under θ = 0 adds to that concern.

Table 1 contains point estimates alone. We found no standard error, no t-statistic, no confidence interval and no J-statistic anywhere in the paper. Even so, the empirical section describes departures from 0.5 as "significant and economically meaningful." The text gives readers no way to decide whether "significant" carries a statistical meaning or an economic one.

There is also a small arithmetic error. The paper says that the first moment identifies ξ+θ, "which remains close to 0.16 across specifications." In every table row where θ is free, the difference actually ranges from 0.1047 to 0.1049. The calculations are 0.6932 minus 0.5885, 1.0125 minus 0.9077, 0.3481 minus 0.2433, and 0.2898 minus 0.1851. This agrees with the ξ estimate of 0.1048 whenever θ is fixed at zero. Their identification argument works exactly as predicted; the figure stated in the text is wrong.

Where are the option prices?

The paper prices no options, uses no option data and reports no pricing or trading evaluation. It is explicit about the omission: "We leave a comprehensive empirical evaluation of the fVG option pricing model to future research."

The computational obstacle is also stated plainly. No tractable closed form exists for the conditional distribution of the time-changed fBm. The authors say this makes forecasting metrics, likelihood-based criteria and option-pricing implications considerably harder to compute. Approximating conditional laws requires retaining simulated paths that land within δ_k of the observed history.

The paper also states that the market is incomplete and the equivalent martingale measure is non-unique. To select a single price, the authors impose λ(t,x) = λ(t), making the market price of jump risk independent of jump size. The arbitrage-free drift condition then determines λ from the estimated physical dynamics, without a separate risk-neutral calibration. This restriction selects the measure. The stated reason is "To simplify the model and improve analytical tractability." Its behavior against an implied volatility surface remains among the questions deferred by the authors.

Our SPY implementation failed earlier

The paper estimates the S&P 500 index. We traded SPY and listed SPY options, hedged with SPY shares, because the same return-scaling and valuation logic applies. None of the paper's estimated quantities carries over. The results below are not a test of the authors' model.

We implemented the fVG Monte Carlo and GMM ourselves rather than taking figures from a database. Our rolling estimation used first-stage identity weighting at p = 2, whereas the paper favors two-step feasible GMM. Since the options data are end of day, hedging occurred at the close, once a day.

Each day began with a fit over the trailing SPY window. We priced calls and puts, then applied liquidity and moneyness filters before opening trades. A position was entered when model value moved far enough from the observed price, long where the model price was higher and short where it was lower. Trades closed after convergence, at a holding-period limit, or well before expiry.

From 2015 to 2024, the book earned 8.64% in total. Sharpe was 0.23, Sortino 0.13, Calmar 0.12, maximum drawdown -6.86%, and annualised volatility 3.82%. A 0.23 Sharpe attached to 8.64% over ten years is weak. At that volatility, the outcome is barely distinguishable from noise. We would not fund it.

Our implementation has two quantifiable failures, each arising before any assessment of the model. The paper's conditional pricing method retains only simulated paths lying within δ_k of observed history. With our settings, acceptance was roughly 0.2 per lag across about 20 lags. Joint acceptance therefore landed near 1e-14. Among 20,000 paths, the expected retained count was about 2e-10. The resulting model values were not generated by the mechanism described in the paper.

The second failure concerns the measure change. We treated the paper's ξ* = 0.3481 as the reference drift against a three-month rate near 2%. This placed ξ minus r at about +0.33 a year. Under the size-independent simplification, the resulting λ would violate the strict positivity required by the paper's own existence conditions.

Reading ξ* = 0.3481 as a 34.8% expected return is a misinterpretation. The drift equals ξ+θ = 0.1048, while the split between those terms is identified only jointly. Sending one half of an unidentified pair into a drift condition can readily produce a market price of risk with the wrong sign.

The authors provide no pricing or trading results of their own. The 8.64% total return and 0.23 Sharpe are ours. They describe a SPY option book rather than the paper's model, and the two mechanism failures above make those figures untrustworthy.

The contribution lies in the construction

The theoretical construction earns its place. It combines a free Hurst exponent with pure-jump dynamics inside the fundamental theorems, a pairing the earlier fixes did not achieve. The authors present the empirical section as an illustration, and that description fits.

I would trade against 0.4511 only after seeing calibration to an implied volatility surface, with λ(t,x) = λ(t) tested empirically rather than imposed for tractability. A subperiod split would also matter. The estimate comes from a single ten-year window containing N = 2516 daily observations. There is no subperiod check and no out-of-sample period. Until those arrive, the paper offers architecture, while its roughness estimate remains a by-product of eight moments observed at two horizons.

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 trading day at the close:
  1. Load SPY close, listed SPY option EOD prices/greeks, and point-in-time DGS3MO rate.
  2. Fit the rolling fVG model on the available historical SPY window using identity-weighted p=2 GMM.
  3. For eligible SPY calls and puts:
       - DTE in [21, 180], exit before &lt;= 7 DTE
       - moneyness in [0.85, 1.15]
       - abs(delta) in [0.1, 0.9]
       - vega &gt;= 0.001, implied vol in [0.03, 2.0]
       - observed option price &gt;= 0.25
       - real execution price available
  4. Price each candidate with fVG Monte Carlo and estimate model delta by central finite-difference revaluation.
  5. Compute mispricing_ratio = (model_value - observed_value) / observed_value.
  6. Open up to 4 new option positions per day, ranked by abs(mispricing_ratio):
       - buy options when ratio &gt;= +0.15 and exceeds 2x estimated round-trip cost
       - short options when ratio &lt;= -0.15 and exceeds 2x estimated round-trip cost
       - enforce position, margin, vega, expiration, and leverage limits
  7. Mark existing positions daily and exit if:
       - abs(mispricing_ratio) &lt;= 0.05
       - holding period reaches 10 trading days
       - DTE &lt;= 7
       - option price, delta, or vega is missing
       - stop loss or portfolio risk limit is breached
  8. Rebalance SPY hedge at the close to target net option+hedge delta of zero when tolerance is exceeded.