{"note":"scheduled","recent_runs":[{"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"},{"id":97,"note":"scheduled","report_path":"/root/projects/stock-insight-automation/data/reports/2026/04/stock_insights_20260416_210000.json","run_time":"2026-04-16T21:00:00.846887+00:00","status":"completed"},{"id":96,"note":"scheduled","report_path":"/root/projects/stock-insight-automation/data/reports/2026/04/stock_insights_20260416_090000.json","run_time":"2026-04-16T09:00:00.673173+00:00","status":"completed"},{"id":95,"note":"scheduled","report_path":"/root/projects/stock-insight-automation/data/reports/2026/04/stock_insights_20260415_210001.json","run_time":"2026-04-15T21:00:01.225671+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; 20-day momentum is positive; Latest daily change is positive","score":2.5,"ticker":"NVDA"},{"rationale":"Price above 20-day average; 20-day momentum is positive; Latest daily change is positive","score":2.5,"ticker":"META"},{"rationale":"Price above 20-day average; 20-day momentum is positive; Latest daily change is positive","score":2.5,"ticker":"GOOGL"},{"rationale":"Price above 20-day average; 20-day momentum is positive; Latest daily change is positive","score":2.5,"ticker":"QQQ"}],"run_id":104,"run_time_utc":"2026-04-20T09:00:00.909889+00:00","snapshot":[{"change_pct":2.5930209749845066,"close":270.2300109863281,"high":272.29998779296875,"low":266.7200012207031,"momentum20":8.968105568987173,"momentum50":-2.05863962900642,"open":266.9599914550781,"previous_close":263.3999938964844,"rationale":["Price above 20-day average","20-day momentum is positive","Latest daily change is positive"],"score":2.5,"sma20":256.3859992980957,"sma50":260.5643994140625,"ticker":"AAPL","volume":61314800.0},{"change_pct":0.34441354459841,"close":250.55999755859375,"high":256.17999267578125,"low":250.11000061035156,"momentum20":22.00418927585799,"momentum50":12.51515326761048,"open":254.99000549316406,"previous_close":249.6999969482422,"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":221.42050018310547,"sma50":214.24400024414064,"ticker":"AMZN","volume":51897500.0},{"change_pct":1.684424691139158,"close":341.67999267578125,"high":342.32000732421875,"low":336.239990234375,"momentum20":13.514947732817696,"momentum50":3.148677034198122,"open":337.6499938964844,"previous_close":336.0199890136719,"rationale":["Price above 20-day average","20-day momentum is positive","Latest daily change is positive"],"score":2.5,"sma20":306.07249755859374,"sma50":307.87219787597655,"ticker":"GOOGL","volume":25519000.0},{"change_pct":1.7255887777621277,"close":688.5499877929688,"high":691.52001953125,"low":675.1300048828125,"momentum20":15.983899696962677,"momentum50":2.736450548192604,"open":678.5999755859375,"previous_close":676.8699951171875,"rationale":["Price above 20-day average","20-day momentum is positive","Latest daily change is positive"],"score":2.5,"sma20":603.6874969482421,"sma50":629.8501977539063,"ticker":"META","volume":16246200.0},{"change_pct":0.6020079761354956,"close":422.7900085449219,"high":431.5799865722656,"low":420.69000244140625,"momentum20":10.715692238448039,"momentum50":7.397056957332371,"open":424.82000732421875,"previous_close":420.260009765625,"rationale":["Price above 20-day average","20-day momentum is positive","Latest daily change is positive"],"score":2.5,"sma20":379.9269989013672,"sma50":392.26759948730466,"ticker":"MSFT","volume":47812100.0},{"change_pct":1.6788436953854993,"close":201.67999267578125,"high":201.6999969482422,"low":199.27000427246094,"momentum20":16.78054211907387,"momentum50":17.337669854784068,"open":199.89999389648438,"previous_close":198.35000610351562,"rationale":["Price above 20-day average","20-day momentum is positive","Latest daily change is positive"],"score":2.5,"sma20":181.4384994506836,"sma50":183.29659942626952,"ticker":"NVDA","volume":159843200.0},{"change_pct":1.308414955600917,"close":648.8499755859375,"high":650.0,"low":644.0700073242188,"momentum20":11.47475832517082,"momentum50":8.6796214170485,"open":645.5900268554688,"previous_close":640.469970703125,"rationale":["Price above 20-day average","20-day momentum is positive","Latest daily change is positive"],"score":2.5,"sma20":598.0065002441406,"sma50":602.1003991699218,"ticker":"QQQ","volume":53386300.0},{"change_pct":1.2085685130224024,"close":710.1400146484375,"high":712.3900146484375,"low":705.760009765625,"momentum20":9.493193738365392,"momentum50":4.799152882970348,"open":706.1400146484375,"previous_close":701.6599731445312,"rationale":["Price above 20-day average","20-day momentum is positive","Latest daily change is positive"],"score":2.5,"sma20":666.6170013427734,"sma50":674.9914001464844,"ticker":"SPY","volume":70538900.0},{"change_pct":3.013628543234871,"close":400.6199951171875,"high":409.2799987792969,"low":391.6499938964844,"momentum20":8.875965980148305,"momentum50":0.85848889390161,"open":395.9200134277344,"previous_close":388.8999938964844,"rationale":["Price above 20-day average","20-day momentum is positive","Latest daily change is positive"],"score":2.5,"sma20":367.7995010375977,"sma50":390.33259948730466,"ticker":"TSLA","volume":90388400.0}],"summary":{"advancing_tickers":9,"average_daily_change_pct":1.573,"declining_tickers":0,"tracked_tickers":9},"tickers":["AAPL","AMZN","GOOGL","META","MSFT","NVDA","QQQ","SPY","TSLA"]}
