{"note":"scheduled","recent_runs":[{"id":111,"note":"scheduled","report_path":"/root/projects/stock-insight-automation/data/reports/2026/04/stock_insights_20260423_210030.json","run_time":"2026-04-23T21:00:30.481997+00:00","status":"completed"},{"id":110,"note":"scheduled","report_path":"/root/projects/stock-insight-automation/data/reports/2026/04/stock_insights_20260423_090000.json","run_time":"2026-04-23T09:00:00.714174+00:00","status":"completed"},{"id":109,"note":"scheduled","report_path":"/root/projects/stock-insight-automation/data/reports/2026/04/stock_insights_20260422_210001.json","run_time":"2026-04-22T21:00:01.302531+00:00","status":"completed"},{"id":108,"note":"scheduled","report_path":"/root/projects/stock-insight-automation/data/reports/2026/04/stock_insights_20260422_090001.json","run_time":"2026-04-22T09:00:01.014862+00:00","status":"completed"},{"id":107,"note":"scheduled","report_path":"/root/projects/stock-insight-automation/data/reports/2026/04/stock_insights_20260421_210001.json","run_time":"2026-04-21T21:00:01.010425+00:00","status":"completed"},{"id":106,"note":"scheduled","report_path":"/root/projects/stock-insight-automation/data/reports/2026/04/stock_insights_20260421_090000.json","run_time":"2026-04-21T09:00:00.774225+00:00","status":"completed"},{"id":105,"note":"scheduled","report_path":"/root/projects/stock-insight-automation/data/reports/2026/04/stock_insights_20260420_210000.json","run_time":"2026-04-20T21:00:00.775312+00:00","status":"completed"},{"id":104,"note":"scheduled","report_path":"/root/projects/stock-insight-automation/data/reports/2026/04/stock_insights_20260420_090000.json","run_time":"2026-04-20T09:00:00.909889+00:00","status":"completed"},{"id":103,"note":"scheduled","report_path":"/root/projects/stock-insight-automation/data/reports/2026/04/stock_insights_20260419_210000.json","run_time":"2026-04-19T21:00:00.962902+00:00","status":"completed"},{"id":102,"note":"scheduled","report_path":"/root/projects/stock-insight-automation/data/reports/2026/04/stock_insights_20260419_090000.json","run_time":"2026-04-19T09:00:00.895409+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":"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":"GOOGL"},{"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":"QQQ"}],"run_id":111,"run_time_utc":"2026-04-23T21:00:30.481997+00:00","snapshot":[{"change_pct":0.09517122497621837,"close":273.42999267578125,"high":275.7699890136719,"low":271.6499938964844,"momentum20":8.122105791334654,"momentum50":-0.751363820043105,"open":275.0450134277344,"previous_close":273.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":260.48999938964846,"sma50":260.23419982910156,"ticker":"AAPL","volume":33138070.0},{"change_pct":-0.1096486445127008,"close":255.0800018310547,"high":258.7900085449219,"low":253.07000732421875,"momentum20":22.906432534850786,"momentum50":24.9901996973813,"open":255.38999938964844,"previous_close":255.36000061035156,"rationale":["Price above 20-day average","Short-term trend stronger than long-term","20-day momentum is positive"],"score":3.0,"sma20":230.12900009155274,"sma50":217.44279998779297,"ticker":"AMZN","volume":31032997.0},{"change_pct":-0.1267218750736363,"close":338.8900146484375,"high":341.9599914550781,"low":336.17999267578125,"momentum20":20.635767638397784,"momentum50":8.981870324431807,"open":341.17999267578125,"previous_close":339.32000732421875,"rationale":["Price above 20-day average","Short-term trend stronger than long-term","20-day momentum is positive"],"score":3.0,"sma20":314.2470001220703,"sma50":308.89039916992186,"ticker":"GOOGL","volume":18458741.0},{"change_pct":-2.307616042969215,"close":659.1500244140625,"high":669.5599975585938,"low":653.0499877929688,"momentum20":20.383908183074272,"momentum50":-1.4266667652444331,"open":663.7000122070312,"previous_close":674.719970703125,"rationale":["Price above 20-day average","20-day momentum is positive"],"score":2.0,"sma20":618.0919982910157,"sma50":629.7303979492187,"ticker":"META","volume":11599083.0},{"change_pct":-3.9660937113503296,"close":415.75,"high":423.3599853515625,"low":411.41009521484375,"momentum20":13.602207452319682,"momentum50":2.8142555135710623,"open":419.885009765625,"previous_close":432.9200134277344,"rationale":["Price above 20-day average","20-day momentum is positive"],"score":2.0,"sma20":389.0395004272461,"sma50":393.65199951171877,"ticker":"MSFT","volume":37996014.0},{"change_pct":-1.4123459804205247,"close":199.63999938964844,"high":203.82899475097656,"low":197.22059631347656,"momentum20":16.584905971413377,"momentum50":5.046038507707307,"open":202.4600067138672,"previous_close":202.5,"rationale":["Price above 20-day average","Short-term trend stronger than long-term","20-day momentum is positive"],"score":3.0,"sma20":186.53150024414063,"sma50":184.66079956054688,"ticker":"NVDA","volume":108937228.0},{"change_pct":-0.5632645699066887,"close":651.4199829101562,"high":656.9199829101562,"low":645.5250244140625,"momentum20":13.529341371506675,"momentum50":6.248470661691541,"open":653.5499877929688,"previous_close":655.1099853515625,"rationale":["Price above 20-day average","Short-term trend stronger than long-term","20-day momentum is positive"],"score":3.0,"sma20":610.7959991455078,"sma50":605.4039978027344,"ticker":"QQQ","volume":39178683.0},{"change_pct":-0.38807239498252083,"close":708.4500122070312,"high":712.3598022460938,"low":702.2802734375,"momentum20":9.821882638678314,"momentum50":2.383084240526623,"open":709.5,"previous_close":711.2100219726562,"rationale":["Price above 20-day average","Short-term trend stronger than long-term","20-day momentum is positive"],"score":3.0,"sma20":677.5425018310547,"sma50":676.5544006347657,"ticker":"SPY","volume":52293495.0},{"change_pct":-3.5586199575237787,"close":373.7200012207031,"high":385.3382873535156,"low":368.3901062011719,"momentum20":0.4326720412029639,"momentum50":-12.737289371734928,"open":375.2799987792969,"previous_close":387.510009765625,"rationale":["Price above 20-day average","20-day momentum is positive"],"score":2.0,"sma20":368.91750183105466,"sma50":388.1186004638672,"ticker":"TSLA","volume":93500126.0}],"summary":{"advancing_tickers":1,"average_daily_change_pct":-1.371,"declining_tickers":8,"tracked_tickers":9},"tickers":["AAPL","AMZN","GOOGL","META","MSFT","NVDA","QQQ","SPY","TSLA"]}
