Full sync - all projects, memory, configs

This commit is contained in:
2026-03-21 20:27:59 -05:00
parent 2447677d4a
commit b33de10902
395 changed files with 1635300 additions and 459211 deletions

View File

@ -1,125 +1,68 @@
{
"cash": 870.6802087402511,
"cash": 49333.250231513994,
"positions": {
"ALLY": {
"shares": 156,
"avg_cost": 42.65,
"current_price": 41.68000030517578,
"entry_date": "2026-02-09T10:55:58.244488",
"entry_reason": "GARP signal: PE=18.0, FwdPE=6.76, RevGr=12.0%, EPSGr=265.4%, RSI=53.23",
"trailing_stop": 38.50199890136719
},
"JHG": {
"shares": 138,
"avg_cost": 48.21,
"current_price": 48.220001220703125,
"entry_date": "2026-02-09T10:55:58.245351",
"entry_reason": "GARP signal: PE=9.22, FwdPE=9.96, RevGr=61.3%, EPSGr=243.6%, RSI=68.71",
"trailing_stop": 43.46999931335449
},
"INCY": {
"shares": 61,
"avg_cost": 108.69,
"current_price": 98.83999633789062,
"entry_date": "2026-02-09T10:55:58.246289",
"entry_reason": "GARP signal: PE=18.42, FwdPE=13.76, RevGr=20.0%, EPSGr=290.7%, RSI=63.48",
"trailing_stop": 98.12699890136719
},
"PINS": {
"shares": 332,
"avg_cost": 20.06,
"current_price": 19.09000015258789,
"entry_date": "2026-02-09T10:55:58.247262",
"entry_reason": "GARP signal: PE=7.04, FwdPE=10.61, RevGr=16.8%, EPSGr=225.0%, RSI=19.14",
"trailing_stop": 18.59850082397461
},
"EXEL": {
"shares": 152,
"avg_cost": 43.8,
"current_price": 42.939998626708984,
"entry_date": "2026-02-09T10:55:58.252764",
"entry_reason": "GARP signal: PE=18.4, FwdPE=12.76, RevGr=10.8%, EPSGr=72.5%, RSI=50.12",
"trailing_stop": 39.573001098632815
},
"CART": {
"shares": 187,
"avg_cost": 35.49,
"current_price": 32.93000030517578,
"entry_date": "2026-02-09T10:55:58.254418",
"entry_reason": "GARP signal: PE=19.5, FwdPE=9.05, RevGr=10.2%, EPSGr=21.1%, RSI=37.75",
"trailing_stop": 31.941000000000003
},
"UBSI": {
"shares": 148,
"avg_cost": 44.93,
"current_price": 44.27000045776367,
"entry_date": "2026-02-10T09:06:30.696005",
"entry_reason": "GARP signal: PE=13.74, FwdPE=11.93, RevGr=22.1%, EPSGr=32.1%, RSI=67.45",
"trailing_stop": 40.437
},
"WTFC": {
"shares": 42,
"avg_cost": 158.12,
"current_price": 154.17999267578125,
"entry_date": "2026-02-10T09:06:30.699573",
"entry_reason": "GARP signal: PE=13.87, FwdPE=11.79, RevGr=10.5%, EPSGr=19.4%, RSI=62.2",
"trailing_stop": 142.30800000000002
},
"FHN": {
"shares": 258,
"avg_cost": 25.64,
"current_price": 24.959999084472656,
"entry_date": "2026-02-10T15:36:28.434830",
"entry_reason": "GARP signal: PE=13.71, FwdPE=10.94, RevGr=23.7%, EPSGr=74.9%, RSI=58.44",
"trailing_stop": 23.305500411987307
"FSLR": {
"shares": 30,
"avg_cost": 207.7,
"current_price": 192.82000732421875,
"entry_date": "2026-02-26T09:07:31.815227",
"entry_reason": "GARP signal: PE=15.94, FwdPE=7.99, RevGr=11.1%, EPSGr=32.3%, RSI=36.77",
"trailing_stop": 186.93,
"sector": "Technology"
},
"FNB": {
"shares": 354,
"avg_cost": 18.69,
"current_price": 18.440000534057617,
"entry_date": "2026-02-10T15:36:28.437094",
"entry_reason": "GARP signal: PE=11.98, FwdPE=9.55, RevGr=26.4%, EPSGr=56.5%, RSI=62.57",
"trailing_stop": 16.888499450683593
"shares": 363,
"avg_cost": 17.17,
"current_price": 16.010000228881836,
"entry_date": "2026-02-27T09:07:25.334664",
"entry_reason": "GARP signal: PE=11.0, FwdPE=8.79, RevGr=26.4%, EPSGr=55.8%, RSI=27.5",
"trailing_stop": 15.506999588012695,
"sector": "Financial Services"
},
"WAL": {
"shares": 69,
"avg_cost": 94.92,
"current_price": 94.83000183105469,
"entry_date": "2026-02-10T15:36:28.439819",
"entry_reason": "GARP signal: PE=10.87, FwdPE=7.98, RevGr=16.6%, EPSGr=32.9%, RSI=60.46",
"trailing_stop": 85.71599807739258
"INCY": {
"shares": 62,
"avg_cost": 98.07,
"current_price": 90.77999877929688,
"entry_date": "2026-03-03T09:06:58.530987",
"entry_reason": "GARP signal: PE=15.3, FwdPE=11.3, RevGr=27.8%, EPSGr=43.6%, RSI=42.53",
"trailing_stop": 89.01000137329102,
"sector": "Healthcare"
},
"ONB": {
"shares": 259,
"avg_cost": 25.53,
"current_price": 24.920000076293945,
"entry_date": "2026-02-10T15:36:28.441188",
"entry_reason": "GARP signal: PE=14.26, FwdPE=8.9, RevGr=41.4%, EPSGr=17.2%, RSI=68.73",
"trailing_stop": 22.977
"ALLY": {
"shares": 158,
"avg_cost": 38.44,
"current_price": 38.43000030517578,
"entry_date": "2026-03-06T09:06:54.216661",
"entry_reason": "GARP signal: PE=16.22, FwdPE=6.09, RevGr=12.0%, EPSGr=265.4%, RSI=39.54",
"trailing_stop": 34.596,
"sector": "Financial Services"
},
"ZION": {
"shares": 103,
"avg_cost": 64.08,
"current_price": 62.90999984741211,
"entry_date": "2026-02-10T15:36:28.442626",
"entry_reason": "GARP signal: PE=10.66, FwdPE=9.8, RevGr=13.6%, EPSGr=31.4%, RSI=60.76",
"trailing_stop": 57.672
"JHG": {
"shares": 118,
"avg_cost": 51.14,
"current_price": 50.43000030517578,
"entry_date": "2026-03-06T09:06:54.783141",
"entry_reason": "GARP signal: PE=9.78, FwdPE=10.56, RevGr=61.3%, EPSGr=244.6%, RSI=62.19",
"trailing_stop": 46.525499725341795,
"sector": "Financial Services"
},
"EWBC": {
"shares": 54,
"avg_cost": 120.54,
"current_price": 119.0999984741211,
"entry_date": "2026-02-10T15:36:28.444928",
"entry_reason": "GARP signal: PE=12.66, FwdPE=11.0, RevGr=21.6%, EPSGr=21.3%, RSI=65.92",
"trailing_stop": 110.20499725341797
"VLY": {
"shares": 509,
"avg_cost": 11.94,
"current_price": 11.729999542236328,
"entry_date": "2026-03-06T09:06:55.301775",
"entry_reason": "GARP signal: PE=11.84, FwdPE=8.0, RevGr=38.3%, EPSGr=66.7%, RSI=27.31",
"trailing_stop": 10.898999691009521,
"sector": "Financial Services"
},
"BAC": {
"shares": 119,
"avg_cost": 55.39,
"current_price": 53.849998474121094,
"entry_date": "2026-02-10T15:36:28.446464",
"entry_reason": "GARP signal: PE=14.54, FwdPE=11.17, RevGr=13.2%, EPSGr=20.9%, RSI=69.17",
"trailing_stop": 49.851
"PATH": {
"shares": 516,
"avg_cost": 11.77,
"current_price": 12.0600004196167,
"entry_date": "2026-03-17T10:07:12.734952",
"entry_reason": "GARP signal: PE=22.63, FwdPE=13.13, RevGr=13.6%, EPSGr=107.4%, RSI=69.48",
"trailing_stop": 11.218500137329102,
"sector": "Technology"
}
}
}

View File

@ -22,5 +22,221 @@
"pnl_pct": -2.61,
"cash": 870.68,
"num_positions": 15
},
{
"date": "2026-02-12",
"total_value": 96191.61,
"total_pnl": -3808.39,
"pnl_pct": -3.81,
"cash": 772.16,
"num_positions": 15
},
{
"date": "2026-02-13",
"total_value": 96194.73,
"total_pnl": -3805.27,
"pnl_pct": -3.81,
"cash": 122.78,
"num_positions": 15
},
{
"date": "2026-02-16",
"total_value": 96194.73,
"total_pnl": -3805.27,
"pnl_pct": -3.81,
"cash": 514.82,
"num_positions": 15
},
{
"date": "2026-02-17",
"total_value": 96592.79,
"total_pnl": -3407.21,
"pnl_pct": -3.41,
"cash": 514.82,
"num_positions": 15
},
{
"date": "2026-02-18",
"total_value": 97547.25,
"total_pnl": -2452.75,
"pnl_pct": -2.45,
"cash": 56628.22,
"num_positions": 11
},
{
"date": "2026-02-19",
"total_value": 97067.99,
"total_pnl": -2932.01,
"pnl_pct": -2.93,
"cash": 56958.51,
"num_positions": 7
},
{
"date": "2026-02-20",
"total_value": 97633.09,
"total_pnl": -2366.91,
"pnl_pct": -2.37,
"cash": 28262.26,
"num_positions": 7
},
{
"date": "2026-02-23",
"total_value": 95179.25,
"total_pnl": -4820.75,
"pnl_pct": -4.82,
"cash": 52032.91,
"num_positions": 6
},
{
"date": "2026-02-24",
"total_value": 95255.89,
"total_pnl": -4744.11,
"pnl_pct": -4.74,
"cash": 45685.97,
"num_positions": 7
},
{
"date": "2026-02-25",
"total_value": 95550.21,
"total_pnl": -4449.79,
"pnl_pct": -4.45,
"cash": 45685.97,
"num_positions": 7
},
{
"date": "2026-02-26",
"total_value": 96022.02,
"total_pnl": -3977.98,
"pnl_pct": -3.98,
"cash": 39454.97,
"num_positions": 8
},
{
"date": "2026-02-27",
"total_value": 93533.59,
"total_pnl": -6466.41,
"pnl_pct": -6.47,
"cash": 41632.63,
"num_positions": 7
},
{
"date": "2026-03-02",
"total_value": 93747.13,
"total_pnl": -6252.87,
"pnl_pct": -6.25,
"cash": 41632.63,
"num_positions": 7
},
{
"date": "2026-03-03",
"total_value": 92836.92,
"total_pnl": -7163.08,
"pnl_pct": -7.16,
"cash": 54677.89,
"num_positions": 7
},
{
"date": "2026-03-04",
"total_value": 92942.07,
"total_pnl": -7057.93,
"pnl_pct": -7.06,
"cash": 54677.89,
"num_positions": 7
},
{
"date": "2026-03-05",
"total_value": 92451.43,
"total_pnl": -7548.57,
"pnl_pct": -7.55,
"cash": 54677.89,
"num_positions": 7
},
{
"date": "2026-03-06",
"total_value": 91370.62,
"total_pnl": -8629.38,
"pnl_pct": -8.63,
"cash": 55560.57,
"num_positions": 6
},
{
"date": "2026-03-09",
"total_value": 91609.21,
"total_pnl": -8390.79,
"pnl_pct": -8.39,
"cash": 55560.57,
"num_positions": 6
},
{
"date": "2026-03-10",
"total_value": 91420.67,
"total_pnl": -8579.33,
"pnl_pct": -8.58,
"cash": 55560.57,
"num_positions": 6
},
{
"date": "2026-03-11",
"total_value": 91185.6,
"total_pnl": -8814.4,
"pnl_pct": -8.81,
"cash": 55560.57,
"num_positions": 6
},
{
"date": "2026-03-12",
"total_value": 90830.12,
"total_pnl": -9169.88,
"pnl_pct": -9.17,
"cash": 55560.57,
"num_positions": 6
},
{
"date": "2026-03-13",
"total_value": 90541.37,
"total_pnl": -9458.63,
"pnl_pct": -9.46,
"cash": 55560.57,
"num_positions": 6
},
{
"date": "2026-03-16",
"total_value": 90833.1,
"total_pnl": -9166.9,
"pnl_pct": -9.17,
"cash": 55560.57,
"num_positions": 6
},
{
"date": "2026-03-17",
"total_value": 91245.82,
"total_pnl": -8754.18,
"pnl_pct": -8.75,
"cash": 49333.25,
"num_positions": 7
},
{
"date": "2026-03-18",
"total_value": 91132.28,
"total_pnl": -8867.72,
"pnl_pct": -8.87,
"cash": 49333.25,
"num_positions": 7
},
{
"date": "2026-03-19",
"total_value": 91314.47,
"total_pnl": -8685.53,
"pnl_pct": -8.69,
"cash": 49333.25,
"num_positions": 7
},
{
"date": "2026-03-20",
"total_value": 90774.05,
"total_pnl": -9225.95,
"pnl_pct": -9.23,
"cash": 49333.25,
"num_positions": 7
}
]

View File

@ -153,5 +153,577 @@
"cost": 6591.41,
"reason": "GARP signal: PE=14.54, FwdPE=11.17, RevGr=13.2%, EPSGr=20.9%, RSI=69.17",
"timestamp": "2026-02-10T15:36:28.446981"
},
{
"action": "SELL",
"ticker": "EXEL",
"shares": 152,
"price": 43.060001373291016,
"proceeds": 6545.12,
"realized_pnl": -112.48,
"entry_price": 43.8,
"reason": "No longer passes GARP filter",
"timestamp": "2026-02-12T09:06:42.638887"
},
{
"action": "BUY",
"ticker": "DUOL",
"shares": 58,
"price": 110.39,
"cost": 6402.62,
"reason": "GARP signal: PE=13.9, FwdPE=13.95, RevGr=41.1%, EPSGr=1114.3%, RSI=12.92",
"timestamp": "2026-02-12T09:06:43.567203"
},
{
"action": "SELL",
"ticker": "PINS",
"shares": 332,
"price": 18.540000915527344,
"proceeds": 6155.28,
"realized_pnl": -504.64,
"entry_price": 20.06,
"reason": "Trailing stop hit (stop=18.60, price=18.54)",
"timestamp": "2026-02-12T15:36:14.754307"
},
{
"action": "BUY",
"ticker": "PINS",
"shares": 345,
"price": 18.54,
"cost": 6396.3,
"reason": "GARP signal: PE=6.51, FwdPE=9.81, RevGr=16.8%, EPSGr=225.0%, RSI=10.76",
"timestamp": "2026-02-12T15:36:15.732652"
},
{
"action": "SELL",
"ticker": "PINS",
"shares": 345,
"price": 14.746800422668457,
"proceeds": 5087.65,
"realized_pnl": -1308.65,
"entry_price": 18.54,
"reason": "Trailing stop hit (stop=16.69, price=14.75)",
"timestamp": "2026-02-13T09:06:29.264422"
},
{
"action": "BUY",
"ticker": "PINS",
"shares": 394,
"price": 14.85,
"cost": 5850.9,
"reason": "GARP signal: PE=24.35, FwdPE=7.4, RevGr=16.8%, EPSGr=225.0%, RSI=7.73",
"timestamp": "2026-02-13T09:06:29.265876"
},
{
"action": "SELL",
"ticker": "JHG",
"shares": 138,
"price": 49.04999923706055,
"proceeds": 6768.9,
"realized_pnl": 115.92,
"entry_price": 48.21,
"reason": "RSI overbought (81.4 > 80)",
"timestamp": "2026-02-13T15:36:14.006304"
},
{
"action": "SELL",
"ticker": "PINS",
"shares": 394,
"price": 15.420000076293945,
"proceeds": 6075.48,
"realized_pnl": 224.58,
"entry_price": 14.85,
"reason": "No longer passes GARP filter",
"timestamp": "2026-02-13T15:36:15.136552"
},
{
"action": "BUY",
"ticker": "SSB",
"shares": 61,
"price": 104.11,
"cost": 6350.71,
"reason": "GARP signal: PE=13.23, FwdPE=9.84, RevGr=53.2%, EPSGr=30.9%, RSI=63.64",
"timestamp": "2026-02-13T15:36:15.139960"
},
{
"action": "BUY",
"ticker": "CFG",
"shares": 98,
"price": 65.1,
"cost": 6379.8,
"reason": "GARP signal: PE=16.87, FwdPE=10.34, RevGr=10.7%, EPSGr=35.9%, RSI=62.89",
"timestamp": "2026-02-13T15:36:15.142094"
},
{
"action": "SELL",
"ticker": "CART",
"shares": 187,
"price": 36.29999923706055,
"proceeds": 6788.1,
"realized_pnl": 151.47,
"entry_price": 35.49,
"reason": "No longer passes GARP filter",
"timestamp": "2026-02-16T09:06:20.720262"
},
{
"action": "BUY",
"ticker": "FITB",
"shares": 121,
"price": 52.86,
"cost": 6396.06,
"reason": "GARP signal: PE=14.97, FwdPE=10.78, RevGr=11.5%, EPSGr=20.8%, RSI=61.79",
"timestamp": "2026-02-16T09:06:21.752046"
},
{
"action": "SELL",
"ticker": "BAC",
"shares": 118,
"price": 53.380001068115234,
"proceeds": 6298.84,
"realized_pnl": -237.18,
"entry_price": 55.39,
"reason": "Rebalance: Financial Services sector cap violation",
"timestamp": "2026-02-18T10:16:42.931157"
},
{
"action": "SELL",
"ticker": "SSB",
"shares": 60,
"price": 104.61000061035156,
"proceeds": 6276.6,
"realized_pnl": 30.0,
"entry_price": 104.11,
"reason": "Rebalance: Financial Services sector cap violation",
"timestamp": "2026-02-18T10:16:42.932076"
},
{
"action": "SELL",
"ticker": "CFG",
"shares": 98,
"price": 65.19999694824219,
"proceeds": 6389.6,
"realized_pnl": 9.8,
"entry_price": 65.1,
"reason": "Rebalance: Financial Services sector cap violation",
"timestamp": "2026-02-18T10:16:42.933117"
},
{
"action": "SELL",
"ticker": "ZION",
"shares": 103,
"price": 62.32500076293945,
"proceeds": 6419.48,
"realized_pnl": -180.76,
"entry_price": 64.08,
"reason": "Rebalance: Financial Services sector cap violation",
"timestamp": "2026-02-18T10:16:42.934024"
},
{
"action": "SELL",
"ticker": "FHN",
"shares": 258,
"price": 25.084999084472656,
"proceeds": 6471.93,
"realized_pnl": -143.19,
"entry_price": 25.64,
"reason": "Rebalance: Financial Services sector cap violation",
"timestamp": "2026-02-18T10:16:42.934883"
},
{
"action": "SELL",
"ticker": "FNB",
"shares": 353,
"price": 18.3700008392334,
"proceeds": 6484.61,
"realized_pnl": -112.96,
"entry_price": 18.69,
"reason": "Rebalance: Financial Services sector cap violation",
"timestamp": "2026-02-18T10:16:42.935760"
},
{
"action": "SELL",
"ticker": "FITB",
"shares": 121,
"price": 53.779998779296875,
"proceeds": 6507.38,
"realized_pnl": 111.32,
"entry_price": 52.86,
"reason": "Rebalance: Financial Services sector cap violation",
"timestamp": "2026-02-18T10:16:42.936822"
},
{
"action": "SELL",
"ticker": "ONB",
"shares": 259,
"price": 25.149999618530273,
"proceeds": 6513.85,
"realized_pnl": -98.42,
"entry_price": 25.53,
"reason": "Rebalance: Financial Services sector cap violation",
"timestamp": "2026-02-18T10:16:42.937782"
},
{
"action": "SELL",
"ticker": "WTFC",
"shares": 41,
"price": 155.4600067138672,
"proceeds": 6373.86,
"realized_pnl": -109.06,
"entry_price": 158.12,
"reason": "Rebalance: Financial Services sector cap violation",
"timestamp": "2026-02-18T10:16:42.938692"
},
{
"action": "SELL",
"ticker": "EWBC",
"shares": 54,
"price": 121.2699966430664,
"proceeds": 6548.58,
"realized_pnl": 39.42,
"entry_price": 120.54,
"reason": "Rebalance: Financial Services sector cap violation",
"timestamp": "2026-02-18T10:16:42.939584"
},
{
"action": "SELL",
"ticker": "ALLY",
"shares": 115,
"price": 42.016300201416016,
"proceeds": 4831.87,
"realized_pnl": -72.88,
"entry_price": 42.65,
"reason": "Rebalance: Financial Services sector cap violation",
"timestamp": "2026-02-18T10:16:42.940508"
},
{
"action": "BUY",
"ticker": "VLY",
"shares": 490,
"price": 13.27,
"cost": 6502.3,
"reason": "GARP signal: PE=13.14, FwdPE=8.9, RevGr=38.3%, EPSGr=66.3%, RSI=68.66",
"timestamp": "2026-02-18T15:37:00.309956"
},
{
"action": "BUY",
"ticker": "FHN",
"shares": 259,
"price": 25.1,
"cost": 6500.9,
"reason": "GARP signal: PE=13.42, FwdPE=10.71, RevGr=23.7%, EPSGr=74.9%, RSI=60.47",
"timestamp": "2026-02-18T15:37:01.562147"
},
{
"action": "SELL",
"ticker": "WTFC",
"shares": 1,
"price": 155.08999633789062,
"proceeds": 155.09,
"realized_pnl": -3.03,
"entry_price": 158.12,
"reason": "Position cleanup: $155 < $1,000 minimum",
"timestamp": "2026-02-18T18:03:13.335556"
},
{
"action": "SELL",
"ticker": "FNB",
"shares": 1,
"price": 18.149999618530273,
"proceeds": 18.15,
"realized_pnl": -0.54,
"entry_price": 18.69,
"reason": "Position cleanup: $18 < $1,000 minimum",
"timestamp": "2026-02-18T18:03:13.336936"
},
{
"action": "SELL",
"ticker": "BAC",
"shares": 1,
"price": 53.36000061035156,
"proceeds": 53.36,
"realized_pnl": -2.03,
"entry_price": 55.39,
"reason": "Position cleanup: $53 < $1,000 minimum",
"timestamp": "2026-02-18T18:03:13.338033"
},
{
"action": "SELL",
"ticker": "SSB",
"shares": 1,
"price": 103.69000244140625,
"proceeds": 103.69,
"realized_pnl": -0.42,
"entry_price": 104.11,
"reason": "Position cleanup: $104 < $1,000 minimum",
"timestamp": "2026-02-18T18:03:13.339877"
},
{
"action": "SELL",
"ticker": "WAL",
"shares": 35,
"price": 91.17,
"proceeds": 3190.95,
"realized_pnl": -131.25,
"entry_price": 94.92,
"reason": "Rebalance: Reduce Financial Services below 25%",
"timestamp": "2026-02-19T20:04:20.741137"
},
{
"action": "BUY",
"ticker": "DUOL",
"shares": 164,
"price": 111.11,
"cost": 18222.04,
"reason": "Diversification: Boost Technology sector allocation",
"timestamp": "2026-02-19T20:04:57.288183"
},
{
"action": "BUY",
"ticker": "INCY",
"shares": 134,
"price": 101.73,
"cost": 13631.82,
"reason": "Diversification: Boost Healthcare sector allocation",
"timestamp": "2026-02-19T20:04:57.841223"
},
{
"action": "BUY",
"ticker": "CCL",
"shares": 128,
"price": 31.89,
"cost": 4081.92,
"reason": "Sector diversification: Cruise industry recovery with strong brand portfolio",
"timestamp": "2026-02-20T10:05:09.488091"
},
{
"action": "BUY",
"ticker": "META",
"shares": 6,
"price": 662.86,
"cost": 3977.16,
"reason": "Sector diversification: AI leadership and metaverse positioning",
"timestamp": "2026-02-20T10:05:10.631782"
},
{
"action": "BUY",
"ticker": "LMT",
"shares": 6,
"price": 658.75,
"cost": 3952.5,
"reason": "Sector diversification: Defense contractor with stable government revenue",
"timestamp": "2026-02-20T10:05:12.038381"
},
{
"action": "SELL",
"ticker": "CCL",
"shares": 128,
"price": 31.989999771118164,
"proceeds": 4094.72,
"realized_pnl": 12.8,
"entry_price": 31.89,
"reason": "No longer passes GARP filter",
"timestamp": "2026-02-20T15:37:03.054075"
},
{
"action": "SELL",
"ticker": "META",
"shares": 6,
"price": 655.6599731445312,
"proceeds": 3933.96,
"realized_pnl": -43.2,
"entry_price": 662.86,
"reason": "No longer passes GARP filter",
"timestamp": "2026-02-20T15:37:03.119367"
},
{
"action": "SELL",
"ticker": "LMT",
"shares": 6,
"price": 658.260009765625,
"proceeds": 3949.56,
"realized_pnl": -2.94,
"entry_price": 658.75,
"reason": "No longer passes GARP filter",
"timestamp": "2026-02-20T15:37:03.279677"
},
{
"action": "SELL",
"ticker": "DUOL",
"shares": 222,
"price": 107.07499694824219,
"proceeds": 23770.65,
"realized_pnl": -854.01,
"entry_price": 110.92189189189189,
"reason": "No longer passes GARP filter",
"timestamp": "2026-02-23T09:06:34.151644"
},
{
"action": "BUY",
"ticker": "DUOL",
"shares": 58,
"price": 109.43,
"cost": 6346.94,
"reason": "GARP signal: PE=13.78, FwdPE=13.83, RevGr=41.1%, EPSGr=1114.3%, RSI=37.11",
"timestamp": "2026-02-24T15:37:11.258981"
},
{
"action": "BUY",
"ticker": "FSLR",
"shares": 30,
"price": 207.7,
"cost": 6231.0,
"reason": "GARP signal: PE=15.94, FwdPE=7.99, RevGr=11.1%, EPSGr=32.3%, RSI=36.77",
"timestamp": "2026-02-26T09:07:31.827374"
},
{
"action": "SELL",
"ticker": "WAL",
"shares": 34,
"price": 83.12999725341797,
"proceeds": 2826.42,
"realized_pnl": -400.86,
"entry_price": 94.92,
"reason": "Trailing stop hit (stop=86.53, price=83.13)",
"timestamp": "2026-02-27T09:07:23.985130"
},
{
"action": "SELL",
"ticker": "DUOL",
"shares": 58,
"price": 96.2750015258789,
"proceeds": 5583.95,
"realized_pnl": -762.99,
"entry_price": 109.43,
"reason": "Trailing stop hit (stop=105.70, price=96.28)",
"timestamp": "2026-02-27T09:07:24.202772"
},
{
"action": "BUY",
"ticker": "FNB",
"shares": 363,
"price": 17.17,
"cost": 6232.71,
"reason": "GARP signal: PE=11.0, FwdPE=8.79, RevGr=26.4%, EPSGr=55.8%, RSI=27.5",
"timestamp": "2026-02-27T09:07:25.335200"
},
{
"action": "SELL",
"ticker": "INCY",
"shares": 195,
"price": 98.08000183105469,
"proceeds": 19125.6,
"realized_pnl": -1136.31,
"entry_price": 103.90723076923076,
"reason": "Trailing stop hit (stop=98.13, price=98.08)",
"timestamp": "2026-03-03T09:06:52.511164"
},
{
"action": "BUY",
"ticker": "INCY",
"shares": 62,
"price": 98.07,
"cost": 6080.34,
"reason": "GARP signal: PE=15.3, FwdPE=11.3, RevGr=27.8%, EPSGr=43.6%, RSI=42.53",
"timestamp": "2026-03-03T09:06:58.531480"
},
{
"action": "SELL",
"ticker": "ALLY",
"shares": 41,
"price": 38.17499923706055,
"proceeds": 1565.17,
"realized_pnl": -183.48,
"entry_price": 42.65,
"reason": "Trailing stop hit (stop=38.50, price=38.17)",
"timestamp": "2026-03-06T09:06:53.548426"
},
{
"action": "SELL",
"ticker": "UBSI",
"shares": 148,
"price": 39.27000045776367,
"proceeds": 5811.96,
"realized_pnl": -837.68,
"entry_price": 44.93,
"reason": "Trailing stop hit (stop=40.44, price=39.27)",
"timestamp": "2026-03-06T09:06:53.550244"
},
{
"action": "SELL",
"ticker": "VLY",
"shares": 490,
"price": 11.9399995803833,
"proceeds": 5850.6,
"realized_pnl": -651.7,
"entry_price": 13.27,
"reason": "Trailing stop hit (stop=12.03, price=11.94)",
"timestamp": "2026-03-06T09:06:53.551953"
},
{
"action": "SELL",
"ticker": "FHN",
"shares": 259,
"price": 22.549999237060547,
"proceeds": 5840.45,
"realized_pnl": -660.45,
"entry_price": 25.1,
"reason": "Trailing stop hit (stop=22.73, price=22.55)",
"timestamp": "2026-03-06T09:06:53.553601"
},
{
"action": "BUY",
"ticker": "ALLY",
"shares": 158,
"price": 38.44,
"cost": 6073.52,
"reason": "GARP signal: PE=16.22, FwdPE=6.09, RevGr=12.0%, EPSGr=265.4%, RSI=39.54",
"timestamp": "2026-03-06T09:06:54.218913"
},
{
"action": "BUY",
"ticker": "JHG",
"shares": 118,
"price": 51.14,
"cost": 6034.52,
"reason": "GARP signal: PE=9.78, FwdPE=10.56, RevGr=61.3%, EPSGr=244.6%, RSI=62.19",
"timestamp": "2026-03-06T09:06:54.783674"
},
{
"action": "BUY",
"ticker": "VLY",
"shares": 509,
"price": 11.94,
"cost": 6077.46,
"reason": "GARP signal: PE=11.84, FwdPE=8.0, RevGr=38.3%, EPSGr=66.7%, RSI=27.31",
"timestamp": "2026-03-06T09:06:55.302286"
},
{
"action": "BUY",
"ticker": "DUOL",
"shares": 56,
"price": 107.11,
"cost": 5998.16,
"reason": "GARP signal: PE=12.5, FwdPE=13.35, RevGr=35.0%, EPSGr=193.6%, RSI=46.27",
"timestamp": "2026-03-17T10:07:08.445822"
},
{
"action": "BUY",
"ticker": "PATH",
"shares": 516,
"price": 11.77,
"cost": 6073.32,
"reason": "GARP signal: PE=22.63, FwdPE=13.13, RevGr=13.6%, EPSGr=107.4%, RSI=69.48",
"timestamp": "2026-03-17T10:07:12.735509"
},
{
"action": "SELL",
"ticker": "DUOL",
"shares": 56,
"price": 104.36000061035156,
"proceeds": 5844.16,
"realized_pnl": -154.0,
"entry_price": 107.11,
"reason": "No longer passes GARP filter",
"timestamp": "2026-03-17T16:36:38.075716"
}
]