{"note":"scheduled","recent_runs":[{"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"},{"id":101,"note":"scheduled","report_path":"/root/projects/stock-insight-automation/data/reports/2026/04/stock_insights_20260418_210001.json","run_time":"2026-04-18T21:00:01.034501+00:00","status":"completed"},{"id":100,"note":"scheduled","report_path":"/root/projects/stock-insight-automation/data/reports/2026/04/stock_insights_20260418_090000.json","run_time":"2026-04-18T09:00:00.929482+00:00","status":"completed"},{"id":99,"note":"scheduled","report_path":"/root/projects/stock-insight-automation/data/reports/2026/04/stock_insights_20260417_210001.json","run_time":"2026-04-17T21:00:01.096046+00:00","status":"completed"},{"id":98,"note":"scheduled","report_path":"/root/projects/stock-insight-automation/data/reports/2026/04/stock_insights_20260417_090000.json","run_time":"2026-04-17T09:00:00.656161+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":"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":"QQQ"},{"rationale":"Price above 20-day average; 20-day momentum is positive; Latest daily change is positive","score":2.5,"ticker":"MSFT"},{"rationale":"Price above 20-day average; 20-day momentum is positive","score":2.0,"ticker":"NVDA"}],"run_id":107,"run_time_utc":"2026-04-21T21:00:01.010425+00:00","snapshot":[{"change_pct":-2.5196757637106693,"close":266.1700134277344,"high":272.79998779296875,"low":265.3999938964844,"momentum20":5.774127353889846,"momentum50":-3.076972485505758,"open":271.5,"previous_close":273.04998779296875,"rationale":["Price above 20-day average","20-day momentum is positive"],"score":2.0,"sma20":258.3729988098145,"sma50":260.2681994628906,"ticker":"AAPL","volume":49363473.0},{"change_pct":0.6565188057139704,"close":249.91000366210938,"high":255.0,"low":249.10000610351562,"momentum20":20.589653077553514,"momentum50":19.734573687478772,"open":255.08999633789062,"previous_close":248.27999877929688,"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":225.55450057983398,"sma50":215.54760009765624,"ticker":"AMZN","volume":42571853.0},{"change_pct":-1.5203617683191157,"close":332.2900085449219,"high":339.3399963378906,"low":331.4200134277344,"momentum20":14.409174270668345,"momentum50":2.457449753550245,"open":337.68499755859375,"previous_close":337.4200134277344,"rationale":["Price above 20-day average","Short-term trend stronger than long-term","20-day momentum is positive"],"score":3.0,"sma20":309.4049987792969,"sma50":308.18419860839845,"ticker":"GOOGL","volume":23060052.0},{"change_pct":-0.30852817396061877,"close":668.8400268554688,"high":676.2000122070312,"low":667.3300170898438,"momentum20":12.804433335622022,"momentum50":-1.2374035335897982,"open":671.0,"previous_close":670.9099731445312,"rationale":["Price above 20-day average","20-day momentum is positive"],"score":2.0,"sma20":610.7889984130859,"sma50":630.011796875,"ticker":"META","volume":8588077.0},{"change_pct":1.4566929536200268,"close":424.1600036621094,"high":427.17999267578125,"low":417.2401123046875,"momentum20":13.795142666447457,"momentum50":2.553190861402155,"open":420.239990234375,"previous_close":418.07000732421875,"rationale":["Price above 20-day average","20-day momentum is positive","Latest daily change is positive"],"score":2.5,"sma20":383.79499969482424,"sma50":393.2159991455078,"ticker":"MSFT","volume":31779522.0},{"change_pct":-1.0788838474320437,"close":199.8800048828125,"high":202.75,"low":199.0,"momentum20":14.086762765105142,"momentum50":5.177863578359587,"open":202.1300048828125,"previous_close":202.05999755859375,"rationale":["Price above 20-day average","20-day momentum is positive"],"score":2.0,"sma20":184.11849975585938,"sma50":184.18959930419922,"ticker":"NVDA","volume":106699244.0},{"change_pct":-0.38033380557359264,"close":644.3300170898438,"high":650.2000122070312,"low":642.2100219726562,"momentum20":10.334264639115176,"momentum50":4.885077713216446,"open":648.4099731445312,"previous_close":646.7899780273438,"rationale":["Price above 20-day average","Short-term trend stronger than long-term","20-day momentum is positive"],"score":3.0,"sma20":604.0595001220703,"sma50":603.7891979980469,"ticker":"QQQ","volume":36460171.0},{"change_pct":-0.6546949154936225,"close":704.0800170898438,"high":711.2750244140625,"low":702.6400146484375,"momentum20":7.792649037755783,"momentum50":1.4597600266041066,"open":710.280029296875,"previous_close":708.719970703125,"rationale":["Price above 20-day average","20-day momentum is positive"],"score":2.0,"sma20":672.0595001220703,"sma50":675.8826000976562,"ticker":"SPY","volume":58281256.0},{"change_pct":-1.5490411649084395,"close":386.4200134277344,"high":393.95001220703125,"low":385.2200927734375,"momentum20":0.885051995729147,"momentum50":-7.40438832410878,"open":393.0,"previous_close":392.5,"rationale":["Price above 20-day average","20-day momentum is positive"],"score":2.0,"sma20":369.3050018310547,"sma50":389.7446002197266,"ticker":"TSLA","volume":50233360.0}],"summary":{"advancing_tickers":2,"average_daily_change_pct":-0.655,"declining_tickers":7,"tracked_tickers":9},"tickers":["AAPL","AMZN","GOOGL","META","MSFT","NVDA","QQQ","SPY","TSLA"]}
