Preprint v1, 19 September 2026 generated from cached bars

The term a Monte Carlo engine drops

Nine tokenised equity feeds, eighty-eight days

Abstract. An option engine that prices by simulation inside a view call walks geometric Brownian motion: each step is a fresh draw of fixed size. Real steps are not fixed size. Using five-minute bars of the nine equities behind a set of on-chain feeds, and fitting every statistic per ticker, we find no usable memory in the direction of a move and strong memory in its size: the absolute-return slope on its own lag has median across the nine, positive on every one, with the smallest t = . Excess kurtosis has median at five minutes and falls to by half a day; a Brownian walk sits at zero at every scale. Repricing the same contracts at identical unconditional variance and identical forward, the Brownian price is of the correct at-the-money value at one day, and it is the far tail where it falls short instead: of the correct ten-percent out-of-the-money value. In Solidity the extra term costs 2.5 times a Brownian step, not 12.8, once the standard deviation is carried and its root warm-started from the previous step.
Keywords. option pricing, Monte Carlo, volatility clustering, intermittency, GARCH, on-chain simulation

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,

(1)

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.

Figure 1. Excess kurtosis of the return distribution against the horizon over which the return is measured: the median across the nine tickers, a Brownian walk, and for contrast the same nine series concatenated without standardising. Tails are heaviest at the shortest horizons and thin as the horizon grows. The raw pooled series is shown as well, to make the size of the mixture artefact visible: it is not a measurement of any ticker.

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:

(2)

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-lifeannualised 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.

seriesexcess kurtosis99th |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.

Figure 2. Burst price divided by Brownian price, by strike and horizon, one point per ticker. Below the line the Brownian walk is charging too much. It charges too much at and near the money, on every ticker and both horizons. It charges too little in one place only: ten percent out at one day, where an entire payoff depends on a burst arriving. Points whose Brownian price falls below of spot are omitted; their ratios are division by a rounding artefact, and dropping them is what turns the five-percent column around.

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.

strikehorizontickersmedian ratiorange

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.

enginepathsstepsgasagainst 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. [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. [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. [3]T. Bollerslev. Generalized autoregressive conditional heteroskedasticity. Journal of Econometrics 31, 307–327, 1986.
  4. [4]F. Black, M. Scholes. The pricing of options and corporate liabilities. Journal of Political Economy 81, 637–654, 1973.