tradefloorStart free

The Model

Prices come from a model of the economy and interest rates, each company's earnings and fair value, volatility that clusters, stocks that move together, and an order book where size costs more. It's checked against real markets, and you can inspect every part of it.

Measured against real markets

pt-v21, the default model in tradefloor 0.10.2, passes all 40 pre-registered validation criteria on held-out seeds. They cover replays of the 2008 and 2020 crises, how often crashes happen, trading bots built to exploit a leak in the model, interest rates, earnings and the cost of trading. All 19 statistics in the one-year validation panel fall within bands measured on real markets. The criteria and their pass marks were fixed before the model was graded. The scripts and results are published.

CheckReal marketstradefloorPass mark
Average yearly return6.2%6.4%
Average yearly return: real markets 6.2%, tradefloor 6.4%, passes from 4.2% to 8.2%4.2% to 8.2%
How much the index swings in a year18.1%18.0%
How much the index swings in a year: real markets 18.1%, tradefloor 18.0%, passes from 14.5% to 21.7%14.5% to 21.7%
Falls of 10% or more, per decade3.654.24
Falls of 10% or more, per decade: real markets 3.65, tradefloor 4.24, passes from 1.8 to 7.31.8 to 7.3
Worst fall in a 2020-style crash34%35%
Worst fall in a 2020-style crash: real markets 34%, tradefloor 35%, passes from 24% to 44%24% to 44%
Worst fall in a 2022-style crash25%24%
Worst fall in a 2022-style crash: real markets 25%, tradefloor 24%, passes from 18% to 33%18% to 33%
How closely stocks moved together at the 2008 peak0.750.82
How closely stocks moved together at the 2008 peak: real markets 0.75, tradefloor 0.82, passes from 0.60 to 0.900.60 to 0.90

All 40 results · How they're measured · Why this preset

Limits of the result

tradefloor doesn't predict real prices, even where it matches these figures. A strategy that makes money here may not make money in live trading. The validation covers a stated range of uses, called the envelope. The one-year panel certifies runs of up to 252 trading days, and the model has six named gaps, among them that volatility memory decays faster than real past the first day and that a driven scenario moves prices at about half to four-fifths of the real size. tf.envelope.check() tells you whether a question falls inside the envelope.

The named gaps · The reproducibility contract

A model you can inspect

The docs explain each part of the model and list all 313 variables you can set, with where each value came from. You can see what drives a result before you rely on it.

341 variables in one engine

Every dot is a variable of model pt-v21, grouped by the part of the market it controls. Press play to watch a real run of 12 companies over 120 days, with a liquidity crisis on day 60.

Day 62In the crisis · index 100.2
Liquidity crisis

What each part of the model is doing today

  • Economy and rates35bond yield 4.18%
  • VIX35VIX 59.5
  • Volatility63avg move 1.28%
  • Valuation and earnings24P/E 18.5
  • Crises and stress24recession odds 42%
  • Shocks and jumps19largest move 3.1%
  • Liquidity and volume171,838M shares
  • Order book26spread 32.7 bp
  • Crowd and mispricing11off fair value 0.4%
  • Correlation87correlation 0.93
moved todayunder stress

You can set 313 of the 341 variables. The rest are fixed in the preset or derived from others. A line joins a variable to another part of the market if raising the variable by a quarter moved that part in an 80-day test run. That happened for 32 variables. Each bar runs from the reading's lowest to its highest in the run, and its tick marks the normal level, the average before the crisis. A dot glows brighter the further its part moved that day. Hover a dot for its name, its default value and what it moved.

How prices are made · Model parameters · The engine in the docs