[
  {
    "id": "11e53b27-216a-41a3-a3ed-6837bb6b881c",
    "timestamp": "2026-08-10T14:21:39.458331452Z",
    "ticker": "COP",
    "side": "buy",
    "qty": 2,
    "filled_avg_price": 121.065,
    "strategy": "donchian-breakout",
    "reason": "close 121.065 broke above the 20-day high (120.48)",
    "order_id": "11e53b27-216a-41a3-a3ed-6837bb6b881c",
    "status": "filled"
  },
  {
    "id": "d04d514f-ff7b-4b8b-aaf8-42c3e10af854",
    "timestamp": "2026-08-10T14:21:40.715402595Z",
    "ticker": "O",
    "side": "buy",
    "qty": 4,
    "filled_avg_price": 61.475,
    "strategy": "rsi-mean-reversion",
    "reason": "RSI(14)=22.2 is oversold (< 30)",
    "order_id": "d04d514f-ff7b-4b8b-aaf8-42c3e10af854",
    "status": "filled"
  },
  {
    "id": "a84d7120-625c-4173-b4e5-f00879a56c02",
    "timestamp": "2026-08-11T14:21:33.293800797Z",
    "ticker": "NEE",
    "side": "buy",
    "qty": 3,
    "filled_avg_price": 85.2768,
    "strategy": "rsi-mean-reversion",
    "reason": "RSI(14)=25.5 is oversold (< 30)",
    "order_id": "a84d7120-625c-4173-b4e5-f00879a56c02",
    "status": "filled"
  },
  {
    "id": "c2143f73-8544-46bd-9f5b-ca32df778b9c",
    "timestamp": "2026-08-31T19:27:17.388481336Z",
    "ticker": "QCOM",
    "side": "buy",
    "qty": 1,
    "filled_avg_price": 170.6,
    "strategy": "donchian-breakout",
    "reason": "close 170.35 broke above the 20-day high (167.85)",
    "order_id": "c2143f73-8544-46bd-9f5b-ca32df778b9c",
    "status": "filled"
  },
  {
    "id": "172705f0-92bb-43ae-bdba-a211e733e9e3",
    "timestamp": "2026-09-01T20:05:16.759511866Z",
    "ticker": "WMT",
    "side": "buy",
    "qty": 2,
    "filled_avg_price": 105.95,
    "strategy": "rsi-mean-reversion",
    "reason": "RSI(14)=29.6 is oversold (< 30)",
    "order_id": "172705f0-92bb-43ae-bdba-a211e733e9e3",
    "status": "filled"
  },
  {
    "id": "876ddd5f-d182-4855-b125-78010af34213",
    "timestamp": "2026-09-01T22:45:28.054994972Z",
    "ticker": "WMT",
    "side": "buy",
    "qty": 2,
    "filled_avg_price": 105.95,
    "strategy": "rsi-mean-reversion",
    "reason": "RSI(14)=29.6 is oversold (< 30)",
    "order_id": "876ddd5f-d182-4855-b125-78010af34213",
    "status": "filled"
  },
  {
    "id": "4ae18874-29ea-4138-a6fa-76517582d4a6",
    "timestamp": "2026-09-02T17:04:53.360488804Z",
    "ticker": "JNJ",
    "side": "buy",
    "qty": 1,
    "filled_avg_price": 275.1734,
    "strategy": "donchian-breakout",
    "reason": "close 275.11 broke above the 20-day high (273.225)",
    "order_id": "4ae18874-29ea-4138-a6fa-76517582d4a6",
    "status": "filled"
  },
  {
    "id": "5d2b156c-93bc-474d-9a02-be699e085ea4",
    "timestamp": "2026-09-08T17:10:33.82392596Z",
    "ticker": "INTC",
    "side": "buy",
    "qty": 2,
    "filled_avg_price": 105.5869,
    "strategy": "donchian-breakout",
    "reason": "close 105.81 broke above the 20-day high (104.63)",
    "order_id": "5d2b156c-93bc-474d-9a02-be699e085ea4",
    "status": "filled"
  },
  {
    "id": "c4aae932-5223-4d0e-89e2-832aa71073d8",
    "timestamp": "2026-09-09T17:05:16.24980266Z",
    "ticker": "ABBV",
    "side": "buy",
    "qty": 1,
    "filled_avg_price": 248.9618,
    "strategy": "rsi-mean-reversion",
    "reason": "RSI(14)=27.5 is oversold (< 30)",
    "order_id": "c4aae932-5223-4d0e-89e2-832aa71073d8",
    "status": "filled"
  },
  {
    "id": "6e416fed-2ad0-4080-a6cf-18a80b62faf5",
    "timestamp": "2026-09-11T22:22:28.402318437Z",
    "ticker": "JNJ",
    "side": "sell",
    "qty": 1,
    "filled_avg_price": 271,
    "strategy": "donchian-breakout",
    "reason": "close 265.69 broke below the 10-day low (265.76)",
    "order_id": "6e416fed-2ad0-4080-a6cf-18a80b62faf5",
    "status": "filled"
  },
  {
    "id": "f042b6d4-580f-445d-ab18-98a7bac100d9",
    "timestamp": "2026-09-14T18:27:41.805120952Z",
    "ticker": "PLD",
    "side": "buy",
    "qty": 2,
    "filled_avg_price": 135.2584,
    "strategy": "rsi-mean-reversion",
    "reason": "RSI(14)=25.7 is oversold (< 30)",
    "order_id": "f042b6d4-580f-445d-ab18-98a7bac100d9",
    "status": "filled"
  },
  {
    "id": "c4c36d08-7a97-46ba-a802-9861ac65966a",
    "timestamp": "2026-09-15T17:29:48.551593524Z",
    "ticker": "CVX",
    "side": "buy",
    "qty": 1,
    "filled_avg_price": 216.6137,
    "strategy": "donchian-breakout",
    "reason": "close 216.6 broke above the 20-day high (214.065)",
    "order_id": "c4c36d08-7a97-46ba-a802-9861ac65966a",
    "status": "filled"
  },
  {
    "id": "4d275603-3277-4d22-90b7-f3f798f682c7",
    "timestamp": "2026-09-15T17:29:50.620271671Z",
    "ticker": "FCX",
    "side": "buy",
    "qty": 1,
    "filled_avg_price": 68.866,
    "strategy": "rsi-mean-reversion",
    "reason": "RSI(14)=25.1 is oversold (< 30)",
    "order_id": "4d275603-3277-4d22-90b7-f3f798f682c7",
    "status": "filled"
  },
  {
    "id": "7b50dc96-4a48-41d5-94f6-7e2529bcb211",
    "timestamp": "2026-09-18T16:57:47.0109633Z",
    "ticker": "COP",
    "side": "sell",
    "qty": 2,
    "filled_avg_price": 131.8708,
    "strategy": "donchian-breakout",
    "reason": "close 131.8 broke below the 10-day low (132.555)",
    "order_id": "7b50dc96-4a48-41d5-94f6-7e2529bcb211",
    "status": "filled"
  },
  {
    "id": "cf970d3a-8354-40ff-893a-dd61a4166a81",
    "timestamp": "2026-09-18T16:57:48.390416292Z",
    "ticker": "BAC",
    "side": "buy",
    "qty": 1,
    "filled_avg_price": 57.925,
    "strategy": "rsi-mean-reversion",
    "reason": "RSI(14)=23.4 is oversold (< 30)",
    "order_id": "cf970d3a-8354-40ff-893a-dd61a4166a81",
    "status": "filled"
  },
  {
    "id": "4489f967-1ef1-40ab-9a70-eb763080fa42",
    "timestamp": "2026-09-18T19:30:14.360457839Z",
    "ticker": "RTX",
    "side": "buy",
    "qty": 1,
    "filled_avg_price": 193.1242,
    "strategy": "rsi-mean-reversion",
    "reason": "RSI(14)=13.3 is oversold (< 30)",
    "order_id": "4489f967-1ef1-40ab-9a70-eb763080fa42",
    "status": "filled"
  },
  {
    "id": "98905acb-ed96-4f43-9247-80d42da19553",
    "timestamp": "2026-09-21T18:30:21.776694394Z",
    "ticker": "CVX",
    "side": "sell",
    "qty": 1,
    "filled_avg_price": 205.3713,
    "strategy": "donchian-breakout",
    "reason": "close 205.405 broke below the 10-day low (208.55)",
    "order_id": "98905acb-ed96-4f43-9247-80d42da19553",
    "status": "filled"
  },
  {
    "id": "722f9116-6e0f-4da2-8e55-6190e67759d6",
    "timestamp": "2026-09-29T18:28:39.483381392Z",
    "ticker": "ABBV",
    "side": "sell",
    "qty": 1,
    "filled_avg_price": 263.7115,
    "strategy": "rsi-mean-reversion",
    "reason": "RSI(14)=80.9 is overbought (> 70)",
    "order_id": "722f9116-6e0f-4da2-8e55-6190e67759d6",
    "status": "filled"
  },
  {
    "id": "be820a64-db8f-4ab9-9cb0-c4f4681def7c",
    "timestamp": "2026-10-02T18:13:53.974279307Z",
    "ticker": "KO",
    "side": "buy",
    "qty": 3,
    "filled_avg_price": 85.5781,
    "strategy": "rsi-mean-reversion",
    "reason": "RSI(14)=26.4 is oversold (< 30)",
    "order_id": "be820a64-db8f-4ab9-9cb0-c4f4681def7c",
    "status": "filled"
  },
  {
    "id": "59932850-2e92-4088-8ed3-13afaa1cfdd2",
    "timestamp": "2026-10-06T18:54:34.415841954Z",
    "ticker": "BAC",
    "side": "sell",
    "qty": 1,
    "filled_avg_price": 54.0415,
    "strategy": "rsi-mean-reversion",
    "reason": "weekly screen: underperformer, liquidating before disable",
    "order_id": "59932850-2e92-4088-8ed3-13afaa1cfdd2",
    "status": "filled"
  },
  {
    "id": "4102c9b7-8da1-482b-a11e-a1784f4001b6",
    "timestamp": "2026-10-06T18:54:35.611441536Z",
    "ticker": "O",
    "side": "sell",
    "qty": 4,
    "filled_avg_price": 54.055,
    "strategy": "rsi-mean-reversion",
    "reason": "weekly screen: underperformer, liquidating before disable",
    "order_id": "4102c9b7-8da1-482b-a11e-a1784f4001b6",
    "status": "filled"
  },
  {
    "id": "4702dbbc-6ec1-44e1-9595-7bbd56186d8a",
    "timestamp": "2026-10-06T18:54:36.728637734Z",
    "ticker": "QCOM",
    "side": "sell",
    "qty": 1,
    "filled_avg_price": 182.4321,
    "strategy": "donchian-breakout",
    "reason": "close 180.79 broke below the 10-day low (181.96)",
    "order_id": "4702dbbc-6ec1-44e1-9595-7bbd56186d8a",
    "status": "filled"
  },
  {
    "id": "33de5d4f-75c8-42d7-a1bb-9d4e472b9cd1",
    "timestamp": "2026-10-06T18:54:38.705804528Z",
    "ticker": "AMT",
    "side": "buy",
    "qty": 1.81891492,
    "filled_avg_price": 164.928,
    "strategy": "rsi-mean-reversion",
    "reason": "RSI(14)=19.2 is oversold (< 30); strength 0.36",
    "order_id": "33de5d4f-75c8-42d7-a1bb-9d4e472b9cd1",
    "status": "filled"
  },
  {
    "id": "73e42f7d-97d2-452f-8721-316e20fe7a2a",
    "timestamp": "2026-10-06T18:54:39.799270517Z",
    "ticker": "CRM",
    "side": "buy",
    "qty": 0.148454253,
    "filled_avg_price": 223.84,
    "strategy": "rsi-mean-reversion",
    "reason": "RSI(14)=28.1 is oversold (< 30); strength 0.06",
    "order_id": "73e42f7d-97d2-452f-8721-316e20fe7a2a",
    "status": "filled"
  }
]
