How to backtest a strategy against prop firm rules
Build a futures backtest that tracks trading costs, intraday equity, drawdown and consistency, with a worked spreadsheet example.
Start with the account rules
For the trading mechanics behind a test, start with the day trading futures guide. This article focuses on how the resulting trade sequence interacts with a prop account’s limits.
A profitable trade history can still breach a prop account halfway through the sample. A useful backtest records when that happens, including breaches caused by open losses.
Save the rules for the exact firm, plan, account size and stage you are studying. Record the source URL and date. Evaluation and funded stages need separate settings; passing one stage does not establish payout eligibility in the next.
Your rule sheet should contain:
- Starting balance, profit target and maximum position size.
- Drawdown calculation, enforcement threshold and any floor lock.
- Daily loss controls, session cutoff and timezone.
- Consistency calculation, minimum trading days and trading restrictions.
- Payout conditions and account debits if you are testing the funded stage.
The Tradeify guide and Alpha Futures guide explain the account stages. Save the applicable official terms alongside your test before using their figures.
Define the setup before replaying it
Write an entry rule specific enough that you could reject a trade without seeing its outcome. Include the instrument and contract month, session window, entry trigger, initial stop, exit rule and conditions that cancel the setup.
Record whether you allow another attempt after a stop and how you handle overlapping positions. Decide how you will treat scheduled announcements and the end of the trading session. A screenshot of a winning setup cannot supply all these rules.
Choose the historical period before reviewing results. Keep a later period untouched for a separate test. When you change the setup after seeing a loss, give it a new version and rerun the relevant sample. Mixing several rule versions into one result makes that result difficult to interpret.
Build a trade sheet and a session sheet
Use one row per completed position if every position enters and exits at one price. Partial fills and scale-outs need separate execution rows so quantities and costs reconcile.
| Sheet | Fields to record |
|---|---|
| Trades | Setup version, timestamp, timezone, contract, side and quantity |
| Trades | Entry, initial stop, exit, gross P&L, fees and assumed slippage |
| Trades | Screenshot, exit reason and any ambiguous fill |
| Sessions | Opening balance, net P&L, closing balance and lowest account equity |
| Sessions | Current loss floor, next session’s floor and any daily-limit event |
| Sessions | Firm-defined consistency profit, largest eligible day and rule status |
Keep evaluation fees, subscriptions and resets in a separate cash-cost sheet. They affect the cost of participating, but should only reduce simulated trading equity if the firm’s accounting actually posts them there.
Include fees and a fill assumption
For a simple long trade, gross P&L is (exit − entry) × dollars per point × contracts. Reverse the price difference for a short. The NQ and MNQ guide works through the contract values.
Consider an illustrative two-contract MNQ trade that gains 40 points. Its gross P&L is 40 × $2 × 2 = $160. Assume $2.50 in round-trip fees per contract and two adverse ticks per contract across entry and exit. At $0.50 per tick, modeled net P&L is:
$160 − $5 fees − $2 slippage = $153.
These costs are assumptions, not quoted broker rates. If your entry and exit prices already incorporate slippage, do not deduct it again. Likewise, check whether an imported P&L column is already net of commissions. CME MNQ specifications.
Historical candles do not establish every fill. If a candle reaches both your stop and target, the candle alone may not reveal which came first. Use finer data where available, or record the ambiguity and apply a stated conservative assumption consistently. A touched limit price also does not establish that your order would have filled.
Replay the account in time order
Apply position limits and trading restrictions before accepting each simulated entry. Track open P&L across the whole account, including overlapping trades and costs. Stop that account’s run at its first hard breach.
An end-of-day floor can still be enforced during the session. Tradeify explicitly checks net liquidation value against its existing floor in real time. A later recovery does not reverse a breach. Update the trailing floor at the documented session boundary, after checking the session against the floor already in force. Tradeify drawdown rules.
Closed-trade data alone cannot confirm intraday compliance. If you lack the equity path, mark that part of the result as unverified. Summing the worst excursion of individual overlapping trades also fails to show whether those losses occurred simultaneously.
Work through a hypothetical evaluation
Assume a $50,000 start, a $2,000 EOD trailing allowance with no lock, and a $3,000 profit target. Touching the current floor ends the run. For this example only, consistency requires the largest net winning session to be at most 40% of total net profit. There is no separate daily loss limit in this model.
The initial floor is $48,000. The following figures are invented to demonstrate the calculation, with all trading costs already included.
| Session | Net P&L | Lowest equity | Closing balance | Floor for next session |
|---|---|---|---|---|
| 1 | +$1,200 | $49,600 | $51,200 | $49,200 |
| 2 | −$400 | $49,300 | $50,800 | $49,200 |
| 3 | +$700 | $50,500 | $51,500 | $49,500 |
| 4 | +$500 | $51,300 | $52,000 | $50,000 |
| 5 | +$1,200 | $51,600 | $53,200 | $51,200 |
Session two comes within $100 of its $49,200 floor. If its lowest equity had reached $49,200, this run would end there even with the same closing balance.
After session four, net profit is $2,000 and the largest day is $1,200. The consistency ratio is 60%. Reaching 40% requires total profit of $1,200 ÷ 0.40 = $3,000, assuming no larger winning day. Session five brings profit to $3,200 and the ratio to 37.5%. The model’s target and consistency checks now pass.
Copy the real firm’s definition into your own sheet. Tradeify’s consistency documentation excludes commissions from its profit measure; using this example’s net figures unchanged would misstate that calculation. Passing consistency also leaves other requirements to check. Tradeify consistency rules.
Review the weak points before the profit total
Record the first breach, smallest equity cushion, worst session and results after costs. Explain every excluded or ambiguous trade. If you simulate payouts, apply the gross account debit and resulting floor before continuing. The drawdown guide shows how withdrawals change the remaining cushion.
Run the fixed setup on the untouched period. Repeat the calculation with less favorable fills and higher costs. If a small change removes the apparent advantage, retain that finding in the report. These checks test sensitivity; they cannot reproduce every future market condition or execution problem.
Keep the charts, rule snapshot and spreadsheet together. A backtest documents how specified assumptions behaved on historical data. It does not establish future profitability, an actual funded-account pass or a payout entitlement.
Keep the conversation going.
Bring your questions to Discord, or follow my market sessions on YouTube.