All projects
BuildingCarver (systematic risk) · Damodaran (valuation) · Kelly (1956)

Practice instruments — ten simulators for the arithmetic of risk

Most explanations of position sizing are a paragraph and a formula. The formula is memorable and the consequence is not — it only lands when you can hold the edge fixed, move the bet size, and watch the same two thousand worlds end differently. Ten linked instruments: Kelly and sizing, small-sample horizons, compounding drag, volatility targeting, portfolio risk decomposition, calibration, valuation, options, thesis falsifiability, and a Brier-scored drill that tests whether any of it stuck.

A set of machined steel instruments in a copper-lined case, on paper.

Where it runs

In-labRuns entirely in your browser — no server, no accounts, nothing stored. Every simulation is seeded, so the same inputs always give the same worlds.

Live demo

Kelly & position sizing

A real edge, sized wrong, still ends at zero.

Presets

Each one makes a specific argument.

The process

What is actually true about your edge.

60.0%

A 52% win rate at even money is a realistic ceiling for a skilled discretionary trader.

: 1

Your estimate

The edge you think you have — where the real damage starts.

Off — you are assumed to know your edge exactly. Nobody does.

Sizing

The only variable most traders set last.

1.00x

Betting 0.00% of wealth per bet.

The run

Same seed, same worlds.

Dead below 1.0% of stake.

Expected log growth
never
Median outcome
what a typical path got
Mean outcome
flattered by a few survivors
Ruined
no path hit the floor

Expected log growth against bet size

The peak is Kelly. The second zero is the cliff. Everything red is an edge you really have, sized into certain ruin.

f* 0.00%
cliff

The same worlds, this bet size

2,000 paths over 250 bets. Change the sizing and these are the identical 2,000 worlds — only your decision moves.

median path
mean wealth
ruin floor

Where it all ended

Log-binned, because a linear histogram of wealth is one bar at zero.

What actually happened

The numbers behind the picture.

Ended below start
Lost over half
Median worst drawdown
the typical path's worst moment
95th pct drawdown
the one that ends careers
5th pct outcome
95th pct outcome

Reality check — the edge you think you have

Overestimating your edge does not scale your bet a little. It scales it by the ratio of the two Kelly fractions.

Kelly you believe
0.00%
off your estimated edge
Kelly in reality
no edge
off the true edge
You actually bet
0.00%
1.00x of believed Kelly
True Kelly multiple
what you are really running
Estimation error is off — you are assumed to know your edge exactly. Turn it on to see the gap between the edge you think you have and the one you do.

What if I'd sized differently

One Monte Carlo per multiple, across the whole range.

Runs 40 separate simulations. Takes a second or two.

Simulated results from a seeded pseudo-random generator. Nothing here is a forecast, a recommendation, or a claim about any real instrument — it is a machine for developing intuition about the arithmetic of risk. Anything you type stays in your browser.

Stack

TypeScriptReactCanvasMonte Carlo

The problem

Sizing is the decision most traders make third, after entry and exit. It is the one that determines whether the other two ever get to matter — and the arithmetic that shows why is genuinely hard to believe until you watch it happen.

The approach

Pure-TypeScript simulation core with no framework dependencies, hand-drawn canvas charts, and 180 tests pinning every numeric claim the interface makes. Where a closed form exists it is used instead of a simulation: the terminal distribution after n bets is exactly binomial, so nothing about it needs sampling.

Decisions & trade-offs

  1. 01Every path gets its own seeded RNG, so moving the sizing slider re-runs the SAME worlds with one decision changed. A shared generator would confound every comparison with luck.
  2. 02Yes/no drill questions are graded on the Brier score, not on correctness — marking on correctness would train exactly the overconfidence the Kelly instrument shows turning into 5x sizing.
  3. 03Drill questions are generated FROM the simulators, so answers are computed rather than authored and the bank cannot drift out of sync with the maths.
  4. 04No worked company case ships with it. Constructing one from the filings is where the learning is; the valuation instrument reads a CSV you author instead.

What it has found

  • Believing you win 60% while actually winning 52% puts full Kelly at exactly 5x true Kelly. Overconfidence does not shade the bet size; it multiplies it.
  • A genuine 52/48 edge, sized correctly, still finishes underwater 57% of the time over ten bets. Ten bets is not a sample, and most people quit inside one.
  • Six positions at 0.6 average correlation behave like one and a half. A book is only as diversified as its correlations, never as its line count.
  • Win 50% or lose 40% on a fair coin: expected return +5% a flip, growth rate −5.1% a flip. Both numbers are correct, and only one of them happens to you.
  • Win 50% or lose 33.3% and the geometric mean is exactly 1.0 — you compound at zero forever while the spreadsheet reports a healthy +8.3% expected return.
  • The variance-drag shortcut (growth ≈ mean − variance/2) is a second-order truncation, so it throws away skew. On a lottery-shaped payoff exact growth is about −9% and the shortcut reports about −175%: wrong by a factor of nineteen, and wrong in the pessimistic direction.
  • Detection scales as roughly the inverse SQUARE of the edge, so halving the edge quadruples the sample you need. That is the honest reason nobody has a 60/40 edge — an edge that large would be provable inside months, so it would be found and competed away. The edges that survive are the ones too small to demonstrate.
  • When three of five positions carry 86% of the risk in a single theme, a put on that theme is a sizing decision rather than a trade — which is the one place long options genuinely fit.
  • Buying more time on an option costs roughly the square root of it: doubling the days does not double the price, and does not come close to free either.
  • A tornado chart ranks inputs by the RANGE you chose for each, not by any intrinsic importance. Narrow the swings and the ordering flips, so the chart is a statement about your own uncertainty and is only as honest as the ranges are.

Where it stands

Live and compounding, and short of shipped by exactly one criterion: the code is not public. The instruments run in the browser, the core is pinned by its own test suite, and the findings above are stated — but the repository this build lives in is private, so there is no source link to give you. Checked 2026-09-05: github.com/menfem/menfem-vercel returns a 404 to anyone not signed in. A plausible-looking link would clear the bar without clearing the point of it, so there is none.

Shipped when

The Lab's barMethodology
  • You can run it here — metA live demo on the page itself, in your own browser — not a screenshot of one, and not a promise that one is coming.
  • Its core is pinned by tests — metThe arithmetic underneath is a plain module with its own test suite, so every number the interface prints is a number something checks.
  • The code is public — not yetA link to the source, so a reader who disagrees with a figure can go and read the line that produced it.
  • It has found something — metAt least one stated finding — a thing the instrument taught that the build could not have written down before it existed.

Not shipped yet: one criterion is still open — the code is public.

Build log

Running diaryNotebook
  • 2026-09-05Graded against the shipped bar — three of four, short only a public repository
Practice instruments — ten simulators for the arithmetic of risk · Lab | MenFem