{"note":"scheduled","recent_runs":[{"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"},{"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"}],"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; 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":"QQQ"},{"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":"META"}],"run_id":124,"run_time_utc":"2026-04-30T09:00:16.343429+00:00","snapshot":[{"change_pct":-0.19946734305643626,"close":270.1700134277344,"high":271.0400085449219,"low":267.0400085449219,"momentum20":5.687911539018042,"momentum50":2.201629351179113,"open":267.54998779296875,"previous_close":270.7099914550781,"rationale":["Price above 20-day average","Short-term trend stronger than long-term","20-day momentum is positive"],"score":3.0,"sma20":264.3619987487793,"sma50":260.68739929199216,"ticker":"AAPL","volume":29830500.0},{"change_pct":1.2860978748156549,"close":263.0400085449219,"high":265.9100036621094,"low":257.70001220703125,"momentum20":24.918079211496647,"momentum50":28.44378005198822,"open":257.989990234375,"previous_close":259.70001220703125,"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":241.71650085449218,"sma50":222.32740020751953,"ticker":"AMZN","volume":70236500.0},{"change_pct":0.04574408561603708,"close":349.94000244140625,"high":355.7900085449219,"low":344.2099914550781,"momentum20":17.670394164071457,"momentum50":15.366108836073211,"open":347.57000732421875,"previous_close":349.7799987792969,"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":328.1539993286133,"sma50":312.22559936523436,"ticker":"GOOGL","volume":34856900.0},{"change_pct":-0.3306866341159181,"close":669.1199951171875,"high":674.25,"low":663.8099975585938,"momentum20":15.518881563363273,"momentum50":4.02662006681016,"open":668.9099731445312,"previous_close":671.3400268554688,"rationale":["Price above 20-day average","Short-term trend stronger than long-term","20-day momentum is positive"],"score":3.0,"sma20":643.7090026855469,"sma50":631.6613989257812,"ticker":"META","volume":18186900.0},{"change_pct":-1.1159018159398661,"close":424.4599914550781,"high":426.82000732421875,"low":420.2900085449219,"momentum20":14.914583497886058,"momentum50":6.221217460422812,"open":424.5799865722656,"previous_close":429.25,"rationale":["Price above 20-day average","Short-term trend stronger than long-term","20-day momentum is positive"],"score":3.0,"sma20":401.60350036621094,"sma50":395.62719970703125,"ticker":"MSFT","volume":36777600.0},{"change_pct":-1.8389070707025879,"close":209.25,"high":212.72000122070312,"low":207.5800018310547,"momentum20":19.061166429587484,"momentum50":11.315036044202277,"open":212.6999969482422,"previous_close":213.1699981689453,"rationale":["Price above 20-day average","Short-term trend stronger than long-term","20-day momentum is positive"],"score":3.0,"sma20":194.9800003051758,"sma50":186.7113995361328,"ticker":"NVDA","volume":121737500.0},{"change_pct":0.6113633344809236,"close":661.5700073242188,"high":661.719970703125,"low":656.5900268554688,"momentum20":13.22243502394933,"momentum50":9.207816457861107,"open":658.6300048828125,"previous_close":657.5499877929688,"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":629.5659973144532,"sma50":610.0091979980468,"ticker":"QQQ","volume":31131400.0},{"change_pct":-0.01545410939948607,"close":711.5800170898438,"high":712.2000122070312,"low":708.3699951171875,"momentum20":8.598380394230265,"momentum50":3.6850369191159027,"open":711.0,"previous_close":711.6900024414062,"rationale":["Price above 20-day average","Short-term trend stronger than long-term","20-day momentum is positive"],"score":3.0,"sma20":692.0869995117188,"sma50":678.845400390625,"ticker":"SPY","volume":41042300.0},{"change_pct":-0.8563377785179521,"close":372.79998779296875,"high":376.3999938964844,"low":370.0400085449219,"momentum20":-2.218963897592341,"momentum50":-9.364975893547278,"open":375.3999938964844,"previous_close":376.0199890136719,"rationale":["Price above 20-day average"],"score":1.0,"sma20":371.0585021972656,"sma50":384.72619995117185,"ticker":"TSLA","volume":45161700.0}],"summary":{"advancing_tickers":3,"average_daily_change_pct":-0.268,"declining_tickers":6,"tracked_tickers":9},"tickers":["AAPL","AMZN","GOOGL","META","MSFT","NVDA","QQQ","SPY","TSLA"]}
