HISTORICAL BACKTEST · AAPL DAILY
What this backtest found
2016-09-28 to 2026-09-25 · $10,000.00 USD starting capital · costs as specified below
The strategy returned 500.28% over the full test period, compared with 1097.22% for buy and hold. It underperformed that benchmark on total return. Its largest decline from a previous equity high was 26.89%.
CAGR is the equivalent compounded yearly return across these dates, not the return earned in every year. Drawdown measures the largest fall from a previous daily equity high. Ending equity includes any open position marked to the final close.
How this strategy works
AAPL is tested on daily bars with one long position at a time. Entry conditions are combined using AND: every condition must match. A close signal executes at the next session’s open.
- Entry: MACD (12/26) crosses above MACD signal (9).
- Indicator exit: MACD (12/26) crosses below MACD signal (9). It executes at the next open.
MACD (12, 26, 9): the 12-session EMA minus the 26-session EMA forms the MACD line. Its 9-session EMA is the signal line. A crossing requires the previous line relationship and the current relationship to change; staying above or below alone is not another crossover. A signal-line crossover can occur above or below zero. This is a momentum signal, not a forecast, and sideways markets can produce repeated reversals.
10% trailing stop: starts at the entry open and follows the highest daily close reached while invested. The updated level becomes active the next session. The line is not tightened using the same day’s high or low. Gaps can execute beyond the level; it is not a guaranteed maximum loss.
Strategy versus buy and hold
Both curves start with $10,000.00 USD and use the same historical dates. Buy and hold returned 1097.22% (28.21% annualized), with 38.73% maximum drawdown.
● Strategy ● Buy and hold
Drawdowns over time
● Strategy ● Buy and hold
Annual performance
| Year | Strategy | Buy and hold | Closed trades | Worst ongoing drawdown |
|---|---|---|---|---|
| 2016 (partial) | 5.21% | 1.9% | 0 | 2.41% |
| 2017 | 37.49% | 46.11% | 8 | 5.4% |
| 2018 | -3.24% | -6.79% | 10 | 18.91% |
| 2019 | 26.61% | 86.16% | 11 | 26.89% |
| 2020 | 68.5% | 80.75% | 8 | 11.64% |
| 2021 | 23.39% | 33.82% | 7 | 16.19% |
| 2022 | -2.26% | -26.83% | 6 | 18.08% |
| 2023 | 27.48% | 48.18% | 13 | 14.61% |
| 2024 | 14.56% | 30.07% | 11 | 10.77% |
| 2025 | -12.12% | 8.56% | 11 | 22.88% |
| 2026 (partial) | 29.89% | 25.13% | 4 | 17.85% |
Annual returns use the previous year’s final equity, or initial capital for the first year. Ongoing drawdown retains the previous all-time peak, including peaks in earlier years.
Execution risk observed in this test
A 10% stop did not cap every loss: the trade exiting on 2022-06-13 lost 10.85% after opening beyond the stop. Daily gaps can bypass the intended exit level.
What these results mean
The strategy’s 19.65% annualized return was 8.56 percentage points below the long buy-and-hold benchmark’s 28.21%. Its worst daily peak-to-trough decline was smaller by 11.84 percentage points. That is a return/drawdown trade-off, not proof of better risk-adjusted performance. It held a position during 53.07% of sessions; cash earned no interest in this simulation.
Across 89 closed trades, 52.8% were profitable. The average winner was 6.83% and the average loser was -3.08%. Profit factor was 2.06: $2.06 of positive closed-trade P&L for each $1 of losses. The longest losing run was 4 trades. Win rate alone does not capture the size of wins and losses.
The weakest displayed calendar period was 2025 at -12.12%. First and last years may be partial. A full-period average can hide substantial variation.
The longest observed drawdown lasted 478 calendar days, with 329 underwater sessions, from 2018-09-04 to 2019-12-26. Equity regained the earlier peak on the ending date.
Best closed trade: 26.42% · 2020-03-30 to 2020-05-28, exiting because of indicator exit.
Worst closed trade: -10.85% · 2022-05-31 to 2022-06-13, exiting because of gap below stop.
Fees and slippage are 0% and 0% per side. This is a zero-cost simulation; adding execution costs can reduce results. This report contains no out-of-sample validation or parameter robustness study, so it does not establish that these rules generalize.
Price, trades and active exit levels
● Daily close ● Trailing stop (10%)
MACD and signal line
● MACD (12/26) ● MACD signal (9)
Price circles show executed entries and exits; select a circle to open its trade. Triangles mark individual crossover conditions, not executed orders: other conditions and the existing position can prevent execution. Dashed exit levels apply only while a position is held. All charts share the same date range. Zoom in/out, select a year, or pan on any chart to update them together.
Indicator overlays are approximated from saved rounded closes because the original full dataset is unavailable. Saved trades and equity remain unchanged; volume is unavailable. Active exit levels for the legacy open position are unavailable because its entry was not saved.
Trade history
Show 89 closed trades
| Entry | Exit | Entry $ | Exit $ | Return | Reason |
|---|---|---|---|---|---|
| 2016-11-21 | 2017-01-04 | 27.52 | 28.97 | 5.27% | Indicator exit |
| 2017-01-10 | 2017-01-25 | 29.70 | 30.11 | 1.38% | Indicator exit |
| 2017-01-26 | 2017-02-28 | 30.44 | 34.29 | 12.62% | Indicator exit |
| 2017-05-02 | 2017-05-22 | 36.89 | 38.51 | 4.4% | Indicator exit |
| 2017-07-11 | 2017-08-21 | 36.18 | 39.38 | 8.82% | Indicator exit |
| 2017-08-30 | 2017-09-07 | 40.93 | 40.53 | -0.99% | Indicator exit |
| 2017-10-09 | 2017-11-16 | 38.96 | 42.80 | 9.86% | Indicator exit |
| 2017-12-19 | 2017-12-27 | 43.66 | 42.53 | -2.61% | Indicator exit |
| 2018-01-09 | 2018-01-25 | 43.64 | 43.57 | -0.15% | Indicator exit |
| 2018-02-15 | 2018-03-20 | 42.45 | 43.82 | 3.23% | Indicator exit |
| 2018-04-11 | 2018-04-23 | 43.06 | 41.70 | -3.15% | Indicator exit |
| 2018-05-03 | 2018-05-29 | 43.97 | 46.90 | 6.66% | Indicator exit |
| 2018-06-07 | 2018-06-11 | 48.54 | 47.84 | -1.44% | Indicator exit |
| 2018-07-10 | 2018-07-31 | 47.65 | 47.59 | -0.12% | Indicator exit |
| 2018-08-02 | 2018-09-10 | 50.16 | 55.24 | 10.14% | Indicator exit |
| 2018-10-03 | 2018-10-09 | 57.51 | 55.91 | -2.79% | Indicator exit |
| 2018-12-04 | 2018-12-12 | 45.24 | 42.60 | -5.84% | Indicator exit |
| 2018-12-13 | 2018-12-21 | 42.62 | 39.22 | -7.99% | Indicator exit |
| 2018-12-31 | 2019-01-03 | 39.63 | 35.66 | -10% | Fixed / trailing stop |
| 2019-03-13 | 2019-03-29 | 45.57 | 47.49 | 4.2% | Indicator exit |
| 2019-04-03 | 2019-04-16 | 48.31 | 49.87 | 3.21% | Indicator exit |
| 2019-04-22 | 2019-04-29 | 50.67 | 51.10 | 0.86% | Indicator exit |
| 2019-05-06 | 2019-05-07 | 51.07 | 51.48 | 0.82% | Indicator exit |
| 2019-06-07 | 2019-07-18 | 46.64 | 51.00 | 9.34% | Indicator exit |
| 2019-07-24 | 2019-08-05 | 51.88 | 49.53 | -4.53% | Indicator exit |
| 2019-08-20 | 2019-08-28 | 52.70 | 51.04 | -3.14% | Indicator exit |
| 2019-09-03 | 2019-09-04 | 51.61 | 52.10 | 0.95% | Indicator exit |
| 2019-09-06 | 2019-09-25 | 53.50 | 54.69 | 2.23% | Indicator exit |
| 2019-10-08 | 2019-11-21 | 56.46 | 66.00 | 16.89% | Indicator exit |
| 2019-12-17 | 2020-01-27 | 69.95 | 77.52 | 10.81% | Indicator exit |
| 2020-03-30 | 2020-05-28 | 62.63 | 79.18 | 26.42% | Indicator exit |
| 2020-06-09 | 2020-06-30 | 83.03 | 90.02 | 8.42% | Indicator exit |
| 2020-07-09 | 2020-07-20 | 96.26 | 96.40 | 0.14% | Indicator exit |
| 2020-07-21 | 2020-07-22 | 99.17 | 96.67 | -2.53% | Indicator exit |
| 2020-08-03 | 2020-09-03 | 108.31 | 120.76 | 11.5% | Fixed / trailing stop |
| 2020-10-02 | 2020-10-22 | 112.84 | 117.43 | 4.07% | Indicator exit |
| 2020-11-09 | 2020-11-24 | 120.50 | 113.91 | -5.47% | Indicator exit |
| 2020-12-02 | 2021-01-06 | 122.03 | 127.72 | 4.66% | Indicator exit |
| 2021-01-25 | 2021-02-02 | 143.03 | 135.62 | -5.18% | Indicator exit |
| 2021-03-16 | 2021-04-30 | 125.71 | 131.80 | 4.84% | Indicator exit |
| 2021-06-08 | 2021-07-22 | 126.62 | 145.93 | 15.25% | Indicator exit |
| 2021-09-01 | 2021-09-13 | 152.80 | 150.65 | -1.41% | Indicator exit |
| 2021-10-15 | 2021-11-11 | 143.72 | 148.96 | 3.65% | Indicator exit |
| 2021-11-18 | 2021-12-20 | 153.65 | 168.23 | 9.49% | Indicator exit |
| 2022-02-02 | 2022-02-18 | 174.74 | 169.84 | -2.8% | Indicator exit |
| 2022-03-21 | 2022-04-11 | 163.51 | 168.73 | 3.19% | Indicator exit |
| 2022-05-31 | 2022-06-13 | 149.03 | 132.86 | -10.85% | Gap below stop |
| 2022-06-24 | 2022-08-23 | 139.90 | 167.13 | 19.46% | Indicator exit |
| 2022-10-18 | 2022-11-03 | 145.34 | 140.17 | -3.56% | Fixed / trailing stop |
| 2022-11-14 | 2022-11-30 | 149.06 | 141.42 | -5.13% | Indicator exit |
| 2023-01-10 | 2023-02-22 | 130.28 | 148.81 | 14.22% | Indicator exit |
| 2023-03-17 | 2023-04-12 | 156.08 | 161.22 | 3.29% | Indicator exit |
| 2023-04-20 | 2023-04-21 | 166.09 | 165.05 | -0.63% | Indicator exit |
| 2023-05-02 | 2023-05-03 | 170.09 | 169.51 | -0.34% | Indicator exit |
| 2023-05-08 | 2023-05-17 | 172.52 | 171.75 | -0.45% | Indicator exit |
| 2023-05-22 | 2023-05-23 | 173.96 | 173.13 | -0.48% | Indicator exit |
| 2023-06-01 | 2023-06-27 | 177.70 | 185.91 | 4.62% | Indicator exit |
| 2023-06-28 | 2023-07-11 | 187.97 | 189.20 | 0.65% | Indicator exit |
| 2023-08-28 | 2023-09-13 | 180.09 | 176.49 | -2% | Indicator exit |
| 2023-10-05 | 2023-10-23 | 173.74 | 170.97 | -1.59% | Indicator exit |
| 2023-11-03 | 2023-12-01 | 174.24 | 190.33 | 9.23% | Indicator exit |
| 2023-12-11 | 2023-12-12 | 193.22 | 192.92 | -0.16% | Indicator exit |
| 2023-12-14 | 2023-12-20 | 198.01 | 196.86 | -0.58% | Indicator exit |
| 2024-01-22 | 2024-02-01 | 192.29 | 184.01 | -4.31% | Indicator exit |
| 2024-03-19 | 2024-04-22 | 174.34 | 165.57 | -5.03% | Indicator exit |
| 2024-04-26 | 2024-05-30 | 169.83 | 190.78 | 12.34% | Indicator exit |
| 2024-06-06 | 2024-06-07 | 195.67 | 194.65 | -0.52% | Indicator exit |
| 2024-06-10 | 2024-06-11 | 196.88 | 193.69 | -1.62% | Indicator exit |
| 2024-06-12 | 2024-06-26 | 207.37 | 211.50 | 1.99% | Indicator exit |
| 2024-07-03 | 2024-07-19 | 220.00 | 224.84 | 2.2% | Indicator exit |
| 2024-08-16 | 2024-09-05 | 223.78 | 221.73 | -0.92% | Indicator exit |
| 2024-09-23 | 2024-10-08 | 227.34 | 224.25 | -1.36% | Indicator exit |
| 2024-10-11 | 2024-10-28 | 229.49 | 233.34 | 1.68% | Indicator exit |
| 2024-11-20 | 2024-12-31 | 228.06 | 252.44 | 10.69% | Indicator exit |
| 2025-01-30 | 2025-03-04 | 238.67 | 237.71 | -0.4% | Indicator exit |
| 2025-03-26 | 2025-04-03 | 223.51 | 201.50 | -9.85% | Fixed / trailing stop |
| 2025-04-16 | 2025-05-09 | 198.36 | 199.00 | 0.32% | Indicator exit |
| 2025-05-13 | 2025-05-23 | 210.37 | 193.67 | -7.94% | Indicator exit |
| 2025-06-09 | 2025-06-12 | 204.44 | 199.08 | -2.62% | Indicator exit |
| 2025-06-24 | 2025-07-30 | 202.59 | 211.90 | 4.6% | Indicator exit |
| 2025-08-08 | 2025-08-26 | 220.86 | 226.86 | 2.72% | Indicator exit |
| 2025-09-04 | 2025-09-11 | 238.45 | 226.84 | -4.87% | Indicator exit |
| 2025-09-22 | 2025-10-08 | 248.30 | 256.52 | 3.31% | Indicator exit |
| 2025-10-24 | 2025-11-10 | 261.16 | 269.11 | 3.04% | Indicator exit |
| 2025-12-01 | 2025-12-09 | 278.10 | 278.16 | 0.02% | Indicator exit |
| 2026-01-29 | 2026-02-17 | 258.00 | 257.90 | -0.04% | Indicator exit |
| 2026-02-25 | 2026-03-03 | 271.73 | 263.48 | -3.04% | Indicator exit |
| 2026-04-01 | 2026-06-04 | 253.90 | 313.16 | 23.34% | Indicator exit |
| 2026-07-06 | 2026-07-31 | 307.22 | 304.74 | -0.81% | Gap below stop |
Exact rules and methodology
Read the strategy-specific explanation above.
- Signals use completed daily bars; entries and indicator/holding exits execute at the next session open. Indicators warm up using earlier history; no pre-range entry signal is carried in.
- Opening stop/target gaps execute at open. Otherwise a scheduled indicator/holding exit executes at open; within a bar, stop takes priority if both stop and target touch.
- Initial capital $10,000; one fully allocated fractional position, no pyramiding or leverage. Fees and adverse slippage apply to entry and exit. Buy-and-hold benchmark is always long.
- Open positions are marked at the last close without an assumed final sale fee. Cash interest and dividends are excluded.
Results are calculated on the supplied daily prices. Dividends and cash interest are excluded.
Calculated: 2026-09-30 01:16:09 UTC. Engine: 3.0. Data: AAPL, 2016-09-28–2026-09-25.
Dataset fingerprint
0d971f6fbef34f44fc3c55955eb64a877767b56e300e49beb27bdc1e30bc572fRelated backtests
These are separate saved tests. Compare dates and costs before comparing results.
Understand the metrics
What is CAGR?
The equivalent compounded yearly growth across the test’s elapsed calendar dates. It is not the return earned in each year.
What are drawdown and drawdown duration?
Drawdown is the percentage decline from a previous daily equity peak. Longest drawdown duration is the longest observed calendar time from a peak until that equity level is regained, or until the test ends. Underwater sessions count daily closes below the peak and exclude the recovery close. This duration need not belong to the deepest drawdown. “Unrecovered at test end” means the recovery date is unknown.
How is profit factor calculated?
Gross positive dollar profit divided by the absolute sum of negative dollar profit across closed trades, after configured costs. It excludes open positions. Because capital compounds, later trades can have greater dollar weight. Legacy reports without saved dollar P&L use reconstructed amounts from rounded trade returns and are labeled approximate. No losses gives “No losing trades,” not a finite ratio.
What are best/worst trade and losing streak?
Best and worst rank closed trades by percentage return. Longest losing streak counts consecutive closed trades with negative returns; a zero-return or positive trade breaks the streak. These statistics do not forecast future outcomes.
How are holding period and time invested measured?
Holding periods count sessions inclusively, including entry and exit sessions. Time invested is the share of sessions with a position at any point; it does not measure intraday hours. Average winners and losers use closed-trade percentage returns.
Educational historical simulation, not investment advice.