[
  {
    "decided_on": "2026-02-20",
    "filled_on": "2026-02-23",
    "ticker": "AMZN",
    "side": "BUY",
    "shares": 95,
    "price": 208.1,
    "gross": 19769.5,
    "cost": 15.82,
    "reason": "Opening position \u2014 RSI 39.3 \u2014 below 30 or holding since it was; waiting for a recovery through 50",
    "signal_value": 39.34,
    "backfilled": true
  },
  {
    "decided_on": "2026-02-20",
    "filled_on": "2026-02-23",
    "ticker": "MSFT",
    "side": "BUY",
    "shares": 50,
    "price": 393.4057,
    "gross": 19670.29,
    "cost": 15.74,
    "reason": "Opening position \u2014 RSI 32.4 \u2014 below 30 or holding since it was; waiting for a recovery through 50",
    "signal_value": 32.35,
    "backfilled": true
  },
  {
    "decided_on": "2026-02-20",
    "filled_on": "2026-02-23",
    "ticker": "UNH",
    "side": "BUY",
    "shares": 69,
    "price": 284.698,
    "gross": 19644.16,
    "cost": 15.72,
    "reason": "Opening position \u2014 RSI 43.8 \u2014 below 30 or holding since it was; waiting for a recovery through 50",
    "signal_value": 43.75,
    "backfilled": true
  },
  {
    "decided_on": "2026-03-02",
    "filled_on": "2026-03-03",
    "ticker": "UNH",
    "side": "SELL",
    "shares": 69,
    "price": 285.1321,
    "gross": 19674.12,
    "cost": 15.74,
    "reason": "Closing position \u2014 RSI 50.2 \u2014 no oversold signal",
    "signal_value": 50.25,
    "backfilled": true
  },
  {
    "decided_on": "2026-03-04",
    "filled_on": "2026-03-05",
    "ticker": "AMZN",
    "side": "SELL",
    "shares": 95,
    "price": 215.98,
    "gross": 20518.1,
    "cost": 16.41,
    "reason": "Closing position \u2014 RSI 51.7 \u2014 no oversold signal",
    "signal_value": 51.65,
    "backfilled": true
  },
  {
    "decided_on": "2026-03-12",
    "filled_on": "2026-03-13",
    "ticker": "HD",
    "side": "BUY",
    "shares": 60,
    "price": 339.1462,
    "gross": 20348.77,
    "cost": 16.28,
    "reason": "Opening position \u2014 RSI 29.2 \u2014 below 30 or holding since it was; waiting for a recovery through 50",
    "signal_value": 29.21,
    "backfilled": true
  },
  {
    "decided_on": "2026-03-24",
    "filled_on": "2026-03-25",
    "ticker": "MCD",
    "side": "BUY",
    "shares": 64,
    "price": 307.9713,
    "gross": 19710.16,
    "cost": 15.77,
    "reason": "Opening position \u2014 RSI 29.9 \u2014 below 30 or holding since it was; waiting for a recovery through 50",
    "signal_value": 29.88,
    "backfilled": true
  },
  {
    "decided_on": "2026-03-24",
    "filled_on": "2026-03-25",
    "ticker": "PG",
    "side": "BUY",
    "shares": 140,
    "price": 141.6086,
    "gross": 19825.21,
    "cost": 15.86,
    "reason": "Opening position \u2014 RSI 29.6 \u2014 below 30 or holding since it was; waiting for a recovery through 50",
    "signal_value": 29.58,
    "backfilled": true
  },
  {
    "decided_on": "2026-03-26",
    "filled_on": "2026-03-27",
    "ticker": "GOOGL",
    "side": "BUY",
    "shares": 58,
    "price": 277.1145,
    "gross": 16072.64,
    "cost": 12.86,
    "reason": "Opening position \u2014 RSI 28.3 \u2014 below 30 or holding since it was; waiting for a recovery through 50",
    "signal_value": 28.34,
    "backfilled": true
  },
  {
    "decided_on": "2026-03-26",
    "filled_on": "2026-03-27",
    "ticker": "META",
    "side": "BUY",
    "shares": 9,
    "price": 539.5998,
    "gross": 4856.4,
    "cost": 3.89,
    "reason": "Opening position \u2014 RSI 25.8 \u2014 below 30 or holding since it was; waiting for a recovery through 50",
    "signal_value": 25.78,
    "backfilled": true
  },
  {
    "decided_on": "2026-04-06",
    "filled_on": "2026-04-07",
    "ticker": "GOOGL",
    "side": "SELL",
    "shares": 58,
    "price": 302.5493,
    "gross": 17547.86,
    "cost": 14.04,
    "reason": "Closing position \u2014 RSI 51.0 \u2014 no oversold signal",
    "signal_value": 50.97,
    "backfilled": true
  },
  {
    "decided_on": "2026-04-06",
    "filled_on": "2026-04-07",
    "ticker": "META",
    "side": "BUY",
    "shares": 25,
    "price": 571.9499,
    "gross": 14298.75,
    "cost": 11.44,
    "reason": "Topping up to target weight \u2014 RSI 41.0 \u2014 below 30 or holding since it was; waiting for a recovery through 50",
    "signal_value": 40.96,
    "backfilled": true
  },
  {
    "decided_on": "2026-04-08",
    "filled_on": "2026-04-09",
    "ticker": "META",
    "side": "SELL",
    "shares": 34,
    "price": 626.3894,
    "gross": 21297.24,
    "cost": 17.04,
    "reason": "Closing position \u2014 RSI 53.3 \u2014 no oversold signal",
    "signal_value": 53.26,
    "backfilled": true
  },
  {
    "decided_on": "2026-04-09",
    "filled_on": "2026-04-10",
    "ticker": "HD",
    "side": "SELL",
    "shares": 60,
    "price": 338.501,
    "gross": 20310.06,
    "cost": 16.25,
    "reason": "Closing position \u2014 RSI 50.8 \u2014 no oversold signal",
    "signal_value": 50.84,
    "backfilled": true
  },
  {
    "decided_on": "2026-04-13",
    "filled_on": "2026-04-14",
    "ticker": "MSFT",
    "side": "SELL",
    "shares": 50,
    "price": 386.3543,
    "gross": 19317.72,
    "cost": 15.45,
    "reason": "Closing position \u2014 RSI 51.5 \u2014 no oversold signal",
    "signal_value": 51.52,
    "backfilled": true
  },
  {
    "decided_on": "2026-04-17",
    "filled_on": "2026-04-20",
    "ticker": "MCD",
    "side": "SELL",
    "shares": 64,
    "price": 310.0472,
    "gross": 19843.02,
    "cost": 15.87,
    "reason": "Closing position \u2014 RSI 50.2 \u2014 no oversold signal",
    "signal_value": 50.2,
    "backfilled": true
  },
  {
    "decided_on": "2026-04-17",
    "filled_on": "2026-04-20",
    "ticker": "PG",
    "side": "SELL",
    "shares": 140,
    "price": 143.8942,
    "gross": 20145.19,
    "cost": 16.12,
    "reason": "Closing position \u2014 RSI 51.4 \u2014 no oversold signal",
    "signal_value": 51.36,
    "backfilled": true
  },
  {
    "decided_on": "2026-04-21",
    "filled_on": "2026-04-22",
    "ticker": "JNJ",
    "side": "BUY",
    "shares": 92,
    "price": 224.8867,
    "gross": 20689.57,
    "cost": 16.55,
    "reason": "Opening position \u2014 RSI 28.6 \u2014 below 30 or holding since it was; waiting for a recovery through 50",
    "signal_value": 28.64,
    "backfilled": true
  },
  {
    "decided_on": "2026-05-08",
    "filled_on": "2026-05-11",
    "ticker": "MCD",
    "side": "BUY",
    "shares": 75,
    "price": 273.9719,
    "gross": 20547.89,
    "cost": 16.44,
    "reason": "Opening position \u2014 RSI 25.2 \u2014 below 30 or holding since it was; waiting for a recovery through 50",
    "signal_value": 25.2,
    "backfilled": true
  },
  {
    "decided_on": "2026-05-13",
    "filled_on": "2026-05-14",
    "ticker": "JNJ",
    "side": "SELL",
    "shares": 92,
    "price": 229.6791,
    "gross": 21130.48,
    "cost": 16.9,
    "reason": "Closing position \u2014 RSI 52.0 \u2014 no oversold signal",
    "signal_value": 51.98,
    "backfilled": true
  },
  {
    "decided_on": "2026-05-29",
    "filled_on": "2026-06-01",
    "ticker": "WMT",
    "side": "BUY",
    "shares": 181,
    "price": 114.456,
    "gross": 20716.54,
    "cost": 16.57,
    "reason": "Opening position \u2014 RSI 29.0 \u2014 below 30 or holding since it was; waiting for a recovery through 50",
    "signal_value": 28.96,
    "backfilled": true
  },
  {
    "decided_on": "2026-06-09",
    "filled_on": "2026-06-10",
    "ticker": "MCD",
    "side": "SELL",
    "shares": 75,
    "price": 284.32,
    "gross": 21324.0,
    "cost": 17.06,
    "reason": "Closing position \u2014 RSI 51.9 \u2014 no oversold signal",
    "signal_value": 51.93,
    "backfilled": true
  },
  {
    "decided_on": "2026-06-25",
    "filled_on": "2026-06-26",
    "ticker": "MSFT",
    "side": "BUY",
    "shares": 59,
    "price": 356.4789,
    "gross": 21032.26,
    "cost": 16.83,
    "reason": "Opening position \u2014 RSI 28.8 \u2014 below 30 or holding since it was; waiting for a recovery through 50",
    "signal_value": 28.76,
    "backfilled": true
  },
  {
    "decided_on": "2026-06-30",
    "filled_on": "2026-07-01",
    "ticker": "CVX",
    "side": "BUY",
    "shares": 129,
    "price": 163.3544,
    "gross": 21072.71,
    "cost": 16.86,
    "reason": "Opening position \u2014 RSI 28.1 \u2014 below 30 or holding since it was; waiting for a recovery through 50",
    "signal_value": 28.11,
    "backfilled": true
  },
  {
    "decided_on": "2026-07-13",
    "filled_on": "2026-07-14",
    "ticker": "CVX",
    "side": "SELL",
    "shares": 129,
    "price": 181.1689,
    "gross": 23370.79,
    "cost": 18.7,
    "reason": "Closing position \u2014 RSI 57.6 \u2014 no oversold signal",
    "signal_value": 57.63,
    "backfilled": true
  },
  {
    "decided_on": "2026-07-13",
    "filled_on": "2026-07-14",
    "ticker": "MSFT",
    "side": "SELL",
    "shares": 59,
    "price": 382.1007,
    "gross": 22543.94,
    "cost": 18.04,
    "reason": "Closing position \u2014 RSI 51.0 \u2014 no oversold signal",
    "signal_value": 51.0,
    "backfilled": true
  },
  {
    "decided_on": "2026-07-29",
    "filled_on": "2026-07-30",
    "ticker": "WMT",
    "side": "SELL",
    "shares": 181,
    "price": 111.3434,
    "gross": 20153.16,
    "cost": 16.12,
    "reason": "Closing position \u2014 RSI 51.5 \u2014 no oversold signal",
    "signal_value": 51.49,
    "backfilled": true
  },
  {
    "decided_on": "2026-08-20",
    "filled_on": "2026-08-21",
    "ticker": "WMT",
    "side": "BUY",
    "shares": 209,
    "price": 103.69,
    "gross": 21671.21,
    "cost": 17.34,
    "reason": "Opening position \u2014 RSI 29.8 \u2014 below 30 or holding since it was; waiting for a recovery through 50",
    "signal_value": 29.78,
    "backfilled": true
  }
]