Full sync - all projects, memory, configs
This commit is contained in:
@ -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"
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -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
|
||||
}
|
||||
]
|
||||
@ -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"
|
||||
}
|
||||
]
|
||||
Reference in New Issue
Block a user