Methodology
Adaptive market simulation
How the simulation works, and where it stops.
Adaptive market simulation: a Monte Carlo simulation of a whole book’s next two weeks, built only from recent prices, re-measured on every run, and corrected against its own track record.
Step 1
The input is prices.
For every stock in the book, the simulation reads the last 382 half-hour closing prices, about four weeks of trading. With the book’s weights, that is the whole input. No fundamentals, no factor exposures, no analyst estimates, no licensed data sets.
The upside is that any name with four weeks of liquid prices can be simulated with nothing to set up. The cost is that the model knows nothing a price doesn’t show, such as an earnings date next week.
Step 2
Each stock’s behaviour is learned.
A generative model is trained on years of intraday price moves. Given a stock’s last four weeks, it draws many possible paths for the next 10 trading days, half-hour by half-hour.
What it learns is shape: fat tails, volatility that comes in bursts, and the tendency of volatility to rise after falls. One model serves every stock, so a new name needs no new training.
Step 3
How stocks move together is measured, not learned.
From the same four weeks, the simulation measures how each pair of stocks moved together (a rank correlation) and how much each stock moved. It then reorders each stock’s simulated paths so the book moves together the way it has recently, while every stock keeps its own simulated shape. This is a standard, well-documented technique (Iman and Conover, 1982; a Gaussian copula with the model’s own distributions).
Because the measurement uses only the last four weeks, it follows the market as it changes. In the March 2026 sell-off, correlations in our test book doubled within one four-week window. A long average would have missed that.
Its cost. Some of each stock’s volatility bursts get diluted when paths are combined, and joint crashes are under-reproduced: 57% of the real rate in the 24-stock book. That is above a textbook Gaussian model at the same correlations (0.128 vs 0.089), but below reality (0.225).
Step 4
The range corrects its own width.
In the 2026 test, each window’s projection was scored once its outcome was known. Before each new projection, the simulation looks at how far earlier outcomes landed from the middle of their ranges, and picks the smallest multiplier on the range’s width that would have kept 90% of them inside. That multiplier is applied to the new range, and it is shown, never hidden. A projection is never scored against an outcome it could have seen.
This is a form of conformal calibration (Romano, Patterson and Candès, 2019), the same idea a weather service uses when it checks how often “70% chance of rain” really rained. It needs about five scored windows before it starts.
Adaptive, defined
Two things adapt. Nothing else is claimed.
Co-movement and volatility
Re-measured from the trailing four weeks of prices, so the book’s structure follows the market.
The width of the range
Recalibrated from the simulation’s own published track record.
What you read off it
One simulation, several readings.
| Reading | What it is |
|---|---|
| Range | The 5th to 95th percentile of simulated 10-day outcomes, for the book and each name. |
| Bad-fortnight loss | The 5th percentile of the book’s simulated 10-day return: a 10-day 95% value at risk. |
| Risk drivers | Each position’s contribution to the spread of the book’s simulated outcomes. |
| Confidence flags | Per name: where past outcomes landed inside its range (too often high or low) and whether its simulated swing size matched reality. Gap-prone names are flagged separately. |
| Shape | Tail heaviness, skew and volatility clustering of each stock’s simulated moves vs its real ones. |
How it is checked
Five reliability checks.
1. Co-movement. Simulated vs real correlation for every pair of stocks; a slope of 1.00 and no tilt is perfect.
2. Joint crashes. How often two stocks have their worst moves at the same time, simulated vs real.
3. Size of moves. Each stock’s simulated half-hour swing size divided by its real one.
4. Centring and width. Where real outcomes land inside their ranges. They should spread evenly, with about one in ten outside.
5. Loss estimate. How often real losses beat the bad-fortnight estimate, compared with what a correct estimate would produce by chance.
Results for 2026 are on the Research page.
Limits
Where it stops.
It does not forecast direction. The middle of the range is not a prediction and should not be traded as one.
It has one year of out-of-sample testing. 2 January to 25 September 2026, 18 windows. Earlier years are next.
It has been tested on large US stocks, 8 to 50 per book. Other universes are untested in book form.
It underestimates joint crashes. Read the bad-fortnight loss as a floor in a panic.
It sees prices only. Earnings, news and events are invisible to it until they move the price.
A note on our line “Prices are all we need” nods to “Attention Is All You Need” (Vaswani et al., 2017), the paper that introduced the transformer.
See it tested.
Eighteen two-week windows of 2026, scored against what actually happened.