RiskKit field guide / Monte Carlo

How to read a trading Monte Carlo simulation

An attractive equity curve is easy to overinterpret. A simulation is more useful when you can explain what created every path, why the highlighted cases differ, and what the model leaves out.

The short version

RiskKit draws many possible win/loss sequences from one assumed win rate and reward:risk ratio. It applies your sizing rule after each trade, then compares final balances, drawdowns, target hits and a user-defined ruin floor. These are conditional scenarios, not forecasts.

Begin with expectancy, not the chart

Express a losing trade as −1R and an average winning trade as +bR. With win probability p, the simplified expected result per trade is p × b − (1 − p) R, before costs.

Worked example

At a 45% win rate and an average win of 1.8R, expectancy is 0.45 × 1.8 − 0.55 = +0.26R per trade. The break-even win rate before costs is 1 ÷ (1 + 1.8) ≈ 35.7%.

Positive expectancy is only a property of these assumed averages. It does not mean each set of 100 trades is profitable. If win rate or average payoff changes, the simulation's premise changes too. Calculate expectancy from your own inputs before exploring the equity paths.

What each equity path represents

For every bot path, the simulator independently samples a win or loss on each trade using the entered win rate. A win adds the current cash risk multiplied by reward:risk; a loss subtracts the current cash risk. Risk is then recalculated according to the chosen fixed-risk or Kelly rule. The chart plots each bot's balance at the end of every simulated month.

The gray lines are all generated paths, not a confidence band. A fresh run samples new outcomes, so numbers can move even when inputs stay the same. More bot paths make the displayed fraction of paths less sensitive to one particular sample, but they do not repair inaccurate assumptions. For the probability of a particular loss run under this independent-trades assumption, use the Losing Streak Calculator.

P10, P50 and P90 are not promises

RiskKit sorts the generated paths by final balance. The P10, P50 and P90 lines are actual simulated paths near the 10th, 50th and 90th percentiles of that sorted list. P50 is the median final outcome. P10 is a poor sampled ending, and P90 is a favourable sampled ending.

The labels “worst” and “best” on the dashboard refer to these representative P10 and P90 cases—not the worst or best outcome that could ever happen. A P90 path can have a painful drawdown on the way up. Inspect each case's maximum drawdown and loss streak as well as its final balance.

Read the ruin floor literally

“Portfolio ruined below” is a threshold you choose as a percentage of starting capital. If a $10,000 account has a 20% floor, RiskKit counts a path as ruined when its balance reaches $2,000 or less. That does not mean the legal account balance is zero; it means the path crossed your chosen stop-trading line.

“Risk of ruin” is the share of simulated paths that cross that line within the selected horizon. “Failure / horizon” reports the first simulated month in which a highlighted path crosses it, or the end of the horizon if it survives. The month number is relative to the start of the run, not a calendar prediction.

Choose a sizing rule that matches your plan

Fixed risk

Use a percentage of current equity for continuous resizing, or fixed cash per cycle. In turnover mode, cash risk remains tied to the current cycle base until the portfolio passes the turnover target, when the base steps up. This model helps compare compounding against a staged-risk plan.

Open fixed-risk simulator →

Fractional Kelly

Full Kelly is calculated from assumed win rate and average payoff; RiskKit then applies the selected fraction and a maximum-risk cap. For the 45% and 1.8R example, full Kelly is about 14.4% of equity. Quarter Kelly is about 3.6%, but a 2% cap limits the simulator to 2% per trade.

Open Kelly simulator →

What this simulation cannot tell you

  • Trades are sampled independently from a constant win rate and constant payoff. Market regimes, correlated losses and changing strategy performance are not represented.
  • Spreads, commissions, slippage, financing, taxes and missed fills are not deducted. Use net results from your own records when estimating inputs.
  • A stop loss may fill at a worse price than planned. Leverage or contract-specific margin events may end a real strategy before the model's balance floor.
  • These paths describe a simplified model, not the probability distribution of future markets. Stress-test weaker win rates, smaller payoffs and larger risk before relying on any result.

Position sizing is only one part of a risk plan. CME Group's risk-management example illustrates why a percentage risk rule and the distance to a stop must be considered together. The original Kelly paper develops the growth-rate idea; it does not make an estimated trading edge certain.