{"note":"scheduled","recent_runs":[{"id":125,"note":"scheduled","report_path":"/root/projects/stock-insight-automation/data/reports/2026/04/stock_insights_20260430_210003.json","run_time":"2026-04-30T21:00:03.522149+00:00","status":"completed"},{"id":124,"note":"scheduled","report_path":"/root/projects/stock-insight-automation/data/reports/2026/04/stock_insights_20260430_090016.json","run_time":"2026-04-30T09:00:16.343429+00:00","status":"completed"},{"id":123,"note":"scheduled","report_path":"/root/projects/stock-insight-automation/data/reports/2026/04/stock_insights_20260429_210019.json","run_time":"2026-04-29T21:00:19.161331+00:00","status":"completed"},{"id":122,"note":"scheduled","report_path":"/root/projects/stock-insight-automation/data/reports/2026/04/stock_insights_20260429_090013.json","run_time":"2026-04-29T09:00:13.256523+00:00","status":"completed"},{"id":121,"note":"scheduled","report_path":"/root/projects/stock-insight-automation/data/reports/2026/04/stock_insights_20260428_210001.json","run_time":"2026-04-28T21:00:01.929848+00:00","status":"completed"},{"id":120,"note":"scheduled","report_path":"/root/projects/stock-insight-automation/data/reports/2026/04/stock_insights_20260428_090002.json","run_time":"2026-04-28T09:00:02.048108+00:00","status":"completed"},{"id":119,"note":"scheduled","report_path":"/root/projects/stock-insight-automation/data/reports/2026/04/stock_insights_20260427_210016.json","run_time":"2026-04-27T21:00:16.089277+00:00","status":"completed"},{"id":118,"note":"scheduled","report_path":"/root/projects/stock-insight-automation/data/reports/2026/04/stock_insights_20260427_090017.json","run_time":"2026-04-27T09:00:17.597220+00:00","status":"completed"},{"id":117,"note":"scheduled","report_path":"/root/projects/stock-insight-automation/data/reports/2026/04/stock_insights_20260426_210010.json","run_time":"2026-04-26T21:00:10.781955+00:00","status":"completed"},{"id":116,"note":"scheduled","report_path":"/root/projects/stock-insight-automation/data/reports/2026/04/stock_insights_20260426_090016.json","run_time":"2026-04-26T09:00:16.191358+00:00","status":"completed"}],"recommendations":[{"rationale":"Price above 20-day average; Short-term trend stronger than long-term; 20-day momentum is positive; Latest daily change is positive","score":3.5,"ticker":"GOOGL"},{"rationale":"Price above 20-day average; Short-term trend stronger than long-term; 20-day momentum is positive; Latest daily change is positive","score":3.5,"ticker":"AMZN"},{"rationale":"Price above 20-day average; Short-term trend stronger than long-term; 20-day momentum is positive; Latest daily change is positive","score":3.5,"ticker":"QQQ"},{"rationale":"Price above 20-day average; Short-term trend stronger than long-term; 20-day momentum is positive; Latest daily change is positive","score":3.5,"ticker":"SPY"},{"rationale":"Price above 20-day average; Short-term trend stronger than long-term; 20-day momentum is positive; Latest daily change is positive","score":3.5,"ticker":"AAPL"}],"run_id":125,"run_time_utc":"2026-04-30T21:00:03.522149+00:00","snapshot":[{"change_pct":0.43675930604225877,"close":271.3500061035156,"high":275.94000244140625,"low":268.1400146484375,"momentum20":6.029231027261961,"momentum50":4.133095435655498,"open":270.5,"previous_close":270.1700134277344,"rationale":["Price above 20-day average","Short-term trend stronger than long-term","20-day momentum is positive","Latest daily change is positive"],"score":3.5,"sma20":265.14799880981445,"sma50":260.8273992919922,"ticker":"AAPL","volume":83815040.0},{"change_pct":0.7679398373068795,"close":265.05999755859375,"high":273.8699951171875,"low":256.1600036621094,"momentum20":26.357435362550262,"momentum50":29.385920515905873,"open":273.1700134277344,"previous_close":263.0400085449219,"rationale":["Price above 20-day average","Short-term trend stronger than long-term","20-day momentum is positive","Latest daily change is positive"],"score":3.5,"sma20":244.44100036621094,"sma50":223.53280029296874,"ticker":"AMZN","volume":96524742.0},{"change_pct":9.961703465838957,"close":384.79998779296875,"high":385.8324890136719,"low":365.82000732421875,"momentum20":30.10109277015982,"momentum50":27.05959387084913,"open":374.07000732421875,"previous_close":349.94000244140625,"rationale":["Price above 20-day average","Short-term trend stronger than long-term","20-day momentum is positive","Latest daily change is positive"],"score":3.5,"sma20":332.52449798583984,"sma50":313.8549993896484,"ticker":"GOOGL","volume":71686453.0},{"change_pct":-8.550039214212493,"close":611.9099731445312,"high":620.760009765625,"low":600.0,"momentum20":6.519157076113746,"momentum50":-5.097871314064761,"open":619.3200073242188,"previous_close":669.1199951171875,"rationale":["Short-term trend stronger than long-term","20-day momentum is positive"],"score":2.0,"sma20":645.3430023193359,"sma50":631.0351989746093,"ticker":"META","volume":52552700.0},{"change_pct":-3.9296972651300033,"close":407.7799987792969,"high":414.4200134277344,"low":398.010009765625,"momentum20":9.189741367074111,"momentum50":2.3390070581953193,"open":410.80999755859375,"previous_close":424.4599914550781,"rationale":["Price above 20-day average","Short-term trend stronger than long-term","20-day momentum is positive"],"score":3.0,"sma20":403.5240005493164,"sma50":395.7907995605469,"ticker":"MSFT","volume":70559560.0},{"change_pct":-4.626041900014934,"close":199.57000732421875,"high":210.3000030517578,"low":198.6999969482422,"momentum20":12.50352782619415,"momentum50":6.21075774710429,"open":209.92999267578125,"previous_close":209.25,"rationale":["Price above 20-day average","Short-term trend stronger than long-term","20-day momentum is positive"],"score":3.0,"sma20":196.1710006713867,"sma50":186.9431997680664,"ticker":"NVDA","volume":223736943.0},{"change_pct":0.9326273624633193,"close":667.739990234375,"high":668.75,"low":657.5599975585938,"momentum20":14.147494363706015,"momentum50":10.650077493726261,"open":665.3499755859375,"previous_close":661.5700073242188,"rationale":["Price above 20-day average","Short-term trend stronger than long-term","20-day momentum is positive","Latest daily change is positive"],"score":3.5,"sma20":633.7374969482422,"sma50":611.2481982421875,"ticker":"QQQ","volume":39172007.0},{"change_pct":0.994962742720414,"close":718.6599731445312,"high":719.7899780273438,"low":710.4450073242188,"momentum20":9.580219632746733,"momentum50":4.993570834953265,"open":714.6300048828125,"previous_close":711.5800170898438,"rationale":["Price above 20-day average","Short-term trend stronger than long-term","20-day momentum is positive","Latest daily change is positive"],"score":3.5,"sma20":695.2579986572266,"sma50":679.4928002929687,"ticker":"SPY","volume":62821085.0},{"change_pct":2.3685668935019986,"close":381.6300048828125,"high":384.75,"low":368.1700134277344,"momentum20":5.834884150587016,"momentum50":-7.306110416693068,"open":372.75,"previous_close":372.79998779296875,"rationale":["Price above 20-day average","20-day momentum is positive","Latest daily change is positive"],"score":2.5,"sma20":371.077001953125,"sma50":384.13239990234376,"ticker":"TSLA","volume":50790901.0}],"summary":{"advancing_tickers":6,"average_daily_change_pct":-0.183,"declining_tickers":3,"tracked_tickers":9},"tickers":["AAPL","AMZN","GOOGL","META","MSFT","NVDA","QQQ","SPY","TSLA"]}
