[ { "timestamp": "2026-02-12T09:06:42.639258", "action": "SELL", "ticker": "EXEL", "reason": "No longer passes GARP filter", "details": { "success": true, "ticker": "EXEL", "shares": 152, "price": 43.060001373291016, "proceeds": 6545.12, "realized_pnl": -112.48 } }, { "timestamp": "2026-02-12T09:06:43.567553", "action": "BUY", "ticker": "DUOL", "reason": "GARP signal: PE=13.9, FwdPE=13.95, RevGr=41.1%, EPSGr=1114.3%, RSI=12.92", "details": { "success": true, "ticker": "DUOL", "shares": 58, "price": 110.39, "cost": 6402.62, "cash_remaining": 1013.18 } }, { "timestamp": "2026-02-12T15:36:14.754806", "action": "SELL", "ticker": "PINS", "reason": "Trailing stop hit (stop=18.60, price=18.54)", "details": { "success": true, "ticker": "PINS", "shares": 332, "price": 18.540000915527344, "proceeds": 6155.28, "realized_pnl": -504.64 } }, { "timestamp": "2026-02-12T15:36:15.733004", "action": "BUY", "ticker": "PINS", "reason": "GARP signal: PE=6.51, FwdPE=9.81, RevGr=16.8%, EPSGr=225.0%, RSI=10.76", "details": { "success": true, "ticker": "PINS", "shares": 345, "price": 18.54, "cost": 6396.3, "cash_remaining": 772.16 } } ]