[ { "timestamp": "2026-02-09T10:55:58.244115", "action": "BUY", "ticker": "DUOL", "reason": "GARP signal: PE=14.65, FwdPE=14.71, RevGr=41.1%, EPSGr=1114.3%, RSI=23.44", "details": { "success": true, "ticker": "DUOL", "shares": 57, "price": 116.35, "cost": 6631.95, "cash_remaining": 93368.05 } }, { "timestamp": "2026-02-09T10:55:58.244903", "action": "BUY", "ticker": "ALLY", "reason": "GARP signal: PE=18.0, FwdPE=6.76, RevGr=12.0%, EPSGr=265.4%, RSI=53.23", "details": { "success": true, "ticker": "ALLY", "shares": 156, "price": 42.65, "cost": 6653.4, "cash_remaining": 86714.65 } }, { "timestamp": "2026-02-09T10:55:58.245798", "action": "BUY", "ticker": "JHG", "reason": "GARP signal: PE=9.22, FwdPE=9.96, RevGr=61.3%, EPSGr=243.6%, RSI=68.71", "details": { "success": true, "ticker": "JHG", "shares": 138, "price": 48.21, "cost": 6652.98, "cash_remaining": 80061.67 } }, { "timestamp": "2026-02-09T10:55:58.246780", "action": "BUY", "ticker": "INCY", "reason": "GARP signal: PE=18.42, FwdPE=13.76, RevGr=20.0%, EPSGr=290.7%, RSI=63.48", "details": { "success": true, "ticker": "INCY", "shares": 61, "price": 108.69, "cost": 6630.09, "cash_remaining": 73431.58 } }, { "timestamp": "2026-02-09T10:55:58.247771", "action": "BUY", "ticker": "PINS", "reason": "GARP signal: PE=7.04, FwdPE=10.61, RevGr=16.8%, EPSGr=225.0%, RSI=19.14", "details": { "success": true, "ticker": "PINS", "shares": 332, "price": 20.06, "cost": 6659.92, "cash_remaining": 66771.66 } }, { "timestamp": "2026-02-09T10:55:58.248094", "action": "SKIP", "ticker": "VLY", "reason": "RSI too high (78.6 > 70)", "details": {} }, { "timestamp": "2026-02-09T10:55:58.248884", "action": "SKIP", "ticker": "FHN", "reason": "RSI too high (76.1 > 70)", "details": {} }, { "timestamp": "2026-02-09T10:55:58.249433", "action": "SKIP", "ticker": "FNB", "reason": "RSI too high (71.9 > 70)", "details": {} }, { "timestamp": "2026-02-09T10:55:58.250037", "action": "SKIP", "ticker": "SSB", "reason": "RSI too high (92.2 > 70)", "details": {} }, { "timestamp": "2026-02-09T10:55:58.250674", "action": "SKIP", "ticker": "WBS", "reason": "RSI too high (82.1 > 70)", "details": {} }, { "timestamp": "2026-02-09T10:55:58.251353", "action": "SKIP", "ticker": "WAL", "reason": "RSI too high (71.8 > 70)", "details": {} }, { "timestamp": "2026-02-09T10:55:58.251944", "action": "SKIP", "ticker": "ONB", "reason": "RSI too high (81.2 > 70)", "details": {} }, { "timestamp": "2026-02-09T10:55:58.253279", "action": "BUY", "ticker": "EXEL", "reason": "GARP signal: PE=18.4, FwdPE=12.76, RevGr=10.8%, EPSGr=72.5%, RSI=50.12", "details": { "success": true, "ticker": "EXEL", "shares": 152, "price": 43.8, "cost": 6657.6, "cash_remaining": 60114.06 } }, { "timestamp": "2026-02-09T10:55:58.253702", "action": "SKIP", "ticker": "ZION", "reason": "RSI too high (74.0 > 70)", "details": {} }, { "timestamp": "2026-02-09T10:55:58.254967", "action": "BUY", "ticker": "CART", "reason": "GARP signal: PE=19.5, FwdPE=9.05, RevGr=10.2%, EPSGr=21.1%, RSI=37.75", "details": { "success": true, "ticker": "CART", "shares": 187, "price": 35.49, "cost": 6636.63, "cash_remaining": 53477.43 } }, { "timestamp": "2026-02-09T10:55:58.255400", "action": "SKIP", "ticker": "CFG", "reason": "RSI too high (80.9 > 70)", "details": {} }, { "timestamp": "2026-02-09T10:55:58.256002", "action": "SKIP", "ticker": "UBSI", "reason": "RSI too high (80.0 > 70)", "details": {} }, { "timestamp": "2026-02-09T10:55:58.256804", "action": "SKIP", "ticker": "EWBC", "reason": "RSI too high (79.3 > 70)", "details": {} }, { "timestamp": "2026-02-09T10:55:58.257554", "action": "SKIP", "ticker": "FITB", "reason": "Too close to 52wk high (1.8% away)", "details": {} }, { "timestamp": "2026-02-09T10:55:58.258277", "action": "SKIP", "ticker": "BAC", "reason": "RSI too high (78.3 > 70)", "details": {} }, { "timestamp": "2026-02-09T10:55:58.259039", "action": "SKIP", "ticker": "WTFC", "reason": "RSI too high (72.6 > 70)", "details": {} }, { "timestamp": "2026-02-09T15:36:18.885237", "action": "SELL", "ticker": "DUOL", "reason": "No longer passes GARP filter", "details": { "success": true, "ticker": "DUOL", "shares": 57, "price": 118.91000366210938, "proceeds": 6777.87, "realized_pnl": 145.92 } }, { "timestamp": "2026-02-09T15:36:19.302964", "action": "SKIP", "ticker": "VLY", "reason": "RSI too high (78.3 > 70)", "details": {} }, { "timestamp": "2026-02-09T15:36:19.303492", "action": "SKIP", "ticker": "FHN", "reason": "RSI too high (72.4 > 70)", "details": {} }, { "timestamp": "2026-02-09T15:36:19.304721", "action": "SKIP", "ticker": "FNB", "reason": "RSI too high (71.0 > 70)", "details": {} }, { "timestamp": "2026-02-09T15:36:19.305710", "action": "SKIP", "ticker": "SSB", "reason": "RSI too high (89.0 > 70)", "details": {} }, { "timestamp": "2026-02-09T15:36:19.306687", "action": "SKIP", "ticker": "WBS", "reason": "RSI too high (82.0 > 70)", "details": {} }, { "timestamp": "2026-02-09T15:36:19.307754", "action": "SKIP", "ticker": "ONB", "reason": "RSI too high (77.6 > 70)", "details": {} }, { "timestamp": "2026-02-09T15:36:19.308706", "action": "SKIP", "ticker": "WAL", "reason": "RSI too high (71.7 > 70)", "details": {} }, { "timestamp": "2026-02-09T15:36:19.309624", "action": "SKIP", "ticker": "ZION", "reason": "RSI too high (73.3 > 70)", "details": {} }, { "timestamp": "2026-02-09T15:36:19.310657", "action": "SKIP", "ticker": "CFG", "reason": "RSI too high (78.5 > 70)", "details": {} }, { "timestamp": "2026-02-09T15:36:19.311641", "action": "SKIP", "ticker": "UBSI", "reason": "RSI too high (77.5 > 70)", "details": {} }, { "timestamp": "2026-02-09T15:36:19.312722", "action": "SKIP", "ticker": "EWBC", "reason": "RSI too high (78.6 > 70)", "details": {} }, { "timestamp": "2026-02-09T15:36:19.313689", "action": "SKIP", "ticker": "FITB", "reason": "Too close to 52wk high (1.9% away)", "details": {} }, { "timestamp": "2026-02-09T15:36:19.314689", "action": "SKIP", "ticker": "BAC", "reason": "RSI too high (78.1 > 70)", "details": {} }, { "timestamp": "2026-02-09T15:36:19.315714", "action": "SKIP", "ticker": "WTFC", "reason": "RSI too high (70.2 > 70)", "details": {} } ]