Rithik Singh
All work

PassPlan · Personal project · 2026 · Python, FastAPI, Next.js

Monte Carlo decision engine

A profitable strategy can still have poor odds of passing a prop-firm evaluation. PassPlan estimates those odds by resampling a trade history into thousands of paths and running each one against the account's rules.

Question
How likely is a profitable strategy to reach a payout before it breaches a loss limit?
Built
  • A Monte Carlo engine that resamples TradingView, NinjaTrader and MetaTrader 5 trade histories into 20,000 paths.
  • Each path runs against the account's trailing-drawdown, daily-loss, consistency and withdrawal rules, with optional weighting toward recent trading days.
  • Correlation analysis and portfolio optimization across several accounts at once.
Result
In use, and checked against the realized outcome of a live strategy, which went on to reach a payout.
Stack
Python · FastAPI · Next.js

The question

How likely is a strategy to reach a payout before it breaches a loss limit?

Prop-firm accounts come with path-dependent rules, such as trailing drawdowns, daily loss limits, consistency rules, green-day requirements and withdrawal conditions. Under those rules the order of returns matters as much as their average, so a single backtested equity curve says little about the odds.

Method

Trade histories exported from TradingView, NinjaTrader or MetaTrader 5 are converted to daily profit and loss and resampled into 20,000 paths. Sampling is uniform by default, with an option to weight recent trading days more heavily.

Every path is run against the account's rules and ends in a payout, a breach, or neither. The output is the share of paths that end each way and how long they took to get there.

A separate check reruns the simulation on the last 30 days alone and compares the result with the full history, flagging whether the strategy looks to be improving, stable or weakening.

Illustrative Monte Carlo of a funded trading accountSynthetic 60-day account paths. 51% reach a +$3,000 payout target; 47% breach a trailing $2,000 drawdown first.
The average simulated day is profitable, but only 51% of 4,000 paths reach the payout, while 47% hit the trailing drawdown first. PassPlan puts a number on that risk for a specific strategy and account. Synthetic data, for illustration only.

Beyond one account

When one trader runs several accounts, correlated losing days can fail them together. PassPlan also screens strategies, measures their pairwise correlation and how often they draw down at the same time, and searches for the mix across accounts that best balances expected value, payout probability, drawdown and concentration.

Engineering

A Python engine behind a FastAPI service with a Next.js front end, deployed and in use.

Validation and limits

Checked against the realized outcome of a live prop-firm strategy, which went on to reach a payout.

Resampling assumes the future will look like the sampled history. A regime change or a shift in correlation breaks that assumption, so the output is an estimate that holds only while the history stays representative.

All workView the codeNote: Hyper-vis is my GitHub alias.