BACKTEST · MOMENTUM
Relative strength vs SPY
MSFT / SPY ratio above its 50 day average.
From 2015-01-02 to 2024-12-31, this rule made 107 trades and returned +160.4%. Buying and holding SPY returned +185.3% over the same dates. The largest drop from a past high was 34.7%.
Loading trades...
The rule
MSFT / SPY ratio above its 50 day average. Orders fill at the next close.
Loading the first trade...
Did it beat SPY?
How it did over time
Strategy in orange-red. SPY buy and hold in light.
Loading equity...
The same result in an AI chat
This is how the result looks when an AI agent such as Claude or ChatGPT runs it. It uses the same engine report.
Strategy equity in orange-red, SPY in light. Historical test only.
Every trade
107 trades and 214 fills, straight from the engine report. Each fill shows the day the signal fired, the day it filled, and why. This run used 0 bps fees and 0 bps slippage on each fill, except when a modeled option expires. A basis point (bps) is one hundredth of one percent.
| Signal date | Fill date | Ticker | Side | Price | Reason |
|---|---|---|---|---|---|
| 2015-04-20 | 2015-04-21 | MSFT | Buy | $42.63 | entry |
| 2015-06-15 | 2015-06-16 | MSFT | Sell | $45.83 | exit |
| 2015-06-18 | 2015-06-19 | MSFT | Buy | $46.10 | entry |
| 2015-06-19 | 2015-06-22 | MSFT | Sell | $46.23 | exit |
| 2015-07-20 | 2015-07-21 | MSFT | Buy | $47.28 | entry |
| 2015-07-22 | 2015-07-23 | MSFT | Sell | $46.11 | exit |
| 2015-07-24 | 2015-07-27 | MSFT | Buy | $45.35 | entry |
| 2015-07-28 | 2015-07-29 | MSFT | Sell | $46.29 | exit |
| 2015-07-29 | 2015-07-30 | MSFT | Buy | $46.88 | entry |
| 2015-08-21 | 2015-08-24 | MSFT | Sell | $41.68 | exit |
| 2015-08-24 | 2015-08-25 | MSFT | Buy | $40.47 | entry |
| 2015-08-25 | 2015-08-26 | MSFT | Sell | $42.71 | exit |
| 2015-08-27 | 2015-08-28 | MSFT | Buy | $43.93 | entry |
| 2015-09-01 | 2015-09-02 | MSFT | Sell | $43.36 | exit |
| 2015-09-02 | 2015-09-03 | MSFT | Buy | $43.50 | entry |
| 2015-09-14 | 2015-09-15 | MSFT | Sell | $43.98 | exit |
| 2015-09-15 | 2015-09-16 | MSFT | Buy | $44.30 | entry |
| 2016-02-05 | 2016-02-08 | MSFT | Sell | $49.41 | exit |
| 2016-02-11 | 2016-02-12 | MSFT | Buy | $50.50 | entry |
| 2016-02-12 | 2016-02-16 | MSFT | Sell | $51.09 | exit |
| 2016-03-31 | 2016-04-01 | MSFT | Buy | $55.57 | entry |
| 2016-04-05 | 2016-04-06 | MSFT | Sell | $55.12 | exit |
| 2016-04-14 | 2016-04-15 | MSFT | Buy | $55.65 | entry |
| 2016-04-20 | 2016-04-21 | MSFT | Sell | $55.78 | exit |
| 2016-04-21 | 2016-04-22 | MSFT | Buy | $51.78 | entry |
| 2016-04-22 | 2016-04-25 | MSFT | Sell | $52.11 | exit |
| 2016-07-05 | 2016-07-06 | MSFT | Buy | $51.38 | entry |
| 2016-07-06 | 2016-07-07 | MSFT | Sell | $51.38 | exit |
| 2016-07-07 | 2016-07-08 | MSFT | Buy | $52.30 | entry |
| 2016-07-19 | 2016-07-20 | MSFT | Sell | $55.91 | exit |
| 2016-07-20 | 2016-07-21 | MSFT | Buy | $55.80 | entry |
| 2016-11-10 | 2016-11-11 | MSFT | Sell | $59.02 | exit |
| 2016-11-11 | 2016-11-14 | MSFT | Buy | $58.12 | entry |
| 2016-11-14 | 2016-11-15 | MSFT | Sell | $58.87 | exit |
| 2016-11-16 | 2016-11-17 | MSFT | Buy | $60.64 | entry |
| 2016-11-30 | 2016-12-01 | MSFT | Sell | $59.20 | exit |
| 2016-12-12 | 2016-12-13 | MSFT | Buy | $62.98 | entry |
| 2017-01-04 | 2017-01-05 | MSFT | Sell | $62.30 | exit |
| 2017-01-11 | 2017-01-12 | MSFT | Buy | $62.61 | entry |
| 2017-01-12 | 2017-01-13 | MSFT | Sell | $62.70 | exit |
Show all 214 fills
| Signal date | Fill date | Ticker | Side | Price | Reason |
|---|---|---|---|---|---|
| 2017-01-17 | 2017-01-18 | MSFT | Buy | $62.50 | entry |
| 2017-01-18 | 2017-01-19 | MSFT | Sell | $62.30 | exit |
| 2017-01-20 | 2017-01-23 | MSFT | Buy | $62.96 | entry |
| 2017-02-07 | 2017-02-08 | MSFT | Sell | $63.34 | exit |
| 2017-02-09 | 2017-02-10 | MSFT | Buy | $64.00 | entry |
| 2017-02-10 | 2017-02-13 | MSFT | Sell | $64.72 | exit |
| 2017-02-13 | 2017-02-14 | MSFT | Buy | $64.57 | entry |
| 2017-02-14 | 2017-02-15 | MSFT | Sell | $64.53 | exit |
| 2017-03-22 | 2017-03-23 | MSFT | Buy | $64.87 | entry |
| 2017-06-27 | 2017-06-28 | MSFT | Sell | $69.80 | exit |
| 2017-07-10 | 2017-07-11 | MSFT | Buy | $69.99 | entry |
| 2017-09-21 | 2017-09-22 | MSFT | Sell | $74.41 | exit |
| 2017-09-22 | 2017-09-25 | MSFT | Buy | $73.26 | entry |
| 2017-09-25 | 2017-09-26 | MSFT | Sell | $73.26 | exit |
| 2017-10-05 | 2017-10-06 | MSFT | Buy | $76.00 | entry |
| 2017-12-04 | 2017-12-05 | MSFT | Sell | $81.59 | exit |
| 2017-12-06 | 2017-12-07 | MSFT | Buy | $82.49 | entry |
| 2017-12-07 | 2017-12-08 | MSFT | Sell | $84.16 | exit |
| 2017-12-08 | 2017-12-11 | MSFT | Buy | $85.23 | entry |
| 2018-01-03 | 2018-01-04 | MSFT | Sell | $87.11 | exit |
| 2018-01-04 | 2018-01-05 | MSFT | Buy | $88.19 | entry |
| 2018-01-10 | 2018-01-11 | MSFT | Sell | $88.08 | exit |
| 2018-01-12 | 2018-01-16 | MSFT | Buy | $88.35 | entry |
| 2018-01-16 | 2018-01-17 | MSFT | Sell | $90.14 | exit |
| 2018-01-17 | 2018-01-18 | MSFT | Buy | $90.10 | entry |
| 2018-08-21 | 2018-08-22 | MSFT | Sell | $107.06 | exit |
| 2018-08-22 | 2018-08-23 | MSFT | Buy | $107.56 | entry |
| 2018-09-05 | 2018-09-06 | MSFT | Sell | $108.74 | exit |
| 2018-09-06 | 2018-09-07 | MSFT | Buy | $108.21 | entry |
| 2018-09-07 | 2018-09-10 | MSFT | Sell | $109.38 | exit |
| 2018-09-10 | 2018-09-11 | MSFT | Buy | $111.24 | entry |
| 2018-10-10 | 2018-10-11 | MSFT | Sell | $105.91 | exit |
| 2018-10-11 | 2018-10-12 | MSFT | Buy | $109.57 | entry |
| 2018-10-24 | 2018-10-25 | MSFT | Sell | $108.30 | exit |
| 2018-10-25 | 2018-10-26 | MSFT | Buy | $106.96 | entry |
| 2018-10-30 | 2018-10-31 | MSFT | Sell | $106.81 | exit |
| 2018-10-31 | 2018-11-01 | MSFT | Buy | $105.92 | entry |
| 2018-11-01 | 2018-11-02 | MSFT | Sell | $106.16 | exit |
| 2018-11-02 | 2018-11-05 | MSFT | Buy | $107.51 | entry |
| 2018-11-14 | 2018-11-15 | MSFT | Sell | $107.28 | exit |
| 2018-11-15 | 2018-11-16 | MSFT | Buy | $108.29 | entry |
| 2018-11-19 | 2018-11-20 | MSFT | Sell | $101.71 | exit |
| 2018-11-26 | 2018-11-27 | MSFT | Buy | $107.14 | entry |
| 2019-01-03 | 2019-01-04 | MSFT | Sell | $101.93 | exit |
| 2019-01-04 | 2019-01-07 | MSFT | Buy | $102.06 | entry |
| 2019-01-11 | 2019-01-14 | MSFT | Sell | $102.05 | exit |
| 2019-01-15 | 2019-01-16 | MSFT | Buy | $105.38 | entry |
| 2019-01-28 | 2019-01-29 | MSFT | Sell | $102.94 | exit |
| 2019-02-25 | 2019-02-26 | MSFT | Buy | $112.36 | entry |
| 2019-09-09 | 2019-09-10 | MSFT | Sell | $136.08 | exit |
| 2019-09-19 | 2019-09-20 | MSFT | Buy | $139.44 | entry |
| 2019-09-24 | 2019-09-25 | MSFT | Sell | $139.36 | exit |
| 2019-09-25 | 2019-09-26 | MSFT | Buy | $139.54 | entry |
| 2019-09-27 | 2019-09-30 | MSFT | Sell | $139.03 | exit |
| 2019-09-30 | 2019-10-01 | MSFT | Buy | $137.07 | entry |
| 2019-10-17 | 2019-10-18 | MSFT | Sell | $137.41 | exit |
| 2019-10-28 | 2019-10-29 | MSFT | Buy | $142.83 | entry |
| 2020-05-26 | 2020-05-27 | MSFT | Sell | $181.81 | exit |
| 2020-06-10 | 2020-06-11 | MSFT | Buy | $186.27 | entry |
| 2020-06-15 | 2020-06-16 | MSFT | Sell | $193.57 | exit |
| 2020-06-16 | 2020-06-17 | MSFT | Buy | $194.24 | entry |
| 2020-07-17 | 2020-07-20 | MSFT | Sell | $211.60 | exit |
| 2020-07-20 | 2020-07-21 | MSFT | Buy | $208.75 | entry |
| 2020-07-23 | 2020-07-24 | MSFT | Sell | $201.30 | exit |
| 2020-08-03 | 2020-08-04 | MSFT | Buy | $213.29 | entry |
| 2020-08-10 | 2020-08-11 | MSFT | Sell | $203.38 | exit |
| 2020-08-27 | 2020-08-28 | MSFT | Buy | $228.91 | entry |
| 2020-09-03 | 2020-09-04 | MSFT | Sell | $214.25 | exit |
| 2020-09-25 | 2020-09-28 | MSFT | Buy | $209.44 | entry |
| 2020-09-28 | 2020-09-29 | MSFT | Sell | $207.26 | exit |
| 2020-09-30 | 2020-10-01 | MSFT | Buy | $212.46 | entry |
| 2020-10-02 | 2020-10-05 | MSFT | Sell | $210.38 | exit |
| 2020-10-12 | 2020-10-13 | MSFT | Buy | $222.86 | entry |
| 2020-10-22 | 2020-10-23 | MSFT | Sell | $216.23 | exit |
| 2020-10-23 | 2020-10-26 | MSFT | Buy | $210.08 | entry |
| 2020-10-26 | 2020-10-27 | MSFT | Sell | $213.25 | exit |
| 2020-10-27 | 2020-10-28 | MSFT | Buy | $202.68 | entry |
| 2020-10-28 | 2020-10-29 | MSFT | Sell | $204.72 | exit |
| 2020-11-04 | 2020-11-05 | MSFT | Buy | $223.29 | entry |
| 2020-11-09 | 2020-11-10 | MSFT | Sell | $211.01 | exit |
| 2020-12-22 | 2020-12-23 | MSFT | Buy | $221.02 | entry |
| 2020-12-23 | 2020-12-24 | MSFT | Sell | $222.75 | exit |
| 2020-12-28 | 2020-12-29 | MSFT | Buy | $224.15 | entry |
| 2020-12-30 | 2020-12-31 | MSFT | Sell | $222.42 | exit |
| 2021-01-22 | 2021-01-25 | MSFT | Buy | $229.53 | entry |
| 2021-02-24 | 2021-02-25 | MSFT | Sell | $228.99 | exit |
| 2021-02-26 | 2021-03-01 | MSFT | Buy | $236.94 | entry |
| 2021-03-03 | 2021-03-04 | MSFT | Sell | $226.73 | exit |
| 2021-03-05 | 2021-03-08 | MSFT | Buy | $227.39 | entry |
| 2021-03-08 | 2021-03-09 | MSFT | Sell | $233.78 | exit |
| 2021-03-09 | 2021-03-10 | MSFT | Buy | $232.42 | entry |
| 2021-03-10 | 2021-03-11 | MSFT | Sell | $237.13 | exit |
| 2021-03-23 | 2021-03-24 | MSFT | Buy | $235.46 | entry |
| 2021-03-25 | 2021-03-26 | MSFT | Sell | $236.48 | exit |
| 2021-04-05 | 2021-04-06 | MSFT | Buy | $247.86 | entry |
| 2021-04-29 | 2021-04-30 | MSFT | Sell | $252.18 | exit |
| 2021-06-10 | 2021-06-11 | MSFT | Buy | $257.89 | entry |
| 2021-09-28 | 2021-09-29 | MSFT | Sell | $284.00 | exit |
| 2021-10-01 | 2021-10-04 | MSFT | Buy | $283.11 | entry |
| 2021-10-04 | 2021-10-05 | MSFT | Sell | $288.76 | exit |
| 2021-10-05 | 2021-10-06 | MSFT | Buy | $293.11 | entry |
| 2021-12-16 | 2021-12-17 | MSFT | Sell | $323.80 | exit |
| 2021-12-22 | 2021-12-23 | MSFT | Buy | $334.69 | entry |
| 2021-12-30 | 2021-12-31 | MSFT | Sell | $336.32 | exit |
| 2022-02-24 | 2022-02-25 | MSFT | Buy | $297.31 | entry |
| 2022-02-25 | 2022-02-28 | MSFT | Sell | $298.79 | exit |
| 2022-02-28 | 2022-03-01 | MSFT | Buy | $294.95 | entry |
| 2022-03-03 | 2022-03-04 | MSFT | Sell | $289.86 | exit |
| 2022-03-16 | 2022-03-17 | MSFT | Buy | $295.22 | entry |
| 2022-03-17 | 2022-03-18 | MSFT | Sell | $300.43 | exit |
| 2022-03-18 | 2022-03-21 | MSFT | Buy | $299.16 | entry |
| 2022-03-21 | 2022-03-22 | MSFT | Sell | $304.06 | exit |
| 2022-03-22 | 2022-03-23 | MSFT | Buy | $299.49 | entry |
| 2022-03-25 | 2022-03-28 | MSFT | Sell | $310.70 | exit |
| 2022-03-28 | 2022-03-29 | MSFT | Buy | $315.41 | entry |
| 2022-04-06 | 2022-04-07 | MSFT | Sell | $301.37 | exit |
| 2022-04-27 | 2022-04-28 | MSFT | Buy | $289.63 | entry |
| 2022-05-06 | 2022-05-09 | MSFT | Sell | $264.58 | exit |
| 2022-05-10 | 2022-05-11 | MSFT | Buy | $260.55 | entry |
| 2022-05-11 | 2022-05-12 | MSFT | Sell | $255.35 | exit |
| 2022-06-01 | 2022-06-02 | MSFT | Buy | $274.58 | entry |
| 2022-06-02 | 2022-06-03 | MSFT | Sell | $270.02 | exit |
| 2022-06-15 | 2022-06-16 | MSFT | Buy | $244.97 | entry |
| 2022-07-12 | 2022-07-13 | MSFT | Sell | $252.72 | exit |
| 2022-07-14 | 2022-07-15 | MSFT | Buy | $256.72 | entry |
| 2022-07-15 | 2022-07-18 | MSFT | Sell | $254.25 | exit |
| 2022-07-27 | 2022-07-28 | MSFT | Buy | $276.41 | entry |
| 2022-08-22 | 2022-08-23 | MSFT | Sell | $276.44 | exit |
| 2022-10-24 | 2022-10-25 | MSFT | Buy | $250.66 | entry |
| 2022-10-25 | 2022-10-26 | MSFT | Sell | $231.32 | exit |
| 2022-12-02 | 2022-12-05 | MSFT | Buy | $250.20 | entry |
| 2022-12-06 | 2022-12-07 | MSFT | Sell | $244.37 | exit |
| 2022-12-08 | 2022-12-09 | MSFT | Buy | $245.42 | entry |
| 2023-01-04 | 2023-01-05 | MSFT | Sell | $222.31 | exit |
| 2023-02-01 | 2023-02-02 | MSFT | Buy | $264.60 | entry |
| 2023-07-10 | 2023-07-11 | MSFT | Sell | $332.47 | exit |
| 2023-07-14 | 2023-07-17 | MSFT | Buy | $345.73 | entry |
| 2023-07-20 | 2023-07-21 | MSFT | Sell | $343.77 | exit |
| 2023-07-25 | 2023-07-26 | MSFT | Buy | $337.77 | entry |
| 2023-07-26 | 2023-07-27 | MSFT | Sell | $330.72 | exit |
| 2023-09-06 | 2023-09-07 | MSFT | Buy | $329.91 | entry |
| 2023-09-07 | 2023-09-08 | MSFT | Sell | $334.27 | exit |
| 2023-09-08 | 2023-09-11 | MSFT | Buy | $337.94 | entry |
| 2023-09-18 | 2023-09-19 | MSFT | Sell | $328.65 | exit |
| 2023-09-19 | 2023-09-20 | MSFT | Buy | $320.77 | entry |
| 2023-09-20 | 2023-09-21 | MSFT | Sell | $319.53 | exit |
| 2023-09-29 | 2023-10-02 | MSFT | Buy | $321.80 | entry |
| 2023-12-13 | 2023-12-14 | MSFT | Sell | $365.93 | exit |
| 2024-01-12 | 2024-01-16 | MSFT | Buy | $390.27 | entry |
| 2024-02-16 | 2024-02-20 | MSFT | Sell | $402.79 | exit |
| 2024-02-20 | 2024-02-21 | MSFT | Buy | $402.18 | entry |
| 2024-02-21 | 2024-02-22 | MSFT | Sell | $411.65 | exit |
| 2024-02-22 | 2024-02-23 | MSFT | Buy | $410.34 | entry |
| 2024-02-23 | 2024-02-26 | MSFT | Sell | $407.54 | exit |
| 2024-02-29 | 2024-03-01 | MSFT | Buy | $415.50 | entry |
| 2024-03-01 | 2024-03-04 | MSFT | Sell | $414.92 | exit |
| 2024-03-14 | 2024-03-15 | MSFT | Buy | $416.42 | entry |
| 2024-03-18 | 2024-03-19 | MSFT | Sell | $421.41 | exit |
| 2024-03-19 | 2024-03-20 | MSFT | Buy | $425.23 | entry |
| 2024-03-25 | 2024-03-26 | MSFT | Sell | $421.65 | exit |
| 2024-04-05 | 2024-04-08 | MSFT | Buy | $424.59 | entry |
| 2024-04-18 | 2024-04-19 | MSFT | Sell | $399.12 | exit |
| 2024-05-21 | 2024-05-22 | MSFT | Buy | $430.52 | entry |
| 2024-05-30 | 2024-05-31 | MSFT | Sell | $415.13 | exit |
| 2024-06-11 | 2024-06-12 | MSFT | Buy | $441.06 | entry |
| 2024-07-15 | 2024-07-16 | MSFT | Sell | $449.52 | exit |
| 2024-09-17 | 2024-09-18 | MSFT | Buy | $430.81 | entry |
| 2024-09-18 | 2024-09-19 | MSFT | Sell | $438.69 | exit |
| 2024-09-19 | 2024-09-20 | MSFT | Buy | $435.27 | entry |
| 2024-09-23 | 2024-09-24 | MSFT | Sell | $429.17 | exit |
| 2024-10-29 | 2024-10-30 | MSFT | Buy | $432.53 | entry |
| 2024-10-31 | 2024-11-01 | MSFT | Sell | $410.37 | exit |
| 2024-12-05 | 2024-12-06 | MSFT | Buy | $443.57 | entry |
| 2024-12-30 | 2024-12-31 | MSFT | Sell | $421.50 | exit |
Want to change this rule?
Ask the chat to try another ticker, other dates, a stop, or different fees. It runs the same engine on real past prices.
Risk warning
Past results do not predict future returns. Not investment advice.