{
 "note": "equity_live_mirror re-marks the open positions at live prices every hour and keeps the realised Demo P&L (book/marks.py); the mirror_live arm replays every fill on live prices (analysis/mirror.py)",
 "series": [
  {
   "at": "2026-09-24T17:00:00Z",
   "equity_book": "49999.97612376",
   "equity_live_mirror": "49999.97612376",
   "gap_bps": 0.0,
   "positions": []
  },
  {
   "at": "2026-09-24T18:00:00Z",
   "equity_book": "49999.97612376",
   "equity_live_mirror": "49999.97612376",
   "gap_bps": 0.0,
   "positions": []
  },
  {
   "at": "2026-09-24T19:00:00Z",
   "equity_book": "49999.97612376",
   "equity_live_mirror": "49999.97612376",
   "gap_bps": 0.0,
   "positions": []
  },
  {
   "at": "2026-09-24T20:00:00Z",
   "equity_book": "49999.97612376",
   "equity_live_mirror": "49999.97612376",
   "gap_bps": 0.0,
   "positions": []
  },
  {
   "at": "2026-09-24T21:00:00Z",
   "equity_book": "49999.97612376",
   "equity_live_mirror": "49999.97612376",
   "gap_bps": 0.0,
   "positions": []
  },
  {
   "at": "2026-09-24T22:00:00Z",
   "equity_book": "49999.97612376",
   "equity_live_mirror": "49999.97612376",
   "gap_bps": 0.0,
   "positions": []
  },
  {
   "at": "2026-09-24T23:00:00Z",
   "equity_book": "49999.97612376",
   "equity_live_mirror": "49999.97612376",
   "gap_bps": 0.0,
   "positions": []
  },
  {
   "at": "2026-09-25T01:00:00Z",
   "equity_book": "49999.97612376",
   "equity_live_mirror": "49999.97612376",
   "gap_bps": 0.0,
   "positions": []
  },
  {
   "at": "2026-09-25T02:00:00Z",
   "equity_book": "49999.97612376",
   "equity_live_mirror": "49999.97612376",
   "gap_bps": 0.0,
   "positions": []
  },
  {
   "at": "2026-09-25T03:00:00Z",
   "equity_book": "49999.97612376",
   "equity_live_mirror": "49999.97612376",
   "gap_bps": 0.0,
   "positions": []
  },
  {
   "at": "2026-09-25T04:00:00Z",
   "equity_book": "49999.97612376",
   "equity_live_mirror": "49999.97612376",
   "gap_bps": 0.0,
   "positions": []
  },
  {
   "at": "2026-09-25T05:00:00Z",
   "equity_book": "49999.97612376",
   "equity_live_mirror": "49999.97612376",
   "gap_bps": 0.0,
   "positions": []
  },
  {
   "at": "2026-09-25T06:00:00Z",
   "equity_book": "49999.97612376",
   "equity_live_mirror": "49999.97612376",
   "gap_bps": 0.0,
   "positions": []
  },
  {
   "at": "2026-09-25T07:00:00Z",
   "equity_book": "49999.97612376",
   "equity_live_mirror": "49999.97612376",
   "gap_bps": 0.0,
   "positions": []
  },
  {
   "at": "2026-09-25T08:00:00Z",
   "equity_book": "49999.97612376",
   "equity_live_mirror": "49999.97612376",
   "gap_bps": 0.0,
   "positions": []
  },
  {
   "at": "2026-09-25T09:00:00Z",
   "equity_book": "49999.97612376",
   "equity_live_mirror": "49999.97612376",
   "gap_bps": 0.0,
   "positions": []
  },
  {
   "at": "2026-09-25T10:00:00Z",
   "equity_book": "49999.97612376",
   "equity_live_mirror": "49999.97612376",
   "gap_bps": 0.0,
   "positions": []
  },
  {
   "at": "2026-09-25T11:00:00Z",
   "equity_book": "49999.97612376",
   "equity_live_mirror": "49999.97612376",
   "gap_bps": 0.0,
   "positions": []
  },
  {
   "at": "2026-09-25T12:00:00Z",
   "equity_book": "49999.97612376",
   "equity_live_mirror": "49999.97612376",
   "gap_bps": 0.0,
   "positions": []
  },
  {
   "at": "2026-09-25T13:00:00Z",
   "equity_book": "49999.97612376",
   "equity_live_mirror": "49999.97612376",
   "gap_bps": 0.0,
   "positions": []
  },
  {
   "at": "2026-09-25T14:00:00Z",
   "equity_book": "49999.97612376",
   "equity_live_mirror": "49999.97612376",
   "gap_bps": 0.0,
   "positions": []
  },
  {
   "at": "2026-09-25T15:00:00Z",
   "equity_book": "49999.97612376",
   "equity_live_mirror": "49999.97612376",
   "gap_bps": 0.0,
   "positions": []
  },
  {
   "at": "2026-09-25T16:00:00Z",
   "equity_book": "49999.97612376",
   "equity_live_mirror": "49999.97612376",
   "gap_bps": 0.0,
   "positions": []
  },
  {
   "at": "2026-09-25T17:00:00Z",
   "equity_book": "49999.97612376",
   "equity_live_mirror": "49999.97612376",
   "gap_bps": 0.0,
   "positions": []
  },
  {
   "at": "2026-09-25T18:00:00Z",
   "equity_book": "49999.97612376",
   "equity_live_mirror": "49999.97612376",
   "gap_bps": 0.0,
   "positions": []
  },
  {
   "at": "2026-09-25T19:00:00Z",
   "equity_book": "49999.97612376",
   "equity_live_mirror": "49999.97612376",
   "gap_bps": 0.0,
   "positions": []
  },
  {
   "at": "2026-09-25T20:00:00Z",
   "equity_book": "49999.97612376",
   "equity_live_mirror": "49999.97612376",
   "gap_bps": 0.0,
   "positions": []
  },
  {
   "at": "2026-09-25T21:00:00Z",
   "equity_book": "49999.97612376",
   "equity_live_mirror": "49999.97612376",
   "gap_bps": 0.0,
   "positions": []
  },
  {
   "at": "2026-09-25T22:00:00Z",
   "equity_book": "49999.97612376",
   "equity_live_mirror": "49999.97612376",
   "gap_bps": 0.0,
   "positions": []
  },
  {
   "at": "2026-09-25T23:00:00Z",
   "equity_book": "49999.97612376",
   "equity_live_mirror": "49999.97612376",
   "gap_bps": 0.0,
   "positions": []
  },
  {
   "at": "2026-09-26T00:00:00Z",
   "equity_book": "49999.97612376",
   "equity_live_mirror": "49999.97612376",
   "gap_bps": 0.0,
   "positions": []
  },
  {
   "at": "2026-09-26T01:00:00Z",
   "equity_book": "49999.97612376",
   "equity_live_mirror": "49999.97612376",
   "gap_bps": 0.0,
   "positions": []
  },
  {
   "at": "2026-09-26T02:00:00Z",
   "equity_book": "49999.97612376",
   "equity_live_mirror": "49999.97612376",
   "gap_bps": 0.0,
   "positions": []
  },
  {
   "at": "2026-09-26T03:00:00Z",
   "equity_book": "49999.97612376",
   "equity_live_mirror": "49999.97612376",
   "gap_bps": 0.0,
   "positions": []
  },
  {
   "at": "2026-09-26T04:00:00Z",
   "equity_book": "49999.97612376",
   "equity_live_mirror": "49999.97612376",
   "gap_bps": 0.0,
   "positions": []
  },
  {
   "at": "2026-09-26T05:00:00Z",
   "equity_book": "49999.97612376",
   "equity_live_mirror": "49999.97612376",
   "gap_bps": 0.0,
   "positions": []
  },
  {
   "at": "2026-09-26T06:00:00Z",
   "equity_book": "49999.97612376",
   "equity_live_mirror": "49999.97612376",
   "gap_bps": 0.0,
   "positions": []
  },
  {
   "at": "2026-09-26T07:00:00Z",
   "equity_book": "49999.97612376",
   "equity_live_mirror": "49999.97612376",
   "gap_bps": 0.0,
   "positions": []
  },
  {
   "at": "2026-09-26T08:00:00Z",
   "equity_book": "49999.97612376",
   "equity_live_mirror": "49999.97612376",
   "gap_bps": 0.0,
   "positions": []
  },
  {
   "at": "2026-09-26T09:00:00Z",
   "equity_book": "49999.97612376",
   "equity_live_mirror": "49999.97612376",
   "gap_bps": 0.0,
   "positions": []
  },
  {
   "at": "2026-09-26T10:00:00Z",
   "equity_book": "49999.97612376",
   "equity_live_mirror": "49999.97612376",
   "gap_bps": 0.0,
   "positions": []
  },
  {
   "at": "2026-09-26T11:00:00Z",
   "equity_book": "49999.97612376",
   "equity_live_mirror": "49999.97612376",
   "gap_bps": 0.0,
   "positions": []
  },
  {
   "at": "2026-09-26T12:00:00Z",
   "equity_book": "49999.97612376",
   "equity_live_mirror": "49999.97612376",
   "gap_bps": 0.0,
   "positions": []
  },
  {
   "at": "2026-09-26T14:00:00Z",
   "equity_book": "49999.97612376",
   "equity_live_mirror": "49999.97612376",
   "gap_bps": 0.0,
   "positions": []
  },
  {
   "at": "2026-09-26T15:00:00Z",
   "equity_book": "49999.97612376",
   "equity_live_mirror": "49999.97612376",
   "gap_bps": 0.0,
   "positions": []
  },
  {
   "at": "2026-09-26T16:00:00Z",
   "equity_book": "49999.97612376",
   "equity_live_mirror": "49999.97612376",
   "gap_bps": 0.0,
   "positions": []
  },
  {
   "at": "2026-09-26T17:00:00Z",
   "equity_book": "49999.97612376",
   "equity_live_mirror": "49999.97612376",
   "gap_bps": 0.0,
   "positions": []
  },
  {
   "at": "2026-09-26T18:00:00Z",
   "equity_book": "49999.97612376",
   "equity_live_mirror": "49999.97612376",
   "gap_bps": 0.0,
   "positions": []
  },
  {
   "at": "2026-09-26T19:00:00Z",
   "equity_book": "49999.97612376",
   "equity_live_mirror": "49999.97612376",
   "gap_bps": 0.0,
   "positions": []
  },
  {
   "at": "2026-09-26T20:00:00Z",
   "equity_book": "49999.97612376",
   "equity_live_mirror": "49999.97612376",
   "gap_bps": 0.0,
   "positions": []
  },
  {
   "at": "2026-09-26T21:00:00Z",
   "equity_book": "49999.97612376",
   "equity_live_mirror": "49999.97612376",
   "gap_bps": 0.0,
   "positions": []
  },
  {
   "at": "2026-09-26T22:00:00Z",
   "equity_book": "49999.97612376",
   "equity_live_mirror": "49999.97612376",
   "gap_bps": 0.0,
   "positions": []
  },
  {
   "at": "2026-09-26T23:00:00Z",
   "equity_book": "49999.97612376",
   "equity_live_mirror": "49999.97612376",
   "gap_bps": 0.0,
   "positions": []
  },
  {
   "at": "2026-09-27T00:00:00Z",
   "equity_book": "49999.97612376",
   "equity_live_mirror": "49999.97612376",
   "gap_bps": 0.0,
   "positions": []
  },
  {
   "at": "2026-09-27T01:00:00Z",
   "equity_book": "49999.97612376",
   "equity_live_mirror": "49999.97612376",
   "gap_bps": 0.0,
   "positions": []
  },
  {
   "at": "2026-09-27T02:00:00Z",
   "equity_book": "49999.97612376",
   "equity_live_mirror": "49999.97612376",
   "gap_bps": 0.0,
   "positions": []
  },
  {
   "at": "2026-09-27T03:00:00Z",
   "equity_book": "49999.97612376",
   "equity_live_mirror": "49999.97612376",
   "gap_bps": 0.0,
   "positions": []
  },
  {
   "at": "2026-09-27T04:00:00Z",
   "equity_book": "49999.97612376",
   "equity_live_mirror": "49999.97612376",
   "gap_bps": 0.0,
   "positions": []
  },
  {
   "at": "2026-09-27T05:00:00Z",
   "equity_book": "49999.97612376",
   "equity_live_mirror": "49999.97612376",
   "gap_bps": 0.0,
   "positions": []
  },
  {
   "at": "2026-09-27T06:00:00Z",
   "equity_book": "49999.97612376",
   "equity_live_mirror": "49999.97612376",
   "gap_bps": 0.0,
   "positions": []
  },
  {
   "at": "2026-09-27T07:00:00Z",
   "equity_book": "49999.97612376",
   "equity_live_mirror": "49999.97612376",
   "gap_bps": 0.0,
   "positions": []
  },
  {
   "at": "2026-09-27T08:00:00Z",
   "equity_book": "49999.97612376",
   "equity_live_mirror": "49999.97612376",
   "gap_bps": 0.0,
   "positions": []
  },
  {
   "at": "2026-09-27T09:00:00Z",
   "equity_book": "49999.97612376",
   "equity_live_mirror": "49999.97612376",
   "gap_bps": 0.0,
   "positions": []
  },
  {
   "at": "2026-09-27T10:00:00Z",
   "equity_book": "49999.97612376",
   "equity_live_mirror": "49999.97612376",
   "gap_bps": 0.0,
   "positions": []
  },
  {
   "at": "2026-09-27T11:00:00Z",
   "equity_book": "49998.66528302",
   "equity_live_mirror": "49998.57708302",
   "gap_bps": -0.017640470900720927,
   "positions": [
    {
     "symbol": "BTCUSDT",
     "qty": "0.0294",
     "demo_mark": "84817",
     "live_mark": "84814"
    }
   ]
  },
  {
   "at": "2026-09-27T12:00:00Z",
   "equity_book": "50000.07648302",
   "equity_live_mirror": "50000.16174302",
   "gap_bps": 0.01705197391627076,
   "positions": [
    {
     "symbol": "BTCUSDT",
     "qty": "0.0294",
     "demo_mark": "84865",
     "live_mark": "84867.9"
    }
   ]
  },
  {
   "at": "2026-09-27T13:00:00Z",
   "equity_book": "49993.01460302",
   "equity_live_mirror": "49992.66474302",
   "gap_bps": -0.0699817770098756,
   "positions": [
    {
     "symbol": "BTCUSDT",
     "qty": "0.0294",
     "demo_mark": "84624.8",
     "live_mark": "84612.9"
    }
   ]
  },
  {
   "at": "2026-09-27T14:00:00Z",
   "equity_book": "50003.88378302",
   "equity_live_mirror": "50004.01314302",
   "gap_bps": 0.025869990531400933,
   "positions": [
    {
     "symbol": "BTCUSDT",
     "qty": "0.0294",
     "demo_mark": "84994.5",
     "live_mark": "84998.9"
    }
   ]
  },
  {
   "at": "2026-09-27T15:00:00Z",
   "equity_book": "49989.56304302",
   "equity_live_mirror": "49989.63654302",
   "gap_bps": 0.014703069105994664,
   "positions": [
    {
     "symbol": "BTCUSDT",
     "qty": "0.0294",
     "demo_mark": "84507.4",
     "live_mark": "84509.9"
    }
   ]
  },
  {
   "at": "2026-09-27T16:00:00Z",
   "equity_book": "49985.21636710",
   "equity_live_mirror": "49985.21636710",
   "gap_bps": 0.0,
   "positions": []
  },
  {
   "at": "2026-09-27T17:00:00Z",
   "equity_book": "49985.21636710",
   "equity_live_mirror": "49985.21636710",
   "gap_bps": 0.0,
   "positions": []
  }
 ],
 "arms": [
  {
   "spec": {
    "arm_id": "mirror_live",
    "kind": "mirror_live",
    "title": "The same fills on live prices",
    "description": "Every Demo fill replayed at Bitget's live price at the same instant, same fee rate, and marked hourly at live closes: the book without the sandbox.",
    "provenance": "src/sentiment_agent/analysis/mirror.py (this repository, MIT)",
    "uses_llm": true,
    "guards": []
   },
   "marks": [
    {
     "at": "2026-09-24T17:00:00Z",
     "equity": 49999.97612376,
     "gross_weight": 0.0,
     "net_weight": 0.0
    },
    {
     "at": "2026-09-24T18:00:00Z",
     "equity": 49999.97612376,
     "gross_weight": 0.0,
     "net_weight": 0.0
    },
    {
     "at": "2026-09-24T19:00:00Z",
     "equity": 49999.97612376,
     "gross_weight": 0.0,
     "net_weight": 0.0
    },
    {
     "at": "2026-09-24T20:00:00Z",
     "equity": 49999.97612376,
     "gross_weight": 0.0,
     "net_weight": 0.0
    },
    {
     "at": "2026-09-24T21:00:00Z",
     "equity": 49999.97612376,
     "gross_weight": 0.0,
     "net_weight": 0.0
    },
    {
     "at": "2026-09-24T22:00:00Z",
     "equity": 49999.97612376,
     "gross_weight": 0.0,
     "net_weight": 0.0
    },
    {
     "at": "2026-09-24T23:00:00Z",
     "equity": 49999.97612376,
     "gross_weight": 0.0,
     "net_weight": 0.0
    },
    {
     "at": "2026-09-25T00:00:00Z",
     "equity": 49999.97612376,
     "gross_weight": 0.0,
     "net_weight": 0.0
    },
    {
     "at": "2026-09-25T01:00:00Z",
     "equity": 49999.97612376,
     "gross_weight": 0.0,
     "net_weight": 0.0
    },
    {
     "at": "2026-09-25T02:00:00Z",
     "equity": 49999.97612376,
     "gross_weight": 0.0,
     "net_weight": 0.0
    },
    {
     "at": "2026-09-25T03:00:00Z",
     "equity": 49999.97612376,
     "gross_weight": 0.0,
     "net_weight": 0.0
    },
    {
     "at": "2026-09-25T04:00:00Z",
     "equity": 49999.97612376,
     "gross_weight": 0.0,
     "net_weight": 0.0
    },
    {
     "at": "2026-09-25T05:00:00Z",
     "equity": 49999.97612376,
     "gross_weight": 0.0,
     "net_weight": 0.0
    },
    {
     "at": "2026-09-25T06:00:00Z",
     "equity": 49999.97612376,
     "gross_weight": 0.0,
     "net_weight": 0.0
    },
    {
     "at": "2026-09-25T07:00:00Z",
     "equity": 49999.97612376,
     "gross_weight": 0.0,
     "net_weight": 0.0
    },
    {
     "at": "2026-09-25T08:00:00Z",
     "equity": 49999.97612376,
     "gross_weight": 0.0,
     "net_weight": 0.0
    },
    {
     "at": "2026-09-25T09:00:00Z",
     "equity": 49999.97612376,
     "gross_weight": 0.0,
     "net_weight": 0.0
    },
    {
     "at": "2026-09-25T10:00:00Z",
     "equity": 49999.97612376,
     "gross_weight": 0.0,
     "net_weight": 0.0
    },
    {
     "at": "2026-09-25T11:00:00Z",
     "equity": 49999.97612376,
     "gross_weight": 0.0,
     "net_weight": 0.0
    },
    {
     "at": "2026-09-25T12:00:00Z",
     "equity": 49999.97612376,
     "gross_weight": 0.0,
     "net_weight": 0.0
    },
    {
     "at": "2026-09-25T13:00:00Z",
     "equity": 49999.97612376,
     "gross_weight": 0.0,
     "net_weight": 0.0
    },
    {
     "at": "2026-09-25T14:00:00Z",
     "equity": 49999.97612376,
     "gross_weight": 0.0,
     "net_weight": 0.0
    },
    {
     "at": "2026-09-25T15:00:00Z",
     "equity": 49999.97612376,
     "gross_weight": 0.0,
     "net_weight": 0.0
    },
    {
     "at": "2026-09-25T16:00:00Z",
     "equity": 49999.97612376,
     "gross_weight": 0.0,
     "net_weight": 0.0
    },
    {
     "at": "2026-09-25T17:00:00Z",
     "equity": 49999.97612376,
     "gross_weight": 0.0,
     "net_weight": 0.0
    },
    {
     "at": "2026-09-25T18:00:00Z",
     "equity": 49999.97612376,
     "gross_weight": 0.0,
     "net_weight": 0.0
    },
    {
     "at": "2026-09-25T19:00:00Z",
     "equity": 49999.97612376,
     "gross_weight": 0.0,
     "net_weight": 0.0
    },
    {
     "at": "2026-09-25T20:00:00Z",
     "equity": 49999.97612376,
     "gross_weight": 0.0,
     "net_weight": 0.0
    },
    {
     "at": "2026-09-25T21:00:00Z",
     "equity": 49999.97612376,
     "gross_weight": 0.0,
     "net_weight": 0.0
    },
    {
     "at": "2026-09-25T22:00:00Z",
     "equity": 49999.97612376,
     "gross_weight": 0.0,
     "net_weight": 0.0
    },
    {
     "at": "2026-09-25T23:00:00Z",
     "equity": 49999.97612376,
     "gross_weight": 0.0,
     "net_weight": 0.0
    },
    {
     "at": "2026-09-26T00:00:00Z",
     "equity": 49999.97612376,
     "gross_weight": 0.0,
     "net_weight": 0.0
    },
    {
     "at": "2026-09-26T01:00:00Z",
     "equity": 49999.97612376,
     "gross_weight": 0.0,
     "net_weight": 0.0
    },
    {
     "at": "2026-09-26T02:00:00Z",
     "equity": 49999.97612376,
     "gross_weight": 0.0,
     "net_weight": 0.0
    },
    {
     "at": "2026-09-26T03:00:00Z",
     "equity": 49999.97612376,
     "gross_weight": 0.0,
     "net_weight": 0.0
    },
    {
     "at": "2026-09-26T04:00:00Z",
     "equity": 49999.97612376,
     "gross_weight": 0.0,
     "net_weight": 0.0
    },
    {
     "at": "2026-09-26T05:00:00Z",
     "equity": 49999.97612376,
     "gross_weight": 0.0,
     "net_weight": 0.0
    },
    {
     "at": "2026-09-26T06:00:00Z",
     "equity": 49999.97612376,
     "gross_weight": 0.0,
     "net_weight": 0.0
    },
    {
     "at": "2026-09-26T07:00:00Z",
     "equity": 49999.97612376,
     "gross_weight": 0.0,
     "net_weight": 0.0
    },
    {
     "at": "2026-09-26T08:00:00Z",
     "equity": 49999.97612376,
     "gross_weight": 0.0,
     "net_weight": 0.0
    },
    {
     "at": "2026-09-26T09:00:00Z",
     "equity": 49999.97612376,
     "gross_weight": 0.0,
     "net_weight": 0.0
    },
    {
     "at": "2026-09-26T10:00:00Z",
     "equity": 49999.97612376,
     "gross_weight": 0.0,
     "net_weight": 0.0
    },
    {
     "at": "2026-09-26T11:00:00Z",
     "equity": 49999.97612376,
     "gross_weight": 0.0,
     "net_weight": 0.0
    },
    {
     "at": "2026-09-26T12:00:00Z",
     "equity": 49999.97612376,
     "gross_weight": 0.0,
     "net_weight": 0.0
    },
    {
     "at": "2026-09-26T13:00:00Z",
     "equity": 49999.97612376,
     "gross_weight": 0.0,
     "net_weight": 0.0
    },
    {
     "at": "2026-09-26T14:00:00Z",
     "equity": 49999.97612376,
     "gross_weight": 0.0,
     "net_weight": 0.0
    },
    {
     "at": "2026-09-26T15:00:00Z",
     "equity": 49999.97612376,
     "gross_weight": 0.0,
     "net_weight": 0.0
    },
    {
     "at": "2026-09-26T16:00:00Z",
     "equity": 49999.97612376,
     "gross_weight": 0.0,
     "net_weight": 0.0
    },
    {
     "at": "2026-09-26T17:00:00Z",
     "equity": 49999.97612376,
     "gross_weight": 0.0,
     "net_weight": 0.0
    },
    {
     "at": "2026-09-26T18:00:00Z",
     "equity": 49999.97612376,
     "gross_weight": 0.0,
     "net_weight": 0.0
    },
    {
     "at": "2026-09-26T19:00:00Z",
     "equity": 49999.97612376,
     "gross_weight": 0.0,
     "net_weight": 0.0
    },
    {
     "at": "2026-09-26T20:00:00Z",
     "equity": 49999.97612376,
     "gross_weight": 0.0,
     "net_weight": 0.0
    },
    {
     "at": "2026-09-26T21:00:00Z",
     "equity": 49999.97612376,
     "gross_weight": 0.0,
     "net_weight": 0.0
    },
    {
     "at": "2026-09-26T22:00:00Z",
     "equity": 49999.97612376,
     "gross_weight": 0.0,
     "net_weight": 0.0
    },
    {
     "at": "2026-09-26T23:00:00Z",
     "equity": 49999.97612376,
     "gross_weight": 0.0,
     "net_weight": 0.0
    },
    {
     "at": "2026-09-27T00:00:00Z",
     "equity": 49999.97612376,
     "gross_weight": 0.0,
     "net_weight": 0.0
    },
    {
     "at": "2026-09-27T01:00:00Z",
     "equity": 49999.97612376,
     "gross_weight": 0.0,
     "net_weight": 0.0
    },
    {
     "at": "2026-09-27T02:00:00Z",
     "equity": 49999.97612376,
     "gross_weight": 0.0,
     "net_weight": 0.0
    },
    {
     "at": "2026-09-27T03:00:00Z",
     "equity": 49999.97612376,
     "gross_weight": 0.0,
     "net_weight": 0.0
    },
    {
     "at": "2026-09-27T04:00:00Z",
     "equity": 49999.97612376,
     "gross_weight": 0.0,
     "net_weight": 0.0
    },
    {
     "at": "2026-09-27T05:00:00Z",
     "equity": 49999.97612376,
     "gross_weight": 0.0,
     "net_weight": 0.0
    },
    {
     "at": "2026-09-27T06:00:00Z",
     "equity": 49999.97612376,
     "gross_weight": 0.0,
     "net_weight": 0.0
    },
    {
     "at": "2026-09-27T07:00:00Z",
     "equity": 49999.97612376,
     "gross_weight": 0.0,
     "net_weight": 0.0
    },
    {
     "at": "2026-09-27T08:00:00Z",
     "equity": 49999.97612376,
     "gross_weight": 0.0,
     "net_weight": 0.0
    },
    {
     "at": "2026-09-27T09:00:00Z",
     "equity": 49999.97612376,
     "gross_weight": 0.0,
     "net_weight": 0.0
    },
    {
     "at": "2026-09-27T10:00:00Z",
     "equity": 49999.97612376,
     "gross_weight": 0.0,
     "net_weight": 0.0
    },
    {
     "at": "2026-09-27T11:00:00Z",
     "equity": 49996.24093961601,
     "gross_weight": 0.049887142175596456,
     "net_weight": 0.049887142175596456
    },
    {
     "at": "2026-09-27T12:00:00Z",
     "equity": 49996.65547961601,
     "gross_weight": 0.04989501989822218,
     "net_weight": 0.04989501989822218
    },
    {
     "at": "2026-09-27T13:00:00Z",
     "equity": 49993.67137961601,
     "gross_weight": 0.04983830855470846,
     "net_weight": 0.04983830855470846
    },
    {
     "at": "2026-09-27T14:00:00Z",
     "equity": 50000.67739961601,
     "gross_weight": 0.04997144378726334,
     "net_weight": 0.04997144378726334
    },
    {
     "at": "2026-09-27T15:00:00Z",
     "equity": 49986.23023961601,
     "gross_weight": 0.049696863878148756,
     "net_weight": 0.049696863878148756
    },
    {
     "at": "2026-09-27T16:00:00Z",
     "equity": 49984.73974429602,
     "gross_weight": 0.0,
     "net_weight": 0.0
    },
    {
     "at": "2026-09-27T17:00:00Z",
     "equity": 49984.73974429602,
     "gross_weight": 0.0,
     "net_weight": 0.0
    }
   ],
   "trades": [
    {
     "symbol": "BTCUSDT",
     "opened_at": "2026-09-27T10:44:56.252000Z",
     "closed_at": "2026-09-27T15:06:10.057000Z",
     "direction": 1,
     "entry_avg": "84911.8",
     "exit_avg": "84495.2",
     "max_abs_qty": "0.0294",
     "gross_pnl": "-12.24804",
     "fees": "2.988339463982407569005652157",
     "net_pnl": "-15.23637946398240756900565216",
     "decision_ids": [],
     "exit_reason": "mirror",
     "funding": "0"
    }
   ],
   "metrics": {
    "arm_id": "mirror_live",
    "n_hours": 72,
    "n_closed_trades": 1,
    "total_return": -0.0003047277347947297,
    "sharpe_ann": -10.046124278189415,
    "sharpe_se_ann": 11.061985899232168,
    "sortino_ann": -10.990955618343254,
    "max_drawdown": -0.00031874878799365014,
    "win_rate": 0.0,
    "turnover": 0.09961291583542266,
    "fees_paid": 2.9883394639824075,
    "ci90": {
     "total_return": [
      -0.0005795617738716397,
      1.4025523817684515e-05
     ],
     "sharpe_ann": [
      -16.867233390766135,
      0.9117843702969136
     ],
     "sortino_ann": [
      -17.69132269925491,
      1.6195800211201454
     ],
     "max_drawdown": [
      -0.000631919733854569,
      0.0
     ]
    },
    "ci90_undefined_share": {
     "sortino_ann": 0.212
    },
    "label": "descriptive, not inferential"
   }
  },
  {
   "spec": {
    "arm_id": "weekend_counterfactual",
    "kind": "weekend_counterfactual",
    "title": "The legs the weekend freeze took away, on live",
    "description": "The exposure G2 refused or closed on US legs, held at live prices until the weekend reopen or the model's next decision on the symbol. Before costs.",
    "provenance": "src/sentiment_agent/analysis/mirror.py (this repository, MIT)",
    "uses_llm": true,
    "guards": []
   },
   "marks": [],
   "trades": [],
   "metrics": {
    "arm_id": "weekend_counterfactual",
    "n_hours": 0,
    "n_closed_trades": 0,
    "total_return": 0.0,
    "sharpe_ann": null,
    "sharpe_se_ann": null,
    "sortino_ann": null,
    "max_drawdown": 0.0,
    "win_rate": null,
    "turnover": 0.0,
    "fees_paid": 0.0,
    "ci90": {},
    "ci90_undefined_share": {},
    "label": "descriptive, not inferential"
   }
  }
 ]
}
