{"note":"scheduled","recent_runs":[{"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"},{"id":115,"note":"scheduled","report_path":"/root/projects/stock-insight-automation/data/reports/2026/04/stock_insights_20260425_210000.json","run_time":"2026-04-25T21:00:00.963660+00:00","status":"completed"},{"id":114,"note":"scheduled","report_path":"/root/projects/stock-insight-automation/data/reports/2026/04/stock_insights_20260425_090010.json","run_time":"2026-04-25T09:00:10.193796+00:00","status":"completed"},{"id":113,"note":"scheduled","report_path":"/root/projects/stock-insight-automation/data/reports/2026/04/stock_insights_20260424_210016.json","run_time":"2026-04-24T21:00:16.053509+00:00","status":"completed"},{"id":112,"note":"scheduled","report_path":"/root/projects/stock-insight-automation/data/reports/2026/04/stock_insights_20260424_090036.json","run_time":"2026-04-24T09:00:36.936091+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":"MSFT"},{"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"},{"rationale":"Price above 20-day average; Short-term trend stronger than long-term; 20-day momentum is positive","score":3.0,"ticker":"AMZN"},{"rationale":"Price above 20-day average; Short-term trend stronger than long-term; 20-day momentum is positive","score":3.0,"ticker":"NVDA"},{"rationale":"Price above 20-day average; Short-term trend stronger than long-term; 20-day momentum is positive","score":3.0,"ticker":"GOOGL"}],"run_id":121,"run_time_utc":"2026-04-28T21:00:01.929848+00:00","snapshot":[{"change_pct":1.1584044965448914,"close":270.7099914550781,"high":273.2200012207031,"low":268.6600036621094,"momentum20":6.666928805923811,"momentum50":2.5882925746112395,"open":272.3349914550781,"previous_close":267.6099853515625,"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":263.5429977416992,"sma50":260.56159912109376,"ticker":"AAPL","volume":32820055.0},{"change_pct":-0.5438047398549387,"close":259.70001220703125,"high":261.0299987792969,"low":256.6499938964844,"momentum20":24.69391025089194,"momentum50":29.107641107201744,"open":258.3900146484375,"previous_close":261.1199951171875,"rationale":["Price above 20-day average","Short-term trend stronger than long-term","20-day momentum is positive"],"score":3.0,"sma20":238.97800064086914,"sma50":221.08959991455077,"ticker":"AMZN","volume":41155956.0},{"change_pct":-0.15984402707296144,"close":349.7799987792969,"high":352.4200134277344,"low":346.1199951171875,"momentum20":21.63722414416318,"momentum50":15.813526091964402,"open":348.54998779296875,"previous_close":350.3399963378906,"rationale":["Price above 20-day average","Short-term trend stronger than long-term","20-day momentum is positive"],"score":3.0,"sma20":325.03499908447264,"sma50":311.2671990966797,"ticker":"GOOGL","volume":27030920.0},{"change_pct":-1.0727606486840413,"close":671.3400268554688,"high":678.1799926757812,"low":665.625,"momentum20":17.340468272237718,"momentum50":5.013382022196211,"open":674.239990234375,"previous_close":678.6199951171875,"rationale":["Price above 20-day average","Short-term trend stronger than long-term","20-day momentum is positive"],"score":3.0,"sma20":638.8595031738281,"sma50":631.0647985839844,"ticker":"META","volume":10276663.0},{"change_pct":1.0427928533037099,"close":429.25,"high":429.9100036621094,"low":421.8999938964844,"momentum20":15.960230280457166,"momentum50":8.161572303578168,"open":424.57000732421875,"previous_close":424.82000732421875,"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":398.8890014648438,"sma50":395.07519958496096,"ticker":"MSFT","volume":30312242.0},{"change_pct":-1.5881087815489605,"close":213.1699981689453,"high":214.72999572753906,"low":208.1999969482422,"momentum20":22.23050781496758,"momentum50":15.245713770955982,"open":209.49000549316406,"previous_close":216.61000061035156,"rationale":["Price above 20-day average","Short-term trend stronger than long-term","20-day momentum is positive"],"score":3.0,"sma20":193.2375,"sma50":186.22579956054688,"ticker":"NVDA","volume":179415428.0},{"change_pct":-1.0056746717555793,"close":657.5499877929688,"high":659.6400146484375,"low":653.8099975585938,"momentum20":13.924598242672225,"momentum50":9.354731605177946,"open":657.4099731445312,"previous_close":664.22998046875,"rationale":["Price above 20-day average","Short-term trend stronger than long-term","20-day momentum is positive"],"score":3.0,"sma20":625.3464965820312,"sma50":608.8037976074219,"ticker":"QQQ","volume":33787266.0},{"change_pct":-0.486594872814618,"close":711.6900024414062,"high":712.8800048828125,"low":709.25,"momentum20":9.433522934545113,"momentum50":4.22347922480657,"open":711.8150024414062,"previous_close":715.1699829101562,"rationale":["Price above 20-day average","Short-term trend stronger than long-term","20-day momentum is positive"],"score":3.0,"sma20":689.025,"sma50":678.2707995605468,"ticker":"SPY","volume":37342531.0},{"change_pct":-0.6998242057971227,"close":376.0199890136719,"high":382.2900085449219,"low":372.5400085449219,"momentum20":1.1486184300395053,"momentum50":-8.428516050359692,"open":374.67498779296875,"previous_close":378.6700134277344,"rationale":["Price above 20-day average","20-day momentum is positive"],"score":2.0,"sma20":371.00600280761716,"sma50":385.48280029296876,"ticker":"TSLA","volume":50307720.0}],"summary":{"advancing_tickers":2,"average_daily_change_pct":-0.373,"declining_tickers":7,"tracked_tickers":9},"tickers":["AAPL","AMZN","GOOGL","META","MSFT","NVDA","QQQ","SPY","TSLA"]}
