A real result · no account needed

Momentum on AAPL, 2019–2024.

1258 trading days · 676d long · 283d short · 299d flat

Run your own
Lost to holding

This strategy lost badly to doing nothing.

It turned $1 into $1.68. Buying and holding AAPL over the same period turned it into $5.08 — roughly 3.0× better, with no trading and no fees. We lead with this because it is the result the engine actually produced, and because a backtesting tool that only ever shows you winners is not measuring anything.

Total return
+68.39%-44% to +367%spans 0
Annualised
+11.00%-11% to +37%spans 0
Sharpe
+0.39-0.39 to +1.35spans 0
Max drawdown
-42.22%-70% to -23%
Ann. volatility
28.47%
Calmar
+0.26
Win rate
47.64%
Profit factor
1.11
Trades
164
Best day
+12.86%
Worst day
-11.98%

Ranges are 95% confidence intervals from 1,000 block-bootstrap resamples (blocks averaging 41 bars, chosen from this series' own autocorrelation). They measure how much of this result came from the order the returns arrived in — not whether the strategy works on data it has never seen. Amber marks an interval that still contains the value meaning "no effect". Intervals marked understated are known to be too narrow: measured coverage for volatility was 74% against a nominal 95%.

Against holding it
strategy 0.51holding it 1.17-0.66 ± 0.54p 0.088not significant

The gap between the two Sharpe ratios is inside what this much data can tell apart — it is not evidence of an edge.

Cost tolerance
assumed 10 bpsbreakeven 41 bps4.1× headroom
0 bps 0.525 bps 0.4510 bps 0.3920 bps 0.2650 bps -0.10

Costs would have to reach 41 bps — 4.1× what you assumed — before the return reaches zero.

Equity curve

Growth of $1. Ink is the strategy; the dashed line is holding the stock.

ends 1.68 vs 5.08

Drawdown

How far below its previous peak the equity sat, day by day.

worst -42.2%

Annual returns

Strategy against buy-and-hold, year by year.

beat buy & hold in 1 / 5 years

Monthly returns

lossgain
JanFebMarAprMayJunJulAugSepOctNovDecYear
20190.00.03.35.66.7-11.35.0-13.27.29.47.88.729.3
20205.47.7-1.7-5.48.514.713.621.7-23.6-8.7-10.511.326.1
20210.63.4-1.42.6-3.32.96.5-1.6-2.4-1.68.57.422.8
2022-6.3-4.82.2-3.7-1.96.23.70.75.0-9.8-17.02.5-22.9
2023-2.82.63.02.91.49.41.3-3.7-4.0-4.01.81.79.0

Values are percent. Hover any cell for the exact figure.

Rolling Sharpe

Trailing 60-day risk-adjusted return. Steady above zero beats one lucky spike.

latest 0.41range -6.01 → 7.32above 0 64%

By market regime

Each day is labelled by how volatile the market was over the previous 21 days, split into thirds for this period: calm below 22% annualised, turbulent above 32%. The same money, sorted by the weather it was made in.

best calm · worst turbulent · spread 4.32

RegimeDaysSharpeMarket SharpeContributionHit rateIn market
Calmlowest third of days by market volatility413 (33%)3.453.7091.9% · 127% of total53%83%
Middlingmiddle third412 (33%)0.970.4037.9% · 52% of total48%77%
Turbulenthighest third413 (33%)-0.870.75-57.4% · -79% of total41%72%

Which way the market was going

The same days, labelled by the market's move over the previous 60 days: rising or falling when that move is more than 1 standard deviation of its own noise, flat otherwise. A fixed cut, not a third — so flat means flat.

best rising · worst flat · spread 1.92

DirectionDaysSharpeMarket SharpeContributionHit rateIn market
Fallingmarket down more than one standard deviation over the window25 (2%)0.22-3.420.5% · 1% of total31%52%
Flatmove inside one standard deviation of its own noise730 (61%)-0.120.51-10.6% · -15% of total46%78%
Risingmarket up more than one standard deviation444 (37%)1.812.6579.9% · 114% of total51%84%

Volatility × direction

The two labels crossed. Best cell calm & rising (4.17), worst turbulent & flat (-1.43). Cells under 21 days show the count only.

SharpeFallingFlatRising
Calm—5 d2.55168 d4.17224 d
Middling—5 d1.27272 d0.27122 d
Turbulent—15 d-1.43290 d0.9298 d

Sharpe per regime is computed over the days in that regime, which are not consecutive. Contributions are arithmetic and sum to the arithmetic total. The first 20 days have no volatility label and the first 59 no direction label — the window has not filled yet.

One strategy, one ticker, one period, on its default parameters.

The question that decides whether any of it means anything is whether the result survives on data the parameters were never fitted to. The answers that for this run. A free account runs the backtest on any stock; the checks are part of Pro.