The term a Monte Carlo engine drops
Nine tokenised equity feeds, eighty-eight days
1Introduction
In September 2026 a finite-time singularity of the three-dimensional Navier–Stokes equations under smooth forcing was announced with a machine-checked proof [1]. The equations earn that behaviour from one nonlinear term, and the same term is responsible for a milder everyday property of turbulent flow: activity is not spread evenly. Dissipation arrives in bursts, and velocity increments are close to Gaussian when measured across large separations and heavy-tailed when measured across small ones. That scale-dependence is intermittency [2].
An on-chain option engine prices by simulation: it walks a price forward step by step in fixed-point arithmetic inside a view call, averages the payoffs, and charges nothing because nothing is written. The walk it takes is geometric Brownian motion, in which every step is an independent draw from one fixed variance. That process has no intermittency by construction, at any scale.
This paper asks what that assumption costs. Section 3 reports a negative result and Section 4 a positive one; Section 6 fits a process with the missing property, Section 7 prices the same contracts under both, and Section 8 measures what the term costs in gas.
2Data
Five-minute bars for the nine equities behind a set of tokenised-stock feeds: AMD, INTC, MSFT, MU, NVDA, SNDK, SPY, TSLA and USO, — bars each over eighty-eight days. Returns are taken bar to bar within a session; spans crossing an overnight or weekend gap are removed, leaving — usable returns per ticker and — in total. All returns are in percent. Every number below is regenerated by tools/audit.py, which stamps the SHA-256 of each input into its output.
Every statistic is computed per ticker and then summarised. Concatenating nine series of different volatility and measuring the result manufactures both of the effects this paper is about: the raw pooled excess kurtosis of this sample is —, against a per-ticker median of —, and the same inflation appears in the absolute-return slope. Where a pooled figure is reported below, each ticker is standardised to zero mean and unit variance first, so the pool measures shape and not the spread between tickers.
3The term that is not there
The first thing to test is the reading the fluid analogy suggests most directly: that a move pushes the next move the same way, so that the flow accelerates itself. Regressing a return on its own lag and on a nonlinear self-push term,
per ticker with Newey–West standard errors at ten lags, gives a median φ of —. It is negative on — of the nine and reaches |t| ≥ 2 on only —, which is the signature of ordinary bid-ask bounce rather than self-acceleration. The nonlinear coefficient is worse behaved still: it is significant on — of the nine, negative on —, and its median is — per percent against a range of —. The sign of a return carries almost nothing; its autocorrelation has median —.
Table 1. Equation (1) per ticker. A term that mattered would agree across the nine; this one does not.
| ticker | φ | t | κ | t |
|---|
Direction, then, does not feed on itself in this sample. A Monte Carlo engine loses nothing by drawing each step's sign fresh.
4The term that is
Size is a different matter. Regressing absolute return on its own lag, per ticker, gives a slope with median — and range —. It is positive on all nine and the smallest t statistic among them is —. Standardising each ticker and pooling gives —. The autocorrelation decays slowly:
Table 2. Autocorrelation of absolute five-minute return: the median across the nine tickers, with the range beneath.
A large move is followed by a large move, in either direction, on all nine tickers. This is the property a fixed-variance walk cannot have.
5Intermittency
Clustering alone does not distinguish the market from a Brownian walk with a slowly varying volatility supplied from outside. The sharper test is how the shape of the return distribution changes with the horizon. Independent Gaussian steps add to a Gaussian, so a Brownian walk has zero excess kurtosis at every scale. A turbulent field does not.
Table 3. Excess kurtosis by ticker and horizon, with the median across the nine, the pool after standardising each ticker, and a Brownian walk.
Short-dated contracts are the ones an engine meets first, and they are priced against the fattest part of this picture.
6A process that has it
The smallest standard process with the property is one that carries variance forward and lets each step feed the next one's size:
that is GARCH(1,1) [3]. Setting α = β = 0 leaves the variance fixed and recovers the Brownian walk exactly, so the two prices below come from one process at two parameter settings and the difference between them is the term alone. Fitted by maximum likelihood per ticker:
Table 4. GARCH(1,1) fitted per ticker. α + β is the persistence of a burst and the half-life is stated in bars of five minutes.
| ticker | ω | α | β | α+β | half-life | annualised vol |
|---|
Table 5. Each ticker simulated from its own fit, every series standardised, then pooled, against the market treated the same way and a Brownian walk treated the same way. Standardising is what makes the three rows comparable.
| series | excess kurtosis | 99th |r| | max |r| | |r| autocorr. |
|---|
The fitted process overshoots the fourth moment and reproduces the ninety-ninth percentile and the clustering. The Brownian walk matches the second moment by construction and nothing else.
7What the term is worth
The same European calls are priced under both processes with — paths each. Two things are held equal so that only the clustering differs: the burst process starts at, and reverts to, the per-step variance the Brownian walk uses, and both carry the −σ²/2 convexity correction, so E[ST] = S0 under each.
The result is not the symmetric transfer one might expect. The Brownian walk is too expensive at and near the money on every ticker at both horizons, by five to twenty percent. It is too cheap in one place only, ten percent out at one day, and there it is — of the correct value. That is also the cell where the Brownian price is so small that five of the nine tickers fall below the floor and are dropped, so it rests on four.
Table 6. Median ratio of burst price to Brownian price, with the range. A ticker is dropped from a row when its Brownian price falls below — of spot, where the ratio is a rounding artefact rather than a result; the count dropped is shown.
| strike | horizon | tickers | median ratio | range |
|---|
8What the term costs in a view call
The engine's economics rest on the quote being free: a view call burns no gas from anyone's wallet, but a node still caps how much it will execute. The term adds one state variable per path and, written directly, a square root per step. Taken from scratch that root is a division loop, and it dominates: measured over 64 paths of 78 steps, the burst engine costs 73.7 million gas against 5.8 million for the Brownian walk, a factor of 12.8.
It need not. The standard deviation moves by a few percent per step, so the previous value is already an excellent guess and three Newton steps from it land on the answer. Carrying σ rather than σ² and warm-starting its root brings the same computation to 14.4 million gas, a factor of 2.5, which fits inside a fifty-million view-call budget with room for the payoff. The corner case α = β = 0 reproduces the Brownian price to the last digit, which is the test that the warm-started root is exact and not merely close.
Table 7. Gas for one quote, 78 steps, measured in Foundry.
| engine | paths | steps | gas | against Brownian |
|---|
9Scope
The fit and the pricing use the same eighty-eight days, so the comparison is in-sample: it states what an engine calibrated on this window would have charged, not what it will earn. Adjacent bars and simultaneous tickers are correlated. Prices are model values under each process, not quotes or executions, and no spread, fee or hedging cost is included. The gas figures are from a reference implementation and a production engine will differ.
10Reproduction
tools/audit.py regenerates every table from the cached bars and writes the input hashes into its output. src/BurstEngine.sol is the reference implementation; its callPrice carries the variance and callPriceBrownian is the same contract with the term removed, so the gas difference is the term and nothing else.
References
- [1]OpenAI. On the Navier–Stokes Millennium Prize Problem. Finite-time blow-up under smooth forcing, corresponding to statements (C) and (D) of the Clay formulation, with a Lean formalisation. Announced 8 September 2026. The Clay Mathematics Institute stated on 11 September that the problem has "apparently been settled"; that is neither an award nor a verification.
- [2]A. N. Kolmogorov. A refinement of previous hypotheses concerning the local structure of turbulence in a viscous incompressible fluid at high Reynolds number. Journal of Fluid Mechanics 13, 82–85, 1962.
- [3]T. Bollerslev. Generalized autoregressive conditional heteroskedasticity. Journal of Econometrics 31, 307–327, 1986.
- [4]F. Black, M. Scholes. The pricing of options and corporate liabilities. Journal of Political Economy 81, 637–654, 1973.