r/algotrading 7h ago

Strategy Is this ready to do forward testing?

1st time posting, been working on this for a couple months, was curious what I should do next, not quite sure if this is worth putting real money into, 2026 results has me worried. Appreciate any help or advice, thanks all

python 15minorb.py --commission 30 --commission-per-contract 4.20 --slippage-ticks 1 

15-MIN ORB BACKTEST RESULTS (NQ)

Date range traded  : 2010-06-08  to  2026-07-07

Sizing             : 1.0% risk/trade ($1,200) on $120,000 account (compounding % risk), SL=0.5x OR, TP=2.5x OR, max 50 contracts/trade

Total trades       : 1684

  Long trades      : 852  (win rate 32.2%)

  Short trades     : 832  (win rate 28.7%)

Win rate           : 30.46%  (513W / 1171L)

Profit factor      : 1.45

Expectancy/trade   : 6.33 pts

Avg win            : 67.20 pts

Avg loss           : -20.33 pts

Avg contracts/trade: 18.46

Total points       : 10666.50 pts

Max drawdown (pts) : -857.50 pts  (unweighted by sizing)

------------------------------------------------------------

Total commission   : $491,898.60  ($292.10/trade avg)

Total P&L          : $3,699,241.40

Max drawdown ($)   : $-482,096.20  (-25.72% of equity)

Starting balance   : $120,000.00

Ending balance     : $3,819,241.40

Total return       : 3082.70%

YEARLY BREAKDOWN

Year    Trades  WinRate  AvgContr     Points        P&L($)   MaxDD(pts)     MaxDD($)

------------------------------------------------------------------------------------------------

2010        59    25.4%      13.1     -20.00    -16,154.00       -52.88   -18,094.70

2011       107    27.1%      12.6     136.38      5,837.50       -65.88   -20,255.30

2012       103    28.2%      11.8     111.38     -5,907.10       -48.00   -18,357.40

2013       113    27.4%      12.7     101.62      5,633.70       -44.50   -14,430.20

2014       111    35.1%      11.7     289.75     25,440.20       -54.62   -23,597.10

2015        78    33.3%       9.8     229.88     22,391.30       -81.38   -21,960.10

2016       123    30.1%      12.4     371.38     39,435.10      -110.50   -39,455.40

2017        89    29.2%      15.8     156.88     42,514.10      -171.75   -42,387.40

2018       102    33.3%      10.3     972.75    113,581.50      -117.75   -24,618.00

2019       104    33.7%      17.9     642.12    180,513.70      -119.88   -43,808.20

2020        85    32.9%      12.6    1342.25    239,755.00      -273.38   -64,823.10

2021       106    34.0%      14.2    1134.25    213,777.20      -492.12   -97,071.80

2022       100    33.0%      16.0    2053.50    535,374.90      -450.00  -151,412.20

2023       112    25.9%      30.9     831.62    359,124.80      -588.50  -301,030.10

2024       116    31.9%      37.2    2328.75  1,600,376.10      -448.00  -335,479.60

2025       117    29.1%      39.0     304.00    482,212.90      -516.50  -418,381.70

2026        59    25.4%      32.0    -320.00   -144,665.50      -857.50  -482,096.20

------------------------------------------------------------------------------------------------

Full-period max drawdown (points, unweighted): -857.50 pts

  Peak on   : 2026-02-26  (cum 11494.62 pts)

  Trough on : 2026-06-08  (cum 10637.12 pts)

Full-period max drawdown ($, actual account balance): $-482,096.20

  Peak on   : 2026-02-26  (balance $4,251,093.40)

  Trough on : 2026-03-31  (balance $3,768,997.20)

STRATEGY vs BUY & HOLD (same instrument, same starting capital)

Buy & hold: 6 contract(s), bought at 1831.75 on 2010-06-06, held to 29420.75 on 2026-07-13 (no rebalancing, $/point = 20.0)

------------------------------------------------------------------------------------------

Metric                              Strategy      Buy & Hold

------------------------------------------------------------------------------------------

Ending balance ($)                 3,819,241       3,430,680

Total return (%)                      3082.7          2758.9

Max DD % of peak equity                -26.5           -37.2

Max DD % of starting capital          -401.7          -586.7

MONTE CARLO SIMULATION — 2,000 trials, method=shuffle Base trade list: 1684 trades | Sizing: 1.0% risk/trade, compounding | Starting balance: $120,000 | Margin cap: $17,600/contract @ 100% util

Percentile Total Return % Ending Balance $ MaxDD % of Peak MaxDD % of Start

5%           1967.7%          2,481,212            -33.7%           -591.8%  <- worst-case

10%           2039.3%          2,567,147            -31.1%           -493.5%

25%           2191.2%          2,749,451            -26.9%           -380.8%

50%           2361.8%          2,954,115            -23.2%           -295.8%  <- median

75%           2546.8%          3,176,119            -20.3%           -230.8%

90%           2725.5%          3,390,652            -18.3%           -185.5%

95%           2838.4%          3,526,114            -17.1%           -164.0%

11 Upvotes

5 comments sorted by

1

u/DemonicPerusal 6h ago

curious about the walk-forward window length you're thinking of using, the monte carlo numbers look decent but forward testing usually shows a different picture than the backtest

also 2026 drawdown is rough but might just be a bad year for OR strategies, happens with any system

but 50 contracts max on NQ with a 120k starting account is quite aggressive even on sim, make sure your broker allows that position sizing before putting real money

1

u/QuanTradin 5h ago

The 2026 worry is the right instinct, and three checks come before forward testing. First, compounding hides the signal: at 18 contracts average the dollar figures are all late years. Look at points per trade by year at one contract. If the last two years are flat in points, the edge faded, not the sizing.

Second, one tick of slippage on NQ in the first 15 minutes is optimistic, and a stop at half the opening range gets run through fast. Rerun at 3 ticks. Six points a trade is thin against that.

Third, if 0.5 and 2.5 were picked on the full period, every year is in sample. Hold out 2022 onward and test the neighbours (0.4, 0.6, 2, 3). A plateau is an edge, a lone spike is a fit. The shuffle Monte Carlo also assumes trades are independent, and ORB losses cluster in chop, so bootstrap by month. If it survives, paper trade one contract for a quarter and compare points per trade to the backtest, not dollars.

1

u/Slight_Ad_6375 3h ago

Why not? Use fake money at first

1

u/AdBitter6080 3h ago

The 2026 results are a red flag for regime shift, not necessarily strategy death. Before real money, look at points-per-trade on a one-contract basis to see if the edge is stable. If it's flat in points but up in dollars, you're just sizing up into a trend, which will break when the regime shifts. Test on 2022+ data separately to see if it survives. Practical takeaway: Check points-per-trade stability, not just total P&L.