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.
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.