From c3760201ba9b8fd549fca791eaf626a2a423229e Mon Sep 17 00:00:00 2001 From: Chenglong Wang Date: Tue, 27 Jan 2026 09:32:59 -0800 Subject: [PATCH 1/7] fix state issues --- public/df_stock_prices_live.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/public/df_stock_prices_live.json b/public/df_stock_prices_live.json index 59d6d63..dd659cf 100644 --- a/public/df_stock_prices_live.json +++ b/public/df_stock_prices_live.json @@ -1 +1 @@ -{"tables":[{"id":"history","displayId":"stock-hist","names":["symbol","date","open","high","low","close","volume","fetched_at"],"metadata":{"symbol":{"type":"string","semanticType":"String"},"date":{"type":"date","semanticType":"Date"},"open":{"type":"number","semanticType":"Number"},"high":{"type":"number","semanticType":"Number"},"low":{"type":"number","semanticType":"Number"},"close":{"type":"number","semanticType":"Number"},"volume":{"type":"number","semanticType":"Number"},"fetched_at":{"type":"date","semanticType":"DateTime"}},"rows":[{"symbol":"AAPL","date":"2025-07-30","open":211.45,"high":211.94,"low":207.28,"close":208.61,"volume":45512500,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2025-07-31","open":208.05,"high":209.4,"low":206.72,"close":207.13,"volume":80698400,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2025-08-01","open":210.43,"high":213.13,"low":201.08,"close":201.95,"volume":104434500,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2025-08-04","open":204.08,"high":207.44,"low":201.26,"close":202.92,"volume":75109300,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2025-08-05","open":202.97,"high":204.91,"low":201.74,"close":202.49,"volume":44155100,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2025-08-06","open":205.2,"high":214.93,"low":205.16,"close":212.8,"volume":108483100,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2025-08-07","open":218.42,"high":220.39,"low":216.12,"close":219.57,"volume":90224800,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2025-08-08","open":220.37,"high":230.51,"low":218.79,"close":228.87,"volume":113854000,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2025-08-11","open":227.7,"high":229.34,"low":224.54,"close":226.96,"volume":61806100,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2025-08-12","open":227.79,"high":230.58,"low":226.85,"close":229.43,"volume":55626200,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2025-08-13","open":230.85,"high":234.77,"low":230.21,"close":233.1,"volume":69878500,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2025-08-14","open":233.83,"high":234.89,"low":230.63,"close":232.55,"volume":51916300,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2025-08-15","open":233.77,"high":234.05,"low":229.12,"close":231.37,"volume":56038700,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2025-08-18","open":231.48,"high":232.89,"low":229.89,"close":230.67,"volume":37476200,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2025-08-19","open":231.06,"high":232.64,"low":229.13,"close":230.34,"volume":39402600,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2025-08-20","open":229.76,"high":230.25,"low":225.55,"close":225.79,"volume":42263900,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2025-08-21","open":226.05,"high":226.3,"low":223.56,"close":224.68,"volume":30621200,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2025-08-22","open":225.95,"high":228.87,"low":225.19,"close":227.54,"volume":42477800,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2025-08-25","open":226.26,"high":229.08,"low":226.01,"close":226.94,"volume":30983100,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2025-08-26","open":226.65,"high":229.27,"low":224.47,"close":229.09,"volume":54575100,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2025-08-27","open":228.39,"high":230.68,"low":228.04,"close":230.27,"volume":31259500,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2025-08-28","open":230.6,"high":233.18,"low":229.12,"close":232.33,"volume":38074700,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2025-08-29","open":232.28,"high":233.15,"low":231.15,"close":231.92,"volume":39418400,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2025-09-02","open":229.03,"high":230.63,"low":226.75,"close":229.5,"volume":44075600,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2025-09-03","open":236.98,"high":238.62,"low":234.13,"close":238.24,"volume":66427800,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2025-09-04","open":238.22,"high":239.67,"low":236.51,"close":239.55,"volume":47549400,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2025-09-05","open":239.77,"high":241.09,"low":238.26,"close":239.46,"volume":54870400,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2025-09-08","open":239.07,"high":239.92,"low":236.11,"close":237.65,"volume":48999500,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2025-09-09","open":236.77,"high":238.55,"low":233.13,"close":234.12,"volume":66313900,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2025-09-10","open":231.97,"high":232.19,"low":225.73,"close":226.57,"volume":83440800,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2025-09-11","open":226.66,"high":230.23,"low":226.43,"close":229.81,"volume":50208600,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2025-09-12","open":229,"high":234.28,"low":228.8,"close":233.84,"volume":55824200,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2025-09-15","open":236.77,"high":237.96,"low":234.8,"close":236.47,"volume":42699500,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2025-09-16","open":236.95,"high":240.99,"low":236.09,"close":237.92,"volume":63421100,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2025-09-17","open":238.74,"high":239.87,"low":237.5,"close":238.76,"volume":46508000,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2025-09-18","open":239.74,"high":240.97,"low":236.42,"close":237.65,"volume":44249600,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2025-09-19","open":241,"high":246.06,"low":239.98,"close":245.26,"volume":163741300,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2025-09-22","open":248.06,"high":256.39,"low":247.88,"close":255.83,"volume":105517400,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2025-09-23","open":255.63,"high":257.09,"low":253.33,"close":254.18,"volume":60275200,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2025-09-24","open":254.97,"high":255.49,"low":250.8,"close":252.07,"volume":42303700,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2025-09-25","open":252.96,"high":256.92,"low":251.47,"close":256.62,"volume":55202100,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2025-09-26","open":253.85,"high":257.35,"low":253.53,"close":255.21,"volume":46076300,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2025-09-29","open":254.31,"high":254.75,"low":252.76,"close":254.18,"volume":40127700,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2025-09-30","open":254.61,"high":255.67,"low":252.86,"close":254.38,"volume":37704300,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2025-10-01","open":254.79,"high":258.54,"low":254.68,"close":255.2,"volume":48713900,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2025-10-02","open":256.33,"high":257.93,"low":253.9,"close":256.88,"volume":42630200,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2025-10-03","open":254.42,"high":258.99,"low":253.7,"close":257.77,"volume":49155600,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2025-10-06","open":257.74,"high":258.82,"low":254.8,"close":256.44,"volume":44664100,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2025-10-07","open":256.56,"high":257.15,"low":255.18,"close":256.23,"volume":31955800,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2025-10-08","open":256.27,"high":258.27,"low":255.86,"close":257.81,"volume":36496900,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2025-10-09","open":257.56,"high":257.75,"low":252.89,"close":253.79,"volume":38322000,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2025-10-10","open":254.69,"high":256.13,"low":243.76,"close":245.03,"volume":61999100,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2025-10-13","open":249.14,"high":249.45,"low":245.32,"close":247.42,"volume":38142900,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2025-10-14","open":246.36,"high":248.61,"low":244.46,"close":247.53,"volume":35478000,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2025-10-15","open":249.25,"high":251.58,"low":247.23,"close":249.1,"volume":33893600,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2025-10-16","open":248.01,"high":248.8,"low":244.89,"close":247.21,"volume":39777000,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2025-10-17","open":247.78,"high":253.13,"low":247.03,"close":252.05,"volume":49147000,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2025-10-20","open":255.64,"high":264.12,"low":255.38,"close":261.99,"volume":90483000,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2025-10-21","open":261.63,"high":265.03,"low":261.58,"close":262.52,"volume":46695900,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2025-10-22","open":262.4,"high":262.6,"low":255.18,"close":258.2,"volume":45015300,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2025-10-23","open":259.69,"high":260.37,"low":257.76,"close":259.33,"volume":32754900,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2025-10-24","open":260.94,"high":263.87,"low":258.93,"close":262.57,"volume":38253700,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2025-10-27","open":264.62,"high":268.86,"low":264.39,"close":268.55,"volume":44888200,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2025-10-28","open":268.73,"high":269.63,"low":267.89,"close":268.74,"volume":41534800,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2025-10-29","open":269.02,"high":271.15,"low":266.85,"close":269.44,"volume":51086700,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2025-10-30","open":271.73,"high":273.87,"low":268.22,"close":271.14,"volume":69886500,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2025-10-31","open":276.72,"high":277.05,"low":268.9,"close":270.11,"volume":86167100,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2025-11-03","open":270.16,"high":270.59,"low":265.99,"close":268.79,"volume":50194600,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2025-11-04","open":268.07,"high":271.23,"low":267.36,"close":269.78,"volume":49274800,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2025-11-05","open":268.35,"high":271.44,"low":266.67,"close":269.88,"volume":43683100,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2025-11-06","open":267.63,"high":273.14,"low":267.63,"close":269.51,"volume":51204000,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2025-11-07","open":269.54,"high":272.03,"low":266.51,"close":268.21,"volume":48227400,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2025-11-10","open":268.96,"high":273.73,"low":267.46,"close":269.43,"volume":41312400,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2025-11-11","open":269.81,"high":275.91,"low":269.8,"close":275.25,"volume":46208300,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2025-11-12","open":275,"high":275.73,"low":271.7,"close":273.47,"volume":48398000,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2025-11-13","open":274.11,"high":276.7,"low":272.09,"close":272.95,"volume":49602800,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2025-11-14","open":271.05,"high":275.96,"low":269.6,"close":272.41,"volume":47431300,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2025-11-17","open":268.82,"high":270.49,"low":265.73,"close":267.46,"volume":45018300,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2025-11-18","open":269.99,"high":270.71,"low":265.32,"close":267.44,"volume":45677300,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2025-11-19","open":265.53,"high":272.21,"low":265.5,"close":268.56,"volume":40424500,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2025-11-20","open":270.83,"high":275.43,"low":265.92,"close":266.25,"volume":45823600,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2025-11-21","open":265.95,"high":273.33,"low":265.67,"close":271.49,"volume":59030800,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2025-11-24","open":270.9,"high":277,"low":270.9,"close":275.92,"volume":65585800,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2025-11-25","open":275.27,"high":280.38,"low":275.25,"close":276.97,"volume":46914200,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2025-11-26","open":276.96,"high":279.53,"low":276.63,"close":277.55,"volume":33431400,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2025-11-28","open":277.26,"high":279,"low":275.99,"close":278.85,"volume":20135600,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2025-12-01","open":278.01,"high":283.42,"low":276.14,"close":283.1,"volume":46587700,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2025-12-02","open":283,"high":287.4,"low":282.63,"close":286.19,"volume":53669500,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2025-12-03","open":286.2,"high":288.62,"low":283.3,"close":284.15,"volume":43538700,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2025-12-04","open":284.1,"high":284.73,"low":278.59,"close":280.7,"volume":43989100,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2025-12-05","open":280.54,"high":281.14,"low":278.05,"close":278.78,"volume":47265800,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2025-12-08","open":278.13,"high":279.67,"low":276.15,"close":277.89,"volume":38211800,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2025-12-09","open":278.16,"high":280.03,"low":276.92,"close":277.18,"volume":32193300,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2025-12-10","open":277.75,"high":279.75,"low":276.44,"close":278.78,"volume":33038300,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2025-12-11","open":279.1,"high":279.59,"low":273.81,"close":278.03,"volume":33248000,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2025-12-12","open":277.9,"high":279.22,"low":276.82,"close":278.28,"volume":39532900,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2025-12-15","open":280.15,"high":280.15,"low":272.84,"close":274.11,"volume":50409100,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2025-12-16","open":272.82,"high":275.5,"low":271.79,"close":274.61,"volume":37648600,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2025-12-17","open":275.01,"high":276.16,"low":271.64,"close":271.84,"volume":50138700,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2025-12-18","open":273.61,"high":273.63,"low":266.95,"close":272.19,"volume":51630700,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2025-12-19","open":272.15,"high":274.6,"low":269.9,"close":273.67,"volume":144632000,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2025-12-22","open":272.86,"high":273.88,"low":270.51,"close":270.97,"volume":36571800,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2025-12-23","open":270.84,"high":272.5,"low":269.56,"close":272.36,"volume":29642000,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2025-12-24","open":272.34,"high":275.43,"low":272.2,"close":273.81,"volume":17910600,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2025-12-26","open":274.16,"high":275.37,"low":272.86,"close":273.4,"volume":21521800,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2025-12-29","open":272.69,"high":274.36,"low":272.35,"close":273.76,"volume":23715200,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2025-12-30","open":272.81,"high":274.08,"low":272.28,"close":273.08,"volume":22139600,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2025-12-31","open":273.06,"high":273.68,"low":271.75,"close":271.86,"volume":27293600,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2026-01-02","open":272.26,"high":277.84,"low":269,"close":271.01,"volume":37838100,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2026-01-05","open":270.64,"high":271.51,"low":266.14,"close":267.26,"volume":45647200,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2026-01-06","open":267,"high":267.55,"low":262.12,"close":262.36,"volume":52352100,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2026-01-07","open":263.2,"high":263.68,"low":259.81,"close":260.33,"volume":48309800,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2026-01-08","open":257.02,"high":259.29,"low":255.7,"close":259.04,"volume":50419300,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2026-01-09","open":259.08,"high":260.21,"low":256.22,"close":259.37,"volume":39997000,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2026-01-12","open":259.16,"high":261.3,"low":256.8,"close":260.25,"volume":45263800,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2026-01-13","open":258.72,"high":261.81,"low":258.39,"close":261.05,"volume":45730800,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2026-01-14","open":259.49,"high":261.82,"low":256.71,"close":259.96,"volume":40019400,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2026-01-15","open":260.65,"high":261.04,"low":257.05,"close":258.21,"volume":39388600,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2026-01-16","open":257.9,"high":258.9,"low":254.93,"close":255.53,"volume":72142800,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2026-01-20","open":252.73,"high":254.79,"low":243.42,"close":246.7,"volume":80267500,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2026-01-21","open":248.7,"high":251.56,"low":245.18,"close":247.65,"volume":54641700,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2026-01-22","open":249.2,"high":251,"low":248.15,"close":248.35,"volume":39708300,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AAPL","date":"2026-01-23","open":247.32,"high":249.41,"low":244.68,"close":248.04,"volume":41625700,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2025-07-30","open":231.64,"high":231.8,"low":229.29,"close":230.19,"volume":32993300,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2025-07-31","open":235.77,"high":236.53,"low":231.4,"close":234.11,"volume":104357300,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2025-08-01","open":217.21,"high":220.44,"low":212.8,"close":214.75,"volume":122258800,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2025-08-04","open":217.4,"high":217.44,"low":211.42,"close":211.65,"volume":77890100,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2025-08-05","open":213.05,"high":216.3,"low":212.87,"close":213.75,"volume":51505100,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2025-08-06","open":214.7,"high":222.65,"low":213.74,"close":222.31,"volume":54823000,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2025-08-07","open":221,"high":226.22,"low":220.82,"close":223.13,"volume":40603500,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2025-08-08","open":223.14,"high":223.8,"low":221.88,"close":222.69,"volume":32970500,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2025-08-11","open":221.78,"high":223.05,"low":220.4,"close":221.3,"volume":31646200,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2025-08-12","open":222.23,"high":223.5,"low":219.05,"close":221.47,"volume":37185800,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2025-08-13","open":222,"high":224.92,"low":222,"close":224.56,"volume":36508300,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2025-08-14","open":227.4,"high":233.11,"low":227.02,"close":230.98,"volume":61545800,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2025-08-15","open":232.58,"high":234.08,"low":229.81,"close":231.03,"volume":39649200,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2025-08-18","open":230.23,"high":231.91,"low":228.33,"close":231.49,"volume":25248900,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2025-08-19","open":230.09,"high":230.53,"low":227.12,"close":228.01,"volume":29891000,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2025-08-20","open":227.12,"high":227.27,"low":220.92,"close":223.81,"volume":36604300,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2025-08-21","open":222.65,"high":222.78,"low":220.5,"close":221.95,"volume":32140500,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2025-08-22","open":222.79,"high":229.14,"low":220.82,"close":228.84,"volume":37315300,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2025-08-25","open":227.35,"high":229.6,"low":227.31,"close":227.94,"volume":22633700,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2025-08-26","open":227.11,"high":229,"low":226.02,"close":228.71,"volume":26105400,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2025-08-27","open":228.57,"high":229.87,"low":227.81,"close":229.12,"volume":21254500,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2025-08-28","open":229.01,"high":232.71,"low":228.02,"close":231.6,"volume":33679600,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2025-08-29","open":231.32,"high":231.81,"low":228.16,"close":229,"volume":26199200,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2025-09-02","open":223.52,"high":226.17,"low":221.83,"close":225.34,"volume":38843900,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2025-09-03","open":225.21,"high":227.17,"low":224.36,"close":225.99,"volume":29223100,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2025-09-04","open":231.19,"high":235.77,"low":230.78,"close":235.68,"volume":59391800,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2025-09-05","open":235.19,"high":236,"low":231.93,"close":232.33,"volume":36721800,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2025-09-08","open":234.94,"high":237.6,"low":233.75,"close":235.84,"volume":33947100,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2025-09-09","open":236.36,"high":238.85,"low":235.08,"close":238.24,"volume":27033800,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2025-09-10","open":237.52,"high":237.68,"low":229.1,"close":230.33,"volume":60907700,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2025-09-11","open":231.49,"high":231.53,"low":229.34,"close":229.95,"volume":37485600,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2025-09-12","open":230.35,"high":230.79,"low":226.29,"close":228.15,"volume":38496200,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2025-09-15","open":230.63,"high":233.73,"low":230.32,"close":231.43,"volume":33243300,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2025-09-16","open":232.94,"high":235.9,"low":232.23,"close":234.05,"volume":38203900,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2025-09-17","open":233.77,"high":234.3,"low":228.71,"close":231.62,"volume":42815200,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2025-09-18","open":232.5,"high":233.48,"low":228.79,"close":231.23,"volume":37931700,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2025-09-19","open":232.37,"high":234.16,"low":229.7,"close":231.48,"volume":97943200,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2025-09-22","open":230.56,"high":230.57,"low":227.51,"close":227.63,"volume":45914500,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2025-09-23","open":227.83,"high":227.86,"low":220.07,"close":220.71,"volume":70956200,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2025-09-24","open":224.15,"high":224.56,"low":219.45,"close":220.21,"volume":49509000,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2025-09-25","open":220.06,"high":220.67,"low":216.47,"close":218.15,"volume":52226300,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2025-09-26","open":219.08,"high":221.05,"low":218.02,"close":219.78,"volume":41650100,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2025-09-29","open":220.08,"high":222.6,"low":219.3,"close":222.17,"volume":44259200,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2025-09-30","open":222.03,"high":222.24,"low":217.89,"close":219.57,"volume":48396400,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2025-10-01","open":217.36,"high":222.15,"low":216.61,"close":220.63,"volume":43933800,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2025-10-02","open":221.01,"high":222.81,"low":218.95,"close":222.41,"volume":41258600,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2025-10-03","open":223.44,"high":224.2,"low":219.34,"close":219.51,"volume":43639000,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2025-10-06","open":221,"high":221.73,"low":216.03,"close":220.9,"volume":43690900,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2025-10-07","open":220.88,"high":222.89,"low":220.17,"close":221.78,"volume":31194700,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2025-10-08","open":222.92,"high":226.73,"low":221.19,"close":225.22,"volume":46686000,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2025-10-09","open":225,"high":228.21,"low":221.75,"close":227.74,"volume":46412100,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2025-10-10","open":226.21,"high":228.25,"low":216,"close":216.37,"volume":72367500,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2025-10-13","open":217.7,"high":220.68,"low":217.04,"close":220.07,"volume":37809700,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2025-10-14","open":215.56,"high":219.32,"low":212.6,"close":216.39,"volume":45665600,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2025-10-15","open":216.62,"high":217.71,"low":212.66,"close":215.57,"volume":45909500,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2025-10-16","open":215.67,"high":218.59,"low":212.81,"close":214.47,"volume":42414600,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2025-10-17","open":214.56,"high":214.8,"low":211.03,"close":213.04,"volume":45986900,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2025-10-20","open":213.88,"high":216.69,"low":213.59,"close":216.48,"volume":38882800,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2025-10-21","open":218.43,"high":223.32,"low":217.99,"close":222.03,"volume":50494600,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2025-10-22","open":219.3,"high":220.01,"low":216.52,"close":217.95,"volume":44308500,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2025-10-23","open":219,"high":221.3,"low":218.18,"close":221.09,"volume":31540000,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2025-10-24","open":221.97,"high":225.4,"low":221.9,"close":224.21,"volume":38685100,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2025-10-27","open":227.66,"high":228.4,"low":225.54,"close":226.97,"volume":38267000,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2025-10-28","open":228.22,"high":231.49,"low":226.21,"close":229.25,"volume":47100000,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2025-10-29","open":231.67,"high":232.82,"low":227.76,"close":230.3,"volume":52036200,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2025-10-30","open":227.06,"high":228.44,"low":222.75,"close":222.86,"volume":102252900,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2025-10-31","open":250.1,"high":250.5,"low":243.98,"close":244.22,"volume":166340800,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2025-11-03","open":255.36,"high":258.6,"low":252.9,"close":254,"volume":95997800,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2025-11-04","open":250.38,"high":257.01,"low":248.66,"close":249.32,"volume":51546300,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2025-11-05","open":249.03,"high":251,"low":246.16,"close":250.2,"volume":40610700,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2025-11-06","open":249.16,"high":250.38,"low":242.17,"close":243.04,"volume":46004200,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2025-11-07","open":242.9,"high":244.9,"low":238.49,"close":244.41,"volume":46374300,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2025-11-10","open":248.34,"high":251.75,"low":245.59,"close":248.4,"volume":36476500,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2025-11-11","open":248.41,"high":249.75,"low":247.23,"close":249.1,"volume":23564100,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2025-11-12","open":250.24,"high":250.37,"low":243.75,"close":244.2,"volume":31190100,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2025-11-13","open":243.05,"high":243.75,"low":236.5,"close":237.58,"volume":41401700,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2025-11-14","open":235.06,"high":238.73,"low":232.89,"close":234.69,"volume":38956700,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2025-11-17","open":233.25,"high":234.6,"low":229.19,"close":232.87,"volume":59919000,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2025-11-18","open":228.1,"high":230.2,"low":222.42,"close":222.55,"volume":60608400,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2025-11-19","open":223.74,"high":223.74,"low":218.52,"close":222.69,"volume":58335600,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2025-11-20","open":227.05,"high":227.41,"low":216.74,"close":217.14,"volume":50309000,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2025-11-21","open":216.35,"high":222.21,"low":215.18,"close":220.69,"volume":68490500,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2025-11-24","open":222.56,"high":227.33,"low":222.27,"close":226.28,"volume":54318400,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2025-11-25","open":226.38,"high":230.52,"low":223.8,"close":229.67,"volume":39379300,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2025-11-26","open":230.74,"high":231.75,"low":228.77,"close":229.16,"volume":38497900,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2025-11-28","open":231.24,"high":233.29,"low":230.22,"close":233.22,"volume":20292300,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2025-12-01","open":233.22,"high":235.8,"low":232.25,"close":233.88,"volume":42904000,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2025-12-02","open":235.01,"high":238.97,"low":233.55,"close":234.42,"volume":45785400,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2025-12-03","open":233.35,"high":233.38,"low":230.61,"close":232.38,"volume":35495100,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2025-12-04","open":232.77,"high":233.5,"low":226.8,"close":229.11,"volume":45683200,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2025-12-05","open":230.32,"high":231.24,"low":228.55,"close":229.53,"volume":33117400,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2025-12-08","open":229.59,"high":230.83,"low":226.27,"close":226.89,"volume":35019200,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2025-12-09","open":226.84,"high":228.57,"low":225.11,"close":227.92,"volume":25841700,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2025-12-10","open":228.81,"high":232.42,"low":228.46,"close":231.78,"volume":38790700,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2025-12-11","open":230.71,"high":232.11,"low":228.69,"close":230.28,"volume":28249600,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2025-12-12","open":229.87,"high":230.08,"low":225.12,"close":226.19,"volume":35639100,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2025-12-15","open":227.93,"high":227.93,"low":221.5,"close":222.54,"volume":47286100,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2025-12-16","open":223.04,"high":223.66,"low":221.13,"close":222.56,"volume":39298900,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2025-12-17","open":224.66,"high":225.19,"low":220.99,"close":221.27,"volume":44034400,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2025-12-18","open":225.71,"high":229.23,"low":224.41,"close":226.76,"volume":50272400,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2025-12-19","open":226.76,"high":229.13,"low":225.58,"close":227.35,"volume":85544400,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2025-12-22","open":228.61,"high":229.48,"low":226.71,"close":228.43,"volume":32261300,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2025-12-23","open":229.06,"high":232.45,"low":228.73,"close":232.14,"volume":29230200,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2025-12-24","open":232.13,"high":232.95,"low":231.33,"close":232.38,"volume":11420500,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2025-12-26","open":232.04,"high":232.99,"low":231.18,"close":232.52,"volume":15994700,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2025-12-29","open":231.94,"high":232.6,"low":230.77,"close":232.07,"volume":19797900,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2025-12-30","open":231.21,"high":232.77,"low":230.2,"close":232.53,"volume":21910500,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2025-12-31","open":232.91,"high":232.99,"low":230.12,"close":230.82,"volume":24383700,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2026-01-02","open":231.34,"high":235.46,"low":224.7,"close":226.5,"volume":51456200,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2026-01-05","open":228.84,"high":234,"low":227.18,"close":233.06,"volume":49733300,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2026-01-06","open":232.1,"high":243.18,"low":232.07,"close":240.93,"volume":53764700,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2026-01-07","open":239.61,"high":245.29,"low":239.52,"close":241.56,"volume":42236500,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2026-01-08","open":243.06,"high":246.41,"low":241.88,"close":246.29,"volume":39509800,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2026-01-09","open":244.57,"high":247.86,"low":242.24,"close":247.38,"volume":34560000,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2026-01-12","open":246.73,"high":248.94,"low":245.96,"close":246.47,"volume":35867800,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2026-01-13","open":246.53,"high":247.66,"low":240.25,"close":242.6,"volume":38371800,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2026-01-14","open":241.15,"high":241.28,"low":236.22,"close":236.65,"volume":41410600,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2026-01-15","open":239.31,"high":240.65,"low":236.63,"close":238.18,"volume":43003600,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2026-01-16","open":239.09,"high":239.57,"low":236.41,"close":239.12,"volume":45888300,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2026-01-20","open":233.76,"high":235.09,"low":229.34,"close":231,"volume":47737900,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2026-01-21","open":231.09,"high":232.3,"low":226.88,"close":231.31,"volume":47276100,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2026-01-22","open":234.05,"high":235.72,"low":230.9,"close":234.34,"volume":31913300,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"AMZN","date":"2026-01-23","open":234.96,"high":240.45,"low":234.57,"close":239.16,"volume":33744100,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2025-07-30","open":195.3,"high":197.29,"low":194.39,"close":196.23,"volume":32445400,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2025-07-31","open":195.41,"high":195.69,"low":190.79,"close":191.6,"volume":51329200,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2025-08-01","open":188.74,"high":190.53,"low":187.53,"close":188.84,"volume":34832200,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2025-08-04","open":190,"high":194.97,"low":189.83,"close":194.74,"volume":31547400,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2025-08-05","open":194.41,"high":197.55,"low":193.59,"close":194.37,"volume":31602300,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2025-08-06","open":194.2,"high":196.33,"low":193.37,"close":195.79,"volume":21562900,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2025-08-07","open":196.76,"high":197.23,"low":194.03,"close":196.22,"volume":26321800,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2025-08-08","open":196.91,"high":202.3,"low":196.87,"close":201.11,"volume":39161800,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2025-08-11","open":200.63,"high":201.17,"low":198.76,"close":200.69,"volume":25832400,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2025-08-12","open":201.06,"high":204.18,"low":200.28,"close":203.03,"volume":30397900,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2025-08-13","open":203.81,"high":204.21,"low":197.2,"close":201.65,"volume":28342900,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2025-08-14","open":201.19,"high":204.12,"low":200.92,"close":202.63,"volume":25230400,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2025-08-15","open":203.53,"high":206.12,"low":200.97,"close":203.58,"volume":34931400,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2025-08-18","open":203.88,"high":204.95,"low":202.18,"close":203.19,"volume":18526600,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2025-08-19","open":202.72,"high":203.13,"low":199.65,"close":201.26,"volume":24240200,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2025-08-20","open":200.42,"high":200.97,"low":196.3,"close":199.01,"volume":28955500,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2025-08-21","open":199.44,"high":202.17,"low":199.12,"close":199.44,"volume":19774600,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2025-08-22","open":202.42,"high":208.22,"low":200.99,"close":205.77,"volume":42827000,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2025-08-25","open":206.11,"high":210.19,"low":204.96,"close":208.17,"volume":29928900,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2025-08-26","open":207.19,"high":207.53,"low":205.38,"close":206.82,"volume":28464100,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2025-08-27","open":205.38,"high":208.59,"low":205.33,"close":207.16,"volume":23022900,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2025-08-28","open":206.93,"high":211.89,"low":206.58,"close":211.31,"volume":32339300,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2025-08-29","open":210.18,"high":214.32,"low":209.87,"close":212.58,"volume":39728400,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2025-09-02","open":208.12,"high":211.35,"low":205.88,"close":211.02,"volume":47523000,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2025-09-03","open":225.86,"high":230.95,"low":224.44,"close":230.3,"volume":103336100,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2025-09-04","open":229.29,"high":232.01,"low":225.76,"close":231.94,"volume":51684200,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2025-09-05","open":231.84,"high":235.4,"low":231.54,"close":234.64,"volume":46588900,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2025-09-08","open":235.32,"high":237.97,"low":233.52,"close":233.89,"volume":32474700,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2025-09-09","open":234.02,"high":240.31,"low":233.08,"close":239.47,"volume":38061000,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2025-09-10","open":238.74,"high":241.5,"low":237.69,"close":239.01,"volume":35141100,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2025-09-11","open":239.72,"high":242.09,"low":236.1,"close":240.21,"volume":30599300,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2025-09-12","open":240.21,"high":241.92,"low":237.84,"close":240.64,"volume":26771600,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2025-09-15","open":244.5,"high":252.25,"low":244.5,"close":251.45,"volume":58383800,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2025-09-16","open":251.92,"high":252.87,"low":249.31,"close":251,"volume":34109700,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2025-09-17","open":251.06,"high":251.44,"low":246.12,"close":249.37,"volume":34108000,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2025-09-18","open":251.52,"high":253.82,"low":249.64,"close":251.87,"volume":31239500,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2025-09-19","open":253.08,"high":255.83,"low":251.65,"close":254.55,"volume":55571400,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2025-09-22","open":254.26,"high":255.61,"low":250.14,"close":252.36,"volume":32290500,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2025-09-23","open":252.87,"high":254.19,"low":250.32,"close":251.5,"volume":26628000,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2025-09-24","open":251.5,"high":252.19,"low":246.28,"close":246.98,"volume":28201000,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2025-09-25","open":244.24,"high":246.33,"low":240.58,"close":245.63,"volume":31020400,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2025-09-26","open":246.91,"high":249.26,"low":245.81,"close":246.38,"volume":18503200,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2025-09-29","open":247.69,"high":250.99,"low":242.61,"close":243.89,"volume":32505800,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2025-09-30","open":242.65,"high":243.13,"low":239.09,"close":242.94,"volume":34724300,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2025-10-01","open":240.59,"high":246.14,"low":238.45,"close":244.74,"volume":31658200,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2025-10-02","open":244.99,"high":246.65,"low":242.14,"close":245.53,"volume":25483300,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2025-10-03","open":244.33,"high":246.14,"low":241.5,"close":245.19,"volume":30249600,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2025-10-06","open":244.62,"high":251.16,"low":244.42,"close":250.27,"volume":28894700,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2025-10-07","open":248.11,"high":250.28,"low":245.36,"close":245.6,"volume":23181300,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2025-10-08","open":244.8,"high":245.85,"low":243.66,"close":244.46,"volume":21307100,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2025-10-09","open":244.31,"high":244.6,"low":238.99,"close":241.37,"volume":27892100,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2025-10-10","open":241.27,"high":243.93,"low":235.69,"close":236.42,"volume":33180300,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2025-10-13","open":240.05,"high":244.34,"low":239.55,"close":243.99,"volume":24995000,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2025-10-14","open":241.07,"high":246.96,"low":240.35,"close":245.29,"volume":22111600,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2025-10-15","open":247.09,"high":251.95,"low":245.83,"close":250.87,"volume":27007700,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2025-10-16","open":251.61,"high":256.79,"low":249.94,"close":251.3,"volume":27997200,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2025-10-17","open":250.6,"high":254.05,"low":247.65,"close":253.13,"volume":29671600,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2025-10-20","open":254.52,"high":257.16,"low":254.06,"close":256.38,"volume":22350200,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2025-10-21","open":254.57,"high":254.71,"low":243.99,"close":250.3,"volume":47312100,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2025-10-22","open":254.2,"high":256.19,"low":249.13,"close":251.53,"volume":35029400,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2025-10-23","open":252.81,"high":254.87,"low":251.69,"close":252.91,"volume":19901400,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2025-10-24","open":256.41,"high":261.51,"low":255.15,"close":259.75,"volume":28655100,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2025-10-27","open":264.65,"high":269.96,"low":264.11,"close":269.09,"volume":35235200,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2025-10-28","open":269.51,"high":270.55,"low":266.33,"close":267.3,"volume":29738600,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2025-10-29","open":267.57,"high":275.16,"low":267.5,"close":274.39,"volume":43580300,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2025-10-30","open":291.4,"high":291.4,"low":279.88,"close":281.3,"volume":74876000,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2025-10-31","open":283.02,"high":285.81,"low":276.85,"close":281.01,"volume":39267900,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2025-11-03","open":282,"high":285.34,"low":279.62,"close":283.53,"volume":29786000,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2025-11-04","open":276.57,"high":281.09,"low":276.08,"close":277.36,"volume":30078400,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2025-11-05","open":278.69,"high":286.23,"low":277.16,"close":284.12,"volume":31010300,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2025-11-06","open":285.14,"high":288.16,"low":280.96,"close":284.56,"volume":37173600,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2025-11-07","open":283.02,"high":283.59,"low":275.01,"close":278.65,"volume":34479600,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2025-11-10","open":284.23,"high":290.61,"low":282.68,"close":289.91,"volume":29557300,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2025-11-11","open":287.56,"high":291.73,"low":287.13,"close":291.12,"volume":19842100,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2025-11-12","open":291.49,"high":291.82,"low":283.5,"close":286.52,"volume":24829900,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2025-11-13","open":282.16,"high":282.66,"low":277.06,"close":278.39,"volume":29494000,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2025-11-14","open":271.23,"high":278.38,"low":270.52,"close":276.23,"volume":31647200,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2025-11-17","open":285.59,"high":293.76,"low":283.38,"close":284.83,"volume":52670200,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2025-11-18","open":287.73,"high":288.61,"low":278.02,"close":284.09,"volume":49158700,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2025-11-19","open":286.97,"high":303.61,"low":286.44,"close":292.62,"volume":68198900,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2025-11-20","open":304.34,"high":306.22,"low":288.48,"close":289.26,"volume":62025200,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2025-11-21","open":296.23,"high":303.72,"low":293.66,"close":299.46,"volume":74137700,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2025-11-24","open":310.93,"high":319.27,"low":309.4,"close":318.37,"volume":85165100,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2025-11-25","open":326,"high":328.62,"low":317.44,"close":323.23,"volume":88632100,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2025-11-26","open":320.47,"high":324.29,"low":316.58,"close":319.74,"volume":51373400,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2025-11-28","open":323.16,"high":326.64,"low":316.58,"close":319.97,"volume":26018600,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2025-12-01","open":317.49,"high":319.64,"low":313.68,"close":314.68,"volume":41183000,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2025-12-02","open":316.53,"high":318.17,"low":313.7,"close":315.6,"volume":35854700,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2025-12-03","open":315.68,"high":321.37,"low":313.89,"close":319.42,"volume":41838300,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2025-12-04","open":322.02,"high":322.15,"low":314.49,"close":317.41,"volume":31240900,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2025-12-05","open":319.28,"high":322.95,"low":318.96,"close":321.06,"volume":28851700,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2025-12-08","open":320.05,"high":320.44,"low":311.22,"close":313.72,"volume":33909400,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2025-12-09","open":312.37,"high":317.99,"low":311.9,"close":317.08,"volume":30194000,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2025-12-10","open":315.83,"high":321.31,"low":314.68,"close":320.21,"volume":33428900,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2025-12-11","open":320.08,"high":321.12,"low":308.6,"close":312.43,"volume":42353700,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2025-12-12","open":313.7,"high":314.87,"low":305.56,"close":309.29,"volume":35940200,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2025-12-15","open":311.32,"high":311.42,"low":304.88,"close":308.22,"volume":29151900,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2025-12-16","open":304.95,"high":310.77,"low":302.59,"close":306.57,"volume":30585000,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2025-12-17","open":308.01,"high":308.09,"low":296.12,"close":296.72,"volume":43930400,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2025-12-18","open":301.72,"high":303.96,"low":299.23,"close":302.46,"volume":33518000,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2025-12-19","open":301.73,"high":307.25,"low":300.97,"close":307.16,"volume":59943200,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2025-12-22","open":309.88,"high":310.13,"low":305.3,"close":309.78,"volume":26429900,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2025-12-23","open":309.63,"high":314.94,"low":309.32,"close":314.35,"volume":25478700,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2025-12-24","open":314.77,"high":315.08,"low":311.92,"close":314.09,"volume":10097400,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2025-12-26","open":314.48,"high":315.09,"low":312.28,"close":313.51,"volume":10899000,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2025-12-29","open":311.37,"high":314.02,"low":310.62,"close":313.56,"volume":19621800,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2025-12-30","open":312.5,"high":316.95,"low":312.46,"close":313.85,"volume":17380900,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2025-12-31","open":312.85,"high":314.58,"low":311.44,"close":313,"volume":16377700,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2026-01-02","open":316.9,"high":322.5,"low":310.33,"close":315.15,"volume":32009400,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2026-01-05","open":317.66,"high":319.02,"low":314.63,"close":316.54,"volume":30195600,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2026-01-06","open":316.4,"high":320.94,"low":311.78,"close":314.34,"volume":31212100,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2026-01-07","open":314.36,"high":326.15,"low":314.19,"close":321.98,"volume":35104400,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2026-01-08","open":328.97,"high":330.32,"low":321.5,"close":325.44,"volume":31896100,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2026-01-09","open":327.09,"high":330.83,"low":325.8,"close":328.57,"volume":26214200,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2026-01-12","open":325.8,"high":334.04,"low":325,"close":331.86,"volume":33923900,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2026-01-13","open":334.95,"high":340.49,"low":333.62,"close":335.97,"volume":33517600,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2026-01-14","open":335.06,"high":336.52,"low":330.48,"close":335.84,"volume":28525600,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2026-01-15","open":337.65,"high":337.69,"low":330.74,"close":332.78,"volume":28442400,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2026-01-16","open":334.41,"high":334.65,"low":327.7,"close":330,"volume":40341600,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2026-01-20","open":320.87,"high":327.73,"low":320.43,"close":322,"volume":35361000,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2026-01-21","open":320.92,"high":332.48,"low":319.35,"close":328.38,"volume":35386600,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2026-01-22","open":334.45,"high":335.15,"low":328.75,"close":330.54,"volume":26253600,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"GOOGL","date":"2026-01-23","open":332.49,"high":333.69,"low":327.45,"close":327.93,"volume":27252600,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2025-07-30","open":707.04,"high":707.45,"low":690.17,"close":694.17,"volume":27077300,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2025-07-31","open":774.05,"high":783.58,"low":764.37,"close":772.29,"volume":38831100,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2025-08-01","open":759.6,"high":764.86,"low":744.2,"close":748.89,"volume":19028700,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2025-08-04","open":758.87,"high":775.69,"low":757.28,"close":775.21,"volume":15801700,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2025-08-05","open":775.29,"high":781.96,"low":761.86,"close":762.32,"volume":11640300,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2025-08-06","open":768.85,"high":772.49,"low":759.33,"close":770.84,"volume":9733900,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2025-08-07","open":772.34,"high":773.85,"low":758.42,"close":760.7,"volume":9019700,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2025-08-08","open":761.61,"high":768.75,"low":757.45,"close":768.15,"volume":7320800,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2025-08-11","open":768.93,"high":772.31,"low":763.53,"close":764.73,"volume":7612000,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2025-08-12","open":771.85,"high":792.49,"low":771.28,"close":788.82,"volume":14563100,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2025-08-13","open":789.97,"high":794.28,"low":777.07,"close":778.92,"volume":8811800,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2025-08-14","open":776.72,"high":786.64,"low":771.36,"close":780.97,"volume":8116200,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2025-08-15","open":782.98,"high":795.06,"low":779.66,"close":784.06,"volume":13375400,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2025-08-18","open":773.94,"high":774.65,"low":755.43,"close":766.23,"volume":16513700,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2025-08-19","open":765.98,"high":766.03,"low":748.24,"close":750.36,"volume":12286700,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2025-08-20","open":746.46,"high":749.08,"low":729.91,"close":746.61,"volume":11898200,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2025-08-21","open":743.6,"high":744.39,"low":732.02,"close":738,"volume":8876300,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2025-08-22","open":738.13,"high":755.77,"low":733.3,"close":753.67,"volume":10612700,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2025-08-25","open":753.7,"high":757.75,"low":749.01,"close":752.18,"volume":6861200,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2025-08-26","open":749.68,"high":753.75,"low":746.83,"close":752.98,"volume":7601800,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2025-08-27","open":751.18,"high":753.03,"low":741.73,"close":746.27,"volume":8315400,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2025-08-28","open":742.89,"high":751.93,"low":739.7,"close":749.99,"volume":7468000,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2025-08-29","open":744.17,"high":746.03,"low":734.26,"close":737.6,"volume":9070500,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2025-09-02","open":724.96,"high":734.9,"low":720.66,"close":734.02,"volume":9350900,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2025-09-03","open":734.9,"high":739.15,"low":732.9,"close":735.95,"volume":7699300,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2025-09-04","open":747.46,"high":760.03,"low":744.71,"close":747.54,"volume":11439100,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2025-09-05","open":751.5,"high":756.82,"low":743.92,"close":751.33,"volume":9663400,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2025-09-08","open":754.87,"high":765.37,"low":750.9,"close":751.18,"volume":13087800,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2025-09-09","open":756.36,"high":765.16,"low":752.31,"close":764.56,"volume":10999000,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2025-09-10","open":763.99,"high":764.56,"low":749.88,"close":750.86,"volume":12478300,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2025-09-11","open":753.53,"high":755.97,"low":747.26,"close":749.78,"volume":7923300,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2025-09-12","open":747.62,"high":756.44,"low":742.65,"close":754.47,"volume":8248600,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2025-09-15","open":756.34,"high":772.92,"low":750.87,"close":763.56,"volume":10533800,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2025-09-16","open":765.86,"high":780.2,"low":763.96,"close":777.84,"volume":11782500,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2025-09-17","open":778.83,"high":782.12,"low":765.17,"close":774.57,"volume":9400900,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2025-09-18","open":779.59,"high":787.61,"low":772.21,"close":779.09,"volume":10955000,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2025-09-19","open":785.25,"high":789.62,"low":768.04,"close":777.22,"volume":23696800,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2025-09-22","open":781.21,"high":785.09,"low":763.85,"close":764.54,"volume":11706900,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2025-09-23","open":768.62,"high":769.97,"low":750.46,"close":754.78,"volume":10872600,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2025-09-24","open":756.88,"high":760.49,"low":751.92,"close":760.04,"volume":8828200,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2025-09-25","open":752.84,"high":756.15,"low":743.94,"close":748.3,"volume":10591100,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2025-09-26","open":749.39,"high":751.32,"low":736.75,"close":743.14,"volume":9696300,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2025-09-29","open":748.11,"high":750.17,"low":738.55,"close":742.79,"volume":9246800,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2025-09-30","open":741.65,"high":742.36,"low":725.71,"close":733.78,"volume":16226800,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2025-10-01","open":720.9,"high":721.26,"low":709.62,"close":716.76,"volume":20419600,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2025-10-02","open":721.99,"high":727.18,"low":717.55,"close":726.46,"volume":11415300,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2025-10-03","open":729.04,"high":730.4,"low":709.6,"close":709.98,"volume":16154300,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2025-10-06","open":704.62,"high":716.3,"low":689.95,"close":715.08,"volume":21654700,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2025-10-07","open":717.14,"high":717.91,"low":705.17,"close":712.5,"volume":12062900,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2025-10-08","open":712.87,"high":719.06,"low":707.23,"close":717.26,"volume":10790600,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2025-10-09","open":717.69,"high":732.91,"low":711.86,"close":732.91,"volume":12717200,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2025-10-10","open":730.32,"high":734.67,"low":703.94,"close":704.73,"volume":16980100,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2025-10-13","open":712.43,"high":719.35,"low":707.06,"close":715.12,"volume":9251800,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2025-10-14","open":707.2,"high":714.97,"low":698.76,"close":708.07,"volume":8829800,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2025-10-15","open":716.48,"high":723.31,"low":708.93,"close":716.97,"volume":10246800,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2025-10-16","open":716.97,"high":724.9,"low":703.31,"close":711.49,"volume":9017000,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2025-10-17","open":706.5,"high":717.95,"low":705.54,"close":716.34,"volume":12232400,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2025-10-20","open":720.6,"high":733.17,"low":719.59,"close":731.57,"volume":8900200,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2025-10-21","open":735.42,"high":737.9,"low":728.16,"close":732.67,"volume":7647300,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2025-10-22","open":733.23,"high":740,"low":723.44,"close":732.81,"volume":8734500,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2025-10-23","open":734.1,"high":741.8,"low":732.5,"close":733.4,"volume":9856000,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2025-10-24","open":736.19,"high":740.61,"low":730.55,"close":737.76,"volume":9151300,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2025-10-27","open":749.12,"high":755.13,"low":747.4,"close":750.21,"volume":11321100,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2025-10-28","open":752.02,"high":757.78,"low":744.91,"close":750.83,"volume":12193800,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2025-10-29","open":754.13,"high":758.54,"low":741.9,"close":751.06,"volume":26818600,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2025-10-30","open":668.6,"high":680.41,"low":649.64,"close":665.93,"volume":88440100,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2025-10-31","open":673.96,"high":674.34,"low":645.04,"close":647.82,"volume":56953200,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2025-11-03","open":655.47,"high":658.79,"low":635.66,"close":637.19,"volume":33003600,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2025-11-04","open":627.53,"high":641.22,"low":625.5,"close":626.81,"volume":27356600,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2025-11-05","open":631.79,"high":641.71,"low":626.03,"close":635.43,"volume":20219900,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2025-11-06","open":635.33,"high":635.48,"low":617.5,"close":618.44,"volume":23628800,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2025-11-07","open":615.99,"high":621.62,"low":600.71,"close":621.2,"volume":29946800,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2025-11-10","open":630.58,"high":634.48,"low":617.61,"close":631.25,"volume":19245000,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2025-11-11","open":627.49,"high":629.05,"low":618.89,"close":626.57,"volume":13302200,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2025-11-12","open":627.62,"high":628.48,"low":607.27,"close":608.51,"volume":24493300,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2025-11-13","open":612.57,"high":617.15,"low":602.51,"close":609.39,"volume":20973800,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2025-11-14","open":601.3,"high":613.18,"low":594.71,"close":608.96,"volume":20724100,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2025-11-17","open":608.54,"high":611.19,"low":594.91,"close":601.52,"volume":16501300,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2025-11-18","open":591.12,"high":603.17,"low":583.3,"close":597.2,"volume":25500600,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2025-11-19","open":593.24,"high":594.84,"low":580.78,"close":589.84,"volume":24744700,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2025-11-20","open":603.01,"high":606.23,"low":582.87,"close":588.67,"volume":20603000,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2025-11-21","open":588.02,"high":597.63,"low":581.39,"close":593.77,"volume":21052600,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2025-11-24","open":598.23,"high":616.2,"low":597.14,"close":612.55,"volume":23554900,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2025-11-25","open":623.49,"high":636.53,"low":617.8,"close":635.7,"volume":25213000,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2025-11-26","open":637.17,"high":637.84,"low":631.12,"close":633.09,"volume":15209500,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2025-11-28","open":635.56,"high":647.52,"low":634.98,"close":647.42,"volume":11033200,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2025-12-01","open":639.03,"high":644.79,"low":637.24,"close":640.35,"volume":13029900,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2025-12-02","open":641.82,"high":647.34,"low":637.55,"close":646.57,"volume":11640900,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2025-12-03","open":643.88,"high":648.32,"low":637.03,"close":639.08,"volume":11134300,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2025-12-04","open":675.45,"high":675.55,"low":659.51,"close":660.99,"volume":29874600,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2025-12-05","open":663.46,"high":674.14,"low":661.85,"close":672.87,"volume":21207900,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2025-12-08","open":668.79,"high":676.16,"low":664.53,"close":666.26,"volume":13161000,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2025-12-09","open":663.23,"high":663.94,"low":652.81,"close":656.42,"volume":12997100,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2025-12-10","open":649.42,"high":653.98,"low":642.88,"close":649.6,"volume":16910900,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2025-12-11","open":642.77,"high":654.75,"low":640.28,"close":652.18,"volume":13056700,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2025-12-12","open":649.27,"high":710.42,"low":638.09,"close":643.71,"volume":14016900,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2025-12-15","open":645.7,"high":653,"low":638.7,"close":647.51,"volume":15549100,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2025-12-16","open":643.5,"high":662.54,"low":643.2,"close":657.15,"volume":14309100,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2025-12-17","open":655.61,"high":661.23,"low":649.2,"close":649.5,"volume":15598500,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2025-12-18","open":657.03,"high":670.56,"low":656.46,"close":664.45,"volume":20260300,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2025-12-19","open":666.42,"high":671,"low":658.18,"close":658.77,"volume":49977100,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2025-12-22","open":661.65,"high":673.58,"low":656.65,"close":661.5,"volume":15659400,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2025-12-23","open":660.05,"high":666,"low":658.25,"close":664.94,"volume":8486800,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2025-12-24","open":662.53,"high":668.18,"low":662.2,"close":667.55,"volume":5627500,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2025-12-26","open":668.06,"high":668.95,"low":661.32,"close":663.29,"volume":7133800,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2025-12-29","open":658.01,"high":660.25,"low":654.39,"close":658.69,"volume":8506500,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2025-12-30","open":658.69,"high":672.22,"low":657.84,"close":665.95,"volume":9187500,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2025-12-31","open":664.75,"high":665,"low":659.44,"close":660.09,"volume":7940400,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2026-01-02","open":662.73,"high":664.39,"low":643.5,"close":650.41,"volume":13726500,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2026-01-05","open":651.01,"high":664.54,"low":647.75,"close":658.79,"volume":12213700,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2026-01-06","open":659.57,"high":665.52,"low":651.9,"close":660.62,"volume":11074400,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2026-01-07","open":655.64,"high":659.15,"low":644.81,"close":648.69,"volume":12846300,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2026-01-08","open":645.88,"high":647.1,"low":635.72,"close":646.06,"volume":11921700,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2026-01-09","open":645.44,"high":654.95,"low":642.85,"close":653.06,"volume":11634900,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2026-01-12","open":652.53,"high":653.97,"low":641.23,"close":641.97,"volume":14797200,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2026-01-13","open":642.27,"high":642.27,"low":624.1,"close":631.09,"volume":18030400,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2026-01-14","open":626.5,"high":628.45,"low":614.82,"close":615.52,"volume":15527900,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2026-01-15","open":618.48,"high":624.17,"low":614.23,"close":620.8,"volume":13076100,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2026-01-16","open":624.18,"high":629.08,"low":620.08,"close":620.25,"volume":17012500,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2026-01-20","open":607.88,"high":611.4,"low":600,"close":604.12,"volume":15169600,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2026-01-21","open":606.74,"high":618.27,"low":600.08,"close":612.96,"volume":14494700,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2026-01-22","open":629.35,"high":660.57,"low":626.55,"close":647.63,"volume":21394700,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"META","date":"2026-01-23","open":644.77,"high":666.49,"low":644.45,"close":658.76,"volume":22773600,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2025-07-30","open":513.36,"high":514.14,"low":507.65,"close":511.44,"volume":26380400,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2025-07-31","open":553.28,"high":553.5,"low":530.04,"close":531.63,"volume":51617300,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2025-08-01","open":533.12,"high":533.92,"low":519.03,"close":522.27,"volume":28977600,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2025-08-04","open":526.42,"high":536.36,"low":526.28,"close":533.76,"volume":25349000,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2025-08-05","open":535.3,"high":535.42,"low":525.39,"close":525.9,"volume":19171600,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2025-08-06","open":529.04,"high":529.84,"low":522.19,"close":523.1,"volume":21355700,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2025-08-07","open":524.95,"high":526.24,"low":515.74,"close":519.01,"volume":16079100,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2025-08-08","open":520.77,"high":522.82,"low":517.59,"close":520.21,"volume":15531000,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2025-08-11","open":520.47,"high":525.74,"low":517.9,"close":519.94,"volume":20194400,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2025-08-12","open":521.91,"high":529.12,"low":520.87,"close":527.38,"volume":18667000,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2025-08-13","open":530.24,"high":530.83,"low":517.55,"close":518.75,"volume":19619200,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2025-08-14","open":520.73,"high":524.11,"low":518.32,"close":520.65,"volume":20269100,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2025-08-15","open":520.94,"high":524.26,"low":517.26,"close":518.35,"volume":25213300,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2025-08-18","open":519.76,"high":520.99,"low":512.22,"close":515.29,"volume":23760600,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2025-08-19","open":513.19,"high":513.35,"low":506.77,"close":507.98,"volume":21481000,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2025-08-20","open":508.08,"high":509.21,"low":502.67,"close":503.95,"volume":27723000,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2025-08-21","open":502.75,"high":506.68,"low":501.78,"close":503.3,"volume":18443300,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2025-08-22","open":503.31,"high":509.78,"low":501.47,"close":506.28,"volume":24324200,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2025-08-25","open":505.68,"high":507.24,"low":503.18,"close":503.32,"volume":21638600,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2025-08-26","open":503.42,"high":504.04,"low":497.58,"close":501.1,"volume":30835700,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2025-08-27","open":501.06,"high":506.34,"low":498.97,"close":505.79,"volume":17277900,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2025-08-28","open":506.14,"high":510.14,"low":504.56,"close":508.69,"volume":18015600,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2025-08-29","open":507.71,"high":508.65,"low":503.55,"close":505.74,"volume":20961600,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2025-09-02","open":499.54,"high":505.05,"low":495.88,"close":504.18,"volume":18128000,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2025-09-03","open":502.85,"high":506.84,"low":501.38,"close":504.41,"volume":16345100,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2025-09-04","open":503.36,"high":507.2,"low":502.21,"close":507.02,"volume":15509500,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2025-09-05","open":508.12,"high":511.01,"low":491.45,"close":494.08,"volume":31994800,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2025-09-08","open":497.18,"high":500.26,"low":494.11,"close":497.27,"volume":16771000,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2025-09-09","open":500.49,"high":501.31,"low":496.77,"close":497.48,"volume":14410500,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2025-09-10","open":502.04,"high":502.29,"low":495.79,"close":499.44,"volume":21611800,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2025-09-11","open":501.31,"high":502.23,"low":496.95,"close":500.07,"volume":18881600,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2025-09-12","open":505.7,"high":511.59,"low":502.91,"close":508.95,"volume":23624900,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2025-09-15","open":507.84,"high":514.51,"low":506.05,"close":514.4,"volume":17143800,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2025-09-16","open":515.91,"high":516.26,"low":507.65,"close":508.09,"volume":19711900,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2025-09-17","open":509.67,"high":510.33,"low":504.98,"close":509.07,"volume":15816600,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2025-09-18","open":510.53,"high":512.11,"low":506.71,"close":507.5,"volume":18913700,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2025-09-19","open":509.61,"high":518.33,"low":509.36,"close":516.96,"volume":52474100,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2025-09-22","open":514.63,"high":516.77,"low":511.58,"close":513.49,"volume":20009300,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2025-09-23","open":512.84,"high":513.63,"low":506.36,"close":508.28,"volume":19799600,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2025-09-24","open":509.43,"high":511.52,"low":505.97,"close":509.2,"volume":13533700,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2025-09-25","open":507.35,"high":509.06,"low":504.1,"close":506.08,"volume":15786500,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2025-09-26","open":509.11,"high":512.98,"low":505.67,"close":510.5,"volume":16213100,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2025-09-29","open":510.54,"high":515.88,"low":507.93,"close":513.64,"volume":17617800,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2025-09-30","open":512.28,"high":517.19,"low":508.71,"close":516.98,"volume":19728200,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2025-10-01","open":513.84,"high":519.54,"low":510.73,"close":518.74,"volume":22632300,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2025-10-02","open":516.67,"high":520.63,"low":509.73,"close":514.78,"volume":21222900,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2025-10-03","open":516.13,"high":519.52,"low":514.04,"close":516.38,"volume":15112300,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2025-10-06","open":517.64,"high":530.04,"low":517.23,"close":527.58,"volume":21388600,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2025-10-07","open":527.3,"high":528.81,"low":520.47,"close":523,"volume":14615200,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2025-10-08","open":522.3,"high":525.97,"low":522.11,"close":523.87,"volume":13363400,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2025-10-09","open":521.36,"high":523.35,"low":516.43,"close":521.42,"volume":18343600,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2025-10-10","open":518.67,"high":522.6,"low":508.68,"close":510.01,"volume":24133800,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2025-10-13","open":515.45,"high":515.45,"low":510.72,"close":513.09,"volume":14284200,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2025-10-14","open":509.28,"high":514.32,"low":505.05,"close":512.61,"volume":14684300,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2025-10-15","open":514,"high":516.22,"low":509.05,"close":512.47,"volume":14694700,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2025-10-16","open":511.62,"high":515.88,"low":507.18,"close":510.65,"volume":15559600,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2025-10-17","open":508.09,"high":514.52,"low":506.36,"close":512.62,"volume":19867800,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2025-10-20","open":513.65,"high":517.73,"low":512.47,"close":515.82,"volume":14665600,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2025-10-21","open":516.53,"high":517.72,"low":512.08,"close":516.69,"volume":15586200,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2025-10-22","open":520.18,"high":524.25,"low":516.74,"close":519.57,"volume":18962700,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2025-10-23","open":521.48,"high":522.97,"low":517.64,"close":519.59,"volume":14023500,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2025-10-24","open":521.81,"high":524.37,"low":519.74,"close":522.63,"volume":15532400,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2025-10-27","open":530.79,"high":533.58,"low":528.02,"close":530.53,"volume":18734700,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2025-10-28","open":548.97,"high":552.69,"low":539.76,"close":541.06,"volume":29986700,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2025-10-29","open":543.92,"high":545.25,"low":535.73,"close":540.54,"volume":36023000,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2025-10-30","open":529.49,"high":533.97,"low":521.14,"close":524.78,"volume":41023100,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2025-10-31","open":527.89,"high":528.33,"low":514.14,"close":516.84,"volume":34006400,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2025-11-03","open":518.84,"high":523.98,"low":513.63,"close":516.06,"volume":22374700,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2025-11-04","open":510.8,"high":514.59,"low":506.89,"close":513.37,"volume":20958700,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2025-11-05","open":512.34,"high":513.87,"low":505.63,"close":506.21,"volume":23024300,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2025-11-06","open":504.72,"high":504.76,"low":494.88,"close":496.17,"volume":27406500,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2025-11-07","open":496.02,"high":498.45,"low":492.33,"close":495.89,"volume":24019800,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2025-11-10","open":499.11,"high":505.9,"low":497.87,"close":505.05,"volume":26101500,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2025-11-11","open":503.86,"high":508.65,"low":501.41,"close":507.73,"volume":17980000,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2025-11-12","open":508.41,"high":510.71,"low":498.19,"close":510.19,"volume":26574900,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2025-11-13","open":509.36,"high":512.54,"low":500.35,"close":502.35,"volume":25273100,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2025-11-14","open":497.3,"high":510.64,"low":496.51,"close":509.23,"volume":28505700,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2025-11-17","open":507.5,"high":511.16,"low":503.97,"close":506.54,"volume":19092800,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2025-11-18","open":494.44,"high":502.04,"low":485.87,"close":492.87,"volume":33815100,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2025-11-19","open":489.18,"high":494.26,"low":481.93,"close":486.21,"volume":23245300,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2025-11-20","open":492.71,"high":493.57,"low":475.5,"close":478.43,"volume":26802500,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2025-11-21","open":478.5,"high":478.92,"low":468.27,"close":472.12,"volume":31769200,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2025-11-24","open":475,"high":476.9,"low":468.02,"close":474,"volume":34421000,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2025-11-25","open":474.07,"high":479.15,"low":464.89,"close":476.99,"volume":28019800,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2025-11-26","open":486.31,"high":488.31,"low":481.2,"close":485.5,"volume":25709100,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2025-11-28","open":487.6,"high":492.63,"low":486.65,"close":492.01,"volume":14386700,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2025-12-01","open":488.44,"high":489.86,"low":484.65,"close":486.74,"volume":23964000,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2025-12-02","open":486.72,"high":493.5,"low":486.32,"close":490,"volume":19562700,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2025-12-03","open":476.32,"high":484.24,"low":475.2,"close":477.73,"volume":34615100,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2025-12-04","open":479.76,"high":481.32,"low":476.49,"close":480.84,"volume":22318200,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2025-12-05","open":482.52,"high":483.4,"low":478.88,"close":483.16,"volume":22608700,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2025-12-08","open":484.89,"high":492.3,"low":484.38,"close":491.02,"volume":21965900,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2025-12-09","open":489.1,"high":492.12,"low":488.5,"close":492.02,"volume":14696100,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2025-12-10","open":484.03,"high":484.25,"low":475.08,"close":478.56,"volume":35756200,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2025-12-11","open":476.63,"high":486.03,"low":475.86,"close":483.47,"volume":24669200,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2025-12-12","open":479.82,"high":482.45,"low":476.34,"close":478.53,"volume":21248100,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2025-12-15","open":480.1,"high":480.72,"low":472.52,"close":474.82,"volume":23727700,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2025-12-16","open":471.91,"high":477.89,"low":470.88,"close":476.39,"volume":20705600,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2025-12-17","open":476.91,"high":480,"low":475,"close":476.12,"volume":24527200,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2025-12-18","open":478.19,"high":489.6,"low":477.89,"close":483.98,"volume":28573500,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2025-12-19","open":487.36,"high":487.85,"low":482.49,"close":485.92,"volume":70836100,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2025-12-22","open":486.12,"high":488.73,"low":482.69,"close":484.92,"volume":16963000,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2025-12-23","open":484.98,"high":487.83,"low":484.74,"close":486.85,"volume":14683600,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2025-12-24","open":485.68,"high":489.16,"low":484.83,"close":488.02,"volume":5855900,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2025-12-26","open":486.71,"high":488.12,"low":485.96,"close":487.71,"volume":8842200,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2025-12-29","open":484.86,"high":488.35,"low":484.18,"close":487.1,"volume":10893400,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2025-12-30","open":485.93,"high":489.68,"low":485.5,"close":487.48,"volume":13944500,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2025-12-31","open":487.84,"high":488.14,"low":483.3,"close":483.62,"volume":15601600,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2026-01-02","open":484.39,"high":484.66,"low":470.16,"close":472.94,"volume":25571600,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2026-01-05","open":474.06,"high":476.07,"low":469.5,"close":472.85,"volume":25250300,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2026-01-06","open":473.8,"high":478.74,"low":469.75,"close":478.51,"volume":23037700,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2026-01-07","open":479.76,"high":489.7,"low":477.95,"close":483.47,"volume":25564200,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2026-01-08","open":481.24,"high":482.66,"low":475.86,"close":478.11,"volume":18162600,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2026-01-09","open":474.06,"high":479.82,"low":472.2,"close":479.28,"volume":18491000,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2026-01-12","open":476.67,"high":480.99,"low":475.68,"close":477.18,"volume":23519900,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2026-01-13","open":474.68,"high":475.78,"low":465.95,"close":470.67,"volume":28545800,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2026-01-14","open":466.46,"high":468.2,"low":457.17,"close":459.38,"volume":28184300,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2026-01-15","open":464.12,"high":464.25,"low":455.9,"close":456.66,"volume":23225800,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2026-01-16","open":457.83,"high":463.19,"low":456.48,"close":459.86,"volume":34246700,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2026-01-20","open":451.22,"high":456.8,"low":449.28,"close":454.52,"volume":26130000,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2026-01-21","open":452.6,"high":452.69,"low":438.68,"close":444.11,"volume":37980500,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2026-01-22","open":447.62,"high":452.84,"low":444.7,"close":451.14,"volume":25349400,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"MSFT","date":"2026-01-23","open":451.87,"high":471.1,"low":450.53,"close":465.95,"volume":37962400,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2025-07-30","open":176.49,"high":179.87,"low":176.02,"close":179.25,"volume":174312200,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2025-07-31","open":182.88,"high":183.28,"low":175.91,"close":177.85,"volume":221685400,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2025-08-01","open":174.07,"high":176.52,"low":170.87,"close":173.7,"volume":204529000,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2025-08-04","open":175.14,"high":180.18,"low":174.5,"close":179.98,"volume":148174600,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2025-08-05","open":179.6,"high":180.24,"low":175.88,"close":178.24,"volume":156407600,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2025-08-06","open":176.31,"high":179.88,"low":176.23,"close":179.4,"volume":137192300,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2025-08-07","open":181.55,"high":183.86,"low":178.78,"close":180.75,"volume":151878400,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2025-08-08","open":181.53,"high":183.28,"low":180.38,"close":182.68,"volume":123396700,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2025-08-11","open":182.03,"high":183.82,"low":180.23,"close":182.04,"volume":138323200,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2025-08-12","open":182.94,"high":184.46,"low":179.44,"close":183.14,"volume":145485700,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2025-08-13","open":182.6,"high":183.95,"low":179.33,"close":181.57,"volume":179871700,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2025-08-14","open":179.73,"high":183,"low":179.44,"close":182,"volume":129554000,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2025-08-15","open":181.86,"high":181.88,"low":178.02,"close":180.43,"volume":156602200,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2025-08-18","open":180.58,"high":182.92,"low":180.57,"close":181.99,"volume":132008000,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2025-08-19","open":182.41,"high":182.48,"low":175.47,"close":175.62,"volume":185229200,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2025-08-20","open":175.15,"high":175.98,"low":168.78,"close":175.38,"volume":215142700,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2025-08-21","open":174.83,"high":176.88,"low":173.79,"close":174.96,"volume":140040900,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2025-08-22","open":172.59,"high":178.57,"low":171.18,"close":177.97,"volume":172789400,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2025-08-25","open":178.33,"high":181.89,"low":176.55,"close":179.79,"volume":163012800,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2025-08-26","open":180.04,"high":182.37,"low":178.79,"close":181.75,"volume":168688200,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2025-08-27","open":181.96,"high":182.47,"low":179.08,"close":181.58,"volume":235518900,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2025-08-28","open":180.8,"high":184.45,"low":176.39,"close":180.15,"volume":281787800,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2025-08-29","open":178.09,"high":178.13,"low":173.13,"close":174.16,"volume":243257900,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2025-09-02","open":169.98,"high":172.36,"low":167.2,"close":170.76,"volume":231164900,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2025-09-03","open":171.04,"high":172.39,"low":168.86,"close":170.6,"volume":164424900,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2025-09-04","open":170.55,"high":171.84,"low":169.39,"close":171.64,"volume":141670100,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2025-09-05","open":168.01,"high":169.01,"low":164.05,"close":167,"volume":224441400,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2025-09-08","open":167.53,"high":170.94,"low":167.33,"close":168.29,"volume":163769100,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2025-09-09","open":169.07,"high":170.96,"low":166.72,"close":170.74,"volume":157548400,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2025-09-10","open":176.62,"high":179.27,"low":175.45,"close":177.31,"volume":226852000,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2025-09-11","open":179.67,"high":180.27,"low":176.47,"close":177.16,"volume":151159300,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2025-09-12","open":177.76,"high":178.59,"low":176.44,"close":177.81,"volume":124911000,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2025-09-15","open":175.66,"high":178.84,"low":174.5,"close":177.74,"volume":147061600,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2025-09-16","open":176.99,"high":177.49,"low":174.37,"close":174.87,"volume":140737800,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2025-09-17","open":172.63,"high":173.19,"low":168.4,"close":170.28,"volume":211843800,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2025-09-18","open":173.97,"high":177.09,"low":172.95,"close":176.23,"volume":191763300,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2025-09-19","open":175.76,"high":178.07,"low":175.17,"close":176.66,"volume":237182100,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2025-09-22","open":175.29,"high":184.54,"low":174.7,"close":183.6,"volume":269637000,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2025-09-23","open":181.96,"high":182.41,"low":176.2,"close":178.42,"volume":192559600,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2025-09-24","open":179.76,"high":179.77,"low":175.39,"close":176.96,"volume":143564100,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2025-09-25","open":174.47,"high":180.25,"low":173.12,"close":177.68,"volume":191586700,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2025-09-26","open":178.16,"high":179.76,"low":174.92,"close":178.18,"volume":148573700,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2025-09-29","open":180.42,"high":183.99,"low":180.31,"close":181.84,"volume":193063500,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2025-09-30","open":182.07,"high":187.34,"low":181.47,"close":186.57,"volume":236981000,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2025-10-01","open":185.23,"high":188.13,"low":183.89,"close":187.23,"volume":173844900,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2025-10-02","open":189.59,"high":191.04,"low":188.05,"close":188.88,"volume":136805800,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2025-10-03","open":189.18,"high":190.35,"low":185.37,"close":187.61,"volume":137596900,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2025-10-06","open":185.49,"high":187.22,"low":183.32,"close":185.53,"volume":157678100,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2025-10-07","open":186.22,"high":189.05,"low":183.99,"close":185.03,"volume":140088000,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2025-10-08","open":186.56,"high":189.59,"low":186.53,"close":189.1,"volume":130168900,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2025-10-09","open":192.22,"high":195.29,"low":191.05,"close":192.56,"volume":182997200,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2025-10-10","open":193.5,"high":195.61,"low":182.04,"close":183.15,"volume":268774400,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2025-10-13","open":187.96,"high":190.1,"low":185.95,"close":188.31,"volume":153482800,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2025-10-14","open":184.76,"high":184.79,"low":179.69,"close":180.02,"volume":205641400,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2025-10-15","open":184.79,"high":184.86,"low":177.28,"close":179.82,"volume":214450500,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2025-10-16","open":182.22,"high":183.27,"low":179.76,"close":181.8,"volume":179723300,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2025-10-17","open":180.17,"high":184.09,"low":179.74,"close":183.21,"volume":173135200,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2025-10-20","open":183.12,"high":185.19,"low":181.72,"close":182.63,"volume":128544700,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2025-10-21","open":182.78,"high":182.78,"low":179.79,"close":181.15,"volume":124240200,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2025-10-22","open":181.13,"high":183.43,"low":176.75,"close":180.27,"volume":162249600,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2025-10-23","open":180.41,"high":183.02,"low":179.78,"close":182.15,"volume":111363700,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2025-10-24","open":183.83,"high":187.46,"low":183.49,"close":186.25,"volume":131296700,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2025-10-27","open":189.98,"high":191.99,"low":188.42,"close":191.48,"volume":153452700,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2025-10-28","open":193.04,"high":203.14,"low":191.9,"close":201.02,"volume":297986200,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2025-10-29","open":207.97,"high":212.18,"low":204.77,"close":207.03,"volume":308829600,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2025-10-30","open":205.14,"high":206.15,"low":201.4,"close":202.88,"volume":178864400,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2025-10-31","open":206.44,"high":207.96,"low":202.06,"close":202.48,"volume":179802200,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2025-11-03","open":208.07,"high":211.33,"low":205.55,"close":206.87,"volume":180267300,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2025-11-04","open":202.99,"high":203.96,"low":197.92,"close":198.68,"volume":188919300,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2025-11-05","open":198.76,"high":202.91,"low":194.64,"close":195.2,"volume":171350300,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2025-11-06","open":196.41,"high":197.61,"low":186.37,"close":188.07,"volume":223029800,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2025-11-07","open":184.89,"high":188.31,"low":178.9,"close":188.14,"volume":264942300,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2025-11-10","open":195.1,"high":199.93,"low":193.78,"close":199.04,"volume":198897100,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2025-11-11","open":195.15,"high":195.41,"low":191.29,"close":193.15,"volume":176483300,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2025-11-12","open":195.71,"high":195.88,"low":191.12,"close":193.79,"volume":154935300,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2025-11-13","open":191.04,"high":191.43,"low":183.84,"close":186.85,"volume":207423100,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2025-11-14","open":182.85,"high":191,"low":180.57,"close":190.16,"volume":186591900,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2025-11-17","open":185.96,"high":188.99,"low":184.31,"close":186.59,"volume":173628900,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2025-11-18","open":183.37,"high":184.79,"low":179.64,"close":181.35,"volume":213598900,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2025-11-19","open":184.78,"high":187.85,"low":182.82,"close":186.51,"volume":247246400,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2025-11-20","open":195.94,"high":195.99,"low":179.84,"close":180.63,"volume":343504800,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2025-11-21","open":181.23,"high":184.55,"low":172.92,"close":178.87,"volume":346926200,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2025-11-24","open":179.48,"high":183.49,"low":176.47,"close":182.54,"volume":256618300,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2025-11-25","open":174.9,"high":178.15,"low":169.54,"close":177.81,"volume":320600300,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2025-11-26","open":181.62,"high":182.9,"low":178.23,"close":180.25,"volume":183852000,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2025-11-28","open":179,"high":179.28,"low":176.49,"close":176.99,"volume":121332800,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2025-12-01","open":174.75,"high":180.29,"low":173.67,"close":179.91,"volume":188131000,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2025-12-02","open":181.75,"high":185.65,"low":179.99,"close":181.45,"volume":182632200,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2025-12-03","open":181.07,"high":182.44,"low":179.1,"close":179.58,"volume":165138000,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2025-12-04","open":181.62,"high":184.52,"low":179.96,"close":183.38,"volume":167364900,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2025-12-05","open":183.89,"high":184.66,"low":180.91,"close":182.41,"volume":143971100,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2025-12-08","open":182.64,"high":188,"low":182.4,"close":185.55,"volume":204378100,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2025-12-09","open":185.56,"high":185.72,"low":183.32,"close":184.97,"volume":144719700,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2025-12-10","open":184.97,"high":185.48,"low":182.04,"close":183.78,"volume":162785400,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2025-12-11","open":180.28,"high":181.32,"low":176.62,"close":180.93,"volume":182136600,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2025-12-12","open":181.11,"high":182.82,"low":174.62,"close":175.02,"volume":204274900,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2025-12-15","open":177.94,"high":178.42,"low":175.03,"close":176.29,"volume":164775600,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2025-12-16","open":176.26,"high":178.49,"low":174.9,"close":177.72,"volume":148588100,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2025-12-17","open":176.1,"high":176.13,"low":170.31,"close":170.94,"volume":222775500,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2025-12-18","open":174.53,"high":176.15,"low":171.82,"close":174.14,"volume":176096000,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2025-12-19","open":176.67,"high":181.45,"low":176.34,"close":180.99,"volume":324925900,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2025-12-22","open":183.92,"high":184.16,"low":182.35,"close":183.69,"volume":129064400,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2025-12-23","open":182.97,"high":189.33,"low":182.9,"close":189.21,"volume":174873600,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2025-12-24","open":187.94,"high":188.91,"low":186.59,"close":188.61,"volume":65528500,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2025-12-26","open":189.92,"high":192.69,"low":188,"close":190.53,"volume":139740300,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2025-12-29","open":187.71,"high":188.76,"low":185.91,"close":188.22,"volume":120006100,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2025-12-30","open":188.24,"high":188.99,"low":186.93,"close":187.54,"volume":97687300,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2025-12-31","open":189.57,"high":190.56,"low":186.49,"close":186.5,"volume":120100500,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2026-01-02","open":189.84,"high":192.93,"low":188.26,"close":188.85,"volume":148240500,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2026-01-05","open":191.76,"high":193.63,"low":186.15,"close":188.12,"volume":183529700,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2026-01-06","open":190.52,"high":192.17,"low":186.82,"close":187.24,"volume":176862600,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2026-01-07","open":188.57,"high":191.37,"low":186.56,"close":189.11,"volume":153543200,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2026-01-08","open":189.11,"high":189.55,"low":183.71,"close":185.04,"volume":172457000,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2026-01-09","open":185.08,"high":186.34,"low":183.67,"close":184.86,"volume":131327500,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2026-01-12","open":183.22,"high":187.12,"low":183.02,"close":184.94,"volume":137968500,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2026-01-13","open":185,"high":188.11,"low":183.4,"close":185.81,"volume":160128900,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2026-01-14","open":184.32,"high":184.46,"low":180.8,"close":183.14,"volume":159586100,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2026-01-15","open":186.5,"high":189.7,"low":186.33,"close":187.05,"volume":206188600,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2026-01-16","open":189.08,"high":190.44,"low":186.08,"close":186.23,"volume":187967200,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2026-01-20","open":181.9,"high":182.38,"low":177.61,"close":178.07,"volume":223345300,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2026-01-21","open":179.05,"high":185.38,"low":178.4,"close":183.32,"volume":200381000,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2026-01-22","open":184.75,"high":186.17,"low":183.93,"close":184.84,"volume":139636600,"fetched_at":"2026-01-26T23:46:42.347312Z"},{"symbol":"NVDA","date":"2026-01-23","open":187.5,"high":189.6,"low":186.82,"close":187.67,"volume":142524700,"fetched_at":"2026-01-26T23:46:42.347312Z"}],"anchored":true,"createdBy":"user","attachedMetadata":"","source":{"type":"stream","url":"/api/demo-stream/yfinance/history?symbols=AAPL,MSFT,GOOGL,AMZN,META,NVDA","autoRefresh":true,"refreshIntervalSeconds":86400,"lastRefreshed":1769471204941},"contentHash":"6d615bf3"},{"id":"table-233476","displayId":"stock-close","names":["date","symbol","close"],"rows":[{"date":"2025-07-30","symbol":"AAPL","close":208.61},{"date":"2025-07-31","symbol":"AAPL","close":207.13},{"date":"2025-08-01","symbol":"AAPL","close":201.95},{"date":"2025-08-04","symbol":"AAPL","close":202.92},{"date":"2025-08-05","symbol":"AAPL","close":202.49},{"date":"2025-08-06","symbol":"AAPL","close":212.8},{"date":"2025-08-07","symbol":"AAPL","close":219.57},{"date":"2025-08-08","symbol":"AAPL","close":228.87},{"date":"2025-08-11","symbol":"AAPL","close":226.96},{"date":"2025-08-12","symbol":"AAPL","close":229.43},{"date":"2025-08-13","symbol":"AAPL","close":233.1},{"date":"2025-08-14","symbol":"AAPL","close":232.55},{"date":"2025-08-15","symbol":"AAPL","close":231.37},{"date":"2025-08-18","symbol":"AAPL","close":230.67},{"date":"2025-08-19","symbol":"AAPL","close":230.34},{"date":"2025-08-20","symbol":"AAPL","close":225.79},{"date":"2025-08-21","symbol":"AAPL","close":224.68},{"date":"2025-08-22","symbol":"AAPL","close":227.54},{"date":"2025-08-25","symbol":"AAPL","close":226.94},{"date":"2025-08-26","symbol":"AAPL","close":229.09},{"date":"2025-08-27","symbol":"AAPL","close":230.27},{"date":"2025-08-28","symbol":"AAPL","close":232.33},{"date":"2025-08-29","symbol":"AAPL","close":231.92},{"date":"2025-09-02","symbol":"AAPL","close":229.5},{"date":"2025-09-03","symbol":"AAPL","close":238.24},{"date":"2025-09-04","symbol":"AAPL","close":239.55},{"date":"2025-09-05","symbol":"AAPL","close":239.46},{"date":"2025-09-08","symbol":"AAPL","close":237.65},{"date":"2025-09-09","symbol":"AAPL","close":234.12},{"date":"2025-09-10","symbol":"AAPL","close":226.57},{"date":"2025-09-11","symbol":"AAPL","close":229.81},{"date":"2025-09-12","symbol":"AAPL","close":233.84},{"date":"2025-09-15","symbol":"AAPL","close":236.47},{"date":"2025-09-16","symbol":"AAPL","close":237.92},{"date":"2025-09-17","symbol":"AAPL","close":238.76},{"date":"2025-09-18","symbol":"AAPL","close":237.65},{"date":"2025-09-19","symbol":"AAPL","close":245.26},{"date":"2025-09-22","symbol":"AAPL","close":255.83},{"date":"2025-09-23","symbol":"AAPL","close":254.18},{"date":"2025-09-24","symbol":"AAPL","close":252.07},{"date":"2025-09-25","symbol":"AAPL","close":256.62},{"date":"2025-09-26","symbol":"AAPL","close":255.21},{"date":"2025-09-29","symbol":"AAPL","close":254.18},{"date":"2025-09-30","symbol":"AAPL","close":254.38},{"date":"2025-10-01","symbol":"AAPL","close":255.2},{"date":"2025-10-02","symbol":"AAPL","close":256.88},{"date":"2025-10-03","symbol":"AAPL","close":257.77},{"date":"2025-10-06","symbol":"AAPL","close":256.44},{"date":"2025-10-07","symbol":"AAPL","close":256.23},{"date":"2025-10-08","symbol":"AAPL","close":257.81},{"date":"2025-10-09","symbol":"AAPL","close":253.79},{"date":"2025-10-10","symbol":"AAPL","close":245.03},{"date":"2025-10-13","symbol":"AAPL","close":247.42},{"date":"2025-10-14","symbol":"AAPL","close":247.53},{"date":"2025-10-15","symbol":"AAPL","close":249.1},{"date":"2025-10-16","symbol":"AAPL","close":247.21},{"date":"2025-10-17","symbol":"AAPL","close":252.05},{"date":"2025-10-20","symbol":"AAPL","close":261.99},{"date":"2025-10-21","symbol":"AAPL","close":262.52},{"date":"2025-10-22","symbol":"AAPL","close":258.2},{"date":"2025-10-23","symbol":"AAPL","close":259.33},{"date":"2025-10-24","symbol":"AAPL","close":262.57},{"date":"2025-10-27","symbol":"AAPL","close":268.55},{"date":"2025-10-28","symbol":"AAPL","close":268.74},{"date":"2025-10-29","symbol":"AAPL","close":269.44},{"date":"2025-10-30","symbol":"AAPL","close":271.14},{"date":"2025-10-31","symbol":"AAPL","close":270.11},{"date":"2025-11-03","symbol":"AAPL","close":268.79},{"date":"2025-11-04","symbol":"AAPL","close":269.78},{"date":"2025-11-05","symbol":"AAPL","close":269.88},{"date":"2025-11-06","symbol":"AAPL","close":269.51},{"date":"2025-11-07","symbol":"AAPL","close":268.21},{"date":"2025-11-10","symbol":"AAPL","close":269.43},{"date":"2025-11-11","symbol":"AAPL","close":275.25},{"date":"2025-11-12","symbol":"AAPL","close":273.47},{"date":"2025-11-13","symbol":"AAPL","close":272.95},{"date":"2025-11-14","symbol":"AAPL","close":272.41},{"date":"2025-11-17","symbol":"AAPL","close":267.46},{"date":"2025-11-18","symbol":"AAPL","close":267.44},{"date":"2025-11-19","symbol":"AAPL","close":268.56},{"date":"2025-11-20","symbol":"AAPL","close":266.25},{"date":"2025-11-21","symbol":"AAPL","close":271.49},{"date":"2025-11-24","symbol":"AAPL","close":275.92},{"date":"2025-11-25","symbol":"AAPL","close":276.97},{"date":"2025-11-26","symbol":"AAPL","close":277.55},{"date":"2025-11-28","symbol":"AAPL","close":278.85},{"date":"2025-12-01","symbol":"AAPL","close":283.1},{"date":"2025-12-02","symbol":"AAPL","close":286.19},{"date":"2025-12-03","symbol":"AAPL","close":284.15},{"date":"2025-12-04","symbol":"AAPL","close":280.7},{"date":"2025-12-05","symbol":"AAPL","close":278.78},{"date":"2025-12-08","symbol":"AAPL","close":277.89},{"date":"2025-12-09","symbol":"AAPL","close":277.18},{"date":"2025-12-10","symbol":"AAPL","close":278.78},{"date":"2025-12-11","symbol":"AAPL","close":278.03},{"date":"2025-12-12","symbol":"AAPL","close":278.28},{"date":"2025-12-15","symbol":"AAPL","close":274.11},{"date":"2025-12-16","symbol":"AAPL","close":274.61},{"date":"2025-12-17","symbol":"AAPL","close":271.84},{"date":"2025-12-18","symbol":"AAPL","close":272.19},{"date":"2025-12-19","symbol":"AAPL","close":273.67},{"date":"2025-12-22","symbol":"AAPL","close":270.97},{"date":"2025-12-23","symbol":"AAPL","close":272.36},{"date":"2025-12-24","symbol":"AAPL","close":273.81},{"date":"2025-12-26","symbol":"AAPL","close":273.4},{"date":"2025-12-29","symbol":"AAPL","close":273.76},{"date":"2025-12-30","symbol":"AAPL","close":273.08},{"date":"2025-12-31","symbol":"AAPL","close":271.86},{"date":"2026-01-02","symbol":"AAPL","close":271.01},{"date":"2026-01-05","symbol":"AAPL","close":267.26},{"date":"2026-01-06","symbol":"AAPL","close":262.36},{"date":"2026-01-07","symbol":"AAPL","close":260.33},{"date":"2026-01-08","symbol":"AAPL","close":259.04},{"date":"2026-01-09","symbol":"AAPL","close":259.37},{"date":"2026-01-12","symbol":"AAPL","close":260.25},{"date":"2026-01-13","symbol":"AAPL","close":261.05},{"date":"2026-01-14","symbol":"AAPL","close":259.96},{"date":"2026-01-15","symbol":"AAPL","close":258.21},{"date":"2026-01-16","symbol":"AAPL","close":255.53},{"date":"2026-01-20","symbol":"AAPL","close":246.7},{"date":"2026-01-21","symbol":"AAPL","close":247.65},{"date":"2026-01-22","symbol":"AAPL","close":248.35},{"date":"2026-01-23","symbol":"AAPL","close":248.04},{"date":"2025-07-30","symbol":"AMZN","close":230.19},{"date":"2025-07-31","symbol":"AMZN","close":234.11},{"date":"2025-08-01","symbol":"AMZN","close":214.75},{"date":"2025-08-04","symbol":"AMZN","close":211.65},{"date":"2025-08-05","symbol":"AMZN","close":213.75},{"date":"2025-08-06","symbol":"AMZN","close":222.31},{"date":"2025-08-07","symbol":"AMZN","close":223.13},{"date":"2025-08-08","symbol":"AMZN","close":222.69},{"date":"2025-08-11","symbol":"AMZN","close":221.3},{"date":"2025-08-12","symbol":"AMZN","close":221.47},{"date":"2025-08-13","symbol":"AMZN","close":224.56},{"date":"2025-08-14","symbol":"AMZN","close":230.98},{"date":"2025-08-15","symbol":"AMZN","close":231.03},{"date":"2025-08-18","symbol":"AMZN","close":231.49},{"date":"2025-08-19","symbol":"AMZN","close":228.01},{"date":"2025-08-20","symbol":"AMZN","close":223.81},{"date":"2025-08-21","symbol":"AMZN","close":221.95},{"date":"2025-08-22","symbol":"AMZN","close":228.84},{"date":"2025-08-25","symbol":"AMZN","close":227.94},{"date":"2025-08-26","symbol":"AMZN","close":228.71},{"date":"2025-08-27","symbol":"AMZN","close":229.12},{"date":"2025-08-28","symbol":"AMZN","close":231.6},{"date":"2025-08-29","symbol":"AMZN","close":229},{"date":"2025-09-02","symbol":"AMZN","close":225.34},{"date":"2025-09-03","symbol":"AMZN","close":225.99},{"date":"2025-09-04","symbol":"AMZN","close":235.68},{"date":"2025-09-05","symbol":"AMZN","close":232.33},{"date":"2025-09-08","symbol":"AMZN","close":235.84},{"date":"2025-09-09","symbol":"AMZN","close":238.24},{"date":"2025-09-10","symbol":"AMZN","close":230.33},{"date":"2025-09-11","symbol":"AMZN","close":229.95},{"date":"2025-09-12","symbol":"AMZN","close":228.15},{"date":"2025-09-15","symbol":"AMZN","close":231.43},{"date":"2025-09-16","symbol":"AMZN","close":234.05},{"date":"2025-09-17","symbol":"AMZN","close":231.62},{"date":"2025-09-18","symbol":"AMZN","close":231.23},{"date":"2025-09-19","symbol":"AMZN","close":231.48},{"date":"2025-09-22","symbol":"AMZN","close":227.63},{"date":"2025-09-23","symbol":"AMZN","close":220.71},{"date":"2025-09-24","symbol":"AMZN","close":220.21},{"date":"2025-09-25","symbol":"AMZN","close":218.15},{"date":"2025-09-26","symbol":"AMZN","close":219.78},{"date":"2025-09-29","symbol":"AMZN","close":222.17},{"date":"2025-09-30","symbol":"AMZN","close":219.57},{"date":"2025-10-01","symbol":"AMZN","close":220.63},{"date":"2025-10-02","symbol":"AMZN","close":222.41},{"date":"2025-10-03","symbol":"AMZN","close":219.51},{"date":"2025-10-06","symbol":"AMZN","close":220.9},{"date":"2025-10-07","symbol":"AMZN","close":221.78},{"date":"2025-10-08","symbol":"AMZN","close":225.22},{"date":"2025-10-09","symbol":"AMZN","close":227.74},{"date":"2025-10-10","symbol":"AMZN","close":216.37},{"date":"2025-10-13","symbol":"AMZN","close":220.07},{"date":"2025-10-14","symbol":"AMZN","close":216.39},{"date":"2025-10-15","symbol":"AMZN","close":215.57},{"date":"2025-10-16","symbol":"AMZN","close":214.47},{"date":"2025-10-17","symbol":"AMZN","close":213.04},{"date":"2025-10-20","symbol":"AMZN","close":216.48},{"date":"2025-10-21","symbol":"AMZN","close":222.03},{"date":"2025-10-22","symbol":"AMZN","close":217.95},{"date":"2025-10-23","symbol":"AMZN","close":221.09},{"date":"2025-10-24","symbol":"AMZN","close":224.21},{"date":"2025-10-27","symbol":"AMZN","close":226.97},{"date":"2025-10-28","symbol":"AMZN","close":229.25},{"date":"2025-10-29","symbol":"AMZN","close":230.3},{"date":"2025-10-30","symbol":"AMZN","close":222.86},{"date":"2025-10-31","symbol":"AMZN","close":244.22},{"date":"2025-11-03","symbol":"AMZN","close":254},{"date":"2025-11-04","symbol":"AMZN","close":249.32},{"date":"2025-11-05","symbol":"AMZN","close":250.2},{"date":"2025-11-06","symbol":"AMZN","close":243.04},{"date":"2025-11-07","symbol":"AMZN","close":244.41},{"date":"2025-11-10","symbol":"AMZN","close":248.4},{"date":"2025-11-11","symbol":"AMZN","close":249.1},{"date":"2025-11-12","symbol":"AMZN","close":244.2},{"date":"2025-11-13","symbol":"AMZN","close":237.58},{"date":"2025-11-14","symbol":"AMZN","close":234.69},{"date":"2025-11-17","symbol":"AMZN","close":232.87},{"date":"2025-11-18","symbol":"AMZN","close":222.55},{"date":"2025-11-19","symbol":"AMZN","close":222.69},{"date":"2025-11-20","symbol":"AMZN","close":217.14},{"date":"2025-11-21","symbol":"AMZN","close":220.69},{"date":"2025-11-24","symbol":"AMZN","close":226.28},{"date":"2025-11-25","symbol":"AMZN","close":229.67},{"date":"2025-11-26","symbol":"AMZN","close":229.16},{"date":"2025-11-28","symbol":"AMZN","close":233.22},{"date":"2025-12-01","symbol":"AMZN","close":233.88},{"date":"2025-12-02","symbol":"AMZN","close":234.42},{"date":"2025-12-03","symbol":"AMZN","close":232.38},{"date":"2025-12-04","symbol":"AMZN","close":229.11},{"date":"2025-12-05","symbol":"AMZN","close":229.53},{"date":"2025-12-08","symbol":"AMZN","close":226.89},{"date":"2025-12-09","symbol":"AMZN","close":227.92},{"date":"2025-12-10","symbol":"AMZN","close":231.78},{"date":"2025-12-11","symbol":"AMZN","close":230.28},{"date":"2025-12-12","symbol":"AMZN","close":226.19},{"date":"2025-12-15","symbol":"AMZN","close":222.54},{"date":"2025-12-16","symbol":"AMZN","close":222.56},{"date":"2025-12-17","symbol":"AMZN","close":221.27},{"date":"2025-12-18","symbol":"AMZN","close":226.76},{"date":"2025-12-19","symbol":"AMZN","close":227.35},{"date":"2025-12-22","symbol":"AMZN","close":228.43},{"date":"2025-12-23","symbol":"AMZN","close":232.14},{"date":"2025-12-24","symbol":"AMZN","close":232.38},{"date":"2025-12-26","symbol":"AMZN","close":232.52},{"date":"2025-12-29","symbol":"AMZN","close":232.07},{"date":"2025-12-30","symbol":"AMZN","close":232.53},{"date":"2025-12-31","symbol":"AMZN","close":230.82},{"date":"2026-01-02","symbol":"AMZN","close":226.5},{"date":"2026-01-05","symbol":"AMZN","close":233.06},{"date":"2026-01-06","symbol":"AMZN","close":240.93},{"date":"2026-01-07","symbol":"AMZN","close":241.56},{"date":"2026-01-08","symbol":"AMZN","close":246.29},{"date":"2026-01-09","symbol":"AMZN","close":247.38},{"date":"2026-01-12","symbol":"AMZN","close":246.47},{"date":"2026-01-13","symbol":"AMZN","close":242.6},{"date":"2026-01-14","symbol":"AMZN","close":236.65},{"date":"2026-01-15","symbol":"AMZN","close":238.18},{"date":"2026-01-16","symbol":"AMZN","close":239.12},{"date":"2026-01-20","symbol":"AMZN","close":231},{"date":"2026-01-21","symbol":"AMZN","close":231.31},{"date":"2026-01-22","symbol":"AMZN","close":234.34},{"date":"2026-01-23","symbol":"AMZN","close":239.16},{"date":"2025-07-30","symbol":"GOOGL","close":196.23},{"date":"2025-07-31","symbol":"GOOGL","close":191.6},{"date":"2025-08-01","symbol":"GOOGL","close":188.84},{"date":"2025-08-04","symbol":"GOOGL","close":194.74},{"date":"2025-08-05","symbol":"GOOGL","close":194.37},{"date":"2025-08-06","symbol":"GOOGL","close":195.79},{"date":"2025-08-07","symbol":"GOOGL","close":196.22},{"date":"2025-08-08","symbol":"GOOGL","close":201.11},{"date":"2025-08-11","symbol":"GOOGL","close":200.69},{"date":"2025-08-12","symbol":"GOOGL","close":203.03},{"date":"2025-08-13","symbol":"GOOGL","close":201.65},{"date":"2025-08-14","symbol":"GOOGL","close":202.63},{"date":"2025-08-15","symbol":"GOOGL","close":203.58},{"date":"2025-08-18","symbol":"GOOGL","close":203.19},{"date":"2025-08-19","symbol":"GOOGL","close":201.26},{"date":"2025-08-20","symbol":"GOOGL","close":199.01},{"date":"2025-08-21","symbol":"GOOGL","close":199.44},{"date":"2025-08-22","symbol":"GOOGL","close":205.77},{"date":"2025-08-25","symbol":"GOOGL","close":208.17},{"date":"2025-08-26","symbol":"GOOGL","close":206.82},{"date":"2025-08-27","symbol":"GOOGL","close":207.16},{"date":"2025-08-28","symbol":"GOOGL","close":211.31},{"date":"2025-08-29","symbol":"GOOGL","close":212.58},{"date":"2025-09-02","symbol":"GOOGL","close":211.02},{"date":"2025-09-03","symbol":"GOOGL","close":230.3},{"date":"2025-09-04","symbol":"GOOGL","close":231.94},{"date":"2025-09-05","symbol":"GOOGL","close":234.64},{"date":"2025-09-08","symbol":"GOOGL","close":233.89},{"date":"2025-09-09","symbol":"GOOGL","close":239.47},{"date":"2025-09-10","symbol":"GOOGL","close":239.01},{"date":"2025-09-11","symbol":"GOOGL","close":240.21},{"date":"2025-09-12","symbol":"GOOGL","close":240.64},{"date":"2025-09-15","symbol":"GOOGL","close":251.45},{"date":"2025-09-16","symbol":"GOOGL","close":251},{"date":"2025-09-17","symbol":"GOOGL","close":249.37},{"date":"2025-09-18","symbol":"GOOGL","close":251.87},{"date":"2025-09-19","symbol":"GOOGL","close":254.55},{"date":"2025-09-22","symbol":"GOOGL","close":252.36},{"date":"2025-09-23","symbol":"GOOGL","close":251.5},{"date":"2025-09-24","symbol":"GOOGL","close":246.98},{"date":"2025-09-25","symbol":"GOOGL","close":245.63},{"date":"2025-09-26","symbol":"GOOGL","close":246.38},{"date":"2025-09-29","symbol":"GOOGL","close":243.89},{"date":"2025-09-30","symbol":"GOOGL","close":242.94},{"date":"2025-10-01","symbol":"GOOGL","close":244.74},{"date":"2025-10-02","symbol":"GOOGL","close":245.53},{"date":"2025-10-03","symbol":"GOOGL","close":245.19},{"date":"2025-10-06","symbol":"GOOGL","close":250.27},{"date":"2025-10-07","symbol":"GOOGL","close":245.6},{"date":"2025-10-08","symbol":"GOOGL","close":244.46},{"date":"2025-10-09","symbol":"GOOGL","close":241.37},{"date":"2025-10-10","symbol":"GOOGL","close":236.42},{"date":"2025-10-13","symbol":"GOOGL","close":243.99},{"date":"2025-10-14","symbol":"GOOGL","close":245.29},{"date":"2025-10-15","symbol":"GOOGL","close":250.87},{"date":"2025-10-16","symbol":"GOOGL","close":251.3},{"date":"2025-10-17","symbol":"GOOGL","close":253.13},{"date":"2025-10-20","symbol":"GOOGL","close":256.38},{"date":"2025-10-21","symbol":"GOOGL","close":250.3},{"date":"2025-10-22","symbol":"GOOGL","close":251.53},{"date":"2025-10-23","symbol":"GOOGL","close":252.91},{"date":"2025-10-24","symbol":"GOOGL","close":259.75},{"date":"2025-10-27","symbol":"GOOGL","close":269.09},{"date":"2025-10-28","symbol":"GOOGL","close":267.3},{"date":"2025-10-29","symbol":"GOOGL","close":274.39},{"date":"2025-10-30","symbol":"GOOGL","close":281.3},{"date":"2025-10-31","symbol":"GOOGL","close":281.01},{"date":"2025-11-03","symbol":"GOOGL","close":283.53},{"date":"2025-11-04","symbol":"GOOGL","close":277.36},{"date":"2025-11-05","symbol":"GOOGL","close":284.12},{"date":"2025-11-06","symbol":"GOOGL","close":284.56},{"date":"2025-11-07","symbol":"GOOGL","close":278.65},{"date":"2025-11-10","symbol":"GOOGL","close":289.91},{"date":"2025-11-11","symbol":"GOOGL","close":291.12},{"date":"2025-11-12","symbol":"GOOGL","close":286.52},{"date":"2025-11-13","symbol":"GOOGL","close":278.39},{"date":"2025-11-14","symbol":"GOOGL","close":276.23},{"date":"2025-11-17","symbol":"GOOGL","close":284.83},{"date":"2025-11-18","symbol":"GOOGL","close":284.09},{"date":"2025-11-19","symbol":"GOOGL","close":292.62},{"date":"2025-11-20","symbol":"GOOGL","close":289.26},{"date":"2025-11-21","symbol":"GOOGL","close":299.46},{"date":"2025-11-24","symbol":"GOOGL","close":318.37},{"date":"2025-11-25","symbol":"GOOGL","close":323.23},{"date":"2025-11-26","symbol":"GOOGL","close":319.74},{"date":"2025-11-28","symbol":"GOOGL","close":319.97},{"date":"2025-12-01","symbol":"GOOGL","close":314.68},{"date":"2025-12-02","symbol":"GOOGL","close":315.6},{"date":"2025-12-03","symbol":"GOOGL","close":319.42},{"date":"2025-12-04","symbol":"GOOGL","close":317.41},{"date":"2025-12-05","symbol":"GOOGL","close":321.06},{"date":"2025-12-08","symbol":"GOOGL","close":313.72},{"date":"2025-12-09","symbol":"GOOGL","close":317.08},{"date":"2025-12-10","symbol":"GOOGL","close":320.21},{"date":"2025-12-11","symbol":"GOOGL","close":312.43},{"date":"2025-12-12","symbol":"GOOGL","close":309.29},{"date":"2025-12-15","symbol":"GOOGL","close":308.22},{"date":"2025-12-16","symbol":"GOOGL","close":306.57},{"date":"2025-12-17","symbol":"GOOGL","close":296.72},{"date":"2025-12-18","symbol":"GOOGL","close":302.46},{"date":"2025-12-19","symbol":"GOOGL","close":307.16},{"date":"2025-12-22","symbol":"GOOGL","close":309.78},{"date":"2025-12-23","symbol":"GOOGL","close":314.35},{"date":"2025-12-24","symbol":"GOOGL","close":314.09},{"date":"2025-12-26","symbol":"GOOGL","close":313.51},{"date":"2025-12-29","symbol":"GOOGL","close":313.56},{"date":"2025-12-30","symbol":"GOOGL","close":313.85},{"date":"2025-12-31","symbol":"GOOGL","close":313},{"date":"2026-01-02","symbol":"GOOGL","close":315.15},{"date":"2026-01-05","symbol":"GOOGL","close":316.54},{"date":"2026-01-06","symbol":"GOOGL","close":314.34},{"date":"2026-01-07","symbol":"GOOGL","close":321.98},{"date":"2026-01-08","symbol":"GOOGL","close":325.44},{"date":"2026-01-09","symbol":"GOOGL","close":328.57},{"date":"2026-01-12","symbol":"GOOGL","close":331.86},{"date":"2026-01-13","symbol":"GOOGL","close":335.97},{"date":"2026-01-14","symbol":"GOOGL","close":335.84},{"date":"2026-01-15","symbol":"GOOGL","close":332.78},{"date":"2026-01-16","symbol":"GOOGL","close":330},{"date":"2026-01-20","symbol":"GOOGL","close":322},{"date":"2026-01-21","symbol":"GOOGL","close":328.38},{"date":"2026-01-22","symbol":"GOOGL","close":330.54},{"date":"2026-01-23","symbol":"GOOGL","close":327.93},{"date":"2025-07-30","symbol":"META","close":694.17},{"date":"2025-07-31","symbol":"META","close":772.29},{"date":"2025-08-01","symbol":"META","close":748.89},{"date":"2025-08-04","symbol":"META","close":775.21},{"date":"2025-08-05","symbol":"META","close":762.32},{"date":"2025-08-06","symbol":"META","close":770.84},{"date":"2025-08-07","symbol":"META","close":760.7},{"date":"2025-08-08","symbol":"META","close":768.15},{"date":"2025-08-11","symbol":"META","close":764.73},{"date":"2025-08-12","symbol":"META","close":788.82},{"date":"2025-08-13","symbol":"META","close":778.92},{"date":"2025-08-14","symbol":"META","close":780.97},{"date":"2025-08-15","symbol":"META","close":784.06},{"date":"2025-08-18","symbol":"META","close":766.23},{"date":"2025-08-19","symbol":"META","close":750.36},{"date":"2025-08-20","symbol":"META","close":746.61},{"date":"2025-08-21","symbol":"META","close":738},{"date":"2025-08-22","symbol":"META","close":753.67},{"date":"2025-08-25","symbol":"META","close":752.18},{"date":"2025-08-26","symbol":"META","close":752.98},{"date":"2025-08-27","symbol":"META","close":746.27},{"date":"2025-08-28","symbol":"META","close":749.99},{"date":"2025-08-29","symbol":"META","close":737.6},{"date":"2025-09-02","symbol":"META","close":734.02},{"date":"2025-09-03","symbol":"META","close":735.95},{"date":"2025-09-04","symbol":"META","close":747.54},{"date":"2025-09-05","symbol":"META","close":751.33},{"date":"2025-09-08","symbol":"META","close":751.18},{"date":"2025-09-09","symbol":"META","close":764.56},{"date":"2025-09-10","symbol":"META","close":750.86},{"date":"2025-09-11","symbol":"META","close":749.78},{"date":"2025-09-12","symbol":"META","close":754.47},{"date":"2025-09-15","symbol":"META","close":763.56},{"date":"2025-09-16","symbol":"META","close":777.84},{"date":"2025-09-17","symbol":"META","close":774.57},{"date":"2025-09-18","symbol":"META","close":779.09},{"date":"2025-09-19","symbol":"META","close":777.22},{"date":"2025-09-22","symbol":"META","close":764.54},{"date":"2025-09-23","symbol":"META","close":754.78},{"date":"2025-09-24","symbol":"META","close":760.04},{"date":"2025-09-25","symbol":"META","close":748.3},{"date":"2025-09-26","symbol":"META","close":743.14},{"date":"2025-09-29","symbol":"META","close":742.79},{"date":"2025-09-30","symbol":"META","close":733.78},{"date":"2025-10-01","symbol":"META","close":716.76},{"date":"2025-10-02","symbol":"META","close":726.46},{"date":"2025-10-03","symbol":"META","close":709.98},{"date":"2025-10-06","symbol":"META","close":715.08},{"date":"2025-10-07","symbol":"META","close":712.5},{"date":"2025-10-08","symbol":"META","close":717.26},{"date":"2025-10-09","symbol":"META","close":732.91},{"date":"2025-10-10","symbol":"META","close":704.73},{"date":"2025-10-13","symbol":"META","close":715.12},{"date":"2025-10-14","symbol":"META","close":708.07},{"date":"2025-10-15","symbol":"META","close":716.97},{"date":"2025-10-16","symbol":"META","close":711.49},{"date":"2025-10-17","symbol":"META","close":716.34},{"date":"2025-10-20","symbol":"META","close":731.57},{"date":"2025-10-21","symbol":"META","close":732.67},{"date":"2025-10-22","symbol":"META","close":732.81},{"date":"2025-10-23","symbol":"META","close":733.4},{"date":"2025-10-24","symbol":"META","close":737.76},{"date":"2025-10-27","symbol":"META","close":750.21},{"date":"2025-10-28","symbol":"META","close":750.83},{"date":"2025-10-29","symbol":"META","close":751.06},{"date":"2025-10-30","symbol":"META","close":665.93},{"date":"2025-10-31","symbol":"META","close":647.82},{"date":"2025-11-03","symbol":"META","close":637.19},{"date":"2025-11-04","symbol":"META","close":626.81},{"date":"2025-11-05","symbol":"META","close":635.43},{"date":"2025-11-06","symbol":"META","close":618.44},{"date":"2025-11-07","symbol":"META","close":621.2},{"date":"2025-11-10","symbol":"META","close":631.25},{"date":"2025-11-11","symbol":"META","close":626.57},{"date":"2025-11-12","symbol":"META","close":608.51},{"date":"2025-11-13","symbol":"META","close":609.39},{"date":"2025-11-14","symbol":"META","close":608.96},{"date":"2025-11-17","symbol":"META","close":601.52},{"date":"2025-11-18","symbol":"META","close":597.2},{"date":"2025-11-19","symbol":"META","close":589.84},{"date":"2025-11-20","symbol":"META","close":588.67},{"date":"2025-11-21","symbol":"META","close":593.77},{"date":"2025-11-24","symbol":"META","close":612.55},{"date":"2025-11-25","symbol":"META","close":635.7},{"date":"2025-11-26","symbol":"META","close":633.09},{"date":"2025-11-28","symbol":"META","close":647.42},{"date":"2025-12-01","symbol":"META","close":640.35},{"date":"2025-12-02","symbol":"META","close":646.57},{"date":"2025-12-03","symbol":"META","close":639.08},{"date":"2025-12-04","symbol":"META","close":660.99},{"date":"2025-12-05","symbol":"META","close":672.87},{"date":"2025-12-08","symbol":"META","close":666.26},{"date":"2025-12-09","symbol":"META","close":656.42},{"date":"2025-12-10","symbol":"META","close":649.6},{"date":"2025-12-11","symbol":"META","close":652.18},{"date":"2025-12-12","symbol":"META","close":643.71},{"date":"2025-12-15","symbol":"META","close":647.51},{"date":"2025-12-16","symbol":"META","close":657.15},{"date":"2025-12-17","symbol":"META","close":649.5},{"date":"2025-12-18","symbol":"META","close":664.45},{"date":"2025-12-19","symbol":"META","close":658.77},{"date":"2025-12-22","symbol":"META","close":661.5},{"date":"2025-12-23","symbol":"META","close":664.94},{"date":"2025-12-24","symbol":"META","close":667.55},{"date":"2025-12-26","symbol":"META","close":663.29},{"date":"2025-12-29","symbol":"META","close":658.69},{"date":"2025-12-30","symbol":"META","close":665.95},{"date":"2025-12-31","symbol":"META","close":660.09},{"date":"2026-01-02","symbol":"META","close":650.41},{"date":"2026-01-05","symbol":"META","close":658.79},{"date":"2026-01-06","symbol":"META","close":660.62},{"date":"2026-01-07","symbol":"META","close":648.69},{"date":"2026-01-08","symbol":"META","close":646.06},{"date":"2026-01-09","symbol":"META","close":653.06},{"date":"2026-01-12","symbol":"META","close":641.97},{"date":"2026-01-13","symbol":"META","close":631.09},{"date":"2026-01-14","symbol":"META","close":615.52},{"date":"2026-01-15","symbol":"META","close":620.8},{"date":"2026-01-16","symbol":"META","close":620.25},{"date":"2026-01-20","symbol":"META","close":604.12},{"date":"2026-01-21","symbol":"META","close":612.96},{"date":"2026-01-22","symbol":"META","close":647.63},{"date":"2026-01-23","symbol":"META","close":658.76},{"date":"2025-07-30","symbol":"MSFT","close":511.44},{"date":"2025-07-31","symbol":"MSFT","close":531.63},{"date":"2025-08-01","symbol":"MSFT","close":522.27},{"date":"2025-08-04","symbol":"MSFT","close":533.76},{"date":"2025-08-05","symbol":"MSFT","close":525.9},{"date":"2025-08-06","symbol":"MSFT","close":523.1},{"date":"2025-08-07","symbol":"MSFT","close":519.01},{"date":"2025-08-08","symbol":"MSFT","close":520.21},{"date":"2025-08-11","symbol":"MSFT","close":519.94},{"date":"2025-08-12","symbol":"MSFT","close":527.38},{"date":"2025-08-13","symbol":"MSFT","close":518.75},{"date":"2025-08-14","symbol":"MSFT","close":520.65},{"date":"2025-08-15","symbol":"MSFT","close":518.35},{"date":"2025-08-18","symbol":"MSFT","close":515.29},{"date":"2025-08-19","symbol":"MSFT","close":507.98},{"date":"2025-08-20","symbol":"MSFT","close":503.95},{"date":"2025-08-21","symbol":"MSFT","close":503.3},{"date":"2025-08-22","symbol":"MSFT","close":506.28},{"date":"2025-08-25","symbol":"MSFT","close":503.32},{"date":"2025-08-26","symbol":"MSFT","close":501.1},{"date":"2025-08-27","symbol":"MSFT","close":505.79},{"date":"2025-08-28","symbol":"MSFT","close":508.69},{"date":"2025-08-29","symbol":"MSFT","close":505.74},{"date":"2025-09-02","symbol":"MSFT","close":504.18},{"date":"2025-09-03","symbol":"MSFT","close":504.41},{"date":"2025-09-04","symbol":"MSFT","close":507.02},{"date":"2025-09-05","symbol":"MSFT","close":494.08},{"date":"2025-09-08","symbol":"MSFT","close":497.27},{"date":"2025-09-09","symbol":"MSFT","close":497.48},{"date":"2025-09-10","symbol":"MSFT","close":499.44},{"date":"2025-09-11","symbol":"MSFT","close":500.07},{"date":"2025-09-12","symbol":"MSFT","close":508.95},{"date":"2025-09-15","symbol":"MSFT","close":514.4},{"date":"2025-09-16","symbol":"MSFT","close":508.09},{"date":"2025-09-17","symbol":"MSFT","close":509.07},{"date":"2025-09-18","symbol":"MSFT","close":507.5},{"date":"2025-09-19","symbol":"MSFT","close":516.96},{"date":"2025-09-22","symbol":"MSFT","close":513.49},{"date":"2025-09-23","symbol":"MSFT","close":508.28},{"date":"2025-09-24","symbol":"MSFT","close":509.2},{"date":"2025-09-25","symbol":"MSFT","close":506.08},{"date":"2025-09-26","symbol":"MSFT","close":510.5},{"date":"2025-09-29","symbol":"MSFT","close":513.64},{"date":"2025-09-30","symbol":"MSFT","close":516.98},{"date":"2025-10-01","symbol":"MSFT","close":518.74},{"date":"2025-10-02","symbol":"MSFT","close":514.78},{"date":"2025-10-03","symbol":"MSFT","close":516.38},{"date":"2025-10-06","symbol":"MSFT","close":527.58},{"date":"2025-10-07","symbol":"MSFT","close":523},{"date":"2025-10-08","symbol":"MSFT","close":523.87},{"date":"2025-10-09","symbol":"MSFT","close":521.42},{"date":"2025-10-10","symbol":"MSFT","close":510.01},{"date":"2025-10-13","symbol":"MSFT","close":513.09},{"date":"2025-10-14","symbol":"MSFT","close":512.61},{"date":"2025-10-15","symbol":"MSFT","close":512.47},{"date":"2025-10-16","symbol":"MSFT","close":510.65},{"date":"2025-10-17","symbol":"MSFT","close":512.62},{"date":"2025-10-20","symbol":"MSFT","close":515.82},{"date":"2025-10-21","symbol":"MSFT","close":516.69},{"date":"2025-10-22","symbol":"MSFT","close":519.57},{"date":"2025-10-23","symbol":"MSFT","close":519.59},{"date":"2025-10-24","symbol":"MSFT","close":522.63},{"date":"2025-10-27","symbol":"MSFT","close":530.53},{"date":"2025-10-28","symbol":"MSFT","close":541.06},{"date":"2025-10-29","symbol":"MSFT","close":540.54},{"date":"2025-10-30","symbol":"MSFT","close":524.78},{"date":"2025-10-31","symbol":"MSFT","close":516.84},{"date":"2025-11-03","symbol":"MSFT","close":516.06},{"date":"2025-11-04","symbol":"MSFT","close":513.37},{"date":"2025-11-05","symbol":"MSFT","close":506.21},{"date":"2025-11-06","symbol":"MSFT","close":496.17},{"date":"2025-11-07","symbol":"MSFT","close":495.89},{"date":"2025-11-10","symbol":"MSFT","close":505.05},{"date":"2025-11-11","symbol":"MSFT","close":507.73},{"date":"2025-11-12","symbol":"MSFT","close":510.19},{"date":"2025-11-13","symbol":"MSFT","close":502.35},{"date":"2025-11-14","symbol":"MSFT","close":509.23},{"date":"2025-11-17","symbol":"MSFT","close":506.54},{"date":"2025-11-18","symbol":"MSFT","close":492.87},{"date":"2025-11-19","symbol":"MSFT","close":486.21},{"date":"2025-11-20","symbol":"MSFT","close":478.43},{"date":"2025-11-21","symbol":"MSFT","close":472.12},{"date":"2025-11-24","symbol":"MSFT","close":474},{"date":"2025-11-25","symbol":"MSFT","close":476.99},{"date":"2025-11-26","symbol":"MSFT","close":485.5},{"date":"2025-11-28","symbol":"MSFT","close":492.01},{"date":"2025-12-01","symbol":"MSFT","close":486.74},{"date":"2025-12-02","symbol":"MSFT","close":490},{"date":"2025-12-03","symbol":"MSFT","close":477.73},{"date":"2025-12-04","symbol":"MSFT","close":480.84},{"date":"2025-12-05","symbol":"MSFT","close":483.16},{"date":"2025-12-08","symbol":"MSFT","close":491.02},{"date":"2025-12-09","symbol":"MSFT","close":492.02},{"date":"2025-12-10","symbol":"MSFT","close":478.56},{"date":"2025-12-11","symbol":"MSFT","close":483.47},{"date":"2025-12-12","symbol":"MSFT","close":478.53},{"date":"2025-12-15","symbol":"MSFT","close":474.82},{"date":"2025-12-16","symbol":"MSFT","close":476.39},{"date":"2025-12-17","symbol":"MSFT","close":476.12},{"date":"2025-12-18","symbol":"MSFT","close":483.98},{"date":"2025-12-19","symbol":"MSFT","close":485.92},{"date":"2025-12-22","symbol":"MSFT","close":484.92},{"date":"2025-12-23","symbol":"MSFT","close":486.85},{"date":"2025-12-24","symbol":"MSFT","close":488.02},{"date":"2025-12-26","symbol":"MSFT","close":487.71},{"date":"2025-12-29","symbol":"MSFT","close":487.1},{"date":"2025-12-30","symbol":"MSFT","close":487.48},{"date":"2025-12-31","symbol":"MSFT","close":483.62},{"date":"2026-01-02","symbol":"MSFT","close":472.94},{"date":"2026-01-05","symbol":"MSFT","close":472.85},{"date":"2026-01-06","symbol":"MSFT","close":478.51},{"date":"2026-01-07","symbol":"MSFT","close":483.47},{"date":"2026-01-08","symbol":"MSFT","close":478.11},{"date":"2026-01-09","symbol":"MSFT","close":479.28},{"date":"2026-01-12","symbol":"MSFT","close":477.18},{"date":"2026-01-13","symbol":"MSFT","close":470.67},{"date":"2026-01-14","symbol":"MSFT","close":459.38},{"date":"2026-01-15","symbol":"MSFT","close":456.66},{"date":"2026-01-16","symbol":"MSFT","close":459.86},{"date":"2026-01-20","symbol":"MSFT","close":454.52},{"date":"2026-01-21","symbol":"MSFT","close":444.11},{"date":"2026-01-22","symbol":"MSFT","close":451.14},{"date":"2026-01-23","symbol":"MSFT","close":465.95},{"date":"2025-07-30","symbol":"NVDA","close":179.25},{"date":"2025-07-31","symbol":"NVDA","close":177.85},{"date":"2025-08-01","symbol":"NVDA","close":173.7},{"date":"2025-08-04","symbol":"NVDA","close":179.98},{"date":"2025-08-05","symbol":"NVDA","close":178.24},{"date":"2025-08-06","symbol":"NVDA","close":179.4},{"date":"2025-08-07","symbol":"NVDA","close":180.75},{"date":"2025-08-08","symbol":"NVDA","close":182.68},{"date":"2025-08-11","symbol":"NVDA","close":182.04},{"date":"2025-08-12","symbol":"NVDA","close":183.14},{"date":"2025-08-13","symbol":"NVDA","close":181.57},{"date":"2025-08-14","symbol":"NVDA","close":182},{"date":"2025-08-15","symbol":"NVDA","close":180.43},{"date":"2025-08-18","symbol":"NVDA","close":181.99},{"date":"2025-08-19","symbol":"NVDA","close":175.62},{"date":"2025-08-20","symbol":"NVDA","close":175.38},{"date":"2025-08-21","symbol":"NVDA","close":174.96},{"date":"2025-08-22","symbol":"NVDA","close":177.97},{"date":"2025-08-25","symbol":"NVDA","close":179.79},{"date":"2025-08-26","symbol":"NVDA","close":181.75},{"date":"2025-08-27","symbol":"NVDA","close":181.58},{"date":"2025-08-28","symbol":"NVDA","close":180.15},{"date":"2025-08-29","symbol":"NVDA","close":174.16},{"date":"2025-09-02","symbol":"NVDA","close":170.76},{"date":"2025-09-03","symbol":"NVDA","close":170.6},{"date":"2025-09-04","symbol":"NVDA","close":171.64},{"date":"2025-09-05","symbol":"NVDA","close":167},{"date":"2025-09-08","symbol":"NVDA","close":168.29},{"date":"2025-09-09","symbol":"NVDA","close":170.74},{"date":"2025-09-10","symbol":"NVDA","close":177.31},{"date":"2025-09-11","symbol":"NVDA","close":177.16},{"date":"2025-09-12","symbol":"NVDA","close":177.81},{"date":"2025-09-15","symbol":"NVDA","close":177.74},{"date":"2025-09-16","symbol":"NVDA","close":174.87},{"date":"2025-09-17","symbol":"NVDA","close":170.28},{"date":"2025-09-18","symbol":"NVDA","close":176.23},{"date":"2025-09-19","symbol":"NVDA","close":176.66},{"date":"2025-09-22","symbol":"NVDA","close":183.6},{"date":"2025-09-23","symbol":"NVDA","close":178.42},{"date":"2025-09-24","symbol":"NVDA","close":176.96},{"date":"2025-09-25","symbol":"NVDA","close":177.68},{"date":"2025-09-26","symbol":"NVDA","close":178.18},{"date":"2025-09-29","symbol":"NVDA","close":181.84},{"date":"2025-09-30","symbol":"NVDA","close":186.57},{"date":"2025-10-01","symbol":"NVDA","close":187.23},{"date":"2025-10-02","symbol":"NVDA","close":188.88},{"date":"2025-10-03","symbol":"NVDA","close":187.61},{"date":"2025-10-06","symbol":"NVDA","close":185.53},{"date":"2025-10-07","symbol":"NVDA","close":185.03},{"date":"2025-10-08","symbol":"NVDA","close":189.1},{"date":"2025-10-09","symbol":"NVDA","close":192.56},{"date":"2025-10-10","symbol":"NVDA","close":183.15},{"date":"2025-10-13","symbol":"NVDA","close":188.31},{"date":"2025-10-14","symbol":"NVDA","close":180.02},{"date":"2025-10-15","symbol":"NVDA","close":179.82},{"date":"2025-10-16","symbol":"NVDA","close":181.8},{"date":"2025-10-17","symbol":"NVDA","close":183.21},{"date":"2025-10-20","symbol":"NVDA","close":182.63},{"date":"2025-10-21","symbol":"NVDA","close":181.15},{"date":"2025-10-22","symbol":"NVDA","close":180.27},{"date":"2025-10-23","symbol":"NVDA","close":182.15},{"date":"2025-10-24","symbol":"NVDA","close":186.25},{"date":"2025-10-27","symbol":"NVDA","close":191.48},{"date":"2025-10-28","symbol":"NVDA","close":201.02},{"date":"2025-10-29","symbol":"NVDA","close":207.03},{"date":"2025-10-30","symbol":"NVDA","close":202.88},{"date":"2025-10-31","symbol":"NVDA","close":202.48},{"date":"2025-11-03","symbol":"NVDA","close":206.87},{"date":"2025-11-04","symbol":"NVDA","close":198.68},{"date":"2025-11-05","symbol":"NVDA","close":195.2},{"date":"2025-11-06","symbol":"NVDA","close":188.07},{"date":"2025-11-07","symbol":"NVDA","close":188.14},{"date":"2025-11-10","symbol":"NVDA","close":199.04},{"date":"2025-11-11","symbol":"NVDA","close":193.15},{"date":"2025-11-12","symbol":"NVDA","close":193.79},{"date":"2025-11-13","symbol":"NVDA","close":186.85},{"date":"2025-11-14","symbol":"NVDA","close":190.16},{"date":"2025-11-17","symbol":"NVDA","close":186.59},{"date":"2025-11-18","symbol":"NVDA","close":181.35},{"date":"2025-11-19","symbol":"NVDA","close":186.51},{"date":"2025-11-20","symbol":"NVDA","close":180.63},{"date":"2025-11-21","symbol":"NVDA","close":178.87},{"date":"2025-11-24","symbol":"NVDA","close":182.54},{"date":"2025-11-25","symbol":"NVDA","close":177.81},{"date":"2025-11-26","symbol":"NVDA","close":180.25},{"date":"2025-11-28","symbol":"NVDA","close":176.99},{"date":"2025-12-01","symbol":"NVDA","close":179.91},{"date":"2025-12-02","symbol":"NVDA","close":181.45},{"date":"2025-12-03","symbol":"NVDA","close":179.58},{"date":"2025-12-04","symbol":"NVDA","close":183.38},{"date":"2025-12-05","symbol":"NVDA","close":182.41},{"date":"2025-12-08","symbol":"NVDA","close":185.55},{"date":"2025-12-09","symbol":"NVDA","close":184.97},{"date":"2025-12-10","symbol":"NVDA","close":183.78},{"date":"2025-12-11","symbol":"NVDA","close":180.93},{"date":"2025-12-12","symbol":"NVDA","close":175.02},{"date":"2025-12-15","symbol":"NVDA","close":176.29},{"date":"2025-12-16","symbol":"NVDA","close":177.72},{"date":"2025-12-17","symbol":"NVDA","close":170.94},{"date":"2025-12-18","symbol":"NVDA","close":174.14},{"date":"2025-12-19","symbol":"NVDA","close":180.99},{"date":"2025-12-22","symbol":"NVDA","close":183.69},{"date":"2025-12-23","symbol":"NVDA","close":189.21},{"date":"2025-12-24","symbol":"NVDA","close":188.61},{"date":"2025-12-26","symbol":"NVDA","close":190.53},{"date":"2025-12-29","symbol":"NVDA","close":188.22},{"date":"2025-12-30","symbol":"NVDA","close":187.54},{"date":"2025-12-31","symbol":"NVDA","close":186.5},{"date":"2026-01-02","symbol":"NVDA","close":188.85},{"date":"2026-01-05","symbol":"NVDA","close":188.12},{"date":"2026-01-06","symbol":"NVDA","close":187.24},{"date":"2026-01-07","symbol":"NVDA","close":189.11},{"date":"2026-01-08","symbol":"NVDA","close":185.04},{"date":"2026-01-09","symbol":"NVDA","close":184.86},{"date":"2026-01-12","symbol":"NVDA","close":184.94},{"date":"2026-01-13","symbol":"NVDA","close":185.81},{"date":"2026-01-14","symbol":"NVDA","close":183.14},{"date":"2026-01-15","symbol":"NVDA","close":187.05},{"date":"2026-01-16","symbol":"NVDA","close":186.23},{"date":"2026-01-20","symbol":"NVDA","close":178.07},{"date":"2026-01-21","symbol":"NVDA","close":183.32},{"date":"2026-01-22","symbol":"NVDA","close":184.84},{"date":"2026-01-23","symbol":"NVDA","close":187.67}],"metadata":{"date":{"type":"string","semanticType":"Date"},"symbol":{"type":"string","semanticType":"String"},"close":{"type":"number","semanticType":"Number"}},"derive":{"code":"\nimport pandas as pd\nimport collections\nimport numpy as np\n\ndef transform_data(df_history: pd.DataFrame) -> pd.DataFrame:\n # Select only needed columns\n cols = [\"date\", \"symbol\", \"close\"]\n df = df_history[cols].copy()\n\n # Ensure date is a string in YYYY-MM-DD format (no datetime objects)\n df[\"date\"] = pd.to_datetime(df[\"date\"]).dt.strftime(\"%Y-%m-%d\")\n\n # Sort for proper line plotting\n df = df.sort_values([\"symbol\", \"date\"]).reset_index(drop=True)\n\n transformed_df = df\n return transformed_df\n","source":["history"],"dialog":[{"role":"system","content":"You are a data scientist to help user to recommend data that will be used for visualization.\nThe user will provide you information about what visualization they would like to create, and your job is to recommend a transformed data that can be used to create the visualization and write a python function to transform the data.\nThe recommendation and transformation function should be based on the [CONTEXT] and [GOAL] provided by the user. \nThe [CONTEXT] shows what the current dataset is, and the [GOAL] describes what the user wants the data for.\n\n**Important:**\n- NEVER make assumptions or judgments about a person's gender, biological sex, sexuality, religion, race, nationality, ethnicity, political stance, socioeconomic status, mental health, invisible disabilities, medical conditions, personality type, social impressions, emotional state, and cognitive state.\n- NEVER create formulas that could be used to discriminate based on age. Ageism of any form (explicit and implicit) is strictly prohibited.\n- If above issue occurs, generate columns with np.nan.\n\nConcretely, you should infer the appropriate data and create in the output section a python function based off the [CONTEXT] and [GOAL] in two steps:\n\n1. First, based on users' [GOAL]. Create a json object that represents the inferred user intent. The json object should have the following format:\n\n{\n \"mode\": \"\" // string, one of \"infer\", \"overview\", \"distribution\", \"summary\", \"forecast\"\n \"recap\": \"...\" // string, a short summary of the user's goal.\n \"display_instruction\": \"...\" // string, the even shorter verb phrase describing the users' goal.\n \"recommendation\": \"...\" // string, explain why this recommendation is made\n \"input_tables\": [...] // string[], describe names of the input tables that will be used in the transformation.\n \"output_fields\": [...] // string[], describe the desired output fields that the output data should have (i.e., the goal of transformed data), it's a good idea to preseve intermediate fields here\n \"chart_type\": \"\" // string, one of \"point\", \"bar\", \"line\", \"area\", \"heatmap\", \"group_bar\", 'boxplot'. \"chart_type\" should either be inferred from user instruction, or recommend if the user didn't specify any.\n \"chart_encodings\": {\n \"x\": \"\",\n \"y\": \"\",\n \"color\": \"\",\n \"size\": \"\",\n \"opacity\": \"\",\n \"facet\": \"\",\n } // object: map visualization channels (x, y, color, size, opacity, facet, etc.) to a subset of output fields, appropriate visual channels for different chart types are defined below.\n}\n\nConcretely:\n - recap what the user's goal is in a short summary in \"recap\".\n - If the user's [GOAL] is clear already, simply infer what the user mean. Set \"mode\" as \"infer\" and create \"output_fields\" and \"chart_encodings\" based off user description.\n - If the user's [GOAL] is not clear, make recommendations to the user:\n - choose one of \"distribution\", \"overview\", \"summary\", \"forecast\" in \"mode\":\n * if it is \"overview\" and the data is in wide format, reshape it into long format.\n * if it is \"distribution\", select a few fields that would be interesting to visualize together.\n * if it is \"summary\", calculate some aggregated statistics to show intresting facts of the data.\n * if it is \"forecast\", concretize the x,y fields that will be used for forecasting and decide if it is about regression or forecasting.\n - describe the recommendation reason in \"recommendation\"\n - based on the recommendation, determine what is an ideal output data. Note, the output data must be in tidy format.\n - then suggest recommendations of chart encoding that should be used to create the visualization.\n - \"display_instruction\" should be a short verb phrase describing the users' goal, it should be even shorter than \"recap\". \n - it would be a short verbal description of user intent as a verb phrase (<12 words).\n - generate based on \"recap\" and the suggested visualization, but don't need to mention the visualization details.\n - should capture key computation ideas: by reading the display, the user can understand the purpose and what's derived from the data.\n - if the user instruction builds up the previous instruction, the 'display_instruction' should only describe how it builds up the previous instruction without repeating information from previous steps.\n - the phrase can be presented in different styles, e.g., question (what's xxx), instruction (show xxx), description, etc.\n - if you mention column names from the input or the output data, highlight the text in **bold**.\n * the column can either be a column in the input data, or a new column that will be computed in the output data.\n * the mention don't have to be exact match, it can be semantically matching, e.g., if you mentioned \"average score\" in the text while the column to be computed is \"Avg_Score\", you should still highlight \"**average score**\" in the text.\n - determine \"input_tables\", the names of a subset of input tables from [CONTEXT] section that will be used to achieve the user's goal.\n - **IMPORTANT** Note that the Table 1 in [CONTEXT] section is the table the user is currently viewing, it should take precedence if the user refers to insights about the \"current table\".\n - At the same time, leverage table information to determine which tables are relevant to the user's goal and should be used.\n - \"chart_type\" must be one of \"point\", \"bar\", \"line\", \"area\", \"heatmap\", \"group_bar\", \"boxplot\"\n - \"chart_encodings\" should specify which fields should be used to create the visualization\n - decide which visual channels should be used to create the visualization appropriate for the chart type.\n - point: x, y, color, size, facet\n - histogram: x, color, facet\n - bar: x, y, color, facet\n - line: x, y, color, facet\n - area: x, y, color, facet\n - heatmap: x, y, color, facet\n - group_bar: x, y, color, facet\n - boxplot: x, y, color, facet\n - note that all fields used in \"chart_encodings\" should be included in \"output_fields\".\n - all fields you need for visualizations should be transformed into the output fields!\n - \"output_fields\" should include important intermediate fields that are not used in visualization but are used for data transformation.\n - typically only 2-3 fields should be used to create the visualization (x, y, color/size), facet use be added if it's a faceted visualization (totally 4 fields used).\n - Guidelines for choosing chart type and visualization fields:\n - Consider chart types as follows:\n - (point) Scatter Plots: x,y: Quantitative/Categorical, color: Categorical (optional), size: Quantitative (optional for creating bubble chart), \n - best for: Relationships, correlations, distributions, forecasting, regression analysis\n - scatter plots are good default way to visualize data when other chart types are not applicable.\n - use color to visualize points from different categories.\n - use size to visualize data points with an additional quantitative dimension of the data points.\n - (histogram) Histograms: x: Quantitative/Categorical, color: Categorical (optional for creating grouped histogram), \n - best for: Distribution of a quantitative field\n - use x values directly if x values are categorical, and transform the data into bins if the field values are quantitative.\n - when color is specified, the histogram will be grouped automatically (items with the same x values will be grouped).\n - (bar) Bar Charts: x: Categorical (nominal/ordinal), y: Quantitative, color: Categorical/Quantitative (for stacked bar chart / showing additional quantitative dimension), \n - best for: Comparisons across categories\n - use (bar) for simple bar chart or stacked bar chart (when it makes sense to add up Y values for each category with the same X value), \n - when color is specified, the bar will be stacked automatically (items with the same x values will be stacked).\n - note that when there are multiple rows in the data with same x values, the bar will be stacked automatically.\n - 1. consider to use an aggregated field for y values if the value is not suitable for stacking.\n - 2. consider to introduce facets so that each group is visualized in a separate bar.\n - (group_bar) for grouped bar chart, x: Categorical (nominal/ordinal), y: Quantitative, color: Categorical\n - when color is specifed, bars from different groups will be grouped automatically.\n - only use facet if the cardinality of color field is small (less than 5).\n - (line) Line Charts: x: Temporal (preferred) or ordinal, y: Quantitative, color: Categorical (optional for creating multiple lines), \n - best for: Trends over time, continuous data, forecasting, regression analysis\n - note that when there are multiple rows in the data belong to the same group (same x and color values) but different y values, the line will not look correct.\n - consider to use an aggregated field for y values, or introduce facets so that each group is visualized in a separate line.\n - (area) Area Charts: x: Temporal (preferred) or ordinal, y: Quantitative, color: Categorical (optional for creating stacked areas), \n - best for: Trends over time, continuous data\n - (heatmap) Heatmaps: x,y: Categorical (you need to convert quantitative to nominal), color: Quantitative intensity, \n - best for: Pattern discovery in matrix data\n - (boxplot) Box plots: x: Categorical (nominal/ordinal), y: Quantitative, color: Categorical (optional for creating grouped boxplots), \n - best for: Distribution of a quantitative field\n - use x values directly if x values are categorical, and transform the data into bins if the field values are quantitative.\n - when color is specified, the boxplot will be grouped automatically (items with the same x values will be grouped).\n - facet channel is available for all chart types, it supports a categorical field with small cardinality to visualize the data in different facets.\n - if you really need additional legend fields:\n - you can use opacity for legend (support Quantitative and Categorical).\n - visualization fields require tidy data. \n - similar to VegaLite and ggplot2 so that each field is mapped to a visualization axis or legend. \n - consider data transformations if you want to visualize multiple fields together:\n - exapmle 1: suggest reshaping the data into long format in data transformation description (if these fields are all of the same type, e.g., they are all about sales, price, two columns about min/max-values, etc. don't mix different types of fields in reshaping) so we can visualize multiple fields as categories or in different facets.\n - exapmle 2: calculate some derived fields from these fields(e.g., correlation, difference, profit etc.) in data transformation description to visualize them in one visualization.\n - example 3: create a visualization only with a subset of the fields, you don't have to visualize all of them in one chart, you can later create a visualization with the rest of the fields. With the subset of charts, you can also consider reshaping or calculate some derived value.\n - again, it does not make sense to have five fields like [item, A, B, C, D, E] in visualization fields, you should consider data transformation to reduce the number of fields.\n - when reshaping data to long format, only fields of the same semantic type should be rehaped into the same column.\n - guide on statistical analysis:\n - when the user asks for forecasting or regression analysis, you should consider the following:\n - the output should be a long format table where actual x, y pairs and predicted x, y pairs are included in the X, Y columns, they are differentiated with a third column \"is_predicted\" that is a boolean field.\n - i.e., if the user ask for forecasting based on two columns T and Y, the output should be three columns: T, Y, is_predicted, where\n - T, Y columns contain BOTH original values from the data and predicted values from the data.\n - is_predicted is a boolean field to indicate whether the x, y pairs are original values from the data or predicted / regression values from the data.\n - the recommended chart should be line chart (time series) or scatter plot (quantitative x, y)\n - if the user asks for forecasting, it's good to include predicted x, y pairs for both x in the original data and future x values (i.e., combine regression and forecasting results)\n - in this case, is_predicted should be of three values 'original', 'regression', 'forecasting'\n - put is_predicted field in 'opacity' channel to distinguish them.\n - when the user asks for clustering:\n - the output should be a long format table where actual x, y pairs with a third column \"cluster_id\" that indicates the cluster id of the data point.\n - the recommended chart should be scatter plot (quantitative x, y)\n \n 2. Then, write a python function based on the inferred goal, the function input is a dataframe \"df\" (or multiple dataframes based on tables presented in the [CONTEXT] section) and the output is the transformed dataframe \"transformed_df\". \n\"transformed_df\" should contain all \"output_fields\" from the refined user intent in the json object.\nThe python function must follow the template provided in [TEMPLATE]. The function should be as simple as possible and easily readable. \nIf there is no data transformation needed based on \"output_fields\", the transformation function can simply \"return df\".\n\n[TEMPLATE]\n\n```python\nimport pandas as pd\nimport collections\nimport numpy as np\n# from sklearn import ... # import from sklearn if you need it.\n\ndef transform_data(df1, df2, ...): \n # complete the template here\n return transformed_df\n```\n\nnote: \n- decide the function signature based on the number of tables you decided in the previous step \"input_tables\":\n - if you decide there will only be one input table, then function signature should be `def transform_data(df1)`\n - if you decided there will be k input tables, then function signature should be `def transform_data(df_1, df_2, ..., df_k)`.\n - instead of using generic names like df1, df2, ..., try to use intuitive table names for function arguments, for example, if you have input_tables: [\"City\", \"Weather\"]`, you can use `transform_data(df_city, df_weather)` to refer to the two dataframes.\n - **VERY IMPORTANT** the number of arguments in the function signature must be the same as the number of tables provided in \"input_tables\", and the order of arguments must match the order of tables provided in \"input_tables\".\n- datetime objects handling:\n - if the output field is year, convert it to number, if it is year-month / year-month-day, convert it to string object (e.g., \"2020-01\" / \"2020-01-01\").\n - if the output is time only: convert hour to number if it's just the hour (e.g., 10), but convert hour:min or h:m:s to string object (e.g., \"10:30\", \"10:30:45\")\n - never return datetime object directly, convert it to either number (if it only contains year) or string so it's readable.\n \n 3. The output must only contain a json object representing inferred user intent and a python code block representing the transformation code, do not add any extra text explanation.\n"},{"role":"user","content":"[CONTEXT]\n\n## Table 1: history (738 rows × 8 columns)\n\n### Schema (8 fields)\n - symbol -- type: object, values: AAPL, AMZN, GOOGL, META, MSFT, NVDA\n - date -- type: object, values: 2025-07-30, 2025-07-31, 2025-08-01, ..., 2026-01-20, 2026-01-21, 2026-01-22, 2026-01-23\n - open -- type: float64, values: 167.53, 168.01, 169.07, ..., 781.21, 782.98, 785.25, 789.97\n - high -- type: float64, values: 169.01, 170.94, 170.96, ..., 789.62, 792.49, 794.28, 795.06\n - low -- type: float64, values: 164.05, 166.72, 167.2, ..., 771.36, 772.21, 777.07, 779.66\n - close -- type: float64, values: 167.0, 168.29, 170.28, ..., 779.09, 780.97, 784.06, 788.82\n - volume -- type: int64, values: 5627500, 5855900, 6861200, ..., 320600300, 324925900, 343504800, 346926200\n - fetched_at -- type: object, values: 2026-01-26T23:46:42.347312Z\n\n### Sample Data (first 5 rows)\n```\n symbol date open high low close volume fetched_at\n0 AAPL 2025-07-30 211.45 211.94 207.28 208.61 45512500 2026-01-26T23:46:42.347312Z\n1 AAPL 2025-07-31 208.05 209.40 206.72 207.13 80698400 2026-01-26T23:46:42.347312Z\n2 AAPL 2025-08-01 210.43 213.13 201.08 201.95 104434500 2026-01-26T23:46:42.347312Z\n3 AAPL 2025-08-04 204.08 207.44 201.26 202.92 75109300 2026-01-26T23:46:42.347312Z\n4 AAPL 2025-08-05 202.97 204.91 201.74 202.49 44155100 2026-01-26T23:46:42.347312Z\n```\n\n\n[GOAL]\n\n1) First, plot the overall **closing price** trends for each **symbol** over **time** on a single line chart to compare their broad trajectories and volatility."},{"role":"assistant","content":"{\n \"mode\": \"infer\",\n \"recap\": \"Compare overall closing price trends and volatility over time for each stock symbol on a single line chart.\",\n \"display_instruction\": \"Visualize **closing price** trends by **symbol** over **date**\",\n \"recommendation\": \"A line chart with time on the x-axis and closing price on the y-axis, colored by symbol, best shows comparative trajectories and volatility over time. The data only needs column selection, date normalization, and sorting to be visualization-ready.\",\n \"input_tables\": [\"history\"],\n \"output_fields\": [\"date\", \"symbol\", \"close\"],\n \"chart_type\": \"line\",\n \"chart_encodings\": {\n \"x\": \"date\",\n \"y\": \"close\",\n \"color\": \"symbol\",\n \"size\": \"\",\n \"opacity\": \"\",\n \"facet\": \"\"\n }\n}\n\n```python\nimport pandas as pd\nimport collections\nimport numpy as np\n\ndef transform_data(df_history: pd.DataFrame) -> pd.DataFrame:\n # Select only needed columns\n cols = [\"date\", \"symbol\", \"close\"]\n df = df_history[cols].copy()\n\n # Ensure date is a string in YYYY-MM-DD format (no datetime objects)\n df[\"date\"] = pd.to_datetime(df[\"date\"]).dt.strftime(\"%Y-%m-%d\")\n\n # Sort for proper line plotting\n df = df.sort_values([\"symbol\", \"date\"]).reset_index(drop=True)\n\n transformed_df = df\n return transformed_df\n```"}],"trigger":{"tableId":"history","sourceTableIds":["history"],"instruction":"1) First, plot the overall **closing price** trends for each **symbol** over **time** on a single line chart to compare their broad trajectories and volatility.","displayInstruction":"Visualize **closing price** trends by **symbol** over **date**","chart":{"id":"chart-1769471233291","chartType":"Auto","encodingMap":{},"tableRef":"history","saved":false,"source":"trigger","unread":true},"resultTableId":"table-233476"},"explanation":{"status":"ok","concepts":[],"code":"- **Keep only the key fields**: selects the columns **`\"date\"`**, **`\"symbol\"`**, and **`\"close\"`** from the input data and **drops all other columns**.\n- **Standardize the date format**: converts **`date`** into a **string** in the **`\"YYYY-MM-DD\"`** format to ensure consistency (no time component, no different date formats).\n- **Order the data for time-series use**: **sorts** the rows first by **`symbol`** and then by **`date`** so that each stock’s closing prices are in **chronological order**, which is important for **line charts** or time-based analysis.\n- **Return the cleaned dataset**: outputs this **simplified and ordered** table as the final transformed data.","dialog":[{"role":"system","content":"You are a data scientist to help user explain code, \nso that a non-code can clearly understand what the code is doing, you are provided with a summary of the input data, and the transformation code.\n\nYour goal:\n1. You should generate a good itemized explanation of the code so that the reader can understand high-level steps of what the data transformation is doing.\n - Be very concise, and stay at a high-level. The reader doesn't understand code and does not want to learn exactly what the code is doing. They just want to learn what have been done from a logical level.\n - The explanation should be a markdown string that is a list of bullet points (with new lines), highlight constants, data fields, and important verbs.\n2. Generate a list of explanations for new fields (fields not from the input data) that introduce metrics/concepts that are not obvious from the code.\n - provide a declarative definition that explains the new field, use a mathematical notation if applicable.\n - only include new fields explanation of new metrics that are involved in computation (e.g., ROI, commerical_success_score)\n - *DO NOT* explain trivial new fields like \"Decade\" or \"Avg_Rating\", \"US_Sales\" that are self-explanatory.\n - Avoid explaining fields that are simple aggregate of fields in the original data (min_score, avg_value, count, etc.)\n - When a field involves mathematical computation, you can use LaTeX math notation in the explanation. Format mathematical expressions using:\n - Inline math: `\\( ... \\)` for formulas within text\n - Block math: `\\[ ... \\]` for standalone formulas\n - Examples: `\\( \\frac{\\text{Revenue}}{\\text{Cost}} \\)` for ratios, `\\[ \\text{Score} = \\text{Rating} \\times \\text{Worldwide\\_Gross} \\]` for formulas\n - note: when using underscores as part of the text, you need to escape them with a backslash, e.g., `\\_`\n - Note: don't use math notation for fields whose computation is trivial (use plain english), it will likely be confusing to the reader. \n Only use math notation for fields that can not be easilyexplained in plain english. Use it sparingly.\n3. If there are multiple fields that have the similar computation, you can explain them together in one explanation.\n - in \"field\", you can provide a list of fields in format of \"field1, field2, ...\"\n - in \"explanation\", you can provide a single explanation for the computation of the fields.\n - for example, if you have fields like \"Norm_Rating\", \"Norm_Gross\", \"Critical_Commercial_Score\", you can explain Norm_Rating, Norm_Gross together in one explanation and explain Critical_Commercial_Score in another explanation.\n4. If the code is about statistical analysis, you should explain the statistical analysis in the explanation as a concept named \"Statistical Analysis\" in the [CONCEPTS EXPLANATION] section.\n - explain how you model the data, which fields are used, how data processing is done, and what models are used.\n - suggest some other modeling approaches that can be used to analyze the data in the explanation as well.\n \nThe focus is to explain how new fields are computed, don't generate explanation for low-level actions like \"return\", \"load data\" etc. \n\nProvide the result in the following two sections:\n - first section is the code explanation that should be a markdown block explaining the code, in the [CODE EXPLANATION] section.\n - remember to highlight constants, data fields, and important verbs in the code explanation.\n - second section is the concepts explanation that should be a json block (start with ```json) in the [CONCEPTS EXPLANATION] section.\n\n[CODE EXPLANATION]\n\n...(explanation of the code)\n\n[CONCEPTS EXPLANATION]\n\n```json\n[\n {\n \"field\": \"...\",\n \"explanation\": \"...\"\n }\n]\n\n```\n"},{"role":"user","content":"[CONTEXT]\n\n## Table 1: history (738 rows × 8 columns)\n\n### Schema (8 fields)\n - symbol -- type: object, values: AAPL, AMZN, GOOGL, META, MSFT, NVDA\n - date -- type: object, values: 2025-07-30, 2025-07-31, 2025-08-01, ..., 2026-01-20, 2026-01-21, 2026-01-22, 2026-01-23\n - open -- type: float64, values: 167.53, 168.01, 169.07, ..., 781.21, 782.98, 785.25, 789.97\n - high -- type: float64, values: 169.01, 170.94, 170.96, ..., 789.62, 792.49, 794.28, 795.06\n - low -- type: float64, values: 164.05, 166.72, 167.2, ..., 771.36, 772.21, 777.07, 779.66\n - close -- type: float64, values: 167.0, 168.29, 170.28, ..., 779.09, 780.97, 784.06, 788.82\n - volume -- type: int64, values: 5627500, 5855900, 6861200, ..., 320600300, 324925900, 343504800, 346926200\n - fetched_at -- type: object, values: 2026-01-26T23:46:42.347312Z\n\n### Sample Data (first 5 rows)\n```\n symbol date open high low close volume fetched_at\n0 AAPL 2025-07-30 211.45 211.94 207.28 208.61 45512500 2026-01-26T23:46:42.347312Z\n1 AAPL 2025-07-31 208.05 209.40 206.72 207.13 80698400 2026-01-26T23:46:42.347312Z\n2 AAPL 2025-08-01 210.43 213.13 201.08 201.95 104434500 2026-01-26T23:46:42.347312Z\n3 AAPL 2025-08-04 204.08 207.44 201.26 202.92 75109300 2026-01-26T23:46:42.347312Z\n4 AAPL 2025-08-05 202.97 204.91 201.74 202.49 44155100 2026-01-26T23:46:42.347312Z\n```\n\n\n[CODE]\n\nhere is the transformation code: \nimport pandas as pd\nimport collections\nimport numpy as np\n\ndef transform_data(df_history: pd.DataFrame) -> pd.DataFrame:\n # Select only needed columns\n cols = [\"date\", \"symbol\", \"close\"]\n df = df_history[cols].copy()\n\n # Ensure date is a string in YYYY-MM-DD format (no datetime objects)\n df[\"date\"] = pd.to_datetime(df[\"date\"]).dt.strftime(\"%Y-%m-%d\")\n\n # Sort for proper line plotting\n df = df.sort_values([\"symbol\", \"date\"]).reset_index(drop=True)\n\n transformed_df = df\n return transformed_df\n\n\n[EXPLANATION]\n"},{"role":"assistant","content":"[CODE EXPLANATION]\n\n- **Keep only the key fields**: selects the columns **`\"date\"`**, **`\"symbol\"`**, and **`\"close\"`** from the input data and **drops all other columns**.\n- **Standardize the date format**: converts **`date`** into a **string** in the **`\"YYYY-MM-DD\"`** format to ensure consistency (no time component, no different date formats).\n- **Order the data for time-series use**: **sorts** the rows first by **`symbol`** and then by **`date`** so that each stock’s closing prices are in **chronological order**, which is important for **line charts** or time-based analysis.\n- **Return the cleaned dataset**: outputs this **simplified and ordered** table as the final transformed data.\n\n[CONCEPTS EXPLANATION]\n\n```json\n[]\n```"}],"agent":"CodeExplanationAgent"}},"anchored":false,"createdBy":"user","attachedMetadata":""},{"id":"table-265247","displayId":"stock-ma","names":["date","symbol","close","value","ma_window"],"rows":[{"date":"2025-07-30","symbol":"AAPL","close":208.61,"value":208.61,"ma_window":20},{"date":"2025-07-31","symbol":"AAPL","close":207.13,"value":207.87,"ma_window":20},{"date":"2025-08-01","symbol":"AAPL","close":201.95,"value":205.8966666667,"ma_window":20},{"date":"2025-08-04","symbol":"AAPL","close":202.92,"value":205.1525,"ma_window":20},{"date":"2025-08-05","symbol":"AAPL","close":202.49,"value":204.62,"ma_window":20},{"date":"2025-08-06","symbol":"AAPL","close":212.8,"value":205.9833333333,"ma_window":20},{"date":"2025-08-07","symbol":"AAPL","close":219.57,"value":207.9242857143,"ma_window":20},{"date":"2025-08-08","symbol":"AAPL","close":228.87,"value":210.5425,"ma_window":20},{"date":"2025-08-11","symbol":"AAPL","close":226.96,"value":212.3666666667,"ma_window":20},{"date":"2025-08-12","symbol":"AAPL","close":229.43,"value":214.073,"ma_window":20},{"date":"2025-08-13","symbol":"AAPL","close":233.1,"value":215.8027272727,"ma_window":20},{"date":"2025-08-14","symbol":"AAPL","close":232.55,"value":217.1983333333,"ma_window":20},{"date":"2025-08-15","symbol":"AAPL","close":231.37,"value":218.2884615385,"ma_window":20},{"date":"2025-08-18","symbol":"AAPL","close":230.67,"value":219.1728571429,"ma_window":20},{"date":"2025-08-19","symbol":"AAPL","close":230.34,"value":219.9173333333,"ma_window":20},{"date":"2025-08-20","symbol":"AAPL","close":225.79,"value":220.284375,"ma_window":20},{"date":"2025-08-21","symbol":"AAPL","close":224.68,"value":220.5429411765,"ma_window":20},{"date":"2025-08-22","symbol":"AAPL","close":227.54,"value":220.9316666667,"ma_window":20},{"date":"2025-08-25","symbol":"AAPL","close":226.94,"value":221.2478947368,"ma_window":20},{"date":"2025-08-26","symbol":"AAPL","close":229.09,"value":221.64,"ma_window":20},{"date":"2025-08-27","symbol":"AAPL","close":230.27,"value":222.723,"ma_window":20},{"date":"2025-08-28","symbol":"AAPL","close":232.33,"value":223.983,"ma_window":20},{"date":"2025-08-29","symbol":"AAPL","close":231.92,"value":225.4815,"ma_window":20},{"date":"2025-09-02","symbol":"AAPL","close":229.5,"value":226.8105,"ma_window":20},{"date":"2025-09-03","symbol":"AAPL","close":238.24,"value":228.598,"ma_window":20},{"date":"2025-09-04","symbol":"AAPL","close":239.55,"value":229.9355,"ma_window":20},{"date":"2025-09-05","symbol":"AAPL","close":239.46,"value":230.93,"ma_window":20},{"date":"2025-09-08","symbol":"AAPL","close":237.65,"value":231.369,"ma_window":20},{"date":"2025-09-09","symbol":"AAPL","close":234.12,"value":231.727,"ma_window":20},{"date":"2025-09-10","symbol":"AAPL","close":226.57,"value":231.584,"ma_window":20},{"date":"2025-09-11","symbol":"AAPL","close":229.81,"value":231.4195,"ma_window":20},{"date":"2025-09-12","symbol":"AAPL","close":233.84,"value":231.484,"ma_window":20},{"date":"2025-09-15","symbol":"AAPL","close":236.47,"value":231.739,"ma_window":20},{"date":"2025-09-16","symbol":"AAPL","close":237.92,"value":232.1015,"ma_window":20},{"date":"2025-09-17","symbol":"AAPL","close":238.76,"value":232.5225,"ma_window":20},{"date":"2025-09-18","symbol":"AAPL","close":237.65,"value":233.1155,"ma_window":20},{"date":"2025-09-19","symbol":"AAPL","close":245.26,"value":234.1445,"ma_window":20},{"date":"2025-09-22","symbol":"AAPL","close":255.83,"value":235.559,"ma_window":20},{"date":"2025-09-23","symbol":"AAPL","close":254.18,"value":236.921,"ma_window":20},{"date":"2025-09-24","symbol":"AAPL","close":252.07,"value":238.07,"ma_window":20},{"date":"2025-09-25","symbol":"AAPL","close":256.62,"value":239.3875,"ma_window":20},{"date":"2025-09-26","symbol":"AAPL","close":255.21,"value":240.5315,"ma_window":20},{"date":"2025-09-29","symbol":"AAPL","close":254.18,"value":241.6445,"ma_window":20},{"date":"2025-09-30","symbol":"AAPL","close":254.38,"value":242.8885,"ma_window":20},{"date":"2025-10-01","symbol":"AAPL","close":255.2,"value":243.7365,"ma_window":20},{"date":"2025-10-02","symbol":"AAPL","close":256.88,"value":244.603,"ma_window":20},{"date":"2025-10-03","symbol":"AAPL","close":257.77,"value":245.5185,"ma_window":20},{"date":"2025-10-06","symbol":"AAPL","close":256.44,"value":246.458,"ma_window":20},{"date":"2025-10-07","symbol":"AAPL","close":256.23,"value":247.5635,"ma_window":20},{"date":"2025-10-08","symbol":"AAPL","close":257.81,"value":249.1255,"ma_window":20},{"date":"2025-10-09","symbol":"AAPL","close":253.79,"value":250.3245,"ma_window":20},{"date":"2025-10-10","symbol":"AAPL","close":245.03,"value":250.884,"ma_window":20},{"date":"2025-10-13","symbol":"AAPL","close":247.42,"value":251.4315,"ma_window":20},{"date":"2025-10-14","symbol":"AAPL","close":247.53,"value":251.912,"ma_window":20},{"date":"2025-10-15","symbol":"AAPL","close":249.1,"value":252.429,"ma_window":20},{"date":"2025-10-16","symbol":"AAPL","close":247.21,"value":252.907,"ma_window":20},{"date":"2025-10-17","symbol":"AAPL","close":252.05,"value":253.2465,"ma_window":20},{"date":"2025-10-20","symbol":"AAPL","close":261.99,"value":253.5545,"ma_window":20},{"date":"2025-10-21","symbol":"AAPL","close":262.52,"value":253.9715,"ma_window":20},{"date":"2025-10-22","symbol":"AAPL","close":258.2,"value":254.278,"ma_window":20},{"date":"2025-10-23","symbol":"AAPL","close":259.33,"value":254.4135,"ma_window":20},{"date":"2025-10-24","symbol":"AAPL","close":262.57,"value":254.7815,"ma_window":20},{"date":"2025-10-27","symbol":"AAPL","close":268.55,"value":255.5,"ma_window":20},{"date":"2025-10-28","symbol":"AAPL","close":268.74,"value":256.218,"ma_window":20},{"date":"2025-10-29","symbol":"AAPL","close":269.44,"value":256.93,"ma_window":20},{"date":"2025-10-30","symbol":"AAPL","close":271.14,"value":257.643,"ma_window":20},{"date":"2025-10-31","symbol":"AAPL","close":270.11,"value":258.26,"ma_window":20},{"date":"2025-11-03","symbol":"AAPL","close":268.79,"value":258.8775,"ma_window":20},{"date":"2025-11-04","symbol":"AAPL","close":269.78,"value":259.555,"ma_window":20},{"date":"2025-11-05","symbol":"AAPL","close":269.88,"value":260.1585,"ma_window":20},{"date":"2025-11-06","symbol":"AAPL","close":269.51,"value":260.9445,"ma_window":20},{"date":"2025-11-07","symbol":"AAPL","close":268.21,"value":262.1035,"ma_window":20},{"date":"2025-11-10","symbol":"AAPL","close":269.43,"value":263.204,"ma_window":20},{"date":"2025-11-11","symbol":"AAPL","close":275.25,"value":264.59,"ma_window":20},{"date":"2025-11-12","symbol":"AAPL","close":273.47,"value":265.8085,"ma_window":20},{"date":"2025-11-13","symbol":"AAPL","close":272.95,"value":267.0955,"ma_window":20},{"date":"2025-11-14","symbol":"AAPL","close":272.41,"value":268.1135,"ma_window":20},{"date":"2025-11-17","symbol":"AAPL","close":267.46,"value":268.387,"ma_window":20},{"date":"2025-11-18","symbol":"AAPL","close":267.44,"value":268.633,"ma_window":20},{"date":"2025-11-19","symbol":"AAPL","close":268.56,"value":269.151,"ma_window":20},{"date":"2025-11-20","symbol":"AAPL","close":266.25,"value":269.497,"ma_window":20},{"date":"2025-11-21","symbol":"AAPL","close":271.49,"value":269.943,"ma_window":20},{"date":"2025-11-24","symbol":"AAPL","close":275.92,"value":270.3115,"ma_window":20},{"date":"2025-11-25","symbol":"AAPL","close":276.97,"value":270.723,"ma_window":20},{"date":"2025-11-26","symbol":"AAPL","close":277.55,"value":271.1285,"ma_window":20},{"date":"2025-11-28","symbol":"AAPL","close":278.85,"value":271.514,"ma_window":20},{"date":"2025-12-01","symbol":"AAPL","close":283.1,"value":272.1635,"ma_window":20},{"date":"2025-12-02","symbol":"AAPL","close":286.19,"value":273.0335,"ma_window":20},{"date":"2025-12-03","symbol":"AAPL","close":284.15,"value":273.752,"ma_window":20},{"date":"2025-12-04","symbol":"AAPL","close":280.7,"value":274.293,"ma_window":20},{"date":"2025-12-05","symbol":"AAPL","close":278.78,"value":274.7565,"ma_window":20},{"date":"2025-12-08","symbol":"AAPL","close":277.89,"value":275.2405,"ma_window":20},{"date":"2025-12-09","symbol":"AAPL","close":277.18,"value":275.628,"ma_window":20},{"date":"2025-12-10","symbol":"AAPL","close":278.78,"value":275.8045,"ma_window":20},{"date":"2025-12-11","symbol":"AAPL","close":278.03,"value":276.0325,"ma_window":20},{"date":"2025-12-12","symbol":"AAPL","close":278.28,"value":276.299,"ma_window":20},{"date":"2025-12-15","symbol":"AAPL","close":274.11,"value":276.384,"ma_window":20},{"date":"2025-12-16","symbol":"AAPL","close":274.61,"value":276.7415,"ma_window":20},{"date":"2025-12-17","symbol":"AAPL","close":271.84,"value":276.9615,"ma_window":20},{"date":"2025-12-18","symbol":"AAPL","close":272.19,"value":277.143,"ma_window":20},{"date":"2025-12-19","symbol":"AAPL","close":273.67,"value":277.514,"ma_window":20},{"date":"2025-12-22","symbol":"AAPL","close":270.97,"value":277.488,"ma_window":20},{"date":"2025-12-23","symbol":"AAPL","close":272.36,"value":277.31,"ma_window":20},{"date":"2025-12-24","symbol":"AAPL","close":273.81,"value":277.152,"ma_window":20},{"date":"2025-12-26","symbol":"AAPL","close":273.4,"value":276.9445,"ma_window":20},{"date":"2025-12-29","symbol":"AAPL","close":273.76,"value":276.69,"ma_window":20},{"date":"2025-12-30","symbol":"AAPL","close":273.08,"value":276.189,"ma_window":20},{"date":"2025-12-31","symbol":"AAPL","close":271.86,"value":275.4725,"ma_window":20},{"date":"2026-01-02","symbol":"AAPL","close":271.01,"value":274.8155,"ma_window":20},{"date":"2026-01-05","symbol":"AAPL","close":267.26,"value":274.1435,"ma_window":20},{"date":"2026-01-06","symbol":"AAPL","close":262.36,"value":273.3225,"ma_window":20},{"date":"2026-01-07","symbol":"AAPL","close":260.33,"value":272.4445,"ma_window":20},{"date":"2026-01-08","symbol":"AAPL","close":259.04,"value":271.5375,"ma_window":20},{"date":"2026-01-09","symbol":"AAPL","close":259.37,"value":270.567,"ma_window":20},{"date":"2026-01-12","symbol":"AAPL","close":260.25,"value":269.678,"ma_window":20},{"date":"2026-01-13","symbol":"AAPL","close":261.05,"value":268.8165,"ma_window":20},{"date":"2026-01-14","symbol":"AAPL","close":259.96,"value":268.109,"ma_window":20},{"date":"2026-01-15","symbol":"AAPL","close":258.21,"value":267.289,"ma_window":20},{"date":"2026-01-16","symbol":"AAPL","close":255.53,"value":266.4735,"ma_window":20},{"date":"2026-01-20","symbol":"AAPL","close":246.7,"value":265.199,"ma_window":20},{"date":"2026-01-21","symbol":"AAPL","close":247.65,"value":263.898,"ma_window":20},{"date":"2026-01-22","symbol":"AAPL","close":248.35,"value":262.767,"ma_window":20},{"date":"2026-01-23","symbol":"AAPL","close":248.04,"value":261.551,"ma_window":20},{"date":"2025-07-30","symbol":"AMZN","close":230.19,"value":230.19,"ma_window":20},{"date":"2025-07-31","symbol":"AMZN","close":234.11,"value":232.15,"ma_window":20},{"date":"2025-08-01","symbol":"AMZN","close":214.75,"value":226.35,"ma_window":20},{"date":"2025-08-04","symbol":"AMZN","close":211.65,"value":222.675,"ma_window":20},{"date":"2025-08-05","symbol":"AMZN","close":213.75,"value":220.89,"ma_window":20},{"date":"2025-08-06","symbol":"AMZN","close":222.31,"value":221.1266666667,"ma_window":20},{"date":"2025-08-07","symbol":"AMZN","close":223.13,"value":221.4128571429,"ma_window":20},{"date":"2025-08-08","symbol":"AMZN","close":222.69,"value":221.5725,"ma_window":20},{"date":"2025-08-11","symbol":"AMZN","close":221.3,"value":221.5422222222,"ma_window":20},{"date":"2025-08-12","symbol":"AMZN","close":221.47,"value":221.535,"ma_window":20},{"date":"2025-08-13","symbol":"AMZN","close":224.56,"value":221.81,"ma_window":20},{"date":"2025-08-14","symbol":"AMZN","close":230.98,"value":222.5741666667,"ma_window":20},{"date":"2025-08-15","symbol":"AMZN","close":231.03,"value":223.2246153846,"ma_window":20},{"date":"2025-08-18","symbol":"AMZN","close":231.49,"value":223.815,"ma_window":20},{"date":"2025-08-19","symbol":"AMZN","close":228.01,"value":224.0946666667,"ma_window":20},{"date":"2025-08-20","symbol":"AMZN","close":223.81,"value":224.076875,"ma_window":20},{"date":"2025-08-21","symbol":"AMZN","close":221.95,"value":223.9517647059,"ma_window":20},{"date":"2025-08-22","symbol":"AMZN","close":228.84,"value":224.2233333333,"ma_window":20},{"date":"2025-08-25","symbol":"AMZN","close":227.94,"value":224.4189473684,"ma_window":20},{"date":"2025-08-26","symbol":"AMZN","close":228.71,"value":224.6335,"ma_window":20},{"date":"2025-08-27","symbol":"AMZN","close":229.12,"value":224.58,"ma_window":20},{"date":"2025-08-28","symbol":"AMZN","close":231.6,"value":224.4545,"ma_window":20},{"date":"2025-08-29","symbol":"AMZN","close":229,"value":225.167,"ma_window":20},{"date":"2025-09-02","symbol":"AMZN","close":225.34,"value":225.8515,"ma_window":20},{"date":"2025-09-03","symbol":"AMZN","close":225.99,"value":226.4635,"ma_window":20},{"date":"2025-09-04","symbol":"AMZN","close":235.68,"value":227.132,"ma_window":20},{"date":"2025-09-05","symbol":"AMZN","close":232.33,"value":227.592,"ma_window":20},{"date":"2025-09-08","symbol":"AMZN","close":235.84,"value":228.2495,"ma_window":20},{"date":"2025-09-09","symbol":"AMZN","close":238.24,"value":229.0965,"ma_window":20},{"date":"2025-09-10","symbol":"AMZN","close":230.33,"value":229.5395,"ma_window":20},{"date":"2025-09-11","symbol":"AMZN","close":229.95,"value":229.809,"ma_window":20},{"date":"2025-09-12","symbol":"AMZN","close":228.15,"value":229.6675,"ma_window":20},{"date":"2025-09-15","symbol":"AMZN","close":231.43,"value":229.6875,"ma_window":20},{"date":"2025-09-16","symbol":"AMZN","close":234.05,"value":229.8155,"ma_window":20},{"date":"2025-09-17","symbol":"AMZN","close":231.62,"value":229.996,"ma_window":20},{"date":"2025-09-18","symbol":"AMZN","close":231.23,"value":230.367,"ma_window":20},{"date":"2025-09-19","symbol":"AMZN","close":231.48,"value":230.8435,"ma_window":20},{"date":"2025-09-22","symbol":"AMZN","close":227.63,"value":230.783,"ma_window":20},{"date":"2025-09-23","symbol":"AMZN","close":220.71,"value":230.4215,"ma_window":20},{"date":"2025-09-24","symbol":"AMZN","close":220.21,"value":229.9965,"ma_window":20},{"date":"2025-09-25","symbol":"AMZN","close":218.15,"value":229.448,"ma_window":20},{"date":"2025-09-26","symbol":"AMZN","close":219.78,"value":228.857,"ma_window":20},{"date":"2025-09-29","symbol":"AMZN","close":222.17,"value":228.5155,"ma_window":20},{"date":"2025-09-30","symbol":"AMZN","close":219.57,"value":228.227,"ma_window":20},{"date":"2025-10-01","symbol":"AMZN","close":220.63,"value":227.959,"ma_window":20},{"date":"2025-10-02","symbol":"AMZN","close":222.41,"value":227.2955,"ma_window":20},{"date":"2025-10-03","symbol":"AMZN","close":219.51,"value":226.6545,"ma_window":20},{"date":"2025-10-06","symbol":"AMZN","close":220.9,"value":225.9075,"ma_window":20},{"date":"2025-10-07","symbol":"AMZN","close":221.78,"value":225.0845,"ma_window":20},{"date":"2025-10-08","symbol":"AMZN","close":225.22,"value":224.829,"ma_window":20},{"date":"2025-10-09","symbol":"AMZN","close":227.74,"value":224.7185,"ma_window":20},{"date":"2025-10-10","symbol":"AMZN","close":216.37,"value":224.1295,"ma_window":20},{"date":"2025-10-13","symbol":"AMZN","close":220.07,"value":223.5615,"ma_window":20},{"date":"2025-10-14","symbol":"AMZN","close":216.39,"value":222.6785,"ma_window":20},{"date":"2025-10-15","symbol":"AMZN","close":215.57,"value":221.876,"ma_window":20},{"date":"2025-10-16","symbol":"AMZN","close":214.47,"value":221.038,"ma_window":20},{"date":"2025-10-17","symbol":"AMZN","close":213.04,"value":220.116,"ma_window":20},{"date":"2025-10-20","symbol":"AMZN","close":216.48,"value":219.5585,"ma_window":20},{"date":"2025-10-21","symbol":"AMZN","close":222.03,"value":219.6245,"ma_window":20},{"date":"2025-10-22","symbol":"AMZN","close":217.95,"value":219.5115,"ma_window":20},{"date":"2025-10-23","symbol":"AMZN","close":221.09,"value":219.6585,"ma_window":20},{"date":"2025-10-24","symbol":"AMZN","close":224.21,"value":219.88,"ma_window":20},{"date":"2025-10-27","symbol":"AMZN","close":226.97,"value":220.12,"ma_window":20},{"date":"2025-10-28","symbol":"AMZN","close":229.25,"value":220.604,"ma_window":20},{"date":"2025-10-29","symbol":"AMZN","close":230.3,"value":221.0875,"ma_window":20},{"date":"2025-10-30","symbol":"AMZN","close":222.86,"value":221.11,"ma_window":20},{"date":"2025-10-31","symbol":"AMZN","close":244.22,"value":222.3455,"ma_window":20},{"date":"2025-11-03","symbol":"AMZN","close":254,"value":224.0005,"ma_window":20},{"date":"2025-11-04","symbol":"AMZN","close":249.32,"value":225.3775,"ma_window":20},{"date":"2025-11-05","symbol":"AMZN","close":250.2,"value":226.6265,"ma_window":20},{"date":"2025-11-06","symbol":"AMZN","close":243.04,"value":227.3915,"ma_window":20},{"date":"2025-11-07","symbol":"AMZN","close":244.41,"value":228.7935,"ma_window":20},{"date":"2025-11-10","symbol":"AMZN","close":248.4,"value":230.21,"ma_window":20},{"date":"2025-11-11","symbol":"AMZN","close":249.1,"value":231.8455,"ma_window":20},{"date":"2025-11-12","symbol":"AMZN","close":244.2,"value":233.277,"ma_window":20},{"date":"2025-11-13","symbol":"AMZN","close":237.58,"value":234.4325,"ma_window":20},{"date":"2025-11-14","symbol":"AMZN","close":234.69,"value":235.515,"ma_window":20},{"date":"2025-11-17","symbol":"AMZN","close":232.87,"value":236.3345,"ma_window":20},{"date":"2025-11-18","symbol":"AMZN","close":222.55,"value":236.3605,"ma_window":20},{"date":"2025-11-19","symbol":"AMZN","close":222.69,"value":236.5975,"ma_window":20},{"date":"2025-11-20","symbol":"AMZN","close":217.14,"value":236.4,"ma_window":20},{"date":"2025-11-21","symbol":"AMZN","close":220.69,"value":236.224,"ma_window":20},{"date":"2025-11-24","symbol":"AMZN","close":226.28,"value":236.1895,"ma_window":20},{"date":"2025-11-25","symbol":"AMZN","close":229.67,"value":236.2105,"ma_window":20},{"date":"2025-11-26","symbol":"AMZN","close":229.16,"value":236.1535,"ma_window":20},{"date":"2025-11-28","symbol":"AMZN","close":233.22,"value":236.6715,"ma_window":20},{"date":"2025-12-01","symbol":"AMZN","close":233.88,"value":236.1545,"ma_window":20},{"date":"2025-12-02","symbol":"AMZN","close":234.42,"value":235.1755,"ma_window":20},{"date":"2025-12-03","symbol":"AMZN","close":232.38,"value":234.3285,"ma_window":20},{"date":"2025-12-04","symbol":"AMZN","close":229.11,"value":233.274,"ma_window":20},{"date":"2025-12-05","symbol":"AMZN","close":229.53,"value":232.5985,"ma_window":20},{"date":"2025-12-08","symbol":"AMZN","close":226.89,"value":231.7225,"ma_window":20},{"date":"2025-12-09","symbol":"AMZN","close":227.92,"value":230.6985,"ma_window":20},{"date":"2025-12-10","symbol":"AMZN","close":231.78,"value":229.8325,"ma_window":20},{"date":"2025-12-11","symbol":"AMZN","close":230.28,"value":229.1365,"ma_window":20},{"date":"2025-12-12","symbol":"AMZN","close":226.19,"value":228.567,"ma_window":20},{"date":"2025-12-15","symbol":"AMZN","close":222.54,"value":227.9595,"ma_window":20},{"date":"2025-12-16","symbol":"AMZN","close":222.56,"value":227.444,"ma_window":20},{"date":"2025-12-17","symbol":"AMZN","close":221.27,"value":227.38,"ma_window":20},{"date":"2025-12-18","symbol":"AMZN","close":226.76,"value":227.5835,"ma_window":20},{"date":"2025-12-19","symbol":"AMZN","close":227.35,"value":228.094,"ma_window":20},{"date":"2025-12-22","symbol":"AMZN","close":228.43,"value":228.481,"ma_window":20},{"date":"2025-12-23","symbol":"AMZN","close":232.14,"value":228.774,"ma_window":20},{"date":"2025-12-24","symbol":"AMZN","close":232.38,"value":228.9095,"ma_window":20},{"date":"2025-12-26","symbol":"AMZN","close":232.52,"value":229.0775,"ma_window":20},{"date":"2025-12-29","symbol":"AMZN","close":232.07,"value":229.02,"ma_window":20},{"date":"2025-12-30","symbol":"AMZN","close":232.53,"value":228.9525,"ma_window":20},{"date":"2025-12-31","symbol":"AMZN","close":230.82,"value":228.7725,"ma_window":20},{"date":"2026-01-02","symbol":"AMZN","close":226.5,"value":228.4785,"ma_window":20},{"date":"2026-01-05","symbol":"AMZN","close":233.06,"value":228.676,"ma_window":20},{"date":"2026-01-06","symbol":"AMZN","close":240.93,"value":229.246,"ma_window":20},{"date":"2026-01-07","symbol":"AMZN","close":241.56,"value":229.9795,"ma_window":20},{"date":"2026-01-08","symbol":"AMZN","close":246.29,"value":230.898,"ma_window":20},{"date":"2026-01-09","symbol":"AMZN","close":247.38,"value":231.678,"ma_window":20},{"date":"2026-01-12","symbol":"AMZN","close":246.47,"value":232.4875,"ma_window":20},{"date":"2026-01-13","symbol":"AMZN","close":242.6,"value":233.308,"ma_window":20},{"date":"2026-01-14","symbol":"AMZN","close":236.65,"value":234.0135,"ma_window":20},{"date":"2026-01-15","symbol":"AMZN","close":238.18,"value":234.7945,"ma_window":20},{"date":"2026-01-16","symbol":"AMZN","close":239.12,"value":235.687,"ma_window":20},{"date":"2026-01-20","symbol":"AMZN","close":231,"value":235.899,"ma_window":20},{"date":"2026-01-21","symbol":"AMZN","close":231.31,"value":236.097,"ma_window":20},{"date":"2026-01-22","symbol":"AMZN","close":234.34,"value":236.3925,"ma_window":20},{"date":"2026-01-23","symbol":"AMZN","close":239.16,"value":236.7435,"ma_window":20},{"date":"2025-07-30","symbol":"GOOGL","close":196.23,"value":196.23,"ma_window":20},{"date":"2025-07-31","symbol":"GOOGL","close":191.6,"value":193.915,"ma_window":20},{"date":"2025-08-01","symbol":"GOOGL","close":188.84,"value":192.2233333333,"ma_window":20},{"date":"2025-08-04","symbol":"GOOGL","close":194.74,"value":192.8525,"ma_window":20},{"date":"2025-08-05","symbol":"GOOGL","close":194.37,"value":193.156,"ma_window":20},{"date":"2025-08-06","symbol":"GOOGL","close":195.79,"value":193.595,"ma_window":20},{"date":"2025-08-07","symbol":"GOOGL","close":196.22,"value":193.97,"ma_window":20},{"date":"2025-08-08","symbol":"GOOGL","close":201.11,"value":194.8625,"ma_window":20},{"date":"2025-08-11","symbol":"GOOGL","close":200.69,"value":195.51,"ma_window":20},{"date":"2025-08-12","symbol":"GOOGL","close":203.03,"value":196.262,"ma_window":20},{"date":"2025-08-13","symbol":"GOOGL","close":201.65,"value":196.7518181818,"ma_window":20},{"date":"2025-08-14","symbol":"GOOGL","close":202.63,"value":197.2416666667,"ma_window":20},{"date":"2025-08-15","symbol":"GOOGL","close":203.58,"value":197.7292307692,"ma_window":20},{"date":"2025-08-18","symbol":"GOOGL","close":203.19,"value":198.1192857143,"ma_window":20},{"date":"2025-08-19","symbol":"GOOGL","close":201.26,"value":198.3286666667,"ma_window":20},{"date":"2025-08-20","symbol":"GOOGL","close":199.01,"value":198.37125,"ma_window":20},{"date":"2025-08-21","symbol":"GOOGL","close":199.44,"value":198.4341176471,"ma_window":20},{"date":"2025-08-22","symbol":"GOOGL","close":205.77,"value":198.8416666667,"ma_window":20},{"date":"2025-08-25","symbol":"GOOGL","close":208.17,"value":199.3326315789,"ma_window":20},{"date":"2025-08-26","symbol":"GOOGL","close":206.82,"value":199.707,"ma_window":20},{"date":"2025-08-27","symbol":"GOOGL","close":207.16,"value":200.2535,"ma_window":20},{"date":"2025-08-28","symbol":"GOOGL","close":211.31,"value":201.239,"ma_window":20},{"date":"2025-08-29","symbol":"GOOGL","close":212.58,"value":202.426,"ma_window":20},{"date":"2025-09-02","symbol":"GOOGL","close":211.02,"value":203.24,"ma_window":20},{"date":"2025-09-03","symbol":"GOOGL","close":230.3,"value":205.0365,"ma_window":20},{"date":"2025-09-04","symbol":"GOOGL","close":231.94,"value":206.844,"ma_window":20},{"date":"2025-09-05","symbol":"GOOGL","close":234.64,"value":208.765,"ma_window":20},{"date":"2025-09-08","symbol":"GOOGL","close":233.89,"value":210.404,"ma_window":20},{"date":"2025-09-09","symbol":"GOOGL","close":239.47,"value":212.343,"ma_window":20},{"date":"2025-09-10","symbol":"GOOGL","close":239.01,"value":214.142,"ma_window":20},{"date":"2025-09-11","symbol":"GOOGL","close":240.21,"value":216.07,"ma_window":20},{"date":"2025-09-12","symbol":"GOOGL","close":240.64,"value":217.9705,"ma_window":20},{"date":"2025-09-15","symbol":"GOOGL","close":251.45,"value":220.364,"ma_window":20},{"date":"2025-09-16","symbol":"GOOGL","close":251,"value":222.7545,"ma_window":20},{"date":"2025-09-17","symbol":"GOOGL","close":249.37,"value":225.16,"ma_window":20},{"date":"2025-09-18","symbol":"GOOGL","close":251.87,"value":227.803,"ma_window":20},{"date":"2025-09-19","symbol":"GOOGL","close":254.55,"value":230.5585,"ma_window":20},{"date":"2025-09-22","symbol":"GOOGL","close":252.36,"value":232.888,"ma_window":20},{"date":"2025-09-23","symbol":"GOOGL","close":251.5,"value":235.0545,"ma_window":20},{"date":"2025-09-24","symbol":"GOOGL","close":246.98,"value":237.0625,"ma_window":20},{"date":"2025-09-25","symbol":"GOOGL","close":245.63,"value":238.986,"ma_window":20},{"date":"2025-09-26","symbol":"GOOGL","close":246.38,"value":240.7395,"ma_window":20},{"date":"2025-09-29","symbol":"GOOGL","close":243.89,"value":242.305,"ma_window":20},{"date":"2025-09-30","symbol":"GOOGL","close":242.94,"value":243.901,"ma_window":20},{"date":"2025-10-01","symbol":"GOOGL","close":244.74,"value":244.623,"ma_window":20},{"date":"2025-10-02","symbol":"GOOGL","close":245.53,"value":245.3025,"ma_window":20},{"date":"2025-10-03","symbol":"GOOGL","close":245.19,"value":245.83,"ma_window":20},{"date":"2025-10-06","symbol":"GOOGL","close":250.27,"value":246.649,"ma_window":20},{"date":"2025-10-07","symbol":"GOOGL","close":245.6,"value":246.9555,"ma_window":20},{"date":"2025-10-08","symbol":"GOOGL","close":244.46,"value":247.228,"ma_window":20},{"date":"2025-10-09","symbol":"GOOGL","close":241.37,"value":247.286,"ma_window":20},{"date":"2025-10-10","symbol":"GOOGL","close":236.42,"value":247.075,"ma_window":20},{"date":"2025-10-13","symbol":"GOOGL","close":243.99,"value":246.702,"ma_window":20},{"date":"2025-10-14","symbol":"GOOGL","close":245.29,"value":246.4165,"ma_window":20},{"date":"2025-10-15","symbol":"GOOGL","close":250.87,"value":246.4915,"ma_window":20},{"date":"2025-10-16","symbol":"GOOGL","close":251.3,"value":246.463,"ma_window":20},{"date":"2025-10-17","symbol":"GOOGL","close":253.13,"value":246.392,"ma_window":20},{"date":"2025-10-20","symbol":"GOOGL","close":256.38,"value":246.593,"ma_window":20},{"date":"2025-10-21","symbol":"GOOGL","close":250.3,"value":246.533,"ma_window":20},{"date":"2025-10-22","symbol":"GOOGL","close":251.53,"value":246.7605,"ma_window":20},{"date":"2025-10-23","symbol":"GOOGL","close":252.91,"value":247.1245,"ma_window":20},{"date":"2025-10-24","symbol":"GOOGL","close":259.75,"value":247.793,"ma_window":20},{"date":"2025-10-27","symbol":"GOOGL","close":269.09,"value":249.053,"ma_window":20},{"date":"2025-10-28","symbol":"GOOGL","close":267.3,"value":250.271,"ma_window":20},{"date":"2025-10-29","symbol":"GOOGL","close":274.39,"value":251.7535,"ma_window":20},{"date":"2025-10-30","symbol":"GOOGL","close":281.3,"value":253.542,"ma_window":20},{"date":"2025-10-31","symbol":"GOOGL","close":281.01,"value":255.333,"ma_window":20},{"date":"2025-11-03","symbol":"GOOGL","close":283.53,"value":256.996,"ma_window":20},{"date":"2025-11-04","symbol":"GOOGL","close":277.36,"value":258.584,"ma_window":20},{"date":"2025-11-05","symbol":"GOOGL","close":284.12,"value":260.567,"ma_window":20},{"date":"2025-11-06","symbol":"GOOGL","close":284.56,"value":262.7265,"ma_window":20},{"date":"2025-11-07","symbol":"GOOGL","close":278.65,"value":264.838,"ma_window":20},{"date":"2025-11-10","symbol":"GOOGL","close":289.91,"value":267.134,"ma_window":20},{"date":"2025-11-11","symbol":"GOOGL","close":291.12,"value":269.4255,"ma_window":20},{"date":"2025-11-12","symbol":"GOOGL","close":286.52,"value":271.208,"ma_window":20},{"date":"2025-11-13","symbol":"GOOGL","close":278.39,"value":272.5625,"ma_window":20},{"date":"2025-11-14","symbol":"GOOGL","close":276.23,"value":273.7175,"ma_window":20},{"date":"2025-11-17","symbol":"GOOGL","close":284.83,"value":275.14,"ma_window":20},{"date":"2025-11-18","symbol":"GOOGL","close":284.09,"value":276.8295,"ma_window":20},{"date":"2025-11-19","symbol":"GOOGL","close":292.62,"value":278.884,"ma_window":20},{"date":"2025-11-20","symbol":"GOOGL","close":289.26,"value":280.7015,"ma_window":20},{"date":"2025-11-21","symbol":"GOOGL","close":299.46,"value":282.687,"ma_window":20},{"date":"2025-11-24","symbol":"GOOGL","close":318.37,"value":285.151,"ma_window":20},{"date":"2025-11-25","symbol":"GOOGL","close":323.23,"value":287.9475,"ma_window":20},{"date":"2025-11-26","symbol":"GOOGL","close":319.74,"value":290.215,"ma_window":20},{"date":"2025-11-28","symbol":"GOOGL","close":319.97,"value":292.1485,"ma_window":20},{"date":"2025-12-01","symbol":"GOOGL","close":314.68,"value":293.832,"ma_window":20},{"date":"2025-12-02","symbol":"GOOGL","close":315.6,"value":295.4355,"ma_window":20},{"date":"2025-12-03","symbol":"GOOGL","close":319.42,"value":297.5385,"ma_window":20},{"date":"2025-12-04","symbol":"GOOGL","close":317.41,"value":299.203,"ma_window":20},{"date":"2025-12-05","symbol":"GOOGL","close":321.06,"value":301.028,"ma_window":20},{"date":"2025-12-08","symbol":"GOOGL","close":313.72,"value":302.7815,"ma_window":20},{"date":"2025-12-09","symbol":"GOOGL","close":317.08,"value":304.14,"ma_window":20},{"date":"2025-12-10","symbol":"GOOGL","close":320.21,"value":305.5945,"ma_window":20},{"date":"2025-12-11","symbol":"GOOGL","close":312.43,"value":306.89,"ma_window":20},{"date":"2025-12-12","symbol":"GOOGL","close":309.29,"value":308.435,"ma_window":20},{"date":"2025-12-15","symbol":"GOOGL","close":308.22,"value":310.0345,"ma_window":20},{"date":"2025-12-16","symbol":"GOOGL","close":306.57,"value":311.1215,"ma_window":20},{"date":"2025-12-17","symbol":"GOOGL","close":296.72,"value":311.753,"ma_window":20},{"date":"2025-12-18","symbol":"GOOGL","close":302.46,"value":312.245,"ma_window":20},{"date":"2025-12-19","symbol":"GOOGL","close":307.16,"value":313.14,"ma_window":20},{"date":"2025-12-22","symbol":"GOOGL","close":309.78,"value":313.656,"ma_window":20},{"date":"2025-12-23","symbol":"GOOGL","close":314.35,"value":313.455,"ma_window":20},{"date":"2025-12-24","symbol":"GOOGL","close":314.09,"value":312.998,"ma_window":20},{"date":"2025-12-26","symbol":"GOOGL","close":313.51,"value":312.6865,"ma_window":20},{"date":"2025-12-29","symbol":"GOOGL","close":313.56,"value":312.366,"ma_window":20},{"date":"2025-12-30","symbol":"GOOGL","close":313.85,"value":312.3245,"ma_window":20},{"date":"2025-12-31","symbol":"GOOGL","close":313,"value":312.1945,"ma_window":20},{"date":"2026-01-02","symbol":"GOOGL","close":315.15,"value":311.981,"ma_window":20},{"date":"2026-01-05","symbol":"GOOGL","close":316.54,"value":311.9375,"ma_window":20},{"date":"2026-01-06","symbol":"GOOGL","close":314.34,"value":311.6015,"ma_window":20},{"date":"2026-01-07","symbol":"GOOGL","close":321.98,"value":312.0145,"ma_window":20},{"date":"2026-01-08","symbol":"GOOGL","close":325.44,"value":312.4325,"ma_window":20},{"date":"2026-01-09","symbol":"GOOGL","close":328.57,"value":312.8505,"ma_window":20},{"date":"2026-01-12","symbol":"GOOGL","close":331.86,"value":313.822,"ma_window":20},{"date":"2026-01-13","symbol":"GOOGL","close":335.97,"value":315.156,"ma_window":20},{"date":"2026-01-14","symbol":"GOOGL","close":335.84,"value":316.537,"ma_window":20},{"date":"2026-01-15","symbol":"GOOGL","close":332.78,"value":317.8475,"ma_window":20},{"date":"2026-01-16","symbol":"GOOGL","close":330,"value":319.5115,"ma_window":20},{"date":"2026-01-20","symbol":"GOOGL","close":322,"value":320.4885,"ma_window":20},{"date":"2026-01-21","symbol":"GOOGL","close":328.38,"value":321.5495,"ma_window":20},{"date":"2026-01-22","symbol":"GOOGL","close":330.54,"value":322.5875,"ma_window":20},{"date":"2026-01-23","symbol":"GOOGL","close":327.93,"value":323.2665,"ma_window":20},{"date":"2025-07-30","symbol":"META","close":694.17,"value":694.17,"ma_window":20},{"date":"2025-07-31","symbol":"META","close":772.29,"value":733.23,"ma_window":20},{"date":"2025-08-01","symbol":"META","close":748.89,"value":738.45,"ma_window":20},{"date":"2025-08-04","symbol":"META","close":775.21,"value":747.64,"ma_window":20},{"date":"2025-08-05","symbol":"META","close":762.32,"value":750.576,"ma_window":20},{"date":"2025-08-06","symbol":"META","close":770.84,"value":753.9533333333,"ma_window":20},{"date":"2025-08-07","symbol":"META","close":760.7,"value":754.9171428571,"ma_window":20},{"date":"2025-08-08","symbol":"META","close":768.15,"value":756.57125,"ma_window":20},{"date":"2025-08-11","symbol":"META","close":764.73,"value":757.4777777778,"ma_window":20},{"date":"2025-08-12","symbol":"META","close":788.82,"value":760.612,"ma_window":20},{"date":"2025-08-13","symbol":"META","close":778.92,"value":762.2763636364,"ma_window":20},{"date":"2025-08-14","symbol":"META","close":780.97,"value":763.8341666667,"ma_window":20},{"date":"2025-08-15","symbol":"META","close":784.06,"value":765.39,"ma_window":20},{"date":"2025-08-18","symbol":"META","close":766.23,"value":765.45,"ma_window":20},{"date":"2025-08-19","symbol":"META","close":750.36,"value":764.444,"ma_window":20},{"date":"2025-08-20","symbol":"META","close":746.61,"value":763.329375,"ma_window":20},{"date":"2025-08-21","symbol":"META","close":738,"value":761.8394117647,"ma_window":20},{"date":"2025-08-22","symbol":"META","close":753.67,"value":761.3855555556,"ma_window":20},{"date":"2025-08-25","symbol":"META","close":752.18,"value":760.9010526316,"ma_window":20},{"date":"2025-08-26","symbol":"META","close":752.98,"value":760.505,"ma_window":20},{"date":"2025-08-27","symbol":"META","close":746.27,"value":763.11,"ma_window":20},{"date":"2025-08-28","symbol":"META","close":749.99,"value":761.995,"ma_window":20},{"date":"2025-08-29","symbol":"META","close":737.6,"value":761.4305,"ma_window":20},{"date":"2025-09-02","symbol":"META","close":734.02,"value":759.371,"ma_window":20},{"date":"2025-09-03","symbol":"META","close":735.95,"value":758.0525,"ma_window":20},{"date":"2025-09-04","symbol":"META","close":747.54,"value":756.8875,"ma_window":20},{"date":"2025-09-05","symbol":"META","close":751.33,"value":756.419,"ma_window":20},{"date":"2025-09-08","symbol":"META","close":751.18,"value":755.5705,"ma_window":20},{"date":"2025-09-09","symbol":"META","close":764.56,"value":755.562,"ma_window":20},{"date":"2025-09-10","symbol":"META","close":750.86,"value":753.664,"ma_window":20},{"date":"2025-09-11","symbol":"META","close":749.78,"value":752.207,"ma_window":20},{"date":"2025-09-12","symbol":"META","close":754.47,"value":750.882,"ma_window":20},{"date":"2025-09-15","symbol":"META","close":763.56,"value":749.857,"ma_window":20},{"date":"2025-09-16","symbol":"META","close":777.84,"value":750.4375,"ma_window":20},{"date":"2025-09-17","symbol":"META","close":774.57,"value":751.648,"ma_window":20},{"date":"2025-09-18","symbol":"META","close":779.09,"value":753.272,"ma_window":20},{"date":"2025-09-19","symbol":"META","close":777.22,"value":755.233,"ma_window":20},{"date":"2025-09-22","symbol":"META","close":764.54,"value":755.7765,"ma_window":20},{"date":"2025-09-23","symbol":"META","close":754.78,"value":755.9065,"ma_window":20},{"date":"2025-09-24","symbol":"META","close":760.04,"value":756.2595,"ma_window":20},{"date":"2025-09-25","symbol":"META","close":748.3,"value":756.361,"ma_window":20},{"date":"2025-09-26","symbol":"META","close":743.14,"value":756.0185,"ma_window":20},{"date":"2025-09-29","symbol":"META","close":742.79,"value":756.278,"ma_window":20},{"date":"2025-09-30","symbol":"META","close":733.78,"value":756.266,"ma_window":20},{"date":"2025-10-01","symbol":"META","close":716.76,"value":755.3065,"ma_window":20},{"date":"2025-10-02","symbol":"META","close":726.46,"value":754.2525,"ma_window":20},{"date":"2025-10-03","symbol":"META","close":709.98,"value":752.185,"ma_window":20},{"date":"2025-10-06","symbol":"META","close":715.08,"value":750.38,"ma_window":20},{"date":"2025-10-07","symbol":"META","close":712.5,"value":747.777,"ma_window":20},{"date":"2025-10-08","symbol":"META","close":717.26,"value":746.097,"ma_window":20},{"date":"2025-10-09","symbol":"META","close":732.91,"value":745.2535,"ma_window":20},{"date":"2025-10-10","symbol":"META","close":704.73,"value":742.7665,"ma_window":20},{"date":"2025-10-13","symbol":"META","close":715.12,"value":740.3445,"ma_window":20},{"date":"2025-10-14","symbol":"META","close":708.07,"value":736.856,"ma_window":20},{"date":"2025-10-15","symbol":"META","close":716.97,"value":733.976,"ma_window":20},{"date":"2025-10-16","symbol":"META","close":711.49,"value":730.596,"ma_window":20},{"date":"2025-10-17","symbol":"META","close":716.34,"value":727.552,"ma_window":20},{"date":"2025-10-20","symbol":"META","close":731.57,"value":725.9035,"ma_window":20},{"date":"2025-10-21","symbol":"META","close":732.67,"value":724.798,"ma_window":20},{"date":"2025-10-22","symbol":"META","close":732.81,"value":723.4365,"ma_window":20},{"date":"2025-10-23","symbol":"META","close":733.4,"value":722.6915,"ma_window":20},{"date":"2025-10-24","symbol":"META","close":737.76,"value":722.4225,"ma_window":20},{"date":"2025-10-27","symbol":"META","close":750.21,"value":722.7935,"ma_window":20},{"date":"2025-10-28","symbol":"META","close":750.83,"value":723.646,"ma_window":20},{"date":"2025-10-29","symbol":"META","close":751.06,"value":725.361,"ma_window":20},{"date":"2025-10-30","symbol":"META","close":665.93,"value":722.3345,"ma_window":20},{"date":"2025-10-31","symbol":"META","close":647.82,"value":719.2265,"ma_window":20},{"date":"2025-11-03","symbol":"META","close":637.19,"value":715.332,"ma_window":20},{"date":"2025-11-04","symbol":"META","close":626.81,"value":711.0475,"ma_window":20},{"date":"2025-11-05","symbol":"META","close":635.43,"value":706.956,"ma_window":20},{"date":"2025-11-06","symbol":"META","close":618.44,"value":701.2325,"ma_window":20},{"date":"2025-11-07","symbol":"META","close":621.2,"value":697.056,"ma_window":20},{"date":"2025-11-10","symbol":"META","close":631.25,"value":692.8625,"ma_window":20},{"date":"2025-11-11","symbol":"META","close":626.57,"value":688.7875,"ma_window":20},{"date":"2025-11-12","symbol":"META","close":608.51,"value":683.3645,"ma_window":20},{"date":"2025-11-13","symbol":"META","close":609.39,"value":678.2595,"ma_window":20},{"date":"2025-11-14","symbol":"META","close":608.96,"value":672.8905,"ma_window":20},{"date":"2025-11-17","symbol":"META","close":601.52,"value":666.388,"ma_window":20},{"date":"2025-11-18","symbol":"META","close":597.2,"value":659.6145,"ma_window":20},{"date":"2025-11-19","symbol":"META","close":589.84,"value":652.466,"ma_window":20},{"date":"2025-11-20","symbol":"META","close":588.67,"value":645.2295,"ma_window":20},{"date":"2025-11-21","symbol":"META","close":593.77,"value":638.03,"ma_window":20},{"date":"2025-11-24","symbol":"META","close":612.55,"value":631.147,"ma_window":20},{"date":"2025-11-25","symbol":"META","close":635.7,"value":625.3905,"ma_window":20},{"date":"2025-11-26","symbol":"META","close":633.09,"value":619.492,"ma_window":20},{"date":"2025-11-28","symbol":"META","close":647.42,"value":618.5665,"ma_window":20},{"date":"2025-12-01","symbol":"META","close":640.35,"value":618.193,"ma_window":20},{"date":"2025-12-02","symbol":"META","close":646.57,"value":618.662,"ma_window":20},{"date":"2025-12-03","symbol":"META","close":639.08,"value":619.2755,"ma_window":20},{"date":"2025-12-04","symbol":"META","close":660.99,"value":620.5535,"ma_window":20},{"date":"2025-12-05","symbol":"META","close":672.87,"value":623.275,"ma_window":20},{"date":"2025-12-08","symbol":"META","close":666.26,"value":625.528,"ma_window":20},{"date":"2025-12-09","symbol":"META","close":656.42,"value":626.7865,"ma_window":20},{"date":"2025-12-10","symbol":"META","close":649.6,"value":627.938,"ma_window":20},{"date":"2025-12-11","symbol":"META","close":652.18,"value":630.1215,"ma_window":20},{"date":"2025-12-12","symbol":"META","close":643.71,"value":631.8375,"ma_window":20},{"date":"2025-12-15","symbol":"META","close":647.51,"value":633.765,"ma_window":20},{"date":"2025-12-16","symbol":"META","close":657.15,"value":636.5465,"ma_window":20},{"date":"2025-12-17","symbol":"META","close":649.5,"value":639.1615,"ma_window":20},{"date":"2025-12-18","symbol":"META","close":664.45,"value":642.892,"ma_window":20},{"date":"2025-12-19","symbol":"META","close":658.77,"value":646.397,"ma_window":20},{"date":"2025-12-22","symbol":"META","close":661.5,"value":649.7835,"ma_window":20},{"date":"2025-12-23","symbol":"META","close":664.94,"value":652.403,"ma_window":20},{"date":"2025-12-24","symbol":"META","close":667.55,"value":653.9955,"ma_window":20},{"date":"2025-12-26","symbol":"META","close":663.29,"value":655.5055,"ma_window":20},{"date":"2025-12-29","symbol":"META","close":658.69,"value":656.069,"ma_window":20},{"date":"2025-12-30","symbol":"META","close":665.95,"value":657.349,"ma_window":20},{"date":"2025-12-31","symbol":"META","close":660.09,"value":658.025,"ma_window":20},{"date":"2026-01-02","symbol":"META","close":650.41,"value":658.5915,"ma_window":20},{"date":"2026-01-05","symbol":"META","close":658.79,"value":658.4815,"ma_window":20},{"date":"2026-01-06","symbol":"META","close":660.62,"value":657.869,"ma_window":20},{"date":"2026-01-07","symbol":"META","close":648.69,"value":656.9905,"ma_window":20},{"date":"2026-01-08","symbol":"META","close":646.06,"value":656.4725,"ma_window":20},{"date":"2026-01-09","symbol":"META","close":653.06,"value":656.6455,"ma_window":20},{"date":"2026-01-12","symbol":"META","close":641.97,"value":656.135,"ma_window":20},{"date":"2026-01-13","symbol":"META","close":631.09,"value":655.504,"ma_window":20},{"date":"2026-01-14","symbol":"META","close":615.52,"value":653.9045,"ma_window":20},{"date":"2026-01-15","symbol":"META","close":620.8,"value":652.087,"ma_window":20},{"date":"2026-01-16","symbol":"META","close":620.25,"value":650.6245,"ma_window":20},{"date":"2026-01-20","symbol":"META","close":604.12,"value":647.608,"ma_window":20},{"date":"2026-01-21","symbol":"META","close":612.96,"value":645.3175,"ma_window":20},{"date":"2026-01-22","symbol":"META","close":647.63,"value":644.624,"ma_window":20},{"date":"2026-01-23","symbol":"META","close":658.76,"value":644.315,"ma_window":20},{"date":"2025-07-30","symbol":"MSFT","close":511.44,"value":511.44,"ma_window":20},{"date":"2025-07-31","symbol":"MSFT","close":531.63,"value":521.535,"ma_window":20},{"date":"2025-08-01","symbol":"MSFT","close":522.27,"value":521.78,"ma_window":20},{"date":"2025-08-04","symbol":"MSFT","close":533.76,"value":524.775,"ma_window":20},{"date":"2025-08-05","symbol":"MSFT","close":525.9,"value":525,"ma_window":20},{"date":"2025-08-06","symbol":"MSFT","close":523.1,"value":524.6833333333,"ma_window":20},{"date":"2025-08-07","symbol":"MSFT","close":519.01,"value":523.8728571429,"ma_window":20},{"date":"2025-08-08","symbol":"MSFT","close":520.21,"value":523.415,"ma_window":20},{"date":"2025-08-11","symbol":"MSFT","close":519.94,"value":523.0288888889,"ma_window":20},{"date":"2025-08-12","symbol":"MSFT","close":527.38,"value":523.464,"ma_window":20},{"date":"2025-08-13","symbol":"MSFT","close":518.75,"value":523.0354545455,"ma_window":20},{"date":"2025-08-14","symbol":"MSFT","close":520.65,"value":522.8366666667,"ma_window":20},{"date":"2025-08-15","symbol":"MSFT","close":518.35,"value":522.4915384615,"ma_window":20},{"date":"2025-08-18","symbol":"MSFT","close":515.29,"value":521.9771428571,"ma_window":20},{"date":"2025-08-19","symbol":"MSFT","close":507.98,"value":521.044,"ma_window":20},{"date":"2025-08-20","symbol":"MSFT","close":503.95,"value":519.975625,"ma_window":20},{"date":"2025-08-21","symbol":"MSFT","close":503.3,"value":518.9947058824,"ma_window":20},{"date":"2025-08-22","symbol":"MSFT","close":506.28,"value":518.2883333333,"ma_window":20},{"date":"2025-08-25","symbol":"MSFT","close":503.32,"value":517.5005263158,"ma_window":20},{"date":"2025-08-26","symbol":"MSFT","close":501.1,"value":516.6805,"ma_window":20},{"date":"2025-08-27","symbol":"MSFT","close":505.79,"value":516.398,"ma_window":20},{"date":"2025-08-28","symbol":"MSFT","close":508.69,"value":515.251,"ma_window":20},{"date":"2025-08-29","symbol":"MSFT","close":505.74,"value":514.4245,"ma_window":20},{"date":"2025-09-02","symbol":"MSFT","close":504.18,"value":512.9455,"ma_window":20},{"date":"2025-09-03","symbol":"MSFT","close":504.41,"value":511.871,"ma_window":20},{"date":"2025-09-04","symbol":"MSFT","close":507.02,"value":511.067,"ma_window":20},{"date":"2025-09-05","symbol":"MSFT","close":494.08,"value":509.8205,"ma_window":20},{"date":"2025-09-08","symbol":"MSFT","close":497.27,"value":508.6735,"ma_window":20},{"date":"2025-09-09","symbol":"MSFT","close":497.48,"value":507.5505,"ma_window":20},{"date":"2025-09-10","symbol":"MSFT","close":499.44,"value":506.1535,"ma_window":20},{"date":"2025-09-11","symbol":"MSFT","close":500.07,"value":505.2195,"ma_window":20},{"date":"2025-09-12","symbol":"MSFT","close":508.95,"value":504.6345,"ma_window":20},{"date":"2025-09-15","symbol":"MSFT","close":514.4,"value":504.437,"ma_window":20},{"date":"2025-09-16","symbol":"MSFT","close":508.09,"value":504.077,"ma_window":20},{"date":"2025-09-17","symbol":"MSFT","close":509.07,"value":504.1315,"ma_window":20},{"date":"2025-09-18","symbol":"MSFT","close":507.5,"value":504.309,"ma_window":20},{"date":"2025-09-19","symbol":"MSFT","close":516.96,"value":504.992,"ma_window":20},{"date":"2025-09-22","symbol":"MSFT","close":513.49,"value":505.3525,"ma_window":20},{"date":"2025-09-23","symbol":"MSFT","close":508.28,"value":505.6005,"ma_window":20},{"date":"2025-09-24","symbol":"MSFT","close":509.2,"value":506.0055,"ma_window":20},{"date":"2025-09-25","symbol":"MSFT","close":506.08,"value":506.02,"ma_window":20},{"date":"2025-09-26","symbol":"MSFT","close":510.5,"value":506.1105,"ma_window":20},{"date":"2025-09-29","symbol":"MSFT","close":513.64,"value":506.5055,"ma_window":20},{"date":"2025-09-30","symbol":"MSFT","close":516.98,"value":507.1455,"ma_window":20},{"date":"2025-10-01","symbol":"MSFT","close":518.74,"value":507.862,"ma_window":20},{"date":"2025-10-02","symbol":"MSFT","close":514.78,"value":508.25,"ma_window":20},{"date":"2025-10-03","symbol":"MSFT","close":516.38,"value":509.365,"ma_window":20},{"date":"2025-10-06","symbol":"MSFT","close":527.58,"value":510.8805,"ma_window":20},{"date":"2025-10-07","symbol":"MSFT","close":523,"value":512.1565,"ma_window":20},{"date":"2025-10-08","symbol":"MSFT","close":523.87,"value":513.378,"ma_window":20},{"date":"2025-10-09","symbol":"MSFT","close":521.42,"value":514.4455,"ma_window":20},{"date":"2025-10-10","symbol":"MSFT","close":510.01,"value":514.4985,"ma_window":20},{"date":"2025-10-13","symbol":"MSFT","close":513.09,"value":514.433,"ma_window":20},{"date":"2025-10-14","symbol":"MSFT","close":512.61,"value":514.659,"ma_window":20},{"date":"2025-10-15","symbol":"MSFT","close":512.47,"value":514.829,"ma_window":20},{"date":"2025-10-16","symbol":"MSFT","close":510.65,"value":514.9865,"ma_window":20},{"date":"2025-10-17","symbol":"MSFT","close":512.62,"value":514.7695,"ma_window":20},{"date":"2025-10-20","symbol":"MSFT","close":515.82,"value":514.886,"ma_window":20},{"date":"2025-10-21","symbol":"MSFT","close":516.69,"value":515.3065,"ma_window":20},{"date":"2025-10-22","symbol":"MSFT","close":519.57,"value":515.825,"ma_window":20},{"date":"2025-10-23","symbol":"MSFT","close":519.59,"value":516.5005,"ma_window":20},{"date":"2025-10-24","symbol":"MSFT","close":522.63,"value":517.107,"ma_window":20},{"date":"2025-10-27","symbol":"MSFT","close":530.53,"value":517.9515,"ma_window":20},{"date":"2025-10-28","symbol":"MSFT","close":541.06,"value":519.1555,"ma_window":20},{"date":"2025-10-29","symbol":"MSFT","close":540.54,"value":520.2455,"ma_window":20},{"date":"2025-10-30","symbol":"MSFT","close":524.78,"value":520.7455,"ma_window":20},{"date":"2025-10-31","symbol":"MSFT","close":516.84,"value":520.7685,"ma_window":20},{"date":"2025-11-03","symbol":"MSFT","close":516.06,"value":520.1925,"ma_window":20},{"date":"2025-11-04","symbol":"MSFT","close":513.37,"value":519.711,"ma_window":20},{"date":"2025-11-05","symbol":"MSFT","close":506.21,"value":518.828,"ma_window":20},{"date":"2025-11-06","symbol":"MSFT","close":496.17,"value":517.5655,"ma_window":20},{"date":"2025-11-07","symbol":"MSFT","close":495.89,"value":516.8595,"ma_window":20},{"date":"2025-11-10","symbol":"MSFT","close":505.05,"value":516.4575,"ma_window":20},{"date":"2025-11-11","symbol":"MSFT","close":507.73,"value":516.2135,"ma_window":20},{"date":"2025-11-12","symbol":"MSFT","close":510.19,"value":516.0995,"ma_window":20},{"date":"2025-11-13","symbol":"MSFT","close":502.35,"value":515.6845,"ma_window":20},{"date":"2025-11-14","symbol":"MSFT","close":509.23,"value":515.515,"ma_window":20},{"date":"2025-11-17","symbol":"MSFT","close":506.54,"value":515.051,"ma_window":20},{"date":"2025-11-18","symbol":"MSFT","close":492.87,"value":513.86,"ma_window":20},{"date":"2025-11-19","symbol":"MSFT","close":486.21,"value":512.192,"ma_window":20},{"date":"2025-11-20","symbol":"MSFT","close":478.43,"value":510.134,"ma_window":20},{"date":"2025-11-21","symbol":"MSFT","close":472.12,"value":507.6085,"ma_window":20},{"date":"2025-11-24","symbol":"MSFT","close":474,"value":504.782,"ma_window":20},{"date":"2025-11-25","symbol":"MSFT","close":476.99,"value":501.5785,"ma_window":20},{"date":"2025-11-26","symbol":"MSFT","close":485.5,"value":498.8265,"ma_window":20},{"date":"2025-11-28","symbol":"MSFT","close":492.01,"value":497.188,"ma_window":20},{"date":"2025-12-01","symbol":"MSFT","close":486.74,"value":495.683,"ma_window":20},{"date":"2025-12-02","symbol":"MSFT","close":490,"value":494.38,"ma_window":20},{"date":"2025-12-03","symbol":"MSFT","close":477.73,"value":492.598,"ma_window":20},{"date":"2025-12-04","symbol":"MSFT","close":480.84,"value":491.3295,"ma_window":20},{"date":"2025-12-05","symbol":"MSFT","close":483.16,"value":490.679,"ma_window":20},{"date":"2025-12-08","symbol":"MSFT","close":491.02,"value":490.4355,"ma_window":20},{"date":"2025-12-09","symbol":"MSFT","close":492.02,"value":489.784,"ma_window":20},{"date":"2025-12-10","symbol":"MSFT","close":478.56,"value":488.3255,"ma_window":20},{"date":"2025-12-11","symbol":"MSFT","close":483.47,"value":486.9895,"ma_window":20},{"date":"2025-12-12","symbol":"MSFT","close":478.53,"value":485.7985,"ma_window":20},{"date":"2025-12-15","symbol":"MSFT","close":474.82,"value":484.078,"ma_window":20},{"date":"2025-12-16","symbol":"MSFT","close":476.39,"value":482.5705,"ma_window":20},{"date":"2025-12-17","symbol":"MSFT","close":476.12,"value":481.733,"ma_window":20},{"date":"2025-12-18","symbol":"MSFT","close":483.98,"value":481.6215,"ma_window":20},{"date":"2025-12-19","symbol":"MSFT","close":485.92,"value":481.996,"ma_window":20},{"date":"2025-12-22","symbol":"MSFT","close":484.92,"value":482.636,"ma_window":20},{"date":"2025-12-23","symbol":"MSFT","close":486.85,"value":483.2785,"ma_window":20},{"date":"2025-12-24","symbol":"MSFT","close":488.02,"value":483.83,"ma_window":20},{"date":"2025-12-26","symbol":"MSFT","close":487.71,"value":483.9405,"ma_window":20},{"date":"2025-12-29","symbol":"MSFT","close":487.1,"value":483.695,"ma_window":20},{"date":"2025-12-30","symbol":"MSFT","close":487.48,"value":483.732,"ma_window":20},{"date":"2025-12-31","symbol":"MSFT","close":483.62,"value":483.413,"ma_window":20},{"date":"2026-01-02","symbol":"MSFT","close":472.94,"value":483.1735,"ma_window":20},{"date":"2026-01-05","symbol":"MSFT","close":472.85,"value":482.774,"ma_window":20},{"date":"2026-01-06","symbol":"MSFT","close":478.51,"value":482.5415,"ma_window":20},{"date":"2026-01-07","symbol":"MSFT","close":483.47,"value":482.164,"ma_window":20},{"date":"2026-01-08","symbol":"MSFT","close":478.11,"value":481.4685,"ma_window":20},{"date":"2026-01-09","symbol":"MSFT","close":479.28,"value":481.5045,"ma_window":20},{"date":"2026-01-12","symbol":"MSFT","close":477.18,"value":481.19,"ma_window":20},{"date":"2026-01-13","symbol":"MSFT","close":470.67,"value":480.797,"ma_window":20},{"date":"2026-01-14","symbol":"MSFT","close":459.38,"value":480.025,"ma_window":20},{"date":"2026-01-15","symbol":"MSFT","close":456.66,"value":479.0385,"ma_window":20},{"date":"2026-01-16","symbol":"MSFT","close":459.86,"value":478.2255,"ma_window":20},{"date":"2026-01-20","symbol":"MSFT","close":454.52,"value":476.7525,"ma_window":20},{"date":"2026-01-21","symbol":"MSFT","close":444.11,"value":474.662,"ma_window":20},{"date":"2026-01-22","symbol":"MSFT","close":451.14,"value":472.973,"ma_window":20},{"date":"2026-01-23","symbol":"MSFT","close":465.95,"value":471.928,"ma_window":20},{"date":"2025-07-30","symbol":"NVDA","close":179.25,"value":179.25,"ma_window":20},{"date":"2025-07-31","symbol":"NVDA","close":177.85,"value":178.55,"ma_window":20},{"date":"2025-08-01","symbol":"NVDA","close":173.7,"value":176.9333333333,"ma_window":20},{"date":"2025-08-04","symbol":"NVDA","close":179.98,"value":177.695,"ma_window":20},{"date":"2025-08-05","symbol":"NVDA","close":178.24,"value":177.804,"ma_window":20},{"date":"2025-08-06","symbol":"NVDA","close":179.4,"value":178.07,"ma_window":20},{"date":"2025-08-07","symbol":"NVDA","close":180.75,"value":178.4528571429,"ma_window":20},{"date":"2025-08-08","symbol":"NVDA","close":182.68,"value":178.98125,"ma_window":20},{"date":"2025-08-11","symbol":"NVDA","close":182.04,"value":179.3211111111,"ma_window":20},{"date":"2025-08-12","symbol":"NVDA","close":183.14,"value":179.703,"ma_window":20},{"date":"2025-08-13","symbol":"NVDA","close":181.57,"value":179.8727272727,"ma_window":20},{"date":"2025-08-14","symbol":"NVDA","close":182,"value":180.05,"ma_window":20},{"date":"2025-08-15","symbol":"NVDA","close":180.43,"value":180.0792307692,"ma_window":20},{"date":"2025-08-18","symbol":"NVDA","close":181.99,"value":180.2157142857,"ma_window":20},{"date":"2025-08-19","symbol":"NVDA","close":175.62,"value":179.9093333333,"ma_window":20},{"date":"2025-08-20","symbol":"NVDA","close":175.38,"value":179.62625,"ma_window":20},{"date":"2025-08-21","symbol":"NVDA","close":174.96,"value":179.3517647059,"ma_window":20},{"date":"2025-08-22","symbol":"NVDA","close":177.97,"value":179.275,"ma_window":20},{"date":"2025-08-25","symbol":"NVDA","close":179.79,"value":179.3021052632,"ma_window":20},{"date":"2025-08-26","symbol":"NVDA","close":181.75,"value":179.4245,"ma_window":20},{"date":"2025-08-27","symbol":"NVDA","close":181.58,"value":179.541,"ma_window":20},{"date":"2025-08-28","symbol":"NVDA","close":180.15,"value":179.656,"ma_window":20},{"date":"2025-08-29","symbol":"NVDA","close":174.16,"value":179.679,"ma_window":20},{"date":"2025-09-02","symbol":"NVDA","close":170.76,"value":179.218,"ma_window":20},{"date":"2025-09-03","symbol":"NVDA","close":170.6,"value":178.836,"ma_window":20},{"date":"2025-09-04","symbol":"NVDA","close":171.64,"value":178.448,"ma_window":20},{"date":"2025-09-05","symbol":"NVDA","close":167,"value":177.7605,"ma_window":20},{"date":"2025-09-08","symbol":"NVDA","close":168.29,"value":177.041,"ma_window":20},{"date":"2025-09-09","symbol":"NVDA","close":170.74,"value":176.476,"ma_window":20},{"date":"2025-09-10","symbol":"NVDA","close":177.31,"value":176.1845,"ma_window":20},{"date":"2025-09-11","symbol":"NVDA","close":177.16,"value":175.964,"ma_window":20},{"date":"2025-09-12","symbol":"NVDA","close":177.81,"value":175.7545,"ma_window":20},{"date":"2025-09-15","symbol":"NVDA","close":177.74,"value":175.62,"ma_window":20},{"date":"2025-09-16","symbol":"NVDA","close":174.87,"value":175.264,"ma_window":20},{"date":"2025-09-17","symbol":"NVDA","close":170.28,"value":174.997,"ma_window":20},{"date":"2025-09-18","symbol":"NVDA","close":176.23,"value":175.0395,"ma_window":20},{"date":"2025-09-19","symbol":"NVDA","close":176.66,"value":175.1245,"ma_window":20},{"date":"2025-09-22","symbol":"NVDA","close":183.6,"value":175.406,"ma_window":20},{"date":"2025-09-23","symbol":"NVDA","close":178.42,"value":175.3375,"ma_window":20},{"date":"2025-09-24","symbol":"NVDA","close":176.96,"value":175.098,"ma_window":20},{"date":"2025-09-25","symbol":"NVDA","close":177.68,"value":174.903,"ma_window":20},{"date":"2025-09-26","symbol":"NVDA","close":178.18,"value":174.8045,"ma_window":20},{"date":"2025-09-29","symbol":"NVDA","close":181.84,"value":175.1885,"ma_window":20},{"date":"2025-09-30","symbol":"NVDA","close":186.57,"value":175.979,"ma_window":20},{"date":"2025-10-01","symbol":"NVDA","close":187.23,"value":176.8105,"ma_window":20},{"date":"2025-10-02","symbol":"NVDA","close":188.88,"value":177.6725,"ma_window":20},{"date":"2025-10-03","symbol":"NVDA","close":187.61,"value":178.703,"ma_window":20},{"date":"2025-10-06","symbol":"NVDA","close":185.53,"value":179.565,"ma_window":20},{"date":"2025-10-07","symbol":"NVDA","close":185.03,"value":180.2795,"ma_window":20},{"date":"2025-10-08","symbol":"NVDA","close":189.1,"value":180.869,"ma_window":20},{"date":"2025-10-09","symbol":"NVDA","close":192.56,"value":181.639,"ma_window":20},{"date":"2025-10-10","symbol":"NVDA","close":183.15,"value":181.906,"ma_window":20},{"date":"2025-10-13","symbol":"NVDA","close":188.31,"value":182.4345,"ma_window":20},{"date":"2025-10-14","symbol":"NVDA","close":180.02,"value":182.692,"ma_window":20},{"date":"2025-10-15","symbol":"NVDA","close":179.82,"value":183.169,"ma_window":20},{"date":"2025-10-16","symbol":"NVDA","close":181.8,"value":183.4475,"ma_window":20},{"date":"2025-10-17","symbol":"NVDA","close":183.21,"value":183.775,"ma_window":20},{"date":"2025-10-20","symbol":"NVDA","close":182.63,"value":183.7265,"ma_window":20},{"date":"2025-10-21","symbol":"NVDA","close":181.15,"value":183.863,"ma_window":20},{"date":"2025-10-22","symbol":"NVDA","close":180.27,"value":184.0285,"ma_window":20},{"date":"2025-10-23","symbol":"NVDA","close":182.15,"value":184.252,"ma_window":20},{"date":"2025-10-24","symbol":"NVDA","close":186.25,"value":184.6555,"ma_window":20},{"date":"2025-10-27","symbol":"NVDA","close":191.48,"value":185.1375,"ma_window":20},{"date":"2025-10-28","symbol":"NVDA","close":201.02,"value":185.86,"ma_window":20},{"date":"2025-10-29","symbol":"NVDA","close":207.03,"value":186.85,"ma_window":20},{"date":"2025-10-30","symbol":"NVDA","close":202.88,"value":187.55,"ma_window":20},{"date":"2025-10-31","symbol":"NVDA","close":202.48,"value":188.2935,"ma_window":20},{"date":"2025-11-03","symbol":"NVDA","close":206.87,"value":189.3605,"ma_window":20},{"date":"2025-11-04","symbol":"NVDA","close":198.68,"value":190.043,"ma_window":20},{"date":"2025-11-05","symbol":"NVDA","close":195.2,"value":190.348,"ma_window":20},{"date":"2025-11-06","symbol":"NVDA","close":188.07,"value":190.1235,"ma_window":20},{"date":"2025-11-07","symbol":"NVDA","close":188.14,"value":190.373,"ma_window":20},{"date":"2025-11-10","symbol":"NVDA","close":199.04,"value":190.9095,"ma_window":20},{"date":"2025-11-11","symbol":"NVDA","close":193.15,"value":191.566,"ma_window":20},{"date":"2025-11-12","symbol":"NVDA","close":193.79,"value":192.2645,"ma_window":20},{"date":"2025-11-13","symbol":"NVDA","close":186.85,"value":192.517,"ma_window":20},{"date":"2025-11-14","symbol":"NVDA","close":190.16,"value":192.8645,"ma_window":20},{"date":"2025-11-17","symbol":"NVDA","close":186.59,"value":193.0625,"ma_window":20},{"date":"2025-11-18","symbol":"NVDA","close":181.35,"value":193.0725,"ma_window":20},{"date":"2025-11-19","symbol":"NVDA","close":186.51,"value":193.3845,"ma_window":20},{"date":"2025-11-20","symbol":"NVDA","close":180.63,"value":193.3085,"ma_window":20},{"date":"2025-11-21","symbol":"NVDA","close":178.87,"value":192.9395,"ma_window":20},{"date":"2025-11-24","symbol":"NVDA","close":182.54,"value":192.4925,"ma_window":20},{"date":"2025-11-25","symbol":"NVDA","close":177.81,"value":191.332,"ma_window":20},{"date":"2025-11-26","symbol":"NVDA","close":180.25,"value":189.993,"ma_window":20},{"date":"2025-11-28","symbol":"NVDA","close":176.99,"value":188.6985,"ma_window":20},{"date":"2025-12-01","symbol":"NVDA","close":179.91,"value":187.57,"ma_window":20},{"date":"2025-12-02","symbol":"NVDA","close":181.45,"value":186.299,"ma_window":20},{"date":"2025-12-03","symbol":"NVDA","close":179.58,"value":185.344,"ma_window":20},{"date":"2025-12-04","symbol":"NVDA","close":183.38,"value":184.753,"ma_window":20},{"date":"2025-12-05","symbol":"NVDA","close":182.41,"value":184.47,"ma_window":20},{"date":"2025-12-08","symbol":"NVDA","close":185.55,"value":184.3405,"ma_window":20},{"date":"2025-12-09","symbol":"NVDA","close":184.97,"value":183.637,"ma_window":20},{"date":"2025-12-10","symbol":"NVDA","close":183.78,"value":183.1685,"ma_window":20},{"date":"2025-12-11","symbol":"NVDA","close":180.93,"value":182.5255,"ma_window":20},{"date":"2025-12-12","symbol":"NVDA","close":175.02,"value":181.934,"ma_window":20},{"date":"2025-12-15","symbol":"NVDA","close":176.29,"value":181.2405,"ma_window":20},{"date":"2025-12-16","symbol":"NVDA","close":177.72,"value":180.797,"ma_window":20},{"date":"2025-12-17","symbol":"NVDA","close":170.94,"value":180.2765,"ma_window":20},{"date":"2025-12-18","symbol":"NVDA","close":174.14,"value":179.658,"ma_window":20},{"date":"2025-12-19","symbol":"NVDA","close":180.99,"value":179.676,"ma_window":20},{"date":"2025-12-22","symbol":"NVDA","close":183.69,"value":179.917,"ma_window":20},{"date":"2025-12-23","symbol":"NVDA","close":189.21,"value":180.2505,"ma_window":20},{"date":"2025-12-24","symbol":"NVDA","close":188.61,"value":180.7905,"ma_window":20},{"date":"2025-12-26","symbol":"NVDA","close":190.53,"value":181.3045,"ma_window":20},{"date":"2025-12-29","symbol":"NVDA","close":188.22,"value":181.866,"ma_window":20},{"date":"2025-12-30","symbol":"NVDA","close":187.54,"value":182.2475,"ma_window":20},{"date":"2025-12-31","symbol":"NVDA","close":186.5,"value":182.5,"ma_window":20},{"date":"2026-01-02","symbol":"NVDA","close":188.85,"value":182.9635,"ma_window":20},{"date":"2026-01-05","symbol":"NVDA","close":188.12,"value":183.2005,"ma_window":20},{"date":"2026-01-06","symbol":"NVDA","close":187.24,"value":183.442,"ma_window":20},{"date":"2026-01-07","symbol":"NVDA","close":189.11,"value":183.62,"ma_window":20},{"date":"2026-01-08","symbol":"NVDA","close":185.04,"value":183.6235,"ma_window":20},{"date":"2026-01-09","symbol":"NVDA","close":184.86,"value":183.6775,"ma_window":20},{"date":"2026-01-12","symbol":"NVDA","close":184.94,"value":183.878,"ma_window":20},{"date":"2026-01-13","symbol":"NVDA","close":185.81,"value":184.4175,"ma_window":20},{"date":"2026-01-14","symbol":"NVDA","close":183.14,"value":184.76,"ma_window":20},{"date":"2026-01-15","symbol":"NVDA","close":187.05,"value":185.2265,"ma_window":20},{"date":"2026-01-16","symbol":"NVDA","close":186.23,"value":185.991,"ma_window":20},{"date":"2026-01-20","symbol":"NVDA","close":178.07,"value":186.1875,"ma_window":20},{"date":"2026-01-21","symbol":"NVDA","close":183.32,"value":186.304,"ma_window":20},{"date":"2026-01-22","symbol":"NVDA","close":184.84,"value":186.3615,"ma_window":20},{"date":"2026-01-23","symbol":"NVDA","close":187.67,"value":186.2845,"ma_window":20},{"date":"2025-07-30","symbol":"AAPL","close":208.61,"value":208.61,"ma_window":60},{"date":"2025-07-31","symbol":"AAPL","close":207.13,"value":207.87,"ma_window":60},{"date":"2025-08-01","symbol":"AAPL","close":201.95,"value":205.8966666667,"ma_window":60},{"date":"2025-08-04","symbol":"AAPL","close":202.92,"value":205.1525,"ma_window":60},{"date":"2025-08-05","symbol":"AAPL","close":202.49,"value":204.62,"ma_window":60},{"date":"2025-08-06","symbol":"AAPL","close":212.8,"value":205.9833333333,"ma_window":60},{"date":"2025-08-07","symbol":"AAPL","close":219.57,"value":207.9242857143,"ma_window":60},{"date":"2025-08-08","symbol":"AAPL","close":228.87,"value":210.5425,"ma_window":60},{"date":"2025-08-11","symbol":"AAPL","close":226.96,"value":212.3666666667,"ma_window":60},{"date":"2025-08-12","symbol":"AAPL","close":229.43,"value":214.073,"ma_window":60},{"date":"2025-08-13","symbol":"AAPL","close":233.1,"value":215.8027272727,"ma_window":60},{"date":"2025-08-14","symbol":"AAPL","close":232.55,"value":217.1983333333,"ma_window":60},{"date":"2025-08-15","symbol":"AAPL","close":231.37,"value":218.2884615385,"ma_window":60},{"date":"2025-08-18","symbol":"AAPL","close":230.67,"value":219.1728571429,"ma_window":60},{"date":"2025-08-19","symbol":"AAPL","close":230.34,"value":219.9173333333,"ma_window":60},{"date":"2025-08-20","symbol":"AAPL","close":225.79,"value":220.284375,"ma_window":60},{"date":"2025-08-21","symbol":"AAPL","close":224.68,"value":220.5429411765,"ma_window":60},{"date":"2025-08-22","symbol":"AAPL","close":227.54,"value":220.9316666667,"ma_window":60},{"date":"2025-08-25","symbol":"AAPL","close":226.94,"value":221.2478947368,"ma_window":60},{"date":"2025-08-26","symbol":"AAPL","close":229.09,"value":221.64,"ma_window":60},{"date":"2025-08-27","symbol":"AAPL","close":230.27,"value":222.050952381,"ma_window":60},{"date":"2025-08-28","symbol":"AAPL","close":232.33,"value":222.5181818182,"ma_window":60},{"date":"2025-08-29","symbol":"AAPL","close":231.92,"value":222.9269565217,"ma_window":60},{"date":"2025-09-02","symbol":"AAPL","close":229.5,"value":223.2008333333,"ma_window":60},{"date":"2025-09-03","symbol":"AAPL","close":238.24,"value":223.8024,"ma_window":60},{"date":"2025-09-04","symbol":"AAPL","close":239.55,"value":224.4080769231,"ma_window":60},{"date":"2025-09-05","symbol":"AAPL","close":239.46,"value":224.9655555556,"ma_window":60},{"date":"2025-09-08","symbol":"AAPL","close":237.65,"value":225.4185714286,"ma_window":60},{"date":"2025-09-09","symbol":"AAPL","close":234.12,"value":225.7186206897,"ma_window":60},{"date":"2025-09-10","symbol":"AAPL","close":226.57,"value":225.747,"ma_window":60},{"date":"2025-09-11","symbol":"AAPL","close":229.81,"value":225.8780645161,"ma_window":60},{"date":"2025-09-12","symbol":"AAPL","close":233.84,"value":226.126875,"ma_window":60},{"date":"2025-09-15","symbol":"AAPL","close":236.47,"value":226.4403030303,"ma_window":60},{"date":"2025-09-16","symbol":"AAPL","close":237.92,"value":226.7779411765,"ma_window":60},{"date":"2025-09-17","symbol":"AAPL","close":238.76,"value":227.1202857143,"ma_window":60},{"date":"2025-09-18","symbol":"AAPL","close":237.65,"value":227.4127777778,"ma_window":60},{"date":"2025-09-19","symbol":"AAPL","close":245.26,"value":227.8951351351,"ma_window":60},{"date":"2025-09-22","symbol":"AAPL","close":255.83,"value":228.6302631579,"ma_window":60},{"date":"2025-09-23","symbol":"AAPL","close":254.18,"value":229.2853846154,"ma_window":60},{"date":"2025-09-24","symbol":"AAPL","close":252.07,"value":229.855,"ma_window":60},{"date":"2025-09-25","symbol":"AAPL","close":256.62,"value":230.507804878,"ma_window":60},{"date":"2025-09-26","symbol":"AAPL","close":255.21,"value":231.095952381,"ma_window":60},{"date":"2025-09-29","symbol":"AAPL","close":254.18,"value":231.6327906977,"ma_window":60},{"date":"2025-09-30","symbol":"AAPL","close":254.38,"value":232.1497727273,"ma_window":60},{"date":"2025-10-01","symbol":"AAPL","close":255.2,"value":232.662,"ma_window":60},{"date":"2025-10-02","symbol":"AAPL","close":256.88,"value":233.1884782609,"ma_window":60},{"date":"2025-10-03","symbol":"AAPL","close":257.77,"value":233.7114893617,"ma_window":60},{"date":"2025-10-06","symbol":"AAPL","close":256.44,"value":234.185,"ma_window":60},{"date":"2025-10-07","symbol":"AAPL","close":256.23,"value":234.6348979592,"ma_window":60},{"date":"2025-10-08","symbol":"AAPL","close":257.81,"value":235.0984,"ma_window":60},{"date":"2025-10-09","symbol":"AAPL","close":253.79,"value":235.4649019608,"ma_window":60},{"date":"2025-10-10","symbol":"AAPL","close":245.03,"value":235.6488461538,"ma_window":60},{"date":"2025-10-13","symbol":"AAPL","close":247.42,"value":235.8709433962,"ma_window":60},{"date":"2025-10-14","symbol":"AAPL","close":247.53,"value":236.0868518519,"ma_window":60},{"date":"2025-10-15","symbol":"AAPL","close":249.1,"value":236.3234545455,"ma_window":60},{"date":"2025-10-16","symbol":"AAPL","close":247.21,"value":236.5178571429,"ma_window":60},{"date":"2025-10-17","symbol":"AAPL","close":252.05,"value":236.7903508772,"ma_window":60},{"date":"2025-10-20","symbol":"AAPL","close":261.99,"value":237.2248275862,"ma_window":60},{"date":"2025-10-21","symbol":"AAPL","close":262.52,"value":237.653559322,"ma_window":60},{"date":"2025-10-22","symbol":"AAPL","close":258.2,"value":237.996,"ma_window":60},{"date":"2025-10-23","symbol":"AAPL","close":259.33,"value":238.8413333333,"ma_window":60},{"date":"2025-10-24","symbol":"AAPL","close":262.57,"value":239.7653333333,"ma_window":60},{"date":"2025-10-27","symbol":"AAPL","close":268.55,"value":240.8753333333,"ma_window":60},{"date":"2025-10-28","symbol":"AAPL","close":268.74,"value":241.9723333333,"ma_window":60},{"date":"2025-10-29","symbol":"AAPL","close":269.44,"value":243.0881666667,"ma_window":60},{"date":"2025-10-30","symbol":"AAPL","close":271.14,"value":244.0605,"ma_window":60},{"date":"2025-10-31","symbol":"AAPL","close":270.11,"value":244.9028333333,"ma_window":60},{"date":"2025-11-03","symbol":"AAPL","close":268.79,"value":245.5681666667,"ma_window":60},{"date":"2025-11-04","symbol":"AAPL","close":269.78,"value":246.2818333333,"ma_window":60},{"date":"2025-11-05","symbol":"AAPL","close":269.88,"value":246.956,"ma_window":60},{"date":"2025-11-06","symbol":"AAPL","close":269.51,"value":247.5628333333,"ma_window":60},{"date":"2025-11-07","symbol":"AAPL","close":268.21,"value":248.1571666667,"ma_window":60},{"date":"2025-11-10","symbol":"AAPL","close":269.43,"value":248.7915,"ma_window":60},{"date":"2025-11-11","symbol":"AAPL","close":275.25,"value":249.5345,"ma_window":60},{"date":"2025-11-12","symbol":"AAPL","close":273.47,"value":250.2533333333,"ma_window":60},{"date":"2025-11-13","symbol":"AAPL","close":272.95,"value":251.0393333333,"ma_window":60},{"date":"2025-11-14","symbol":"AAPL","close":272.41,"value":251.8348333333,"ma_window":60},{"date":"2025-11-17","symbol":"AAPL","close":267.46,"value":252.5001666667,"ma_window":60},{"date":"2025-11-18","symbol":"AAPL","close":267.44,"value":253.1751666667,"ma_window":60},{"date":"2025-11-19","symbol":"AAPL","close":268.56,"value":253.833,"ma_window":60},{"date":"2025-11-20","symbol":"AAPL","close":266.25,"value":254.4326666667,"ma_window":60},{"date":"2025-11-21","symbol":"AAPL","close":271.49,"value":255.0853333333,"ma_window":60},{"date":"2025-11-24","symbol":"AAPL","close":275.92,"value":255.8186666667,"ma_window":60},{"date":"2025-11-25","symbol":"AAPL","close":276.97,"value":256.6098333333,"ma_window":60},{"date":"2025-11-26","symbol":"AAPL","close":277.55,"value":257.265,"ma_window":60},{"date":"2025-11-28","symbol":"AAPL","close":278.85,"value":257.92,"ma_window":60},{"date":"2025-12-01","symbol":"AAPL","close":283.1,"value":258.6473333333,"ma_window":60},{"date":"2025-12-02","symbol":"AAPL","close":286.19,"value":259.4563333333,"ma_window":60},{"date":"2025-12-03","symbol":"AAPL","close":284.15,"value":260.2901666667,"ma_window":60},{"date":"2025-12-04","symbol":"AAPL","close":280.7,"value":261.1923333333,"ma_window":60},{"date":"2025-12-05","symbol":"AAPL","close":278.78,"value":262.0085,"ma_window":60},{"date":"2025-12-08","symbol":"AAPL","close":277.89,"value":262.7426666667,"ma_window":60},{"date":"2025-12-09","symbol":"AAPL","close":277.18,"value":263.4211666667,"ma_window":60},{"date":"2025-12-10","symbol":"AAPL","close":278.78,"value":264.1021666667,"ma_window":60},{"date":"2025-12-11","symbol":"AAPL","close":278.03,"value":264.7566666667,"ma_window":60},{"date":"2025-12-12","symbol":"AAPL","close":278.28,"value":265.4338333333,"ma_window":60},{"date":"2025-12-15","symbol":"AAPL","close":274.11,"value":265.9146666667,"ma_window":60},{"date":"2025-12-16","symbol":"AAPL","close":274.61,"value":266.2276666667,"ma_window":60},{"date":"2025-12-17","symbol":"AAPL","close":271.84,"value":266.522,"ma_window":60},{"date":"2025-12-18","symbol":"AAPL","close":272.19,"value":266.8573333333,"ma_window":60},{"date":"2025-12-19","symbol":"AAPL","close":273.67,"value":267.1415,"ma_window":60},{"date":"2025-12-22","symbol":"AAPL","close":270.97,"value":267.4041666667,"ma_window":60},{"date":"2025-12-23","symbol":"AAPL","close":272.36,"value":267.7071666667,"ma_window":60},{"date":"2025-12-24","symbol":"AAPL","close":273.81,"value":268.031,"ma_window":60},{"date":"2025-12-26","symbol":"AAPL","close":273.4,"value":268.3343333333,"ma_window":60},{"date":"2025-12-29","symbol":"AAPL","close":273.76,"value":268.6156666667,"ma_window":60},{"date":"2025-12-30","symbol":"AAPL","close":273.08,"value":268.8708333333,"ma_window":60},{"date":"2025-12-31","symbol":"AAPL","close":271.86,"value":269.1278333333,"ma_window":60},{"date":"2026-01-02","symbol":"AAPL","close":271.01,"value":269.3741666667,"ma_window":60},{"date":"2026-01-05","symbol":"AAPL","close":267.26,"value":269.5316666667,"ma_window":60},{"date":"2026-01-06","symbol":"AAPL","close":262.36,"value":269.6745,"ma_window":60},{"date":"2026-01-07","symbol":"AAPL","close":260.33,"value":269.9295,"ma_window":60},{"date":"2026-01-08","symbol":"AAPL","close":259.04,"value":270.1231666667,"ma_window":60},{"date":"2026-01-09","symbol":"AAPL","close":259.37,"value":270.3205,"ma_window":60},{"date":"2026-01-12","symbol":"AAPL","close":260.25,"value":270.5063333333,"ma_window":60},{"date":"2026-01-13","symbol":"AAPL","close":261.05,"value":270.737,"ma_window":60},{"date":"2026-01-14","symbol":"AAPL","close":259.96,"value":270.8688333333,"ma_window":60},{"date":"2026-01-15","symbol":"AAPL","close":258.21,"value":270.8058333333,"ma_window":60},{"date":"2026-01-16","symbol":"AAPL","close":255.53,"value":270.6893333333,"ma_window":60},{"date":"2026-01-20","symbol":"AAPL","close":246.7,"value":270.4976666667,"ma_window":60},{"date":"2026-01-21","symbol":"AAPL","close":247.65,"value":270.303,"ma_window":60},{"date":"2026-01-22","symbol":"AAPL","close":248.35,"value":270.066,"ma_window":60},{"date":"2026-01-23","symbol":"AAPL","close":248.04,"value":269.7241666667,"ma_window":60},{"date":"2025-07-30","symbol":"AMZN","close":230.19,"value":230.19,"ma_window":60},{"date":"2025-07-31","symbol":"AMZN","close":234.11,"value":232.15,"ma_window":60},{"date":"2025-08-01","symbol":"AMZN","close":214.75,"value":226.35,"ma_window":60},{"date":"2025-08-04","symbol":"AMZN","close":211.65,"value":222.675,"ma_window":60},{"date":"2025-08-05","symbol":"AMZN","close":213.75,"value":220.89,"ma_window":60},{"date":"2025-08-06","symbol":"AMZN","close":222.31,"value":221.1266666667,"ma_window":60},{"date":"2025-08-07","symbol":"AMZN","close":223.13,"value":221.4128571429,"ma_window":60},{"date":"2025-08-08","symbol":"AMZN","close":222.69,"value":221.5725,"ma_window":60},{"date":"2025-08-11","symbol":"AMZN","close":221.3,"value":221.5422222222,"ma_window":60},{"date":"2025-08-12","symbol":"AMZN","close":221.47,"value":221.535,"ma_window":60},{"date":"2025-08-13","symbol":"AMZN","close":224.56,"value":221.81,"ma_window":60},{"date":"2025-08-14","symbol":"AMZN","close":230.98,"value":222.5741666667,"ma_window":60},{"date":"2025-08-15","symbol":"AMZN","close":231.03,"value":223.2246153846,"ma_window":60},{"date":"2025-08-18","symbol":"AMZN","close":231.49,"value":223.815,"ma_window":60},{"date":"2025-08-19","symbol":"AMZN","close":228.01,"value":224.0946666667,"ma_window":60},{"date":"2025-08-20","symbol":"AMZN","close":223.81,"value":224.076875,"ma_window":60},{"date":"2025-08-21","symbol":"AMZN","close":221.95,"value":223.9517647059,"ma_window":60},{"date":"2025-08-22","symbol":"AMZN","close":228.84,"value":224.2233333333,"ma_window":60},{"date":"2025-08-25","symbol":"AMZN","close":227.94,"value":224.4189473684,"ma_window":60},{"date":"2025-08-26","symbol":"AMZN","close":228.71,"value":224.6335,"ma_window":60},{"date":"2025-08-27","symbol":"AMZN","close":229.12,"value":224.8471428571,"ma_window":60},{"date":"2025-08-28","symbol":"AMZN","close":231.6,"value":225.1540909091,"ma_window":60},{"date":"2025-08-29","symbol":"AMZN","close":229,"value":225.3213043478,"ma_window":60},{"date":"2025-09-02","symbol":"AMZN","close":225.34,"value":225.3220833333,"ma_window":60},{"date":"2025-09-03","symbol":"AMZN","close":225.99,"value":225.3488,"ma_window":60},{"date":"2025-09-04","symbol":"AMZN","close":235.68,"value":225.7461538462,"ma_window":60},{"date":"2025-09-05","symbol":"AMZN","close":232.33,"value":225.99,"ma_window":60},{"date":"2025-09-08","symbol":"AMZN","close":235.84,"value":226.3417857143,"ma_window":60},{"date":"2025-09-09","symbol":"AMZN","close":238.24,"value":226.7520689655,"ma_window":60},{"date":"2025-09-10","symbol":"AMZN","close":230.33,"value":226.8713333333,"ma_window":60},{"date":"2025-09-11","symbol":"AMZN","close":229.95,"value":226.9706451613,"ma_window":60},{"date":"2025-09-12","symbol":"AMZN","close":228.15,"value":227.0075,"ma_window":60},{"date":"2025-09-15","symbol":"AMZN","close":231.43,"value":227.1415151515,"ma_window":60},{"date":"2025-09-16","symbol":"AMZN","close":234.05,"value":227.3447058824,"ma_window":60},{"date":"2025-09-17","symbol":"AMZN","close":231.62,"value":227.4668571429,"ma_window":60},{"date":"2025-09-18","symbol":"AMZN","close":231.23,"value":227.5713888889,"ma_window":60},{"date":"2025-09-19","symbol":"AMZN","close":231.48,"value":227.677027027,"ma_window":60},{"date":"2025-09-22","symbol":"AMZN","close":227.63,"value":227.6757894737,"ma_window":60},{"date":"2025-09-23","symbol":"AMZN","close":220.71,"value":227.4971794872,"ma_window":60},{"date":"2025-09-24","symbol":"AMZN","close":220.21,"value":227.315,"ma_window":60},{"date":"2025-09-25","symbol":"AMZN","close":218.15,"value":227.0914634146,"ma_window":60},{"date":"2025-09-26","symbol":"AMZN","close":219.78,"value":226.9173809524,"ma_window":60},{"date":"2025-09-29","symbol":"AMZN","close":222.17,"value":226.8069767442,"ma_window":60},{"date":"2025-09-30","symbol":"AMZN","close":219.57,"value":226.6425,"ma_window":60},{"date":"2025-10-01","symbol":"AMZN","close":220.63,"value":226.5088888889,"ma_window":60},{"date":"2025-10-02","symbol":"AMZN","close":222.41,"value":226.4197826087,"ma_window":60},{"date":"2025-10-03","symbol":"AMZN","close":219.51,"value":226.2727659574,"ma_window":60},{"date":"2025-10-06","symbol":"AMZN","close":220.9,"value":226.1608333333,"ma_window":60},{"date":"2025-10-07","symbol":"AMZN","close":221.78,"value":226.0714285714,"ma_window":60},{"date":"2025-10-08","symbol":"AMZN","close":225.22,"value":226.0544,"ma_window":60},{"date":"2025-10-09","symbol":"AMZN","close":227.74,"value":226.0874509804,"ma_window":60},{"date":"2025-10-10","symbol":"AMZN","close":216.37,"value":225.9005769231,"ma_window":60},{"date":"2025-10-13","symbol":"AMZN","close":220.07,"value":225.7905660377,"ma_window":60},{"date":"2025-10-14","symbol":"AMZN","close":216.39,"value":225.6164814815,"ma_window":60},{"date":"2025-10-15","symbol":"AMZN","close":215.57,"value":225.4338181818,"ma_window":60},{"date":"2025-10-16","symbol":"AMZN","close":214.47,"value":225.2380357143,"ma_window":60},{"date":"2025-10-17","symbol":"AMZN","close":213.04,"value":225.0240350877,"ma_window":60},{"date":"2025-10-20","symbol":"AMZN","close":216.48,"value":224.8767241379,"ma_window":60},{"date":"2025-10-21","symbol":"AMZN","close":222.03,"value":224.8284745763,"ma_window":60},{"date":"2025-10-22","symbol":"AMZN","close":217.95,"value":224.7138333333,"ma_window":60},{"date":"2025-10-23","symbol":"AMZN","close":221.09,"value":224.5621666667,"ma_window":60},{"date":"2025-10-24","symbol":"AMZN","close":224.21,"value":224.3971666667,"ma_window":60},{"date":"2025-10-27","symbol":"AMZN","close":226.97,"value":224.6008333333,"ma_window":60},{"date":"2025-10-28","symbol":"AMZN","close":229.25,"value":224.8941666667,"ma_window":60},{"date":"2025-10-29","symbol":"AMZN","close":230.3,"value":225.17,"ma_window":60},{"date":"2025-10-30","symbol":"AMZN","close":222.86,"value":225.1791666667,"ma_window":60},{"date":"2025-10-31","symbol":"AMZN","close":244.22,"value":225.5306666667,"ma_window":60},{"date":"2025-11-03","symbol":"AMZN","close":254,"value":226.0525,"ma_window":60},{"date":"2025-11-04","symbol":"AMZN","close":249.32,"value":226.5195,"ma_window":60},{"date":"2025-11-05","symbol":"AMZN","close":250.2,"value":226.9983333333,"ma_window":60},{"date":"2025-11-06","symbol":"AMZN","close":243.04,"value":227.3063333333,"ma_window":60},{"date":"2025-11-07","symbol":"AMZN","close":244.41,"value":227.5301666667,"ma_window":60},{"date":"2025-11-10","symbol":"AMZN","close":248.4,"value":227.8196666667,"ma_window":60},{"date":"2025-11-11","symbol":"AMZN","close":249.1,"value":228.1131666667,"ma_window":60},{"date":"2025-11-12","symbol":"AMZN","close":244.2,"value":228.383,"ma_window":60},{"date":"2025-11-13","symbol":"AMZN","close":237.58,"value":228.6125,"ma_window":60},{"date":"2025-11-14","symbol":"AMZN","close":234.69,"value":228.8248333333,"ma_window":60},{"date":"2025-11-17","symbol":"AMZN","close":232.87,"value":228.892,"ma_window":60},{"date":"2025-11-18","symbol":"AMZN","close":222.55,"value":228.8021666667,"ma_window":60},{"date":"2025-11-19","symbol":"AMZN","close":222.69,"value":228.7018333333,"ma_window":60},{"date":"2025-11-20","symbol":"AMZN","close":217.14,"value":228.5021666667,"ma_window":60},{"date":"2025-11-21","symbol":"AMZN","close":220.69,"value":228.3203333333,"ma_window":60},{"date":"2025-11-24","symbol":"AMZN","close":226.28,"value":228.275,"ma_window":60},{"date":"2025-11-25","symbol":"AMZN","close":229.67,"value":228.3471666667,"ma_window":60},{"date":"2025-11-26","symbol":"AMZN","close":229.16,"value":228.4,"ma_window":60},{"date":"2025-11-28","symbol":"AMZN","close":233.22,"value":228.359,"ma_window":60},{"date":"2025-12-01","symbol":"AMZN","close":233.88,"value":228.3848333333,"ma_window":60},{"date":"2025-12-02","symbol":"AMZN","close":234.42,"value":228.3611666667,"ma_window":60},{"date":"2025-12-03","symbol":"AMZN","close":232.38,"value":228.2635,"ma_window":60},{"date":"2025-12-04","symbol":"AMZN","close":229.11,"value":228.2431666667,"ma_window":60},{"date":"2025-12-05","symbol":"AMZN","close":229.53,"value":228.2361666667,"ma_window":60},{"date":"2025-12-08","symbol":"AMZN","close":226.89,"value":228.2151666667,"ma_window":60},{"date":"2025-12-09","symbol":"AMZN","close":227.92,"value":228.1566666667,"ma_window":60},{"date":"2025-12-10","symbol":"AMZN","close":231.78,"value":228.1188333333,"ma_window":60},{"date":"2025-12-11","symbol":"AMZN","close":230.28,"value":228.0965,"ma_window":60},{"date":"2025-12-12","symbol":"AMZN","close":226.19,"value":228.0125,"ma_window":60},{"date":"2025-12-15","symbol":"AMZN","close":222.54,"value":227.8635,"ma_window":60},{"date":"2025-12-16","symbol":"AMZN","close":222.56,"value":227.779,"ma_window":60},{"date":"2025-12-17","symbol":"AMZN","close":221.27,"value":227.7883333333,"ma_window":60},{"date":"2025-12-18","symbol":"AMZN","close":226.76,"value":227.8975,"ma_window":60},{"date":"2025-12-19","symbol":"AMZN","close":227.35,"value":228.0508333333,"ma_window":60},{"date":"2025-12-22","symbol":"AMZN","close":228.43,"value":228.195,"ma_window":60},{"date":"2025-12-23","symbol":"AMZN","close":232.14,"value":228.3611666667,"ma_window":60},{"date":"2025-12-24","symbol":"AMZN","close":232.38,"value":228.5746666667,"ma_window":60},{"date":"2025-12-26","symbol":"AMZN","close":232.52,"value":228.7728333333,"ma_window":60},{"date":"2025-12-29","symbol":"AMZN","close":232.07,"value":228.9338333333,"ma_window":60},{"date":"2025-12-30","symbol":"AMZN","close":232.53,"value":229.1508333333,"ma_window":60},{"date":"2025-12-31","symbol":"AMZN","close":230.82,"value":229.3161666667,"ma_window":60},{"date":"2026-01-02","symbol":"AMZN","close":226.5,"value":229.3948333333,"ma_window":60},{"date":"2026-01-05","symbol":"AMZN","close":233.06,"value":229.5255,"ma_window":60},{"date":"2026-01-06","symbol":"AMZN","close":240.93,"value":229.7453333333,"ma_window":60},{"date":"2026-01-07","symbol":"AMZN","close":241.56,"value":230.1651666667,"ma_window":60},{"date":"2026-01-08","symbol":"AMZN","close":246.29,"value":230.6021666667,"ma_window":60},{"date":"2026-01-09","symbol":"AMZN","close":247.38,"value":231.1186666667,"ma_window":60},{"date":"2026-01-12","symbol":"AMZN","close":246.47,"value":231.6336666667,"ma_window":60},{"date":"2026-01-13","symbol":"AMZN","close":242.6,"value":232.1025,"ma_window":60},{"date":"2026-01-14","symbol":"AMZN","close":236.65,"value":232.496,"ma_window":60},{"date":"2026-01-15","symbol":"AMZN","close":238.18,"value":232.8576666667,"ma_window":60},{"date":"2026-01-16","symbol":"AMZN","close":239.12,"value":233.1425,"ma_window":60},{"date":"2026-01-20","symbol":"AMZN","close":231,"value":233.36,"ma_window":60},{"date":"2026-01-21","symbol":"AMZN","close":231.31,"value":233.5303333333,"ma_window":60},{"date":"2026-01-22","symbol":"AMZN","close":234.34,"value":233.6991666667,"ma_window":60},{"date":"2026-01-23","symbol":"AMZN","close":239.16,"value":233.9023333333,"ma_window":60},{"date":"2025-07-30","symbol":"GOOGL","close":196.23,"value":196.23,"ma_window":60},{"date":"2025-07-31","symbol":"GOOGL","close":191.6,"value":193.915,"ma_window":60},{"date":"2025-08-01","symbol":"GOOGL","close":188.84,"value":192.2233333333,"ma_window":60},{"date":"2025-08-04","symbol":"GOOGL","close":194.74,"value":192.8525,"ma_window":60},{"date":"2025-08-05","symbol":"GOOGL","close":194.37,"value":193.156,"ma_window":60},{"date":"2025-08-06","symbol":"GOOGL","close":195.79,"value":193.595,"ma_window":60},{"date":"2025-08-07","symbol":"GOOGL","close":196.22,"value":193.97,"ma_window":60},{"date":"2025-08-08","symbol":"GOOGL","close":201.11,"value":194.8625,"ma_window":60},{"date":"2025-08-11","symbol":"GOOGL","close":200.69,"value":195.51,"ma_window":60},{"date":"2025-08-12","symbol":"GOOGL","close":203.03,"value":196.262,"ma_window":60},{"date":"2025-08-13","symbol":"GOOGL","close":201.65,"value":196.7518181818,"ma_window":60},{"date":"2025-08-14","symbol":"GOOGL","close":202.63,"value":197.2416666667,"ma_window":60},{"date":"2025-08-15","symbol":"GOOGL","close":203.58,"value":197.7292307692,"ma_window":60},{"date":"2025-08-18","symbol":"GOOGL","close":203.19,"value":198.1192857143,"ma_window":60},{"date":"2025-08-19","symbol":"GOOGL","close":201.26,"value":198.3286666667,"ma_window":60},{"date":"2025-08-20","symbol":"GOOGL","close":199.01,"value":198.37125,"ma_window":60},{"date":"2025-08-21","symbol":"GOOGL","close":199.44,"value":198.4341176471,"ma_window":60},{"date":"2025-08-22","symbol":"GOOGL","close":205.77,"value":198.8416666667,"ma_window":60},{"date":"2025-08-25","symbol":"GOOGL","close":208.17,"value":199.3326315789,"ma_window":60},{"date":"2025-08-26","symbol":"GOOGL","close":206.82,"value":199.707,"ma_window":60},{"date":"2025-08-27","symbol":"GOOGL","close":207.16,"value":200.0619047619,"ma_window":60},{"date":"2025-08-28","symbol":"GOOGL","close":211.31,"value":200.5731818182,"ma_window":60},{"date":"2025-08-29","symbol":"GOOGL","close":212.58,"value":201.0952173913,"ma_window":60},{"date":"2025-09-02","symbol":"GOOGL","close":211.02,"value":201.50875,"ma_window":60},{"date":"2025-09-03","symbol":"GOOGL","close":230.3,"value":202.6604,"ma_window":60},{"date":"2025-09-04","symbol":"GOOGL","close":231.94,"value":203.7865384615,"ma_window":60},{"date":"2025-09-05","symbol":"GOOGL","close":234.64,"value":204.9292592593,"ma_window":60},{"date":"2025-09-08","symbol":"GOOGL","close":233.89,"value":205.9635714286,"ma_window":60},{"date":"2025-09-09","symbol":"GOOGL","close":239.47,"value":207.1189655172,"ma_window":60},{"date":"2025-09-10","symbol":"GOOGL","close":239.01,"value":208.182,"ma_window":60},{"date":"2025-09-11","symbol":"GOOGL","close":240.21,"value":209.2151612903,"ma_window":60},{"date":"2025-09-12","symbol":"GOOGL","close":240.64,"value":210.1971875,"ma_window":60},{"date":"2025-09-15","symbol":"GOOGL","close":251.45,"value":211.4472727273,"ma_window":60},{"date":"2025-09-16","symbol":"GOOGL","close":251,"value":212.6105882353,"ma_window":60},{"date":"2025-09-17","symbol":"GOOGL","close":249.37,"value":213.6608571429,"ma_window":60},{"date":"2025-09-18","symbol":"GOOGL","close":251.87,"value":214.7222222222,"ma_window":60},{"date":"2025-09-19","symbol":"GOOGL","close":254.55,"value":215.7986486486,"ma_window":60},{"date":"2025-09-22","symbol":"GOOGL","close":252.36,"value":216.7607894737,"ma_window":60},{"date":"2025-09-23","symbol":"GOOGL","close":251.5,"value":217.6515384615,"ma_window":60},{"date":"2025-09-24","symbol":"GOOGL","close":246.98,"value":218.38475,"ma_window":60},{"date":"2025-09-25","symbol":"GOOGL","close":245.63,"value":219.0492682927,"ma_window":60},{"date":"2025-09-26","symbol":"GOOGL","close":246.38,"value":219.7,"ma_window":60},{"date":"2025-09-29","symbol":"GOOGL","close":243.89,"value":220.2625581395,"ma_window":60},{"date":"2025-09-30","symbol":"GOOGL","close":242.94,"value":220.7779545455,"ma_window":60},{"date":"2025-10-01","symbol":"GOOGL","close":244.74,"value":221.3104444444,"ma_window":60},{"date":"2025-10-02","symbol":"GOOGL","close":245.53,"value":221.8369565217,"ma_window":60},{"date":"2025-10-03","symbol":"GOOGL","close":245.19,"value":222.3338297872,"ma_window":60},{"date":"2025-10-06","symbol":"GOOGL","close":250.27,"value":222.9158333333,"ma_window":60},{"date":"2025-10-07","symbol":"GOOGL","close":245.6,"value":223.3787755102,"ma_window":60},{"date":"2025-10-08","symbol":"GOOGL","close":244.46,"value":223.8004,"ma_window":60},{"date":"2025-10-09","symbol":"GOOGL","close":241.37,"value":224.1449019608,"ma_window":60},{"date":"2025-10-10","symbol":"GOOGL","close":236.42,"value":224.3809615385,"ma_window":60},{"date":"2025-10-13","symbol":"GOOGL","close":243.99,"value":224.7509433962,"ma_window":60},{"date":"2025-10-14","symbol":"GOOGL","close":245.29,"value":225.1312962963,"ma_window":60},{"date":"2025-10-15","symbol":"GOOGL","close":250.87,"value":225.5992727273,"ma_window":60},{"date":"2025-10-16","symbol":"GOOGL","close":251.3,"value":226.0582142857,"ma_window":60},{"date":"2025-10-17","symbol":"GOOGL","close":253.13,"value":226.5331578947,"ma_window":60},{"date":"2025-10-20","symbol":"GOOGL","close":256.38,"value":227.0477586207,"ma_window":60},{"date":"2025-10-21","symbol":"GOOGL","close":250.3,"value":227.4418644068,"ma_window":60},{"date":"2025-10-22","symbol":"GOOGL","close":251.53,"value":227.8433333333,"ma_window":60},{"date":"2025-10-23","symbol":"GOOGL","close":252.91,"value":228.788,"ma_window":60},{"date":"2025-10-24","symbol":"GOOGL","close":259.75,"value":229.9238333333,"ma_window":60},{"date":"2025-10-27","symbol":"GOOGL","close":269.09,"value":231.2613333333,"ma_window":60},{"date":"2025-10-28","symbol":"GOOGL","close":267.3,"value":232.4706666667,"ma_window":60},{"date":"2025-10-29","symbol":"GOOGL","close":274.39,"value":233.8043333333,"ma_window":60},{"date":"2025-10-30","symbol":"GOOGL","close":281.3,"value":235.2295,"ma_window":60},{"date":"2025-10-31","symbol":"GOOGL","close":281.01,"value":236.6426666667,"ma_window":60},{"date":"2025-11-03","symbol":"GOOGL","close":283.53,"value":238.0163333333,"ma_window":60},{"date":"2025-11-04","symbol":"GOOGL","close":277.36,"value":239.2941666667,"ma_window":60},{"date":"2025-11-05","symbol":"GOOGL","close":284.12,"value":240.6456666667,"ma_window":60},{"date":"2025-11-06","symbol":"GOOGL","close":284.56,"value":242.0275,"ma_window":60},{"date":"2025-11-07","symbol":"GOOGL","close":278.65,"value":243.2945,"ma_window":60},{"date":"2025-11-10","symbol":"GOOGL","close":289.91,"value":244.7333333333,"ma_window":60},{"date":"2025-11-11","symbol":"GOOGL","close":291.12,"value":246.1988333333,"ma_window":60},{"date":"2025-11-12","symbol":"GOOGL","close":286.52,"value":247.6198333333,"ma_window":60},{"date":"2025-11-13","symbol":"GOOGL","close":278.39,"value":248.9428333333,"ma_window":60},{"date":"2025-11-14","symbol":"GOOGL","close":276.23,"value":250.2226666667,"ma_window":60},{"date":"2025-11-17","symbol":"GOOGL","close":284.83,"value":251.5403333333,"ma_window":60},{"date":"2025-11-18","symbol":"GOOGL","close":284.09,"value":252.8056666667,"ma_window":60},{"date":"2025-11-19","symbol":"GOOGL","close":292.62,"value":254.2356666667,"ma_window":60},{"date":"2025-11-20","symbol":"GOOGL","close":289.26,"value":255.604,"ma_window":60},{"date":"2025-11-21","symbol":"GOOGL","close":299.46,"value":257.0731666667,"ma_window":60},{"date":"2025-11-24","symbol":"GOOGL","close":318.37,"value":258.8363333333,"ma_window":60},{"date":"2025-11-25","symbol":"GOOGL","close":323.23,"value":260.7065,"ma_window":60},{"date":"2025-11-26","symbol":"GOOGL","close":319.74,"value":262.1971666667,"ma_window":60},{"date":"2025-11-28","symbol":"GOOGL","close":319.97,"value":263.6643333333,"ma_window":60},{"date":"2025-12-01","symbol":"GOOGL","close":314.68,"value":264.9983333333,"ma_window":60},{"date":"2025-12-02","symbol":"GOOGL","close":315.6,"value":266.3601666667,"ma_window":60},{"date":"2025-12-03","symbol":"GOOGL","close":319.42,"value":267.6926666667,"ma_window":60},{"date":"2025-12-04","symbol":"GOOGL","close":317.41,"value":268.9993333333,"ma_window":60},{"date":"2025-12-05","symbol":"GOOGL","close":321.06,"value":270.3468333333,"ma_window":60},{"date":"2025-12-08","symbol":"GOOGL","close":313.72,"value":271.5648333333,"ma_window":60},{"date":"2025-12-09","symbol":"GOOGL","close":317.08,"value":272.6586666667,"ma_window":60},{"date":"2025-12-10","symbol":"GOOGL","close":320.21,"value":273.8121666667,"ma_window":60},{"date":"2025-12-11","symbol":"GOOGL","close":312.43,"value":274.8631666667,"ma_window":60},{"date":"2025-12-12","symbol":"GOOGL","close":309.29,"value":275.8201666667,"ma_window":60},{"date":"2025-12-15","symbol":"GOOGL","close":308.22,"value":276.7146666667,"ma_window":60},{"date":"2025-12-16","symbol":"GOOGL","close":306.57,"value":277.6181666667,"ma_window":60},{"date":"2025-12-17","symbol":"GOOGL","close":296.72,"value":278.3718333333,"ma_window":60},{"date":"2025-12-18","symbol":"GOOGL","close":302.46,"value":279.2965,"ma_window":60},{"date":"2025-12-19","symbol":"GOOGL","close":307.16,"value":280.322,"ma_window":60},{"date":"2025-12-22","symbol":"GOOGL","close":309.78,"value":281.3786666667,"ma_window":60},{"date":"2025-12-23","symbol":"GOOGL","close":314.35,"value":282.553,"ma_window":60},{"date":"2025-12-24","symbol":"GOOGL","close":314.09,"value":283.7388333333,"ma_window":60},{"date":"2025-12-26","symbol":"GOOGL","close":313.51,"value":284.885,"ma_window":60},{"date":"2025-12-29","symbol":"GOOGL","close":313.56,"value":286.0188333333,"ma_window":60},{"date":"2025-12-30","symbol":"GOOGL","close":313.85,"value":287.1631666667,"ma_window":60},{"date":"2025-12-31","symbol":"GOOGL","close":313,"value":288.2086666667,"ma_window":60},{"date":"2026-01-02","symbol":"GOOGL","close":315.15,"value":289.3678333333,"ma_window":60},{"date":"2026-01-05","symbol":"GOOGL","close":316.54,"value":290.5691666667,"ma_window":60},{"date":"2026-01-06","symbol":"GOOGL","close":314.34,"value":291.7853333333,"ma_window":60},{"date":"2026-01-07","symbol":"GOOGL","close":321.98,"value":293.2113333333,"ma_window":60},{"date":"2026-01-08","symbol":"GOOGL","close":325.44,"value":294.5688333333,"ma_window":60},{"date":"2026-01-09","symbol":"GOOGL","close":328.57,"value":295.9568333333,"ma_window":60},{"date":"2026-01-12","symbol":"GOOGL","close":331.86,"value":297.3066666667,"ma_window":60},{"date":"2026-01-13","symbol":"GOOGL","close":335.97,"value":298.7178333333,"ma_window":60},{"date":"2026-01-14","symbol":"GOOGL","close":335.84,"value":300.0963333333,"ma_window":60},{"date":"2026-01-15","symbol":"GOOGL","close":332.78,"value":301.3696666667,"ma_window":60},{"date":"2026-01-16","symbol":"GOOGL","close":330,"value":302.698,"ma_window":60},{"date":"2026-01-20","symbol":"GOOGL","close":322,"value":303.8725,"ma_window":60},{"date":"2026-01-21","symbol":"GOOGL","close":328.38,"value":305.1303333333,"ma_window":60},{"date":"2026-01-22","symbol":"GOOGL","close":330.54,"value":306.3101666667,"ma_window":60},{"date":"2026-01-23","symbol":"GOOGL","close":327.93,"value":307.2908333333,"ma_window":60},{"date":"2025-07-30","symbol":"META","close":694.17,"value":694.17,"ma_window":60},{"date":"2025-07-31","symbol":"META","close":772.29,"value":733.23,"ma_window":60},{"date":"2025-08-01","symbol":"META","close":748.89,"value":738.45,"ma_window":60},{"date":"2025-08-04","symbol":"META","close":775.21,"value":747.64,"ma_window":60},{"date":"2025-08-05","symbol":"META","close":762.32,"value":750.576,"ma_window":60},{"date":"2025-08-06","symbol":"META","close":770.84,"value":753.9533333333,"ma_window":60},{"date":"2025-08-07","symbol":"META","close":760.7,"value":754.9171428571,"ma_window":60},{"date":"2025-08-08","symbol":"META","close":768.15,"value":756.57125,"ma_window":60},{"date":"2025-08-11","symbol":"META","close":764.73,"value":757.4777777778,"ma_window":60},{"date":"2025-08-12","symbol":"META","close":788.82,"value":760.612,"ma_window":60},{"date":"2025-08-13","symbol":"META","close":778.92,"value":762.2763636364,"ma_window":60},{"date":"2025-08-14","symbol":"META","close":780.97,"value":763.8341666667,"ma_window":60},{"date":"2025-08-15","symbol":"META","close":784.06,"value":765.39,"ma_window":60},{"date":"2025-08-18","symbol":"META","close":766.23,"value":765.45,"ma_window":60},{"date":"2025-08-19","symbol":"META","close":750.36,"value":764.444,"ma_window":60},{"date":"2025-08-20","symbol":"META","close":746.61,"value":763.329375,"ma_window":60},{"date":"2025-08-21","symbol":"META","close":738,"value":761.8394117647,"ma_window":60},{"date":"2025-08-22","symbol":"META","close":753.67,"value":761.3855555556,"ma_window":60},{"date":"2025-08-25","symbol":"META","close":752.18,"value":760.9010526316,"ma_window":60},{"date":"2025-08-26","symbol":"META","close":752.98,"value":760.505,"ma_window":60},{"date":"2025-08-27","symbol":"META","close":746.27,"value":759.8271428571,"ma_window":60},{"date":"2025-08-28","symbol":"META","close":749.99,"value":759.38,"ma_window":60},{"date":"2025-08-29","symbol":"META","close":737.6,"value":758.4330434783,"ma_window":60},{"date":"2025-09-02","symbol":"META","close":734.02,"value":757.4158333333,"ma_window":60},{"date":"2025-09-03","symbol":"META","close":735.95,"value":756.5572,"ma_window":60},{"date":"2025-09-04","symbol":"META","close":747.54,"value":756.2103846154,"ma_window":60},{"date":"2025-09-05","symbol":"META","close":751.33,"value":756.0296296296,"ma_window":60},{"date":"2025-09-08","symbol":"META","close":751.18,"value":755.8564285714,"ma_window":60},{"date":"2025-09-09","symbol":"META","close":764.56,"value":756.1565517241,"ma_window":60},{"date":"2025-09-10","symbol":"META","close":750.86,"value":755.98,"ma_window":60},{"date":"2025-09-11","symbol":"META","close":749.78,"value":755.78,"ma_window":60},{"date":"2025-09-12","symbol":"META","close":754.47,"value":755.7390625,"ma_window":60},{"date":"2025-09-15","symbol":"META","close":763.56,"value":755.9760606061,"ma_window":60},{"date":"2025-09-16","symbol":"META","close":777.84,"value":756.6191176471,"ma_window":60},{"date":"2025-09-17","symbol":"META","close":774.57,"value":757.132,"ma_window":60},{"date":"2025-09-18","symbol":"META","close":779.09,"value":757.7419444444,"ma_window":60},{"date":"2025-09-19","symbol":"META","close":777.22,"value":758.2683783784,"ma_window":60},{"date":"2025-09-22","symbol":"META","close":764.54,"value":758.4334210526,"ma_window":60},{"date":"2025-09-23","symbol":"META","close":754.78,"value":758.3397435897,"ma_window":60},{"date":"2025-09-24","symbol":"META","close":760.04,"value":758.38225,"ma_window":60},{"date":"2025-09-25","symbol":"META","close":748.3,"value":758.1363414634,"ma_window":60},{"date":"2025-09-26","symbol":"META","close":743.14,"value":757.7792857143,"ma_window":60},{"date":"2025-09-29","symbol":"META","close":742.79,"value":757.4306976744,"ma_window":60},{"date":"2025-09-30","symbol":"META","close":733.78,"value":756.8931818182,"ma_window":60},{"date":"2025-10-01","symbol":"META","close":716.76,"value":756.0013333333,"ma_window":60},{"date":"2025-10-02","symbol":"META","close":726.46,"value":755.3591304348,"ma_window":60},{"date":"2025-10-03","symbol":"META","close":709.98,"value":754.3936170213,"ma_window":60},{"date":"2025-10-06","symbol":"META","close":715.08,"value":753.5745833333,"ma_window":60},{"date":"2025-10-07","symbol":"META","close":712.5,"value":752.7363265306,"ma_window":60},{"date":"2025-10-08","symbol":"META","close":717.26,"value":752.0268,"ma_window":60},{"date":"2025-10-09","symbol":"META","close":732.91,"value":751.6519607843,"ma_window":60},{"date":"2025-10-10","symbol":"META","close":704.73,"value":750.7496153846,"ma_window":60},{"date":"2025-10-13","symbol":"META","close":715.12,"value":750.0773584906,"ma_window":60},{"date":"2025-10-14","symbol":"META","close":708.07,"value":749.2994444444,"ma_window":60},{"date":"2025-10-15","symbol":"META","close":716.97,"value":748.7116363636,"ma_window":60},{"date":"2025-10-16","symbol":"META","close":711.49,"value":748.0469642857,"ma_window":60},{"date":"2025-10-17","symbol":"META","close":716.34,"value":747.4907017544,"ma_window":60},{"date":"2025-10-20","symbol":"META","close":731.57,"value":747.2162068966,"ma_window":60},{"date":"2025-10-21","symbol":"META","close":732.67,"value":746.9696610169,"ma_window":60},{"date":"2025-10-22","symbol":"META","close":732.81,"value":746.7336666667,"ma_window":60},{"date":"2025-10-23","symbol":"META","close":733.4,"value":747.3875,"ma_window":60},{"date":"2025-10-24","symbol":"META","close":737.76,"value":746.812,"ma_window":60},{"date":"2025-10-27","symbol":"META","close":750.21,"value":746.834,"ma_window":60},{"date":"2025-10-28","symbol":"META","close":750.83,"value":746.4276666667,"ma_window":60},{"date":"2025-10-29","symbol":"META","close":751.06,"value":746.24,"ma_window":60},{"date":"2025-10-30","symbol":"META","close":665.93,"value":744.4915,"ma_window":60},{"date":"2025-10-31","symbol":"META","close":647.82,"value":742.6101666667,"ma_window":60},{"date":"2025-11-03","symbol":"META","close":637.19,"value":740.4275,"ma_window":60},{"date":"2025-11-04","symbol":"META","close":626.81,"value":738.1288333333,"ma_window":60},{"date":"2025-11-05","symbol":"META","close":635.43,"value":735.5723333333,"ma_window":60},{"date":"2025-11-06","symbol":"META","close":618.44,"value":732.8976666667,"ma_window":60},{"date":"2025-11-07","symbol":"META","close":621.2,"value":730.2348333333,"ma_window":60},{"date":"2025-11-10","symbol":"META","close":631.25,"value":727.688,"ma_window":60},{"date":"2025-11-11","symbol":"META","close":626.57,"value":725.3603333333,"ma_window":60},{"date":"2025-11-12","symbol":"META","close":608.51,"value":722.9961666667,"ma_window":60},{"date":"2025-11-13","symbol":"META","close":609.39,"value":720.7091666667,"ma_window":60},{"date":"2025-11-14","symbol":"META","close":608.96,"value":718.5585,"ma_window":60},{"date":"2025-11-17","symbol":"META","close":601.52,"value":716.0226666667,"ma_window":60},{"date":"2025-11-18","symbol":"META","close":597.2,"value":713.4396666667,"ma_window":60},{"date":"2025-11-19","symbol":"META","close":589.84,"value":710.7206666667,"ma_window":60},{"date":"2025-11-20","symbol":"META","close":588.67,"value":708.094,"ma_window":60},{"date":"2025-11-21","symbol":"META","close":593.77,"value":705.4903333333,"ma_window":60},{"date":"2025-11-24","symbol":"META","close":612.55,"value":703.4061666667,"ma_window":60},{"date":"2025-11-25","symbol":"META","close":635.7,"value":701.7675,"ma_window":60},{"date":"2025-11-26","symbol":"META","close":633.09,"value":700.0531666667,"ma_window":60},{"date":"2025-11-28","symbol":"META","close":647.42,"value":698.3845,"ma_window":60},{"date":"2025-12-01","symbol":"META","close":640.35,"value":696.5348333333,"ma_window":60},{"date":"2025-12-02","symbol":"META","close":646.57,"value":694.7913333333,"ma_window":60},{"date":"2025-12-03","symbol":"META","close":639.08,"value":692.7,"ma_window":60},{"date":"2025-12-04","symbol":"META","close":660.99,"value":691.2021666667,"ma_window":60},{"date":"2025-12-05","symbol":"META","close":672.87,"value":689.9203333333,"ma_window":60},{"date":"2025-12-08","symbol":"META","close":666.26,"value":688.4501666667,"ma_window":60},{"date":"2025-12-09","symbol":"META","close":656.42,"value":686.6645,"ma_window":60},{"date":"2025-12-10","symbol":"META","close":649.6,"value":684.5271666667,"ma_window":60},{"date":"2025-12-11","symbol":"META","close":652.18,"value":682.4873333333,"ma_window":60},{"date":"2025-12-12","symbol":"META","close":643.71,"value":680.231,"ma_window":60},{"date":"2025-12-15","symbol":"META","close":647.51,"value":678.0691666667,"ma_window":60},{"date":"2025-12-16","symbol":"META","close":657.15,"value":676.2793333333,"ma_window":60},{"date":"2025-12-17","symbol":"META","close":649.5,"value":674.5246666667,"ma_window":60},{"date":"2025-12-18","symbol":"META","close":664.45,"value":672.9315,"ma_window":60},{"date":"2025-12-19","symbol":"META","close":658.77,"value":671.4393333333,"ma_window":60},{"date":"2025-12-22","symbol":"META","close":661.5,"value":670.0786666667,"ma_window":60},{"date":"2025-12-23","symbol":"META","close":664.94,"value":668.7811666667,"ma_window":60},{"date":"2025-12-24","symbol":"META","close":667.55,"value":667.6773333333,"ma_window":60},{"date":"2025-12-26","symbol":"META","close":663.29,"value":666.7861666667,"ma_window":60},{"date":"2025-12-29","symbol":"META","close":658.69,"value":665.6566666667,"ma_window":60},{"date":"2025-12-30","symbol":"META","close":665.95,"value":664.9228333333,"ma_window":60},{"date":"2025-12-31","symbol":"META","close":660.09,"value":664.0063333333,"ma_window":60},{"date":"2026-01-02","symbol":"META","close":650.41,"value":662.9715,"ma_window":60},{"date":"2026-01-05","symbol":"META","close":658.79,"value":661.997,"ma_window":60},{"date":"2026-01-06","symbol":"META","close":660.62,"value":660.7921666667,"ma_window":60},{"date":"2026-01-07","symbol":"META","close":648.69,"value":659.8581666667,"ma_window":60},{"date":"2026-01-08","symbol":"META","close":646.06,"value":658.7071666667,"ma_window":60},{"date":"2026-01-09","symbol":"META","close":653.06,"value":657.7903333333,"ma_window":60},{"date":"2026-01-12","symbol":"META","close":641.97,"value":656.5403333333,"ma_window":60},{"date":"2026-01-13","symbol":"META","close":631.09,"value":655.2003333333,"ma_window":60},{"date":"2026-01-14","symbol":"META","close":615.52,"value":653.52,"ma_window":60},{"date":"2026-01-15","symbol":"META","close":620.8,"value":651.6738333333,"ma_window":60},{"date":"2026-01-16","symbol":"META","close":620.25,"value":649.8001666667,"ma_window":60},{"date":"2026-01-20","symbol":"META","close":604.12,"value":647.6553333333,"ma_window":60},{"date":"2026-01-21","symbol":"META","close":612.96,"value":645.648,"ma_window":60},{"date":"2026-01-22","symbol":"META","close":647.63,"value":644.1458333333,"ma_window":60},{"date":"2026-01-23","symbol":"META","close":658.76,"value":642.6216666667,"ma_window":60},{"date":"2025-07-30","symbol":"MSFT","close":511.44,"value":511.44,"ma_window":60},{"date":"2025-07-31","symbol":"MSFT","close":531.63,"value":521.535,"ma_window":60},{"date":"2025-08-01","symbol":"MSFT","close":522.27,"value":521.78,"ma_window":60},{"date":"2025-08-04","symbol":"MSFT","close":533.76,"value":524.775,"ma_window":60},{"date":"2025-08-05","symbol":"MSFT","close":525.9,"value":525,"ma_window":60},{"date":"2025-08-06","symbol":"MSFT","close":523.1,"value":524.6833333333,"ma_window":60},{"date":"2025-08-07","symbol":"MSFT","close":519.01,"value":523.8728571429,"ma_window":60},{"date":"2025-08-08","symbol":"MSFT","close":520.21,"value":523.415,"ma_window":60},{"date":"2025-08-11","symbol":"MSFT","close":519.94,"value":523.0288888889,"ma_window":60},{"date":"2025-08-12","symbol":"MSFT","close":527.38,"value":523.464,"ma_window":60},{"date":"2025-08-13","symbol":"MSFT","close":518.75,"value":523.0354545455,"ma_window":60},{"date":"2025-08-14","symbol":"MSFT","close":520.65,"value":522.8366666667,"ma_window":60},{"date":"2025-08-15","symbol":"MSFT","close":518.35,"value":522.4915384615,"ma_window":60},{"date":"2025-08-18","symbol":"MSFT","close":515.29,"value":521.9771428571,"ma_window":60},{"date":"2025-08-19","symbol":"MSFT","close":507.98,"value":521.044,"ma_window":60},{"date":"2025-08-20","symbol":"MSFT","close":503.95,"value":519.975625,"ma_window":60},{"date":"2025-08-21","symbol":"MSFT","close":503.3,"value":518.9947058824,"ma_window":60},{"date":"2025-08-22","symbol":"MSFT","close":506.28,"value":518.2883333333,"ma_window":60},{"date":"2025-08-25","symbol":"MSFT","close":503.32,"value":517.5005263158,"ma_window":60},{"date":"2025-08-26","symbol":"MSFT","close":501.1,"value":516.6805,"ma_window":60},{"date":"2025-08-27","symbol":"MSFT","close":505.79,"value":516.1619047619,"ma_window":60},{"date":"2025-08-28","symbol":"MSFT","close":508.69,"value":515.8222727273,"ma_window":60},{"date":"2025-08-29","symbol":"MSFT","close":505.74,"value":515.3839130435,"ma_window":60},{"date":"2025-09-02","symbol":"MSFT","close":504.18,"value":514.9170833333,"ma_window":60},{"date":"2025-09-03","symbol":"MSFT","close":504.41,"value":514.4968,"ma_window":60},{"date":"2025-09-04","symbol":"MSFT","close":507.02,"value":514.2092307692,"ma_window":60},{"date":"2025-09-05","symbol":"MSFT","close":494.08,"value":513.4637037037,"ma_window":60},{"date":"2025-09-08","symbol":"MSFT","close":497.27,"value":512.8853571429,"ma_window":60},{"date":"2025-09-09","symbol":"MSFT","close":497.48,"value":512.354137931,"ma_window":60},{"date":"2025-09-10","symbol":"MSFT","close":499.44,"value":511.9236666667,"ma_window":60},{"date":"2025-09-11","symbol":"MSFT","close":500.07,"value":511.5412903226,"ma_window":60},{"date":"2025-09-12","symbol":"MSFT","close":508.95,"value":511.4603125,"ma_window":60},{"date":"2025-09-15","symbol":"MSFT","close":514.4,"value":511.5493939394,"ma_window":60},{"date":"2025-09-16","symbol":"MSFT","close":508.09,"value":511.4476470588,"ma_window":60},{"date":"2025-09-17","symbol":"MSFT","close":509.07,"value":511.3797142857,"ma_window":60},{"date":"2025-09-18","symbol":"MSFT","close":507.5,"value":511.2719444444,"ma_window":60},{"date":"2025-09-19","symbol":"MSFT","close":516.96,"value":511.4256756757,"ma_window":60},{"date":"2025-09-22","symbol":"MSFT","close":513.49,"value":511.48,"ma_window":60},{"date":"2025-09-23","symbol":"MSFT","close":508.28,"value":511.3979487179,"ma_window":60},{"date":"2025-09-24","symbol":"MSFT","close":509.2,"value":511.343,"ma_window":60},{"date":"2025-09-25","symbol":"MSFT","close":506.08,"value":511.2146341463,"ma_window":60},{"date":"2025-09-26","symbol":"MSFT","close":510.5,"value":511.1976190476,"ma_window":60},{"date":"2025-09-29","symbol":"MSFT","close":513.64,"value":511.2544186047,"ma_window":60},{"date":"2025-09-30","symbol":"MSFT","close":516.98,"value":511.3845454545,"ma_window":60},{"date":"2025-10-01","symbol":"MSFT","close":518.74,"value":511.548,"ma_window":60},{"date":"2025-10-02","symbol":"MSFT","close":514.78,"value":511.6182608696,"ma_window":60},{"date":"2025-10-03","symbol":"MSFT","close":516.38,"value":511.7195744681,"ma_window":60},{"date":"2025-10-06","symbol":"MSFT","close":527.58,"value":512.05,"ma_window":60},{"date":"2025-10-07","symbol":"MSFT","close":523,"value":512.2734693878,"ma_window":60},{"date":"2025-10-08","symbol":"MSFT","close":523.87,"value":512.5054,"ma_window":60},{"date":"2025-10-09","symbol":"MSFT","close":521.42,"value":512.6801960784,"ma_window":60},{"date":"2025-10-10","symbol":"MSFT","close":510.01,"value":512.6288461538,"ma_window":60},{"date":"2025-10-13","symbol":"MSFT","close":513.09,"value":512.6375471698,"ma_window":60},{"date":"2025-10-14","symbol":"MSFT","close":512.61,"value":512.637037037,"ma_window":60},{"date":"2025-10-15","symbol":"MSFT","close":512.47,"value":512.634,"ma_window":60},{"date":"2025-10-16","symbol":"MSFT","close":510.65,"value":512.5985714286,"ma_window":60},{"date":"2025-10-17","symbol":"MSFT","close":512.62,"value":512.5989473684,"ma_window":60},{"date":"2025-10-20","symbol":"MSFT","close":515.82,"value":512.6544827586,"ma_window":60},{"date":"2025-10-21","symbol":"MSFT","close":516.69,"value":512.7228813559,"ma_window":60},{"date":"2025-10-22","symbol":"MSFT","close":519.57,"value":512.837,"ma_window":60},{"date":"2025-10-23","symbol":"MSFT","close":519.59,"value":512.9728333333,"ma_window":60},{"date":"2025-10-24","symbol":"MSFT","close":522.63,"value":512.8228333333,"ma_window":60},{"date":"2025-10-27","symbol":"MSFT","close":530.53,"value":512.9605,"ma_window":60},{"date":"2025-10-28","symbol":"MSFT","close":541.06,"value":513.0821666667,"ma_window":60},{"date":"2025-10-29","symbol":"MSFT","close":540.54,"value":513.3261666667,"ma_window":60},{"date":"2025-10-30","symbol":"MSFT","close":524.78,"value":513.3541666667,"ma_window":60},{"date":"2025-10-31","symbol":"MSFT","close":516.84,"value":513.318,"ma_window":60},{"date":"2025-11-03","symbol":"MSFT","close":516.06,"value":513.2488333333,"ma_window":60},{"date":"2025-11-04","symbol":"MSFT","close":513.37,"value":513.1393333333,"ma_window":60},{"date":"2025-11-05","symbol":"MSFT","close":506.21,"value":512.7865,"ma_window":60},{"date":"2025-11-06","symbol":"MSFT","close":496.17,"value":512.4101666667,"ma_window":60},{"date":"2025-11-07","symbol":"MSFT","close":495.89,"value":511.9975,"ma_window":60},{"date":"2025-11-10","symbol":"MSFT","close":505.05,"value":511.7758333333,"ma_window":60},{"date":"2025-11-11","symbol":"MSFT","close":507.73,"value":511.6498333333,"ma_window":60},{"date":"2025-11-12","symbol":"MSFT","close":510.19,"value":511.6866666667,"ma_window":60},{"date":"2025-11-13","symbol":"MSFT","close":502.35,"value":511.66,"ma_window":60},{"date":"2025-11-14","symbol":"MSFT","close":509.23,"value":511.7588333333,"ma_window":60},{"date":"2025-11-17","symbol":"MSFT","close":506.54,"value":511.7631666667,"ma_window":60},{"date":"2025-11-18","symbol":"MSFT","close":492.87,"value":511.589,"ma_window":60},{"date":"2025-11-19","symbol":"MSFT","close":486.21,"value":511.3408333333,"ma_window":60},{"date":"2025-11-20","symbol":"MSFT","close":478.43,"value":510.8848333333,"ma_window":60},{"date":"2025-11-21","symbol":"MSFT","close":472.12,"value":510.2753333333,"ma_window":60},{"date":"2025-11-24","symbol":"MSFT","close":474,"value":509.7463333333,"ma_window":60},{"date":"2025-11-25","symbol":"MSFT","close":476.99,"value":509.2931666667,"ma_window":60},{"date":"2025-11-26","symbol":"MSFT","close":485.5,"value":508.978,"ma_window":60},{"date":"2025-11-28","symbol":"MSFT","close":492.01,"value":508.7278333333,"ma_window":60},{"date":"2025-12-01","symbol":"MSFT","close":486.74,"value":508.6055,"ma_window":60},{"date":"2025-12-02","symbol":"MSFT","close":490,"value":508.4843333333,"ma_window":60},{"date":"2025-12-03","symbol":"MSFT","close":477.73,"value":508.1551666667,"ma_window":60},{"date":"2025-12-04","symbol":"MSFT","close":480.84,"value":507.8451666667,"ma_window":60},{"date":"2025-12-05","symbol":"MSFT","close":483.16,"value":507.5633333333,"ma_window":60},{"date":"2025-12-08","symbol":"MSFT","close":491.02,"value":507.2645,"ma_window":60},{"date":"2025-12-09","symbol":"MSFT","close":492.02,"value":506.8915,"ma_window":60},{"date":"2025-12-10","symbol":"MSFT","close":478.56,"value":506.3993333333,"ma_window":60},{"date":"2025-12-11","symbol":"MSFT","close":483.47,"value":505.9726666667,"ma_window":60},{"date":"2025-12-12","symbol":"MSFT","close":478.53,"value":505.4898333333,"ma_window":60},{"date":"2025-12-15","symbol":"MSFT","close":474.82,"value":504.7875,"ma_window":60},{"date":"2025-12-16","symbol":"MSFT","close":476.39,"value":504.1691666667,"ma_window":60},{"date":"2025-12-17","symbol":"MSFT","close":476.12,"value":503.6331666667,"ma_window":60},{"date":"2025-12-18","symbol":"MSFT","close":483.98,"value":503.2128333333,"ma_window":60},{"date":"2025-12-19","symbol":"MSFT","close":485.92,"value":502.8768333333,"ma_window":60},{"date":"2025-12-22","symbol":"MSFT","close":484.92,"value":502.4505,"ma_window":60},{"date":"2025-12-23","symbol":"MSFT","close":486.85,"value":502.004,"ma_window":60},{"date":"2025-12-24","symbol":"MSFT","close":488.02,"value":501.5213333333,"ma_window":60},{"date":"2025-12-26","symbol":"MSFT","close":487.71,"value":501.0041666667,"ma_window":60},{"date":"2025-12-29","symbol":"MSFT","close":487.1,"value":500.5428333333,"ma_window":60},{"date":"2025-12-30","symbol":"MSFT","close":487.48,"value":500.0611666667,"ma_window":60},{"date":"2025-12-31","symbol":"MSFT","close":483.62,"value":499.3285,"ma_window":60},{"date":"2026-01-02","symbol":"MSFT","close":472.94,"value":498.4941666667,"ma_window":60},{"date":"2026-01-05","symbol":"MSFT","close":472.85,"value":497.6438333333,"ma_window":60},{"date":"2026-01-06","symbol":"MSFT","close":478.51,"value":496.9286666667,"ma_window":60},{"date":"2026-01-07","symbol":"MSFT","close":483.47,"value":496.4863333333,"ma_window":60},{"date":"2026-01-08","symbol":"MSFT","close":478.11,"value":495.9033333333,"ma_window":60},{"date":"2026-01-09","symbol":"MSFT","close":479.28,"value":495.3478333333,"ma_window":60},{"date":"2026-01-12","symbol":"MSFT","close":477.18,"value":494.7596666667,"ma_window":60},{"date":"2026-01-13","symbol":"MSFT","close":470.67,"value":494.0933333333,"ma_window":60},{"date":"2026-01-14","symbol":"MSFT","close":459.38,"value":493.206,"ma_window":60},{"date":"2026-01-15","symbol":"MSFT","close":456.66,"value":492.22,"ma_window":60},{"date":"2026-01-16","symbol":"MSFT","close":459.86,"value":491.2728333333,"ma_window":60},{"date":"2026-01-20","symbol":"MSFT","close":454.52,"value":490.1886666667,"ma_window":60},{"date":"2026-01-21","symbol":"MSFT","close":444.11,"value":488.9306666667,"ma_window":60},{"date":"2026-01-22","symbol":"MSFT","close":451.14,"value":487.7391666667,"ma_window":60},{"date":"2026-01-23","symbol":"MSFT","close":465.95,"value":486.6628333333,"ma_window":60},{"date":"2025-07-30","symbol":"NVDA","close":179.25,"value":179.25,"ma_window":60},{"date":"2025-07-31","symbol":"NVDA","close":177.85,"value":178.55,"ma_window":60},{"date":"2025-08-01","symbol":"NVDA","close":173.7,"value":176.9333333333,"ma_window":60},{"date":"2025-08-04","symbol":"NVDA","close":179.98,"value":177.695,"ma_window":60},{"date":"2025-08-05","symbol":"NVDA","close":178.24,"value":177.804,"ma_window":60},{"date":"2025-08-06","symbol":"NVDA","close":179.4,"value":178.07,"ma_window":60},{"date":"2025-08-07","symbol":"NVDA","close":180.75,"value":178.4528571429,"ma_window":60},{"date":"2025-08-08","symbol":"NVDA","close":182.68,"value":178.98125,"ma_window":60},{"date":"2025-08-11","symbol":"NVDA","close":182.04,"value":179.3211111111,"ma_window":60},{"date":"2025-08-12","symbol":"NVDA","close":183.14,"value":179.703,"ma_window":60},{"date":"2025-08-13","symbol":"NVDA","close":181.57,"value":179.8727272727,"ma_window":60},{"date":"2025-08-14","symbol":"NVDA","close":182,"value":180.05,"ma_window":60},{"date":"2025-08-15","symbol":"NVDA","close":180.43,"value":180.0792307692,"ma_window":60},{"date":"2025-08-18","symbol":"NVDA","close":181.99,"value":180.2157142857,"ma_window":60},{"date":"2025-08-19","symbol":"NVDA","close":175.62,"value":179.9093333333,"ma_window":60},{"date":"2025-08-20","symbol":"NVDA","close":175.38,"value":179.62625,"ma_window":60},{"date":"2025-08-21","symbol":"NVDA","close":174.96,"value":179.3517647059,"ma_window":60},{"date":"2025-08-22","symbol":"NVDA","close":177.97,"value":179.275,"ma_window":60},{"date":"2025-08-25","symbol":"NVDA","close":179.79,"value":179.3021052632,"ma_window":60},{"date":"2025-08-26","symbol":"NVDA","close":181.75,"value":179.4245,"ma_window":60},{"date":"2025-08-27","symbol":"NVDA","close":181.58,"value":179.5271428571,"ma_window":60},{"date":"2025-08-28","symbol":"NVDA","close":180.15,"value":179.5554545455,"ma_window":60},{"date":"2025-08-29","symbol":"NVDA","close":174.16,"value":179.3208695652,"ma_window":60},{"date":"2025-09-02","symbol":"NVDA","close":170.76,"value":178.9641666667,"ma_window":60},{"date":"2025-09-03","symbol":"NVDA","close":170.6,"value":178.6296,"ma_window":60},{"date":"2025-09-04","symbol":"NVDA","close":171.64,"value":178.3607692308,"ma_window":60},{"date":"2025-09-05","symbol":"NVDA","close":167,"value":177.94,"ma_window":60},{"date":"2025-09-08","symbol":"NVDA","close":168.29,"value":177.5953571429,"ma_window":60},{"date":"2025-09-09","symbol":"NVDA","close":170.74,"value":177.3589655172,"ma_window":60},{"date":"2025-09-10","symbol":"NVDA","close":177.31,"value":177.3573333333,"ma_window":60},{"date":"2025-09-11","symbol":"NVDA","close":177.16,"value":177.3509677419,"ma_window":60},{"date":"2025-09-12","symbol":"NVDA","close":177.81,"value":177.3653125,"ma_window":60},{"date":"2025-09-15","symbol":"NVDA","close":177.74,"value":177.3766666667,"ma_window":60},{"date":"2025-09-16","symbol":"NVDA","close":174.87,"value":177.3029411765,"ma_window":60},{"date":"2025-09-17","symbol":"NVDA","close":170.28,"value":177.1022857143,"ma_window":60},{"date":"2025-09-18","symbol":"NVDA","close":176.23,"value":177.0780555556,"ma_window":60},{"date":"2025-09-19","symbol":"NVDA","close":176.66,"value":177.0667567568,"ma_window":60},{"date":"2025-09-22","symbol":"NVDA","close":183.6,"value":177.2386842105,"ma_window":60},{"date":"2025-09-23","symbol":"NVDA","close":178.42,"value":177.268974359,"ma_window":60},{"date":"2025-09-24","symbol":"NVDA","close":176.96,"value":177.26125,"ma_window":60},{"date":"2025-09-25","symbol":"NVDA","close":177.68,"value":177.2714634146,"ma_window":60},{"date":"2025-09-26","symbol":"NVDA","close":178.18,"value":177.2930952381,"ma_window":60},{"date":"2025-09-29","symbol":"NVDA","close":181.84,"value":177.3988372093,"ma_window":60},{"date":"2025-09-30","symbol":"NVDA","close":186.57,"value":177.6072727273,"ma_window":60},{"date":"2025-10-01","symbol":"NVDA","close":187.23,"value":177.8211111111,"ma_window":60},{"date":"2025-10-02","symbol":"NVDA","close":188.88,"value":178.0615217391,"ma_window":60},{"date":"2025-10-03","symbol":"NVDA","close":187.61,"value":178.2646808511,"ma_window":60},{"date":"2025-10-06","symbol":"NVDA","close":185.53,"value":178.4160416667,"ma_window":60},{"date":"2025-10-07","symbol":"NVDA","close":185.03,"value":178.5510204082,"ma_window":60},{"date":"2025-10-08","symbol":"NVDA","close":189.1,"value":178.762,"ma_window":60},{"date":"2025-10-09","symbol":"NVDA","close":192.56,"value":179.0325490196,"ma_window":60},{"date":"2025-10-10","symbol":"NVDA","close":183.15,"value":179.1117307692,"ma_window":60},{"date":"2025-10-13","symbol":"NVDA","close":188.31,"value":179.2852830189,"ma_window":60},{"date":"2025-10-14","symbol":"NVDA","close":180.02,"value":179.2988888889,"ma_window":60},{"date":"2025-10-15","symbol":"NVDA","close":179.82,"value":179.3083636364,"ma_window":60},{"date":"2025-10-16","symbol":"NVDA","close":181.8,"value":179.3528571429,"ma_window":60},{"date":"2025-10-17","symbol":"NVDA","close":183.21,"value":179.4205263158,"ma_window":60},{"date":"2025-10-20","symbol":"NVDA","close":182.63,"value":179.475862069,"ma_window":60},{"date":"2025-10-21","symbol":"NVDA","close":181.15,"value":179.5042372881,"ma_window":60},{"date":"2025-10-22","symbol":"NVDA","close":180.27,"value":179.517,"ma_window":60},{"date":"2025-10-23","symbol":"NVDA","close":182.15,"value":179.5653333333,"ma_window":60},{"date":"2025-10-24","symbol":"NVDA","close":186.25,"value":179.7053333333,"ma_window":60},{"date":"2025-10-27","symbol":"NVDA","close":191.48,"value":180.0016666667,"ma_window":60},{"date":"2025-10-28","symbol":"NVDA","close":201.02,"value":180.3523333333,"ma_window":60},{"date":"2025-10-29","symbol":"NVDA","close":207.03,"value":180.8321666667,"ma_window":60},{"date":"2025-10-30","symbol":"NVDA","close":202.88,"value":181.2235,"ma_window":60},{"date":"2025-10-31","symbol":"NVDA","close":202.48,"value":181.5856666667,"ma_window":60},{"date":"2025-11-03","symbol":"NVDA","close":206.87,"value":181.9888333333,"ma_window":60},{"date":"2025-11-04","symbol":"NVDA","close":198.68,"value":182.2661666667,"ma_window":60},{"date":"2025-11-05","symbol":"NVDA","close":195.2,"value":182.4671666667,"ma_window":60},{"date":"2025-11-06","symbol":"NVDA","close":188.07,"value":182.5755,"ma_window":60},{"date":"2025-11-07","symbol":"NVDA","close":188.14,"value":182.6778333333,"ma_window":60},{"date":"2025-11-10","symbol":"NVDA","close":199.04,"value":182.988,"ma_window":60},{"date":"2025-11-11","symbol":"NVDA","close":193.15,"value":183.174,"ma_window":60},{"date":"2025-11-12","symbol":"NVDA","close":193.79,"value":183.4768333333,"ma_window":60},{"date":"2025-11-13","symbol":"NVDA","close":186.85,"value":183.668,"ma_window":60},{"date":"2025-11-14","symbol":"NVDA","close":190.16,"value":183.9213333333,"ma_window":60},{"date":"2025-11-17","symbol":"NVDA","close":186.59,"value":184.065,"ma_window":60},{"date":"2025-11-18","symbol":"NVDA","close":181.35,"value":184.091,"ma_window":60},{"date":"2025-11-19","symbol":"NVDA","close":186.51,"value":184.1703333333,"ma_window":60},{"date":"2025-11-20","symbol":"NVDA","close":180.63,"value":184.1545,"ma_window":60},{"date":"2025-11-21","symbol":"NVDA","close":178.87,"value":184.1331666667,"ma_window":60},{"date":"2025-11-24","symbol":"NVDA","close":182.54,"value":184.2728333333,"ma_window":60},{"date":"2025-11-25","symbol":"NVDA","close":177.81,"value":184.3903333333,"ma_window":60},{"date":"2025-11-26","symbol":"NVDA","close":180.25,"value":184.5511666667,"ma_window":60},{"date":"2025-11-28","symbol":"NVDA","close":176.99,"value":184.6403333333,"ma_window":60},{"date":"2025-12-01","symbol":"NVDA","close":179.91,"value":184.8555,"ma_window":60},{"date":"2025-12-02","symbol":"NVDA","close":181.45,"value":185.0748333333,"ma_window":60},{"date":"2025-12-03","symbol":"NVDA","close":179.58,"value":185.2221666667,"ma_window":60},{"date":"2025-12-04","symbol":"NVDA","close":183.38,"value":185.3233333333,"ma_window":60},{"date":"2025-12-05","symbol":"NVDA","close":182.41,"value":185.4108333333,"ma_window":60},{"date":"2025-12-08","symbol":"NVDA","close":185.55,"value":185.5398333333,"ma_window":60},{"date":"2025-12-09","symbol":"NVDA","close":184.97,"value":185.6603333333,"ma_window":60},{"date":"2025-12-10","symbol":"NVDA","close":183.78,"value":185.8088333333,"ma_window":60},{"date":"2025-12-11","symbol":"NVDA","close":180.93,"value":185.9863333333,"ma_window":60},{"date":"2025-12-12","symbol":"NVDA","close":175.02,"value":185.9661666667,"ma_window":60},{"date":"2025-12-15","symbol":"NVDA","close":176.29,"value":185.96,"ma_window":60},{"date":"2025-12-16","symbol":"NVDA","close":177.72,"value":185.862,"ma_window":60},{"date":"2025-12-17","symbol":"NVDA","close":170.94,"value":185.7373333333,"ma_window":60},{"date":"2025-12-18","symbol":"NVDA","close":174.14,"value":185.6903333333,"ma_window":60},{"date":"2025-12-19","symbol":"NVDA","close":180.99,"value":185.7455,"ma_window":60},{"date":"2025-12-22","symbol":"NVDA","close":183.69,"value":185.8373333333,"ma_window":60},{"date":"2025-12-23","symbol":"NVDA","close":189.21,"value":185.9601666667,"ma_window":60},{"date":"2025-12-24","symbol":"NVDA","close":188.61,"value":185.9941666667,"ma_window":60},{"date":"2025-12-26","symbol":"NVDA","close":190.53,"value":186.0491666667,"ma_window":60},{"date":"2025-12-29","symbol":"NVDA","close":188.22,"value":186.0381666667,"ma_window":60},{"date":"2025-12-30","symbol":"NVDA","close":187.54,"value":186.037,"ma_window":60},{"date":"2025-12-31","symbol":"NVDA","close":186.5,"value":186.0531666667,"ma_window":60},{"date":"2026-01-02","symbol":"NVDA","close":188.85,"value":186.1168333333,"ma_window":60},{"date":"2026-01-05","symbol":"NVDA","close":188.12,"value":186.1005,"ma_window":60},{"date":"2026-01-06","symbol":"NVDA","close":187.24,"value":186.0118333333,"ma_window":60},{"date":"2026-01-07","symbol":"NVDA","close":189.11,"value":186.1111666667,"ma_window":60},{"date":"2026-01-08","symbol":"NVDA","close":185.04,"value":186.0566666667,"ma_window":60},{"date":"2026-01-09","symbol":"NVDA","close":184.86,"value":186.1373333333,"ma_window":60},{"date":"2026-01-12","symbol":"NVDA","close":184.94,"value":186.2226666667,"ma_window":60},{"date":"2026-01-13","symbol":"NVDA","close":185.81,"value":186.2895,"ma_window":60},{"date":"2026-01-14","symbol":"NVDA","close":183.14,"value":186.2883333333,"ma_window":60},{"date":"2026-01-15","symbol":"NVDA","close":187.05,"value":186.362,"ma_window":60},{"date":"2026-01-16","symbol":"NVDA","close":186.23,"value":186.4466666667,"ma_window":60},{"date":"2026-01-20","symbol":"NVDA","close":178.07,"value":186.41,"ma_window":60},{"date":"2026-01-21","symbol":"NVDA","close":183.32,"value":186.4295,"ma_window":60},{"date":"2026-01-22","symbol":"NVDA","close":184.84,"value":186.406,"ma_window":60},{"date":"2026-01-23","symbol":"NVDA","close":187.67,"value":186.3425,"ma_window":60}],"metadata":{"date":{"type":"date","semanticType":"Date"},"symbol":{"type":"string","semanticType":"String"},"close":{"type":"number","semanticType":"Number"},"value":{"type":"number","semanticType":"Number"},"ma_window":{"type":"number","semanticType":"Duration"}},"derive":{"code":"\nimport pandas as pd\nimport collections\nimport numpy as np\n\ndef transform_data(df_history: pd.DataFrame) -> pd.DataFrame:\n # Work on a copy and keep only needed columns if present\n base_cols = [c for c in [\"date\", \"symbol\", \"close\"] if c in df_history.columns]\n df = df_history[base_cols].copy()\n\n # Normalize date to string YYYY-MM-DD\n df[\"date\"] = pd.to_datetime(df[\"date\"]).dt.strftime(\"%Y-%m-%d\")\n\n # Sort for proper rolling computation\n df = df.sort_values([\"symbol\", \"date\"])\n\n # Ensure we have a clean, simple index to avoid alignment issues\n df = df.reset_index(drop=True)\n\n # Compute rolling means using transform to preserve index alignment\n df[\"ma_20\"] = (\n df.groupby(\"symbol\")[\"close\"]\n .transform(lambda s: s.rolling(window=20, min_periods=1).mean())\n )\n df[\"ma_60\"] = (\n df.groupby(\"symbol\")[\"close\"]\n .transform(lambda s: s.rolling(window=60, min_periods=1).mean())\n )\n\n # Reshape to long format for the moving averages\n df_long = df.melt(\n id_vars=[\"date\", \"symbol\", \"close\"],\n value_vars=[\"ma_20\", \"ma_60\"],\n var_name=\"ma_window\",\n value_name=\"value\",\n )\n\n # Map ma_window to numeric window size (20 or 60)\n window_map = {\"ma_20\": 20, \"ma_60\": 60}\n df_long[\"ma_window\"] = df_long[\"ma_window\"].map(window_map).astype(int)\n\n # Final tidy output\n transformed_df = df_long[[\"date\", \"symbol\", \"close\", \"value\", \"ma_window\"]].reset_index(drop=True)\n return transformed_df\n","source":["history"],"dialog":[{"role":"system","content":"You are a data scientist to help user to recommend data that will be used for visualization.\nThe user will provide you information about what visualization they would like to create, and your job is to recommend a transformed data that can be used to create the visualization and write a python function to transform the data.\nThe recommendation and transformation function should be based on the [CONTEXT] and [GOAL] provided by the user. \nThe [CONTEXT] shows what the current dataset is, and the [GOAL] describes what the user wants the data for.\n\n**Important:**\n- NEVER make assumptions or judgments about a person's gender, biological sex, sexuality, religion, race, nationality, ethnicity, political stance, socioeconomic status, mental health, invisible disabilities, medical conditions, personality type, social impressions, emotional state, and cognitive state.\n- NEVER create formulas that could be used to discriminate based on age. Ageism of any form (explicit and implicit) is strictly prohibited.\n- If above issue occurs, generate columns with np.nan.\n\nConcretely, you should infer the appropriate data and create in the output section a python function based off the [CONTEXT] and [GOAL] in two steps:\n\n1. First, based on users' [GOAL]. Create a json object that represents the inferred user intent. The json object should have the following format:\n\n{\n \"mode\": \"\" // string, one of \"infer\", \"overview\", \"distribution\", \"summary\", \"forecast\"\n \"recap\": \"...\" // string, a short summary of the user's goal.\n \"display_instruction\": \"...\" // string, the even shorter verb phrase describing the users' goal.\n \"recommendation\": \"...\" // string, explain why this recommendation is made\n \"input_tables\": [...] // string[], describe names of the input tables that will be used in the transformation.\n \"output_fields\": [...] // string[], describe the desired output fields that the output data should have (i.e., the goal of transformed data), it's a good idea to preseve intermediate fields here\n \"chart_type\": \"\" // string, one of \"point\", \"bar\", \"line\", \"area\", \"heatmap\", \"group_bar\", 'boxplot'. \"chart_type\" should either be inferred from user instruction, or recommend if the user didn't specify any.\n \"chart_encodings\": {\n \"x\": \"\",\n \"y\": \"\",\n \"color\": \"\",\n \"size\": \"\",\n \"opacity\": \"\",\n \"facet\": \"\",\n } // object: map visualization channels (x, y, color, size, opacity, facet, etc.) to a subset of output fields, appropriate visual channels for different chart types are defined below.\n}\n\nConcretely:\n - recap what the user's goal is in a short summary in \"recap\".\n - If the user's [GOAL] is clear already, simply infer what the user mean. Set \"mode\" as \"infer\" and create \"output_fields\" and \"chart_encodings\" based off user description.\n - If the user's [GOAL] is not clear, make recommendations to the user:\n - choose one of \"distribution\", \"overview\", \"summary\", \"forecast\" in \"mode\":\n * if it is \"overview\" and the data is in wide format, reshape it into long format.\n * if it is \"distribution\", select a few fields that would be interesting to visualize together.\n * if it is \"summary\", calculate some aggregated statistics to show intresting facts of the data.\n * if it is \"forecast\", concretize the x,y fields that will be used for forecasting and decide if it is about regression or forecasting.\n - describe the recommendation reason in \"recommendation\"\n - based on the recommendation, determine what is an ideal output data. Note, the output data must be in tidy format.\n - then suggest recommendations of chart encoding that should be used to create the visualization.\n - \"display_instruction\" should be a short verb phrase describing the users' goal, it should be even shorter than \"recap\". \n - it would be a short verbal description of user intent as a verb phrase (<12 words).\n - generate based on \"recap\" and the suggested visualization, but don't need to mention the visualization details.\n - should capture key computation ideas: by reading the display, the user can understand the purpose and what's derived from the data.\n - if the user instruction builds up the previous instruction, the 'display_instruction' should only describe how it builds up the previous instruction without repeating information from previous steps.\n - the phrase can be presented in different styles, e.g., question (what's xxx), instruction (show xxx), description, etc.\n - if you mention column names from the input or the output data, highlight the text in **bold**.\n * the column can either be a column in the input data, or a new column that will be computed in the output data.\n * the mention don't have to be exact match, it can be semantically matching, e.g., if you mentioned \"average score\" in the text while the column to be computed is \"Avg_Score\", you should still highlight \"**average score**\" in the text.\n - determine \"input_tables\", the names of a subset of input tables from [CONTEXT] section that will be used to achieve the user's goal.\n - **IMPORTANT** Note that the Table 1 in [CONTEXT] section is the table the user is currently viewing, it should take precedence if the user refers to insights about the \"current table\".\n - At the same time, leverage table information to determine which tables are relevant to the user's goal and should be used.\n - \"chart_type\" must be one of \"point\", \"bar\", \"line\", \"area\", \"heatmap\", \"group_bar\", \"boxplot\"\n - \"chart_encodings\" should specify which fields should be used to create the visualization\n - decide which visual channels should be used to create the visualization appropriate for the chart type.\n - point: x, y, color, size, facet\n - histogram: x, color, facet\n - bar: x, y, color, facet\n - line: x, y, color, facet\n - area: x, y, color, facet\n - heatmap: x, y, color, facet\n - group_bar: x, y, color, facet\n - boxplot: x, y, color, facet\n - note that all fields used in \"chart_encodings\" should be included in \"output_fields\".\n - all fields you need for visualizations should be transformed into the output fields!\n - \"output_fields\" should include important intermediate fields that are not used in visualization but are used for data transformation.\n - typically only 2-3 fields should be used to create the visualization (x, y, color/size), facet use be added if it's a faceted visualization (totally 4 fields used).\n - Guidelines for choosing chart type and visualization fields:\n - Consider chart types as follows:\n - (point) Scatter Plots: x,y: Quantitative/Categorical, color: Categorical (optional), size: Quantitative (optional for creating bubble chart), \n - best for: Relationships, correlations, distributions, forecasting, regression analysis\n - scatter plots are good default way to visualize data when other chart types are not applicable.\n - use color to visualize points from different categories.\n - use size to visualize data points with an additional quantitative dimension of the data points.\n - (histogram) Histograms: x: Quantitative/Categorical, color: Categorical (optional for creating grouped histogram), \n - best for: Distribution of a quantitative field\n - use x values directly if x values are categorical, and transform the data into bins if the field values are quantitative.\n - when color is specified, the histogram will be grouped automatically (items with the same x values will be grouped).\n - (bar) Bar Charts: x: Categorical (nominal/ordinal), y: Quantitative, color: Categorical/Quantitative (for stacked bar chart / showing additional quantitative dimension), \n - best for: Comparisons across categories\n - use (bar) for simple bar chart or stacked bar chart (when it makes sense to add up Y values for each category with the same X value), \n - when color is specified, the bar will be stacked automatically (items with the same x values will be stacked).\n - note that when there are multiple rows in the data with same x values, the bar will be stacked automatically.\n - 1. consider to use an aggregated field for y values if the value is not suitable for stacking.\n - 2. consider to introduce facets so that each group is visualized in a separate bar.\n - (group_bar) for grouped bar chart, x: Categorical (nominal/ordinal), y: Quantitative, color: Categorical\n - when color is specifed, bars from different groups will be grouped automatically.\n - only use facet if the cardinality of color field is small (less than 5).\n - (line) Line Charts: x: Temporal (preferred) or ordinal, y: Quantitative, color: Categorical (optional for creating multiple lines), \n - best for: Trends over time, continuous data, forecasting, regression analysis\n - note that when there are multiple rows in the data belong to the same group (same x and color values) but different y values, the line will not look correct.\n - consider to use an aggregated field for y values, or introduce facets so that each group is visualized in a separate line.\n - (area) Area Charts: x: Temporal (preferred) or ordinal, y: Quantitative, color: Categorical (optional for creating stacked areas), \n - best for: Trends over time, continuous data\n - (heatmap) Heatmaps: x,y: Categorical (you need to convert quantitative to nominal), color: Quantitative intensity, \n - best for: Pattern discovery in matrix data\n - (boxplot) Box plots: x: Categorical (nominal/ordinal), y: Quantitative, color: Categorical (optional for creating grouped boxplots), \n - best for: Distribution of a quantitative field\n - use x values directly if x values are categorical, and transform the data into bins if the field values are quantitative.\n - when color is specified, the boxplot will be grouped automatically (items with the same x values will be grouped).\n - facet channel is available for all chart types, it supports a categorical field with small cardinality to visualize the data in different facets.\n - if you really need additional legend fields:\n - you can use opacity for legend (support Quantitative and Categorical).\n - visualization fields require tidy data. \n - similar to VegaLite and ggplot2 so that each field is mapped to a visualization axis or legend. \n - consider data transformations if you want to visualize multiple fields together:\n - exapmle 1: suggest reshaping the data into long format in data transformation description (if these fields are all of the same type, e.g., they are all about sales, price, two columns about min/max-values, etc. don't mix different types of fields in reshaping) so we can visualize multiple fields as categories or in different facets.\n - exapmle 2: calculate some derived fields from these fields(e.g., correlation, difference, profit etc.) in data transformation description to visualize them in one visualization.\n - example 3: create a visualization only with a subset of the fields, you don't have to visualize all of them in one chart, you can later create a visualization with the rest of the fields. With the subset of charts, you can also consider reshaping or calculate some derived value.\n - again, it does not make sense to have five fields like [item, A, B, C, D, E] in visualization fields, you should consider data transformation to reduce the number of fields.\n - when reshaping data to long format, only fields of the same semantic type should be rehaped into the same column.\n - guide on statistical analysis:\n - when the user asks for forecasting or regression analysis, you should consider the following:\n - the output should be a long format table where actual x, y pairs and predicted x, y pairs are included in the X, Y columns, they are differentiated with a third column \"is_predicted\" that is a boolean field.\n - i.e., if the user ask for forecasting based on two columns T and Y, the output should be three columns: T, Y, is_predicted, where\n - T, Y columns contain BOTH original values from the data and predicted values from the data.\n - is_predicted is a boolean field to indicate whether the x, y pairs are original values from the data or predicted / regression values from the data.\n - the recommended chart should be line chart (time series) or scatter plot (quantitative x, y)\n - if the user asks for forecasting, it's good to include predicted x, y pairs for both x in the original data and future x values (i.e., combine regression and forecasting results)\n - in this case, is_predicted should be of three values 'original', 'regression', 'forecasting'\n - put is_predicted field in 'opacity' channel to distinguish them.\n - when the user asks for clustering:\n - the output should be a long format table where actual x, y pairs with a third column \"cluster_id\" that indicates the cluster id of the data point.\n - the recommended chart should be scatter plot (quantitative x, y)\n \n 2. Then, write a python function based on the inferred goal, the function input is a dataframe \"df\" (or multiple dataframes based on tables presented in the [CONTEXT] section) and the output is the transformed dataframe \"transformed_df\". \n\"transformed_df\" should contain all \"output_fields\" from the refined user intent in the json object.\nThe python function must follow the template provided in [TEMPLATE]. The function should be as simple as possible and easily readable. \nIf there is no data transformation needed based on \"output_fields\", the transformation function can simply \"return df\".\n\n[TEMPLATE]\n\n```python\nimport pandas as pd\nimport collections\nimport numpy as np\n# from sklearn import ... # import from sklearn if you need it.\n\ndef transform_data(df1, df2, ...): \n # complete the template here\n return transformed_df\n```\n\nnote: \n- decide the function signature based on the number of tables you decided in the previous step \"input_tables\":\n - if you decide there will only be one input table, then function signature should be `def transform_data(df1)`\n - if you decided there will be k input tables, then function signature should be `def transform_data(df_1, df_2, ..., df_k)`.\n - instead of using generic names like df1, df2, ..., try to use intuitive table names for function arguments, for example, if you have input_tables: [\"City\", \"Weather\"]`, you can use `transform_data(df_city, df_weather)` to refer to the two dataframes.\n - **VERY IMPORTANT** the number of arguments in the function signature must be the same as the number of tables provided in \"input_tables\", and the order of arguments must match the order of tables provided in \"input_tables\".\n- datetime objects handling:\n - if the output field is year, convert it to number, if it is year-month / year-month-day, convert it to string object (e.g., \"2020-01\" / \"2020-01-01\").\n - if the output is time only: convert hour to number if it's just the hour (e.g., 10), but convert hour:min or h:m:s to string object (e.g., \"10:30\", \"10:30:45\")\n - never return datetime object directly, convert it to either number (if it only contains year) or string so it's readable.\n \n 3. The output must only contain a json object representing inferred user intent and a python code block representing the transformation code, do not add any extra text explanation.\n"},{"role":"user","content":"[CONTEXT]\n\n## Table 1: history (738 rows × 8 columns)\n\n### Schema (8 fields)\n - symbol -- type: object, values: AAPL, AMZN, GOOGL, META, MSFT, NVDA\n - date -- type: object, values: 2025-07-30, 2025-07-31, 2025-08-01, ..., 2026-01-20, 2026-01-21, 2026-01-22, 2026-01-23\n - open -- type: float64, values: 167.53, 168.01, 169.07, ..., 781.21, 782.98, 785.25, 789.97\n - high -- type: float64, values: 169.01, 170.94, 170.96, ..., 789.62, 792.49, 794.28, 795.06\n - low -- type: float64, values: 164.05, 166.72, 167.2, ..., 771.36, 772.21, 777.07, 779.66\n - close -- type: float64, values: 167.0, 168.29, 170.28, ..., 779.09, 780.97, 784.06, 788.82\n - volume -- type: int64, values: 5627500, 5855900, 6861200, ..., 320600300, 324925900, 343504800, 346926200\n - fetched_at -- type: object, values: 2026-01-26T23:46:42.347312Z\n\n### Sample Data (first 5 rows)\n```\n symbol date open high low close volume fetched_at\n0 AAPL 2025-07-30 211.45 211.94 207.28 208.61 45512500 2026-01-26T23:46:42.347312Z\n1 AAPL 2025-07-31 208.05 209.40 206.72 207.13 80698400 2026-01-26T23:46:42.347312Z\n2 AAPL 2025-08-01 210.43 213.13 201.08 201.95 104434500 2026-01-26T23:46:42.347312Z\n3 AAPL 2025-08-04 204.08 207.44 201.26 202.92 75109300 2026-01-26T23:46:42.347312Z\n4 AAPL 2025-08-05 202.97 204.91 201.74 202.49 44155100 2026-01-26T23:46:42.347312Z\n```\n\n\n[GOAL]\n\n1) First, plot the overall **closing price** trends for each **symbol** over **time** on a single line chart to compare their broad trajectories and volatility."},{"role":"assistant","content":"{\n \"mode\": \"infer\",\n \"recap\": \"Compare overall closing price trends and volatility over time for each stock symbol on a single line chart.\",\n \"display_instruction\": \"Visualize **closing price** trends by **symbol** over **date**\",\n \"recommendation\": \"A line chart with time on the x-axis and closing price on the y-axis, colored by symbol, best shows comparative trajectories and volatility over time. The data only needs column selection, date normalization, and sorting to be visualization-ready.\",\n \"input_tables\": [\"history\"],\n \"output_fields\": [\"date\", \"symbol\", \"close\"],\n \"chart_type\": \"line\",\n \"chart_encodings\": {\n \"x\": \"date\",\n \"y\": \"close\",\n \"color\": \"symbol\",\n \"size\": \"\",\n \"opacity\": \"\",\n \"facet\": \"\"\n }\n}\n\n```python\nimport pandas as pd\nimport collections\nimport numpy as np\n\ndef transform_data(df_history: pd.DataFrame) -> pd.DataFrame:\n # Select only needed columns\n cols = [\"date\", \"symbol\", \"close\"]\n df = df_history[cols].copy()\n\n # Ensure date is a string in YYYY-MM-DD format (no datetime objects)\n df[\"date\"] = pd.to_datetime(df[\"date\"]).dt.strftime(\"%Y-%m-%d\")\n\n # Sort for proper line plotting\n df = df.sort_values([\"symbol\", \"date\"]).reset_index(drop=True)\n\n transformed_df = df\n return transformed_df\n```"},{"role":"user","content":"This is the result from the latest python code:\n\n date symbol close\n0 2025-07-30 AAPL 208.61\n1 2025-07-31 AAPL 207.13\n2 2025-08-01 AAPL 201.95\n3 2025-08-04 AAPL 202.92\n4 2025-08-05 AAPL 202.49\n5 2025-08-06 AAPL 212.80\n6 2025-08-07 AAPL 219.57\n7 2025-08-08 AAPL 228.87\n8 2025-08-11 AAPL 226.96\n9 2025-08-12 AAPL 229.43\n......\n\nUpdate the code above based on the following instruction:\n\n2) For each symbol, compute 20-day and 60-day rolling averages of close price (columns: date, symbol, value, ma_window with values 20 or 60) and plot them over time alongside the actual close to compare short- vs long-term trends and reversals."},{"role":"assistant","content":"{\n \"mode\": \"infer\",\n \"recap\": \"Compute 20-day and 60-day rolling averages of closing prices for each symbol in tidy format for plotting alongside actual closes over time.\",\n \"display_instruction\": \"Add **20/60-day moving averages** of **close** by **symbol** over **date**\",\n \"recommendation\": \"To compare short- and long-term trends per symbol, compute 20- and 60-day rolling means of close, reshape them into a long format with one row per date-symbol-window, and keep the original close for plotting alongside the moving averages.\",\n \"input_tables\": [\"history\"],\n \"output_fields\": [\"date\", \"symbol\", \"close\", \"value\", \"ma_window\"],\n \"chart_type\": \"line\",\n \"chart_encodings\": {\n \"x\": \"date\",\n \"y\": \"value\",\n \"color\": \"ma_window\",\n \"size\": \"\",\n \"opacity\": \"\",\n \"facet\": \"symbol\"\n }\n}\n\n```python\nimport pandas as pd\nimport collections\nimport numpy as np\n\ndef transform_data(df_history: pd.DataFrame) -> pd.DataFrame:\n # Work on a copy\n df = df_history.copy()\n\n # Normalize date to string YYYY-MM-DD\n df[\"date\"] = pd.to_datetime(df[\"date\"]).dt.strftime(\"%Y-%m-%d\")\n\n # Sort for proper rolling computation\n df = df.sort_values([\"symbol\", \"date\"])\n\n # Group by symbol and compute rolling means on close\n group = df.groupby(\"symbol\", group_keys=False)[\"close\"]\n df[\"ma_20\"] = group.rolling(20, min_periods=1).mean()\n df[\"ma_60\"] = group.rolling(60, min_periods=1).mean()\n\n # Reshape to long format for the moving averages\n df_long = df.melt(\n id_vars=[\"date\", \"symbol\", \"close\"],\n value_vars=[\"ma_20\", \"ma_60\"],\n var_name=\"ma_window\",\n value_name=\"value\",\n )\n\n # Map ma_window to numeric window size (20 or 60)\n window_map = {\"ma_20\": 20, \"ma_60\": 60}\n df_long[\"ma_window\"] = df_long[\"ma_window\"].map(window_map)\n\n # Ensure correct column order and types\n df_long[\"ma_window\"] = df_long[\"ma_window\"].astype(int)\n\n transformed_df = df_long[[\"date\", \"symbol\", \"close\", \"value\", \"ma_window\"]].reset_index(drop=True)\n return transformed_df\n```"},{"role":"user","content":"This is the result from the latest python code:\n\nEmpty DataFrame\nColumns: []\nIndex: []\n......\n\nUpdate the code above based on the following instruction:\n\nWe run into the following problem executing the code, please fix it:\n\nError: TypeError - incompatible index of inserted column with frame index\n\nPlease think step by step, reflect why the error happens and fix the code so that no more errors would occur."},{"role":"assistant","content":"{\n \"mode\": \"infer\",\n \"recap\": \"Compute 20-day and 60-day rolling averages of closing prices for each symbol in tidy format for plotting alongside actual closes over time.\",\n \"display_instruction\": \"Compute **20/60-day moving averages** of **close** by **symbol** over **date**\",\n \"recommendation\": \"The previous implementation used groupby().rolling() and assigned the result directly to new columns, which can create an index mismatch and raise a TypeError. Using groupby().transform(...) with an inner rolling mean keeps the index aligned with the original DataFrame, avoiding incompatible index issues. After computing the moving averages, reshape to long format for visualization.\",\n \"input_tables\": [\"history\"],\n \"output_fields\": [\"date\", \"symbol\", \"close\", \"value\", \"ma_window\"],\n \"chart_type\": \"line\",\n \"chart_encodings\": {\n \"x\": \"date\",\n \"y\": \"value\",\n \"color\": \"ma_window\",\n \"size\": \"\",\n \"opacity\": \"\",\n \"facet\": \"symbol\"\n }\n}\n\n```python\nimport pandas as pd\nimport collections\nimport numpy as np\n\ndef transform_data(df_history: pd.DataFrame) -> pd.DataFrame:\n # Work on a copy and keep only needed columns if present\n base_cols = [c for c in [\"date\", \"symbol\", \"close\"] if c in df_history.columns]\n df = df_history[base_cols].copy()\n\n # Normalize date to string YYYY-MM-DD\n df[\"date\"] = pd.to_datetime(df[\"date\"]).dt.strftime(\"%Y-%m-%d\")\n\n # Sort for proper rolling computation\n df = df.sort_values([\"symbol\", \"date\"])\n\n # Ensure we have a clean, simple index to avoid alignment issues\n df = df.reset_index(drop=True)\n\n # Compute rolling means using transform to preserve index alignment\n df[\"ma_20\"] = (\n df.groupby(\"symbol\")[\"close\"]\n .transform(lambda s: s.rolling(window=20, min_periods=1).mean())\n )\n df[\"ma_60\"] = (\n df.groupby(\"symbol\")[\"close\"]\n .transform(lambda s: s.rolling(window=60, min_periods=1).mean())\n )\n\n # Reshape to long format for the moving averages\n df_long = df.melt(\n id_vars=[\"date\", \"symbol\", \"close\"],\n value_vars=[\"ma_20\", \"ma_60\"],\n var_name=\"ma_window\",\n value_name=\"value\",\n )\n\n # Map ma_window to numeric window size (20 or 60)\n window_map = {\"ma_20\": 20, \"ma_60\": 60}\n df_long[\"ma_window\"] = df_long[\"ma_window\"].map(window_map).astype(int)\n\n # Final tidy output\n transformed_df = df_long[[\"date\", \"symbol\", \"close\", \"value\", \"ma_window\"]].reset_index(drop=True)\n return transformed_df\n```"}],"trigger":{"tableId":"table-233476","sourceTableIds":["history"],"instruction":"2) For each symbol, compute 20-day and 60-day rolling averages of close price (columns: date, symbol, value, ma_window with values 20 or 60) and plot them over time alongside the actual close to compare short- vs long-term trends and reversals.","displayInstruction":"Compute **20/60-day moving averages** of **close** by **symbol** over **date**","chart":{"id":"chart-1769471261112","chartType":"Auto","encodingMap":{},"tableRef":"history","saved":false,"source":"trigger","unread":true},"resultTableId":"table-265247"},"explanation":{"status":"ok","concepts":[{"field":"ma_20, ma_60, value","explanation":"These fields represent a rolling (moving) average of the closing price over a fixed number of recent trading days for each stock symbol. For a window of N days (N = 20 or 60), the moving average on a given date is the average of the last N closing prices up to that date. Mathematically, if close_t is the closing price on day t, then the N-day moving average MA_N(t) is: MA_N(t) = (close_t + close_{t-1} + ... + close_{t-N+1}) / N. At the start of the series, when fewer than N days are available, the average is taken over all available past days instead."},{"field":"ma_window","explanation":"This field indicates the length of the moving-average window, in days. A value of 20 means the corresponding 'value' is a 20-day moving average; a value of 60 means it is a 60-day moving average."}],"code":"- Start from the original **history** table but keep only the **`date`**, **`symbol`**, and **`close`** fields to simplify the data.\n- Convert **`date`** into a standardized text format **`YYYY-MM-DD`** so all dates look consistent.\n- **Sort** the data by **`symbol`** and then by **`date`** to ensure the time series for each stock is in the correct order.\n- For each **`symbol`**, **compute**:\n - **`ma_20`**: a **20-day moving average** of the **`close`** price (uses up to the last **20** days; for the first few days it uses all available past days).\n - **`ma_60`**: a **60-day moving average** of the **`close`** price (uses up to the last **60** days; similarly relaxed at the start).\n- **Reshape** the data so that instead of having separate columns **`ma_20`** and **`ma_60`**, each row represents **one moving-average value**:\n - Keep **`date`**, **`symbol`**, and **`close`**.\n - Put the moving-average values into a single column **`value`**.\n - Use a column **`ma_window`** to indicate whether **`value`** is for **20** days or **60** days.\n- **Map** the labels **`ma_20`** and **`ma_60`** into numeric values **20** and **60** in **`ma_window`**, and keep only:\n - **`date`**, **`symbol`**, **`close`**, **`value`** (moving average), **`ma_window`** (window length in days).","dialog":[{"role":"system","content":"You are a data scientist to help user explain code, \nso that a non-code can clearly understand what the code is doing, you are provided with a summary of the input data, and the transformation code.\n\nYour goal:\n1. You should generate a good itemized explanation of the code so that the reader can understand high-level steps of what the data transformation is doing.\n - Be very concise, and stay at a high-level. The reader doesn't understand code and does not want to learn exactly what the code is doing. They just want to learn what have been done from a logical level.\n - The explanation should be a markdown string that is a list of bullet points (with new lines), highlight constants, data fields, and important verbs.\n2. Generate a list of explanations for new fields (fields not from the input data) that introduce metrics/concepts that are not obvious from the code.\n - provide a declarative definition that explains the new field, use a mathematical notation if applicable.\n - only include new fields explanation of new metrics that are involved in computation (e.g., ROI, commerical_success_score)\n - *DO NOT* explain trivial new fields like \"Decade\" or \"Avg_Rating\", \"US_Sales\" that are self-explanatory.\n - Avoid explaining fields that are simple aggregate of fields in the original data (min_score, avg_value, count, etc.)\n - When a field involves mathematical computation, you can use LaTeX math notation in the explanation. Format mathematical expressions using:\n - Inline math: `\\( ... \\)` for formulas within text\n - Block math: `\\[ ... \\]` for standalone formulas\n - Examples: `\\( \\frac{\\text{Revenue}}{\\text{Cost}} \\)` for ratios, `\\[ \\text{Score} = \\text{Rating} \\times \\text{Worldwide\\_Gross} \\]` for formulas\n - note: when using underscores as part of the text, you need to escape them with a backslash, e.g., `\\_`\n - Note: don't use math notation for fields whose computation is trivial (use plain english), it will likely be confusing to the reader. \n Only use math notation for fields that can not be easilyexplained in plain english. Use it sparingly.\n3. If there are multiple fields that have the similar computation, you can explain them together in one explanation.\n - in \"field\", you can provide a list of fields in format of \"field1, field2, ...\"\n - in \"explanation\", you can provide a single explanation for the computation of the fields.\n - for example, if you have fields like \"Norm_Rating\", \"Norm_Gross\", \"Critical_Commercial_Score\", you can explain Norm_Rating, Norm_Gross together in one explanation and explain Critical_Commercial_Score in another explanation.\n4. If the code is about statistical analysis, you should explain the statistical analysis in the explanation as a concept named \"Statistical Analysis\" in the [CONCEPTS EXPLANATION] section.\n - explain how you model the data, which fields are used, how data processing is done, and what models are used.\n - suggest some other modeling approaches that can be used to analyze the data in the explanation as well.\n \nThe focus is to explain how new fields are computed, don't generate explanation for low-level actions like \"return\", \"load data\" etc. \n\nProvide the result in the following two sections:\n - first section is the code explanation that should be a markdown block explaining the code, in the [CODE EXPLANATION] section.\n - remember to highlight constants, data fields, and important verbs in the code explanation.\n - second section is the concepts explanation that should be a json block (start with ```json) in the [CONCEPTS EXPLANATION] section.\n\n[CODE EXPLANATION]\n\n...(explanation of the code)\n\n[CONCEPTS EXPLANATION]\n\n```json\n[\n {\n \"field\": \"...\",\n \"explanation\": \"...\"\n }\n]\n\n```\n"},{"role":"user","content":"[CONTEXT]\n\n## Table 1: history (738 rows × 8 columns)\n\n### Schema (8 fields)\n - symbol -- type: object, values: AAPL, AMZN, GOOGL, META, MSFT, NVDA\n - date -- type: object, values: 2025-07-30, 2025-07-31, 2025-08-01, ..., 2026-01-20, 2026-01-21, 2026-01-22, 2026-01-23\n - open -- type: float64, values: 167.53, 168.01, 169.07, ..., 781.21, 782.98, 785.25, 789.97\n - high -- type: float64, values: 169.01, 170.94, 170.96, ..., 789.62, 792.49, 794.28, 795.06\n - low -- type: float64, values: 164.05, 166.72, 167.2, ..., 771.36, 772.21, 777.07, 779.66\n - close -- type: float64, values: 167.0, 168.29, 170.28, ..., 779.09, 780.97, 784.06, 788.82\n - volume -- type: int64, values: 5627500, 5855900, 6861200, ..., 320600300, 324925900, 343504800, 346926200\n - fetched_at -- type: object, values: 2026-01-26T23:46:42.347312Z\n\n### Sample Data (first 5 rows)\n```\n symbol date open high low close volume fetched_at\n0 AAPL 2025-07-30 211.45 211.94 207.28 208.61 45512500 2026-01-26T23:46:42.347312Z\n1 AAPL 2025-07-31 208.05 209.40 206.72 207.13 80698400 2026-01-26T23:46:42.347312Z\n2 AAPL 2025-08-01 210.43 213.13 201.08 201.95 104434500 2026-01-26T23:46:42.347312Z\n3 AAPL 2025-08-04 204.08 207.44 201.26 202.92 75109300 2026-01-26T23:46:42.347312Z\n4 AAPL 2025-08-05 202.97 204.91 201.74 202.49 44155100 2026-01-26T23:46:42.347312Z\n```\n\n\n[CODE]\n\nhere is the transformation code: \nimport pandas as pd\nimport collections\nimport numpy as np\n\ndef transform_data(df_history: pd.DataFrame) -> pd.DataFrame:\n # Work on a copy and keep only needed columns if present\n base_cols = [c for c in [\"date\", \"symbol\", \"close\"] if c in df_history.columns]\n df = df_history[base_cols].copy()\n\n # Normalize date to string YYYY-MM-DD\n df[\"date\"] = pd.to_datetime(df[\"date\"]).dt.strftime(\"%Y-%m-%d\")\n\n # Sort for proper rolling computation\n df = df.sort_values([\"symbol\", \"date\"])\n\n # Ensure we have a clean, simple index to avoid alignment issues\n df = df.reset_index(drop=True)\n\n # Compute rolling means using transform to preserve index alignment\n df[\"ma_20\"] = (\n df.groupby(\"symbol\")[\"close\"]\n .transform(lambda s: s.rolling(window=20, min_periods=1).mean())\n )\n df[\"ma_60\"] = (\n df.groupby(\"symbol\")[\"close\"]\n .transform(lambda s: s.rolling(window=60, min_periods=1).mean())\n )\n\n # Reshape to long format for the moving averages\n df_long = df.melt(\n id_vars=[\"date\", \"symbol\", \"close\"],\n value_vars=[\"ma_20\", \"ma_60\"],\n var_name=\"ma_window\",\n value_name=\"value\",\n )\n\n # Map ma_window to numeric window size (20 or 60)\n window_map = {\"ma_20\": 20, \"ma_60\": 60}\n df_long[\"ma_window\"] = df_long[\"ma_window\"].map(window_map).astype(int)\n\n # Final tidy output\n transformed_df = df_long[[\"date\", \"symbol\", \"close\", \"value\", \"ma_window\"]].reset_index(drop=True)\n return transformed_df\n\n\n[EXPLANATION]\n"},{"role":"assistant","content":"[CODE EXPLANATION]\n\n- Start from the original **history** table but keep only the **`date`**, **`symbol`**, and **`close`** fields to simplify the data.\n- Convert **`date`** into a standardized text format **`YYYY-MM-DD`** so all dates look consistent.\n- **Sort** the data by **`symbol`** and then by **`date`** to ensure the time series for each stock is in the correct order.\n- For each **`symbol`**, **compute**:\n - **`ma_20`**: a **20-day moving average** of the **`close`** price (uses up to the last **20** days; for the first few days it uses all available past days).\n - **`ma_60`**: a **60-day moving average** of the **`close`** price (uses up to the last **60** days; similarly relaxed at the start).\n- **Reshape** the data so that instead of having separate columns **`ma_20`** and **`ma_60`**, each row represents **one moving-average value**:\n - Keep **`date`**, **`symbol`**, and **`close`**.\n - Put the moving-average values into a single column **`value`**.\n - Use a column **`ma_window`** to indicate whether **`value`** is for **20** days or **60** days.\n- **Map** the labels **`ma_20`** and **`ma_60`** into numeric values **20** and **60** in **`ma_window`**, and keep only:\n - **`date`**, **`symbol`**, **`close`**, **`value`** (moving average), **`ma_window`** (window length in days).\n\n\n[CONCEPTS EXPLANATION]\n\n```json\n[\n {\n \"field\": \"ma_20, ma_60, value\",\n \"explanation\": \"These fields represent a rolling (moving) average of the closing price over a fixed number of recent trading days for each stock symbol. For a window of N days (N = 20 or 60), the moving average on a given date is the average of the last N closing prices up to that date. Mathematically, if close_t is the closing price on day t, then the N-day moving average MA_N(t) is: MA_N(t) = (close_t + close_{t-1} + ... + close_{t-N+1}) / N. At the start of the series, when fewer than N days are available, the average is taken over all available past days instead.\"\n },\n {\n \"field\": \"ma_window\",\n \"explanation\": \"This field indicates the length of the moving-average window, in days. A value of 20 means the corresponding 'value' is a 20-day moving average; a value of 60 means it is a 60-day moving average.\"\n }\n]\n```"}],"agent":"CodeExplanationAgent"}},"anchored":false,"createdBy":"user","attachedMetadata":""},{"id":"table-277926","displayId":"stock-metr","names":["date","symbol","metric","value"],"rows":[{"date":"2025-07-30","symbol":"AAPL","metric":"return","value":null},{"date":"2025-07-31","symbol":"AAPL","metric":"return","value":-0.0070945784},{"date":"2025-08-01","symbol":"AAPL","metric":"return","value":-0.0250084488},{"date":"2025-08-04","symbol":"AAPL","metric":"return","value":0.0048031691},{"date":"2025-08-05","symbol":"AAPL","metric":"return","value":-0.0021190617},{"date":"2025-08-06","symbol":"AAPL","metric":"return","value":0.0509160946},{"date":"2025-08-07","symbol":"AAPL","metric":"return","value":0.0318139098},{"date":"2025-08-08","symbol":"AAPL","metric":"return","value":0.042355513},{"date":"2025-08-11","symbol":"AAPL","metric":"return","value":-0.0083453489},{"date":"2025-08-12","symbol":"AAPL","metric":"return","value":0.010882975},{"date":"2025-08-13","symbol":"AAPL","metric":"return","value":0.0159961644},{"date":"2025-08-14","symbol":"AAPL","metric":"return","value":-0.0023595024},{"date":"2025-08-15","symbol":"AAPL","metric":"return","value":-0.0050741776},{"date":"2025-08-18","symbol":"AAPL","metric":"return","value":-0.0030254571},{"date":"2025-08-19","symbol":"AAPL","metric":"return","value":-0.0014306152},{"date":"2025-08-20","symbol":"AAPL","metric":"return","value":-0.019753408},{"date":"2025-08-21","symbol":"AAPL","metric":"return","value":-0.0049160725},{"date":"2025-08-22","symbol":"AAPL","metric":"return","value":0.0127292149},{"date":"2025-08-25","symbol":"AAPL","metric":"return","value":-0.002636899},{"date":"2025-08-26","symbol":"AAPL","metric":"return","value":0.0094738697},{"date":"2025-08-27","symbol":"AAPL","metric":"return","value":0.0051508141},{"date":"2025-08-28","symbol":"AAPL","metric":"return","value":0.0089460199},{"date":"2025-08-29","symbol":"AAPL","metric":"return","value":-0.0017647312},{"date":"2025-09-02","symbol":"AAPL","metric":"return","value":-0.0104346326},{"date":"2025-09-03","symbol":"AAPL","metric":"return","value":0.0380827887},{"date":"2025-09-04","symbol":"AAPL","metric":"return","value":0.0054986568},{"date":"2025-09-05","symbol":"AAPL","metric":"return","value":-0.0003757044},{"date":"2025-09-08","symbol":"AAPL","metric":"return","value":-0.0075586737},{"date":"2025-09-09","symbol":"AAPL","metric":"return","value":-0.0148537766},{"date":"2025-09-10","symbol":"AAPL","metric":"return","value":-0.0322484196},{"date":"2025-09-11","symbol":"AAPL","metric":"return","value":0.0143002163},{"date":"2025-09-12","symbol":"AAPL","metric":"return","value":0.0175362256},{"date":"2025-09-15","symbol":"AAPL","metric":"return","value":0.0112470065},{"date":"2025-09-16","symbol":"AAPL","metric":"return","value":0.006131856},{"date":"2025-09-17","symbol":"AAPL","metric":"return","value":0.0035305985},{"date":"2025-09-18","symbol":"AAPL","metric":"return","value":-0.0046490199},{"date":"2025-09-19","symbol":"AAPL","metric":"return","value":0.0320218809},{"date":"2025-09-22","symbol":"AAPL","metric":"return","value":0.0430971214},{"date":"2025-09-23","symbol":"AAPL","metric":"return","value":-0.0064495954},{"date":"2025-09-24","symbol":"AAPL","metric":"return","value":-0.0083012039},{"date":"2025-09-25","symbol":"AAPL","metric":"return","value":0.0180505415},{"date":"2025-09-26","symbol":"AAPL","metric":"return","value":-0.0054945055},{"date":"2025-09-29","symbol":"AAPL","metric":"return","value":-0.004035892},{"date":"2025-09-30","symbol":"AAPL","metric":"return","value":0.000786844},{"date":"2025-10-01","symbol":"AAPL","metric":"return","value":0.0032235239},{"date":"2025-10-02","symbol":"AAPL","metric":"return","value":0.0065830721},{"date":"2025-10-03","symbol":"AAPL","metric":"return","value":0.0034646528},{"date":"2025-10-06","symbol":"AAPL","metric":"return","value":-0.0051596384},{"date":"2025-10-07","symbol":"AAPL","metric":"return","value":-0.000818905},{"date":"2025-10-08","symbol":"AAPL","metric":"return","value":0.0061663349},{"date":"2025-10-09","symbol":"AAPL","metric":"return","value":-0.0155928785},{"date":"2025-10-10","symbol":"AAPL","metric":"return","value":-0.0345167264},{"date":"2025-10-13","symbol":"AAPL","metric":"return","value":0.0097539077},{"date":"2025-10-14","symbol":"AAPL","metric":"return","value":0.0004445881},{"date":"2025-10-15","symbol":"AAPL","metric":"return","value":0.0063426655},{"date":"2025-10-16","symbol":"AAPL","metric":"return","value":-0.0075873143},{"date":"2025-10-17","symbol":"AAPL","metric":"return","value":0.019578496},{"date":"2025-10-20","symbol":"AAPL","metric":"return","value":0.0394366197},{"date":"2025-10-21","symbol":"AAPL","metric":"return","value":0.002022978},{"date":"2025-10-22","symbol":"AAPL","metric":"return","value":-0.0164558891},{"date":"2025-10-23","symbol":"AAPL","metric":"return","value":0.0043764524},{"date":"2025-10-24","symbol":"AAPL","metric":"return","value":0.0124937339},{"date":"2025-10-27","symbol":"AAPL","metric":"return","value":0.0227748791},{"date":"2025-10-28","symbol":"AAPL","metric":"return","value":0.0007075033},{"date":"2025-10-29","symbol":"AAPL","metric":"return","value":0.0026047481},{"date":"2025-10-30","symbol":"AAPL","metric":"return","value":0.0063093824},{"date":"2025-10-31","symbol":"AAPL","metric":"return","value":-0.0037987755},{"date":"2025-11-03","symbol":"AAPL","metric":"return","value":-0.0048868979},{"date":"2025-11-04","symbol":"AAPL","metric":"return","value":0.0036831727},{"date":"2025-11-05","symbol":"AAPL","metric":"return","value":0.0003706724},{"date":"2025-11-06","symbol":"AAPL","metric":"return","value":-0.0013709797},{"date":"2025-11-07","symbol":"AAPL","metric":"return","value":-0.0048235687},{"date":"2025-11-10","symbol":"AAPL","metric":"return","value":0.0045486745},{"date":"2025-11-11","symbol":"AAPL","metric":"return","value":0.021601158},{"date":"2025-11-12","symbol":"AAPL","metric":"return","value":-0.0064668483},{"date":"2025-11-13","symbol":"AAPL","metric":"return","value":-0.0019014883},{"date":"2025-11-14","symbol":"AAPL","metric":"return","value":-0.0019783843},{"date":"2025-11-17","symbol":"AAPL","metric":"return","value":-0.0181711391},{"date":"2025-11-18","symbol":"AAPL","metric":"return","value":-0.0000747775},{"date":"2025-11-19","symbol":"AAPL","metric":"return","value":0.0041878552},{"date":"2025-11-20","symbol":"AAPL","metric":"return","value":-0.0086014298},{"date":"2025-11-21","symbol":"AAPL","metric":"return","value":0.0196807512},{"date":"2025-11-24","symbol":"AAPL","metric":"return","value":0.0163173598},{"date":"2025-11-25","symbol":"AAPL","metric":"return","value":0.0038054509},{"date":"2025-11-26","symbol":"AAPL","metric":"return","value":0.0020940896},{"date":"2025-11-28","symbol":"AAPL","metric":"return","value":0.0046838407},{"date":"2025-12-01","symbol":"AAPL","metric":"return","value":0.0152411691},{"date":"2025-12-02","symbol":"AAPL","metric":"return","value":0.0109148711},{"date":"2025-12-03","symbol":"AAPL","metric":"return","value":-0.0071281317},{"date":"2025-12-04","symbol":"AAPL","metric":"return","value":-0.0121414746},{"date":"2025-12-05","symbol":"AAPL","metric":"return","value":-0.0068400428},{"date":"2025-12-08","symbol":"AAPL","metric":"return","value":-0.0031924815},{"date":"2025-12-09","symbol":"AAPL","metric":"return","value":-0.0025549678},{"date":"2025-12-10","symbol":"AAPL","metric":"return","value":0.0057724223},{"date":"2025-12-11","symbol":"AAPL","metric":"return","value":-0.0026902934},{"date":"2025-12-12","symbol":"AAPL","metric":"return","value":0.0008991835},{"date":"2025-12-15","symbol":"AAPL","metric":"return","value":-0.0149849073},{"date":"2025-12-16","symbol":"AAPL","metric":"return","value":0.0018240852},{"date":"2025-12-17","symbol":"AAPL","metric":"return","value":-0.0100870325},{"date":"2025-12-18","symbol":"AAPL","metric":"return","value":0.0012875221},{"date":"2025-12-19","symbol":"AAPL","metric":"return","value":0.0054373783},{"date":"2025-12-22","symbol":"AAPL","metric":"return","value":-0.0098658969},{"date":"2025-12-23","symbol":"AAPL","metric":"return","value":0.0051297192},{"date":"2025-12-24","symbol":"AAPL","metric":"return","value":0.0053238361},{"date":"2025-12-26","symbol":"AAPL","metric":"return","value":-0.0014973887},{"date":"2025-12-29","symbol":"AAPL","metric":"return","value":0.001316752},{"date":"2025-12-30","symbol":"AAPL","metric":"return","value":-0.0024839275},{"date":"2025-12-31","symbol":"AAPL","metric":"return","value":-0.0044675553},{"date":"2026-01-02","symbol":"AAPL","metric":"return","value":-0.0031266093},{"date":"2026-01-05","symbol":"AAPL","metric":"return","value":-0.0138371278},{"date":"2026-01-06","symbol":"AAPL","metric":"return","value":-0.0183342064},{"date":"2026-01-07","symbol":"AAPL","metric":"return","value":-0.00773746},{"date":"2026-01-08","symbol":"AAPL","metric":"return","value":-0.0049552491},{"date":"2026-01-09","symbol":"AAPL","metric":"return","value":0.0012739345},{"date":"2026-01-12","symbol":"AAPL","metric":"return","value":0.0033928365},{"date":"2026-01-13","symbol":"AAPL","metric":"return","value":0.0030739673},{"date":"2026-01-14","symbol":"AAPL","metric":"return","value":-0.0041754453},{"date":"2026-01-15","symbol":"AAPL","metric":"return","value":-0.0067318049},{"date":"2026-01-16","symbol":"AAPL","metric":"return","value":-0.0103791488},{"date":"2026-01-20","symbol":"AAPL","metric":"return","value":-0.0345556295},{"date":"2026-01-21","symbol":"AAPL","metric":"return","value":0.003850831},{"date":"2026-01-22","symbol":"AAPL","metric":"return","value":0.0028265698},{"date":"2026-01-23","symbol":"AAPL","metric":"return","value":-0.0012482384},{"date":"2025-07-30","symbol":"AMZN","metric":"return","value":null},{"date":"2025-07-31","symbol":"AMZN","metric":"return","value":0.0170294105},{"date":"2025-08-01","symbol":"AMZN","metric":"return","value":-0.0826961685},{"date":"2025-08-04","symbol":"AMZN","metric":"return","value":-0.01443539},{"date":"2025-08-05","symbol":"AMZN","metric":"return","value":0.0099220411},{"date":"2025-08-06","symbol":"AMZN","metric":"return","value":0.0400467836},{"date":"2025-08-07","symbol":"AMZN","metric":"return","value":0.003688543},{"date":"2025-08-08","symbol":"AMZN","metric":"return","value":-0.0019719446},{"date":"2025-08-11","symbol":"AMZN","metric":"return","value":-0.0062418609},{"date":"2025-08-12","symbol":"AMZN","metric":"return","value":0.000768188},{"date":"2025-08-13","symbol":"AMZN","metric":"return","value":0.0139522283},{"date":"2025-08-14","symbol":"AMZN","metric":"return","value":0.0285892412},{"date":"2025-08-15","symbol":"AMZN","metric":"return","value":0.000216469},{"date":"2025-08-18","symbol":"AMZN","metric":"return","value":0.0019910834},{"date":"2025-08-19","symbol":"AMZN","metric":"return","value":-0.0150330468},{"date":"2025-08-20","symbol":"AMZN","metric":"return","value":-0.0184202447},{"date":"2025-08-21","symbol":"AMZN","metric":"return","value":-0.0083106206},{"date":"2025-08-22","symbol":"AMZN","metric":"return","value":0.0310430277},{"date":"2025-08-25","symbol":"AMZN","metric":"return","value":-0.0039328789},{"date":"2025-08-26","symbol":"AMZN","metric":"return","value":0.003378082},{"date":"2025-08-27","symbol":"AMZN","metric":"return","value":0.0017926632},{"date":"2025-08-28","symbol":"AMZN","metric":"return","value":0.0108240223},{"date":"2025-08-29","symbol":"AMZN","metric":"return","value":-0.0112262522},{"date":"2025-09-02","symbol":"AMZN","metric":"return","value":-0.0159825328},{"date":"2025-09-03","symbol":"AMZN","metric":"return","value":0.00288453},{"date":"2025-09-04","symbol":"AMZN","metric":"return","value":0.0428780035},{"date":"2025-09-05","symbol":"AMZN","metric":"return","value":-0.0142141887},{"date":"2025-09-08","symbol":"AMZN","metric":"return","value":0.0151078208},{"date":"2025-09-09","symbol":"AMZN","metric":"return","value":0.0101763908},{"date":"2025-09-10","symbol":"AMZN","metric":"return","value":-0.0332018133},{"date":"2025-09-11","symbol":"AMZN","metric":"return","value":-0.0016498068},{"date":"2025-09-12","symbol":"AMZN","metric":"return","value":-0.0078277886},{"date":"2025-09-15","symbol":"AMZN","metric":"return","value":0.0143765067},{"date":"2025-09-16","symbol":"AMZN","metric":"return","value":0.0113209178},{"date":"2025-09-17","symbol":"AMZN","metric":"return","value":-0.0103823969},{"date":"2025-09-18","symbol":"AMZN","metric":"return","value":-0.0016837924},{"date":"2025-09-19","symbol":"AMZN","metric":"return","value":0.0010811746},{"date":"2025-09-22","symbol":"AMZN","metric":"return","value":-0.0166321064},{"date":"2025-09-23","symbol":"AMZN","metric":"return","value":-0.0304002109},{"date":"2025-09-24","symbol":"AMZN","metric":"return","value":-0.0022654162},{"date":"2025-09-25","symbol":"AMZN","metric":"return","value":-0.0093547069},{"date":"2025-09-26","symbol":"AMZN","metric":"return","value":0.007471923},{"date":"2025-09-29","symbol":"AMZN","metric":"return","value":0.0108745109},{"date":"2025-09-30","symbol":"AMZN","metric":"return","value":-0.0117027501},{"date":"2025-10-01","symbol":"AMZN","metric":"return","value":0.0048276176},{"date":"2025-10-02","symbol":"AMZN","metric":"return","value":0.0080678058},{"date":"2025-10-03","symbol":"AMZN","metric":"return","value":-0.0130389821},{"date":"2025-10-06","symbol":"AMZN","metric":"return","value":0.0063322855},{"date":"2025-10-07","symbol":"AMZN","metric":"return","value":0.003983703},{"date":"2025-10-08","symbol":"AMZN","metric":"return","value":0.0155108666},{"date":"2025-10-09","symbol":"AMZN","metric":"return","value":0.0111890596},{"date":"2025-10-10","symbol":"AMZN","metric":"return","value":-0.0499253535},{"date":"2025-10-13","symbol":"AMZN","metric":"return","value":0.0171003374},{"date":"2025-10-14","symbol":"AMZN","metric":"return","value":-0.0167219521},{"date":"2025-10-15","symbol":"AMZN","metric":"return","value":-0.0037894542},{"date":"2025-10-16","symbol":"AMZN","metric":"return","value":-0.0051027508},{"date":"2025-10-17","symbol":"AMZN","metric":"return","value":-0.0066675992},{"date":"2025-10-20","symbol":"AMZN","metric":"return","value":0.0161472024},{"date":"2025-10-21","symbol":"AMZN","metric":"return","value":0.0256374723},{"date":"2025-10-22","symbol":"AMZN","metric":"return","value":-0.0183758951},{"date":"2025-10-23","symbol":"AMZN","metric":"return","value":0.0144069741},{"date":"2025-10-24","symbol":"AMZN","metric":"return","value":0.0141119001},{"date":"2025-10-27","symbol":"AMZN","metric":"return","value":0.0123098881},{"date":"2025-10-28","symbol":"AMZN","metric":"return","value":0.0100453804},{"date":"2025-10-29","symbol":"AMZN","metric":"return","value":0.0045801527},{"date":"2025-10-30","symbol":"AMZN","metric":"return","value":-0.0323056882},{"date":"2025-10-31","symbol":"AMZN","metric":"return","value":0.0958449251},{"date":"2025-11-03","symbol":"AMZN","metric":"return","value":0.0400458603},{"date":"2025-11-04","symbol":"AMZN","metric":"return","value":-0.0184251969},{"date":"2025-11-05","symbol":"AMZN","metric":"return","value":0.0035296005},{"date":"2025-11-06","symbol":"AMZN","metric":"return","value":-0.0286171063},{"date":"2025-11-07","symbol":"AMZN","metric":"return","value":0.0056369322},{"date":"2025-11-10","symbol":"AMZN","metric":"return","value":0.0163250276},{"date":"2025-11-11","symbol":"AMZN","metric":"return","value":0.0028180354},{"date":"2025-11-12","symbol":"AMZN","metric":"return","value":-0.0196708149},{"date":"2025-11-13","symbol":"AMZN","metric":"return","value":-0.0271089271},{"date":"2025-11-14","symbol":"AMZN","metric":"return","value":-0.0121643236},{"date":"2025-11-17","symbol":"AMZN","metric":"return","value":-0.0077549107},{"date":"2025-11-18","symbol":"AMZN","metric":"return","value":-0.0443165715},{"date":"2025-11-19","symbol":"AMZN","metric":"return","value":0.0006290721},{"date":"2025-11-20","symbol":"AMZN","metric":"return","value":-0.0249225381},{"date":"2025-11-21","symbol":"AMZN","metric":"return","value":0.0163488993},{"date":"2025-11-24","symbol":"AMZN","metric":"return","value":0.0253296479},{"date":"2025-11-25","symbol":"AMZN","metric":"return","value":0.0149814389},{"date":"2025-11-26","symbol":"AMZN","metric":"return","value":-0.0022205774},{"date":"2025-11-28","symbol":"AMZN","metric":"return","value":0.017716879},{"date":"2025-12-01","symbol":"AMZN","metric":"return","value":0.002829946},{"date":"2025-12-02","symbol":"AMZN","metric":"return","value":0.0023088763},{"date":"2025-12-03","symbol":"AMZN","metric":"return","value":-0.0087023292},{"date":"2025-12-04","symbol":"AMZN","metric":"return","value":-0.014071779},{"date":"2025-12-05","symbol":"AMZN","metric":"return","value":0.0018331806},{"date":"2025-12-08","symbol":"AMZN","metric":"return","value":-0.0115017645},{"date":"2025-12-09","symbol":"AMZN","metric":"return","value":0.0045396448},{"date":"2025-12-10","symbol":"AMZN","metric":"return","value":0.0169357669},{"date":"2025-12-11","symbol":"AMZN","metric":"return","value":-0.0064716542},{"date":"2025-12-12","symbol":"AMZN","metric":"return","value":-0.0177609866},{"date":"2025-12-15","symbol":"AMZN","metric":"return","value":-0.0161368761},{"date":"2025-12-16","symbol":"AMZN","metric":"return","value":0.0000898715},{"date":"2025-12-17","symbol":"AMZN","metric":"return","value":-0.0057961898},{"date":"2025-12-18","symbol":"AMZN","metric":"return","value":0.0248113165},{"date":"2025-12-19","symbol":"AMZN","metric":"return","value":0.0026018698},{"date":"2025-12-22","symbol":"AMZN","metric":"return","value":0.0047503849},{"date":"2025-12-23","symbol":"AMZN","metric":"return","value":0.0162412993},{"date":"2025-12-24","symbol":"AMZN","metric":"return","value":0.0010338589},{"date":"2025-12-26","symbol":"AMZN","metric":"return","value":0.0006024615},{"date":"2025-12-29","symbol":"AMZN","metric":"return","value":-0.0019353174},{"date":"2025-12-30","symbol":"AMZN","metric":"return","value":0.0019821606},{"date":"2025-12-31","symbol":"AMZN","metric":"return","value":-0.0073538898},{"date":"2026-01-02","symbol":"AMZN","metric":"return","value":-0.0187158825},{"date":"2026-01-05","symbol":"AMZN","metric":"return","value":0.0289624724},{"date":"2026-01-06","symbol":"AMZN","metric":"return","value":0.0337681284},{"date":"2026-01-07","symbol":"AMZN","metric":"return","value":0.0026148674},{"date":"2026-01-08","symbol":"AMZN","metric":"return","value":0.0195810565},{"date":"2026-01-09","symbol":"AMZN","metric":"return","value":0.004425677},{"date":"2026-01-12","symbol":"AMZN","metric":"return","value":-0.0036785512},{"date":"2026-01-13","symbol":"AMZN","metric":"return","value":-0.0157017081},{"date":"2026-01-14","symbol":"AMZN","metric":"return","value":-0.0245259687},{"date":"2026-01-15","symbol":"AMZN","metric":"return","value":0.006465244},{"date":"2026-01-16","symbol":"AMZN","metric":"return","value":0.003946595},{"date":"2026-01-20","symbol":"AMZN","metric":"return","value":-0.0339578454},{"date":"2026-01-21","symbol":"AMZN","metric":"return","value":0.0013419913},{"date":"2026-01-22","symbol":"AMZN","metric":"return","value":0.013099304},{"date":"2026-01-23","symbol":"AMZN","metric":"return","value":0.0205684049},{"date":"2025-07-30","symbol":"GOOGL","metric":"return","value":null},{"date":"2025-07-31","symbol":"GOOGL","metric":"return","value":-0.0235947612},{"date":"2025-08-01","symbol":"GOOGL","metric":"return","value":-0.0144050104},{"date":"2025-08-04","symbol":"GOOGL","metric":"return","value":0.0312433806},{"date":"2025-08-05","symbol":"GOOGL","metric":"return","value":-0.0018999692},{"date":"2025-08-06","symbol":"GOOGL","metric":"return","value":0.0073056542},{"date":"2025-08-07","symbol":"GOOGL","metric":"return","value":0.0021962307},{"date":"2025-08-08","symbol":"GOOGL","metric":"return","value":0.024921007},{"date":"2025-08-11","symbol":"GOOGL","metric":"return","value":-0.0020884093},{"date":"2025-08-12","symbol":"GOOGL","metric":"return","value":0.0116597738},{"date":"2025-08-13","symbol":"GOOGL","metric":"return","value":-0.0067970251},{"date":"2025-08-14","symbol":"GOOGL","metric":"return","value":0.0048599058},{"date":"2025-08-15","symbol":"GOOGL","metric":"return","value":0.0046883482},{"date":"2025-08-18","symbol":"GOOGL","metric":"return","value":-0.0019157088},{"date":"2025-08-19","symbol":"GOOGL","metric":"return","value":-0.0094984989},{"date":"2025-08-20","symbol":"GOOGL","metric":"return","value":-0.0111795687},{"date":"2025-08-21","symbol":"GOOGL","metric":"return","value":0.0021606954},{"date":"2025-08-22","symbol":"GOOGL","metric":"return","value":0.0317388688},{"date":"2025-08-25","symbol":"GOOGL","metric":"return","value":0.0116635078},{"date":"2025-08-26","symbol":"GOOGL","metric":"return","value":-0.0064850843},{"date":"2025-08-27","symbol":"GOOGL","metric":"return","value":0.0016439416},{"date":"2025-08-28","symbol":"GOOGL","metric":"return","value":0.0200328249},{"date":"2025-08-29","symbol":"GOOGL","metric":"return","value":0.0060101273},{"date":"2025-09-02","symbol":"GOOGL","metric":"return","value":-0.0073384138},{"date":"2025-09-03","symbol":"GOOGL","metric":"return","value":0.0913657473},{"date":"2025-09-04","symbol":"GOOGL","metric":"return","value":0.0071211463},{"date":"2025-09-05","symbol":"GOOGL","metric":"return","value":0.0116409416},{"date":"2025-09-08","symbol":"GOOGL","metric":"return","value":-0.003196386},{"date":"2025-09-09","symbol":"GOOGL","metric":"return","value":0.0238573688},{"date":"2025-09-10","symbol":"GOOGL","metric":"return","value":-0.0019209087},{"date":"2025-09-11","symbol":"GOOGL","metric":"return","value":0.0050207104},{"date":"2025-09-12","symbol":"GOOGL","metric":"return","value":0.0017901003},{"date":"2025-09-15","symbol":"GOOGL","metric":"return","value":0.044921875},{"date":"2025-09-16","symbol":"GOOGL","metric":"return","value":-0.0017896202},{"date":"2025-09-17","symbol":"GOOGL","metric":"return","value":-0.0064940239},{"date":"2025-09-18","symbol":"GOOGL","metric":"return","value":0.0100252637},{"date":"2025-09-19","symbol":"GOOGL","metric":"return","value":0.0106404097},{"date":"2025-09-22","symbol":"GOOGL","metric":"return","value":-0.0086034178},{"date":"2025-09-23","symbol":"GOOGL","metric":"return","value":-0.0034078301},{"date":"2025-09-24","symbol":"GOOGL","metric":"return","value":-0.017972167},{"date":"2025-09-25","symbol":"GOOGL","metric":"return","value":-0.0054660296},{"date":"2025-09-26","symbol":"GOOGL","metric":"return","value":0.003053373},{"date":"2025-09-29","symbol":"GOOGL","metric":"return","value":-0.0101063398},{"date":"2025-09-30","symbol":"GOOGL","metric":"return","value":-0.0038951987},{"date":"2025-10-01","symbol":"GOOGL","metric":"return","value":0.0074092368},{"date":"2025-10-02","symbol":"GOOGL","metric":"return","value":0.0032279153},{"date":"2025-10-03","symbol":"GOOGL","metric":"return","value":-0.0013847595},{"date":"2025-10-06","symbol":"GOOGL","metric":"return","value":0.0207186264},{"date":"2025-10-07","symbol":"GOOGL","metric":"return","value":-0.0186598474},{"date":"2025-10-08","symbol":"GOOGL","metric":"return","value":-0.0046416938},{"date":"2025-10-09","symbol":"GOOGL","metric":"return","value":-0.0126401047},{"date":"2025-10-10","symbol":"GOOGL","metric":"return","value":-0.0205079339},{"date":"2025-10-13","symbol":"GOOGL","metric":"return","value":0.0320192877},{"date":"2025-10-14","symbol":"GOOGL","metric":"return","value":0.0053280872},{"date":"2025-10-15","symbol":"GOOGL","metric":"return","value":0.0227485833},{"date":"2025-10-16","symbol":"GOOGL","metric":"return","value":0.0017140352},{"date":"2025-10-17","symbol":"GOOGL","metric":"return","value":0.0072821329},{"date":"2025-10-20","symbol":"GOOGL","metric":"return","value":0.0128392526},{"date":"2025-10-21","symbol":"GOOGL","metric":"return","value":-0.0237147983},{"date":"2025-10-22","symbol":"GOOGL","metric":"return","value":0.0049141031},{"date":"2025-10-23","symbol":"GOOGL","metric":"return","value":0.0054864231},{"date":"2025-10-24","symbol":"GOOGL","metric":"return","value":0.0270451939},{"date":"2025-10-27","symbol":"GOOGL","metric":"return","value":0.0359576516},{"date":"2025-10-28","symbol":"GOOGL","metric":"return","value":-0.0066520495},{"date":"2025-10-29","symbol":"GOOGL","metric":"return","value":0.0265245043},{"date":"2025-10-30","symbol":"GOOGL","metric":"return","value":0.0251831335},{"date":"2025-10-31","symbol":"GOOGL","metric":"return","value":-0.0010309278},{"date":"2025-11-03","symbol":"GOOGL","metric":"return","value":0.0089676524},{"date":"2025-11-04","symbol":"GOOGL","metric":"return","value":-0.0217613656},{"date":"2025-11-05","symbol":"GOOGL","metric":"return","value":0.0243726565},{"date":"2025-11-06","symbol":"GOOGL","metric":"return","value":0.0015486414},{"date":"2025-11-07","symbol":"GOOGL","metric":"return","value":-0.0207689064},{"date":"2025-11-10","symbol":"GOOGL","metric":"return","value":0.0404091154},{"date":"2025-11-11","symbol":"GOOGL","metric":"return","value":0.0041737091},{"date":"2025-11-12","symbol":"GOOGL","metric":"return","value":-0.0158010442},{"date":"2025-11-13","symbol":"GOOGL","metric":"return","value":-0.0283749825},{"date":"2025-11-14","symbol":"GOOGL","metric":"return","value":-0.0077588994},{"date":"2025-11-17","symbol":"GOOGL","metric":"return","value":0.0311334757},{"date":"2025-11-18","symbol":"GOOGL","metric":"return","value":-0.0025980409},{"date":"2025-11-19","symbol":"GOOGL","metric":"return","value":0.0300256961},{"date":"2025-11-20","symbol":"GOOGL","metric":"return","value":-0.0114824687},{"date":"2025-11-21","symbol":"GOOGL","metric":"return","value":0.0352623937},{"date":"2025-11-24","symbol":"GOOGL","metric":"return","value":0.0631469979},{"date":"2025-11-25","symbol":"GOOGL","metric":"return","value":0.0152652574},{"date":"2025-11-26","symbol":"GOOGL","metric":"return","value":-0.0107972651},{"date":"2025-11-28","symbol":"GOOGL","metric":"return","value":0.0007193345},{"date":"2025-12-01","symbol":"GOOGL","metric":"return","value":-0.0165327999},{"date":"2025-12-02","symbol":"GOOGL","metric":"return","value":0.0029236049},{"date":"2025-12-03","symbol":"GOOGL","metric":"return","value":0.012103929},{"date":"2025-12-04","symbol":"GOOGL","metric":"return","value":-0.0062926554},{"date":"2025-12-05","symbol":"GOOGL","metric":"return","value":0.0114993226},{"date":"2025-12-08","symbol":"GOOGL","metric":"return","value":-0.0228617704},{"date":"2025-12-09","symbol":"GOOGL","metric":"return","value":0.0107101874},{"date":"2025-12-10","symbol":"GOOGL","metric":"return","value":0.0098713258},{"date":"2025-12-11","symbol":"GOOGL","metric":"return","value":-0.0242965554},{"date":"2025-12-12","symbol":"GOOGL","metric":"return","value":-0.0100502513},{"date":"2025-12-15","symbol":"GOOGL","metric":"return","value":-0.0034595364},{"date":"2025-12-16","symbol":"GOOGL","metric":"return","value":-0.0053533191},{"date":"2025-12-17","symbol":"GOOGL","metric":"return","value":-0.0321296931},{"date":"2025-12-18","symbol":"GOOGL","metric":"return","value":0.0193448369},{"date":"2025-12-19","symbol":"GOOGL","metric":"return","value":0.0155392449},{"date":"2025-12-22","symbol":"GOOGL","metric":"return","value":0.0085297565},{"date":"2025-12-23","symbol":"GOOGL","metric":"return","value":0.0147524049},{"date":"2025-12-24","symbol":"GOOGL","metric":"return","value":-0.0008271035},{"date":"2025-12-26","symbol":"GOOGL","metric":"return","value":-0.0018466045},{"date":"2025-12-29","symbol":"GOOGL","metric":"return","value":0.0001594845},{"date":"2025-12-30","symbol":"GOOGL","metric":"return","value":0.0009248629},{"date":"2025-12-31","symbol":"GOOGL","metric":"return","value":-0.0027083001},{"date":"2026-01-02","symbol":"GOOGL","metric":"return","value":0.0068690096},{"date":"2026-01-05","symbol":"GOOGL","metric":"return","value":0.0044105981},{"date":"2026-01-06","symbol":"GOOGL","metric":"return","value":-0.0069501485},{"date":"2026-01-07","symbol":"GOOGL","metric":"return","value":0.0243048928},{"date":"2026-01-08","symbol":"GOOGL","metric":"return","value":0.0107460091},{"date":"2026-01-09","symbol":"GOOGL","metric":"return","value":0.0096177483},{"date":"2026-01-12","symbol":"GOOGL","metric":"return","value":0.010013087},{"date":"2026-01-13","symbol":"GOOGL","metric":"return","value":0.0123847406},{"date":"2026-01-14","symbol":"GOOGL","metric":"return","value":-0.0003869393},{"date":"2026-01-15","symbol":"GOOGL","metric":"return","value":-0.0091114817},{"date":"2026-01-16","symbol":"GOOGL","metric":"return","value":-0.0083538674},{"date":"2026-01-20","symbol":"GOOGL","metric":"return","value":-0.0242424242},{"date":"2026-01-21","symbol":"GOOGL","metric":"return","value":0.0198136646},{"date":"2026-01-22","symbol":"GOOGL","metric":"return","value":0.0065777453},{"date":"2026-01-23","symbol":"GOOGL","metric":"return","value":-0.0078961699},{"date":"2025-07-30","symbol":"META","metric":"return","value":null},{"date":"2025-07-31","symbol":"META","metric":"return","value":0.1125372747},{"date":"2025-08-01","symbol":"META","metric":"return","value":-0.0302994989},{"date":"2025-08-04","symbol":"META","metric":"return","value":0.0351453484},{"date":"2025-08-05","symbol":"META","metric":"return","value":-0.0166277525},{"date":"2025-08-06","symbol":"META","metric":"return","value":0.0111764089},{"date":"2025-08-07","symbol":"META","metric":"return","value":-0.0131544808},{"date":"2025-08-08","symbol":"META","metric":"return","value":0.0097936111},{"date":"2025-08-11","symbol":"META","metric":"return","value":-0.0044522554},{"date":"2025-08-12","symbol":"META","metric":"return","value":0.0315013142},{"date":"2025-08-13","symbol":"META","metric":"return","value":-0.0125503917},{"date":"2025-08-14","symbol":"META","metric":"return","value":0.0026318492},{"date":"2025-08-15","symbol":"META","metric":"return","value":0.0039566181},{"date":"2025-08-18","symbol":"META","metric":"return","value":-0.0227406066},{"date":"2025-08-19","symbol":"META","metric":"return","value":-0.0207117967},{"date":"2025-08-20","symbol":"META","metric":"return","value":-0.0049976012},{"date":"2025-08-21","symbol":"META","metric":"return","value":-0.0115321252},{"date":"2025-08-22","symbol":"META","metric":"return","value":0.0212330623},{"date":"2025-08-25","symbol":"META","metric":"return","value":-0.0019769926},{"date":"2025-08-26","symbol":"META","metric":"return","value":0.0010635752},{"date":"2025-08-27","symbol":"META","metric":"return","value":-0.0089112593},{"date":"2025-08-28","symbol":"META","metric":"return","value":0.004984791},{"date":"2025-08-29","symbol":"META","metric":"return","value":-0.0165202203},{"date":"2025-09-02","symbol":"META","metric":"return","value":-0.0048535792},{"date":"2025-09-03","symbol":"META","metric":"return","value":0.0026293561},{"date":"2025-09-04","symbol":"META","metric":"return","value":0.0157483525},{"date":"2025-09-05","symbol":"META","metric":"return","value":0.0050699628},{"date":"2025-09-08","symbol":"META","metric":"return","value":-0.000199646},{"date":"2025-09-09","symbol":"META","metric":"return","value":0.0178119758},{"date":"2025-09-10","symbol":"META","metric":"return","value":-0.017918803},{"date":"2025-09-11","symbol":"META","metric":"return","value":-0.0014383507},{"date":"2025-09-12","symbol":"META","metric":"return","value":0.0062551682},{"date":"2025-09-15","symbol":"META","metric":"return","value":0.0120481928},{"date":"2025-09-16","symbol":"META","metric":"return","value":0.0187018702},{"date":"2025-09-17","symbol":"META","metric":"return","value":-0.0042039494},{"date":"2025-09-18","symbol":"META","metric":"return","value":0.0058354958},{"date":"2025-09-19","symbol":"META","metric":"return","value":-0.0024002362},{"date":"2025-09-22","symbol":"META","metric":"return","value":-0.016314557},{"date":"2025-09-23","symbol":"META","metric":"return","value":-0.0127658461},{"date":"2025-09-24","symbol":"META","metric":"return","value":0.0069689181},{"date":"2025-09-25","symbol":"META","metric":"return","value":-0.0154465554},{"date":"2025-09-26","symbol":"META","metric":"return","value":-0.0068956301},{"date":"2025-09-29","symbol":"META","metric":"return","value":-0.0004709745},{"date":"2025-09-30","symbol":"META","metric":"return","value":-0.0121299425},{"date":"2025-10-01","symbol":"META","metric":"return","value":-0.0231949631},{"date":"2025-10-02","symbol":"META","metric":"return","value":0.0135331213},{"date":"2025-10-03","symbol":"META","metric":"return","value":-0.0226853509},{"date":"2025-10-06","symbol":"META","metric":"return","value":0.0071833009},{"date":"2025-10-07","symbol":"META","metric":"return","value":-0.0036079879},{"date":"2025-10-08","symbol":"META","metric":"return","value":0.0066807018},{"date":"2025-10-09","symbol":"META","metric":"return","value":0.0218191451},{"date":"2025-10-10","symbol":"META","metric":"return","value":-0.0384494686},{"date":"2025-10-13","symbol":"META","metric":"return","value":0.014743235},{"date":"2025-10-14","symbol":"META","metric":"return","value":-0.0098584853},{"date":"2025-10-15","symbol":"META","metric":"return","value":0.0125693787},{"date":"2025-10-16","symbol":"META","metric":"return","value":-0.0076432766},{"date":"2025-10-17","symbol":"META","metric":"return","value":0.0068166805},{"date":"2025-10-20","symbol":"META","metric":"return","value":0.0212608538},{"date":"2025-10-21","symbol":"META","metric":"return","value":0.0015036155},{"date":"2025-10-22","symbol":"META","metric":"return","value":0.0001910819},{"date":"2025-10-23","symbol":"META","metric":"return","value":0.00080512},{"date":"2025-10-24","symbol":"META","metric":"return","value":0.0059449141},{"date":"2025-10-27","symbol":"META","metric":"return","value":0.0168754066},{"date":"2025-10-28","symbol":"META","metric":"return","value":0.0008264353},{"date":"2025-10-29","symbol":"META","metric":"return","value":0.0003063277},{"date":"2025-10-30","symbol":"META","metric":"return","value":-0.1133464703},{"date":"2025-10-31","symbol":"META","metric":"return","value":-0.0271950505},{"date":"2025-11-03","symbol":"META","metric":"return","value":-0.016408879},{"date":"2025-11-04","symbol":"META","metric":"return","value":-0.0162902745},{"date":"2025-11-05","symbol":"META","metric":"return","value":0.0137521737},{"date":"2025-11-06","symbol":"META","metric":"return","value":-0.0267377996},{"date":"2025-11-07","symbol":"META","metric":"return","value":0.004462842},{"date":"2025-11-10","symbol":"META","metric":"return","value":0.0161783645},{"date":"2025-11-11","symbol":"META","metric":"return","value":-0.0074138614},{"date":"2025-11-12","symbol":"META","metric":"return","value":-0.0288235951},{"date":"2025-11-13","symbol":"META","metric":"return","value":0.0014461554},{"date":"2025-11-14","symbol":"META","metric":"return","value":-0.0007056237},{"date":"2025-11-17","symbol":"META","metric":"return","value":-0.0122175512},{"date":"2025-11-18","symbol":"META","metric":"return","value":-0.0071818061},{"date":"2025-11-19","symbol":"META","metric":"return","value":-0.0123241795},{"date":"2025-11-20","symbol":"META","metric":"return","value":-0.0019835888},{"date":"2025-11-21","symbol":"META","metric":"return","value":0.0086635976},{"date":"2025-11-24","symbol":"META","metric":"return","value":0.0316284083},{"date":"2025-11-25","symbol":"META","metric":"return","value":0.0377928332},{"date":"2025-11-26","symbol":"META","metric":"return","value":-0.0041057102},{"date":"2025-11-28","symbol":"META","metric":"return","value":0.0226350124},{"date":"2025-12-01","symbol":"META","metric":"return","value":-0.0109202681},{"date":"2025-12-02","symbol":"META","metric":"return","value":0.009713438},{"date":"2025-12-03","symbol":"META","metric":"return","value":-0.0115842059},{"date":"2025-12-04","symbol":"META","metric":"return","value":0.0342836578},{"date":"2025-12-05","symbol":"META","metric":"return","value":0.0179730404},{"date":"2025-12-08","symbol":"META","metric":"return","value":-0.0098235915},{"date":"2025-12-09","symbol":"META","metric":"return","value":-0.0147690091},{"date":"2025-12-10","symbol":"META","metric":"return","value":-0.0103896895},{"date":"2025-12-11","symbol":"META","metric":"return","value":0.0039716749},{"date":"2025-12-12","symbol":"META","metric":"return","value":-0.0129872121},{"date":"2025-12-15","symbol":"META","metric":"return","value":0.0059032794},{"date":"2025-12-16","symbol":"META","metric":"return","value":0.014887801},{"date":"2025-12-17","symbol":"META","metric":"return","value":-0.0116411778},{"date":"2025-12-18","symbol":"META","metric":"return","value":0.0230177059},{"date":"2025-12-19","symbol":"META","metric":"return","value":-0.0085484235},{"date":"2025-12-22","symbol":"META","metric":"return","value":0.0041440867},{"date":"2025-12-23","symbol":"META","metric":"return","value":0.0052003023},{"date":"2025-12-24","symbol":"META","metric":"return","value":0.0039251662},{"date":"2025-12-26","symbol":"META","metric":"return","value":-0.0063815445},{"date":"2025-12-29","symbol":"META","metric":"return","value":-0.0069351264},{"date":"2025-12-30","symbol":"META","metric":"return","value":0.0110218768},{"date":"2025-12-31","symbol":"META","metric":"return","value":-0.0087994594},{"date":"2026-01-02","symbol":"META","metric":"return","value":-0.0146646669},{"date":"2026-01-05","symbol":"META","metric":"return","value":0.0128841807},{"date":"2026-01-06","symbol":"META","metric":"return","value":0.0027778199},{"date":"2026-01-07","symbol":"META","metric":"return","value":-0.0180587933},{"date":"2026-01-08","symbol":"META","metric":"return","value":-0.0040543249},{"date":"2026-01-09","symbol":"META","metric":"return","value":0.010834907},{"date":"2026-01-12","symbol":"META","metric":"return","value":-0.0169815943},{"date":"2026-01-13","symbol":"META","metric":"return","value":-0.0169478325},{"date":"2026-01-14","symbol":"META","metric":"return","value":-0.0246715999},{"date":"2026-01-15","symbol":"META","metric":"return","value":0.0085781128},{"date":"2026-01-16","symbol":"META","metric":"return","value":-0.0008859536},{"date":"2026-01-20","symbol":"META","metric":"return","value":-0.0260056429},{"date":"2026-01-21","symbol":"META","metric":"return","value":0.0146328544},{"date":"2026-01-22","symbol":"META","metric":"return","value":0.0565616027},{"date":"2026-01-23","symbol":"META","metric":"return","value":0.0171857388},{"date":"2025-07-30","symbol":"MSFT","metric":"return","value":null},{"date":"2025-07-31","symbol":"MSFT","metric":"return","value":0.0394767715},{"date":"2025-08-01","symbol":"MSFT","metric":"return","value":-0.0176062299},{"date":"2025-08-04","symbol":"MSFT","metric":"return","value":0.0220001149},{"date":"2025-08-05","symbol":"MSFT","metric":"return","value":-0.0147257194},{"date":"2025-08-06","symbol":"MSFT","metric":"return","value":-0.0053242061},{"date":"2025-08-07","symbol":"MSFT","metric":"return","value":-0.0078187727},{"date":"2025-08-08","symbol":"MSFT","metric":"return","value":0.0023120942},{"date":"2025-08-11","symbol":"MSFT","metric":"return","value":-0.0005190212},{"date":"2025-08-12","symbol":"MSFT","metric":"return","value":0.0143093434},{"date":"2025-08-13","symbol":"MSFT","metric":"return","value":-0.0163639122},{"date":"2025-08-14","symbol":"MSFT","metric":"return","value":0.0036626506},{"date":"2025-08-15","symbol":"MSFT","metric":"return","value":-0.004417555},{"date":"2025-08-18","symbol":"MSFT","metric":"return","value":-0.0059033472},{"date":"2025-08-19","symbol":"MSFT","metric":"return","value":-0.0141861864},{"date":"2025-08-20","symbol":"MSFT","metric":"return","value":-0.0079333832},{"date":"2025-08-21","symbol":"MSFT","metric":"return","value":-0.0012898105},{"date":"2025-08-22","symbol":"MSFT","metric":"return","value":0.0059209219},{"date":"2025-08-25","symbol":"MSFT","metric":"return","value":-0.0058465671},{"date":"2025-08-26","symbol":"MSFT","metric":"return","value":-0.0044107129},{"date":"2025-08-27","symbol":"MSFT","metric":"return","value":0.0093594093},{"date":"2025-08-28","symbol":"MSFT","metric":"return","value":0.0057336049},{"date":"2025-08-29","symbol":"MSFT","metric":"return","value":-0.0057992097},{"date":"2025-09-02","symbol":"MSFT","metric":"return","value":-0.0030845889},{"date":"2025-09-03","symbol":"MSFT","metric":"return","value":0.0004561863},{"date":"2025-09-04","symbol":"MSFT","metric":"return","value":0.0051743621},{"date":"2025-09-05","symbol":"MSFT","metric":"return","value":-0.0255216757},{"date":"2025-09-08","symbol":"MSFT","metric":"return","value":0.0064564443},{"date":"2025-09-09","symbol":"MSFT","metric":"return","value":0.0004223058},{"date":"2025-09-10","symbol":"MSFT","metric":"return","value":0.0039398569},{"date":"2025-09-11","symbol":"MSFT","metric":"return","value":0.0012614128},{"date":"2025-09-12","symbol":"MSFT","metric":"return","value":0.0177575139},{"date":"2025-09-15","symbol":"MSFT","metric":"return","value":0.0107083211},{"date":"2025-09-16","symbol":"MSFT","metric":"return","value":-0.0122667185},{"date":"2025-09-17","symbol":"MSFT","metric":"return","value":0.0019287921},{"date":"2025-09-18","symbol":"MSFT","metric":"return","value":-0.0030840552},{"date":"2025-09-19","symbol":"MSFT","metric":"return","value":0.0186403941},{"date":"2025-09-22","symbol":"MSFT","metric":"return","value":-0.0067123182},{"date":"2025-09-23","symbol":"MSFT","metric":"return","value":-0.0101462541},{"date":"2025-09-24","symbol":"MSFT","metric":"return","value":0.001810026},{"date":"2025-09-25","symbol":"MSFT","metric":"return","value":-0.0061272584},{"date":"2025-09-26","symbol":"MSFT","metric":"return","value":0.008733797},{"date":"2025-09-29","symbol":"MSFT","metric":"return","value":0.0061508325},{"date":"2025-09-30","symbol":"MSFT","metric":"return","value":0.0065026088},{"date":"2025-10-01","symbol":"MSFT","metric":"return","value":0.003404387},{"date":"2025-10-02","symbol":"MSFT","metric":"return","value":-0.0076338821},{"date":"2025-10-03","symbol":"MSFT","metric":"return","value":0.0031081239},{"date":"2025-10-06","symbol":"MSFT","metric":"return","value":0.0216894535},{"date":"2025-10-07","symbol":"MSFT","metric":"return","value":-0.0086811479},{"date":"2025-10-08","symbol":"MSFT","metric":"return","value":0.0016634799},{"date":"2025-10-09","symbol":"MSFT","metric":"return","value":-0.0046767328},{"date":"2025-10-10","symbol":"MSFT","metric":"return","value":-0.0218825515},{"date":"2025-10-13","symbol":"MSFT","metric":"return","value":0.0060390973},{"date":"2025-10-14","symbol":"MSFT","metric":"return","value":-0.0009355084},{"date":"2025-10-15","symbol":"MSFT","metric":"return","value":-0.0002731121},{"date":"2025-10-16","symbol":"MSFT","metric":"return","value":-0.0035514274},{"date":"2025-10-17","symbol":"MSFT","metric":"return","value":0.0038578283},{"date":"2025-10-20","symbol":"MSFT","metric":"return","value":0.0062424408},{"date":"2025-10-21","symbol":"MSFT","metric":"return","value":0.0016866349},{"date":"2025-10-22","symbol":"MSFT","metric":"return","value":0.0055739418},{"date":"2025-10-23","symbol":"MSFT","metric":"return","value":0.0000384934},{"date":"2025-10-24","symbol":"MSFT","metric":"return","value":0.005850767},{"date":"2025-10-27","symbol":"MSFT","metric":"return","value":0.0151158563},{"date":"2025-10-28","symbol":"MSFT","metric":"return","value":0.0198480765},{"date":"2025-10-29","symbol":"MSFT","metric":"return","value":-0.0009610764},{"date":"2025-10-30","symbol":"MSFT","metric":"return","value":-0.0291560292},{"date":"2025-10-31","symbol":"MSFT","metric":"return","value":-0.0151301498},{"date":"2025-11-03","symbol":"MSFT","metric":"return","value":-0.0015091711},{"date":"2025-11-04","symbol":"MSFT","metric":"return","value":-0.0052125722},{"date":"2025-11-05","symbol":"MSFT","metric":"return","value":-0.0139470557},{"date":"2025-11-06","symbol":"MSFT","metric":"return","value":-0.0198336659},{"date":"2025-11-07","symbol":"MSFT","metric":"return","value":-0.0005643227},{"date":"2025-11-10","symbol":"MSFT","metric":"return","value":0.0184718385},{"date":"2025-11-11","symbol":"MSFT","metric":"return","value":0.0053064053},{"date":"2025-11-12","symbol":"MSFT","metric":"return","value":0.0048450948},{"date":"2025-11-13","symbol":"MSFT","metric":"return","value":-0.0153668241},{"date":"2025-11-14","symbol":"MSFT","metric":"return","value":0.0136956305},{"date":"2025-11-17","symbol":"MSFT","metric":"return","value":-0.0052824853},{"date":"2025-11-18","symbol":"MSFT","metric":"return","value":-0.0269870099},{"date":"2025-11-19","symbol":"MSFT","metric":"return","value":-0.013512691},{"date":"2025-11-20","symbol":"MSFT","metric":"return","value":-0.0160013163},{"date":"2025-11-21","symbol":"MSFT","metric":"return","value":-0.0131889723},{"date":"2025-11-24","symbol":"MSFT","metric":"return","value":0.0039820385},{"date":"2025-11-25","symbol":"MSFT","metric":"return","value":0.0063080169},{"date":"2025-11-26","symbol":"MSFT","metric":"return","value":0.0178410449},{"date":"2025-11-28","symbol":"MSFT","metric":"return","value":0.0134088568},{"date":"2025-12-01","symbol":"MSFT","metric":"return","value":-0.0107111644},{"date":"2025-12-02","symbol":"MSFT","metric":"return","value":0.0066976209},{"date":"2025-12-03","symbol":"MSFT","metric":"return","value":-0.0250408163},{"date":"2025-12-04","symbol":"MSFT","metric":"return","value":0.0065099533},{"date":"2025-12-05","symbol":"MSFT","metric":"return","value":0.0048248898},{"date":"2025-12-08","symbol":"MSFT","metric":"return","value":0.016267903},{"date":"2025-12-09","symbol":"MSFT","metric":"return","value":0.0020365769},{"date":"2025-12-10","symbol":"MSFT","metric":"return","value":-0.0273566115},{"date":"2025-12-11","symbol":"MSFT","metric":"return","value":0.0102599465},{"date":"2025-12-12","symbol":"MSFT","metric":"return","value":-0.0102178005},{"date":"2025-12-15","symbol":"MSFT","metric":"return","value":-0.00775291},{"date":"2025-12-16","symbol":"MSFT","metric":"return","value":0.0033065162},{"date":"2025-12-17","symbol":"MSFT","metric":"return","value":-0.0005667625},{"date":"2025-12-18","symbol":"MSFT","metric":"return","value":0.0165084432},{"date":"2025-12-19","symbol":"MSFT","metric":"return","value":0.0040084301},{"date":"2025-12-22","symbol":"MSFT","metric":"return","value":-0.0020579519},{"date":"2025-12-23","symbol":"MSFT","metric":"return","value":0.0039800379},{"date":"2025-12-24","symbol":"MSFT","metric":"return","value":0.0024032043},{"date":"2025-12-26","symbol":"MSFT","metric":"return","value":-0.0006352199},{"date":"2025-12-29","symbol":"MSFT","metric":"return","value":-0.0012507433},{"date":"2025-12-30","symbol":"MSFT","metric":"return","value":0.0007801273},{"date":"2025-12-31","symbol":"MSFT","metric":"return","value":-0.0079182736},{"date":"2026-01-02","symbol":"MSFT","metric":"return","value":-0.022083454},{"date":"2026-01-05","symbol":"MSFT","metric":"return","value":-0.000190299},{"date":"2026-01-06","symbol":"MSFT","metric":"return","value":0.0119699693},{"date":"2026-01-07","symbol":"MSFT","metric":"return","value":0.0103655096},{"date":"2026-01-08","symbol":"MSFT","metric":"return","value":-0.0110865204},{"date":"2026-01-09","symbol":"MSFT","metric":"return","value":0.0024471356},{"date":"2026-01-12","symbol":"MSFT","metric":"return","value":-0.0043815724},{"date":"2026-01-13","symbol":"MSFT","metric":"return","value":-0.0136426506},{"date":"2026-01-14","symbol":"MSFT","metric":"return","value":-0.0239870822},{"date":"2026-01-15","symbol":"MSFT","metric":"return","value":-0.005921024},{"date":"2026-01-16","symbol":"MSFT","metric":"return","value":0.0070074016},{"date":"2026-01-20","symbol":"MSFT","metric":"return","value":-0.0116122298},{"date":"2026-01-21","symbol":"MSFT","metric":"return","value":-0.0229032826},{"date":"2026-01-22","symbol":"MSFT","metric":"return","value":0.0158294116},{"date":"2026-01-23","symbol":"MSFT","metric":"return","value":0.032827947},{"date":"2025-07-30","symbol":"NVDA","metric":"return","value":null},{"date":"2025-07-31","symbol":"NVDA","metric":"return","value":-0.0078103208},{"date":"2025-08-01","symbol":"NVDA","metric":"return","value":-0.0233342705},{"date":"2025-08-04","symbol":"NVDA","metric":"return","value":0.036154289},{"date":"2025-08-05","symbol":"NVDA","metric":"return","value":-0.0096677409},{"date":"2025-08-06","symbol":"NVDA","metric":"return","value":0.006508079},{"date":"2025-08-07","symbol":"NVDA","metric":"return","value":0.0075250836},{"date":"2025-08-08","symbol":"NVDA","metric":"return","value":0.0106777317},{"date":"2025-08-11","symbol":"NVDA","metric":"return","value":-0.0035033939},{"date":"2025-08-12","symbol":"NVDA","metric":"return","value":0.006042628},{"date":"2025-08-13","symbol":"NVDA","metric":"return","value":-0.0085726766},{"date":"2025-08-14","symbol":"NVDA","metric":"return","value":0.0023682326},{"date":"2025-08-15","symbol":"NVDA","metric":"return","value":-0.0086263736},{"date":"2025-08-18","symbol":"NVDA","metric":"return","value":0.0086460123},{"date":"2025-08-19","symbol":"NVDA","metric":"return","value":-0.0350019232},{"date":"2025-08-20","symbol":"NVDA","metric":"return","value":-0.0013665869},{"date":"2025-08-21","symbol":"NVDA","metric":"return","value":-0.0023947999},{"date":"2025-08-22","symbol":"NVDA","metric":"return","value":0.0172039323},{"date":"2025-08-25","symbol":"NVDA","metric":"return","value":0.0102264427},{"date":"2025-08-26","symbol":"NVDA","metric":"return","value":0.0109016074},{"date":"2025-08-27","symbol":"NVDA","metric":"return","value":-0.0009353508},{"date":"2025-08-28","symbol":"NVDA","metric":"return","value":-0.0078753167},{"date":"2025-08-29","symbol":"NVDA","metric":"return","value":-0.0332500694},{"date":"2025-09-02","symbol":"NVDA","metric":"return","value":-0.0195222784},{"date":"2025-09-03","symbol":"NVDA","metric":"return","value":-0.0009369876},{"date":"2025-09-04","symbol":"NVDA","metric":"return","value":0.0060961313},{"date":"2025-09-05","symbol":"NVDA","metric":"return","value":-0.0270333256},{"date":"2025-09-08","symbol":"NVDA","metric":"return","value":0.0077245509},{"date":"2025-09-09","symbol":"NVDA","metric":"return","value":0.0145582031},{"date":"2025-09-10","symbol":"NVDA","metric":"return","value":0.0384795596},{"date":"2025-09-11","symbol":"NVDA","metric":"return","value":-0.000845976},{"date":"2025-09-12","symbol":"NVDA","metric":"return","value":0.0036689998},{"date":"2025-09-15","symbol":"NVDA","metric":"return","value":-0.0003936786},{"date":"2025-09-16","symbol":"NVDA","metric":"return","value":-0.0161471813},{"date":"2025-09-17","symbol":"NVDA","metric":"return","value":-0.02624807},{"date":"2025-09-18","symbol":"NVDA","metric":"return","value":0.0349424477},{"date":"2025-09-19","symbol":"NVDA","metric":"return","value":0.0024399932},{"date":"2025-09-22","symbol":"NVDA","metric":"return","value":0.0392845013},{"date":"2025-09-23","symbol":"NVDA","metric":"return","value":-0.0282135076},{"date":"2025-09-24","symbol":"NVDA","metric":"return","value":-0.0081829391},{"date":"2025-09-25","symbol":"NVDA","metric":"return","value":0.0040687161},{"date":"2025-09-26","symbol":"NVDA","metric":"return","value":0.0028140477},{"date":"2025-09-29","symbol":"NVDA","metric":"return","value":0.0205410259},{"date":"2025-09-30","symbol":"NVDA","metric":"return","value":0.0260118786},{"date":"2025-10-01","symbol":"NVDA","metric":"return","value":0.0035375462},{"date":"2025-10-02","symbol":"NVDA","metric":"return","value":0.0088126903},{"date":"2025-10-03","symbol":"NVDA","metric":"return","value":-0.0067238458},{"date":"2025-10-06","symbol":"NVDA","metric":"return","value":-0.0110868291},{"date":"2025-10-07","symbol":"NVDA","metric":"return","value":-0.0026949819},{"date":"2025-10-08","symbol":"NVDA","metric":"return","value":0.021996433},{"date":"2025-10-09","symbol":"NVDA","metric":"return","value":0.0182971973},{"date":"2025-10-10","symbol":"NVDA","metric":"return","value":-0.0488678853},{"date":"2025-10-13","symbol":"NVDA","metric":"return","value":0.0281736282},{"date":"2025-10-14","symbol":"NVDA","metric":"return","value":-0.0440231533},{"date":"2025-10-15","symbol":"NVDA","metric":"return","value":-0.0011109877},{"date":"2025-10-16","symbol":"NVDA","metric":"return","value":0.011011011},{"date":"2025-10-17","symbol":"NVDA","metric":"return","value":0.0077557756},{"date":"2025-10-20","symbol":"NVDA","metric":"return","value":-0.0031657661},{"date":"2025-10-21","symbol":"NVDA","metric":"return","value":-0.0081038165},{"date":"2025-10-22","symbol":"NVDA","metric":"return","value":-0.0048578526},{"date":"2025-10-23","symbol":"NVDA","metric":"return","value":0.0104288012},{"date":"2025-10-24","symbol":"NVDA","metric":"return","value":0.0225089212},{"date":"2025-10-27","symbol":"NVDA","metric":"return","value":0.0280805369},{"date":"2025-10-28","symbol":"NVDA","metric":"return","value":0.0498224358},{"date":"2025-10-29","symbol":"NVDA","metric":"return","value":0.0298975226},{"date":"2025-10-30","symbol":"NVDA","metric":"return","value":-0.020045404},{"date":"2025-10-31","symbol":"NVDA","metric":"return","value":-0.0019716088},{"date":"2025-11-03","symbol":"NVDA","metric":"return","value":0.0216811537},{"date":"2025-11-04","symbol":"NVDA","metric":"return","value":-0.0395900807},{"date":"2025-11-05","symbol":"NVDA","metric":"return","value":-0.017515603},{"date":"2025-11-06","symbol":"NVDA","metric":"return","value":-0.0365266393},{"date":"2025-11-07","symbol":"NVDA","metric":"return","value":0.0003722018},{"date":"2025-11-10","symbol":"NVDA","metric":"return","value":0.0579355799},{"date":"2025-11-11","symbol":"NVDA","metric":"return","value":-0.0295920418},{"date":"2025-11-12","symbol":"NVDA","metric":"return","value":0.0033134869},{"date":"2025-11-13","symbol":"NVDA","metric":"return","value":-0.0358119614},{"date":"2025-11-14","symbol":"NVDA","metric":"return","value":0.0177147444},{"date":"2025-11-17","symbol":"NVDA","metric":"return","value":-0.0187736643},{"date":"2025-11-18","symbol":"NVDA","metric":"return","value":-0.0280829626},{"date":"2025-11-19","symbol":"NVDA","metric":"return","value":0.0284532672},{"date":"2025-11-20","symbol":"NVDA","metric":"return","value":-0.0315264597},{"date":"2025-11-21","symbol":"NVDA","metric":"return","value":-0.0097436749},{"date":"2025-11-24","symbol":"NVDA","metric":"return","value":0.0205176944},{"date":"2025-11-25","symbol":"NVDA","metric":"return","value":-0.0259121288},{"date":"2025-11-26","symbol":"NVDA","metric":"return","value":0.0137225128},{"date":"2025-11-28","symbol":"NVDA","metric":"return","value":-0.0180859917},{"date":"2025-12-01","symbol":"NVDA","metric":"return","value":0.0164981072},{"date":"2025-12-02","symbol":"NVDA","metric":"return","value":0.0085598355},{"date":"2025-12-03","symbol":"NVDA","metric":"return","value":-0.0103058694},{"date":"2025-12-04","symbol":"NVDA","metric":"return","value":0.0211604856},{"date":"2025-12-05","symbol":"NVDA","metric":"return","value":-0.0052895627},{"date":"2025-12-08","symbol":"NVDA","metric":"return","value":0.0172139685},{"date":"2025-12-09","symbol":"NVDA","metric":"return","value":-0.0031258421},{"date":"2025-12-10","symbol":"NVDA","metric":"return","value":-0.0064334757},{"date":"2025-12-11","symbol":"NVDA","metric":"return","value":-0.0155076722},{"date":"2025-12-12","symbol":"NVDA","metric":"return","value":-0.0326645664},{"date":"2025-12-15","symbol":"NVDA","metric":"return","value":0.0072563136},{"date":"2025-12-16","symbol":"NVDA","metric":"return","value":0.0081116342},{"date":"2025-12-17","symbol":"NVDA","metric":"return","value":-0.0381498987},{"date":"2025-12-18","symbol":"NVDA","metric":"return","value":0.0187200187},{"date":"2025-12-19","symbol":"NVDA","metric":"return","value":0.0393361663},{"date":"2025-12-22","symbol":"NVDA","metric":"return","value":0.0149179513},{"date":"2025-12-23","symbol":"NVDA","metric":"return","value":0.0300506288},{"date":"2025-12-24","symbol":"NVDA","metric":"return","value":-0.0031710798},{"date":"2025-12-26","symbol":"NVDA","metric":"return","value":0.010179736},{"date":"2025-12-29","symbol":"NVDA","metric":"return","value":-0.0121240749},{"date":"2025-12-30","symbol":"NVDA","metric":"return","value":-0.0036127935},{"date":"2025-12-31","symbol":"NVDA","metric":"return","value":-0.0055454836},{"date":"2026-01-02","symbol":"NVDA","metric":"return","value":0.0126005362},{"date":"2026-01-05","symbol":"NVDA","metric":"return","value":-0.0038655017},{"date":"2026-01-06","symbol":"NVDA","metric":"return","value":-0.0046778652},{"date":"2026-01-07","symbol":"NVDA","metric":"return","value":0.0099871822},{"date":"2026-01-08","symbol":"NVDA","metric":"return","value":-0.0215218656},{"date":"2026-01-09","symbol":"NVDA","metric":"return","value":-0.0009727626},{"date":"2026-01-12","symbol":"NVDA","metric":"return","value":0.0004327599},{"date":"2026-01-13","symbol":"NVDA","metric":"return","value":0.0047042284},{"date":"2026-01-14","symbol":"NVDA","metric":"return","value":-0.0143695172},{"date":"2026-01-15","symbol":"NVDA","metric":"return","value":0.021349787},{"date":"2026-01-16","symbol":"NVDA","metric":"return","value":-0.0043838546},{"date":"2026-01-20","symbol":"NVDA","metric":"return","value":-0.0438167857},{"date":"2026-01-21","symbol":"NVDA","metric":"return","value":0.0294827877},{"date":"2026-01-22","symbol":"NVDA","metric":"return","value":0.0082915121},{"date":"2026-01-23","symbol":"NVDA","metric":"return","value":0.0153105388},{"date":"2025-07-30","symbol":"AAPL","metric":"vol20","value":null},{"date":"2025-07-31","symbol":"AAPL","metric":"vol20","value":null},{"date":"2025-08-01","symbol":"AAPL","metric":"vol20","value":0.0126670192},{"date":"2025-08-04","symbol":"AAPL","metric":"vol20","value":0.0150066414},{"date":"2025-08-05","symbol":"AAPL","metric":"vol20","value":0.0127403323},{"date":"2025-08-06","symbol":"AAPL","metric":"vol20","value":0.0282990256},{"date":"2025-08-07","symbol":"AAPL","metric":"vol20","value":0.027691917},{"date":"2025-08-08","symbol":"AAPL","metric":"vol20","value":0.028267876},{"date":"2025-08-11","symbol":"AAPL","metric":"vol20","value":0.0273035823},{"date":"2025-08-12","symbol":"AAPL","metric":"vol20","value":0.0255401648},{"date":"2025-08-13","symbol":"AAPL","metric":"vol20","value":0.0241331212},{"date":"2025-08-14","symbol":"AAPL","metric":"vol20","value":0.0232686101},{"date":"2025-08-15","symbol":"AAPL","metric":"vol20","value":0.0226178283},{"date":"2025-08-18","symbol":"AAPL","metric":"vol20","value":0.0219059419},{"date":"2025-08-19","symbol":"AAPL","metric":"vol20","value":0.0211962971},{"date":"2025-08-20","symbol":"AAPL","metric":"vol20","value":0.0215873189},{"date":"2025-08-21","symbol":"AAPL","metric":"vol20","value":0.021017391},{"date":"2025-08-22","symbol":"AAPL","metric":"vol20","value":0.020439473},{"date":"2025-08-25","symbol":"AAPL","metric":"vol20","value":0.0199176041},{"date":"2025-08-26","symbol":"AAPL","metric":"vol20","value":0.0193851757},{"date":"2025-08-27","symbol":"AAPL","metric":"vol20","value":0.0188681461},{"date":"2025-08-28","symbol":"AAPL","metric":"vol20","value":0.0186614949},{"date":"2025-08-29","symbol":"AAPL","metric":"vol20","value":0.0173087321},{"date":"2025-09-02","symbol":"AAPL","metric":"vol20","value":0.0177442141},{"date":"2025-09-03","symbol":"AAPL","metric":"vol20","value":0.0189724375},{"date":"2025-09-04","symbol":"AAPL","metric":"vol20","value":0.0161089184},{"date":"2025-09-05","symbol":"AAPL","metric":"vol20","value":0.0149679631},{"date":"2025-09-08","symbol":"AAPL","metric":"vol20","value":0.0122250064},{"date":"2025-09-09","symbol":"AAPL","metric":"vol20","value":0.0125946419},{"date":"2025-09-10","symbol":"AAPL","metric":"vol20","value":0.014478458},{"date":"2025-09-11","symbol":"AAPL","metric":"vol20","value":0.0143812273},{"date":"2025-09-12","symbol":"AAPL","metric":"vol20","value":0.0149316116},{"date":"2025-09-15","symbol":"AAPL","metric":"vol20","value":0.0150631274},{"date":"2025-09-16","symbol":"AAPL","metric":"vol20","value":0.0150671567},{"date":"2025-09-17","symbol":"AAPL","metric":"vol20","value":0.0150544964},{"date":"2025-09-18","symbol":"AAPL","metric":"vol20","value":0.0142692225},{"date":"2025-09-19","symbol":"AAPL","metric":"vol20","value":0.0155684321},{"date":"2025-09-22","symbol":"AAPL","metric":"vol20","value":0.0177418124},{"date":"2025-09-23","symbol":"AAPL","metric":"vol20","value":0.0178598706},{"date":"2025-09-24","symbol":"AAPL","metric":"vol20","value":0.0181097338},{"date":"2025-09-25","symbol":"AAPL","metric":"vol20","value":0.0183456145},{"date":"2025-09-26","symbol":"AAPL","metric":"vol20","value":0.0184901925},{"date":"2025-09-29","symbol":"AAPL","metric":"vol20","value":0.0185399808},{"date":"2025-09-30","symbol":"AAPL","metric":"vol20","value":0.0182232027},{"date":"2025-10-01","symbol":"AAPL","metric":"vol20","value":0.0165108643},{"date":"2025-10-02","symbol":"AAPL","metric":"vol20","value":0.0165192997},{"date":"2025-10-03","symbol":"AAPL","metric":"vol20","value":0.0164926212},{"date":"2025-10-06","symbol":"AAPL","metric":"vol20","value":0.0164140515},{"date":"2025-10-07","symbol":"AAPL","metric":"vol20","value":0.0158589488},{"date":"2025-10-08","symbol":"AAPL","metric":"vol20","value":0.0132711511},{"date":"2025-10-09","symbol":"AAPL","metric":"vol20","value":0.0140161519},{"date":"2025-10-10","symbol":"AAPL","metric":"vol20","value":0.016235928},{"date":"2025-10-13","symbol":"AAPL","metric":"vol20","value":0.0161968039},{"date":"2025-10-14","symbol":"AAPL","metric":"vol20","value":0.0161775575},{"date":"2025-10-15","symbol":"AAPL","metric":"vol20","value":0.0162027982},{"date":"2025-10-16","symbol":"AAPL","metric":"vol20","value":0.0162817348},{"date":"2025-10-17","symbol":"AAPL","metric":"vol20","value":0.0152853784},{"date":"2025-10-20","symbol":"AAPL","metric":"vol20","value":0.0147741587},{"date":"2025-10-21","symbol":"AAPL","metric":"vol20","value":0.0146614838},{"date":"2025-10-22","symbol":"AAPL","metric":"vol20","value":0.0150626646},{"date":"2025-10-23","symbol":"AAPL","metric":"vol20","value":0.0145649028},{"date":"2025-10-24","symbol":"AAPL","metric":"vol20","value":0.014721624},{"date":"2025-10-27","symbol":"AAPL","metric":"vol20","value":0.0153939039},{"date":"2025-10-28","symbol":"AAPL","metric":"vol20","value":0.0153944781},{"date":"2025-10-29","symbol":"AAPL","metric":"vol20","value":0.0153943349},{"date":"2025-10-30","symbol":"AAPL","metric":"vol20","value":0.0153909452},{"date":"2025-10-31","symbol":"AAPL","metric":"vol20","value":0.0154604043},{"date":"2025-11-03","symbol":"AAPL","metric":"vol20","value":0.0154534538},{"date":"2025-11-04","symbol":"AAPL","metric":"vol20","value":0.0154358387},{"date":"2025-11-05","symbol":"AAPL","metric":"vol20","value":0.0154215931},{"date":"2025-11-06","symbol":"AAPL","metric":"vol20","value":0.0148660004},{"date":"2025-11-07","symbol":"AAPL","metric":"vol20","value":0.0121434433},{"date":"2025-11-10","symbol":"AAPL","metric":"vol20","value":0.0120827714},{"date":"2025-11-11","symbol":"AAPL","metric":"vol20","value":0.0126373055},{"date":"2025-11-12","symbol":"AAPL","metric":"vol20","value":0.0129085142},{"date":"2025-11-13","symbol":"AAPL","metric":"vol20","value":0.0126830063},{"date":"2025-11-14","symbol":"AAPL","metric":"vol20","value":0.0122924408},{"date":"2025-11-17","symbol":"AAPL","metric":"vol20","value":0.0100956311},{"date":"2025-11-18","symbol":"AAPL","metric":"vol20","value":0.0100962372},{"date":"2025-11-19","symbol":"AAPL","metric":"vol20","value":0.0092390433},{"date":"2025-11-20","symbol":"AAPL","metric":"vol20","value":0.0095156398},{"date":"2025-11-21","symbol":"AAPL","metric":"vol20","value":0.010077339},{"date":"2025-11-24","symbol":"AAPL","metric":"vol20","value":0.0094512291},{"date":"2025-11-25","symbol":"AAPL","metric":"vol20","value":0.0094647134},{"date":"2025-11-26","symbol":"AAPL","metric":"vol20","value":0.0094624118},{"date":"2025-11-28","symbol":"AAPL","metric":"vol20","value":0.009426076},{"date":"2025-12-01","symbol":"AAPL","metric":"vol20","value":0.0098217825},{"date":"2025-12-02","symbol":"AAPL","metric":"vol20","value":0.0098405634},{"date":"2025-12-03","symbol":"AAPL","metric":"vol20","value":0.0101052594},{"date":"2025-12-04","symbol":"AAPL","metric":"vol20","value":0.0106273855},{"date":"2025-12-05","symbol":"AAPL","metric":"vol20","value":0.0107883965},{"date":"2025-12-08","symbol":"AAPL","metric":"vol20","value":0.0107421753},{"date":"2025-12-09","symbol":"AAPL","metric":"vol20","value":0.010764931},{"date":"2025-12-10","symbol":"AAPL","metric":"vol20","value":0.009740394},{"date":"2025-12-11","symbol":"AAPL","metric":"vol20","value":0.0096304914},{"date":"2025-12-12","symbol":"AAPL","metric":"vol20","value":0.0096083899},{"date":"2025-12-15","symbol":"AAPL","metric":"vol20","value":0.0102407369},{"date":"2025-12-16","symbol":"AAPL","metric":"vol20","value":0.0092659434},{"date":"2025-12-17","symbol":"AAPL","metric":"vol20","value":0.0096115959},{"date":"2025-12-18","symbol":"AAPL","metric":"vol20","value":0.0095805735},{"date":"2025-12-19","symbol":"AAPL","metric":"vol20","value":0.0093741273},{"date":"2025-12-22","symbol":"AAPL","metric":"vol20","value":0.0086441229},{"date":"2025-12-23","symbol":"AAPL","metric":"vol20","value":0.0078544144},{"date":"2025-12-24","symbol":"AAPL","metric":"vol20","value":0.0079066038},{"date":"2025-12-26","symbol":"AAPL","metric":"vol20","value":0.0078842909},{"date":"2025-12-29","symbol":"AAPL","metric":"vol20","value":0.007798231},{"date":"2025-12-30","symbol":"AAPL","metric":"vol20","value":0.0068132592},{"date":"2025-12-31","symbol":"AAPL","metric":"vol20","value":0.0061399559},{"date":"2026-01-02","symbol":"AAPL","metric":"vol20","value":0.006047322},{"date":"2026-01-05","symbol":"AAPL","metric":"vol20","value":0.0062017791},{"date":"2026-01-06","symbol":"AAPL","metric":"vol20","value":0.0070993915},{"date":"2026-01-07","symbol":"AAPL","metric":"vol20","value":0.0071779622},{"date":"2026-01-08","symbol":"AAPL","metric":"vol20","value":0.007186076},{"date":"2026-01-09","symbol":"AAPL","metric":"vol20","value":0.0069519778},{"date":"2026-01-12","symbol":"AAPL","metric":"vol20","value":0.0071238425},{"date":"2026-01-13","symbol":"AAPL","metric":"vol20","value":0.0072070174},{"date":"2026-01-14","symbol":"AAPL","metric":"vol20","value":0.0066584659},{"date":"2026-01-15","symbol":"AAPL","metric":"vol20","value":0.0066323481},{"date":"2026-01-16","symbol":"AAPL","metric":"vol20","value":0.0066489542},{"date":"2026-01-20","symbol":"AAPL","metric":"vol20","value":0.0095923262},{"date":"2026-01-21","symbol":"AAPL","metric":"vol20","value":0.0095088839},{"date":"2026-01-22","symbol":"AAPL","metric":"vol20","value":0.0095860108},{"date":"2026-01-23","symbol":"AAPL","metric":"vol20","value":0.0093590396},{"date":"2025-07-30","symbol":"AMZN","metric":"vol20","value":null},{"date":"2025-07-31","symbol":"AMZN","metric":"vol20","value":null},{"date":"2025-08-01","symbol":"AMZN","metric":"vol20","value":0.0705166331},{"date":"2025-08-04","symbol":"AMZN","metric":"vol20","value":0.0509816285},{"date":"2025-08-05","symbol":"AMZN","metric":"vol20","value":0.0454759007},{"date":"2025-08-06","symbol":"AMZN","metric":"vol20","value":0.0470574806},{"date":"2025-08-07","symbol":"AMZN","metric":"vol20","value":0.0422759514},{"date":"2025-08-08","symbol":"AMZN","metric":"vol20","value":0.0386034642},{"date":"2025-08-11","symbol":"AMZN","metric":"vol20","value":0.0357481906},{"date":"2025-08-12","symbol":"AMZN","metric":"vol20","value":0.0334825636},{"date":"2025-08-13","symbol":"AMZN","metric":"vol20","value":0.0320610283},{"date":"2025-08-14","symbol":"AMZN","metric":"vol20","value":0.0317828254},{"date":"2025-08-15","symbol":"AMZN","metric":"vol20","value":0.0303041817},{"date":"2025-08-18","symbol":"AMZN","metric":"vol20","value":0.0290161232},{"date":"2025-08-19","symbol":"AMZN","metric":"vol20","value":0.0281985306},{"date":"2025-08-20","symbol":"AMZN","metric":"vol20","value":0.0275727067},{"date":"2025-08-21","symbol":"AMZN","metric":"vol20","value":0.0266920252},{"date":"2025-08-22","symbol":"AMZN","metric":"vol20","value":0.0270535668},{"date":"2025-08-25","symbol":"AMZN","metric":"vol20","value":0.0262622477},{"date":"2025-08-26","symbol":"AMZN","metric":"vol20","value":0.0255355945},{"date":"2025-08-27","symbol":"AMZN","metric":"vol20","value":0.0248578345},{"date":"2025-08-28","symbol":"AMZN","metric":"vol20","value":0.0246730342},{"date":"2025-08-29","symbol":"AMZN","metric":"vol20","value":0.0156152879},{"date":"2025-09-02","symbol":"AMZN","metric":"vol20","value":0.015711475},{"date":"2025-09-03","symbol":"AMZN","metric":"vol20","value":0.0156329023},{"date":"2025-09-04","symbol":"AMZN","metric":"vol20","value":0.0159955681},{"date":"2025-09-05","symbol":"AMZN","metric":"vol20","value":0.0164520388},{"date":"2025-09-08","symbol":"AMZN","metric":"vol20","value":0.0166687198},{"date":"2025-09-09","symbol":"AMZN","metric":"vol20","value":0.0165935691},{"date":"2025-09-10","symbol":"AMZN","metric":"vol20","value":0.0185464789},{"date":"2025-09-11","symbol":"AMZN","metric":"vol20","value":0.0183499306},{"date":"2025-09-12","symbol":"AMZN","metric":"vol20","value":0.017279889},{"date":"2025-09-15","symbol":"AMZN","metric":"vol20","value":0.0175969054},{"date":"2025-09-16","symbol":"AMZN","metric":"vol20","value":0.0177688015},{"date":"2025-09-17","symbol":"AMZN","metric":"vol20","value":0.0175815291},{"date":"2025-09-18","symbol":"AMZN","metric":"vol20","value":0.0170006683},{"date":"2025-09-19","symbol":"AMZN","metric":"vol20","value":0.0168365287},{"date":"2025-09-22","symbol":"AMZN","metric":"vol20","value":0.0158921011},{"date":"2025-09-23","symbol":"AMZN","metric":"vol20","value":0.0172666196},{"date":"2025-09-24","symbol":"AMZN","metric":"vol20","value":0.0172293111},{"date":"2025-09-25","symbol":"AMZN","metric":"vol20","value":0.0172888387},{"date":"2025-09-26","symbol":"AMZN","metric":"vol20","value":0.0171706697},{"date":"2025-09-29","symbol":"AMZN","metric":"vol20","value":0.0172886659},{"date":"2025-09-30","symbol":"AMZN","metric":"vol20","value":0.0171239982},{"date":"2025-10-01","symbol":"AMZN","metric":"vol20","value":0.0171536225},{"date":"2025-10-02","symbol":"AMZN","metric":"vol20","value":0.013922472},{"date":"2025-10-03","symbol":"AMZN","metric":"vol20","value":0.013874161},{"date":"2025-10-06","symbol":"AMZN","metric":"vol20","value":0.0134109831},{"date":"2025-10-07","symbol":"AMZN","metric":"vol20","value":0.0131554197},{"date":"2025-10-08","symbol":"AMZN","metric":"vol20","value":0.0118051},{"date":"2025-10-09","symbol":"AMZN","metric":"vol20","value":0.0121160109},{"date":"2025-10-10","symbol":"AMZN","metric":"vol20","value":0.0163788617},{"date":"2025-10-13","symbol":"AMZN","metric":"vol20","value":0.0165372881},{"date":"2025-10-14","symbol":"AMZN","metric":"vol20","value":0.0165031748},{"date":"2025-10-15","symbol":"AMZN","metric":"vol20","value":0.0164301087},{"date":"2025-10-16","symbol":"AMZN","metric":"vol20","value":0.0164285099},{"date":"2025-10-17","symbol":"AMZN","metric":"vol20","value":0.0164030394},{"date":"2025-10-20","symbol":"AMZN","metric":"vol20","value":0.0167104552},{"date":"2025-10-21","symbol":"AMZN","metric":"vol20","value":0.0164598707},{"date":"2025-10-22","symbol":"AMZN","metric":"vol20","value":0.0169845074},{"date":"2025-10-23","symbol":"AMZN","metric":"vol20","value":0.0171536773},{"date":"2025-10-24","symbol":"AMZN","metric":"vol20","value":0.0173524797},{"date":"2025-10-27","symbol":"AMZN","metric":"vol20","value":0.0173977552},{"date":"2025-10-28","symbol":"AMZN","metric":"vol20","value":0.0172266826},{"date":"2025-10-29","symbol":"AMZN","metric":"vol20","value":0.0172248622},{"date":"2025-10-30","symbol":"AMZN","metric":"vol20","value":0.0188053793},{"date":"2025-10-31","symbol":"AMZN","metric":"vol20","value":0.0281757227},{"date":"2025-11-03","symbol":"AMZN","metric":"vol20","value":0.0292042838},{"date":"2025-11-04","symbol":"AMZN","metric":"vol20","value":0.0297667525},{"date":"2025-11-05","symbol":"AMZN","metric":"vol20","value":0.0296916869},{"date":"2025-11-06","symbol":"AMZN","metric":"vol20","value":0.0306226465},{"date":"2025-11-07","symbol":"AMZN","metric":"vol20","value":0.0279019427},{"date":"2025-11-10","symbol":"AMZN","metric":"vol20","value":0.02788693},{"date":"2025-11-11","symbol":"AMZN","metric":"vol20","value":0.0273706034},{"date":"2025-11-12","symbol":"AMZN","metric":"vol20","value":0.0279370629},{"date":"2025-11-13","symbol":"AMZN","metric":"vol20","value":0.0288415249},{"date":"2025-11-14","symbol":"AMZN","metric":"vol20","value":0.0289895191},{"date":"2025-11-17","symbol":"AMZN","metric":"vol20","value":0.0290088179},{"date":"2025-11-18","symbol":"AMZN","metric":"vol20","value":0.0304496412},{"date":"2025-11-19","symbol":"AMZN","metric":"vol20","value":0.0301228631},{"date":"2025-11-20","symbol":"AMZN","metric":"vol20","value":0.0305168262},{"date":"2025-11-21","symbol":"AMZN","metric":"vol20","value":0.0305771262},{"date":"2025-11-24","symbol":"AMZN","metric":"vol20","value":0.0309967507},{"date":"2025-11-25","symbol":"AMZN","metric":"vol20","value":0.0310979791},{"date":"2025-11-26","symbol":"AMZN","metric":"vol20","value":0.0310886475},{"date":"2025-11-28","symbol":"AMZN","metric":"vol20","value":0.0303391102},{"date":"2025-12-01","symbol":"AMZN","metric":"vol20","value":0.0210015925},{"date":"2025-12-02","symbol":"AMZN","metric":"vol20","value":0.0185862375},{"date":"2025-12-03","symbol":"AMZN","metric":"vol20","value":0.0183096925},{"date":"2025-12-04","symbol":"AMZN","metric":"vol20","value":0.0183844147},{"date":"2025-12-05","symbol":"AMZN","metric":"vol20","value":0.0174981113},{"date":"2025-12-08","symbol":"AMZN","metric":"vol20","value":0.0174875509},{"date":"2025-12-09","symbol":"AMZN","metric":"vol20","value":0.0169730214},{"date":"2025-12-10","symbol":"AMZN","metric":"vol20","value":0.0175616445},{"date":"2025-12-11","symbol":"AMZN","metric":"vol20","value":0.017163449},{"date":"2025-12-12","symbol":"AMZN","metric":"vol20","value":0.0165838061},{"date":"2025-12-15","symbol":"AMZN","metric":"vol20","value":0.0167310342},{"date":"2025-12-16","symbol":"AMZN","metric":"vol20","value":0.0166937712},{"date":"2025-12-17","symbol":"AMZN","metric":"vol20","value":0.0134836239},{"date":"2025-12-18","symbol":"AMZN","metric":"vol20","value":0.0146000973},{"date":"2025-12-19","symbol":"AMZN","metric":"vol20","value":0.0132633545},{"date":"2025-12-22","symbol":"AMZN","metric":"vol20","value":0.0128682652},{"date":"2025-12-23","symbol":"AMZN","metric":"vol20","value":0.0121332302},{"date":"2025-12-24","symbol":"AMZN","metric":"vol20","value":0.0117015902},{"date":"2025-12-26","symbol":"AMZN","metric":"vol20","value":0.011682132},{"date":"2025-12-29","symbol":"AMZN","metric":"vol20","value":0.010989649},{"date":"2025-12-30","symbol":"AMZN","metric":"vol20","value":0.0109790176},{"date":"2025-12-31","symbol":"AMZN","metric":"vol20","value":0.0110735069},{"date":"2026-01-02","symbol":"AMZN","metric":"vol20","value":0.0116642511},{"date":"2026-01-05","symbol":"AMZN","metric":"vol20","value":0.0130543862},{"date":"2026-01-06","symbol":"AMZN","metric":"vol20","value":0.0149808669},{"date":"2026-01-07","symbol":"AMZN","metric":"vol20","value":0.0146128783},{"date":"2026-01-08","symbol":"AMZN","metric":"vol20","value":0.0150635008},{"date":"2026-01-09","symbol":"AMZN","metric":"vol20","value":0.014754214},{"date":"2026-01-12","symbol":"AMZN","metric":"vol20","value":0.0146691819},{"date":"2026-01-13","symbol":"AMZN","metric":"vol20","value":0.0145185163},{"date":"2026-01-14","symbol":"AMZN","metric":"vol20","value":0.0152230596},{"date":"2026-01-15","symbol":"AMZN","metric":"vol20","value":0.0152215227},{"date":"2026-01-16","symbol":"AMZN","metric":"vol20","value":0.0150632084},{"date":"2026-01-20","symbol":"AMZN","metric":"vol20","value":0.0164562783},{"date":"2026-01-21","symbol":"AMZN","metric":"vol20","value":0.0164524576},{"date":"2026-01-22","symbol":"AMZN","metric":"vol20","value":0.0166574689},{"date":"2026-01-23","symbol":"AMZN","metric":"vol20","value":0.0168867695},{"date":"2025-07-30","symbol":"GOOGL","metric":"vol20","value":null},{"date":"2025-07-31","symbol":"GOOGL","metric":"vol20","value":null},{"date":"2025-08-01","symbol":"GOOGL","metric":"vol20","value":0.0064981351},{"date":"2025-08-04","symbol":"GOOGL","metric":"vol20","value":0.0293696241},{"date":"2025-08-05","symbol":"GOOGL","metric":"vol20","value":0.0239808441},{"date":"2025-08-06","symbol":"GOOGL","metric":"vol20","value":0.0211954211},{"date":"2025-08-07","symbol":"GOOGL","metric":"vol20","value":0.0189844814},{"date":"2025-08-08","symbol":"GOOGL","metric":"vol20","value":0.0196993381},{"date":"2025-08-11","symbol":"GOOGL","metric":"vol20","value":0.0183517542},{"date":"2025-08-12","symbol":"GOOGL","metric":"vol20","value":0.0174097254},{"date":"2025-08-13","symbol":"GOOGL","metric":"vol20","value":0.0167606735},{"date":"2025-08-14","symbol":"GOOGL","metric":"vol20","value":0.0159120682},{"date":"2025-08-15","symbol":"GOOGL","metric":"vol20","value":0.0151790543},{"date":"2025-08-18","symbol":"GOOGL","metric":"vol20","value":0.0146012382},{"date":"2025-08-19","symbol":"GOOGL","metric":"vol20","value":0.0144072774},{"date":"2025-08-20","symbol":"GOOGL","metric":"vol20","value":0.0142883723},{"date":"2025-08-21","symbol":"GOOGL","metric":"vol20","value":0.0138067576},{"date":"2025-08-22","symbol":"GOOGL","metric":"vol20","value":0.0152944364},{"date":"2025-08-25","symbol":"GOOGL","metric":"vol20","value":0.0149806869},{"date":"2025-08-26","symbol":"GOOGL","metric":"vol20","value":0.0147339015},{"date":"2025-08-27","symbol":"GOOGL","metric":"vol20","value":0.0143435567},{"date":"2025-08-28","symbol":"GOOGL","metric":"vol20","value":0.0134030345},{"date":"2025-08-29","symbol":"GOOGL","metric":"vol20","value":0.0126014391},{"date":"2025-09-02","symbol":"GOOGL","metric":"vol20","value":0.0114349177},{"date":"2025-09-03","symbol":"GOOGL","metric":"vol20","value":0.0225152312},{"date":"2025-09-04","symbol":"GOOGL","metric":"vol20","value":0.0225158907},{"date":"2025-09-05","symbol":"GOOGL","metric":"vol20","value":0.0224704649},{"date":"2025-09-08","symbol":"GOOGL","metric":"vol20","value":0.0223148275},{"date":"2025-09-09","symbol":"GOOGL","metric":"vol20","value":0.0224631315},{"date":"2025-09-10","symbol":"GOOGL","metric":"vol20","value":0.0225866561},{"date":"2025-09-11","symbol":"GOOGL","metric":"vol20","value":0.0223205555},{"date":"2025-09-12","symbol":"GOOGL","metric":"vol20","value":0.0223611394},{"date":"2025-09-15","symbol":"GOOGL","metric":"vol20","value":0.0237337322},{"date":"2025-09-16","symbol":"GOOGL","metric":"vol20","value":0.0237301732},{"date":"2025-09-17","symbol":"GOOGL","metric":"vol20","value":0.0236035631},{"date":"2025-09-18","symbol":"GOOGL","metric":"vol20","value":0.0230226143},{"date":"2025-09-19","symbol":"GOOGL","metric":"vol20","value":0.0229079578},{"date":"2025-09-22","symbol":"GOOGL","metric":"vol20","value":0.0229020378},{"date":"2025-09-23","symbol":"GOOGL","metric":"vol20","value":0.0231085978},{"date":"2025-09-24","symbol":"GOOGL","metric":"vol20","value":0.0236690912},{"date":"2025-09-25","symbol":"GOOGL","metric":"vol20","value":0.0238408084},{"date":"2025-09-26","symbol":"GOOGL","metric":"vol20","value":0.0237222244},{"date":"2025-09-29","symbol":"GOOGL","metric":"vol20","value":0.0240633289},{"date":"2025-09-30","symbol":"GOOGL","metric":"vol20","value":0.0239662842},{"date":"2025-10-01","symbol":"GOOGL","metric":"vol20","value":0.0135699197},{"date":"2025-10-02","symbol":"GOOGL","metric":"vol20","value":0.0135375603},{"date":"2025-10-03","symbol":"GOOGL","metric":"vol20","value":0.0134094913},{"date":"2025-10-06","symbol":"GOOGL","metric":"vol20","value":0.0139503035},{"date":"2025-10-07","symbol":"GOOGL","metric":"vol20","value":0.0139213257},{"date":"2025-10-08","symbol":"GOOGL","metric":"vol20","value":0.0139682413},{"date":"2025-10-09","symbol":"GOOGL","metric":"vol20","value":0.0142702519},{"date":"2025-10-10","symbol":"GOOGL","metric":"vol20","value":0.0150029289},{"date":"2025-10-13","symbol":"GOOGL","metric":"vol20","value":0.0130897981},{"date":"2025-10-14","symbol":"GOOGL","metric":"vol20","value":0.0131758026},{"date":"2025-10-15","symbol":"GOOGL","metric":"vol20","value":0.0141299547},{"date":"2025-10-16","symbol":"GOOGL","metric":"vol20","value":0.0139529071},{"date":"2025-10-17","symbol":"GOOGL","metric":"vol20","value":0.0138375785},{"date":"2025-10-20","symbol":"GOOGL","metric":"vol20","value":0.0139812754},{"date":"2025-10-21","symbol":"GOOGL","metric":"vol20","value":0.015008882},{"date":"2025-10-22","symbol":"GOOGL","metric":"vol20","value":0.0144387743},{"date":"2025-10-23","symbol":"GOOGL","metric":"vol20","value":0.0143877614},{"date":"2025-10-24","symbol":"GOOGL","metric":"vol20","value":0.015477749},{"date":"2025-10-27","symbol":"GOOGL","metric":"vol20","value":0.0168307087},{"date":"2025-10-28","symbol":"GOOGL","metric":"vol20","value":0.016918989},{"date":"2025-10-29","symbol":"GOOGL","metric":"vol20","value":0.0175932245},{"date":"2025-10-30","symbol":"GOOGL","metric":"vol20","value":0.0180967795},{"date":"2025-10-31","symbol":"GOOGL","metric":"vol20","value":0.0180883447},{"date":"2025-11-03","symbol":"GOOGL","metric":"vol20","value":0.0178078062},{"date":"2025-11-04","symbol":"GOOGL","metric":"vol20","value":0.0180494603},{"date":"2025-11-05","symbol":"GOOGL","metric":"vol20","value":0.0182920891},{"date":"2025-11-06","symbol":"GOOGL","metric":"vol20","value":0.0177279976},{"date":"2025-11-07","symbol":"GOOGL","metric":"vol20","value":0.0177504871},{"date":"2025-11-10","symbol":"GOOGL","metric":"vol20","value":0.0184243925},{"date":"2025-11-11","symbol":"GOOGL","metric":"vol20","value":0.0184377098},{"date":"2025-11-12","symbol":"GOOGL","metric":"vol20","value":0.0189075921},{"date":"2025-11-13","symbol":"GOOGL","metric":"vol20","value":0.0204690551},{"date":"2025-11-14","symbol":"GOOGL","metric":"vol20","value":0.0206688924},{"date":"2025-11-17","symbol":"GOOGL","metric":"vol20","value":0.0214440176},{"date":"2025-11-18","symbol":"GOOGL","metric":"vol20","value":0.0204259377},{"date":"2025-11-19","symbol":"GOOGL","metric":"vol20","value":0.0210814678},{"date":"2025-11-20","symbol":"GOOGL","metric":"vol20","value":0.0215166273},{"date":"2025-11-21","symbol":"GOOGL","metric":"vol20","value":0.0219935946},{"date":"2025-11-24","symbol":"GOOGL","metric":"vol20","value":0.0245460823},{"date":"2025-11-25","symbol":"GOOGL","metric":"vol20","value":0.0243115238},{"date":"2025-11-26","symbol":"GOOGL","metric":"vol20","value":0.0243942137},{"date":"2025-11-28","symbol":"GOOGL","metric":"vol20","value":0.0240964447},{"date":"2025-12-01","symbol":"GOOGL","metric":"vol20","value":0.0246032987},{"date":"2025-12-02","symbol":"GOOGL","metric":"vol20","value":0.0246014979},{"date":"2025-12-03","symbol":"GOOGL","metric":"vol20","value":0.02376642},{"date":"2025-12-04","symbol":"GOOGL","metric":"vol20","value":0.0235989006},{"date":"2025-12-05","symbol":"GOOGL","metric":"vol20","value":0.0236091061},{"date":"2025-12-08","symbol":"GOOGL","metric":"vol20","value":0.0237397353},{"date":"2025-12-09","symbol":"GOOGL","metric":"vol20","value":0.0223776043},{"date":"2025-12-10","symbol":"GOOGL","metric":"vol20","value":0.0224064892},{"date":"2025-12-11","symbol":"GOOGL","metric":"vol20","value":0.022896906},{"date":"2025-12-12","symbol":"GOOGL","metric":"vol20","value":0.0218514124},{"date":"2025-12-15","symbol":"GOOGL","metric":"vol20","value":0.0217349522},{"date":"2025-12-16","symbol":"GOOGL","metric":"vol20","value":0.0210082233},{"date":"2025-12-17","symbol":"GOOGL","metric":"vol20","value":0.0224748879},{"date":"2025-12-18","symbol":"GOOGL","metric":"vol20","value":0.0219038879},{"date":"2025-12-19","symbol":"GOOGL","metric":"vol20","value":0.0218696632},{"date":"2025-12-22","symbol":"GOOGL","metric":"vol20","value":0.0205882904},{"date":"2025-12-23","symbol":"GOOGL","metric":"vol20","value":0.0151309774},{"date":"2025-12-24","symbol":"GOOGL","metric":"vol20","value":0.0146678494},{"date":"2025-12-26","symbol":"GOOGL","metric":"vol20","value":0.0144993805},{"date":"2025-12-29","symbol":"GOOGL","metric":"vol20","value":0.0144966648},{"date":"2025-12-30","symbol":"GOOGL","metric":"vol20","value":0.0140244094},{"date":"2025-12-31","symbol":"GOOGL","metric":"vol20","value":0.0140183553},{"date":"2026-01-02","symbol":"GOOGL","metric":"vol20","value":0.0138216726},{"date":"2026-01-05","symbol":"GOOGL","metric":"vol20","value":0.0137960804},{"date":"2026-01-06","symbol":"GOOGL","metric":"vol20","value":0.0135988672},{"date":"2026-01-07","symbol":"GOOGL","metric":"vol20","value":0.013691827},{"date":"2026-01-08","symbol":"GOOGL","metric":"vol20","value":0.0136931127},{"date":"2026-01-09","symbol":"GOOGL","metric":"vol20","value":0.0136849627},{"date":"2026-01-12","symbol":"GOOGL","metric":"vol20","value":0.0123857957},{"date":"2026-01-13","symbol":"GOOGL","metric":"vol20","value":0.0121462907},{"date":"2026-01-14","symbol":"GOOGL","metric":"vol20","value":0.012063245},{"date":"2026-01-15","symbol":"GOOGL","metric":"vol20","value":0.0122504885},{"date":"2026-01-16","symbol":"GOOGL","metric":"vol20","value":0.0093520836},{"date":"2026-01-20","symbol":"GOOGL","metric":"vol20","value":0.0108783424},{"date":"2026-01-21","symbol":"GOOGL","metric":"vol20","value":0.0111717371},{"date":"2026-01-22","symbol":"GOOGL","metric":"vol20","value":0.0111330685},{"date":"2026-01-23","symbol":"GOOGL","metric":"vol20","value":0.01105927},{"date":"2025-07-30","symbol":"META","metric":"vol20","value":null},{"date":"2025-07-31","symbol":"META","metric":"vol20","value":null},{"date":"2025-08-01","symbol":"META","metric":"vol20","value":0.1010008512},{"date":"2025-08-04","symbol":"META","metric":"vol20","value":0.0715016109},{"date":"2025-08-05","symbol":"META","metric":"vol20","value":0.0646953483},{"date":"2025-08-06","symbol":"META","metric":"vol20","value":0.0563771738},{"date":"2025-08-07","symbol":"META","metric":"vol20","value":0.0524712661},{"date":"2025-08-08","symbol":"META","metric":"vol20","value":0.0479657757},{"date":"2025-08-11","symbol":"META","metric":"vol20","value":0.0449650318},{"date":"2025-08-12","symbol":"META","metric":"vol20","value":0.0425099347},{"date":"2025-08-13","symbol":"META","metric":"vol20","value":0.04101937},{"date":"2025-08-14","symbol":"META","metric":"vol20","value":0.0390235779},{"date":"2025-08-15","symbol":"META","metric":"vol20","value":0.0372699707},{"date":"2025-08-18","symbol":"META","metric":"vol20","value":0.0368762496},{"date":"2025-08-19","symbol":"META","metric":"vol20","value":0.0362637671},{"date":"2025-08-20","symbol":"META","metric":"vol20","value":0.0350631389},{"date":"2025-08-21","symbol":"META","metric":"vol20","value":0.0341381026},{"date":"2025-08-22","symbol":"META","metric":"vol20","value":0.0333065974},{"date":"2025-08-25","symbol":"META","metric":"vol20","value":0.0323582336},{"date":"2025-08-26","symbol":"META","metric":"vol20","value":0.0314591274},{"date":"2025-08-27","symbol":"META","metric":"vol20","value":0.0307717673},{"date":"2025-08-28","symbol":"META","metric":"vol20","value":0.0172368126},{"date":"2025-08-29","symbol":"META","metric":"vol20","value":0.0162656926},{"date":"2025-09-02","symbol":"META","metric":"vol20","value":0.0139255428},{"date":"2025-09-03","symbol":"META","metric":"vol20","value":0.0135682392},{"date":"2025-09-04","symbol":"META","metric":"vol20","value":0.013832043},{"date":"2025-09-05","symbol":"META","metric":"vol20","value":0.0136185516},{"date":"2025-09-08","symbol":"META","metric":"vol20","value":0.013401372},{"date":"2025-09-09","symbol":"META","metric":"vol20","value":0.0140130081},{"date":"2025-09-10","symbol":"META","metric":"vol20","value":0.0124512631},{"date":"2025-09-11","symbol":"META","metric":"vol20","value":0.0122197531},{"date":"2025-09-12","symbol":"META","metric":"vol20","value":0.0123159209},{"date":"2025-09-15","symbol":"META","metric":"vol20","value":0.0126385538},{"date":"2025-09-16","symbol":"META","metric":"vol20","value":0.0123226465},{"date":"2025-09-17","symbol":"META","metric":"vol20","value":0.0113159394},{"date":"2025-09-18","symbol":"META","metric":"vol20","value":0.011240027},{"date":"2025-09-19","symbol":"META","metric":"vol20","value":0.0108312544},{"date":"2025-09-22","symbol":"META","metric":"vol20","value":0.0106935386},{"date":"2025-09-23","symbol":"META","metric":"vol20","value":0.011103695},{"date":"2025-09-24","symbol":"META","metric":"vol20","value":0.0112050509},{"date":"2025-09-25","symbol":"META","metric":"vol20","value":0.0115836552},{"date":"2025-09-26","symbol":"META","metric":"vol20","value":0.0116298792},{"date":"2025-09-29","symbol":"META","metric":"vol20","value":0.0109950054},{"date":"2025-09-30","symbol":"META","metric":"vol20","value":0.0112945774},{"date":"2025-10-01","symbol":"META","metric":"vol20","value":0.0124050394},{"date":"2025-10-02","symbol":"META","metric":"vol20","value":0.0122542791},{"date":"2025-10-03","symbol":"META","metric":"vol20","value":0.0130347989},{"date":"2025-10-06","symbol":"META","metric":"vol20","value":0.0132140038},{"date":"2025-10-07","symbol":"META","metric":"vol20","value":0.012330099},{"date":"2025-10-08","symbol":"META","metric":"vol20","value":0.0120339287},{"date":"2025-10-09","symbol":"META","metric":"vol20","value":0.0131821159},{"date":"2025-10-10","symbol":"META","metric":"vol20","value":0.0154691922},{"date":"2025-10-13","symbol":"META","metric":"vol20","value":0.015620828},{"date":"2025-10-14","symbol":"META","metric":"vol20","value":0.0148015384},{"date":"2025-10-15","symbol":"META","metric":"vol20","value":0.0152912402},{"date":"2025-10-16","symbol":"META","metric":"vol20","value":0.0151431124},{"date":"2025-10-17","symbol":"META","metric":"vol20","value":0.0153466392},{"date":"2025-10-20","symbol":"META","metric":"vol20","value":0.0160386619},{"date":"2025-10-21","symbol":"META","metric":"vol20","value":0.0158545538},{"date":"2025-10-22","symbol":"META","metric":"vol20","value":0.0157390537},{"date":"2025-10-23","symbol":"META","metric":"vol20","value":0.0154082563},{"date":"2025-10-24","symbol":"META","metric":"vol20","value":0.0154124278},{"date":"2025-10-27","symbol":"META","metric":"vol20","value":0.0158802807},{"date":"2025-10-28","symbol":"META","metric":"vol20","value":0.0155945787},{"date":"2025-10-29","symbol":"META","metric":"vol20","value":0.0145015587},{"date":"2025-10-30","symbol":"META","metric":"vol20","value":0.0294460469},{"date":"2025-10-31","symbol":"META","metric":"vol20","value":0.0296142282},{"date":"2025-11-03","symbol":"META","metric":"vol20","value":0.0296097942},{"date":"2025-11-04","symbol":"META","metric":"vol20","value":0.0297071036},{"date":"2025-11-05","symbol":"META","metric":"vol20","value":0.0299066636},{"date":"2025-11-06","symbol":"META","metric":"vol20","value":0.0295331664},{"date":"2025-11-07","symbol":"META","metric":"vol20","value":0.0287543725},{"date":"2025-11-10","symbol":"META","metric":"vol20","value":0.0288102594},{"date":"2025-11-11","symbol":"META","metric":"vol20","value":0.0287973146},{"date":"2025-11-12","symbol":"META","metric":"vol20","value":0.0289041763},{"date":"2025-11-13","symbol":"META","metric":"vol20","value":0.0289772552},{"date":"2025-11-14","symbol":"META","metric":"vol20","value":0.0288329461},{"date":"2025-11-17","symbol":"META","metric":"vol20","value":0.0280255417},{"date":"2025-11-18","symbol":"META","metric":"vol20","value":0.0279157098},{"date":"2025-11-19","symbol":"META","metric":"vol20","value":0.0278206228},{"date":"2025-11-20","symbol":"META","metric":"vol20","value":0.0277684346},{"date":"2025-11-21","symbol":"META","metric":"vol20","value":0.0278598931},{"date":"2025-11-24","symbol":"META","metric":"vol20","value":0.0287996977},{"date":"2025-11-25","symbol":"META","metric":"vol20","value":0.0306363365},{"date":"2025-11-26","symbol":"META","metric":"vol20","value":0.0305905932},{"date":"2025-11-28","symbol":"META","metric":"vol20","value":0.0187882874},{"date":"2025-12-01","symbol":"META","metric":"vol20","value":0.0179382583},{"date":"2025-12-02","symbol":"META","metric":"vol20","value":0.0176622796},{"date":"2025-12-03","symbol":"META","metric":"vol20","value":0.017451605},{"date":"2025-12-04","symbol":"META","metric":"vol20","value":0.0187869615},{"date":"2025-12-05","symbol":"META","metric":"vol20","value":0.0178042367},{"date":"2025-12-08","symbol":"META","metric":"vol20","value":0.0180849421},{"date":"2025-12-09","symbol":"META","metric":"vol20","value":0.01828051},{"date":"2025-12-10","symbol":"META","metric":"vol20","value":0.018374015},{"date":"2025-12-11","symbol":"META","metric":"vol20","value":0.0168847062},{"date":"2025-12-12","symbol":"META","metric":"vol20","value":0.0172855299},{"date":"2025-12-15","symbol":"META","metric":"vol20","value":0.017276475},{"date":"2025-12-16","symbol":"META","metric":"vol20","value":0.0170640745},{"date":"2025-12-17","symbol":"META","metric":"vol20","value":0.0172537803},{"date":"2025-12-18","symbol":"META","metric":"vol20","value":0.0172663904},{"date":"2025-12-19","symbol":"META","metric":"vol20","value":0.0174893775},{"date":"2025-12-22","symbol":"META","metric":"vol20","value":0.017479422},{"date":"2025-12-23","symbol":"META","metric":"vol20","value":0.0163685681},{"date":"2025-12-24","symbol":"META","metric":"vol20","value":0.0143407198},{"date":"2025-12-26","symbol":"META","metric":"vol20","value":0.0144051484},{"date":"2025-12-29","symbol":"META","metric":"vol20","value":0.0137236462},{"date":"2025-12-30","symbol":"META","metric":"vol20","value":0.0136011026},{"date":"2025-12-31","symbol":"META","metric":"vol20","value":0.0136817641},{"date":"2026-01-02","symbol":"META","metric":"vol20","value":0.0138486716},{"date":"2026-01-05","symbol":"META","metric":"vol20","value":0.0118169264},{"date":"2026-01-06","symbol":"META","metric":"vol20","value":0.0110578412},{"date":"2026-01-07","symbol":"META","metric":"vol20","value":0.0115514816},{"date":"2026-01-08","symbol":"META","metric":"vol20","value":0.0111334748},{"date":"2026-01-09","symbol":"META","metric":"vol20","value":0.0111763679},{"date":"2026-01-12","symbol":"META","metric":"vol20","value":0.0117821827},{"date":"2026-01-13","symbol":"META","metric":"vol20","value":0.0120298502},{"date":"2026-01-14","symbol":"META","metric":"vol20","value":0.0130190558},{"date":"2026-01-15","symbol":"META","metric":"vol20","value":0.0126479781},{"date":"2026-01-16","symbol":"META","metric":"vol20","value":0.0124782265},{"date":"2026-01-20","symbol":"META","metric":"vol20","value":0.0120663856},{"date":"2026-01-21","symbol":"META","metric":"vol20","value":0.0127680432},{"date":"2026-01-22","symbol":"META","metric":"vol20","value":0.0185118023},{"date":"2026-01-23","symbol":"META","metric":"vol20","value":0.0189093559},{"date":"2025-07-30","symbol":"MSFT","metric":"vol20","value":null},{"date":"2025-07-31","symbol":"MSFT","metric":"vol20","value":null},{"date":"2025-08-01","symbol":"MSFT","metric":"vol20","value":0.0403637774},{"date":"2025-08-04","symbol":"MSFT","metric":"vol20","value":0.0292476926},{"date":"2025-08-05","symbol":"MSFT","metric":"vol20","value":0.0280290911},{"date":"2025-08-06","symbol":"MSFT","metric":"vol20","value":0.0249204154},{"date":"2025-08-07","symbol":"MSFT","metric":"vol20","value":0.0228737839},{"date":"2025-08-08","symbol":"MSFT","metric":"vol20","value":0.0208812432},{"date":"2025-08-11","symbol":"MSFT","metric":"vol20","value":0.019364029},{"date":"2025-08-12","symbol":"MSFT","metric":"vol20","value":0.0185559233},{"date":"2025-08-13","symbol":"MSFT","metric":"vol20","value":0.0185954025},{"date":"2025-08-14","symbol":"MSFT","metric":"vol20","value":0.0176523841},{"date":"2025-08-15","symbol":"MSFT","metric":"vol20","value":0.016925218},{"date":"2025-08-18","symbol":"MSFT","metric":"vol20","value":0.0163256224},{"date":"2025-08-19","symbol":"MSFT","metric":"vol20","value":0.0161817646},{"date":"2025-08-20","symbol":"MSFT","metric":"vol20","value":0.0157151233},{"date":"2025-08-21","symbol":"MSFT","metric":"vol20","value":0.0151826157},{"date":"2025-08-22","symbol":"MSFT","metric":"vol20","value":0.0147931722},{"date":"2025-08-25","symbol":"MSFT","metric":"vol20","value":0.0144068213},{"date":"2025-08-26","symbol":"MSFT","metric":"vol20","value":0.0140255076},{"date":"2025-08-27","symbol":"MSFT","metric":"vol20","value":0.0138459015},{"date":"2025-08-28","symbol":"MSFT","metric":"vol20","value":0.0103328918},{"date":"2025-08-29","symbol":"MSFT","metric":"vol20","value":0.0097227667},{"date":"2025-09-02","symbol":"MSFT","metric":"vol20","value":0.0079861521},{"date":"2025-09-03","symbol":"MSFT","metric":"vol20","value":0.0075013778},{"date":"2025-09-04","symbol":"MSFT","metric":"vol20","value":0.007627005},{"date":"2025-09-05","symbol":"MSFT","metric":"vol20","value":0.0092496268},{"date":"2025-09-08","symbol":"MSFT","metric":"vol20","value":0.0094062529},{"date":"2025-09-09","symbol":"MSFT","metric":"vol20","value":0.0094175086},{"date":"2025-09-10","symbol":"MSFT","metric":"vol20","value":0.0087227125},{"date":"2025-09-11","symbol":"MSFT","metric":"vol20","value":0.0081383958},{"date":"2025-09-12","symbol":"MSFT","metric":"vol20","value":0.0091799756},{"date":"2025-09-15","symbol":"MSFT","metric":"vol20","value":0.0095090626},{"date":"2025-09-16","symbol":"MSFT","metric":"vol20","value":0.0098068284},{"date":"2025-09-17","symbol":"MSFT","metric":"vol20","value":0.0092849065},{"date":"2025-09-18","symbol":"MSFT","metric":"vol20","value":0.0091246883},{"date":"2025-09-19","symbol":"MSFT","metric":"vol20","value":0.009979721},{"date":"2025-09-22","symbol":"MSFT","metric":"vol20","value":0.0100769981},{"date":"2025-09-23","symbol":"MSFT","metric":"vol20","value":0.0102692943},{"date":"2025-09-24","symbol":"MSFT","metric":"vol20","value":0.0102054426},{"date":"2025-09-25","symbol":"MSFT","metric":"vol20","value":0.0101130523},{"date":"2025-09-26","symbol":"MSFT","metric":"vol20","value":0.0102230222},{"date":"2025-09-29","symbol":"MSFT","metric":"vol20","value":0.0102014475},{"date":"2025-09-30","symbol":"MSFT","metric":"vol20","value":0.0102332746},{"date":"2025-10-01","symbol":"MSFT","metric":"vol20","value":0.0102416465},{"date":"2025-10-02","symbol":"MSFT","metric":"vol20","value":0.0103959016},{"date":"2025-10-03","symbol":"MSFT","metric":"vol20","value":0.0083486253},{"date":"2025-10-06","symbol":"MSFT","metric":"vol20","value":0.0093839426},{"date":"2025-10-07","symbol":"MSFT","metric":"vol20","value":0.0097301749},{"date":"2025-10-08","symbol":"MSFT","metric":"vol20","value":0.0097263647},{"date":"2025-10-09","symbol":"MSFT","metric":"vol20","value":0.0098538853},{"date":"2025-10-10","symbol":"MSFT","metric":"vol20","value":0.0105115728},{"date":"2025-10-13","symbol":"MSFT","metric":"vol20","value":0.0103148939},{"date":"2025-10-14","symbol":"MSFT","metric":"vol20","value":0.0099134985},{"date":"2025-10-15","symbol":"MSFT","metric":"vol20","value":0.0099088995},{"date":"2025-10-16","symbol":"MSFT","metric":"vol20","value":0.0099180444},{"date":"2025-10-17","symbol":"MSFT","metric":"vol20","value":0.0089912384},{"date":"2025-10-20","symbol":"MSFT","metric":"vol20","value":0.0089778987},{"date":"2025-10-21","symbol":"MSFT","metric":"vol20","value":0.0086392113},{"date":"2025-10-22","symbol":"MSFT","metric":"vol20","value":0.0087018487},{"date":"2025-10-23","symbol":"MSFT","metric":"vol20","value":0.0085421486},{"date":"2025-10-24","symbol":"MSFT","metric":"vol20","value":0.008434687},{"date":"2025-10-27","symbol":"MSFT","metric":"vol20","value":0.0089345602},{"date":"2025-10-28","symbol":"MSFT","metric":"vol20","value":0.0097743835},{"date":"2025-10-29","symbol":"MSFT","metric":"vol20","value":0.0097977074},{"date":"2025-10-30","symbol":"MSFT","metric":"vol20","value":0.0118836302},{"date":"2025-10-31","symbol":"MSFT","metric":"vol20","value":0.0124041305},{"date":"2025-11-03","symbol":"MSFT","metric":"vol20","value":0.0113178806},{"date":"2025-11-04","symbol":"MSFT","metric":"vol20","value":0.011220821},{"date":"2025-11-05","symbol":"MSFT","metric":"vol20","value":0.0115728362},{"date":"2025-11-06","symbol":"MSFT","metric":"vol20","value":0.0122575543},{"date":"2025-11-07","symbol":"MSFT","metric":"vol20","value":0.0113695771},{"date":"2025-11-10","symbol":"MSFT","metric":"vol20","value":0.012110095},{"date":"2025-11-11","symbol":"MSFT","metric":"vol20","value":0.0121844364},{"date":"2025-11-12","symbol":"MSFT","metric":"vol20","value":0.012241021},{"date":"2025-11-13","symbol":"MSFT","metric":"vol20","value":0.0126906057},{"date":"2025-11-14","symbol":"MSFT","metric":"vol20","value":0.0130634666},{"date":"2025-11-17","symbol":"MSFT","metric":"vol20","value":0.0130160941},{"date":"2025-11-18","symbol":"MSFT","metric":"vol20","value":0.0142457772},{"date":"2025-11-19","symbol":"MSFT","metric":"vol20","value":0.0143323897},{"date":"2025-11-20","symbol":"MSFT","metric":"vol20","value":0.01458728},{"date":"2025-11-21","symbol":"MSFT","metric":"vol20","value":0.0145306036},{"date":"2025-11-24","symbol":"MSFT","metric":"vol20","value":0.0139211361},{"date":"2025-11-25","symbol":"MSFT","metric":"vol20","value":0.0129151429},{"date":"2025-11-26","symbol":"MSFT","metric":"vol20","value":0.0139588686},{"date":"2025-11-28","symbol":"MSFT","metric":"vol20","value":0.0133559516},{"date":"2025-12-01","symbol":"MSFT","metric":"vol20","value":0.0131824757},{"date":"2025-12-02","symbol":"MSFT","metric":"vol20","value":0.01335507},{"date":"2025-12-03","symbol":"MSFT","metric":"vol20","value":0.014271374},{"date":"2025-12-04","symbol":"MSFT","metric":"vol20","value":0.01421574},{"date":"2025-12-05","symbol":"MSFT","metric":"vol20","value":0.0136902394},{"date":"2025-12-08","symbol":"MSFT","metric":"vol20","value":0.0142401843},{"date":"2025-12-09","symbol":"MSFT","metric":"vol20","value":0.0135515986},{"date":"2025-12-10","symbol":"MSFT","metric":"vol20","value":0.0146477275},{"date":"2025-12-11","symbol":"MSFT","metric":"vol20","value":0.0148461745},{"date":"2025-12-12","symbol":"MSFT","metric":"vol20","value":0.0146562085},{"date":"2025-12-15","symbol":"MSFT","metric":"vol20","value":0.014199993},{"date":"2025-12-16","symbol":"MSFT","metric":"vol20","value":0.0142696369},{"date":"2025-12-17","symbol":"MSFT","metric":"vol20","value":0.0131042175},{"date":"2025-12-18","symbol":"MSFT","metric":"vol20","value":0.0133896049},{"date":"2025-12-19","symbol":"MSFT","metric":"vol20","value":0.0128802718},{"date":"2025-12-22","symbol":"MSFT","metric":"vol20","value":0.0124755672},{"date":"2025-12-23","symbol":"MSFT","metric":"vol20","value":0.0124755455},{"date":"2025-12-24","symbol":"MSFT","metric":"vol20","value":0.0124253564},{"date":"2025-12-26","symbol":"MSFT","metric":"vol20","value":0.0117952282},{"date":"2025-12-29","symbol":"MSFT","metric":"vol20","value":0.0113857073},{"date":"2025-12-30","symbol":"MSFT","metric":"vol20","value":0.0111270796},{"date":"2025-12-31","symbol":"MSFT","metric":"vol20","value":0.0111533313},{"date":"2026-01-02","symbol":"MSFT","metric":"vol20","value":0.0108270151},{"date":"2026-01-05","symbol":"MSFT","metric":"vol20","value":0.0107033535},{"date":"2026-01-06","symbol":"MSFT","metric":"vol20","value":0.0110150772},{"date":"2026-01-07","symbol":"MSFT","metric":"vol20","value":0.0106161286},{"date":"2026-01-08","symbol":"MSFT","metric":"vol20","value":0.0108399408},{"date":"2026-01-09","symbol":"MSFT","metric":"vol20","value":0.0089672968},{"date":"2026-01-12","symbol":"MSFT","metric":"vol20","value":0.0086886845},{"date":"2026-01-13","symbol":"MSFT","metric":"vol20","value":0.0089185385},{"date":"2026-01-14","symbol":"MSFT","metric":"vol20","value":0.0102282278},{"date":"2026-01-15","symbol":"MSFT","metric":"vol20","value":0.0102032695},{"date":"2026-01-16","symbol":"MSFT","metric":"vol20","value":0.0104003834},{"date":"2026-01-20","symbol":"MSFT","metric":"vol20","value":0.0096878788},{"date":"2026-01-21","symbol":"MSFT","metric":"vol20","value":0.0104860744},{"date":"2026-01-22","symbol":"MSFT","metric":"vol20","value":0.0114207239},{"date":"2026-01-23","symbol":"MSFT","metric":"vol20","value":0.0139600511},{"date":"2025-07-30","symbol":"NVDA","metric":"vol20","value":null},{"date":"2025-07-31","symbol":"NVDA","metric":"vol20","value":null},{"date":"2025-08-01","symbol":"NVDA","metric":"vol20","value":0.0109770901},{"date":"2025-08-04","symbol":"NVDA","metric":"vol20","value":0.0308565731},{"date":"2025-08-05","symbol":"NVDA","metric":"vol20","value":0.0258241668},{"date":"2025-08-06","symbol":"NVDA","metric":"vol20","value":0.0226260783},{"date":"2025-08-07","symbol":"NVDA","metric":"vol20","value":0.0204471039},{"date":"2025-08-08","symbol":"NVDA","metric":"vol20","value":0.0189808578},{"date":"2025-08-11","symbol":"NVDA","metric":"vol20","value":0.0177165026},{"date":"2025-08-12","symbol":"NVDA","metric":"vol20","value":0.0166251271},{"date":"2025-08-13","symbol":"NVDA","metric":"vol20","value":0.0160613635},{"date":"2025-08-14","symbol":"NVDA","metric":"vol20","value":0.0152399324},{"date":"2025-08-15","symbol":"NVDA","metric":"vol20","value":0.0148212502},{"date":"2025-08-18","symbol":"NVDA","metric":"vol20","value":0.0143626533},{"date":"2025-08-19","symbol":"NVDA","metric":"vol20","value":0.0168627372},{"date":"2025-08-20","symbol":"NVDA","metric":"vol20","value":0.0162493431},{"date":"2025-08-21","symbol":"NVDA","metric":"vol20","value":0.0157006106},{"date":"2025-08-22","symbol":"NVDA","metric":"vol20","value":0.0158573493},{"date":"2025-08-25","symbol":"NVDA","metric":"vol20","value":0.015582795},{"date":"2025-08-26","symbol":"NVDA","metric":"vol20","value":0.0153384807},{"date":"2025-08-27","symbol":"NVDA","metric":"vol20","value":0.0149346629},{"date":"2025-08-28","symbol":"NVDA","metric":"vol20","value":0.014936631},{"date":"2025-08-29","symbol":"NVDA","metric":"vol20","value":0.0159108839},{"date":"2025-09-02","symbol":"NVDA","metric":"vol20","value":0.0140621408},{"date":"2025-09-03","symbol":"NVDA","metric":"vol20","value":0.0139641005},{"date":"2025-09-04","symbol":"NVDA","metric":"vol20","value":0.0139510417},{"date":"2025-09-05","symbol":"NVDA","metric":"vol20","value":0.0148080425},{"date":"2025-09-08","symbol":"NVDA","metric":"vol20","value":0.0146697073},{"date":"2025-09-09","symbol":"NVDA","metric":"vol20","value":0.0152458988},{"date":"2025-09-10","symbol":"NVDA","metric":"vol20","value":0.0177825431},{"date":"2025-09-11","symbol":"NVDA","metric":"vol20","value":0.0177037693},{"date":"2025-09-12","symbol":"NVDA","metric":"vol20","value":0.0177194831},{"date":"2025-09-15","symbol":"NVDA","metric":"vol20","value":0.0176287328},{"date":"2025-09-16","symbol":"NVDA","metric":"vol20","value":0.0178148919},{"date":"2025-09-17","symbol":"NVDA","metric":"vol20","value":0.0170483598},{"date":"2025-09-18","symbol":"NVDA","metric":"vol20","value":0.0188867364},{"date":"2025-09-19","symbol":"NVDA","metric":"vol20","value":0.0188798745},{"date":"2025-09-22","symbol":"NVDA","metric":"vol20","value":0.0204767385},{"date":"2025-09-23","symbol":"NVDA","metric":"vol20","value":0.021422118},{"date":"2025-09-24","symbol":"NVDA","metric":"vol20","value":0.0213280532},{"date":"2025-09-25","symbol":"NVDA","metric":"vol20","value":0.0213596558},{"date":"2025-09-26","symbol":"NVDA","metric":"vol20","value":0.0213087984},{"date":"2025-09-29","symbol":"NVDA","metric":"vol20","value":0.0203067899},{"date":"2025-09-30","symbol":"NVDA","metric":"vol20","value":0.0202774694},{"date":"2025-10-01","symbol":"NVDA","metric":"vol20","value":0.0202374429},{"date":"2025-10-02","symbol":"NVDA","metric":"vol20","value":0.0202553189},{"date":"2025-10-03","symbol":"NVDA","metric":"vol20","value":0.0190378272},{"date":"2025-10-06","symbol":"NVDA","metric":"vol20","value":0.0194095382},{"date":"2025-10-07","symbol":"NVDA","metric":"vol20","value":0.0193487609},{"date":"2025-10-08","symbol":"NVDA","metric":"vol20","value":0.0181242245},{"date":"2025-10-09","symbol":"NVDA","metric":"vol20","value":0.0183928468},{"date":"2025-10-10","symbol":"NVDA","metric":"vol20","value":0.0219087402},{"date":"2025-10-13","symbol":"NVDA","metric":"vol20","value":0.0226820057},{"date":"2025-10-14","symbol":"NVDA","metric":"vol20","value":0.0246964547},{"date":"2025-10-15","symbol":"NVDA","metric":"vol20","value":0.0238210286},{"date":"2025-10-16","symbol":"NVDA","metric":"vol20","value":0.0227071118},{"date":"2025-10-17","symbol":"NVDA","metric":"vol20","value":0.0227460227},{"date":"2025-10-20","symbol":"NVDA","metric":"vol20","value":0.0210045655},{"date":"2025-10-21","symbol":"NVDA","metric":"vol20","value":0.020044956},{"date":"2025-10-22","symbol":"NVDA","metric":"vol20","value":0.0199788741},{"date":"2025-10-23","symbol":"NVDA","metric":"vol20","value":0.0200786595},{"date":"2025-10-24","symbol":"NVDA","metric":"vol20","value":0.0206252583},{"date":"2025-10-27","symbol":"NVDA","metric":"vol20","value":0.0210386157},{"date":"2025-10-28","symbol":"NVDA","metric":"vol20","value":0.0230032766},{"date":"2025-10-29","symbol":"NVDA","metric":"vol20","value":0.0237200152},{"date":"2025-10-30","symbol":"NVDA","metric":"vol20","value":0.0243645415},{"date":"2025-10-31","symbol":"NVDA","metric":"vol20","value":0.0242788665},{"date":"2025-11-03","symbol":"NVDA","metric":"vol20","value":0.024305544},{"date":"2025-11-04","symbol":"NVDA","metric":"vol20","value":0.0262979676},{"date":"2025-11-05","symbol":"NVDA","metric":"vol20","value":0.0263507091},{"date":"2025-11-06","symbol":"NVDA","metric":"vol20","value":0.0273885424},{"date":"2025-11-07","symbol":"NVDA","metric":"vol20","value":0.0249464681},{"date":"2025-11-10","symbol":"NVDA","metric":"vol20","value":0.0273813292},{"date":"2025-11-11","symbol":"NVDA","metric":"vol20","value":0.0262397152},{"date":"2025-11-12","symbol":"NVDA","metric":"vol20","value":0.0262143209},{"date":"2025-11-13","symbol":"NVDA","metric":"vol20","value":0.0276153812},{"date":"2025-11-14","symbol":"NVDA","metric":"vol20","value":0.027818778},{"date":"2025-11-17","symbol":"NVDA","metric":"vol20","value":0.0281944595},{"date":"2025-11-18","symbol":"NVDA","metric":"vol20","value":0.0288959286},{"date":"2025-11-19","symbol":"NVDA","metric":"vol20","value":0.0295270515},{"date":"2025-11-20","symbol":"NVDA","metric":"vol20","value":0.0303832532},{"date":"2025-11-21","symbol":"NVDA","metric":"vol20","value":0.0299798908},{"date":"2025-11-24","symbol":"NVDA","metric":"vol20","value":0.0296315535},{"date":"2025-11-25","symbol":"NVDA","metric":"vol20","value":0.0274206873},{"date":"2025-11-26","symbol":"NVDA","metric":"vol20","value":0.0265379618},{"date":"2025-11-28","symbol":"NVDA","metric":"vol20","value":0.0264891646},{"date":"2025-12-01","symbol":"NVDA","metric":"vol20","value":0.0269718409},{"date":"2025-12-02","symbol":"NVDA","metric":"vol20","value":0.0264287816},{"date":"2025-12-03","symbol":"NVDA","metric":"vol20","value":0.025267441},{"date":"2025-12-04","symbol":"NVDA","metric":"vol20","value":0.0257142339},{"date":"2025-12-05","symbol":"NVDA","metric":"vol20","value":0.0244771571},{"date":"2025-12-08","symbol":"NVDA","metric":"vol20","value":0.0248229407},{"date":"2025-12-09","symbol":"NVDA","metric":"vol20","value":0.0206794372},{"date":"2025-12-10","symbol":"NVDA","metric":"vol20","value":0.0197671239},{"date":"2025-12-11","symbol":"NVDA","metric":"vol20","value":0.0199332858},{"date":"2025-12-12","symbol":"NVDA","metric":"vol20","value":0.0196733134},{"date":"2025-12-15","symbol":"NVDA","metric":"vol20","value":0.0192253714},{"date":"2025-12-16","symbol":"NVDA","metric":"vol20","value":0.0190479338},{"date":"2025-12-17","symbol":"NVDA","metric":"vol20","value":0.0198810408},{"date":"2025-12-18","symbol":"NVDA","metric":"vol20","value":0.0191835953},{"date":"2025-12-19","symbol":"NVDA","metric":"vol20","value":0.0202029632},{"date":"2025-12-22","symbol":"NVDA","metric":"vol20","value":0.0203104002},{"date":"2025-12-23","symbol":"NVDA","metric":"vol20","value":0.0208833126},{"date":"2025-12-24","symbol":"NVDA","metric":"vol20","value":0.0198782775},{"date":"2025-12-26","symbol":"NVDA","metric":"vol20","value":0.0197946271},{"date":"2025-12-29","symbol":"NVDA","metric":"vol20","value":0.0195037028},{"date":"2025-12-30","symbol":"NVDA","metric":"vol20","value":0.0193027478},{"date":"2025-12-31","symbol":"NVDA","metric":"vol20","value":0.019317983},{"date":"2026-01-02","symbol":"NVDA","metric":"vol20","value":0.0192569665},{"date":"2026-01-05","symbol":"NVDA","metric":"vol20","value":0.0188017258},{"date":"2026-01-06","symbol":"NVDA","metric":"vol20","value":0.0187906886},{"date":"2026-01-07","symbol":"NVDA","metric":"vol20","value":0.0185399238},{"date":"2026-01-08","symbol":"NVDA","metric":"vol20","value":0.0192057224},{"date":"2026-01-09","symbol":"NVDA","metric":"vol20","value":0.0191452611},{"date":"2026-01-12","symbol":"NVDA","metric":"vol20","value":0.0187734065},{"date":"2026-01-13","symbol":"NVDA","metric":"vol20","value":0.0169941398},{"date":"2026-01-14","symbol":"NVDA","metric":"vol20","value":0.0174010866},{"date":"2026-01-15","symbol":"NVDA","metric":"vol20","value":0.0178886832},{"date":"2026-01-16","symbol":"NVDA","metric":"vol20","value":0.0152240266},{"date":"2026-01-20","symbol":"NVDA","metric":"vol20","value":0.0182498962},{"date":"2026-01-21","symbol":"NVDA","metric":"vol20","value":0.0172753024},{"date":"2026-01-22","symbol":"NVDA","metric":"vol20","value":0.017052026},{"date":"2026-01-23","symbol":"NVDA","metric":"vol20","value":0.0159908872},{"date":"2025-07-30","symbol":"AAPL","metric":"volume","value":45512500},{"date":"2025-07-31","symbol":"AAPL","metric":"volume","value":80698400},{"date":"2025-08-01","symbol":"AAPL","metric":"volume","value":104434500},{"date":"2025-08-04","symbol":"AAPL","metric":"volume","value":75109300},{"date":"2025-08-05","symbol":"AAPL","metric":"volume","value":44155100},{"date":"2025-08-06","symbol":"AAPL","metric":"volume","value":108483100},{"date":"2025-08-07","symbol":"AAPL","metric":"volume","value":90224800},{"date":"2025-08-08","symbol":"AAPL","metric":"volume","value":113854000},{"date":"2025-08-11","symbol":"AAPL","metric":"volume","value":61806100},{"date":"2025-08-12","symbol":"AAPL","metric":"volume","value":55626200},{"date":"2025-08-13","symbol":"AAPL","metric":"volume","value":69878500},{"date":"2025-08-14","symbol":"AAPL","metric":"volume","value":51916300},{"date":"2025-08-15","symbol":"AAPL","metric":"volume","value":56038700},{"date":"2025-08-18","symbol":"AAPL","metric":"volume","value":37476200},{"date":"2025-08-19","symbol":"AAPL","metric":"volume","value":39402600},{"date":"2025-08-20","symbol":"AAPL","metric":"volume","value":42263900},{"date":"2025-08-21","symbol":"AAPL","metric":"volume","value":30621200},{"date":"2025-08-22","symbol":"AAPL","metric":"volume","value":42477800},{"date":"2025-08-25","symbol":"AAPL","metric":"volume","value":30983100},{"date":"2025-08-26","symbol":"AAPL","metric":"volume","value":54575100},{"date":"2025-08-27","symbol":"AAPL","metric":"volume","value":31259500},{"date":"2025-08-28","symbol":"AAPL","metric":"volume","value":38074700},{"date":"2025-08-29","symbol":"AAPL","metric":"volume","value":39418400},{"date":"2025-09-02","symbol":"AAPL","metric":"volume","value":44075600},{"date":"2025-09-03","symbol":"AAPL","metric":"volume","value":66427800},{"date":"2025-09-04","symbol":"AAPL","metric":"volume","value":47549400},{"date":"2025-09-05","symbol":"AAPL","metric":"volume","value":54870400},{"date":"2025-09-08","symbol":"AAPL","metric":"volume","value":48999500},{"date":"2025-09-09","symbol":"AAPL","metric":"volume","value":66313900},{"date":"2025-09-10","symbol":"AAPL","metric":"volume","value":83440800},{"date":"2025-09-11","symbol":"AAPL","metric":"volume","value":50208600},{"date":"2025-09-12","symbol":"AAPL","metric":"volume","value":55824200},{"date":"2025-09-15","symbol":"AAPL","metric":"volume","value":42699500},{"date":"2025-09-16","symbol":"AAPL","metric":"volume","value":63421100},{"date":"2025-09-17","symbol":"AAPL","metric":"volume","value":46508000},{"date":"2025-09-18","symbol":"AAPL","metric":"volume","value":44249600},{"date":"2025-09-19","symbol":"AAPL","metric":"volume","value":163741300},{"date":"2025-09-22","symbol":"AAPL","metric":"volume","value":105517400},{"date":"2025-09-23","symbol":"AAPL","metric":"volume","value":60275200},{"date":"2025-09-24","symbol":"AAPL","metric":"volume","value":42303700},{"date":"2025-09-25","symbol":"AAPL","metric":"volume","value":55202100},{"date":"2025-09-26","symbol":"AAPL","metric":"volume","value":46076300},{"date":"2025-09-29","symbol":"AAPL","metric":"volume","value":40127700},{"date":"2025-09-30","symbol":"AAPL","metric":"volume","value":37704300},{"date":"2025-10-01","symbol":"AAPL","metric":"volume","value":48713900},{"date":"2025-10-02","symbol":"AAPL","metric":"volume","value":42630200},{"date":"2025-10-03","symbol":"AAPL","metric":"volume","value":49155600},{"date":"2025-10-06","symbol":"AAPL","metric":"volume","value":44664100},{"date":"2025-10-07","symbol":"AAPL","metric":"volume","value":31955800},{"date":"2025-10-08","symbol":"AAPL","metric":"volume","value":36496900},{"date":"2025-10-09","symbol":"AAPL","metric":"volume","value":38322000},{"date":"2025-10-10","symbol":"AAPL","metric":"volume","value":61999100},{"date":"2025-10-13","symbol":"AAPL","metric":"volume","value":38142900},{"date":"2025-10-14","symbol":"AAPL","metric":"volume","value":35478000},{"date":"2025-10-15","symbol":"AAPL","metric":"volume","value":33893600},{"date":"2025-10-16","symbol":"AAPL","metric":"volume","value":39777000},{"date":"2025-10-17","symbol":"AAPL","metric":"volume","value":49147000},{"date":"2025-10-20","symbol":"AAPL","metric":"volume","value":90483000},{"date":"2025-10-21","symbol":"AAPL","metric":"volume","value":46695900},{"date":"2025-10-22","symbol":"AAPL","metric":"volume","value":45015300},{"date":"2025-10-23","symbol":"AAPL","metric":"volume","value":32754900},{"date":"2025-10-24","symbol":"AAPL","metric":"volume","value":38253700},{"date":"2025-10-27","symbol":"AAPL","metric":"volume","value":44888200},{"date":"2025-10-28","symbol":"AAPL","metric":"volume","value":41534800},{"date":"2025-10-29","symbol":"AAPL","metric":"volume","value":51086700},{"date":"2025-10-30","symbol":"AAPL","metric":"volume","value":69886500},{"date":"2025-10-31","symbol":"AAPL","metric":"volume","value":86167100},{"date":"2025-11-03","symbol":"AAPL","metric":"volume","value":50194600},{"date":"2025-11-04","symbol":"AAPL","metric":"volume","value":49274800},{"date":"2025-11-05","symbol":"AAPL","metric":"volume","value":43683100},{"date":"2025-11-06","symbol":"AAPL","metric":"volume","value":51204000},{"date":"2025-11-07","symbol":"AAPL","metric":"volume","value":48227400},{"date":"2025-11-10","symbol":"AAPL","metric":"volume","value":41312400},{"date":"2025-11-11","symbol":"AAPL","metric":"volume","value":46208300},{"date":"2025-11-12","symbol":"AAPL","metric":"volume","value":48398000},{"date":"2025-11-13","symbol":"AAPL","metric":"volume","value":49602800},{"date":"2025-11-14","symbol":"AAPL","metric":"volume","value":47431300},{"date":"2025-11-17","symbol":"AAPL","metric":"volume","value":45018300},{"date":"2025-11-18","symbol":"AAPL","metric":"volume","value":45677300},{"date":"2025-11-19","symbol":"AAPL","metric":"volume","value":40424500},{"date":"2025-11-20","symbol":"AAPL","metric":"volume","value":45823600},{"date":"2025-11-21","symbol":"AAPL","metric":"volume","value":59030800},{"date":"2025-11-24","symbol":"AAPL","metric":"volume","value":65585800},{"date":"2025-11-25","symbol":"AAPL","metric":"volume","value":46914200},{"date":"2025-11-26","symbol":"AAPL","metric":"volume","value":33431400},{"date":"2025-11-28","symbol":"AAPL","metric":"volume","value":20135600},{"date":"2025-12-01","symbol":"AAPL","metric":"volume","value":46587700},{"date":"2025-12-02","symbol":"AAPL","metric":"volume","value":53669500},{"date":"2025-12-03","symbol":"AAPL","metric":"volume","value":43538700},{"date":"2025-12-04","symbol":"AAPL","metric":"volume","value":43989100},{"date":"2025-12-05","symbol":"AAPL","metric":"volume","value":47265800},{"date":"2025-12-08","symbol":"AAPL","metric":"volume","value":38211800},{"date":"2025-12-09","symbol":"AAPL","metric":"volume","value":32193300},{"date":"2025-12-10","symbol":"AAPL","metric":"volume","value":33038300},{"date":"2025-12-11","symbol":"AAPL","metric":"volume","value":33248000},{"date":"2025-12-12","symbol":"AAPL","metric":"volume","value":39532900},{"date":"2025-12-15","symbol":"AAPL","metric":"volume","value":50409100},{"date":"2025-12-16","symbol":"AAPL","metric":"volume","value":37648600},{"date":"2025-12-17","symbol":"AAPL","metric":"volume","value":50138700},{"date":"2025-12-18","symbol":"AAPL","metric":"volume","value":51630700},{"date":"2025-12-19","symbol":"AAPL","metric":"volume","value":144632000},{"date":"2025-12-22","symbol":"AAPL","metric":"volume","value":36571800},{"date":"2025-12-23","symbol":"AAPL","metric":"volume","value":29642000},{"date":"2025-12-24","symbol":"AAPL","metric":"volume","value":17910600},{"date":"2025-12-26","symbol":"AAPL","metric":"volume","value":21521800},{"date":"2025-12-29","symbol":"AAPL","metric":"volume","value":23715200},{"date":"2025-12-30","symbol":"AAPL","metric":"volume","value":22139600},{"date":"2025-12-31","symbol":"AAPL","metric":"volume","value":27293600},{"date":"2026-01-02","symbol":"AAPL","metric":"volume","value":37838100},{"date":"2026-01-05","symbol":"AAPL","metric":"volume","value":45647200},{"date":"2026-01-06","symbol":"AAPL","metric":"volume","value":52352100},{"date":"2026-01-07","symbol":"AAPL","metric":"volume","value":48309800},{"date":"2026-01-08","symbol":"AAPL","metric":"volume","value":50419300},{"date":"2026-01-09","symbol":"AAPL","metric":"volume","value":39997000},{"date":"2026-01-12","symbol":"AAPL","metric":"volume","value":45263800},{"date":"2026-01-13","symbol":"AAPL","metric":"volume","value":45730800},{"date":"2026-01-14","symbol":"AAPL","metric":"volume","value":40019400},{"date":"2026-01-15","symbol":"AAPL","metric":"volume","value":39388600},{"date":"2026-01-16","symbol":"AAPL","metric":"volume","value":72142800},{"date":"2026-01-20","symbol":"AAPL","metric":"volume","value":80267500},{"date":"2026-01-21","symbol":"AAPL","metric":"volume","value":54641700},{"date":"2026-01-22","symbol":"AAPL","metric":"volume","value":39708300},{"date":"2026-01-23","symbol":"AAPL","metric":"volume","value":41625700},{"date":"2025-07-30","symbol":"AMZN","metric":"volume","value":32993300},{"date":"2025-07-31","symbol":"AMZN","metric":"volume","value":104357300},{"date":"2025-08-01","symbol":"AMZN","metric":"volume","value":122258800},{"date":"2025-08-04","symbol":"AMZN","metric":"volume","value":77890100},{"date":"2025-08-05","symbol":"AMZN","metric":"volume","value":51505100},{"date":"2025-08-06","symbol":"AMZN","metric":"volume","value":54823000},{"date":"2025-08-07","symbol":"AMZN","metric":"volume","value":40603500},{"date":"2025-08-08","symbol":"AMZN","metric":"volume","value":32970500},{"date":"2025-08-11","symbol":"AMZN","metric":"volume","value":31646200},{"date":"2025-08-12","symbol":"AMZN","metric":"volume","value":37185800},{"date":"2025-08-13","symbol":"AMZN","metric":"volume","value":36508300},{"date":"2025-08-14","symbol":"AMZN","metric":"volume","value":61545800},{"date":"2025-08-15","symbol":"AMZN","metric":"volume","value":39649200},{"date":"2025-08-18","symbol":"AMZN","metric":"volume","value":25248900},{"date":"2025-08-19","symbol":"AMZN","metric":"volume","value":29891000},{"date":"2025-08-20","symbol":"AMZN","metric":"volume","value":36604300},{"date":"2025-08-21","symbol":"AMZN","metric":"volume","value":32140500},{"date":"2025-08-22","symbol":"AMZN","metric":"volume","value":37315300},{"date":"2025-08-25","symbol":"AMZN","metric":"volume","value":22633700},{"date":"2025-08-26","symbol":"AMZN","metric":"volume","value":26105400},{"date":"2025-08-27","symbol":"AMZN","metric":"volume","value":21254500},{"date":"2025-08-28","symbol":"AMZN","metric":"volume","value":33679600},{"date":"2025-08-29","symbol":"AMZN","metric":"volume","value":26199200},{"date":"2025-09-02","symbol":"AMZN","metric":"volume","value":38843900},{"date":"2025-09-03","symbol":"AMZN","metric":"volume","value":29223100},{"date":"2025-09-04","symbol":"AMZN","metric":"volume","value":59391800},{"date":"2025-09-05","symbol":"AMZN","metric":"volume","value":36721800},{"date":"2025-09-08","symbol":"AMZN","metric":"volume","value":33947100},{"date":"2025-09-09","symbol":"AMZN","metric":"volume","value":27033800},{"date":"2025-09-10","symbol":"AMZN","metric":"volume","value":60907700},{"date":"2025-09-11","symbol":"AMZN","metric":"volume","value":37485600},{"date":"2025-09-12","symbol":"AMZN","metric":"volume","value":38496200},{"date":"2025-09-15","symbol":"AMZN","metric":"volume","value":33243300},{"date":"2025-09-16","symbol":"AMZN","metric":"volume","value":38203900},{"date":"2025-09-17","symbol":"AMZN","metric":"volume","value":42815200},{"date":"2025-09-18","symbol":"AMZN","metric":"volume","value":37931700},{"date":"2025-09-19","symbol":"AMZN","metric":"volume","value":97943200},{"date":"2025-09-22","symbol":"AMZN","metric":"volume","value":45914500},{"date":"2025-09-23","symbol":"AMZN","metric":"volume","value":70956200},{"date":"2025-09-24","symbol":"AMZN","metric":"volume","value":49509000},{"date":"2025-09-25","symbol":"AMZN","metric":"volume","value":52226300},{"date":"2025-09-26","symbol":"AMZN","metric":"volume","value":41650100},{"date":"2025-09-29","symbol":"AMZN","metric":"volume","value":44259200},{"date":"2025-09-30","symbol":"AMZN","metric":"volume","value":48396400},{"date":"2025-10-01","symbol":"AMZN","metric":"volume","value":43933800},{"date":"2025-10-02","symbol":"AMZN","metric":"volume","value":41258600},{"date":"2025-10-03","symbol":"AMZN","metric":"volume","value":43639000},{"date":"2025-10-06","symbol":"AMZN","metric":"volume","value":43690900},{"date":"2025-10-07","symbol":"AMZN","metric":"volume","value":31194700},{"date":"2025-10-08","symbol":"AMZN","metric":"volume","value":46686000},{"date":"2025-10-09","symbol":"AMZN","metric":"volume","value":46412100},{"date":"2025-10-10","symbol":"AMZN","metric":"volume","value":72367500},{"date":"2025-10-13","symbol":"AMZN","metric":"volume","value":37809700},{"date":"2025-10-14","symbol":"AMZN","metric":"volume","value":45665600},{"date":"2025-10-15","symbol":"AMZN","metric":"volume","value":45909500},{"date":"2025-10-16","symbol":"AMZN","metric":"volume","value":42414600},{"date":"2025-10-17","symbol":"AMZN","metric":"volume","value":45986900},{"date":"2025-10-20","symbol":"AMZN","metric":"volume","value":38882800},{"date":"2025-10-21","symbol":"AMZN","metric":"volume","value":50494600},{"date":"2025-10-22","symbol":"AMZN","metric":"volume","value":44308500},{"date":"2025-10-23","symbol":"AMZN","metric":"volume","value":31540000},{"date":"2025-10-24","symbol":"AMZN","metric":"volume","value":38685100},{"date":"2025-10-27","symbol":"AMZN","metric":"volume","value":38267000},{"date":"2025-10-28","symbol":"AMZN","metric":"volume","value":47100000},{"date":"2025-10-29","symbol":"AMZN","metric":"volume","value":52036200},{"date":"2025-10-30","symbol":"AMZN","metric":"volume","value":102252900},{"date":"2025-10-31","symbol":"AMZN","metric":"volume","value":166340800},{"date":"2025-11-03","symbol":"AMZN","metric":"volume","value":95997800},{"date":"2025-11-04","symbol":"AMZN","metric":"volume","value":51546300},{"date":"2025-11-05","symbol":"AMZN","metric":"volume","value":40610700},{"date":"2025-11-06","symbol":"AMZN","metric":"volume","value":46004200},{"date":"2025-11-07","symbol":"AMZN","metric":"volume","value":46374300},{"date":"2025-11-10","symbol":"AMZN","metric":"volume","value":36476500},{"date":"2025-11-11","symbol":"AMZN","metric":"volume","value":23564100},{"date":"2025-11-12","symbol":"AMZN","metric":"volume","value":31190100},{"date":"2025-11-13","symbol":"AMZN","metric":"volume","value":41401700},{"date":"2025-11-14","symbol":"AMZN","metric":"volume","value":38956700},{"date":"2025-11-17","symbol":"AMZN","metric":"volume","value":59919000},{"date":"2025-11-18","symbol":"AMZN","metric":"volume","value":60608400},{"date":"2025-11-19","symbol":"AMZN","metric":"volume","value":58335600},{"date":"2025-11-20","symbol":"AMZN","metric":"volume","value":50309000},{"date":"2025-11-21","symbol":"AMZN","metric":"volume","value":68490500},{"date":"2025-11-24","symbol":"AMZN","metric":"volume","value":54318400},{"date":"2025-11-25","symbol":"AMZN","metric":"volume","value":39379300},{"date":"2025-11-26","symbol":"AMZN","metric":"volume","value":38497900},{"date":"2025-11-28","symbol":"AMZN","metric":"volume","value":20292300},{"date":"2025-12-01","symbol":"AMZN","metric":"volume","value":42904000},{"date":"2025-12-02","symbol":"AMZN","metric":"volume","value":45785400},{"date":"2025-12-03","symbol":"AMZN","metric":"volume","value":35495100},{"date":"2025-12-04","symbol":"AMZN","metric":"volume","value":45683200},{"date":"2025-12-05","symbol":"AMZN","metric":"volume","value":33117400},{"date":"2025-12-08","symbol":"AMZN","metric":"volume","value":35019200},{"date":"2025-12-09","symbol":"AMZN","metric":"volume","value":25841700},{"date":"2025-12-10","symbol":"AMZN","metric":"volume","value":38790700},{"date":"2025-12-11","symbol":"AMZN","metric":"volume","value":28249600},{"date":"2025-12-12","symbol":"AMZN","metric":"volume","value":35639100},{"date":"2025-12-15","symbol":"AMZN","metric":"volume","value":47286100},{"date":"2025-12-16","symbol":"AMZN","metric":"volume","value":39298900},{"date":"2025-12-17","symbol":"AMZN","metric":"volume","value":44034400},{"date":"2025-12-18","symbol":"AMZN","metric":"volume","value":50272400},{"date":"2025-12-19","symbol":"AMZN","metric":"volume","value":85544400},{"date":"2025-12-22","symbol":"AMZN","metric":"volume","value":32261300},{"date":"2025-12-23","symbol":"AMZN","metric":"volume","value":29230200},{"date":"2025-12-24","symbol":"AMZN","metric":"volume","value":11420500},{"date":"2025-12-26","symbol":"AMZN","metric":"volume","value":15994700},{"date":"2025-12-29","symbol":"AMZN","metric":"volume","value":19797900},{"date":"2025-12-30","symbol":"AMZN","metric":"volume","value":21910500},{"date":"2025-12-31","symbol":"AMZN","metric":"volume","value":24383700},{"date":"2026-01-02","symbol":"AMZN","metric":"volume","value":51456200},{"date":"2026-01-05","symbol":"AMZN","metric":"volume","value":49733300},{"date":"2026-01-06","symbol":"AMZN","metric":"volume","value":53764700},{"date":"2026-01-07","symbol":"AMZN","metric":"volume","value":42236500},{"date":"2026-01-08","symbol":"AMZN","metric":"volume","value":39509800},{"date":"2026-01-09","symbol":"AMZN","metric":"volume","value":34560000},{"date":"2026-01-12","symbol":"AMZN","metric":"volume","value":35867800},{"date":"2026-01-13","symbol":"AMZN","metric":"volume","value":38371800},{"date":"2026-01-14","symbol":"AMZN","metric":"volume","value":41410600},{"date":"2026-01-15","symbol":"AMZN","metric":"volume","value":43003600},{"date":"2026-01-16","symbol":"AMZN","metric":"volume","value":45888300},{"date":"2026-01-20","symbol":"AMZN","metric":"volume","value":47737900},{"date":"2026-01-21","symbol":"AMZN","metric":"volume","value":47276100},{"date":"2026-01-22","symbol":"AMZN","metric":"volume","value":31913300},{"date":"2026-01-23","symbol":"AMZN","metric":"volume","value":33744100},{"date":"2025-07-30","symbol":"GOOGL","metric":"volume","value":32445400},{"date":"2025-07-31","symbol":"GOOGL","metric":"volume","value":51329200},{"date":"2025-08-01","symbol":"GOOGL","metric":"volume","value":34832200},{"date":"2025-08-04","symbol":"GOOGL","metric":"volume","value":31547400},{"date":"2025-08-05","symbol":"GOOGL","metric":"volume","value":31602300},{"date":"2025-08-06","symbol":"GOOGL","metric":"volume","value":21562900},{"date":"2025-08-07","symbol":"GOOGL","metric":"volume","value":26321800},{"date":"2025-08-08","symbol":"GOOGL","metric":"volume","value":39161800},{"date":"2025-08-11","symbol":"GOOGL","metric":"volume","value":25832400},{"date":"2025-08-12","symbol":"GOOGL","metric":"volume","value":30397900},{"date":"2025-08-13","symbol":"GOOGL","metric":"volume","value":28342900},{"date":"2025-08-14","symbol":"GOOGL","metric":"volume","value":25230400},{"date":"2025-08-15","symbol":"GOOGL","metric":"volume","value":34931400},{"date":"2025-08-18","symbol":"GOOGL","metric":"volume","value":18526600},{"date":"2025-08-19","symbol":"GOOGL","metric":"volume","value":24240200},{"date":"2025-08-20","symbol":"GOOGL","metric":"volume","value":28955500},{"date":"2025-08-21","symbol":"GOOGL","metric":"volume","value":19774600},{"date":"2025-08-22","symbol":"GOOGL","metric":"volume","value":42827000},{"date":"2025-08-25","symbol":"GOOGL","metric":"volume","value":29928900},{"date":"2025-08-26","symbol":"GOOGL","metric":"volume","value":28464100},{"date":"2025-08-27","symbol":"GOOGL","metric":"volume","value":23022900},{"date":"2025-08-28","symbol":"GOOGL","metric":"volume","value":32339300},{"date":"2025-08-29","symbol":"GOOGL","metric":"volume","value":39728400},{"date":"2025-09-02","symbol":"GOOGL","metric":"volume","value":47523000},{"date":"2025-09-03","symbol":"GOOGL","metric":"volume","value":103336100},{"date":"2025-09-04","symbol":"GOOGL","metric":"volume","value":51684200},{"date":"2025-09-05","symbol":"GOOGL","metric":"volume","value":46588900},{"date":"2025-09-08","symbol":"GOOGL","metric":"volume","value":32474700},{"date":"2025-09-09","symbol":"GOOGL","metric":"volume","value":38061000},{"date":"2025-09-10","symbol":"GOOGL","metric":"volume","value":35141100},{"date":"2025-09-11","symbol":"GOOGL","metric":"volume","value":30599300},{"date":"2025-09-12","symbol":"GOOGL","metric":"volume","value":26771600},{"date":"2025-09-15","symbol":"GOOGL","metric":"volume","value":58383800},{"date":"2025-09-16","symbol":"GOOGL","metric":"volume","value":34109700},{"date":"2025-09-17","symbol":"GOOGL","metric":"volume","value":34108000},{"date":"2025-09-18","symbol":"GOOGL","metric":"volume","value":31239500},{"date":"2025-09-19","symbol":"GOOGL","metric":"volume","value":55571400},{"date":"2025-09-22","symbol":"GOOGL","metric":"volume","value":32290500},{"date":"2025-09-23","symbol":"GOOGL","metric":"volume","value":26628000},{"date":"2025-09-24","symbol":"GOOGL","metric":"volume","value":28201000},{"date":"2025-09-25","symbol":"GOOGL","metric":"volume","value":31020400},{"date":"2025-09-26","symbol":"GOOGL","metric":"volume","value":18503200},{"date":"2025-09-29","symbol":"GOOGL","metric":"volume","value":32505800},{"date":"2025-09-30","symbol":"GOOGL","metric":"volume","value":34724300},{"date":"2025-10-01","symbol":"GOOGL","metric":"volume","value":31658200},{"date":"2025-10-02","symbol":"GOOGL","metric":"volume","value":25483300},{"date":"2025-10-03","symbol":"GOOGL","metric":"volume","value":30249600},{"date":"2025-10-06","symbol":"GOOGL","metric":"volume","value":28894700},{"date":"2025-10-07","symbol":"GOOGL","metric":"volume","value":23181300},{"date":"2025-10-08","symbol":"GOOGL","metric":"volume","value":21307100},{"date":"2025-10-09","symbol":"GOOGL","metric":"volume","value":27892100},{"date":"2025-10-10","symbol":"GOOGL","metric":"volume","value":33180300},{"date":"2025-10-13","symbol":"GOOGL","metric":"volume","value":24995000},{"date":"2025-10-14","symbol":"GOOGL","metric":"volume","value":22111600},{"date":"2025-10-15","symbol":"GOOGL","metric":"volume","value":27007700},{"date":"2025-10-16","symbol":"GOOGL","metric":"volume","value":27997200},{"date":"2025-10-17","symbol":"GOOGL","metric":"volume","value":29671600},{"date":"2025-10-20","symbol":"GOOGL","metric":"volume","value":22350200},{"date":"2025-10-21","symbol":"GOOGL","metric":"volume","value":47312100},{"date":"2025-10-22","symbol":"GOOGL","metric":"volume","value":35029400},{"date":"2025-10-23","symbol":"GOOGL","metric":"volume","value":19901400},{"date":"2025-10-24","symbol":"GOOGL","metric":"volume","value":28655100},{"date":"2025-10-27","symbol":"GOOGL","metric":"volume","value":35235200},{"date":"2025-10-28","symbol":"GOOGL","metric":"volume","value":29738600},{"date":"2025-10-29","symbol":"GOOGL","metric":"volume","value":43580300},{"date":"2025-10-30","symbol":"GOOGL","metric":"volume","value":74876000},{"date":"2025-10-31","symbol":"GOOGL","metric":"volume","value":39267900},{"date":"2025-11-03","symbol":"GOOGL","metric":"volume","value":29786000},{"date":"2025-11-04","symbol":"GOOGL","metric":"volume","value":30078400},{"date":"2025-11-05","symbol":"GOOGL","metric":"volume","value":31010300},{"date":"2025-11-06","symbol":"GOOGL","metric":"volume","value":37173600},{"date":"2025-11-07","symbol":"GOOGL","metric":"volume","value":34479600},{"date":"2025-11-10","symbol":"GOOGL","metric":"volume","value":29557300},{"date":"2025-11-11","symbol":"GOOGL","metric":"volume","value":19842100},{"date":"2025-11-12","symbol":"GOOGL","metric":"volume","value":24829900},{"date":"2025-11-13","symbol":"GOOGL","metric":"volume","value":29494000},{"date":"2025-11-14","symbol":"GOOGL","metric":"volume","value":31647200},{"date":"2025-11-17","symbol":"GOOGL","metric":"volume","value":52670200},{"date":"2025-11-18","symbol":"GOOGL","metric":"volume","value":49158700},{"date":"2025-11-19","symbol":"GOOGL","metric":"volume","value":68198900},{"date":"2025-11-20","symbol":"GOOGL","metric":"volume","value":62025200},{"date":"2025-11-21","symbol":"GOOGL","metric":"volume","value":74137700},{"date":"2025-11-24","symbol":"GOOGL","metric":"volume","value":85165100},{"date":"2025-11-25","symbol":"GOOGL","metric":"volume","value":88632100},{"date":"2025-11-26","symbol":"GOOGL","metric":"volume","value":51373400},{"date":"2025-11-28","symbol":"GOOGL","metric":"volume","value":26018600},{"date":"2025-12-01","symbol":"GOOGL","metric":"volume","value":41183000},{"date":"2025-12-02","symbol":"GOOGL","metric":"volume","value":35854700},{"date":"2025-12-03","symbol":"GOOGL","metric":"volume","value":41838300},{"date":"2025-12-04","symbol":"GOOGL","metric":"volume","value":31240900},{"date":"2025-12-05","symbol":"GOOGL","metric":"volume","value":28851700},{"date":"2025-12-08","symbol":"GOOGL","metric":"volume","value":33909400},{"date":"2025-12-09","symbol":"GOOGL","metric":"volume","value":30194000},{"date":"2025-12-10","symbol":"GOOGL","metric":"volume","value":33428900},{"date":"2025-12-11","symbol":"GOOGL","metric":"volume","value":42353700},{"date":"2025-12-12","symbol":"GOOGL","metric":"volume","value":35940200},{"date":"2025-12-15","symbol":"GOOGL","metric":"volume","value":29151900},{"date":"2025-12-16","symbol":"GOOGL","metric":"volume","value":30585000},{"date":"2025-12-17","symbol":"GOOGL","metric":"volume","value":43930400},{"date":"2025-12-18","symbol":"GOOGL","metric":"volume","value":33518000},{"date":"2025-12-19","symbol":"GOOGL","metric":"volume","value":59943200},{"date":"2025-12-22","symbol":"GOOGL","metric":"volume","value":26429900},{"date":"2025-12-23","symbol":"GOOGL","metric":"volume","value":25478700},{"date":"2025-12-24","symbol":"GOOGL","metric":"volume","value":10097400},{"date":"2025-12-26","symbol":"GOOGL","metric":"volume","value":10899000},{"date":"2025-12-29","symbol":"GOOGL","metric":"volume","value":19621800},{"date":"2025-12-30","symbol":"GOOGL","metric":"volume","value":17380900},{"date":"2025-12-31","symbol":"GOOGL","metric":"volume","value":16377700},{"date":"2026-01-02","symbol":"GOOGL","metric":"volume","value":32009400},{"date":"2026-01-05","symbol":"GOOGL","metric":"volume","value":30195600},{"date":"2026-01-06","symbol":"GOOGL","metric":"volume","value":31212100},{"date":"2026-01-07","symbol":"GOOGL","metric":"volume","value":35104400},{"date":"2026-01-08","symbol":"GOOGL","metric":"volume","value":31896100},{"date":"2026-01-09","symbol":"GOOGL","metric":"volume","value":26214200},{"date":"2026-01-12","symbol":"GOOGL","metric":"volume","value":33923900},{"date":"2026-01-13","symbol":"GOOGL","metric":"volume","value":33517600},{"date":"2026-01-14","symbol":"GOOGL","metric":"volume","value":28525600},{"date":"2026-01-15","symbol":"GOOGL","metric":"volume","value":28442400},{"date":"2026-01-16","symbol":"GOOGL","metric":"volume","value":40341600},{"date":"2026-01-20","symbol":"GOOGL","metric":"volume","value":35361000},{"date":"2026-01-21","symbol":"GOOGL","metric":"volume","value":35386600},{"date":"2026-01-22","symbol":"GOOGL","metric":"volume","value":26253600},{"date":"2026-01-23","symbol":"GOOGL","metric":"volume","value":27252600},{"date":"2025-07-30","symbol":"META","metric":"volume","value":27077300},{"date":"2025-07-31","symbol":"META","metric":"volume","value":38831100},{"date":"2025-08-01","symbol":"META","metric":"volume","value":19028700},{"date":"2025-08-04","symbol":"META","metric":"volume","value":15801700},{"date":"2025-08-05","symbol":"META","metric":"volume","value":11640300},{"date":"2025-08-06","symbol":"META","metric":"volume","value":9733900},{"date":"2025-08-07","symbol":"META","metric":"volume","value":9019700},{"date":"2025-08-08","symbol":"META","metric":"volume","value":7320800},{"date":"2025-08-11","symbol":"META","metric":"volume","value":7612000},{"date":"2025-08-12","symbol":"META","metric":"volume","value":14563100},{"date":"2025-08-13","symbol":"META","metric":"volume","value":8811800},{"date":"2025-08-14","symbol":"META","metric":"volume","value":8116200},{"date":"2025-08-15","symbol":"META","metric":"volume","value":13375400},{"date":"2025-08-18","symbol":"META","metric":"volume","value":16513700},{"date":"2025-08-19","symbol":"META","metric":"volume","value":12286700},{"date":"2025-08-20","symbol":"META","metric":"volume","value":11898200},{"date":"2025-08-21","symbol":"META","metric":"volume","value":8876300},{"date":"2025-08-22","symbol":"META","metric":"volume","value":10612700},{"date":"2025-08-25","symbol":"META","metric":"volume","value":6861200},{"date":"2025-08-26","symbol":"META","metric":"volume","value":7601800},{"date":"2025-08-27","symbol":"META","metric":"volume","value":8315400},{"date":"2025-08-28","symbol":"META","metric":"volume","value":7468000},{"date":"2025-08-29","symbol":"META","metric":"volume","value":9070500},{"date":"2025-09-02","symbol":"META","metric":"volume","value":9350900},{"date":"2025-09-03","symbol":"META","metric":"volume","value":7699300},{"date":"2025-09-04","symbol":"META","metric":"volume","value":11439100},{"date":"2025-09-05","symbol":"META","metric":"volume","value":9663400},{"date":"2025-09-08","symbol":"META","metric":"volume","value":13087800},{"date":"2025-09-09","symbol":"META","metric":"volume","value":10999000},{"date":"2025-09-10","symbol":"META","metric":"volume","value":12478300},{"date":"2025-09-11","symbol":"META","metric":"volume","value":7923300},{"date":"2025-09-12","symbol":"META","metric":"volume","value":8248600},{"date":"2025-09-15","symbol":"META","metric":"volume","value":10533800},{"date":"2025-09-16","symbol":"META","metric":"volume","value":11782500},{"date":"2025-09-17","symbol":"META","metric":"volume","value":9400900},{"date":"2025-09-18","symbol":"META","metric":"volume","value":10955000},{"date":"2025-09-19","symbol":"META","metric":"volume","value":23696800},{"date":"2025-09-22","symbol":"META","metric":"volume","value":11706900},{"date":"2025-09-23","symbol":"META","metric":"volume","value":10872600},{"date":"2025-09-24","symbol":"META","metric":"volume","value":8828200},{"date":"2025-09-25","symbol":"META","metric":"volume","value":10591100},{"date":"2025-09-26","symbol":"META","metric":"volume","value":9696300},{"date":"2025-09-29","symbol":"META","metric":"volume","value":9246800},{"date":"2025-09-30","symbol":"META","metric":"volume","value":16226800},{"date":"2025-10-01","symbol":"META","metric":"volume","value":20419600},{"date":"2025-10-02","symbol":"META","metric":"volume","value":11415300},{"date":"2025-10-03","symbol":"META","metric":"volume","value":16154300},{"date":"2025-10-06","symbol":"META","metric":"volume","value":21654700},{"date":"2025-10-07","symbol":"META","metric":"volume","value":12062900},{"date":"2025-10-08","symbol":"META","metric":"volume","value":10790600},{"date":"2025-10-09","symbol":"META","metric":"volume","value":12717200},{"date":"2025-10-10","symbol":"META","metric":"volume","value":16980100},{"date":"2025-10-13","symbol":"META","metric":"volume","value":9251800},{"date":"2025-10-14","symbol":"META","metric":"volume","value":8829800},{"date":"2025-10-15","symbol":"META","metric":"volume","value":10246800},{"date":"2025-10-16","symbol":"META","metric":"volume","value":9017000},{"date":"2025-10-17","symbol":"META","metric":"volume","value":12232400},{"date":"2025-10-20","symbol":"META","metric":"volume","value":8900200},{"date":"2025-10-21","symbol":"META","metric":"volume","value":7647300},{"date":"2025-10-22","symbol":"META","metric":"volume","value":8734500},{"date":"2025-10-23","symbol":"META","metric":"volume","value":9856000},{"date":"2025-10-24","symbol":"META","metric":"volume","value":9151300},{"date":"2025-10-27","symbol":"META","metric":"volume","value":11321100},{"date":"2025-10-28","symbol":"META","metric":"volume","value":12193800},{"date":"2025-10-29","symbol":"META","metric":"volume","value":26818600},{"date":"2025-10-30","symbol":"META","metric":"volume","value":88440100},{"date":"2025-10-31","symbol":"META","metric":"volume","value":56953200},{"date":"2025-11-03","symbol":"META","metric":"volume","value":33003600},{"date":"2025-11-04","symbol":"META","metric":"volume","value":27356600},{"date":"2025-11-05","symbol":"META","metric":"volume","value":20219900},{"date":"2025-11-06","symbol":"META","metric":"volume","value":23628800},{"date":"2025-11-07","symbol":"META","metric":"volume","value":29946800},{"date":"2025-11-10","symbol":"META","metric":"volume","value":19245000},{"date":"2025-11-11","symbol":"META","metric":"volume","value":13302200},{"date":"2025-11-12","symbol":"META","metric":"volume","value":24493300},{"date":"2025-11-13","symbol":"META","metric":"volume","value":20973800},{"date":"2025-11-14","symbol":"META","metric":"volume","value":20724100},{"date":"2025-11-17","symbol":"META","metric":"volume","value":16501300},{"date":"2025-11-18","symbol":"META","metric":"volume","value":25500600},{"date":"2025-11-19","symbol":"META","metric":"volume","value":24744700},{"date":"2025-11-20","symbol":"META","metric":"volume","value":20603000},{"date":"2025-11-21","symbol":"META","metric":"volume","value":21052600},{"date":"2025-11-24","symbol":"META","metric":"volume","value":23554900},{"date":"2025-11-25","symbol":"META","metric":"volume","value":25213000},{"date":"2025-11-26","symbol":"META","metric":"volume","value":15209500},{"date":"2025-11-28","symbol":"META","metric":"volume","value":11033200},{"date":"2025-12-01","symbol":"META","metric":"volume","value":13029900},{"date":"2025-12-02","symbol":"META","metric":"volume","value":11640900},{"date":"2025-12-03","symbol":"META","metric":"volume","value":11134300},{"date":"2025-12-04","symbol":"META","metric":"volume","value":29874600},{"date":"2025-12-05","symbol":"META","metric":"volume","value":21207900},{"date":"2025-12-08","symbol":"META","metric":"volume","value":13161000},{"date":"2025-12-09","symbol":"META","metric":"volume","value":12997100},{"date":"2025-12-10","symbol":"META","metric":"volume","value":16910900},{"date":"2025-12-11","symbol":"META","metric":"volume","value":13056700},{"date":"2025-12-12","symbol":"META","metric":"volume","value":14016900},{"date":"2025-12-15","symbol":"META","metric":"volume","value":15549100},{"date":"2025-12-16","symbol":"META","metric":"volume","value":14309100},{"date":"2025-12-17","symbol":"META","metric":"volume","value":15598500},{"date":"2025-12-18","symbol":"META","metric":"volume","value":20260300},{"date":"2025-12-19","symbol":"META","metric":"volume","value":49977100},{"date":"2025-12-22","symbol":"META","metric":"volume","value":15659400},{"date":"2025-12-23","symbol":"META","metric":"volume","value":8486800},{"date":"2025-12-24","symbol":"META","metric":"volume","value":5627500},{"date":"2025-12-26","symbol":"META","metric":"volume","value":7133800},{"date":"2025-12-29","symbol":"META","metric":"volume","value":8506500},{"date":"2025-12-30","symbol":"META","metric":"volume","value":9187500},{"date":"2025-12-31","symbol":"META","metric":"volume","value":7940400},{"date":"2026-01-02","symbol":"META","metric":"volume","value":13726500},{"date":"2026-01-05","symbol":"META","metric":"volume","value":12213700},{"date":"2026-01-06","symbol":"META","metric":"volume","value":11074400},{"date":"2026-01-07","symbol":"META","metric":"volume","value":12846300},{"date":"2026-01-08","symbol":"META","metric":"volume","value":11921700},{"date":"2026-01-09","symbol":"META","metric":"volume","value":11634900},{"date":"2026-01-12","symbol":"META","metric":"volume","value":14797200},{"date":"2026-01-13","symbol":"META","metric":"volume","value":18030400},{"date":"2026-01-14","symbol":"META","metric":"volume","value":15527900},{"date":"2026-01-15","symbol":"META","metric":"volume","value":13076100},{"date":"2026-01-16","symbol":"META","metric":"volume","value":17012500},{"date":"2026-01-20","symbol":"META","metric":"volume","value":15169600},{"date":"2026-01-21","symbol":"META","metric":"volume","value":14494700},{"date":"2026-01-22","symbol":"META","metric":"volume","value":21394700},{"date":"2026-01-23","symbol":"META","metric":"volume","value":22773600},{"date":"2025-07-30","symbol":"MSFT","metric":"volume","value":26380400},{"date":"2025-07-31","symbol":"MSFT","metric":"volume","value":51617300},{"date":"2025-08-01","symbol":"MSFT","metric":"volume","value":28977600},{"date":"2025-08-04","symbol":"MSFT","metric":"volume","value":25349000},{"date":"2025-08-05","symbol":"MSFT","metric":"volume","value":19171600},{"date":"2025-08-06","symbol":"MSFT","metric":"volume","value":21355700},{"date":"2025-08-07","symbol":"MSFT","metric":"volume","value":16079100},{"date":"2025-08-08","symbol":"MSFT","metric":"volume","value":15531000},{"date":"2025-08-11","symbol":"MSFT","metric":"volume","value":20194400},{"date":"2025-08-12","symbol":"MSFT","metric":"volume","value":18667000},{"date":"2025-08-13","symbol":"MSFT","metric":"volume","value":19619200},{"date":"2025-08-14","symbol":"MSFT","metric":"volume","value":20269100},{"date":"2025-08-15","symbol":"MSFT","metric":"volume","value":25213300},{"date":"2025-08-18","symbol":"MSFT","metric":"volume","value":23760600},{"date":"2025-08-19","symbol":"MSFT","metric":"volume","value":21481000},{"date":"2025-08-20","symbol":"MSFT","metric":"volume","value":27723000},{"date":"2025-08-21","symbol":"MSFT","metric":"volume","value":18443300},{"date":"2025-08-22","symbol":"MSFT","metric":"volume","value":24324200},{"date":"2025-08-25","symbol":"MSFT","metric":"volume","value":21638600},{"date":"2025-08-26","symbol":"MSFT","metric":"volume","value":30835700},{"date":"2025-08-27","symbol":"MSFT","metric":"volume","value":17277900},{"date":"2025-08-28","symbol":"MSFT","metric":"volume","value":18015600},{"date":"2025-08-29","symbol":"MSFT","metric":"volume","value":20961600},{"date":"2025-09-02","symbol":"MSFT","metric":"volume","value":18128000},{"date":"2025-09-03","symbol":"MSFT","metric":"volume","value":16345100},{"date":"2025-09-04","symbol":"MSFT","metric":"volume","value":15509500},{"date":"2025-09-05","symbol":"MSFT","metric":"volume","value":31994800},{"date":"2025-09-08","symbol":"MSFT","metric":"volume","value":16771000},{"date":"2025-09-09","symbol":"MSFT","metric":"volume","value":14410500},{"date":"2025-09-10","symbol":"MSFT","metric":"volume","value":21611800},{"date":"2025-09-11","symbol":"MSFT","metric":"volume","value":18881600},{"date":"2025-09-12","symbol":"MSFT","metric":"volume","value":23624900},{"date":"2025-09-15","symbol":"MSFT","metric":"volume","value":17143800},{"date":"2025-09-16","symbol":"MSFT","metric":"volume","value":19711900},{"date":"2025-09-17","symbol":"MSFT","metric":"volume","value":15816600},{"date":"2025-09-18","symbol":"MSFT","metric":"volume","value":18913700},{"date":"2025-09-19","symbol":"MSFT","metric":"volume","value":52474100},{"date":"2025-09-22","symbol":"MSFT","metric":"volume","value":20009300},{"date":"2025-09-23","symbol":"MSFT","metric":"volume","value":19799600},{"date":"2025-09-24","symbol":"MSFT","metric":"volume","value":13533700},{"date":"2025-09-25","symbol":"MSFT","metric":"volume","value":15786500},{"date":"2025-09-26","symbol":"MSFT","metric":"volume","value":16213100},{"date":"2025-09-29","symbol":"MSFT","metric":"volume","value":17617800},{"date":"2025-09-30","symbol":"MSFT","metric":"volume","value":19728200},{"date":"2025-10-01","symbol":"MSFT","metric":"volume","value":22632300},{"date":"2025-10-02","symbol":"MSFT","metric":"volume","value":21222900},{"date":"2025-10-03","symbol":"MSFT","metric":"volume","value":15112300},{"date":"2025-10-06","symbol":"MSFT","metric":"volume","value":21388600},{"date":"2025-10-07","symbol":"MSFT","metric":"volume","value":14615200},{"date":"2025-10-08","symbol":"MSFT","metric":"volume","value":13363400},{"date":"2025-10-09","symbol":"MSFT","metric":"volume","value":18343600},{"date":"2025-10-10","symbol":"MSFT","metric":"volume","value":24133800},{"date":"2025-10-13","symbol":"MSFT","metric":"volume","value":14284200},{"date":"2025-10-14","symbol":"MSFT","metric":"volume","value":14684300},{"date":"2025-10-15","symbol":"MSFT","metric":"volume","value":14694700},{"date":"2025-10-16","symbol":"MSFT","metric":"volume","value":15559600},{"date":"2025-10-17","symbol":"MSFT","metric":"volume","value":19867800},{"date":"2025-10-20","symbol":"MSFT","metric":"volume","value":14665600},{"date":"2025-10-21","symbol":"MSFT","metric":"volume","value":15586200},{"date":"2025-10-22","symbol":"MSFT","metric":"volume","value":18962700},{"date":"2025-10-23","symbol":"MSFT","metric":"volume","value":14023500},{"date":"2025-10-24","symbol":"MSFT","metric":"volume","value":15532400},{"date":"2025-10-27","symbol":"MSFT","metric":"volume","value":18734700},{"date":"2025-10-28","symbol":"MSFT","metric":"volume","value":29986700},{"date":"2025-10-29","symbol":"MSFT","metric":"volume","value":36023000},{"date":"2025-10-30","symbol":"MSFT","metric":"volume","value":41023100},{"date":"2025-10-31","symbol":"MSFT","metric":"volume","value":34006400},{"date":"2025-11-03","symbol":"MSFT","metric":"volume","value":22374700},{"date":"2025-11-04","symbol":"MSFT","metric":"volume","value":20958700},{"date":"2025-11-05","symbol":"MSFT","metric":"volume","value":23024300},{"date":"2025-11-06","symbol":"MSFT","metric":"volume","value":27406500},{"date":"2025-11-07","symbol":"MSFT","metric":"volume","value":24019800},{"date":"2025-11-10","symbol":"MSFT","metric":"volume","value":26101500},{"date":"2025-11-11","symbol":"MSFT","metric":"volume","value":17980000},{"date":"2025-11-12","symbol":"MSFT","metric":"volume","value":26574900},{"date":"2025-11-13","symbol":"MSFT","metric":"volume","value":25273100},{"date":"2025-11-14","symbol":"MSFT","metric":"volume","value":28505700},{"date":"2025-11-17","symbol":"MSFT","metric":"volume","value":19092800},{"date":"2025-11-18","symbol":"MSFT","metric":"volume","value":33815100},{"date":"2025-11-19","symbol":"MSFT","metric":"volume","value":23245300},{"date":"2025-11-20","symbol":"MSFT","metric":"volume","value":26802500},{"date":"2025-11-21","symbol":"MSFT","metric":"volume","value":31769200},{"date":"2025-11-24","symbol":"MSFT","metric":"volume","value":34421000},{"date":"2025-11-25","symbol":"MSFT","metric":"volume","value":28019800},{"date":"2025-11-26","symbol":"MSFT","metric":"volume","value":25709100},{"date":"2025-11-28","symbol":"MSFT","metric":"volume","value":14386700},{"date":"2025-12-01","symbol":"MSFT","metric":"volume","value":23964000},{"date":"2025-12-02","symbol":"MSFT","metric":"volume","value":19562700},{"date":"2025-12-03","symbol":"MSFT","metric":"volume","value":34615100},{"date":"2025-12-04","symbol":"MSFT","metric":"volume","value":22318200},{"date":"2025-12-05","symbol":"MSFT","metric":"volume","value":22608700},{"date":"2025-12-08","symbol":"MSFT","metric":"volume","value":21965900},{"date":"2025-12-09","symbol":"MSFT","metric":"volume","value":14696100},{"date":"2025-12-10","symbol":"MSFT","metric":"volume","value":35756200},{"date":"2025-12-11","symbol":"MSFT","metric":"volume","value":24669200},{"date":"2025-12-12","symbol":"MSFT","metric":"volume","value":21248100},{"date":"2025-12-15","symbol":"MSFT","metric":"volume","value":23727700},{"date":"2025-12-16","symbol":"MSFT","metric":"volume","value":20705600},{"date":"2025-12-17","symbol":"MSFT","metric":"volume","value":24527200},{"date":"2025-12-18","symbol":"MSFT","metric":"volume","value":28573500},{"date":"2025-12-19","symbol":"MSFT","metric":"volume","value":70836100},{"date":"2025-12-22","symbol":"MSFT","metric":"volume","value":16963000},{"date":"2025-12-23","symbol":"MSFT","metric":"volume","value":14683600},{"date":"2025-12-24","symbol":"MSFT","metric":"volume","value":5855900},{"date":"2025-12-26","symbol":"MSFT","metric":"volume","value":8842200},{"date":"2025-12-29","symbol":"MSFT","metric":"volume","value":10893400},{"date":"2025-12-30","symbol":"MSFT","metric":"volume","value":13944500},{"date":"2025-12-31","symbol":"MSFT","metric":"volume","value":15601600},{"date":"2026-01-02","symbol":"MSFT","metric":"volume","value":25571600},{"date":"2026-01-05","symbol":"MSFT","metric":"volume","value":25250300},{"date":"2026-01-06","symbol":"MSFT","metric":"volume","value":23037700},{"date":"2026-01-07","symbol":"MSFT","metric":"volume","value":25564200},{"date":"2026-01-08","symbol":"MSFT","metric":"volume","value":18162600},{"date":"2026-01-09","symbol":"MSFT","metric":"volume","value":18491000},{"date":"2026-01-12","symbol":"MSFT","metric":"volume","value":23519900},{"date":"2026-01-13","symbol":"MSFT","metric":"volume","value":28545800},{"date":"2026-01-14","symbol":"MSFT","metric":"volume","value":28184300},{"date":"2026-01-15","symbol":"MSFT","metric":"volume","value":23225800},{"date":"2026-01-16","symbol":"MSFT","metric":"volume","value":34246700},{"date":"2026-01-20","symbol":"MSFT","metric":"volume","value":26130000},{"date":"2026-01-21","symbol":"MSFT","metric":"volume","value":37980500},{"date":"2026-01-22","symbol":"MSFT","metric":"volume","value":25349400},{"date":"2026-01-23","symbol":"MSFT","metric":"volume","value":37962400},{"date":"2025-07-30","symbol":"NVDA","metric":"volume","value":174312200},{"date":"2025-07-31","symbol":"NVDA","metric":"volume","value":221685400},{"date":"2025-08-01","symbol":"NVDA","metric":"volume","value":204529000},{"date":"2025-08-04","symbol":"NVDA","metric":"volume","value":148174600},{"date":"2025-08-05","symbol":"NVDA","metric":"volume","value":156407600},{"date":"2025-08-06","symbol":"NVDA","metric":"volume","value":137192300},{"date":"2025-08-07","symbol":"NVDA","metric":"volume","value":151878400},{"date":"2025-08-08","symbol":"NVDA","metric":"volume","value":123396700},{"date":"2025-08-11","symbol":"NVDA","metric":"volume","value":138323200},{"date":"2025-08-12","symbol":"NVDA","metric":"volume","value":145485700},{"date":"2025-08-13","symbol":"NVDA","metric":"volume","value":179871700},{"date":"2025-08-14","symbol":"NVDA","metric":"volume","value":129554000},{"date":"2025-08-15","symbol":"NVDA","metric":"volume","value":156602200},{"date":"2025-08-18","symbol":"NVDA","metric":"volume","value":132008000},{"date":"2025-08-19","symbol":"NVDA","metric":"volume","value":185229200},{"date":"2025-08-20","symbol":"NVDA","metric":"volume","value":215142700},{"date":"2025-08-21","symbol":"NVDA","metric":"volume","value":140040900},{"date":"2025-08-22","symbol":"NVDA","metric":"volume","value":172789400},{"date":"2025-08-25","symbol":"NVDA","metric":"volume","value":163012800},{"date":"2025-08-26","symbol":"NVDA","metric":"volume","value":168688200},{"date":"2025-08-27","symbol":"NVDA","metric":"volume","value":235518900},{"date":"2025-08-28","symbol":"NVDA","metric":"volume","value":281787800},{"date":"2025-08-29","symbol":"NVDA","metric":"volume","value":243257900},{"date":"2025-09-02","symbol":"NVDA","metric":"volume","value":231164900},{"date":"2025-09-03","symbol":"NVDA","metric":"volume","value":164424900},{"date":"2025-09-04","symbol":"NVDA","metric":"volume","value":141670100},{"date":"2025-09-05","symbol":"NVDA","metric":"volume","value":224441400},{"date":"2025-09-08","symbol":"NVDA","metric":"volume","value":163769100},{"date":"2025-09-09","symbol":"NVDA","metric":"volume","value":157548400},{"date":"2025-09-10","symbol":"NVDA","metric":"volume","value":226852000},{"date":"2025-09-11","symbol":"NVDA","metric":"volume","value":151159300},{"date":"2025-09-12","symbol":"NVDA","metric":"volume","value":124911000},{"date":"2025-09-15","symbol":"NVDA","metric":"volume","value":147061600},{"date":"2025-09-16","symbol":"NVDA","metric":"volume","value":140737800},{"date":"2025-09-17","symbol":"NVDA","metric":"volume","value":211843800},{"date":"2025-09-18","symbol":"NVDA","metric":"volume","value":191763300},{"date":"2025-09-19","symbol":"NVDA","metric":"volume","value":237182100},{"date":"2025-09-22","symbol":"NVDA","metric":"volume","value":269637000},{"date":"2025-09-23","symbol":"NVDA","metric":"volume","value":192559600},{"date":"2025-09-24","symbol":"NVDA","metric":"volume","value":143564100},{"date":"2025-09-25","symbol":"NVDA","metric":"volume","value":191586700},{"date":"2025-09-26","symbol":"NVDA","metric":"volume","value":148573700},{"date":"2025-09-29","symbol":"NVDA","metric":"volume","value":193063500},{"date":"2025-09-30","symbol":"NVDA","metric":"volume","value":236981000},{"date":"2025-10-01","symbol":"NVDA","metric":"volume","value":173844900},{"date":"2025-10-02","symbol":"NVDA","metric":"volume","value":136805800},{"date":"2025-10-03","symbol":"NVDA","metric":"volume","value":137596900},{"date":"2025-10-06","symbol":"NVDA","metric":"volume","value":157678100},{"date":"2025-10-07","symbol":"NVDA","metric":"volume","value":140088000},{"date":"2025-10-08","symbol":"NVDA","metric":"volume","value":130168900},{"date":"2025-10-09","symbol":"NVDA","metric":"volume","value":182997200},{"date":"2025-10-10","symbol":"NVDA","metric":"volume","value":268774400},{"date":"2025-10-13","symbol":"NVDA","metric":"volume","value":153482800},{"date":"2025-10-14","symbol":"NVDA","metric":"volume","value":205641400},{"date":"2025-10-15","symbol":"NVDA","metric":"volume","value":214450500},{"date":"2025-10-16","symbol":"NVDA","metric":"volume","value":179723300},{"date":"2025-10-17","symbol":"NVDA","metric":"volume","value":173135200},{"date":"2025-10-20","symbol":"NVDA","metric":"volume","value":128544700},{"date":"2025-10-21","symbol":"NVDA","metric":"volume","value":124240200},{"date":"2025-10-22","symbol":"NVDA","metric":"volume","value":162249600},{"date":"2025-10-23","symbol":"NVDA","metric":"volume","value":111363700},{"date":"2025-10-24","symbol":"NVDA","metric":"volume","value":131296700},{"date":"2025-10-27","symbol":"NVDA","metric":"volume","value":153452700},{"date":"2025-10-28","symbol":"NVDA","metric":"volume","value":297986200},{"date":"2025-10-29","symbol":"NVDA","metric":"volume","value":308829600},{"date":"2025-10-30","symbol":"NVDA","metric":"volume","value":178864400},{"date":"2025-10-31","symbol":"NVDA","metric":"volume","value":179802200},{"date":"2025-11-03","symbol":"NVDA","metric":"volume","value":180267300},{"date":"2025-11-04","symbol":"NVDA","metric":"volume","value":188919300},{"date":"2025-11-05","symbol":"NVDA","metric":"volume","value":171350300},{"date":"2025-11-06","symbol":"NVDA","metric":"volume","value":223029800},{"date":"2025-11-07","symbol":"NVDA","metric":"volume","value":264942300},{"date":"2025-11-10","symbol":"NVDA","metric":"volume","value":198897100},{"date":"2025-11-11","symbol":"NVDA","metric":"volume","value":176483300},{"date":"2025-11-12","symbol":"NVDA","metric":"volume","value":154935300},{"date":"2025-11-13","symbol":"NVDA","metric":"volume","value":207423100},{"date":"2025-11-14","symbol":"NVDA","metric":"volume","value":186591900},{"date":"2025-11-17","symbol":"NVDA","metric":"volume","value":173628900},{"date":"2025-11-18","symbol":"NVDA","metric":"volume","value":213598900},{"date":"2025-11-19","symbol":"NVDA","metric":"volume","value":247246400},{"date":"2025-11-20","symbol":"NVDA","metric":"volume","value":343504800},{"date":"2025-11-21","symbol":"NVDA","metric":"volume","value":346926200},{"date":"2025-11-24","symbol":"NVDA","metric":"volume","value":256618300},{"date":"2025-11-25","symbol":"NVDA","metric":"volume","value":320600300},{"date":"2025-11-26","symbol":"NVDA","metric":"volume","value":183852000},{"date":"2025-11-28","symbol":"NVDA","metric":"volume","value":121332800},{"date":"2025-12-01","symbol":"NVDA","metric":"volume","value":188131000},{"date":"2025-12-02","symbol":"NVDA","metric":"volume","value":182632200},{"date":"2025-12-03","symbol":"NVDA","metric":"volume","value":165138000},{"date":"2025-12-04","symbol":"NVDA","metric":"volume","value":167364900},{"date":"2025-12-05","symbol":"NVDA","metric":"volume","value":143971100},{"date":"2025-12-08","symbol":"NVDA","metric":"volume","value":204378100},{"date":"2025-12-09","symbol":"NVDA","metric":"volume","value":144719700},{"date":"2025-12-10","symbol":"NVDA","metric":"volume","value":162785400},{"date":"2025-12-11","symbol":"NVDA","metric":"volume","value":182136600},{"date":"2025-12-12","symbol":"NVDA","metric":"volume","value":204274900},{"date":"2025-12-15","symbol":"NVDA","metric":"volume","value":164775600},{"date":"2025-12-16","symbol":"NVDA","metric":"volume","value":148588100},{"date":"2025-12-17","symbol":"NVDA","metric":"volume","value":222775500},{"date":"2025-12-18","symbol":"NVDA","metric":"volume","value":176096000},{"date":"2025-12-19","symbol":"NVDA","metric":"volume","value":324925900},{"date":"2025-12-22","symbol":"NVDA","metric":"volume","value":129064400},{"date":"2025-12-23","symbol":"NVDA","metric":"volume","value":174873600},{"date":"2025-12-24","symbol":"NVDA","metric":"volume","value":65528500},{"date":"2025-12-26","symbol":"NVDA","metric":"volume","value":139740300},{"date":"2025-12-29","symbol":"NVDA","metric":"volume","value":120006100},{"date":"2025-12-30","symbol":"NVDA","metric":"volume","value":97687300},{"date":"2025-12-31","symbol":"NVDA","metric":"volume","value":120100500},{"date":"2026-01-02","symbol":"NVDA","metric":"volume","value":148240500},{"date":"2026-01-05","symbol":"NVDA","metric":"volume","value":183529700},{"date":"2026-01-06","symbol":"NVDA","metric":"volume","value":176862600},{"date":"2026-01-07","symbol":"NVDA","metric":"volume","value":153543200},{"date":"2026-01-08","symbol":"NVDA","metric":"volume","value":172457000},{"date":"2026-01-09","symbol":"NVDA","metric":"volume","value":131327500},{"date":"2026-01-12","symbol":"NVDA","metric":"volume","value":137968500},{"date":"2026-01-13","symbol":"NVDA","metric":"volume","value":160128900},{"date":"2026-01-14","symbol":"NVDA","metric":"volume","value":159586100},{"date":"2026-01-15","symbol":"NVDA","metric":"volume","value":206188600},{"date":"2026-01-16","symbol":"NVDA","metric":"volume","value":187967200},{"date":"2026-01-20","symbol":"NVDA","metric":"volume","value":223345300},{"date":"2026-01-21","symbol":"NVDA","metric":"volume","value":200381000},{"date":"2026-01-22","symbol":"NVDA","metric":"volume","value":139636600},{"date":"2026-01-23","symbol":"NVDA","metric":"volume","value":142524700}],"metadata":{"date":{"type":"date","semanticType":"Date"},"symbol":{"type":"string","semanticType":"String"},"metric":{"type":"string","semanticType":"String"},"value":{"type":"number","semanticType":"Number"}},"derive":{"code":"\nimport pandas as pd\nimport collections\nimport numpy as np\n\ndef transform_data(df_history: pd.DataFrame) -> pd.DataFrame:\n # Keep only necessary columns\n cols = [c for c in [\"date\", \"symbol\", \"close\", \"volume\"] if c in df_history.columns]\n df = df_history[cols].copy()\n\n # Normalize date to string YYYY-MM-DD\n df[\"date\"] = pd.to_datetime(df[\"date\"]).dt.strftime(\"%Y-%m-%d\")\n\n # Sort for time-series operations\n df = df.sort_values([\"symbol\", \"date\"]).reset_index(drop=True)\n\n # Compute daily returns as pct_change of close within each symbol\n df[\"return\"] = df.groupby(\"symbol\")[\"close\"].pct_change()\n\n # Compute 20-day rolling volatility (std of returns) within each symbol\n df[\"vol20\"] = (\n df.groupby(\"symbol\")[\"return\"]\n .transform(lambda s: s.rolling(window=20, min_periods=1).std())\n )\n\n # Reshape to long format: metrics = return, vol20, volume\n df_long = df.melt(\n id_vars=[\"date\", \"symbol\"],\n value_vars=[\"return\", \"vol20\", \"volume\"],\n var_name=\"metric\",\n value_name=\"value\",\n )\n\n # Final tidy output\n transformed_df = df_long[[\"date\", \"symbol\", \"metric\", \"value\"]].reset_index(drop=True)\n return transformed_df\n","source":["history"],"dialog":[{"role":"system","content":"You are a data scientist to help user to recommend data that will be used for visualization.\nThe user will provide you information about what visualization they would like to create, and your job is to recommend a transformed data that can be used to create the visualization and write a python function to transform the data.\nThe recommendation and transformation function should be based on the [CONTEXT] and [GOAL] provided by the user. \nThe [CONTEXT] shows what the current dataset is, and the [GOAL] describes what the user wants the data for.\n\n**Important:**\n- NEVER make assumptions or judgments about a person's gender, biological sex, sexuality, religion, race, nationality, ethnicity, political stance, socioeconomic status, mental health, invisible disabilities, medical conditions, personality type, social impressions, emotional state, and cognitive state.\n- NEVER create formulas that could be used to discriminate based on age. Ageism of any form (explicit and implicit) is strictly prohibited.\n- If above issue occurs, generate columns with np.nan.\n\nConcretely, you should infer the appropriate data and create in the output section a python function based off the [CONTEXT] and [GOAL] in two steps:\n\n1. First, based on users' [GOAL]. Create a json object that represents the inferred user intent. The json object should have the following format:\n\n{\n \"mode\": \"\" // string, one of \"infer\", \"overview\", \"distribution\", \"summary\", \"forecast\"\n \"recap\": \"...\" // string, a short summary of the user's goal.\n \"display_instruction\": \"...\" // string, the even shorter verb phrase describing the users' goal.\n \"recommendation\": \"...\" // string, explain why this recommendation is made\n \"input_tables\": [...] // string[], describe names of the input tables that will be used in the transformation.\n \"output_fields\": [...] // string[], describe the desired output fields that the output data should have (i.e., the goal of transformed data), it's a good idea to preseve intermediate fields here\n \"chart_type\": \"\" // string, one of \"point\", \"bar\", \"line\", \"area\", \"heatmap\", \"group_bar\", 'boxplot'. \"chart_type\" should either be inferred from user instruction, or recommend if the user didn't specify any.\n \"chart_encodings\": {\n \"x\": \"\",\n \"y\": \"\",\n \"color\": \"\",\n \"size\": \"\",\n \"opacity\": \"\",\n \"facet\": \"\",\n } // object: map visualization channels (x, y, color, size, opacity, facet, etc.) to a subset of output fields, appropriate visual channels for different chart types are defined below.\n}\n\nConcretely:\n - recap what the user's goal is in a short summary in \"recap\".\n - If the user's [GOAL] is clear already, simply infer what the user mean. Set \"mode\" as \"infer\" and create \"output_fields\" and \"chart_encodings\" based off user description.\n - If the user's [GOAL] is not clear, make recommendations to the user:\n - choose one of \"distribution\", \"overview\", \"summary\", \"forecast\" in \"mode\":\n * if it is \"overview\" and the data is in wide format, reshape it into long format.\n * if it is \"distribution\", select a few fields that would be interesting to visualize together.\n * if it is \"summary\", calculate some aggregated statistics to show intresting facts of the data.\n * if it is \"forecast\", concretize the x,y fields that will be used for forecasting and decide if it is about regression or forecasting.\n - describe the recommendation reason in \"recommendation\"\n - based on the recommendation, determine what is an ideal output data. Note, the output data must be in tidy format.\n - then suggest recommendations of chart encoding that should be used to create the visualization.\n - \"display_instruction\" should be a short verb phrase describing the users' goal, it should be even shorter than \"recap\". \n - it would be a short verbal description of user intent as a verb phrase (<12 words).\n - generate based on \"recap\" and the suggested visualization, but don't need to mention the visualization details.\n - should capture key computation ideas: by reading the display, the user can understand the purpose and what's derived from the data.\n - if the user instruction builds up the previous instruction, the 'display_instruction' should only describe how it builds up the previous instruction without repeating information from previous steps.\n - the phrase can be presented in different styles, e.g., question (what's xxx), instruction (show xxx), description, etc.\n - if you mention column names from the input or the output data, highlight the text in **bold**.\n * the column can either be a column in the input data, or a new column that will be computed in the output data.\n * the mention don't have to be exact match, it can be semantically matching, e.g., if you mentioned \"average score\" in the text while the column to be computed is \"Avg_Score\", you should still highlight \"**average score**\" in the text.\n - determine \"input_tables\", the names of a subset of input tables from [CONTEXT] section that will be used to achieve the user's goal.\n - **IMPORTANT** Note that the Table 1 in [CONTEXT] section is the table the user is currently viewing, it should take precedence if the user refers to insights about the \"current table\".\n - At the same time, leverage table information to determine which tables are relevant to the user's goal and should be used.\n - \"chart_type\" must be one of \"point\", \"bar\", \"line\", \"area\", \"heatmap\", \"group_bar\", \"boxplot\"\n - \"chart_encodings\" should specify which fields should be used to create the visualization\n - decide which visual channels should be used to create the visualization appropriate for the chart type.\n - point: x, y, color, size, facet\n - histogram: x, color, facet\n - bar: x, y, color, facet\n - line: x, y, color, facet\n - area: x, y, color, facet\n - heatmap: x, y, color, facet\n - group_bar: x, y, color, facet\n - boxplot: x, y, color, facet\n - note that all fields used in \"chart_encodings\" should be included in \"output_fields\".\n - all fields you need for visualizations should be transformed into the output fields!\n - \"output_fields\" should include important intermediate fields that are not used in visualization but are used for data transformation.\n - typically only 2-3 fields should be used to create the visualization (x, y, color/size), facet use be added if it's a faceted visualization (totally 4 fields used).\n - Guidelines for choosing chart type and visualization fields:\n - Consider chart types as follows:\n - (point) Scatter Plots: x,y: Quantitative/Categorical, color: Categorical (optional), size: Quantitative (optional for creating bubble chart), \n - best for: Relationships, correlations, distributions, forecasting, regression analysis\n - scatter plots are good default way to visualize data when other chart types are not applicable.\n - use color to visualize points from different categories.\n - use size to visualize data points with an additional quantitative dimension of the data points.\n - (histogram) Histograms: x: Quantitative/Categorical, color: Categorical (optional for creating grouped histogram), \n - best for: Distribution of a quantitative field\n - use x values directly if x values are categorical, and transform the data into bins if the field values are quantitative.\n - when color is specified, the histogram will be grouped automatically (items with the same x values will be grouped).\n - (bar) Bar Charts: x: Categorical (nominal/ordinal), y: Quantitative, color: Categorical/Quantitative (for stacked bar chart / showing additional quantitative dimension), \n - best for: Comparisons across categories\n - use (bar) for simple bar chart or stacked bar chart (when it makes sense to add up Y values for each category with the same X value), \n - when color is specified, the bar will be stacked automatically (items with the same x values will be stacked).\n - note that when there are multiple rows in the data with same x values, the bar will be stacked automatically.\n - 1. consider to use an aggregated field for y values if the value is not suitable for stacking.\n - 2. consider to introduce facets so that each group is visualized in a separate bar.\n - (group_bar) for grouped bar chart, x: Categorical (nominal/ordinal), y: Quantitative, color: Categorical\n - when color is specifed, bars from different groups will be grouped automatically.\n - only use facet if the cardinality of color field is small (less than 5).\n - (line) Line Charts: x: Temporal (preferred) or ordinal, y: Quantitative, color: Categorical (optional for creating multiple lines), \n - best for: Trends over time, continuous data, forecasting, regression analysis\n - note that when there are multiple rows in the data belong to the same group (same x and color values) but different y values, the line will not look correct.\n - consider to use an aggregated field for y values, or introduce facets so that each group is visualized in a separate line.\n - (area) Area Charts: x: Temporal (preferred) or ordinal, y: Quantitative, color: Categorical (optional for creating stacked areas), \n - best for: Trends over time, continuous data\n - (heatmap) Heatmaps: x,y: Categorical (you need to convert quantitative to nominal), color: Quantitative intensity, \n - best for: Pattern discovery in matrix data\n - (boxplot) Box plots: x: Categorical (nominal/ordinal), y: Quantitative, color: Categorical (optional for creating grouped boxplots), \n - best for: Distribution of a quantitative field\n - use x values directly if x values are categorical, and transform the data into bins if the field values are quantitative.\n - when color is specified, the boxplot will be grouped automatically (items with the same x values will be grouped).\n - facet channel is available for all chart types, it supports a categorical field with small cardinality to visualize the data in different facets.\n - if you really need additional legend fields:\n - you can use opacity for legend (support Quantitative and Categorical).\n - visualization fields require tidy data. \n - similar to VegaLite and ggplot2 so that each field is mapped to a visualization axis or legend. \n - consider data transformations if you want to visualize multiple fields together:\n - exapmle 1: suggest reshaping the data into long format in data transformation description (if these fields are all of the same type, e.g., they are all about sales, price, two columns about min/max-values, etc. don't mix different types of fields in reshaping) so we can visualize multiple fields as categories or in different facets.\n - exapmle 2: calculate some derived fields from these fields(e.g., correlation, difference, profit etc.) in data transformation description to visualize them in one visualization.\n - example 3: create a visualization only with a subset of the fields, you don't have to visualize all of them in one chart, you can later create a visualization with the rest of the fields. With the subset of charts, you can also consider reshaping or calculate some derived value.\n - again, it does not make sense to have five fields like [item, A, B, C, D, E] in visualization fields, you should consider data transformation to reduce the number of fields.\n - when reshaping data to long format, only fields of the same semantic type should be rehaped into the same column.\n - guide on statistical analysis:\n - when the user asks for forecasting or regression analysis, you should consider the following:\n - the output should be a long format table where actual x, y pairs and predicted x, y pairs are included in the X, Y columns, they are differentiated with a third column \"is_predicted\" that is a boolean field.\n - i.e., if the user ask for forecasting based on two columns T and Y, the output should be three columns: T, Y, is_predicted, where\n - T, Y columns contain BOTH original values from the data and predicted values from the data.\n - is_predicted is a boolean field to indicate whether the x, y pairs are original values from the data or predicted / regression values from the data.\n - the recommended chart should be line chart (time series) or scatter plot (quantitative x, y)\n - if the user asks for forecasting, it's good to include predicted x, y pairs for both x in the original data and future x values (i.e., combine regression and forecasting results)\n - in this case, is_predicted should be of three values 'original', 'regression', 'forecasting'\n - put is_predicted field in 'opacity' channel to distinguish them.\n - when the user asks for clustering:\n - the output should be a long format table where actual x, y pairs with a third column \"cluster_id\" that indicates the cluster id of the data point.\n - the recommended chart should be scatter plot (quantitative x, y)\n \n 2. Then, write a python function based on the inferred goal, the function input is a dataframe \"df\" (or multiple dataframes based on tables presented in the [CONTEXT] section) and the output is the transformed dataframe \"transformed_df\". \n\"transformed_df\" should contain all \"output_fields\" from the refined user intent in the json object.\nThe python function must follow the template provided in [TEMPLATE]. The function should be as simple as possible and easily readable. \nIf there is no data transformation needed based on \"output_fields\", the transformation function can simply \"return df\".\n\n[TEMPLATE]\n\n```python\nimport pandas as pd\nimport collections\nimport numpy as np\n# from sklearn import ... # import from sklearn if you need it.\n\ndef transform_data(df1, df2, ...): \n # complete the template here\n return transformed_df\n```\n\nnote: \n- decide the function signature based on the number of tables you decided in the previous step \"input_tables\":\n - if you decide there will only be one input table, then function signature should be `def transform_data(df1)`\n - if you decided there will be k input tables, then function signature should be `def transform_data(df_1, df_2, ..., df_k)`.\n - instead of using generic names like df1, df2, ..., try to use intuitive table names for function arguments, for example, if you have input_tables: [\"City\", \"Weather\"]`, you can use `transform_data(df_city, df_weather)` to refer to the two dataframes.\n - **VERY IMPORTANT** the number of arguments in the function signature must be the same as the number of tables provided in \"input_tables\", and the order of arguments must match the order of tables provided in \"input_tables\".\n- datetime objects handling:\n - if the output field is year, convert it to number, if it is year-month / year-month-day, convert it to string object (e.g., \"2020-01\" / \"2020-01-01\").\n - if the output is time only: convert hour to number if it's just the hour (e.g., 10), but convert hour:min or h:m:s to string object (e.g., \"10:30\", \"10:30:45\")\n - never return datetime object directly, convert it to either number (if it only contains year) or string so it's readable.\n \n 3. The output must only contain a json object representing inferred user intent and a python code block representing the transformation code, do not add any extra text explanation.\n"},{"role":"user","content":"[CONTEXT]\n\n## Table 1: history (738 rows × 8 columns)\n\n### Schema (8 fields)\n - symbol -- type: object, values: AAPL, AMZN, GOOGL, META, MSFT, NVDA\n - date -- type: object, values: 2025-07-30, 2025-07-31, 2025-08-01, ..., 2026-01-20, 2026-01-21, 2026-01-22, 2026-01-23\n - open -- type: float64, values: 167.53, 168.01, 169.07, ..., 781.21, 782.98, 785.25, 789.97\n - high -- type: float64, values: 169.01, 170.94, 170.96, ..., 789.62, 792.49, 794.28, 795.06\n - low -- type: float64, values: 164.05, 166.72, 167.2, ..., 771.36, 772.21, 777.07, 779.66\n - close -- type: float64, values: 167.0, 168.29, 170.28, ..., 779.09, 780.97, 784.06, 788.82\n - volume -- type: int64, values: 5627500, 5855900, 6861200, ..., 320600300, 324925900, 343504800, 346926200\n - fetched_at -- type: object, values: 2026-01-26T23:46:42.347312Z\n\n### Sample Data (first 5 rows)\n```\n symbol date open high low close volume fetched_at\n0 AAPL 2025-07-30 211.45 211.94 207.28 208.61 45512500 2026-01-26T23:46:42.347312Z\n1 AAPL 2025-07-31 208.05 209.40 206.72 207.13 80698400 2026-01-26T23:46:42.347312Z\n2 AAPL 2025-08-01 210.43 213.13 201.08 201.95 104434500 2026-01-26T23:46:42.347312Z\n3 AAPL 2025-08-04 204.08 207.44 201.26 202.92 75109300 2026-01-26T23:46:42.347312Z\n4 AAPL 2025-08-05 202.97 204.91 201.74 202.49 44155100 2026-01-26T23:46:42.347312Z\n```\n\n\n[GOAL]\n\n1) First, plot the overall **closing price** trends for each **symbol** over **time** on a single line chart to compare their broad trajectories and volatility."},{"role":"assistant","content":"{\n \"mode\": \"infer\",\n \"recap\": \"Compare overall closing price trends and volatility over time for each stock symbol on a single line chart.\",\n \"display_instruction\": \"Visualize **closing price** trends by **symbol** over **date**\",\n \"recommendation\": \"A line chart with time on the x-axis and closing price on the y-axis, colored by symbol, best shows comparative trajectories and volatility over time. The data only needs column selection, date normalization, and sorting to be visualization-ready.\",\n \"input_tables\": [\"history\"],\n \"output_fields\": [\"date\", \"symbol\", \"close\"],\n \"chart_type\": \"line\",\n \"chart_encodings\": {\n \"x\": \"date\",\n \"y\": \"close\",\n \"color\": \"symbol\",\n \"size\": \"\",\n \"opacity\": \"\",\n \"facet\": \"\"\n }\n}\n\n```python\nimport pandas as pd\nimport collections\nimport numpy as np\n\ndef transform_data(df_history: pd.DataFrame) -> pd.DataFrame:\n # Select only needed columns\n cols = [\"date\", \"symbol\", \"close\"]\n df = df_history[cols].copy()\n\n # Ensure date is a string in YYYY-MM-DD format (no datetime objects)\n df[\"date\"] = pd.to_datetime(df[\"date\"]).dt.strftime(\"%Y-%m-%d\")\n\n # Sort for proper line plotting\n df = df.sort_values([\"symbol\", \"date\"]).reset_index(drop=True)\n\n transformed_df = df\n return transformed_df\n```"},{"role":"user","content":"This is the result from the latest python code:\n\n date symbol close\n0 2025-07-30 AAPL 208.61\n1 2025-07-31 AAPL 207.13\n2 2025-08-01 AAPL 201.95\n3 2025-08-04 AAPL 202.92\n4 2025-08-05 AAPL 202.49\n5 2025-08-06 AAPL 212.80\n6 2025-08-07 AAPL 219.57\n7 2025-08-08 AAPL 228.87\n8 2025-08-11 AAPL 226.96\n9 2025-08-12 AAPL 229.43\n......\n\nUpdate the code above based on the following instruction:\n\n2) For each symbol, compute 20-day and 60-day rolling averages of close price (columns: date, symbol, value, ma_window with values 20 or 60) and plot them over time alongside the actual close to compare short- vs long-term trends and reversals."},{"role":"assistant","content":"{\n \"mode\": \"infer\",\n \"recap\": \"Compute 20-day and 60-day rolling averages of closing prices for each symbol in tidy format for plotting alongside actual closes over time.\",\n \"display_instruction\": \"Add **20/60-day moving averages** of **close** by **symbol** over **date**\",\n \"recommendation\": \"To compare short- and long-term trends per symbol, compute 20- and 60-day rolling means of close, reshape them into a long format with one row per date-symbol-window, and keep the original close for plotting alongside the moving averages.\",\n \"input_tables\": [\"history\"],\n \"output_fields\": [\"date\", \"symbol\", \"close\", \"value\", \"ma_window\"],\n \"chart_type\": \"line\",\n \"chart_encodings\": {\n \"x\": \"date\",\n \"y\": \"value\",\n \"color\": \"ma_window\",\n \"size\": \"\",\n \"opacity\": \"\",\n \"facet\": \"symbol\"\n }\n}\n\n```python\nimport pandas as pd\nimport collections\nimport numpy as np\n\ndef transform_data(df_history: pd.DataFrame) -> pd.DataFrame:\n # Work on a copy\n df = df_history.copy()\n\n # Normalize date to string YYYY-MM-DD\n df[\"date\"] = pd.to_datetime(df[\"date\"]).dt.strftime(\"%Y-%m-%d\")\n\n # Sort for proper rolling computation\n df = df.sort_values([\"symbol\", \"date\"])\n\n # Group by symbol and compute rolling means on close\n group = df.groupby(\"symbol\", group_keys=False)[\"close\"]\n df[\"ma_20\"] = group.rolling(20, min_periods=1).mean()\n df[\"ma_60\"] = group.rolling(60, min_periods=1).mean()\n\n # Reshape to long format for the moving averages\n df_long = df.melt(\n id_vars=[\"date\", \"symbol\", \"close\"],\n value_vars=[\"ma_20\", \"ma_60\"],\n var_name=\"ma_window\",\n value_name=\"value\",\n )\n\n # Map ma_window to numeric window size (20 or 60)\n window_map = {\"ma_20\": 20, \"ma_60\": 60}\n df_long[\"ma_window\"] = df_long[\"ma_window\"].map(window_map)\n\n # Ensure correct column order and types\n df_long[\"ma_window\"] = df_long[\"ma_window\"].astype(int)\n\n transformed_df = df_long[[\"date\", \"symbol\", \"close\", \"value\", \"ma_window\"]].reset_index(drop=True)\n return transformed_df\n```"},{"role":"user","content":"This is the result from the latest python code:\n\nEmpty DataFrame\nColumns: []\nIndex: []\n......\n\nUpdate the code above based on the following instruction:\n\nWe run into the following problem executing the code, please fix it:\n\nError: TypeError - incompatible index of inserted column with frame index\n\nPlease think step by step, reflect why the error happens and fix the code so that no more errors would occur."},{"role":"assistant","content":"{\n \"mode\": \"infer\",\n \"recap\": \"Compute 20-day and 60-day rolling averages of closing prices for each symbol in tidy format for plotting alongside actual closes over time.\",\n \"display_instruction\": \"Compute **20/60-day moving averages** of **close** by **symbol** over **date**\",\n \"recommendation\": \"The previous implementation used groupby().rolling() and assigned the result directly to new columns, which can create an index mismatch and raise a TypeError. Using groupby().transform(...) with an inner rolling mean keeps the index aligned with the original DataFrame, avoiding incompatible index issues. After computing the moving averages, reshape to long format for visualization.\",\n \"input_tables\": [\"history\"],\n \"output_fields\": [\"date\", \"symbol\", \"close\", \"value\", \"ma_window\"],\n \"chart_type\": \"line\",\n \"chart_encodings\": {\n \"x\": \"date\",\n \"y\": \"value\",\n \"color\": \"ma_window\",\n \"size\": \"\",\n \"opacity\": \"\",\n \"facet\": \"symbol\"\n }\n}\n\n```python\nimport pandas as pd\nimport collections\nimport numpy as np\n\ndef transform_data(df_history: pd.DataFrame) -> pd.DataFrame:\n # Work on a copy and keep only needed columns if present\n base_cols = [c for c in [\"date\", \"symbol\", \"close\"] if c in df_history.columns]\n df = df_history[base_cols].copy()\n\n # Normalize date to string YYYY-MM-DD\n df[\"date\"] = pd.to_datetime(df[\"date\"]).dt.strftime(\"%Y-%m-%d\")\n\n # Sort for proper rolling computation\n df = df.sort_values([\"symbol\", \"date\"])\n\n # Ensure we have a clean, simple index to avoid alignment issues\n df = df.reset_index(drop=True)\n\n # Compute rolling means using transform to preserve index alignment\n df[\"ma_20\"] = (\n df.groupby(\"symbol\")[\"close\"]\n .transform(lambda s: s.rolling(window=20, min_periods=1).mean())\n )\n df[\"ma_60\"] = (\n df.groupby(\"symbol\")[\"close\"]\n .transform(lambda s: s.rolling(window=60, min_periods=1).mean())\n )\n\n # Reshape to long format for the moving averages\n df_long = df.melt(\n id_vars=[\"date\", \"symbol\", \"close\"],\n value_vars=[\"ma_20\", \"ma_60\"],\n var_name=\"ma_window\",\n value_name=\"value\",\n )\n\n # Map ma_window to numeric window size (20 or 60)\n window_map = {\"ma_20\": 20, \"ma_60\": 60}\n df_long[\"ma_window\"] = df_long[\"ma_window\"].map(window_map).astype(int)\n\n # Final tidy output\n transformed_df = df_long[[\"date\", \"symbol\", \"close\", \"value\", \"ma_window\"]].reset_index(drop=True)\n return transformed_df\n```"},{"role":"user","content":"This is the result from the latest python code:\n\n date symbol close value ma_window\n0 2025-07-30 AAPL 208.61 208.610000 20\n1 2025-07-31 AAPL 207.13 207.870000 20\n2 2025-08-01 AAPL 201.95 205.896667 20\n3 2025-08-04 AAPL 202.92 205.152500 20\n4 2025-08-05 AAPL 202.49 204.620000 20\n5 2025-08-06 AAPL 212.80 205.983333 20\n6 2025-08-07 AAPL 219.57 207.924286 20\n7 2025-08-08 AAPL 228.87 210.542500 20\n8 2025-08-11 AAPL 226.96 212.366667 20\n9 2025-08-12 AAPL 229.43 214.073000 20\n......\n\nUpdate the code above based on the following instruction:\n\n3) For each symbol, compute daily returns as pct_change of close, then 20-day rolling volatility as the rolling std of these returns; keep volume. Reshape to long format with columns [date, symbol, metric, value], where metric ∈ {\"return\", \"vol20\", \"volume\"}, and visualize over time (e.g., faceted by symbol with separate lines for each metric) to highlight periods of strong trends with elevated volatility or volume."},{"role":"assistant","content":"{\n \"mode\": \"infer\",\n \"recap\": \"Compute daily returns and 20-day rolling volatility for each symbol, keep volume, and reshape to a long format for multi-metric time-series visualization.\",\n \"display_instruction\": \"Show **daily return**, **20-day volatility**, and **volume** by **symbol** over **date**\",\n \"recommendation\": \"To highlight periods of strong trends with elevated volatility or volume, compute per-symbol daily returns as pct_change of close and 20-day rolling volatility as the rolling standard deviation of those returns. Keep volume, then reshape into a long table with one metric per row so time-series lines for return, volatility, and volume can be plotted and compared per symbol.\",\n \"input_tables\": [\"history\"],\n \"output_fields\": [\"date\", \"symbol\", \"metric\", \"value\"],\n \"chart_type\": \"line\",\n \"chart_encodings\": {\n \"x\": \"date\",\n \"y\": \"value\",\n \"color\": \"metric\",\n \"size\": \"\",\n \"opacity\": \"\",\n \"facet\": \"symbol\"\n }\n}\n\n```python\nimport pandas as pd\nimport collections\nimport numpy as np\n\ndef transform_data(df_history: pd.DataFrame) -> pd.DataFrame:\n # Keep only necessary columns\n cols = [c for c in [\"date\", \"symbol\", \"close\", \"volume\"] if c in df_history.columns]\n df = df_history[cols].copy()\n\n # Normalize date to string YYYY-MM-DD\n df[\"date\"] = pd.to_datetime(df[\"date\"]).dt.strftime(\"%Y-%m-%d\")\n\n # Sort for time-series operations\n df = df.sort_values([\"symbol\", \"date\"]).reset_index(drop=True)\n\n # Compute daily returns as pct_change of close within each symbol\n df[\"return\"] = df.groupby(\"symbol\")[\"close\"].pct_change()\n\n # Compute 20-day rolling volatility (std of returns) within each symbol\n df[\"vol20\"] = (\n df.groupby(\"symbol\")[\"return\"]\n .transform(lambda s: s.rolling(window=20, min_periods=1).std())\n )\n\n # Reshape to long format: metrics = return, vol20, volume\n df_long = df.melt(\n id_vars=[\"date\", \"symbol\"],\n value_vars=[\"return\", \"vol20\", \"volume\"],\n var_name=\"metric\",\n value_name=\"value\",\n )\n\n # Final tidy output\n transformed_df = df_long[[\"date\", \"symbol\", \"metric\", \"value\"]].reset_index(drop=True)\n return transformed_df\n```"}],"trigger":{"tableId":"table-265247","sourceTableIds":["history"],"instruction":"3) For each symbol, compute daily returns as pct_change of close, then 20-day rolling volatility as the rolling std of these returns; keep volume. Reshape to long format with columns [date, symbol, metric, value], where metric ∈ {\"return\", \"vol20\", \"volume\"}, and visualize over time (e.g., faceted by symbol with separate lines for each metric) to highlight periods of strong trends with elevated volatility or volume.","displayInstruction":"Show **daily return**, **20-day volatility**, and **volume** by **symbol** over **date**","chart":{"id":"chart-1769471280073","chartType":"Auto","encodingMap":{},"tableRef":"history","saved":false,"source":"trigger","unread":true},"resultTableId":"table-277926"},"explanation":{"status":"ok","concepts":[{"field":"return","explanation":"Daily return measures how much the closing price changes in percentage terms from one trading day to the next for the same symbol. For day t, return_t = (Close_t - Close_{t-1}) / Close_{t-1}."},{"field":"vol20","explanation":"20-day rolling volatility is a short-term risk measure that summarizes how much the daily returns have fluctuated over roughly the past month. For each date, vol20 is the standard deviation of the last up-to-20 'return' values for that symbol; higher vol20 indicates more unstable (more volatile) recent price movements."},{"field":"metric, value","explanation":"These two fields reorganize different measures into a single tidy structure: 'metric' tells you which quantity is being reported (return, vol20, or volume), and 'value' stores the corresponding number. This makes it easy to filter and compare different metrics in the same table."},{"field":"Statistical Analysis","explanation":"The transformation introduces two statistical concepts: (1) daily returns, which quantify relative price changes over time, and (2) rolling volatility, which applies a moving standard deviation to recent returns to estimate short-term risk. The model is implicit: for each symbol, returns are treated as a time series, and volatility is computed over a 20-day rolling window. Other possible analyses on this data could include moving averages of price or volume, exponential moving volatility, correlation between different symbols' returns, or time-series models such as ARIMA or GARCH to forecast returns and volatility."}],"code":"- **Selects** only the key fields from the original data: **\"date\"**, **\"symbol\"**, **\"close\"**, and **\"volume\"**.\n- **Standardizes** the **\"date\"** format to **\"YYYY-MM-DD\"** so all dates are consistent.\n- **Sorts** the data by **\"symbol\"** and then by **\"date\"** to put each stock’s prices in correct time order.\n- For each **symbol**, **calculates daily price change**:\n - Adds a new field **\"return\"** = the **percentage change of the closing price** from the previous trading day for that same symbol.\n- For each **symbol**, **measures recent risk/variability**:\n - Adds a new field **\"vol20\"** = the **20‑day rolling volatility**, i.e., the **standard deviation of the last up-to-20 daily returns** (a larger value means the stock has been more volatile recently).\n- **Restructures** the data into a “long” tidy format:\n - Keeps **\"date\"** and **\"symbol\"**.\n - Converts the three measures **\"return\"**, **\"vol20\"**, and **\"volume\"** into rows under a single **\"metric\"** column, with their numbers stored in a **\"value\"** column.\n- **Outputs** a clean table with columns **\"date\"**, **\"symbol\"**, **\"metric\"**, and **\"value\"**, where each row represents **one metric for one stock on one date**.","dialog":[{"role":"system","content":"You are a data scientist to help user explain code, \nso that a non-code can clearly understand what the code is doing, you are provided with a summary of the input data, and the transformation code.\n\nYour goal:\n1. You should generate a good itemized explanation of the code so that the reader can understand high-level steps of what the data transformation is doing.\n - Be very concise, and stay at a high-level. The reader doesn't understand code and does not want to learn exactly what the code is doing. They just want to learn what have been done from a logical level.\n - The explanation should be a markdown string that is a list of bullet points (with new lines), highlight constants, data fields, and important verbs.\n2. Generate a list of explanations for new fields (fields not from the input data) that introduce metrics/concepts that are not obvious from the code.\n - provide a declarative definition that explains the new field, use a mathematical notation if applicable.\n - only include new fields explanation of new metrics that are involved in computation (e.g., ROI, commerical_success_score)\n - *DO NOT* explain trivial new fields like \"Decade\" or \"Avg_Rating\", \"US_Sales\" that are self-explanatory.\n - Avoid explaining fields that are simple aggregate of fields in the original data (min_score, avg_value, count, etc.)\n - When a field involves mathematical computation, you can use LaTeX math notation in the explanation. Format mathematical expressions using:\n - Inline math: `\\( ... \\)` for formulas within text\n - Block math: `\\[ ... \\]` for standalone formulas\n - Examples: `\\( \\frac{\\text{Revenue}}{\\text{Cost}} \\)` for ratios, `\\[ \\text{Score} = \\text{Rating} \\times \\text{Worldwide\\_Gross} \\]` for formulas\n - note: when using underscores as part of the text, you need to escape them with a backslash, e.g., `\\_`\n - Note: don't use math notation for fields whose computation is trivial (use plain english), it will likely be confusing to the reader. \n Only use math notation for fields that can not be easilyexplained in plain english. Use it sparingly.\n3. If there are multiple fields that have the similar computation, you can explain them together in one explanation.\n - in \"field\", you can provide a list of fields in format of \"field1, field2, ...\"\n - in \"explanation\", you can provide a single explanation for the computation of the fields.\n - for example, if you have fields like \"Norm_Rating\", \"Norm_Gross\", \"Critical_Commercial_Score\", you can explain Norm_Rating, Norm_Gross together in one explanation and explain Critical_Commercial_Score in another explanation.\n4. If the code is about statistical analysis, you should explain the statistical analysis in the explanation as a concept named \"Statistical Analysis\" in the [CONCEPTS EXPLANATION] section.\n - explain how you model the data, which fields are used, how data processing is done, and what models are used.\n - suggest some other modeling approaches that can be used to analyze the data in the explanation as well.\n \nThe focus is to explain how new fields are computed, don't generate explanation for low-level actions like \"return\", \"load data\" etc. \n\nProvide the result in the following two sections:\n - first section is the code explanation that should be a markdown block explaining the code, in the [CODE EXPLANATION] section.\n - remember to highlight constants, data fields, and important verbs in the code explanation.\n - second section is the concepts explanation that should be a json block (start with ```json) in the [CONCEPTS EXPLANATION] section.\n\n[CODE EXPLANATION]\n\n...(explanation of the code)\n\n[CONCEPTS EXPLANATION]\n\n```json\n[\n {\n \"field\": \"...\",\n \"explanation\": \"...\"\n }\n]\n\n```\n"},{"role":"user","content":"[CONTEXT]\n\n## Table 1: history (738 rows × 8 columns)\n\n### Schema (8 fields)\n - symbol -- type: object, values: AAPL, AMZN, GOOGL, META, MSFT, NVDA\n - date -- type: object, values: 2025-07-30, 2025-07-31, 2025-08-01, ..., 2026-01-20, 2026-01-21, 2026-01-22, 2026-01-23\n - open -- type: float64, values: 167.53, 168.01, 169.07, ..., 781.21, 782.98, 785.25, 789.97\n - high -- type: float64, values: 169.01, 170.94, 170.96, ..., 789.62, 792.49, 794.28, 795.06\n - low -- type: float64, values: 164.05, 166.72, 167.2, ..., 771.36, 772.21, 777.07, 779.66\n - close -- type: float64, values: 167.0, 168.29, 170.28, ..., 779.09, 780.97, 784.06, 788.82\n - volume -- type: int64, values: 5627500, 5855900, 6861200, ..., 320600300, 324925900, 343504800, 346926200\n - fetched_at -- type: object, values: 2026-01-26T23:46:42.347312Z\n\n### Sample Data (first 5 rows)\n```\n symbol date open high low close volume fetched_at\n0 AAPL 2025-07-30 211.45 211.94 207.28 208.61 45512500 2026-01-26T23:46:42.347312Z\n1 AAPL 2025-07-31 208.05 209.40 206.72 207.13 80698400 2026-01-26T23:46:42.347312Z\n2 AAPL 2025-08-01 210.43 213.13 201.08 201.95 104434500 2026-01-26T23:46:42.347312Z\n3 AAPL 2025-08-04 204.08 207.44 201.26 202.92 75109300 2026-01-26T23:46:42.347312Z\n4 AAPL 2025-08-05 202.97 204.91 201.74 202.49 44155100 2026-01-26T23:46:42.347312Z\n```\n\n\n[CODE]\n\nhere is the transformation code: \nimport pandas as pd\nimport collections\nimport numpy as np\n\ndef transform_data(df_history: pd.DataFrame) -> pd.DataFrame:\n # Keep only necessary columns\n cols = [c for c in [\"date\", \"symbol\", \"close\", \"volume\"] if c in df_history.columns]\n df = df_history[cols].copy()\n\n # Normalize date to string YYYY-MM-DD\n df[\"date\"] = pd.to_datetime(df[\"date\"]).dt.strftime(\"%Y-%m-%d\")\n\n # Sort for time-series operations\n df = df.sort_values([\"symbol\", \"date\"]).reset_index(drop=True)\n\n # Compute daily returns as pct_change of close within each symbol\n df[\"return\"] = df.groupby(\"symbol\")[\"close\"].pct_change()\n\n # Compute 20-day rolling volatility (std of returns) within each symbol\n df[\"vol20\"] = (\n df.groupby(\"symbol\")[\"return\"]\n .transform(lambda s: s.rolling(window=20, min_periods=1).std())\n )\n\n # Reshape to long format: metrics = return, vol20, volume\n df_long = df.melt(\n id_vars=[\"date\", \"symbol\"],\n value_vars=[\"return\", \"vol20\", \"volume\"],\n var_name=\"metric\",\n value_name=\"value\",\n )\n\n # Final tidy output\n transformed_df = df_long[[\"date\", \"symbol\", \"metric\", \"value\"]].reset_index(drop=True)\n return transformed_df\n\n\n[EXPLANATION]\n"},{"role":"assistant","content":"[CODE EXPLANATION]\n\n- **Selects** only the key fields from the original data: **\"date\"**, **\"symbol\"**, **\"close\"**, and **\"volume\"**.\n- **Standardizes** the **\"date\"** format to **\"YYYY-MM-DD\"** so all dates are consistent.\n- **Sorts** the data by **\"symbol\"** and then by **\"date\"** to put each stock’s prices in correct time order.\n- For each **symbol**, **calculates daily price change**:\n - Adds a new field **\"return\"** = the **percentage change of the closing price** from the previous trading day for that same symbol.\n- For each **symbol**, **measures recent risk/variability**:\n - Adds a new field **\"vol20\"** = the **20‑day rolling volatility**, i.e., the **standard deviation of the last up-to-20 daily returns** (a larger value means the stock has been more volatile recently).\n- **Restructures** the data into a “long” tidy format:\n - Keeps **\"date\"** and **\"symbol\"**.\n - Converts the three measures **\"return\"**, **\"vol20\"**, and **\"volume\"** into rows under a single **\"metric\"** column, with their numbers stored in a **\"value\"** column.\n- **Outputs** a clean table with columns **\"date\"**, **\"symbol\"**, **\"metric\"**, and **\"value\"**, where each row represents **one metric for one stock on one date**.\n\n\n[CONCEPTS EXPLANATION]\n\n```json\n[\n {\n \"field\": \"return\",\n \"explanation\": \"Daily return measures how much the closing price changes in percentage terms from one trading day to the next for the same symbol. For day t, return_t = (Close_t - Close_{t-1}) / Close_{t-1}.\"\n },\n {\n \"field\": \"vol20\",\n \"explanation\": \"20-day rolling volatility is a short-term risk measure that summarizes how much the daily returns have fluctuated over roughly the past month. For each date, vol20 is the standard deviation of the last up-to-20 'return' values for that symbol; higher vol20 indicates more unstable (more volatile) recent price movements.\"\n },\n {\n \"field\": \"metric, value\",\n \"explanation\": \"These two fields reorganize different measures into a single tidy structure: 'metric' tells you which quantity is being reported (return, vol20, or volume), and 'value' stores the corresponding number. This makes it easy to filter and compare different metrics in the same table.\"\n },\n {\n \"field\": \"Statistical Analysis\",\n \"explanation\": \"The transformation introduces two statistical concepts: (1) daily returns, which quantify relative price changes over time, and (2) rolling volatility, which applies a moving standard deviation to recent returns to estimate short-term risk. The model is implicit: for each symbol, returns are treated as a time series, and volatility is computed over a 20-day rolling window. Other possible analyses on this data could include moving averages of price or volume, exponential moving volatility, correlation between different symbols' returns, or time-series models such as ARIMA or GARCH to forecast returns and volatility.\"\n }\n]\n```"}],"agent":"CodeExplanationAgent"}},"anchored":false,"createdBy":"user","attachedMetadata":""},{"id":"table-457008","displayId":"stock-close1","names":["date","symbol","close"],"rows":[{"date":"2025-07-30","symbol":"GOOGL","close":196.23},{"date":"2025-07-31","symbol":"GOOGL","close":191.6},{"date":"2025-08-01","symbol":"GOOGL","close":188.84},{"date":"2025-08-04","symbol":"GOOGL","close":194.74},{"date":"2025-08-05","symbol":"GOOGL","close":194.37},{"date":"2025-08-06","symbol":"GOOGL","close":195.79},{"date":"2025-08-07","symbol":"GOOGL","close":196.22},{"date":"2025-08-08","symbol":"GOOGL","close":201.11},{"date":"2025-08-11","symbol":"GOOGL","close":200.69},{"date":"2025-08-12","symbol":"GOOGL","close":203.03},{"date":"2025-08-13","symbol":"GOOGL","close":201.65},{"date":"2025-08-14","symbol":"GOOGL","close":202.63},{"date":"2025-08-15","symbol":"GOOGL","close":203.58},{"date":"2025-08-18","symbol":"GOOGL","close":203.19},{"date":"2025-08-19","symbol":"GOOGL","close":201.26},{"date":"2025-08-20","symbol":"GOOGL","close":199.01},{"date":"2025-08-21","symbol":"GOOGL","close":199.44},{"date":"2025-08-22","symbol":"GOOGL","close":205.77},{"date":"2025-08-25","symbol":"GOOGL","close":208.17},{"date":"2025-08-26","symbol":"GOOGL","close":206.82},{"date":"2025-08-27","symbol":"GOOGL","close":207.16},{"date":"2025-08-28","symbol":"GOOGL","close":211.31},{"date":"2025-08-29","symbol":"GOOGL","close":212.58},{"date":"2025-09-02","symbol":"GOOGL","close":211.02},{"date":"2025-09-03","symbol":"GOOGL","close":230.3},{"date":"2025-09-04","symbol":"GOOGL","close":231.94},{"date":"2025-09-05","symbol":"GOOGL","close":234.64},{"date":"2025-09-08","symbol":"GOOGL","close":233.89},{"date":"2025-09-09","symbol":"GOOGL","close":239.47},{"date":"2025-09-10","symbol":"GOOGL","close":239.01},{"date":"2025-09-11","symbol":"GOOGL","close":240.21},{"date":"2025-09-12","symbol":"GOOGL","close":240.64},{"date":"2025-09-15","symbol":"GOOGL","close":251.45},{"date":"2025-09-16","symbol":"GOOGL","close":251},{"date":"2025-09-17","symbol":"GOOGL","close":249.37},{"date":"2025-09-18","symbol":"GOOGL","close":251.87},{"date":"2025-09-19","symbol":"GOOGL","close":254.55},{"date":"2025-09-22","symbol":"GOOGL","close":252.36},{"date":"2025-09-23","symbol":"GOOGL","close":251.5},{"date":"2025-09-24","symbol":"GOOGL","close":246.98},{"date":"2025-09-25","symbol":"GOOGL","close":245.63},{"date":"2025-09-26","symbol":"GOOGL","close":246.38},{"date":"2025-09-29","symbol":"GOOGL","close":243.89},{"date":"2025-09-30","symbol":"GOOGL","close":242.94},{"date":"2025-10-01","symbol":"GOOGL","close":244.74},{"date":"2025-10-02","symbol":"GOOGL","close":245.53},{"date":"2025-10-03","symbol":"GOOGL","close":245.19},{"date":"2025-10-06","symbol":"GOOGL","close":250.27},{"date":"2025-10-07","symbol":"GOOGL","close":245.6},{"date":"2025-10-08","symbol":"GOOGL","close":244.46},{"date":"2025-10-09","symbol":"GOOGL","close":241.37},{"date":"2025-10-10","symbol":"GOOGL","close":236.42},{"date":"2025-10-13","symbol":"GOOGL","close":243.99},{"date":"2025-10-14","symbol":"GOOGL","close":245.29},{"date":"2025-10-15","symbol":"GOOGL","close":250.87},{"date":"2025-10-16","symbol":"GOOGL","close":251.3},{"date":"2025-10-17","symbol":"GOOGL","close":253.13},{"date":"2025-10-20","symbol":"GOOGL","close":256.38},{"date":"2025-10-21","symbol":"GOOGL","close":250.3},{"date":"2025-10-22","symbol":"GOOGL","close":251.53},{"date":"2025-10-23","symbol":"GOOGL","close":252.91},{"date":"2025-10-24","symbol":"GOOGL","close":259.75},{"date":"2025-10-27","symbol":"GOOGL","close":269.09},{"date":"2025-10-28","symbol":"GOOGL","close":267.3},{"date":"2025-10-29","symbol":"GOOGL","close":274.39},{"date":"2025-10-30","symbol":"GOOGL","close":281.3},{"date":"2025-10-31","symbol":"GOOGL","close":281.01},{"date":"2025-11-03","symbol":"GOOGL","close":283.53},{"date":"2025-11-04","symbol":"GOOGL","close":277.36},{"date":"2025-11-05","symbol":"GOOGL","close":284.12},{"date":"2025-11-06","symbol":"GOOGL","close":284.56},{"date":"2025-11-07","symbol":"GOOGL","close":278.65},{"date":"2025-11-10","symbol":"GOOGL","close":289.91},{"date":"2025-11-11","symbol":"GOOGL","close":291.12},{"date":"2025-11-12","symbol":"GOOGL","close":286.52},{"date":"2025-11-13","symbol":"GOOGL","close":278.39},{"date":"2025-11-14","symbol":"GOOGL","close":276.23},{"date":"2025-11-17","symbol":"GOOGL","close":284.83},{"date":"2025-11-18","symbol":"GOOGL","close":284.09},{"date":"2025-11-19","symbol":"GOOGL","close":292.62},{"date":"2025-11-20","symbol":"GOOGL","close":289.26},{"date":"2025-11-21","symbol":"GOOGL","close":299.46},{"date":"2025-11-24","symbol":"GOOGL","close":318.37},{"date":"2025-11-25","symbol":"GOOGL","close":323.23},{"date":"2025-11-26","symbol":"GOOGL","close":319.74},{"date":"2025-11-28","symbol":"GOOGL","close":319.97},{"date":"2025-12-01","symbol":"GOOGL","close":314.68},{"date":"2025-12-02","symbol":"GOOGL","close":315.6},{"date":"2025-12-03","symbol":"GOOGL","close":319.42},{"date":"2025-12-04","symbol":"GOOGL","close":317.41},{"date":"2025-12-05","symbol":"GOOGL","close":321.06},{"date":"2025-12-08","symbol":"GOOGL","close":313.72},{"date":"2025-12-09","symbol":"GOOGL","close":317.08},{"date":"2025-12-10","symbol":"GOOGL","close":320.21},{"date":"2025-12-11","symbol":"GOOGL","close":312.43},{"date":"2025-12-12","symbol":"GOOGL","close":309.29},{"date":"2025-12-15","symbol":"GOOGL","close":308.22},{"date":"2025-12-16","symbol":"GOOGL","close":306.57},{"date":"2025-12-17","symbol":"GOOGL","close":296.72},{"date":"2025-12-18","symbol":"GOOGL","close":302.46},{"date":"2025-12-19","symbol":"GOOGL","close":307.16},{"date":"2025-12-22","symbol":"GOOGL","close":309.78},{"date":"2025-12-23","symbol":"GOOGL","close":314.35},{"date":"2025-12-24","symbol":"GOOGL","close":314.09},{"date":"2025-12-26","symbol":"GOOGL","close":313.51},{"date":"2025-12-29","symbol":"GOOGL","close":313.56},{"date":"2025-12-30","symbol":"GOOGL","close":313.85},{"date":"2025-12-31","symbol":"GOOGL","close":313},{"date":"2026-01-02","symbol":"GOOGL","close":315.15},{"date":"2026-01-05","symbol":"GOOGL","close":316.54},{"date":"2026-01-06","symbol":"GOOGL","close":314.34},{"date":"2026-01-07","symbol":"GOOGL","close":321.98},{"date":"2026-01-08","symbol":"GOOGL","close":325.44},{"date":"2026-01-09","symbol":"GOOGL","close":328.57},{"date":"2026-01-12","symbol":"GOOGL","close":331.86},{"date":"2026-01-13","symbol":"GOOGL","close":335.97},{"date":"2026-01-14","symbol":"GOOGL","close":335.84},{"date":"2026-01-15","symbol":"GOOGL","close":332.78},{"date":"2026-01-16","symbol":"GOOGL","close":330},{"date":"2026-01-20","symbol":"GOOGL","close":322},{"date":"2026-01-21","symbol":"GOOGL","close":328.38},{"date":"2026-01-22","symbol":"GOOGL","close":330.54},{"date":"2026-01-23","symbol":"GOOGL","close":327.93},{"date":"2025-07-30","symbol":"MSFT","close":511.44},{"date":"2025-07-31","symbol":"MSFT","close":531.63},{"date":"2025-08-01","symbol":"MSFT","close":522.27},{"date":"2025-08-04","symbol":"MSFT","close":533.76},{"date":"2025-08-05","symbol":"MSFT","close":525.9},{"date":"2025-08-06","symbol":"MSFT","close":523.1},{"date":"2025-08-07","symbol":"MSFT","close":519.01},{"date":"2025-08-08","symbol":"MSFT","close":520.21},{"date":"2025-08-11","symbol":"MSFT","close":519.94},{"date":"2025-08-12","symbol":"MSFT","close":527.38},{"date":"2025-08-13","symbol":"MSFT","close":518.75},{"date":"2025-08-14","symbol":"MSFT","close":520.65},{"date":"2025-08-15","symbol":"MSFT","close":518.35},{"date":"2025-08-18","symbol":"MSFT","close":515.29},{"date":"2025-08-19","symbol":"MSFT","close":507.98},{"date":"2025-08-20","symbol":"MSFT","close":503.95},{"date":"2025-08-21","symbol":"MSFT","close":503.3},{"date":"2025-08-22","symbol":"MSFT","close":506.28},{"date":"2025-08-25","symbol":"MSFT","close":503.32},{"date":"2025-08-26","symbol":"MSFT","close":501.1},{"date":"2025-08-27","symbol":"MSFT","close":505.79},{"date":"2025-08-28","symbol":"MSFT","close":508.69},{"date":"2025-08-29","symbol":"MSFT","close":505.74},{"date":"2025-09-02","symbol":"MSFT","close":504.18},{"date":"2025-09-03","symbol":"MSFT","close":504.41},{"date":"2025-09-04","symbol":"MSFT","close":507.02},{"date":"2025-09-05","symbol":"MSFT","close":494.08},{"date":"2025-09-08","symbol":"MSFT","close":497.27},{"date":"2025-09-09","symbol":"MSFT","close":497.48},{"date":"2025-09-10","symbol":"MSFT","close":499.44},{"date":"2025-09-11","symbol":"MSFT","close":500.07},{"date":"2025-09-12","symbol":"MSFT","close":508.95},{"date":"2025-09-15","symbol":"MSFT","close":514.4},{"date":"2025-09-16","symbol":"MSFT","close":508.09},{"date":"2025-09-17","symbol":"MSFT","close":509.07},{"date":"2025-09-18","symbol":"MSFT","close":507.5},{"date":"2025-09-19","symbol":"MSFT","close":516.96},{"date":"2025-09-22","symbol":"MSFT","close":513.49},{"date":"2025-09-23","symbol":"MSFT","close":508.28},{"date":"2025-09-24","symbol":"MSFT","close":509.2},{"date":"2025-09-25","symbol":"MSFT","close":506.08},{"date":"2025-09-26","symbol":"MSFT","close":510.5},{"date":"2025-09-29","symbol":"MSFT","close":513.64},{"date":"2025-09-30","symbol":"MSFT","close":516.98},{"date":"2025-10-01","symbol":"MSFT","close":518.74},{"date":"2025-10-02","symbol":"MSFT","close":514.78},{"date":"2025-10-03","symbol":"MSFT","close":516.38},{"date":"2025-10-06","symbol":"MSFT","close":527.58},{"date":"2025-10-07","symbol":"MSFT","close":523},{"date":"2025-10-08","symbol":"MSFT","close":523.87},{"date":"2025-10-09","symbol":"MSFT","close":521.42},{"date":"2025-10-10","symbol":"MSFT","close":510.01},{"date":"2025-10-13","symbol":"MSFT","close":513.09},{"date":"2025-10-14","symbol":"MSFT","close":512.61},{"date":"2025-10-15","symbol":"MSFT","close":512.47},{"date":"2025-10-16","symbol":"MSFT","close":510.65},{"date":"2025-10-17","symbol":"MSFT","close":512.62},{"date":"2025-10-20","symbol":"MSFT","close":515.82},{"date":"2025-10-21","symbol":"MSFT","close":516.69},{"date":"2025-10-22","symbol":"MSFT","close":519.57},{"date":"2025-10-23","symbol":"MSFT","close":519.59},{"date":"2025-10-24","symbol":"MSFT","close":522.63},{"date":"2025-10-27","symbol":"MSFT","close":530.53},{"date":"2025-10-28","symbol":"MSFT","close":541.06},{"date":"2025-10-29","symbol":"MSFT","close":540.54},{"date":"2025-10-30","symbol":"MSFT","close":524.78},{"date":"2025-10-31","symbol":"MSFT","close":516.84},{"date":"2025-11-03","symbol":"MSFT","close":516.06},{"date":"2025-11-04","symbol":"MSFT","close":513.37},{"date":"2025-11-05","symbol":"MSFT","close":506.21},{"date":"2025-11-06","symbol":"MSFT","close":496.17},{"date":"2025-11-07","symbol":"MSFT","close":495.89},{"date":"2025-11-10","symbol":"MSFT","close":505.05},{"date":"2025-11-11","symbol":"MSFT","close":507.73},{"date":"2025-11-12","symbol":"MSFT","close":510.19},{"date":"2025-11-13","symbol":"MSFT","close":502.35},{"date":"2025-11-14","symbol":"MSFT","close":509.23},{"date":"2025-11-17","symbol":"MSFT","close":506.54},{"date":"2025-11-18","symbol":"MSFT","close":492.87},{"date":"2025-11-19","symbol":"MSFT","close":486.21},{"date":"2025-11-20","symbol":"MSFT","close":478.43},{"date":"2025-11-21","symbol":"MSFT","close":472.12},{"date":"2025-11-24","symbol":"MSFT","close":474},{"date":"2025-11-25","symbol":"MSFT","close":476.99},{"date":"2025-11-26","symbol":"MSFT","close":485.5},{"date":"2025-11-28","symbol":"MSFT","close":492.01},{"date":"2025-12-01","symbol":"MSFT","close":486.74},{"date":"2025-12-02","symbol":"MSFT","close":490},{"date":"2025-12-03","symbol":"MSFT","close":477.73},{"date":"2025-12-04","symbol":"MSFT","close":480.84},{"date":"2025-12-05","symbol":"MSFT","close":483.16},{"date":"2025-12-08","symbol":"MSFT","close":491.02},{"date":"2025-12-09","symbol":"MSFT","close":492.02},{"date":"2025-12-10","symbol":"MSFT","close":478.56},{"date":"2025-12-11","symbol":"MSFT","close":483.47},{"date":"2025-12-12","symbol":"MSFT","close":478.53},{"date":"2025-12-15","symbol":"MSFT","close":474.82},{"date":"2025-12-16","symbol":"MSFT","close":476.39},{"date":"2025-12-17","symbol":"MSFT","close":476.12},{"date":"2025-12-18","symbol":"MSFT","close":483.98},{"date":"2025-12-19","symbol":"MSFT","close":485.92},{"date":"2025-12-22","symbol":"MSFT","close":484.92},{"date":"2025-12-23","symbol":"MSFT","close":486.85},{"date":"2025-12-24","symbol":"MSFT","close":488.02},{"date":"2025-12-26","symbol":"MSFT","close":487.71},{"date":"2025-12-29","symbol":"MSFT","close":487.1},{"date":"2025-12-30","symbol":"MSFT","close":487.48},{"date":"2025-12-31","symbol":"MSFT","close":483.62},{"date":"2026-01-02","symbol":"MSFT","close":472.94},{"date":"2026-01-05","symbol":"MSFT","close":472.85},{"date":"2026-01-06","symbol":"MSFT","close":478.51},{"date":"2026-01-07","symbol":"MSFT","close":483.47},{"date":"2026-01-08","symbol":"MSFT","close":478.11},{"date":"2026-01-09","symbol":"MSFT","close":479.28},{"date":"2026-01-12","symbol":"MSFT","close":477.18},{"date":"2026-01-13","symbol":"MSFT","close":470.67},{"date":"2026-01-14","symbol":"MSFT","close":459.38},{"date":"2026-01-15","symbol":"MSFT","close":456.66},{"date":"2026-01-16","symbol":"MSFT","close":459.86},{"date":"2026-01-20","symbol":"MSFT","close":454.52},{"date":"2026-01-21","symbol":"MSFT","close":444.11},{"date":"2026-01-22","symbol":"MSFT","close":451.14},{"date":"2026-01-23","symbol":"MSFT","close":465.95}],"metadata":{"date":{"type":"string","semanticType":"Date","levels":[]},"symbol":{"type":"string","semanticType":"String"},"close":{"type":"number","semanticType":"Number"}},"derive":{"code":"\nimport pandas as pd\nimport collections\nimport numpy as np\n\ndef transform_data(df_history: pd.DataFrame) -> pd.DataFrame:\n # Select only needed columns\n cols = [\"date\", \"symbol\", \"close\"]\n df = df_history[cols].copy()\n\n # Filter for Microsoft (MSFT) and Google (GOOGL)\n target_symbols = [\"MSFT\", \"GOOGL\"]\n df = df[df[\"symbol\"].isin(target_symbols)].copy()\n\n # Ensure date is a string in YYYY-MM-DD format (no datetime objects)\n df[\"date\"] = pd.to_datetime(df[\"date\"]).dt.strftime(\"%Y-%m-%d\")\n\n # Sort for proper line plotting\n df = df.sort_values([\"symbol\", \"date\"]).reset_index(drop=True)\n\n transformed_df = df\n return transformed_df\n","source":["history"],"dialog":[{"role":"system","content":"You are a data scientist to help user to transform data that will be used for visualization.\nThe user will provide you information about what data would be needed, and your job is to create a python function based on the input data summary, transformation instruction and expected fields.\nThe users' instruction includes \"chart_type\" and \"chart_encodings\" that describe the visualization they want, and natural language instructions \"goal\" that describe what data is needed.\n\n**Important:**\n- NEVER make assumptions or judgments about a person's gender, biological sex, sexuality, religion, race, nationality, ethnicity, political stance, socioeconomic status, mental health, invisible disabilities, medical conditions, personality type, social impressions, emotional state, and cognitive state.\n- NEVER create formulas that could be used to discriminate based on age. Ageism of any form (explicit and implicit) is strictly prohibited.\n- If above issue occurs, generate columns with np.nan.\n\nConcretely, you should first refine users' goal and then create a python function in the output section based off the [CONTEXT] and [GOAL]:\n\n 1. First, refine users' [GOAL]. The main objective in this step is to check if \"chart_type\" and \"chart_encodings\" provided by the user are sufficient to achieve their \"goal\". Concretely:\n - based on the user's \"goal\" and \"chart_type\" and \"chart_encodings\", elaborate the goal into a \"detailed_instruction\".\n - \"display_instruction\" is a short verb phrase describing the users' goal. \n - it would be a short verbal description of user intent as a verb phrase (<12 words).\n - generate it based on detailed_instruction and the suggested chart_type and chart_encodings, but don't need to mention the chart details.\n - should capture key computation ideas: by reading the display, the user can understand the purpose and what's derived from the data.\n - if the user specification follows up the previous instruction, the 'display_instruction' should only describe how it builds up the previous instruction without repeating information from previous steps.\n - the phrase can be presented in different styles, e.g., question (what's xxx), instruction (show xxx), description, etc.\n - if you mention column names from the input or the output data, highlight the text in **bold**.\n * the column can either be a column in the input data, or a new column that will be computed in the output data.\n * the mention don't have to be exact match, it can be semantically matching, e.g., if you mentioned \"average score\" in the text while the column to be computed is \"Avg_Score\", you should still highlight \"**average score**\" in the text.\n - determine \"input_tables\", the names of a subset of input tables from [CONTEXT] section that will be used to achieve the user's goal.\n - **IMPORTANT** Note that the Table 1 in [CONTEXT] section is the table the user is currently viewing, it should take precedence if the user refers to insights about the \"current table\".\n - At the same time, leverage table information to determine which tables are relevant to the user's goal and should be used.\n - determine \"output_fields\", the desired fields that the output data should have to achieve the user's goal, it's a good idea to include intermediate fields here.\n - then decide \"chart_encodings\", which maps visualization channels (x, y, color, size, opacity, facet, latitude, longitude, etc.) to a subset of \"output_fields\" that will be visualized, \n - the \"chart_encodings\" should be created to support the user's \"chart_type\".\n - first, determine whether the user has provided sufficient fields in \"chart_encodings\" that are needed to achieve their goal:\n - if the user's \"chart_encodings\" are sufficient, simply copy it.\n - if the user didn't provide sufficient fields in \"chart_encodings\", add missing fields in \"chart_encodings\" (ordered them based on whether the field will be used in x,y axes or legends);\n - \"chart_encodings\" should only include fields that will be visualized (do not include other intermediate fields from \"output_fields\") \n - when adding new fields to \"chart_encodings\", be efficient and add only a minimal number of fields that are needed to achive the user's goal. \n - generally, the total number of fields in \"chart_encodings\" should be no more than 3 for x,y,legend.\n - if the user's \"chart_encodings\" is sufficient but can be optimized, you can reorder encodings to visualize the data more effectively.\n - sometimes, user may provide instruction to update visualizations fields they provided. You should leverage the user's goal to resolve the conflict and decide the final \"chart_encodings\"\n - e.g., they may mention \"use B metric instead\" while A metric is in provided fields, in this case, you should update \"chart_encodings\" to update A metric with B metric.\n - if the user provides latitude and longitude as visual channels, use \"latitude\" and \"longitude\" as visual channels in \"chart_encodings\" as opposed to \"x\" and \"y\".\n - guide on statistical analysis:\n - when the user asks for forecasting or regression analysis, you should consider the following:\n - the output should be a long format table where actual x, y pairs and predicted x, y pairs are included in the X, Y columns, they are differentiated with a third column \"is_predicted\".\n - i.e., if the user ask for forecasting based on two columns T and Y, the output should be three columns: T, Y, is_predicted, where\n - T, Y columns contain BOTH original values from the data and predicted values from the data.\n - is_predicted is a boolean field to indicate whether the x, y pairs are original values from the data or predicted / regression values from the data.\n - the recommended chart should be line chart (time series) or scatter plot (quantitative x, y)\n - if the user asks for forecasting, it's good to include predicted x, y pairs for both x in the original data and future x values (i.e., combine regression and forecasting results)\n - in this case, is_predicted should be of three values 'original', 'regression', 'forecasting'\n - when the user asks for clustering:\n - the output should be a long format table where actual x, y pairs with a third column \"cluster_id\" that indicates the cluster id of the data point.\n - the recommended chart should be scatter plot (quantitative x, y)\n \n Prepare the result in the following json format:\n\n```\n{\n \"detailed_instruction\": \"...\" // string, elaborate user instruction with details if the user\n \"display_instruction\": \"...\" // string, the short verb phrase describing the users' goal.\n \"input_tables\": [...] // string[], describe names of the input tables that will be used in the transformation.\n \"output_fields\": [...] // string[], describe the desired output fields that the output data should have based on the user's goal, it's a good idea to preserve intermediate fields here (i.e., the goal of transformed data)\n \"chart_encodings\": {\n \"x\": \"\",\n \"y\": \"\",\n \"color\": \"\",\n \"size\": \"\",\n \"opacity\": \"\",\n \"facet\": \"\",\n ... // other visualization channels user used\n } // object: map visualization channels (x, y, color, size, opacity, facet, etc.) to a subset of \"output_fields\" that will be visualized.\n \"reason\": \"...\" // string, explain why this refinement is made\n}\n```\n\n 2. Then, write a python function based on the refined goal, the function input is a dataframe \"df\" (or multiple dataframes based on tables described in \"input_tables\") and the output is the transformed dataframe \"transformed_df\". \"transformed_df\" should contain all \"output_fields\" from the refined goal.\nThe python function must follow the template provided in [TEMPLATE], only import libraries allowed in the template, do not modify function name. The function should be as simple as possible and easily readable.\nIf there is no data transformation needed based on \"output_fields\", the transformation function can simply \"return df\".\n\n[TEMPLATE]\n\n```python\nimport pandas as pd\nimport collections\nimport numpy as np\n# from sklearn import ... # import from sklearn if you need it.\n\ndef transform_data(df1, df2, ...): \n # complete the template here\n return transformed_df\n```\n\nnote: \n- decide the function signature based on the number of tables you decided in the previous step \"input_tables\":\n - if you decide there will only be one input table, then function signature should be `def transform_data(df1)`\n - if you decided there will be k input tables, then function signature should be `def transform_data(df_1, df_2, ..., df_k)`.\n - instead of using generic names like df1, df2, ..., try to use intuitive table names for function arguments, for example, if you have input_tables: [\"City\", \"Weather\"]`, you can use `transform_data(df_city, df_weather)` to refer to the two dataframes.\n - **VERY IMPORTANT** the number of arguments in the function signature must be the same as the number of tables provided in \"input_tables\", and the order of arguments must match the order of tables provided in \"input_tables\".\n- datetime objects handling:\n - if the output field is year, convert it to number, if it is year-month / year-month-day, convert it to string object (e.g., \"2020-01\" / \"2020-01-01\").\n - if the output is time only: convert hour to number if it's just the hour (e.g., 10), but convert hour:min or h:m:s to string object (e.g., \"10:30\", \"10:30:45\")\n - never return datetime object directly, convert it to either number (if it only contains year) or string so it's readable.\n\n 3. The output must only contain a json object representing the refined goal and a python code block representing the transformation code, do not add any extra text explanation.\n"},{"role":"user","content":"[CONTEXT]\n\n## Table 1: history (738 rows × 8 columns)\n\n### Schema (8 fields)\n - symbol -- type: object, values: AAPL, AMZN, GOOGL, META, MSFT, NVDA\n - date -- type: object, values: 2025-07-30, 2025-07-31, 2025-08-01, ..., 2026-01-20, 2026-01-21, 2026-01-22, 2026-01-23\n - open -- type: float64, values: 167.53, 168.01, 169.07, ..., 781.21, 782.98, 785.25, 789.97\n - high -- type: float64, values: 169.01, 170.94, 170.96, ..., 789.62, 792.49, 794.28, 795.06\n - low -- type: float64, values: 164.05, 166.72, 167.2, ..., 771.36, 772.21, 777.07, 779.66\n - close -- type: float64, values: 167.0, 168.29, 170.28, ..., 779.09, 780.97, 784.06, 788.82\n - volume -- type: int64, values: 5627500, 5855900, 6861200, ..., 320600300, 324925900, 343504800, 346926200\n - fetched_at -- type: object, values: 2026-01-26T23:46:42.347312Z\n\n### Sample Data (first 5 rows)\n```\n symbol date open high low close volume fetched_at\n0 AAPL 2025-07-30 211.45 211.94 207.28 208.61 45512500 2026-01-26T23:46:42.347312Z\n1 AAPL 2025-07-31 208.05 209.40 206.72 207.13 80698400 2026-01-26T23:46:42.347312Z\n2 AAPL 2025-08-01 210.43 213.13 201.08 201.95 104434500 2026-01-26T23:46:42.347312Z\n3 AAPL 2025-08-04 204.08 207.44 201.26 202.92 75109300 2026-01-26T23:46:42.347312Z\n4 AAPL 2025-08-05 202.97 204.91 201.74 202.49 44155100 2026-01-26T23:46:42.347312Z\n```\n\n\n[GOAL]\n\n1) First, plot the overall **closing price** trends for each **symbol** over **time** on a single line chart to compare their broad trajectories and volatility."},{"role":"assistant","content":"{\n \"mode\": \"infer\",\n \"recap\": \"Compare overall closing price trends and volatility over time for each stock symbol on a single line chart.\",\n \"display_instruction\": \"Visualize **closing price** trends by **symbol** over **date**\",\n \"recommendation\": \"A line chart with time on the x-axis and closing price on the y-axis, colored by symbol, best shows comparative trajectories and volatility over time. The data only needs column selection, date normalization, and sorting to be visualization-ready.\",\n \"input_tables\": [\"history\"],\n \"output_fields\": [\"date\", \"symbol\", \"close\"],\n \"chart_type\": \"line\",\n \"chart_encodings\": {\n \"x\": \"date\",\n \"y\": \"close\",\n \"color\": \"symbol\",\n \"size\": \"\",\n \"opacity\": \"\",\n \"facet\": \"\"\n }\n}\n\n```python\nimport pandas as pd\nimport collections\nimport numpy as np\n\ndef transform_data(df_history: pd.DataFrame) -> pd.DataFrame:\n # Select only needed columns\n cols = [\"date\", \"symbol\", \"close\"]\n df = df_history[cols].copy()\n\n # Ensure date is a string in YYYY-MM-DD format (no datetime objects)\n df[\"date\"] = pd.to_datetime(df[\"date\"]).dt.strftime(\"%Y-%m-%d\")\n\n # Sort for proper line plotting\n df = df.sort_values([\"symbol\", \"date\"]).reset_index(drop=True)\n\n transformed_df = df\n return transformed_df\n```"},{"role":"user","content":"This is the result from the latest python code:\n\n date symbol close\n0 2025-07-30 AAPL 208.61\n1 2025-07-31 AAPL 207.13\n2 2025-08-01 AAPL 201.95\n3 2025-08-04 AAPL 202.92\n4 2025-08-05 AAPL 202.49\n5 2025-08-06 AAPL 212.80\n6 2025-08-07 AAPL 219.57\n7 2025-08-08 AAPL 228.87\n8 2025-08-11 AAPL 226.96\n9 2025-08-12 AAPL 229.43\n......\n\nUpdate the code above based on the following instruction:\n\n{\n \"followup_instruction\": \"compare microsoft and google\",\n \"chart_type\": \"\",\n \"chart_encodings\": {}\n}"},{"role":"assistant","content":"{\n \"detailed_instruction\": \"Filter the historical price data to only include Microsoft (MSFT) and Google (GOOGL) and prepare it for a line chart that compares their closing price trends over time on the same plot.\",\n \"display_instruction\": \"Compare **closing price** trends of **MSFT** and **GOOGL** over **date**\",\n \"input_tables\": [\"history\"],\n \"output_fields\": [\"date\", \"symbol\", \"close\"],\n \"chart_encodings\": {\n \"x\": \"date\",\n \"y\": \"close\",\n \"color\": \"symbol\",\n \"size\": \"\",\n \"opacity\": \"\",\n \"facet\": \"\"\n },\n \"reason\": \"The follow-up focuses the existing trend comparison on only Microsoft and Google. This requires filtering the original prepared data to those two symbols while keeping the same line chart structure: date on x, close on y, and symbol as the color encoding.\"\n}\n\n```python\nimport pandas as pd\nimport collections\nimport numpy as np\n\ndef transform_data(df_history: pd.DataFrame) -> pd.DataFrame:\n # Select only needed columns\n cols = [\"date\", \"symbol\", \"close\"]\n df = df_history[cols].copy()\n\n # Filter for Microsoft (MSFT) and Google (GOOGL)\n target_symbols = [\"MSFT\", \"GOOGL\"]\n df = df[df[\"symbol\"].isin(target_symbols)].copy()\n\n # Ensure date is a string in YYYY-MM-DD format (no datetime objects)\n df[\"date\"] = pd.to_datetime(df[\"date\"]).dt.strftime(\"%Y-%m-%d\")\n\n # Sort for proper line plotting\n df = df.sort_values([\"symbol\", \"date\"]).reset_index(drop=True)\n\n transformed_df = df\n return transformed_df\n```"}],"trigger":{"tableId":"table-233476","sourceTableIds":["history"],"instruction":"compare microsoft and google","displayInstruction":"Compare **closing price** trends of **MSFT** and **GOOGL** over **date**","chart":{"id":"chart-1769471462237","chartType":"Auto","encodingMap":{},"tableRef":"table-233476","saved":false,"source":"trigger","unread":true},"resultTableId":"table-457008"},"explanation":{"status":"ok","concepts":[],"code":"- **Keep only** the **`date`**, **`symbol`**, and **`close`** price columns from the original data, discarding all others.\n- **Filter rows** to include **only** the two companies: **`MSFT` (Microsoft)** and **`GOOGL` (Google)**.\n- **Standardize the date format** by converting **`date`** into a **string** formatted as **`YYYY-MM-DD`** (year-month-day).\n- **Sort the data** by **`symbol`** and then by **`date`** so that each company’s prices are in **chronological order**, making it ready for **line plotting over time**.\n- **Return** this cleaned and filtered dataset as the final result.","dialog":[{"role":"system","content":"You are a data scientist to help user explain code, \nso that a non-code can clearly understand what the code is doing, you are provided with a summary of the input data, and the transformation code.\n\nYour goal:\n1. You should generate a good itemized explanation of the code so that the reader can understand high-level steps of what the data transformation is doing.\n - Be very concise, and stay at a high-level. The reader doesn't understand code and does not want to learn exactly what the code is doing. They just want to learn what have been done from a logical level.\n - The explanation should be a markdown string that is a list of bullet points (with new lines), highlight constants, data fields, and important verbs.\n2. Generate a list of explanations for new fields (fields not from the input data) that introduce metrics/concepts that are not obvious from the code.\n - provide a declarative definition that explains the new field, use a mathematical notation if applicable.\n - only include new fields explanation of new metrics that are involved in computation (e.g., ROI, commerical_success_score)\n - *DO NOT* explain trivial new fields like \"Decade\" or \"Avg_Rating\", \"US_Sales\" that are self-explanatory.\n - Avoid explaining fields that are simple aggregate of fields in the original data (min_score, avg_value, count, etc.)\n - When a field involves mathematical computation, you can use LaTeX math notation in the explanation. Format mathematical expressions using:\n - Inline math: `\\( ... \\)` for formulas within text\n - Block math: `\\[ ... \\]` for standalone formulas\n - Examples: `\\( \\frac{\\text{Revenue}}{\\text{Cost}} \\)` for ratios, `\\[ \\text{Score} = \\text{Rating} \\times \\text{Worldwide\\_Gross} \\]` for formulas\n - note: when using underscores as part of the text, you need to escape them with a backslash, e.g., `\\_`\n - Note: don't use math notation for fields whose computation is trivial (use plain english), it will likely be confusing to the reader. \n Only use math notation for fields that can not be easilyexplained in plain english. Use it sparingly.\n3. If there are multiple fields that have the similar computation, you can explain them together in one explanation.\n - in \"field\", you can provide a list of fields in format of \"field1, field2, ...\"\n - in \"explanation\", you can provide a single explanation for the computation of the fields.\n - for example, if you have fields like \"Norm_Rating\", \"Norm_Gross\", \"Critical_Commercial_Score\", you can explain Norm_Rating, Norm_Gross together in one explanation and explain Critical_Commercial_Score in another explanation.\n4. If the code is about statistical analysis, you should explain the statistical analysis in the explanation as a concept named \"Statistical Analysis\" in the [CONCEPTS EXPLANATION] section.\n - explain how you model the data, which fields are used, how data processing is done, and what models are used.\n - suggest some other modeling approaches that can be used to analyze the data in the explanation as well.\n \nThe focus is to explain how new fields are computed, don't generate explanation for low-level actions like \"return\", \"load data\" etc. \n\nProvide the result in the following two sections:\n - first section is the code explanation that should be a markdown block explaining the code, in the [CODE EXPLANATION] section.\n - remember to highlight constants, data fields, and important verbs in the code explanation.\n - second section is the concepts explanation that should be a json block (start with ```json) in the [CONCEPTS EXPLANATION] section.\n\n[CODE EXPLANATION]\n\n...(explanation of the code)\n\n[CONCEPTS EXPLANATION]\n\n```json\n[\n {\n \"field\": \"...\",\n \"explanation\": \"...\"\n }\n]\n\n```\n"},{"role":"user","content":"[CONTEXT]\n\n## Table 1: history (738 rows × 8 columns)\n\n### Schema (8 fields)\n - symbol -- type: object, values: AAPL, AMZN, GOOGL, META, MSFT, NVDA\n - date -- type: object, values: 2025-07-30, 2025-07-31, 2025-08-01, ..., 2026-01-20, 2026-01-21, 2026-01-22, 2026-01-23\n - open -- type: float64, values: 167.53, 168.01, 169.07, ..., 781.21, 782.98, 785.25, 789.97\n - high -- type: float64, values: 169.01, 170.94, 170.96, ..., 789.62, 792.49, 794.28, 795.06\n - low -- type: float64, values: 164.05, 166.72, 167.2, ..., 771.36, 772.21, 777.07, 779.66\n - close -- type: float64, values: 167.0, 168.29, 170.28, ..., 779.09, 780.97, 784.06, 788.82\n - volume -- type: int64, values: 5627500, 5855900, 6861200, ..., 320600300, 324925900, 343504800, 346926200\n - fetched_at -- type: object, values: 2026-01-26T23:46:42.347312Z\n\n### Sample Data (first 5 rows)\n```\n symbol date open high low close volume fetched_at\n0 AAPL 2025-07-30 211.45 211.94 207.28 208.61 45512500 2026-01-26T23:46:42.347312Z\n1 AAPL 2025-07-31 208.05 209.40 206.72 207.13 80698400 2026-01-26T23:46:42.347312Z\n2 AAPL 2025-08-01 210.43 213.13 201.08 201.95 104434500 2026-01-26T23:46:42.347312Z\n3 AAPL 2025-08-04 204.08 207.44 201.26 202.92 75109300 2026-01-26T23:46:42.347312Z\n4 AAPL 2025-08-05 202.97 204.91 201.74 202.49 44155100 2026-01-26T23:46:42.347312Z\n```\n\n\n[CODE]\n\nhere is the transformation code: \nimport pandas as pd\nimport collections\nimport numpy as np\n\ndef transform_data(df_history: pd.DataFrame) -> pd.DataFrame:\n # Select only needed columns\n cols = [\"date\", \"symbol\", \"close\"]\n df = df_history[cols].copy()\n\n # Filter for Microsoft (MSFT) and Google (GOOGL)\n target_symbols = [\"MSFT\", \"GOOGL\"]\n df = df[df[\"symbol\"].isin(target_symbols)].copy()\n\n # Ensure date is a string in YYYY-MM-DD format (no datetime objects)\n df[\"date\"] = pd.to_datetime(df[\"date\"]).dt.strftime(\"%Y-%m-%d\")\n\n # Sort for proper line plotting\n df = df.sort_values([\"symbol\", \"date\"]).reset_index(drop=True)\n\n transformed_df = df\n return transformed_df\n\n\n[EXPLANATION]\n"},{"role":"assistant","content":"[CODE EXPLANATION]\n\n- **Keep only** the **`date`**, **`symbol`**, and **`close`** price columns from the original data, discarding all others.\n- **Filter rows** to include **only** the two companies: **`MSFT` (Microsoft)** and **`GOOGL` (Google)**.\n- **Standardize the date format** by converting **`date`** into a **string** formatted as **`YYYY-MM-DD`** (year-month-day).\n- **Sort the data** by **`symbol`** and then by **`date`** so that each company’s prices are in **chronological order**, making it ready for **line plotting over time**.\n- **Return** this cleaned and filtered dataset as the final result.\n\n[CONCEPTS EXPLANATION]\n\n```json\n[\n]\n```"}],"agent":"CodeExplanationAgent"}},"anchored":false,"createdBy":"user","attachedMetadata":""}],"charts":[{"id":"chart-1769471461230","chartType":"Scatter Plot","encodingMap":{"x":{"fieldID":"original--history--date"},"y":{"fieldID":"original--history--close"},"color":{"fieldID":"original--history--symbol"},"size":{"channel":"size","bin":false},"opacity":{"channel":"opacity","bin":false},"column":{"channel":"column","bin":false},"row":{"channel":"row","bin":false}},"tableRef":"table-457008","saved":false,"source":"user","unread":false},{"id":"chart-1769471279744","chartType":"Line Chart","encodingMap":{"x":{"fieldID":"original--history--date"},"y":{"fieldID":"concept-value-1769471267162-0.9509557182892663"},"color":{"fieldID":"original--history--symbol"},"opacity":{"channel":"opacity","bin":false},"column":{"fieldID":"concept-metric-1769471284653-0.6683773975324122"},"row":{"channel":"row","bin":false}},"tableRef":"table-277926","saved":false,"source":"user","unread":false},{"id":"chart-1769471263442","chartType":"Line Chart","encodingMap":{"x":{"fieldID":"original--history--date"},"y":{"fieldID":"concept-value-1769471267162-0.9509557182892663"},"color":{"fieldID":"original--history--symbol"},"opacity":{},"column":{"fieldID":"concept-ma_window-1769471267162-0.4410018093789688"},"row":{"channel":"row","bin":false}},"tableRef":"table-265247","saved":false,"source":"user","unread":false},{"id":"chart-1769471233467","chartType":"Line Chart","encodingMap":{"x":{"fieldID":"original--history--date"},"y":{"fieldID":"original--history--close"},"color":{"fieldID":"original--history--symbol"},"opacity":{"channel":"opacity","bin":false},"column":{"channel":"column","bin":false},"row":{"channel":"row","bin":false}},"tableRef":"table-233476","saved":false,"source":"user","unread":false}],"conceptShelfItems":[{"id":"concept-phase-1769471302041-0.7083067598600609","name":"phase","type":"auto","description":"","source":"custom","tableRef":"custom","temporary":true},{"id":"concept-metric-1769471284653-0.6683773975324122","name":"metric","type":"auto","description":"","source":"custom","tableRef":"custom","temporary":true},{"id":"concept-value-1769471267162-0.9509557182892663","name":"value","type":"auto","description":"","source":"custom","tableRef":"custom","temporary":true},{"id":"concept-ma_window-1769471267162-0.4410018093789688","name":"ma_window","type":"auto","description":"","source":"custom","tableRef":"custom","temporary":true},{"id":"original--history--symbol","name":"symbol","type":"string","source":"original","description":"","tableRef":"history"},{"id":"original--history--date","name":"date","type":"date","source":"original","description":"","tableRef":"history"},{"id":"original--history--open","name":"open","type":"number","source":"original","description":"","tableRef":"history"},{"id":"original--history--high","name":"high","type":"number","source":"original","description":"","tableRef":"history"},{"id":"original--history--low","name":"low","type":"number","source":"original","description":"","tableRef":"history"},{"id":"original--history--close","name":"close","type":"number","source":"original","description":"","tableRef":"history"},{"id":"original--history--volume","name":"volume","type":"integer","source":"original","description":"","tableRef":"history"},{"id":"original--history--fetched_at","name":"fetched_at","type":"date","source":"original","description":"","tableRef":"history"}],"messages":[{"timestamp":1769471466788,"component":"chart builder","type":"success","value":"Data formulation: \"Compare **closing price** trends of **MSFT** and **GOOGL** over **date**\""}],"displayedMessageIdx":1,"focusedTableId":"table-233476","focusedChartId":"chart-1769471233467","viewMode":"editor","chartSynthesisInProgress":[],"config":{"formulateTimeoutSeconds":60,"maxRepairAttempts":1,"defaultChartWidth":300,"defaultChartHeight":300},"agentActions":[{"actionId":"exploreDataFromNL_1769471236248","tableId":"table-294972","description":"- Compared raw close-price trajectories across six mega-cap stocks.\n- Analyzed 20/60-day moving averages plus returns, volatility, and volume.\n- Summarized phase (quarterly) performance: avg/cumulative returns and volatility by symbol.","status":"completed","hidden":false,"lastUpdate":1769471309407}],"dataCleanBlocks":[],"cleanInProgress":false,"generatedReports":[{"id":"report-1769471498009-9657","content":"# Monitoring Mega-Cap Tech: Price, Trends, and Risk at a Glance\n\nThis live report is built to help you track six large tech stocks (AAPL, AMZN, GOOGL, META, MSFT, NVDA) across price, trends, and risk. Each chart updates as new rows are added to the `history` table.\n\n[IMAGE(chart-1769471233467)]\n\nThe first chart shows daily closing prices over time for all six symbols. Use it to spot broad moves, compare relative price levels, and see when one stock starts to diverge from the group.\n\n[IMAGE(chart-1769471263442)]\n\nThe second chart adds 20‑day and 60‑day moving averages. Watch how actual prices relate to these smoother trend lines: crossovers, sustained gaps, or trend flattening can signal shifting momentum.\n\n[IMAGE(chart-1769471279744)]\n\nThe third set of panels tracks three risk and activity metrics: daily returns, 20‑day return volatility, and trading volume. Look for periods where volatility or volume spikes, or where returns cluster on one side.\n\n[IMAGE(chart-1769471461230)]\n\nThe final chart zooms in on GOOGL and MSFT closing prices, making it easier to compare their day‑to‑day paths without the distraction of other symbols.\n\n**In summary**, use these views together: price levels and trends, plus returns, volatility, and volume, to monitor how each stock is behaving and how relationships between them evolve over time. Possible follow‑ups: add alerts for threshold moves, overlay events (earnings, macro news), or include benchmark indices for context.","style":"live report","selectedChartIds":["chart-1769471279744","chart-1769471233467","chart-1769471461230","chart-1769471263442"],"createdAt":1769471511269}],"_persist":{"version":-1,"rehydrated":true}} \ No newline at end of file +{"tables":[{"id":"history","displayId":"stock-hist","names":["symbol","date","open","high","low","close","volume","fetched_at"],"metadata":{"symbol":{"type":"string","semanticType":"String"},"date":{"type":"date","semanticType":"Date"},"open":{"type":"number","semanticType":"Number"},"high":{"type":"number","semanticType":"Number"},"low":{"type":"number","semanticType":"Number"},"close":{"type":"number","semanticType":"Number"},"volume":{"type":"integer","semanticType":"Number"},"fetched_at":{"type":"date","semanticType":"DateTime"}},"rows":[{"symbol":"AAPL","date":"2025-07-31","open":208.05,"high":209.4,"low":206.72,"close":207.13,"volume":80698400,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2025-08-01","open":210.43,"high":213.13,"low":201.08,"close":201.95,"volume":104434500,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2025-08-04","open":204.08,"high":207.44,"low":201.26,"close":202.92,"volume":75109300,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2025-08-05","open":202.97,"high":204.91,"low":201.74,"close":202.49,"volume":44155100,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2025-08-06","open":205.2,"high":214.93,"low":205.16,"close":212.8,"volume":108483100,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2025-08-07","open":218.42,"high":220.39,"low":216.12,"close":219.57,"volume":90224800,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2025-08-08","open":220.37,"high":230.51,"low":218.79,"close":228.87,"volume":113854000,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2025-08-11","open":227.7,"high":229.34,"low":224.54,"close":226.96,"volume":61806100,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2025-08-12","open":227.79,"high":230.58,"low":226.85,"close":229.43,"volume":55626200,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2025-08-13","open":230.85,"high":234.77,"low":230.21,"close":233.1,"volume":69878500,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2025-08-14","open":233.83,"high":234.89,"low":230.63,"close":232.55,"volume":51916300,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2025-08-15","open":233.77,"high":234.05,"low":229.12,"close":231.37,"volume":56038700,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2025-08-18","open":231.48,"high":232.89,"low":229.89,"close":230.67,"volume":37476200,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2025-08-19","open":231.06,"high":232.64,"low":229.13,"close":230.34,"volume":39402600,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2025-08-20","open":229.76,"high":230.25,"low":225.55,"close":225.79,"volume":42263900,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2025-08-21","open":226.05,"high":226.3,"low":223.56,"close":224.68,"volume":30621200,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2025-08-22","open":225.95,"high":228.87,"low":225.19,"close":227.54,"volume":42477800,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2025-08-25","open":226.26,"high":229.08,"low":226.01,"close":226.94,"volume":30983100,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2025-08-26","open":226.65,"high":229.27,"low":224.47,"close":229.09,"volume":54575100,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2025-08-27","open":228.39,"high":230.68,"low":228.04,"close":230.27,"volume":31259500,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2025-08-28","open":230.6,"high":233.18,"low":229.12,"close":232.33,"volume":38074700,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2025-08-29","open":232.28,"high":233.15,"low":231.15,"close":231.92,"volume":39418400,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2025-09-02","open":229.03,"high":230.63,"low":226.75,"close":229.5,"volume":44075600,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2025-09-03","open":236.98,"high":238.62,"low":234.13,"close":238.24,"volume":66427800,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2025-09-04","open":238.22,"high":239.67,"low":236.51,"close":239.55,"volume":47549400,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2025-09-05","open":239.77,"high":241.09,"low":238.26,"close":239.46,"volume":54870400,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2025-09-08","open":239.07,"high":239.92,"low":236.11,"close":237.65,"volume":48999500,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2025-09-09","open":236.77,"high":238.55,"low":233.13,"close":234.12,"volume":66313900,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2025-09-10","open":231.97,"high":232.19,"low":225.73,"close":226.57,"volume":83440800,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2025-09-11","open":226.66,"high":230.23,"low":226.43,"close":229.81,"volume":50208600,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2025-09-12","open":229,"high":234.28,"low":228.8,"close":233.84,"volume":55824200,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2025-09-15","open":236.77,"high":237.96,"low":234.8,"close":236.47,"volume":42699500,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2025-09-16","open":236.95,"high":240.99,"low":236.09,"close":237.92,"volume":63421100,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2025-09-17","open":238.74,"high":239.87,"low":237.5,"close":238.76,"volume":46508000,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2025-09-18","open":239.74,"high":240.97,"low":236.42,"close":237.65,"volume":44249600,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2025-09-19","open":241,"high":246.06,"low":239.98,"close":245.26,"volume":163741300,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2025-09-22","open":248.06,"high":256.39,"low":247.88,"close":255.83,"volume":105517400,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2025-09-23","open":255.63,"high":257.09,"low":253.33,"close":254.18,"volume":60275200,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2025-09-24","open":254.97,"high":255.49,"low":250.8,"close":252.07,"volume":42303700,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2025-09-25","open":252.96,"high":256.92,"low":251.47,"close":256.62,"volume":55202100,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2025-09-26","open":253.85,"high":257.35,"low":253.53,"close":255.21,"volume":46076300,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2025-09-29","open":254.31,"high":254.75,"low":252.76,"close":254.18,"volume":40127700,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2025-09-30","open":254.61,"high":255.67,"low":252.86,"close":254.38,"volume":37704300,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2025-10-01","open":254.79,"high":258.54,"low":254.68,"close":255.2,"volume":48713900,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2025-10-02","open":256.33,"high":257.93,"low":253.9,"close":256.88,"volume":42630200,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2025-10-03","open":254.42,"high":258.99,"low":253.7,"close":257.77,"volume":49155600,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2025-10-06","open":257.74,"high":258.82,"low":254.8,"close":256.44,"volume":44664100,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2025-10-07","open":256.56,"high":257.15,"low":255.18,"close":256.23,"volume":31955800,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2025-10-08","open":256.27,"high":258.27,"low":255.86,"close":257.81,"volume":36496900,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2025-10-09","open":257.56,"high":257.75,"low":252.89,"close":253.79,"volume":38322000,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2025-10-10","open":254.69,"high":256.13,"low":243.76,"close":245.03,"volume":61999100,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2025-10-13","open":249.14,"high":249.45,"low":245.32,"close":247.42,"volume":38142900,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2025-10-14","open":246.36,"high":248.61,"low":244.46,"close":247.53,"volume":35478000,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2025-10-15","open":249.25,"high":251.58,"low":247.23,"close":249.1,"volume":33893600,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2025-10-16","open":248.01,"high":248.8,"low":244.89,"close":247.21,"volume":39777000,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2025-10-17","open":247.78,"high":253.13,"low":247.03,"close":252.05,"volume":49147000,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2025-10-20","open":255.64,"high":264.12,"low":255.38,"close":261.99,"volume":90483000,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2025-10-21","open":261.63,"high":265.03,"low":261.58,"close":262.52,"volume":46695900,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2025-10-22","open":262.4,"high":262.6,"low":255.18,"close":258.2,"volume":45015300,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2025-10-23","open":259.69,"high":260.37,"low":257.76,"close":259.33,"volume":32754900,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2025-10-24","open":260.94,"high":263.87,"low":258.93,"close":262.57,"volume":38253700,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2025-10-27","open":264.62,"high":268.86,"low":264.39,"close":268.55,"volume":44888200,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2025-10-28","open":268.73,"high":269.63,"low":267.89,"close":268.74,"volume":41534800,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2025-10-29","open":269.02,"high":271.15,"low":266.85,"close":269.44,"volume":51086700,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2025-10-30","open":271.73,"high":273.87,"low":268.22,"close":271.14,"volume":69886500,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2025-10-31","open":276.72,"high":277.05,"low":268.9,"close":270.11,"volume":86167100,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2025-11-03","open":270.16,"high":270.59,"low":265.99,"close":268.79,"volume":50194600,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2025-11-04","open":268.07,"high":271.23,"low":267.36,"close":269.78,"volume":49274800,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2025-11-05","open":268.35,"high":271.44,"low":266.67,"close":269.88,"volume":43683100,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2025-11-06","open":267.63,"high":273.14,"low":267.63,"close":269.51,"volume":51204000,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2025-11-07","open":269.54,"high":272.03,"low":266.51,"close":268.21,"volume":48227400,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2025-11-10","open":268.96,"high":273.73,"low":267.46,"close":269.43,"volume":41312400,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2025-11-11","open":269.81,"high":275.91,"low":269.8,"close":275.25,"volume":46208300,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2025-11-12","open":275,"high":275.73,"low":271.7,"close":273.47,"volume":48398000,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2025-11-13","open":274.11,"high":276.7,"low":272.09,"close":272.95,"volume":49602800,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2025-11-14","open":271.05,"high":275.96,"low":269.6,"close":272.41,"volume":47431300,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2025-11-17","open":268.82,"high":270.49,"low":265.73,"close":267.46,"volume":45018300,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2025-11-18","open":269.99,"high":270.71,"low":265.32,"close":267.44,"volume":45677300,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2025-11-19","open":265.53,"high":272.21,"low":265.5,"close":268.56,"volume":40424500,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2025-11-20","open":270.83,"high":275.43,"low":265.92,"close":266.25,"volume":45823600,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2025-11-21","open":265.95,"high":273.33,"low":265.67,"close":271.49,"volume":59030800,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2025-11-24","open":270.9,"high":277,"low":270.9,"close":275.92,"volume":65585800,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2025-11-25","open":275.27,"high":280.38,"low":275.25,"close":276.97,"volume":46914200,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2025-11-26","open":276.96,"high":279.53,"low":276.63,"close":277.55,"volume":33431400,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2025-11-28","open":277.26,"high":279,"low":275.99,"close":278.85,"volume":20135600,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2025-12-01","open":278.01,"high":283.42,"low":276.14,"close":283.1,"volume":46587700,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2025-12-02","open":283,"high":287.4,"low":282.63,"close":286.19,"volume":53669500,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2025-12-03","open":286.2,"high":288.62,"low":283.3,"close":284.15,"volume":43538700,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2025-12-04","open":284.1,"high":284.73,"low":278.59,"close":280.7,"volume":43989100,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2025-12-05","open":280.54,"high":281.14,"low":278.05,"close":278.78,"volume":47265800,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2025-12-08","open":278.13,"high":279.67,"low":276.15,"close":277.89,"volume":38211800,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2025-12-09","open":278.16,"high":280.03,"low":276.92,"close":277.18,"volume":32193300,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2025-12-10","open":277.75,"high":279.75,"low":276.44,"close":278.78,"volume":33038300,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2025-12-11","open":279.1,"high":279.59,"low":273.81,"close":278.03,"volume":33248000,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2025-12-12","open":277.9,"high":279.22,"low":276.82,"close":278.28,"volume":39532900,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2025-12-15","open":280.15,"high":280.15,"low":272.84,"close":274.11,"volume":50409100,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2025-12-16","open":272.82,"high":275.5,"low":271.79,"close":274.61,"volume":37648600,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2025-12-17","open":275.01,"high":276.16,"low":271.64,"close":271.84,"volume":50138700,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2025-12-18","open":273.61,"high":273.63,"low":266.95,"close":272.19,"volume":51630700,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2025-12-19","open":272.15,"high":274.6,"low":269.9,"close":273.67,"volume":144632000,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2025-12-22","open":272.86,"high":273.88,"low":270.51,"close":270.97,"volume":36571800,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2025-12-23","open":270.84,"high":272.5,"low":269.56,"close":272.36,"volume":29642000,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2025-12-24","open":272.34,"high":275.43,"low":272.2,"close":273.81,"volume":17910600,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2025-12-26","open":274.16,"high":275.37,"low":272.86,"close":273.4,"volume":21521800,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2025-12-29","open":272.69,"high":274.36,"low":272.35,"close":273.76,"volume":23715200,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2025-12-30","open":272.81,"high":274.08,"low":272.28,"close":273.08,"volume":22139600,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2025-12-31","open":273.06,"high":273.68,"low":271.75,"close":271.86,"volume":27293600,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2026-01-02","open":272.26,"high":277.84,"low":269,"close":271.01,"volume":37838100,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2026-01-05","open":270.64,"high":271.51,"low":266.14,"close":267.26,"volume":45647200,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2026-01-06","open":267,"high":267.55,"low":262.12,"close":262.36,"volume":52352100,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2026-01-07","open":263.2,"high":263.68,"low":259.81,"close":260.33,"volume":48309800,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2026-01-08","open":257.02,"high":259.29,"low":255.7,"close":259.04,"volume":50419300,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2026-01-09","open":259.08,"high":260.21,"low":256.22,"close":259.37,"volume":39997000,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2026-01-12","open":259.16,"high":261.3,"low":256.8,"close":260.25,"volume":45263800,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2026-01-13","open":258.72,"high":261.81,"low":258.39,"close":261.05,"volume":45730800,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2026-01-14","open":259.49,"high":261.82,"low":256.71,"close":259.96,"volume":40019400,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2026-01-15","open":260.65,"high":261.04,"low":257.05,"close":258.21,"volume":39388600,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2026-01-16","open":257.9,"high":258.9,"low":254.93,"close":255.53,"volume":72142800,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2026-01-20","open":252.73,"high":254.79,"low":243.42,"close":246.7,"volume":80267500,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2026-01-21","open":248.7,"high":251.56,"low":245.18,"close":247.65,"volume":54641700,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2026-01-22","open":249.2,"high":251,"low":248.15,"close":248.35,"volume":39708300,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2026-01-23","open":247.32,"high":249.41,"low":244.68,"close":248.04,"volume":41689000,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AAPL","date":"2026-01-26","open":251.48,"high":256.56,"low":249.8,"close":255.41,"volume":55857900,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2025-07-31","open":235.77,"high":236.53,"low":231.4,"close":234.11,"volume":104357300,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2025-08-01","open":217.21,"high":220.44,"low":212.8,"close":214.75,"volume":122258800,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2025-08-04","open":217.4,"high":217.44,"low":211.42,"close":211.65,"volume":77890100,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2025-08-05","open":213.05,"high":216.3,"low":212.87,"close":213.75,"volume":51505100,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2025-08-06","open":214.7,"high":222.65,"low":213.74,"close":222.31,"volume":54823000,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2025-08-07","open":221,"high":226.22,"low":220.82,"close":223.13,"volume":40603500,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2025-08-08","open":223.14,"high":223.8,"low":221.88,"close":222.69,"volume":32970500,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2025-08-11","open":221.78,"high":223.05,"low":220.4,"close":221.3,"volume":31646200,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2025-08-12","open":222.23,"high":223.5,"low":219.05,"close":221.47,"volume":37185800,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2025-08-13","open":222,"high":224.92,"low":222,"close":224.56,"volume":36508300,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2025-08-14","open":227.4,"high":233.11,"low":227.02,"close":230.98,"volume":61545800,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2025-08-15","open":232.58,"high":234.08,"low":229.81,"close":231.03,"volume":39649200,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2025-08-18","open":230.23,"high":231.91,"low":228.33,"close":231.49,"volume":25248900,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2025-08-19","open":230.09,"high":230.53,"low":227.12,"close":228.01,"volume":29891000,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2025-08-20","open":227.12,"high":227.27,"low":220.92,"close":223.81,"volume":36604300,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2025-08-21","open":222.65,"high":222.78,"low":220.5,"close":221.95,"volume":32140500,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2025-08-22","open":222.79,"high":229.14,"low":220.82,"close":228.84,"volume":37315300,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2025-08-25","open":227.35,"high":229.6,"low":227.31,"close":227.94,"volume":22633700,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2025-08-26","open":227.11,"high":229,"low":226.02,"close":228.71,"volume":26105400,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2025-08-27","open":228.57,"high":229.87,"low":227.81,"close":229.12,"volume":21254500,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2025-08-28","open":229.01,"high":232.71,"low":228.02,"close":231.6,"volume":33679600,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2025-08-29","open":231.32,"high":231.81,"low":228.16,"close":229,"volume":26199200,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2025-09-02","open":223.52,"high":226.17,"low":221.83,"close":225.34,"volume":38843900,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2025-09-03","open":225.21,"high":227.17,"low":224.36,"close":225.99,"volume":29223100,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2025-09-04","open":231.19,"high":235.77,"low":230.78,"close":235.68,"volume":59391800,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2025-09-05","open":235.19,"high":236,"low":231.93,"close":232.33,"volume":36721800,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2025-09-08","open":234.94,"high":237.6,"low":233.75,"close":235.84,"volume":33947100,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2025-09-09","open":236.36,"high":238.85,"low":235.08,"close":238.24,"volume":27033800,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2025-09-10","open":237.52,"high":237.68,"low":229.1,"close":230.33,"volume":60907700,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2025-09-11","open":231.49,"high":231.53,"low":229.34,"close":229.95,"volume":37485600,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2025-09-12","open":230.35,"high":230.79,"low":226.29,"close":228.15,"volume":38496200,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2025-09-15","open":230.63,"high":233.73,"low":230.32,"close":231.43,"volume":33243300,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2025-09-16","open":232.94,"high":235.9,"low":232.23,"close":234.05,"volume":38203900,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2025-09-17","open":233.77,"high":234.3,"low":228.71,"close":231.62,"volume":42815200,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2025-09-18","open":232.5,"high":233.48,"low":228.79,"close":231.23,"volume":37931700,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2025-09-19","open":232.37,"high":234.16,"low":229.7,"close":231.48,"volume":97943200,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2025-09-22","open":230.56,"high":230.57,"low":227.51,"close":227.63,"volume":45914500,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2025-09-23","open":227.83,"high":227.86,"low":220.07,"close":220.71,"volume":70956200,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2025-09-24","open":224.15,"high":224.56,"low":219.45,"close":220.21,"volume":49509000,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2025-09-25","open":220.06,"high":220.67,"low":216.47,"close":218.15,"volume":52226300,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2025-09-26","open":219.08,"high":221.05,"low":218.02,"close":219.78,"volume":41650100,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2025-09-29","open":220.08,"high":222.6,"low":219.3,"close":222.17,"volume":44259200,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2025-09-30","open":222.03,"high":222.24,"low":217.89,"close":219.57,"volume":48396400,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2025-10-01","open":217.36,"high":222.15,"low":216.61,"close":220.63,"volume":43933800,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2025-10-02","open":221.01,"high":222.81,"low":218.95,"close":222.41,"volume":41258600,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2025-10-03","open":223.44,"high":224.2,"low":219.34,"close":219.51,"volume":43639000,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2025-10-06","open":221,"high":221.73,"low":216.03,"close":220.9,"volume":43690900,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2025-10-07","open":220.88,"high":222.89,"low":220.17,"close":221.78,"volume":31194700,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2025-10-08","open":222.92,"high":226.73,"low":221.19,"close":225.22,"volume":46686000,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2025-10-09","open":225,"high":228.21,"low":221.75,"close":227.74,"volume":46412100,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2025-10-10","open":226.21,"high":228.25,"low":216,"close":216.37,"volume":72367500,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2025-10-13","open":217.7,"high":220.68,"low":217.04,"close":220.07,"volume":37809700,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2025-10-14","open":215.56,"high":219.32,"low":212.6,"close":216.39,"volume":45665600,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2025-10-15","open":216.62,"high":217.71,"low":212.66,"close":215.57,"volume":45909500,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2025-10-16","open":215.67,"high":218.59,"low":212.81,"close":214.47,"volume":42414600,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2025-10-17","open":214.56,"high":214.8,"low":211.03,"close":213.04,"volume":45986900,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2025-10-20","open":213.88,"high":216.69,"low":213.59,"close":216.48,"volume":38882800,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2025-10-21","open":218.43,"high":223.32,"low":217.99,"close":222.03,"volume":50494600,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2025-10-22","open":219.3,"high":220.01,"low":216.52,"close":217.95,"volume":44308500,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2025-10-23","open":219,"high":221.3,"low":218.18,"close":221.09,"volume":31540000,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2025-10-24","open":221.97,"high":225.4,"low":221.9,"close":224.21,"volume":38685100,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2025-10-27","open":227.66,"high":228.4,"low":225.54,"close":226.97,"volume":38267000,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2025-10-28","open":228.22,"high":231.49,"low":226.21,"close":229.25,"volume":47100000,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2025-10-29","open":231.67,"high":232.82,"low":227.76,"close":230.3,"volume":52036200,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2025-10-30","open":227.06,"high":228.44,"low":222.75,"close":222.86,"volume":102252900,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2025-10-31","open":250.1,"high":250.5,"low":243.98,"close":244.22,"volume":166340800,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2025-11-03","open":255.36,"high":258.6,"low":252.9,"close":254,"volume":95997800,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2025-11-04","open":250.38,"high":257.01,"low":248.66,"close":249.32,"volume":51546300,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2025-11-05","open":249.03,"high":251,"low":246.16,"close":250.2,"volume":40610700,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2025-11-06","open":249.16,"high":250.38,"low":242.17,"close":243.04,"volume":46004200,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2025-11-07","open":242.9,"high":244.9,"low":238.49,"close":244.41,"volume":46374300,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2025-11-10","open":248.34,"high":251.75,"low":245.59,"close":248.4,"volume":36476500,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2025-11-11","open":248.41,"high":249.75,"low":247.23,"close":249.1,"volume":23564100,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2025-11-12","open":250.24,"high":250.37,"low":243.75,"close":244.2,"volume":31190100,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2025-11-13","open":243.05,"high":243.75,"low":236.5,"close":237.58,"volume":41401700,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2025-11-14","open":235.06,"high":238.73,"low":232.89,"close":234.69,"volume":38956700,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2025-11-17","open":233.25,"high":234.6,"low":229.19,"close":232.87,"volume":59919000,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2025-11-18","open":228.1,"high":230.2,"low":222.42,"close":222.55,"volume":60608400,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2025-11-19","open":223.74,"high":223.74,"low":218.52,"close":222.69,"volume":58335600,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2025-11-20","open":227.05,"high":227.41,"low":216.74,"close":217.14,"volume":50309000,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2025-11-21","open":216.35,"high":222.21,"low":215.18,"close":220.69,"volume":68490500,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2025-11-24","open":222.56,"high":227.33,"low":222.27,"close":226.28,"volume":54318400,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2025-11-25","open":226.38,"high":230.52,"low":223.8,"close":229.67,"volume":39379300,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2025-11-26","open":230.74,"high":231.75,"low":228.77,"close":229.16,"volume":38497900,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2025-11-28","open":231.24,"high":233.29,"low":230.22,"close":233.22,"volume":20292300,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2025-12-01","open":233.22,"high":235.8,"low":232.25,"close":233.88,"volume":42904000,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2025-12-02","open":235.01,"high":238.97,"low":233.55,"close":234.42,"volume":45785400,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2025-12-03","open":233.35,"high":233.38,"low":230.61,"close":232.38,"volume":35495100,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2025-12-04","open":232.77,"high":233.5,"low":226.8,"close":229.11,"volume":45683200,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2025-12-05","open":230.32,"high":231.24,"low":228.55,"close":229.53,"volume":33117400,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2025-12-08","open":229.59,"high":230.83,"low":226.27,"close":226.89,"volume":35019200,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2025-12-09","open":226.84,"high":228.57,"low":225.11,"close":227.92,"volume":25841700,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2025-12-10","open":228.81,"high":232.42,"low":228.46,"close":231.78,"volume":38790700,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2025-12-11","open":230.71,"high":232.11,"low":228.69,"close":230.28,"volume":28249600,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2025-12-12","open":229.87,"high":230.08,"low":225.12,"close":226.19,"volume":35639100,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2025-12-15","open":227.93,"high":227.93,"low":221.5,"close":222.54,"volume":47286100,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2025-12-16","open":223.04,"high":223.66,"low":221.13,"close":222.56,"volume":39298900,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2025-12-17","open":224.66,"high":225.19,"low":220.99,"close":221.27,"volume":44034400,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2025-12-18","open":225.71,"high":229.23,"low":224.41,"close":226.76,"volume":50272400,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2025-12-19","open":226.76,"high":229.13,"low":225.58,"close":227.35,"volume":85544400,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2025-12-22","open":228.61,"high":229.48,"low":226.71,"close":228.43,"volume":32261300,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2025-12-23","open":229.06,"high":232.45,"low":228.73,"close":232.14,"volume":29230200,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2025-12-24","open":232.13,"high":232.95,"low":231.33,"close":232.38,"volume":11420500,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2025-12-26","open":232.04,"high":232.99,"low":231.18,"close":232.52,"volume":15994700,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2025-12-29","open":231.94,"high":232.6,"low":230.77,"close":232.07,"volume":19797900,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2025-12-30","open":231.21,"high":232.77,"low":230.2,"close":232.53,"volume":21910500,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2025-12-31","open":232.91,"high":232.99,"low":230.12,"close":230.82,"volume":24383700,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2026-01-02","open":231.34,"high":235.46,"low":224.7,"close":226.5,"volume":51456200,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2026-01-05","open":228.84,"high":234,"low":227.18,"close":233.06,"volume":49733300,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2026-01-06","open":232.1,"high":243.18,"low":232.07,"close":240.93,"volume":53764700,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2026-01-07","open":239.61,"high":245.29,"low":239.52,"close":241.56,"volume":42236500,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2026-01-08","open":243.06,"high":246.41,"low":241.88,"close":246.29,"volume":39509800,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2026-01-09","open":244.57,"high":247.86,"low":242.24,"close":247.38,"volume":34560000,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2026-01-12","open":246.73,"high":248.94,"low":245.96,"close":246.47,"volume":35867800,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2026-01-13","open":246.53,"high":247.66,"low":240.25,"close":242.6,"volume":38371800,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2026-01-14","open":241.15,"high":241.28,"low":236.22,"close":236.65,"volume":41410600,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2026-01-15","open":239.31,"high":240.65,"low":236.63,"close":238.18,"volume":43003600,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2026-01-16","open":239.09,"high":239.57,"low":236.41,"close":239.12,"volume":45888300,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2026-01-20","open":233.76,"high":235.09,"low":229.34,"close":231,"volume":47737900,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2026-01-21","open":231.09,"high":232.3,"low":226.88,"close":231.31,"volume":47276100,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2026-01-22","open":234.05,"high":235.72,"low":230.9,"close":234.34,"volume":31913300,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2026-01-23","open":234.96,"high":240.45,"low":234.57,"close":239.16,"volume":33778500,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"AMZN","date":"2026-01-26","open":239.98,"high":240.95,"low":237.54,"close":238.42,"volume":32764700,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2025-07-31","open":195.41,"high":195.69,"low":190.79,"close":191.6,"volume":51329200,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2025-08-01","open":188.74,"high":190.53,"low":187.53,"close":188.84,"volume":34832200,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2025-08-04","open":190,"high":194.97,"low":189.83,"close":194.74,"volume":31547400,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2025-08-05","open":194.41,"high":197.55,"low":193.59,"close":194.37,"volume":31602300,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2025-08-06","open":194.2,"high":196.33,"low":193.37,"close":195.79,"volume":21562900,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2025-08-07","open":196.76,"high":197.23,"low":194.03,"close":196.22,"volume":26321800,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2025-08-08","open":196.91,"high":202.3,"low":196.87,"close":201.11,"volume":39161800,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2025-08-11","open":200.63,"high":201.17,"low":198.76,"close":200.69,"volume":25832400,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2025-08-12","open":201.06,"high":204.18,"low":200.28,"close":203.03,"volume":30397900,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2025-08-13","open":203.81,"high":204.21,"low":197.2,"close":201.65,"volume":28342900,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2025-08-14","open":201.19,"high":204.12,"low":200.92,"close":202.63,"volume":25230400,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2025-08-15","open":203.53,"high":206.12,"low":200.97,"close":203.58,"volume":34931400,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2025-08-18","open":203.88,"high":204.95,"low":202.18,"close":203.19,"volume":18526600,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2025-08-19","open":202.72,"high":203.13,"low":199.65,"close":201.26,"volume":24240200,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2025-08-20","open":200.42,"high":200.97,"low":196.3,"close":199.01,"volume":28955500,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2025-08-21","open":199.44,"high":202.17,"low":199.12,"close":199.44,"volume":19774600,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2025-08-22","open":202.42,"high":208.22,"low":200.99,"close":205.77,"volume":42827000,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2025-08-25","open":206.11,"high":210.19,"low":204.96,"close":208.17,"volume":29928900,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2025-08-26","open":207.19,"high":207.53,"low":205.38,"close":206.82,"volume":28464100,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2025-08-27","open":205.38,"high":208.59,"low":205.33,"close":207.16,"volume":23022900,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2025-08-28","open":206.93,"high":211.89,"low":206.58,"close":211.31,"volume":32339300,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2025-08-29","open":210.18,"high":214.32,"low":209.87,"close":212.58,"volume":39728400,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2025-09-02","open":208.12,"high":211.35,"low":205.88,"close":211.02,"volume":47523000,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2025-09-03","open":225.86,"high":230.95,"low":224.44,"close":230.3,"volume":103336100,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2025-09-04","open":229.29,"high":232.01,"low":225.76,"close":231.94,"volume":51684200,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2025-09-05","open":231.84,"high":235.4,"low":231.54,"close":234.64,"volume":46588900,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2025-09-08","open":235.32,"high":237.97,"low":233.52,"close":233.89,"volume":32474700,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2025-09-09","open":234.02,"high":240.31,"low":233.08,"close":239.47,"volume":38061000,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2025-09-10","open":238.74,"high":241.5,"low":237.69,"close":239.01,"volume":35141100,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2025-09-11","open":239.72,"high":242.09,"low":236.1,"close":240.21,"volume":30599300,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2025-09-12","open":240.21,"high":241.92,"low":237.84,"close":240.64,"volume":26771600,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2025-09-15","open":244.5,"high":252.25,"low":244.5,"close":251.45,"volume":58383800,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2025-09-16","open":251.92,"high":252.87,"low":249.31,"close":251,"volume":34109700,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2025-09-17","open":251.06,"high":251.44,"low":246.12,"close":249.37,"volume":34108000,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2025-09-18","open":251.52,"high":253.82,"low":249.64,"close":251.87,"volume":31239500,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2025-09-19","open":253.08,"high":255.83,"low":251.65,"close":254.55,"volume":55571400,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2025-09-22","open":254.26,"high":255.61,"low":250.14,"close":252.36,"volume":32290500,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2025-09-23","open":252.87,"high":254.19,"low":250.32,"close":251.5,"volume":26628000,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2025-09-24","open":251.5,"high":252.19,"low":246.28,"close":246.98,"volume":28201000,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2025-09-25","open":244.24,"high":246.33,"low":240.58,"close":245.63,"volume":31020400,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2025-09-26","open":246.91,"high":249.26,"low":245.81,"close":246.38,"volume":18503200,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2025-09-29","open":247.69,"high":250.99,"low":242.61,"close":243.89,"volume":32505800,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2025-09-30","open":242.65,"high":243.13,"low":239.09,"close":242.94,"volume":34724300,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2025-10-01","open":240.59,"high":246.14,"low":238.45,"close":244.74,"volume":31658200,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2025-10-02","open":244.99,"high":246.65,"low":242.14,"close":245.53,"volume":25483300,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2025-10-03","open":244.33,"high":246.14,"low":241.5,"close":245.19,"volume":30249600,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2025-10-06","open":244.62,"high":251.16,"low":244.42,"close":250.27,"volume":28894700,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2025-10-07","open":248.11,"high":250.28,"low":245.36,"close":245.6,"volume":23181300,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2025-10-08","open":244.8,"high":245.85,"low":243.66,"close":244.46,"volume":21307100,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2025-10-09","open":244.31,"high":244.6,"low":238.99,"close":241.37,"volume":27892100,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2025-10-10","open":241.27,"high":243.93,"low":235.69,"close":236.42,"volume":33180300,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2025-10-13","open":240.05,"high":244.34,"low":239.55,"close":243.99,"volume":24995000,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2025-10-14","open":241.07,"high":246.96,"low":240.35,"close":245.29,"volume":22111600,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2025-10-15","open":247.09,"high":251.95,"low":245.83,"close":250.87,"volume":27007700,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2025-10-16","open":251.61,"high":256.79,"low":249.94,"close":251.3,"volume":27997200,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2025-10-17","open":250.6,"high":254.05,"low":247.65,"close":253.13,"volume":29671600,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2025-10-20","open":254.52,"high":257.16,"low":254.06,"close":256.38,"volume":22350200,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2025-10-21","open":254.57,"high":254.71,"low":243.99,"close":250.3,"volume":47312100,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2025-10-22","open":254.2,"high":256.19,"low":249.13,"close":251.53,"volume":35029400,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2025-10-23","open":252.81,"high":254.87,"low":251.69,"close":252.91,"volume":19901400,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2025-10-24","open":256.41,"high":261.51,"low":255.15,"close":259.75,"volume":28655100,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2025-10-27","open":264.65,"high":269.96,"low":264.11,"close":269.09,"volume":35235200,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2025-10-28","open":269.51,"high":270.55,"low":266.33,"close":267.3,"volume":29738600,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2025-10-29","open":267.57,"high":275.16,"low":267.5,"close":274.39,"volume":43580300,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2025-10-30","open":291.4,"high":291.4,"low":279.88,"close":281.3,"volume":74876000,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2025-10-31","open":283.02,"high":285.81,"low":276.85,"close":281.01,"volume":39267900,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2025-11-03","open":282,"high":285.34,"low":279.62,"close":283.53,"volume":29786000,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2025-11-04","open":276.57,"high":281.09,"low":276.08,"close":277.36,"volume":30078400,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2025-11-05","open":278.69,"high":286.23,"low":277.16,"close":284.12,"volume":31010300,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2025-11-06","open":285.14,"high":288.16,"low":280.96,"close":284.56,"volume":37173600,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2025-11-07","open":283.02,"high":283.59,"low":275.01,"close":278.65,"volume":34479600,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2025-11-10","open":284.23,"high":290.61,"low":282.68,"close":289.91,"volume":29557300,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2025-11-11","open":287.56,"high":291.73,"low":287.13,"close":291.12,"volume":19842100,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2025-11-12","open":291.49,"high":291.82,"low":283.5,"close":286.52,"volume":24829900,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2025-11-13","open":282.16,"high":282.66,"low":277.06,"close":278.39,"volume":29494000,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2025-11-14","open":271.23,"high":278.38,"low":270.52,"close":276.23,"volume":31647200,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2025-11-17","open":285.59,"high":293.76,"low":283.38,"close":284.83,"volume":52670200,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2025-11-18","open":287.73,"high":288.61,"low":278.02,"close":284.09,"volume":49158700,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2025-11-19","open":286.97,"high":303.61,"low":286.44,"close":292.62,"volume":68198900,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2025-11-20","open":304.34,"high":306.22,"low":288.48,"close":289.26,"volume":62025200,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2025-11-21","open":296.23,"high":303.72,"low":293.66,"close":299.46,"volume":74137700,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2025-11-24","open":310.93,"high":319.27,"low":309.4,"close":318.37,"volume":85165100,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2025-11-25","open":326,"high":328.62,"low":317.44,"close":323.23,"volume":88632100,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2025-11-26","open":320.47,"high":324.29,"low":316.58,"close":319.74,"volume":51373400,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2025-11-28","open":323.16,"high":326.64,"low":316.58,"close":319.97,"volume":26018600,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2025-12-01","open":317.49,"high":319.64,"low":313.68,"close":314.68,"volume":41183000,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2025-12-02","open":316.53,"high":318.17,"low":313.7,"close":315.6,"volume":35854700,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2025-12-03","open":315.68,"high":321.37,"low":313.89,"close":319.42,"volume":41838300,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2025-12-04","open":322.02,"high":322.15,"low":314.49,"close":317.41,"volume":31240900,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2025-12-05","open":319.28,"high":322.95,"low":318.96,"close":321.06,"volume":28851700,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2025-12-08","open":320.05,"high":320.44,"low":311.22,"close":313.72,"volume":33909400,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2025-12-09","open":312.37,"high":317.99,"low":311.9,"close":317.08,"volume":30194000,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2025-12-10","open":315.83,"high":321.31,"low":314.68,"close":320.21,"volume":33428900,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2025-12-11","open":320.08,"high":321.12,"low":308.6,"close":312.43,"volume":42353700,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2025-12-12","open":313.7,"high":314.87,"low":305.56,"close":309.29,"volume":35940200,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2025-12-15","open":311.32,"high":311.42,"low":304.88,"close":308.22,"volume":29151900,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2025-12-16","open":304.95,"high":310.77,"low":302.59,"close":306.57,"volume":30585000,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2025-12-17","open":308.01,"high":308.09,"low":296.12,"close":296.72,"volume":43930400,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2025-12-18","open":301.72,"high":303.96,"low":299.23,"close":302.46,"volume":33518000,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2025-12-19","open":301.73,"high":307.25,"low":300.97,"close":307.16,"volume":59943200,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2025-12-22","open":309.88,"high":310.13,"low":305.3,"close":309.78,"volume":26429900,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2025-12-23","open":309.63,"high":314.94,"low":309.32,"close":314.35,"volume":25478700,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2025-12-24","open":314.77,"high":315.08,"low":311.92,"close":314.09,"volume":10097400,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2025-12-26","open":314.48,"high":315.09,"low":312.28,"close":313.51,"volume":10899000,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2025-12-29","open":311.37,"high":314.02,"low":310.62,"close":313.56,"volume":19621800,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2025-12-30","open":312.5,"high":316.95,"low":312.46,"close":313.85,"volume":17380900,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2025-12-31","open":312.85,"high":314.58,"low":311.44,"close":313,"volume":16377700,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2026-01-02","open":316.9,"high":322.5,"low":310.33,"close":315.15,"volume":32009400,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2026-01-05","open":317.66,"high":319.02,"low":314.63,"close":316.54,"volume":30195600,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2026-01-06","open":316.4,"high":320.94,"low":311.78,"close":314.34,"volume":31212100,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2026-01-07","open":314.36,"high":326.15,"low":314.19,"close":321.98,"volume":35104400,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2026-01-08","open":328.97,"high":330.32,"low":321.5,"close":325.44,"volume":31896100,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2026-01-09","open":327.09,"high":330.83,"low":325.8,"close":328.57,"volume":26214200,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2026-01-12","open":325.8,"high":334.04,"low":325,"close":331.86,"volume":33923900,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2026-01-13","open":334.95,"high":340.49,"low":333.62,"close":335.97,"volume":33517600,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2026-01-14","open":335.06,"high":336.52,"low":330.48,"close":335.84,"volume":28525600,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2026-01-15","open":337.65,"high":337.69,"low":330.74,"close":332.78,"volume":28442400,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2026-01-16","open":334.41,"high":334.65,"low":327.7,"close":330,"volume":40341600,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2026-01-20","open":320.87,"high":327.73,"low":320.43,"close":322,"volume":35361000,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2026-01-21","open":320.92,"high":332.48,"low":319.35,"close":328.38,"volume":35386600,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2026-01-22","open":334.45,"high":335.15,"low":328.75,"close":330.54,"volume":26253600,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2026-01-23","open":332.49,"high":333.69,"low":327.45,"close":327.93,"volume":27280000,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"GOOGL","date":"2026-01-26","open":327.81,"high":335.84,"low":327,"close":333.26,"volume":26011100,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2025-07-31","open":774.05,"high":783.58,"low":764.37,"close":772.29,"volume":38831100,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2025-08-01","open":759.6,"high":764.86,"low":744.2,"close":748.89,"volume":19028700,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2025-08-04","open":758.87,"high":775.69,"low":757.28,"close":775.21,"volume":15801700,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2025-08-05","open":775.29,"high":781.96,"low":761.86,"close":762.32,"volume":11640300,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2025-08-06","open":768.85,"high":772.49,"low":759.33,"close":770.84,"volume":9733900,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2025-08-07","open":772.34,"high":773.85,"low":758.42,"close":760.7,"volume":9019700,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2025-08-08","open":761.61,"high":768.75,"low":757.45,"close":768.15,"volume":7320800,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2025-08-11","open":768.93,"high":772.31,"low":763.53,"close":764.73,"volume":7612000,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2025-08-12","open":771.85,"high":792.49,"low":771.28,"close":788.82,"volume":14563100,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2025-08-13","open":789.97,"high":794.28,"low":777.07,"close":778.92,"volume":8811800,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2025-08-14","open":776.72,"high":786.64,"low":771.36,"close":780.97,"volume":8116200,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2025-08-15","open":782.98,"high":795.06,"low":779.66,"close":784.06,"volume":13375400,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2025-08-18","open":773.94,"high":774.65,"low":755.43,"close":766.23,"volume":16513700,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2025-08-19","open":765.98,"high":766.03,"low":748.24,"close":750.36,"volume":12286700,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2025-08-20","open":746.46,"high":749.08,"low":729.91,"close":746.61,"volume":11898200,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2025-08-21","open":743.6,"high":744.39,"low":732.02,"close":738,"volume":8876300,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2025-08-22","open":738.13,"high":755.77,"low":733.3,"close":753.67,"volume":10612700,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2025-08-25","open":753.7,"high":757.75,"low":749.01,"close":752.18,"volume":6861200,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2025-08-26","open":749.68,"high":753.75,"low":746.83,"close":752.98,"volume":7601800,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2025-08-27","open":751.18,"high":753.03,"low":741.73,"close":746.27,"volume":8315400,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2025-08-28","open":742.89,"high":751.93,"low":739.7,"close":749.99,"volume":7468000,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2025-08-29","open":744.17,"high":746.03,"low":734.26,"close":737.6,"volume":9070500,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2025-09-02","open":724.96,"high":734.9,"low":720.66,"close":734.02,"volume":9350900,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2025-09-03","open":734.9,"high":739.15,"low":732.9,"close":735.95,"volume":7699300,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2025-09-04","open":747.46,"high":760.03,"low":744.71,"close":747.54,"volume":11439100,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2025-09-05","open":751.5,"high":756.82,"low":743.92,"close":751.33,"volume":9663400,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2025-09-08","open":754.87,"high":765.37,"low":750.9,"close":751.18,"volume":13087800,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2025-09-09","open":756.36,"high":765.16,"low":752.31,"close":764.56,"volume":10999000,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2025-09-10","open":763.99,"high":764.56,"low":749.88,"close":750.86,"volume":12478300,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2025-09-11","open":753.53,"high":755.97,"low":747.26,"close":749.78,"volume":7923300,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2025-09-12","open":747.62,"high":756.44,"low":742.65,"close":754.47,"volume":8248600,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2025-09-15","open":756.34,"high":772.92,"low":750.87,"close":763.56,"volume":10533800,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2025-09-16","open":765.86,"high":780.2,"low":763.96,"close":777.84,"volume":11782500,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2025-09-17","open":778.83,"high":782.12,"low":765.17,"close":774.57,"volume":9400900,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2025-09-18","open":779.59,"high":787.61,"low":772.21,"close":779.09,"volume":10955000,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2025-09-19","open":785.25,"high":789.62,"low":768.04,"close":777.22,"volume":23696800,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2025-09-22","open":781.21,"high":785.09,"low":763.85,"close":764.54,"volume":11706900,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2025-09-23","open":768.62,"high":769.97,"low":750.46,"close":754.78,"volume":10872600,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2025-09-24","open":756.88,"high":760.49,"low":751.92,"close":760.04,"volume":8828200,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2025-09-25","open":752.84,"high":756.15,"low":743.94,"close":748.3,"volume":10591100,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2025-09-26","open":749.39,"high":751.32,"low":736.75,"close":743.14,"volume":9696300,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2025-09-29","open":748.11,"high":750.17,"low":738.55,"close":742.79,"volume":9246800,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2025-09-30","open":741.65,"high":742.36,"low":725.71,"close":733.78,"volume":16226800,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2025-10-01","open":720.9,"high":721.26,"low":709.62,"close":716.76,"volume":20419600,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2025-10-02","open":721.99,"high":727.18,"low":717.55,"close":726.46,"volume":11415300,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2025-10-03","open":729.04,"high":730.4,"low":709.6,"close":709.98,"volume":16154300,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2025-10-06","open":704.62,"high":716.3,"low":689.95,"close":715.08,"volume":21654700,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2025-10-07","open":717.14,"high":717.91,"low":705.17,"close":712.5,"volume":12062900,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2025-10-08","open":712.87,"high":719.06,"low":707.23,"close":717.26,"volume":10790600,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2025-10-09","open":717.69,"high":732.91,"low":711.86,"close":732.91,"volume":12717200,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2025-10-10","open":730.32,"high":734.67,"low":703.94,"close":704.73,"volume":16980100,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2025-10-13","open":712.43,"high":719.35,"low":707.06,"close":715.12,"volume":9251800,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2025-10-14","open":707.2,"high":714.97,"low":698.76,"close":708.07,"volume":8829800,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2025-10-15","open":716.48,"high":723.31,"low":708.93,"close":716.97,"volume":10246800,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2025-10-16","open":716.97,"high":724.9,"low":703.31,"close":711.49,"volume":9017000,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2025-10-17","open":706.5,"high":717.95,"low":705.54,"close":716.34,"volume":12232400,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2025-10-20","open":720.6,"high":733.17,"low":719.59,"close":731.57,"volume":8900200,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2025-10-21","open":735.42,"high":737.9,"low":728.16,"close":732.67,"volume":7647300,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2025-10-22","open":733.23,"high":740,"low":723.44,"close":732.81,"volume":8734500,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2025-10-23","open":734.1,"high":741.8,"low":732.5,"close":733.4,"volume":9856000,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2025-10-24","open":736.19,"high":740.61,"low":730.55,"close":737.76,"volume":9151300,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2025-10-27","open":749.12,"high":755.13,"low":747.4,"close":750.21,"volume":11321100,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2025-10-28","open":752.02,"high":757.78,"low":744.91,"close":750.83,"volume":12193800,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2025-10-29","open":754.13,"high":758.54,"low":741.9,"close":751.06,"volume":26818600,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2025-10-30","open":668.6,"high":680.41,"low":649.64,"close":665.93,"volume":88440100,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2025-10-31","open":673.96,"high":674.34,"low":645.04,"close":647.82,"volume":56953200,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2025-11-03","open":655.47,"high":658.79,"low":635.66,"close":637.19,"volume":33003600,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2025-11-04","open":627.53,"high":641.22,"low":625.5,"close":626.81,"volume":27356600,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2025-11-05","open":631.79,"high":641.71,"low":626.03,"close":635.43,"volume":20219900,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2025-11-06","open":635.33,"high":635.48,"low":617.5,"close":618.44,"volume":23628800,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2025-11-07","open":615.99,"high":621.62,"low":600.71,"close":621.2,"volume":29946800,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2025-11-10","open":630.58,"high":634.48,"low":617.61,"close":631.25,"volume":19245000,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2025-11-11","open":627.49,"high":629.05,"low":618.89,"close":626.57,"volume":13302200,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2025-11-12","open":627.62,"high":628.48,"low":607.27,"close":608.51,"volume":24493300,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2025-11-13","open":612.57,"high":617.15,"low":602.51,"close":609.39,"volume":20973800,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2025-11-14","open":601.3,"high":613.18,"low":594.71,"close":608.96,"volume":20724100,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2025-11-17","open":608.54,"high":611.19,"low":594.91,"close":601.52,"volume":16501300,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2025-11-18","open":591.12,"high":603.17,"low":583.3,"close":597.2,"volume":25500600,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2025-11-19","open":593.24,"high":594.84,"low":580.78,"close":589.84,"volume":24744700,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2025-11-20","open":603.01,"high":606.23,"low":582.87,"close":588.67,"volume":20603000,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2025-11-21","open":588.02,"high":597.63,"low":581.39,"close":593.77,"volume":21052600,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2025-11-24","open":598.23,"high":616.2,"low":597.14,"close":612.55,"volume":23554900,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2025-11-25","open":623.49,"high":636.53,"low":617.8,"close":635.7,"volume":25213000,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2025-11-26","open":637.17,"high":637.84,"low":631.12,"close":633.09,"volume":15209500,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2025-11-28","open":635.56,"high":647.52,"low":634.98,"close":647.42,"volume":11033200,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2025-12-01","open":639.03,"high":644.79,"low":637.24,"close":640.35,"volume":13029900,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2025-12-02","open":641.82,"high":647.34,"low":637.55,"close":646.57,"volume":11640900,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2025-12-03","open":643.88,"high":648.32,"low":637.03,"close":639.08,"volume":11134300,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2025-12-04","open":675.45,"high":675.55,"low":659.51,"close":660.99,"volume":29874600,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2025-12-05","open":663.46,"high":674.14,"low":661.85,"close":672.87,"volume":21207900,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2025-12-08","open":668.79,"high":676.16,"low":664.53,"close":666.26,"volume":13161000,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2025-12-09","open":663.23,"high":663.94,"low":652.81,"close":656.42,"volume":12997100,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2025-12-10","open":649.42,"high":653.98,"low":642.88,"close":649.6,"volume":16910900,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2025-12-11","open":642.77,"high":654.75,"low":640.28,"close":652.18,"volume":13056700,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2025-12-12","open":649.27,"high":710.42,"low":638.09,"close":643.71,"volume":14016900,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2025-12-15","open":645.7,"high":653,"low":638.7,"close":647.51,"volume":15549100,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2025-12-16","open":643.5,"high":662.54,"low":643.2,"close":657.15,"volume":14309100,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2025-12-17","open":655.61,"high":661.23,"low":649.2,"close":649.5,"volume":15598500,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2025-12-18","open":657.03,"high":670.56,"low":656.46,"close":664.45,"volume":20260300,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2025-12-19","open":666.42,"high":671,"low":658.18,"close":658.77,"volume":49977100,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2025-12-22","open":661.65,"high":673.58,"low":656.65,"close":661.5,"volume":15659400,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2025-12-23","open":660.05,"high":666,"low":658.25,"close":664.94,"volume":8486800,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2025-12-24","open":662.53,"high":668.18,"low":662.2,"close":667.55,"volume":5627500,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2025-12-26","open":668.06,"high":668.95,"low":661.32,"close":663.29,"volume":7133800,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2025-12-29","open":658.01,"high":660.25,"low":654.39,"close":658.69,"volume":8506500,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2025-12-30","open":658.69,"high":672.22,"low":657.84,"close":665.95,"volume":9187500,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2025-12-31","open":664.75,"high":665,"low":659.44,"close":660.09,"volume":7940400,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2026-01-02","open":662.73,"high":664.39,"low":643.5,"close":650.41,"volume":13726500,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2026-01-05","open":651.01,"high":664.54,"low":647.75,"close":658.79,"volume":12213700,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2026-01-06","open":659.57,"high":665.52,"low":651.9,"close":660.62,"volume":11074400,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2026-01-07","open":655.64,"high":659.15,"low":644.81,"close":648.69,"volume":12846300,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2026-01-08","open":645.88,"high":647.1,"low":635.72,"close":646.06,"volume":11921700,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2026-01-09","open":645.44,"high":654.95,"low":642.85,"close":653.06,"volume":11634900,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2026-01-12","open":652.53,"high":653.97,"low":641.23,"close":641.97,"volume":14797200,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2026-01-13","open":642.27,"high":642.27,"low":624.1,"close":631.09,"volume":18030400,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2026-01-14","open":626.5,"high":628.45,"low":614.82,"close":615.52,"volume":15527900,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2026-01-15","open":618.48,"high":624.17,"low":614.23,"close":620.8,"volume":13076100,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2026-01-16","open":624.18,"high":629.08,"low":620.08,"close":620.25,"volume":17012500,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2026-01-20","open":607.88,"high":611.4,"low":600,"close":604.12,"volume":15169600,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2026-01-21","open":606.74,"high":618.27,"low":600.08,"close":612.96,"volume":14494700,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2026-01-22","open":629.35,"high":660.57,"low":626.55,"close":647.63,"volume":21394700,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2026-01-23","open":644.77,"high":666.49,"low":644.45,"close":658.76,"volume":22797700,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"META","date":"2026-01-26","open":665.13,"high":675.28,"low":661.29,"close":672.36,"volume":16293000,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2025-07-31","open":553.28,"high":553.5,"low":530.04,"close":531.63,"volume":51617300,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2025-08-01","open":533.12,"high":533.92,"low":519.03,"close":522.27,"volume":28977600,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2025-08-04","open":526.42,"high":536.36,"low":526.28,"close":533.76,"volume":25349000,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2025-08-05","open":535.3,"high":535.42,"low":525.39,"close":525.9,"volume":19171600,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2025-08-06","open":529.04,"high":529.84,"low":522.19,"close":523.1,"volume":21355700,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2025-08-07","open":524.95,"high":526.24,"low":515.74,"close":519.01,"volume":16079100,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2025-08-08","open":520.77,"high":522.82,"low":517.59,"close":520.21,"volume":15531000,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2025-08-11","open":520.47,"high":525.74,"low":517.9,"close":519.94,"volume":20194400,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2025-08-12","open":521.91,"high":529.12,"low":520.87,"close":527.38,"volume":18667000,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2025-08-13","open":530.24,"high":530.83,"low":517.55,"close":518.75,"volume":19619200,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2025-08-14","open":520.73,"high":524.11,"low":518.32,"close":520.65,"volume":20269100,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2025-08-15","open":520.94,"high":524.26,"low":517.26,"close":518.35,"volume":25213300,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2025-08-18","open":519.76,"high":520.99,"low":512.22,"close":515.29,"volume":23760600,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2025-08-19","open":513.19,"high":513.35,"low":506.77,"close":507.98,"volume":21481000,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2025-08-20","open":508.08,"high":509.21,"low":502.67,"close":503.95,"volume":27723000,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2025-08-21","open":502.75,"high":506.68,"low":501.78,"close":503.3,"volume":18443300,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2025-08-22","open":503.31,"high":509.78,"low":501.47,"close":506.28,"volume":24324200,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2025-08-25","open":505.68,"high":507.24,"low":503.18,"close":503.32,"volume":21638600,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2025-08-26","open":503.42,"high":504.04,"low":497.58,"close":501.1,"volume":30835700,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2025-08-27","open":501.06,"high":506.34,"low":498.97,"close":505.79,"volume":17277900,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2025-08-28","open":506.14,"high":510.14,"low":504.56,"close":508.69,"volume":18015600,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2025-08-29","open":507.71,"high":508.65,"low":503.55,"close":505.74,"volume":20961600,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2025-09-02","open":499.54,"high":505.05,"low":495.88,"close":504.18,"volume":18128000,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2025-09-03","open":502.85,"high":506.84,"low":501.38,"close":504.41,"volume":16345100,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2025-09-04","open":503.36,"high":507.2,"low":502.21,"close":507.02,"volume":15509500,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2025-09-05","open":508.12,"high":511.01,"low":491.45,"close":494.08,"volume":31994800,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2025-09-08","open":497.18,"high":500.26,"low":494.11,"close":497.27,"volume":16771000,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2025-09-09","open":500.49,"high":501.31,"low":496.77,"close":497.48,"volume":14410500,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2025-09-10","open":502.04,"high":502.29,"low":495.79,"close":499.44,"volume":21611800,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2025-09-11","open":501.31,"high":502.23,"low":496.95,"close":500.07,"volume":18881600,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2025-09-12","open":505.7,"high":511.59,"low":502.91,"close":508.95,"volume":23624900,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2025-09-15","open":507.84,"high":514.51,"low":506.05,"close":514.4,"volume":17143800,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2025-09-16","open":515.91,"high":516.26,"low":507.65,"close":508.09,"volume":19711900,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2025-09-17","open":509.67,"high":510.33,"low":504.98,"close":509.07,"volume":15816600,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2025-09-18","open":510.53,"high":512.11,"low":506.71,"close":507.5,"volume":18913700,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2025-09-19","open":509.61,"high":518.33,"low":509.36,"close":516.96,"volume":52474100,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2025-09-22","open":514.63,"high":516.77,"low":511.58,"close":513.49,"volume":20009300,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2025-09-23","open":512.84,"high":513.63,"low":506.36,"close":508.28,"volume":19799600,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2025-09-24","open":509.43,"high":511.52,"low":505.97,"close":509.2,"volume":13533700,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2025-09-25","open":507.35,"high":509.06,"low":504.1,"close":506.08,"volume":15786500,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2025-09-26","open":509.11,"high":512.98,"low":505.67,"close":510.5,"volume":16213100,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2025-09-29","open":510.54,"high":515.88,"low":507.93,"close":513.64,"volume":17617800,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2025-09-30","open":512.28,"high":517.19,"low":508.71,"close":516.98,"volume":19728200,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2025-10-01","open":513.84,"high":519.54,"low":510.73,"close":518.74,"volume":22632300,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2025-10-02","open":516.67,"high":520.63,"low":509.73,"close":514.78,"volume":21222900,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2025-10-03","open":516.13,"high":519.52,"low":514.04,"close":516.38,"volume":15112300,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2025-10-06","open":517.64,"high":530.04,"low":517.23,"close":527.58,"volume":21388600,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2025-10-07","open":527.3,"high":528.81,"low":520.47,"close":523,"volume":14615200,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2025-10-08","open":522.3,"high":525.97,"low":522.11,"close":523.87,"volume":13363400,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2025-10-09","open":521.36,"high":523.35,"low":516.43,"close":521.42,"volume":18343600,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2025-10-10","open":518.67,"high":522.6,"low":508.68,"close":510.01,"volume":24133800,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2025-10-13","open":515.45,"high":515.45,"low":510.72,"close":513.09,"volume":14284200,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2025-10-14","open":509.28,"high":514.32,"low":505.05,"close":512.61,"volume":14684300,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2025-10-15","open":514,"high":516.22,"low":509.05,"close":512.47,"volume":14694700,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2025-10-16","open":511.62,"high":515.88,"low":507.18,"close":510.65,"volume":15559600,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2025-10-17","open":508.09,"high":514.52,"low":506.36,"close":512.62,"volume":19867800,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2025-10-20","open":513.65,"high":517.73,"low":512.47,"close":515.82,"volume":14665600,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2025-10-21","open":516.53,"high":517.72,"low":512.08,"close":516.69,"volume":15586200,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2025-10-22","open":520.18,"high":524.25,"low":516.74,"close":519.57,"volume":18962700,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2025-10-23","open":521.48,"high":522.97,"low":517.64,"close":519.59,"volume":14023500,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2025-10-24","open":521.81,"high":524.37,"low":519.74,"close":522.63,"volume":15532400,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2025-10-27","open":530.79,"high":533.58,"low":528.02,"close":530.53,"volume":18734700,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2025-10-28","open":548.97,"high":552.69,"low":539.76,"close":541.06,"volume":29986700,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2025-10-29","open":543.92,"high":545.25,"low":535.73,"close":540.54,"volume":36023000,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2025-10-30","open":529.49,"high":533.97,"low":521.14,"close":524.78,"volume":41023100,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2025-10-31","open":527.89,"high":528.33,"low":514.14,"close":516.84,"volume":34006400,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2025-11-03","open":518.84,"high":523.98,"low":513.63,"close":516.06,"volume":22374700,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2025-11-04","open":510.8,"high":514.59,"low":506.89,"close":513.37,"volume":20958700,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2025-11-05","open":512.34,"high":513.87,"low":505.63,"close":506.21,"volume":23024300,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2025-11-06","open":504.72,"high":504.76,"low":494.88,"close":496.17,"volume":27406500,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2025-11-07","open":496.02,"high":498.45,"low":492.33,"close":495.89,"volume":24019800,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2025-11-10","open":499.11,"high":505.9,"low":497.87,"close":505.05,"volume":26101500,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2025-11-11","open":503.86,"high":508.65,"low":501.41,"close":507.73,"volume":17980000,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2025-11-12","open":508.41,"high":510.71,"low":498.19,"close":510.19,"volume":26574900,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2025-11-13","open":509.36,"high":512.54,"low":500.35,"close":502.35,"volume":25273100,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2025-11-14","open":497.3,"high":510.64,"low":496.51,"close":509.23,"volume":28505700,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2025-11-17","open":507.5,"high":511.16,"low":503.97,"close":506.54,"volume":19092800,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2025-11-18","open":494.44,"high":502.04,"low":485.87,"close":492.87,"volume":33815100,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2025-11-19","open":489.18,"high":494.26,"low":481.93,"close":486.21,"volume":23245300,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2025-11-20","open":492.71,"high":493.57,"low":475.5,"close":478.43,"volume":26802500,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2025-11-21","open":478.5,"high":478.92,"low":468.27,"close":472.12,"volume":31769200,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2025-11-24","open":475,"high":476.9,"low":468.02,"close":474,"volume":34421000,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2025-11-25","open":474.07,"high":479.15,"low":464.89,"close":476.99,"volume":28019800,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2025-11-26","open":486.31,"high":488.31,"low":481.2,"close":485.5,"volume":25709100,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2025-11-28","open":487.6,"high":492.63,"low":486.65,"close":492.01,"volume":14386700,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2025-12-01","open":488.44,"high":489.86,"low":484.65,"close":486.74,"volume":23964000,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2025-12-02","open":486.72,"high":493.5,"low":486.32,"close":490,"volume":19562700,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2025-12-03","open":476.32,"high":484.24,"low":475.2,"close":477.73,"volume":34615100,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2025-12-04","open":479.76,"high":481.32,"low":476.49,"close":480.84,"volume":22318200,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2025-12-05","open":482.52,"high":483.4,"low":478.88,"close":483.16,"volume":22608700,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2025-12-08","open":484.89,"high":492.3,"low":484.38,"close":491.02,"volume":21965900,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2025-12-09","open":489.1,"high":492.12,"low":488.5,"close":492.02,"volume":14696100,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2025-12-10","open":484.03,"high":484.25,"low":475.08,"close":478.56,"volume":35756200,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2025-12-11","open":476.63,"high":486.03,"low":475.86,"close":483.47,"volume":24669200,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2025-12-12","open":479.82,"high":482.45,"low":476.34,"close":478.53,"volume":21248100,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2025-12-15","open":480.1,"high":480.72,"low":472.52,"close":474.82,"volume":23727700,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2025-12-16","open":471.91,"high":477.89,"low":470.88,"close":476.39,"volume":20705600,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2025-12-17","open":476.91,"high":480,"low":475,"close":476.12,"volume":24527200,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2025-12-18","open":478.19,"high":489.6,"low":477.89,"close":483.98,"volume":28573500,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2025-12-19","open":487.36,"high":487.85,"low":482.49,"close":485.92,"volume":70836100,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2025-12-22","open":486.12,"high":488.73,"low":482.69,"close":484.92,"volume":16963000,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2025-12-23","open":484.98,"high":487.83,"low":484.74,"close":486.85,"volume":14683600,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2025-12-24","open":485.68,"high":489.16,"low":484.83,"close":488.02,"volume":5855900,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2025-12-26","open":486.71,"high":488.12,"low":485.96,"close":487.71,"volume":8842200,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2025-12-29","open":484.86,"high":488.35,"low":484.18,"close":487.1,"volume":10893400,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2025-12-30","open":485.93,"high":489.68,"low":485.5,"close":487.48,"volume":13944500,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2025-12-31","open":487.84,"high":488.14,"low":483.3,"close":483.62,"volume":15601600,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2026-01-02","open":484.39,"high":484.66,"low":470.16,"close":472.94,"volume":25571600,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2026-01-05","open":474.06,"high":476.07,"low":469.5,"close":472.85,"volume":25250300,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2026-01-06","open":473.8,"high":478.74,"low":469.75,"close":478.51,"volume":23037700,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2026-01-07","open":479.76,"high":489.7,"low":477.95,"close":483.47,"volume":25564200,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2026-01-08","open":481.24,"high":482.66,"low":475.86,"close":478.11,"volume":18162600,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2026-01-09","open":474.06,"high":479.82,"low":472.2,"close":479.28,"volume":18491000,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2026-01-12","open":476.67,"high":480.99,"low":475.68,"close":477.18,"volume":23519900,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2026-01-13","open":474.68,"high":475.78,"low":465.95,"close":470.67,"volume":28545800,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2026-01-14","open":466.46,"high":468.2,"low":457.17,"close":459.38,"volume":28184300,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2026-01-15","open":464.12,"high":464.25,"low":455.9,"close":456.66,"volume":23225800,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2026-01-16","open":457.83,"high":463.19,"low":456.48,"close":459.86,"volume":34246700,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2026-01-20","open":451.22,"high":456.8,"low":449.28,"close":454.52,"volume":26130000,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2026-01-21","open":452.6,"high":452.69,"low":438.68,"close":444.11,"volume":37980500,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2026-01-22","open":447.62,"high":452.84,"low":444.7,"close":451.14,"volume":25349400,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2026-01-23","open":451.87,"high":471.1,"low":450.53,"close":465.95,"volume":38000200,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"MSFT","date":"2026-01-26","open":465.31,"high":474.25,"low":462,"close":470.28,"volume":29247100,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2025-07-31","open":182.88,"high":183.28,"low":175.91,"close":177.85,"volume":221685400,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2025-08-01","open":174.07,"high":176.52,"low":170.87,"close":173.7,"volume":204529000,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2025-08-04","open":175.14,"high":180.18,"low":174.5,"close":179.98,"volume":148174600,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2025-08-05","open":179.6,"high":180.24,"low":175.88,"close":178.24,"volume":156407600,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2025-08-06","open":176.31,"high":179.88,"low":176.23,"close":179.4,"volume":137192300,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2025-08-07","open":181.55,"high":183.86,"low":178.78,"close":180.75,"volume":151878400,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2025-08-08","open":181.53,"high":183.28,"low":180.38,"close":182.68,"volume":123396700,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2025-08-11","open":182.03,"high":183.82,"low":180.23,"close":182.04,"volume":138323200,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2025-08-12","open":182.94,"high":184.46,"low":179.44,"close":183.14,"volume":145485700,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2025-08-13","open":182.6,"high":183.95,"low":179.33,"close":181.57,"volume":179871700,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2025-08-14","open":179.73,"high":183,"low":179.44,"close":182,"volume":129554000,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2025-08-15","open":181.86,"high":181.88,"low":178.02,"close":180.43,"volume":156602200,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2025-08-18","open":180.58,"high":182.92,"low":180.57,"close":181.99,"volume":132008000,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2025-08-19","open":182.41,"high":182.48,"low":175.47,"close":175.62,"volume":185229200,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2025-08-20","open":175.15,"high":175.98,"low":168.78,"close":175.38,"volume":215142700,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2025-08-21","open":174.83,"high":176.88,"low":173.79,"close":174.96,"volume":140040900,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2025-08-22","open":172.59,"high":178.57,"low":171.18,"close":177.97,"volume":172789400,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2025-08-25","open":178.33,"high":181.89,"low":176.55,"close":179.79,"volume":163012800,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2025-08-26","open":180.04,"high":182.37,"low":178.79,"close":181.75,"volume":168688200,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2025-08-27","open":181.96,"high":182.47,"low":179.08,"close":181.58,"volume":235518900,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2025-08-28","open":180.8,"high":184.45,"low":176.39,"close":180.15,"volume":281787800,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2025-08-29","open":178.09,"high":178.13,"low":173.13,"close":174.16,"volume":243257900,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2025-09-02","open":169.98,"high":172.36,"low":167.2,"close":170.76,"volume":231164900,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2025-09-03","open":171.04,"high":172.39,"low":168.86,"close":170.6,"volume":164424900,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2025-09-04","open":170.55,"high":171.84,"low":169.39,"close":171.64,"volume":141670100,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2025-09-05","open":168.01,"high":169.01,"low":164.05,"close":167,"volume":224441400,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2025-09-08","open":167.53,"high":170.94,"low":167.33,"close":168.29,"volume":163769100,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2025-09-09","open":169.07,"high":170.96,"low":166.72,"close":170.74,"volume":157548400,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2025-09-10","open":176.62,"high":179.27,"low":175.45,"close":177.31,"volume":226852000,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2025-09-11","open":179.67,"high":180.27,"low":176.47,"close":177.16,"volume":151159300,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2025-09-12","open":177.76,"high":178.59,"low":176.44,"close":177.81,"volume":124911000,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2025-09-15","open":175.66,"high":178.84,"low":174.5,"close":177.74,"volume":147061600,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2025-09-16","open":176.99,"high":177.49,"low":174.37,"close":174.87,"volume":140737800,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2025-09-17","open":172.63,"high":173.19,"low":168.4,"close":170.28,"volume":211843800,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2025-09-18","open":173.97,"high":177.09,"low":172.95,"close":176.23,"volume":191763300,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2025-09-19","open":175.76,"high":178.07,"low":175.17,"close":176.66,"volume":237182100,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2025-09-22","open":175.29,"high":184.54,"low":174.7,"close":183.6,"volume":269637000,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2025-09-23","open":181.96,"high":182.41,"low":176.2,"close":178.42,"volume":192559600,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2025-09-24","open":179.76,"high":179.77,"low":175.39,"close":176.96,"volume":143564100,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2025-09-25","open":174.47,"high":180.25,"low":173.12,"close":177.68,"volume":191586700,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2025-09-26","open":178.16,"high":179.76,"low":174.92,"close":178.18,"volume":148573700,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2025-09-29","open":180.42,"high":183.99,"low":180.31,"close":181.84,"volume":193063500,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2025-09-30","open":182.07,"high":187.34,"low":181.47,"close":186.57,"volume":236981000,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2025-10-01","open":185.23,"high":188.13,"low":183.89,"close":187.23,"volume":173844900,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2025-10-02","open":189.59,"high":191.04,"low":188.05,"close":188.88,"volume":136805800,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2025-10-03","open":189.18,"high":190.35,"low":185.37,"close":187.61,"volume":137596900,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2025-10-06","open":185.49,"high":187.22,"low":183.32,"close":185.53,"volume":157678100,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2025-10-07","open":186.22,"high":189.05,"low":183.99,"close":185.03,"volume":140088000,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2025-10-08","open":186.56,"high":189.59,"low":186.53,"close":189.1,"volume":130168900,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2025-10-09","open":192.22,"high":195.29,"low":191.05,"close":192.56,"volume":182997200,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2025-10-10","open":193.5,"high":195.61,"low":182.04,"close":183.15,"volume":268774400,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2025-10-13","open":187.96,"high":190.1,"low":185.95,"close":188.31,"volume":153482800,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2025-10-14","open":184.76,"high":184.79,"low":179.69,"close":180.02,"volume":205641400,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2025-10-15","open":184.79,"high":184.86,"low":177.28,"close":179.82,"volume":214450500,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2025-10-16","open":182.22,"high":183.27,"low":179.76,"close":181.8,"volume":179723300,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2025-10-17","open":180.17,"high":184.09,"low":179.74,"close":183.21,"volume":173135200,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2025-10-20","open":183.12,"high":185.19,"low":181.72,"close":182.63,"volume":128544700,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2025-10-21","open":182.78,"high":182.78,"low":179.79,"close":181.15,"volume":124240200,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2025-10-22","open":181.13,"high":183.43,"low":176.75,"close":180.27,"volume":162249600,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2025-10-23","open":180.41,"high":183.02,"low":179.78,"close":182.15,"volume":111363700,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2025-10-24","open":183.83,"high":187.46,"low":183.49,"close":186.25,"volume":131296700,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2025-10-27","open":189.98,"high":191.99,"low":188.42,"close":191.48,"volume":153452700,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2025-10-28","open":193.04,"high":203.14,"low":191.9,"close":201.02,"volume":297986200,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2025-10-29","open":207.97,"high":212.18,"low":204.77,"close":207.03,"volume":308829600,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2025-10-30","open":205.14,"high":206.15,"low":201.4,"close":202.88,"volume":178864400,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2025-10-31","open":206.44,"high":207.96,"low":202.06,"close":202.48,"volume":179802200,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2025-11-03","open":208.07,"high":211.33,"low":205.55,"close":206.87,"volume":180267300,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2025-11-04","open":202.99,"high":203.96,"low":197.92,"close":198.68,"volume":188919300,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2025-11-05","open":198.76,"high":202.91,"low":194.64,"close":195.2,"volume":171350300,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2025-11-06","open":196.41,"high":197.61,"low":186.37,"close":188.07,"volume":223029800,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2025-11-07","open":184.89,"high":188.31,"low":178.9,"close":188.14,"volume":264942300,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2025-11-10","open":195.1,"high":199.93,"low":193.78,"close":199.04,"volume":198897100,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2025-11-11","open":195.15,"high":195.41,"low":191.29,"close":193.15,"volume":176483300,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2025-11-12","open":195.71,"high":195.88,"low":191.12,"close":193.79,"volume":154935300,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2025-11-13","open":191.04,"high":191.43,"low":183.84,"close":186.85,"volume":207423100,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2025-11-14","open":182.85,"high":191,"low":180.57,"close":190.16,"volume":186591900,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2025-11-17","open":185.96,"high":188.99,"low":184.31,"close":186.59,"volume":173628900,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2025-11-18","open":183.37,"high":184.79,"low":179.64,"close":181.35,"volume":213598900,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2025-11-19","open":184.78,"high":187.85,"low":182.82,"close":186.51,"volume":247246400,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2025-11-20","open":195.94,"high":195.99,"low":179.84,"close":180.63,"volume":343504800,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2025-11-21","open":181.23,"high":184.55,"low":172.92,"close":178.87,"volume":346926200,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2025-11-24","open":179.48,"high":183.49,"low":176.47,"close":182.54,"volume":256618300,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2025-11-25","open":174.9,"high":178.15,"low":169.54,"close":177.81,"volume":320600300,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2025-11-26","open":181.62,"high":182.9,"low":178.23,"close":180.25,"volume":183852000,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2025-11-28","open":179,"high":179.28,"low":176.49,"close":176.99,"volume":121332800,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2025-12-01","open":174.75,"high":180.29,"low":173.67,"close":179.91,"volume":188131000,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2025-12-02","open":181.75,"high":185.65,"low":179.99,"close":181.45,"volume":182632200,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2025-12-03","open":181.07,"high":182.44,"low":179.1,"close":179.58,"volume":165138000,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2025-12-04","open":181.62,"high":184.52,"low":179.96,"close":183.38,"volume":167364900,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2025-12-05","open":183.89,"high":184.66,"low":180.91,"close":182.41,"volume":143971100,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2025-12-08","open":182.64,"high":188,"low":182.4,"close":185.55,"volume":204378100,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2025-12-09","open":185.56,"high":185.72,"low":183.32,"close":184.97,"volume":144719700,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2025-12-10","open":184.97,"high":185.48,"low":182.04,"close":183.78,"volume":162785400,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2025-12-11","open":180.28,"high":181.32,"low":176.62,"close":180.93,"volume":182136600,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2025-12-12","open":181.11,"high":182.82,"low":174.62,"close":175.02,"volume":204274900,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2025-12-15","open":177.94,"high":178.42,"low":175.03,"close":176.29,"volume":164775600,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2025-12-16","open":176.26,"high":178.49,"low":174.9,"close":177.72,"volume":148588100,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2025-12-17","open":176.1,"high":176.13,"low":170.31,"close":170.94,"volume":222775500,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2025-12-18","open":174.53,"high":176.15,"low":171.82,"close":174.14,"volume":176096000,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2025-12-19","open":176.67,"high":181.45,"low":176.34,"close":180.99,"volume":324925900,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2025-12-22","open":183.92,"high":184.16,"low":182.35,"close":183.69,"volume":129064400,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2025-12-23","open":182.97,"high":189.33,"low":182.9,"close":189.21,"volume":174873600,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2025-12-24","open":187.94,"high":188.91,"low":186.59,"close":188.61,"volume":65528500,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2025-12-26","open":189.92,"high":192.69,"low":188,"close":190.53,"volume":139740300,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2025-12-29","open":187.71,"high":188.76,"low":185.91,"close":188.22,"volume":120006100,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2025-12-30","open":188.24,"high":188.99,"low":186.93,"close":187.54,"volume":97687300,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2025-12-31","open":189.57,"high":190.56,"low":186.49,"close":186.5,"volume":120100500,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2026-01-02","open":189.84,"high":192.93,"low":188.26,"close":188.85,"volume":148240500,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2026-01-05","open":191.76,"high":193.63,"low":186.15,"close":188.12,"volume":183529700,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2026-01-06","open":190.52,"high":192.17,"low":186.82,"close":187.24,"volume":176862600,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2026-01-07","open":188.57,"high":191.37,"low":186.56,"close":189.11,"volume":153543200,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2026-01-08","open":189.11,"high":189.55,"low":183.71,"close":185.04,"volume":172457000,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2026-01-09","open":185.08,"high":186.34,"low":183.67,"close":184.86,"volume":131327500,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2026-01-12","open":183.22,"high":187.12,"low":183.02,"close":184.94,"volume":137968500,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2026-01-13","open":185,"high":188.11,"low":183.4,"close":185.81,"volume":160128900,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2026-01-14","open":184.32,"high":184.46,"low":180.8,"close":183.14,"volume":159586100,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2026-01-15","open":186.5,"high":189.7,"low":186.33,"close":187.05,"volume":206188600,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2026-01-16","open":189.08,"high":190.44,"low":186.08,"close":186.23,"volume":187967200,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2026-01-20","open":181.9,"high":182.38,"low":177.61,"close":178.07,"volume":223345300,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2026-01-21","open":179.05,"high":185.38,"low":178.4,"close":183.32,"volume":200381000,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2026-01-22","open":184.75,"high":186.17,"low":183.93,"close":184.84,"volume":139636600,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2026-01-23","open":187.5,"high":189.6,"low":186.82,"close":187.67,"volume":142748100,"fetched_at":"2026-01-27T17:30:40.847133Z"},{"symbol":"NVDA","date":"2026-01-26","open":187.16,"high":189.12,"low":185.99,"close":186.47,"volume":124489200,"fetched_at":"2026-01-27T17:30:40.847133Z"}],"anchored":true,"createdBy":"user","attachedMetadata":"","source":{"type":"stream","url":"/api/demo-stream/yfinance/history?symbols=AAPL,MSFT,GOOGL,AMZN,META,NVDA","autoRefresh":true,"refreshIntervalSeconds":86400,"lastRefreshed":1769535041338},"contentHash":"361b756d"},{"id":"table-233476","displayId":"stock-close","names":["date","symbol","close"],"rows":[{"date":"2025-07-31","symbol":"AAPL","close":207.13},{"date":"2025-08-01","symbol":"AAPL","close":201.95},{"date":"2025-08-04","symbol":"AAPL","close":202.92},{"date":"2025-08-05","symbol":"AAPL","close":202.49},{"date":"2025-08-06","symbol":"AAPL","close":212.8},{"date":"2025-08-07","symbol":"AAPL","close":219.57},{"date":"2025-08-08","symbol":"AAPL","close":228.87},{"date":"2025-08-11","symbol":"AAPL","close":226.96},{"date":"2025-08-12","symbol":"AAPL","close":229.43},{"date":"2025-08-13","symbol":"AAPL","close":233.1},{"date":"2025-08-14","symbol":"AAPL","close":232.55},{"date":"2025-08-15","symbol":"AAPL","close":231.37},{"date":"2025-08-18","symbol":"AAPL","close":230.67},{"date":"2025-08-19","symbol":"AAPL","close":230.34},{"date":"2025-08-20","symbol":"AAPL","close":225.79},{"date":"2025-08-21","symbol":"AAPL","close":224.68},{"date":"2025-08-22","symbol":"AAPL","close":227.54},{"date":"2025-08-25","symbol":"AAPL","close":226.94},{"date":"2025-08-26","symbol":"AAPL","close":229.09},{"date":"2025-08-27","symbol":"AAPL","close":230.27},{"date":"2025-08-28","symbol":"AAPL","close":232.33},{"date":"2025-08-29","symbol":"AAPL","close":231.92},{"date":"2025-09-02","symbol":"AAPL","close":229.5},{"date":"2025-09-03","symbol":"AAPL","close":238.24},{"date":"2025-09-04","symbol":"AAPL","close":239.55},{"date":"2025-09-05","symbol":"AAPL","close":239.46},{"date":"2025-09-08","symbol":"AAPL","close":237.65},{"date":"2025-09-09","symbol":"AAPL","close":234.12},{"date":"2025-09-10","symbol":"AAPL","close":226.57},{"date":"2025-09-11","symbol":"AAPL","close":229.81},{"date":"2025-09-12","symbol":"AAPL","close":233.84},{"date":"2025-09-15","symbol":"AAPL","close":236.47},{"date":"2025-09-16","symbol":"AAPL","close":237.92},{"date":"2025-09-17","symbol":"AAPL","close":238.76},{"date":"2025-09-18","symbol":"AAPL","close":237.65},{"date":"2025-09-19","symbol":"AAPL","close":245.26},{"date":"2025-09-22","symbol":"AAPL","close":255.83},{"date":"2025-09-23","symbol":"AAPL","close":254.18},{"date":"2025-09-24","symbol":"AAPL","close":252.07},{"date":"2025-09-25","symbol":"AAPL","close":256.62},{"date":"2025-09-26","symbol":"AAPL","close":255.21},{"date":"2025-09-29","symbol":"AAPL","close":254.18},{"date":"2025-09-30","symbol":"AAPL","close":254.38},{"date":"2025-10-01","symbol":"AAPL","close":255.2},{"date":"2025-10-02","symbol":"AAPL","close":256.88},{"date":"2025-10-03","symbol":"AAPL","close":257.77},{"date":"2025-10-06","symbol":"AAPL","close":256.44},{"date":"2025-10-07","symbol":"AAPL","close":256.23},{"date":"2025-10-08","symbol":"AAPL","close":257.81},{"date":"2025-10-09","symbol":"AAPL","close":253.79},{"date":"2025-10-10","symbol":"AAPL","close":245.03},{"date":"2025-10-13","symbol":"AAPL","close":247.42},{"date":"2025-10-14","symbol":"AAPL","close":247.53},{"date":"2025-10-15","symbol":"AAPL","close":249.1},{"date":"2025-10-16","symbol":"AAPL","close":247.21},{"date":"2025-10-17","symbol":"AAPL","close":252.05},{"date":"2025-10-20","symbol":"AAPL","close":261.99},{"date":"2025-10-21","symbol":"AAPL","close":262.52},{"date":"2025-10-22","symbol":"AAPL","close":258.2},{"date":"2025-10-23","symbol":"AAPL","close":259.33},{"date":"2025-10-24","symbol":"AAPL","close":262.57},{"date":"2025-10-27","symbol":"AAPL","close":268.55},{"date":"2025-10-28","symbol":"AAPL","close":268.74},{"date":"2025-10-29","symbol":"AAPL","close":269.44},{"date":"2025-10-30","symbol":"AAPL","close":271.14},{"date":"2025-10-31","symbol":"AAPL","close":270.11},{"date":"2025-11-03","symbol":"AAPL","close":268.79},{"date":"2025-11-04","symbol":"AAPL","close":269.78},{"date":"2025-11-05","symbol":"AAPL","close":269.88},{"date":"2025-11-06","symbol":"AAPL","close":269.51},{"date":"2025-11-07","symbol":"AAPL","close":268.21},{"date":"2025-11-10","symbol":"AAPL","close":269.43},{"date":"2025-11-11","symbol":"AAPL","close":275.25},{"date":"2025-11-12","symbol":"AAPL","close":273.47},{"date":"2025-11-13","symbol":"AAPL","close":272.95},{"date":"2025-11-14","symbol":"AAPL","close":272.41},{"date":"2025-11-17","symbol":"AAPL","close":267.46},{"date":"2025-11-18","symbol":"AAPL","close":267.44},{"date":"2025-11-19","symbol":"AAPL","close":268.56},{"date":"2025-11-20","symbol":"AAPL","close":266.25},{"date":"2025-11-21","symbol":"AAPL","close":271.49},{"date":"2025-11-24","symbol":"AAPL","close":275.92},{"date":"2025-11-25","symbol":"AAPL","close":276.97},{"date":"2025-11-26","symbol":"AAPL","close":277.55},{"date":"2025-11-28","symbol":"AAPL","close":278.85},{"date":"2025-12-01","symbol":"AAPL","close":283.1},{"date":"2025-12-02","symbol":"AAPL","close":286.19},{"date":"2025-12-03","symbol":"AAPL","close":284.15},{"date":"2025-12-04","symbol":"AAPL","close":280.7},{"date":"2025-12-05","symbol":"AAPL","close":278.78},{"date":"2025-12-08","symbol":"AAPL","close":277.89},{"date":"2025-12-09","symbol":"AAPL","close":277.18},{"date":"2025-12-10","symbol":"AAPL","close":278.78},{"date":"2025-12-11","symbol":"AAPL","close":278.03},{"date":"2025-12-12","symbol":"AAPL","close":278.28},{"date":"2025-12-15","symbol":"AAPL","close":274.11},{"date":"2025-12-16","symbol":"AAPL","close":274.61},{"date":"2025-12-17","symbol":"AAPL","close":271.84},{"date":"2025-12-18","symbol":"AAPL","close":272.19},{"date":"2025-12-19","symbol":"AAPL","close":273.67},{"date":"2025-12-22","symbol":"AAPL","close":270.97},{"date":"2025-12-23","symbol":"AAPL","close":272.36},{"date":"2025-12-24","symbol":"AAPL","close":273.81},{"date":"2025-12-26","symbol":"AAPL","close":273.4},{"date":"2025-12-29","symbol":"AAPL","close":273.76},{"date":"2025-12-30","symbol":"AAPL","close":273.08},{"date":"2025-12-31","symbol":"AAPL","close":271.86},{"date":"2026-01-02","symbol":"AAPL","close":271.01},{"date":"2026-01-05","symbol":"AAPL","close":267.26},{"date":"2026-01-06","symbol":"AAPL","close":262.36},{"date":"2026-01-07","symbol":"AAPL","close":260.33},{"date":"2026-01-08","symbol":"AAPL","close":259.04},{"date":"2026-01-09","symbol":"AAPL","close":259.37},{"date":"2026-01-12","symbol":"AAPL","close":260.25},{"date":"2026-01-13","symbol":"AAPL","close":261.05},{"date":"2026-01-14","symbol":"AAPL","close":259.96},{"date":"2026-01-15","symbol":"AAPL","close":258.21},{"date":"2026-01-16","symbol":"AAPL","close":255.53},{"date":"2026-01-20","symbol":"AAPL","close":246.7},{"date":"2026-01-21","symbol":"AAPL","close":247.65},{"date":"2026-01-22","symbol":"AAPL","close":248.35},{"date":"2026-01-23","symbol":"AAPL","close":248.04},{"date":"2026-01-26","symbol":"AAPL","close":255.41},{"date":"2025-07-31","symbol":"AMZN","close":234.11},{"date":"2025-08-01","symbol":"AMZN","close":214.75},{"date":"2025-08-04","symbol":"AMZN","close":211.65},{"date":"2025-08-05","symbol":"AMZN","close":213.75},{"date":"2025-08-06","symbol":"AMZN","close":222.31},{"date":"2025-08-07","symbol":"AMZN","close":223.13},{"date":"2025-08-08","symbol":"AMZN","close":222.69},{"date":"2025-08-11","symbol":"AMZN","close":221.3},{"date":"2025-08-12","symbol":"AMZN","close":221.47},{"date":"2025-08-13","symbol":"AMZN","close":224.56},{"date":"2025-08-14","symbol":"AMZN","close":230.98},{"date":"2025-08-15","symbol":"AMZN","close":231.03},{"date":"2025-08-18","symbol":"AMZN","close":231.49},{"date":"2025-08-19","symbol":"AMZN","close":228.01},{"date":"2025-08-20","symbol":"AMZN","close":223.81},{"date":"2025-08-21","symbol":"AMZN","close":221.95},{"date":"2025-08-22","symbol":"AMZN","close":228.84},{"date":"2025-08-25","symbol":"AMZN","close":227.94},{"date":"2025-08-26","symbol":"AMZN","close":228.71},{"date":"2025-08-27","symbol":"AMZN","close":229.12},{"date":"2025-08-28","symbol":"AMZN","close":231.6},{"date":"2025-08-29","symbol":"AMZN","close":229},{"date":"2025-09-02","symbol":"AMZN","close":225.34},{"date":"2025-09-03","symbol":"AMZN","close":225.99},{"date":"2025-09-04","symbol":"AMZN","close":235.68},{"date":"2025-09-05","symbol":"AMZN","close":232.33},{"date":"2025-09-08","symbol":"AMZN","close":235.84},{"date":"2025-09-09","symbol":"AMZN","close":238.24},{"date":"2025-09-10","symbol":"AMZN","close":230.33},{"date":"2025-09-11","symbol":"AMZN","close":229.95},{"date":"2025-09-12","symbol":"AMZN","close":228.15},{"date":"2025-09-15","symbol":"AMZN","close":231.43},{"date":"2025-09-16","symbol":"AMZN","close":234.05},{"date":"2025-09-17","symbol":"AMZN","close":231.62},{"date":"2025-09-18","symbol":"AMZN","close":231.23},{"date":"2025-09-19","symbol":"AMZN","close":231.48},{"date":"2025-09-22","symbol":"AMZN","close":227.63},{"date":"2025-09-23","symbol":"AMZN","close":220.71},{"date":"2025-09-24","symbol":"AMZN","close":220.21},{"date":"2025-09-25","symbol":"AMZN","close":218.15},{"date":"2025-09-26","symbol":"AMZN","close":219.78},{"date":"2025-09-29","symbol":"AMZN","close":222.17},{"date":"2025-09-30","symbol":"AMZN","close":219.57},{"date":"2025-10-01","symbol":"AMZN","close":220.63},{"date":"2025-10-02","symbol":"AMZN","close":222.41},{"date":"2025-10-03","symbol":"AMZN","close":219.51},{"date":"2025-10-06","symbol":"AMZN","close":220.9},{"date":"2025-10-07","symbol":"AMZN","close":221.78},{"date":"2025-10-08","symbol":"AMZN","close":225.22},{"date":"2025-10-09","symbol":"AMZN","close":227.74},{"date":"2025-10-10","symbol":"AMZN","close":216.37},{"date":"2025-10-13","symbol":"AMZN","close":220.07},{"date":"2025-10-14","symbol":"AMZN","close":216.39},{"date":"2025-10-15","symbol":"AMZN","close":215.57},{"date":"2025-10-16","symbol":"AMZN","close":214.47},{"date":"2025-10-17","symbol":"AMZN","close":213.04},{"date":"2025-10-20","symbol":"AMZN","close":216.48},{"date":"2025-10-21","symbol":"AMZN","close":222.03},{"date":"2025-10-22","symbol":"AMZN","close":217.95},{"date":"2025-10-23","symbol":"AMZN","close":221.09},{"date":"2025-10-24","symbol":"AMZN","close":224.21},{"date":"2025-10-27","symbol":"AMZN","close":226.97},{"date":"2025-10-28","symbol":"AMZN","close":229.25},{"date":"2025-10-29","symbol":"AMZN","close":230.3},{"date":"2025-10-30","symbol":"AMZN","close":222.86},{"date":"2025-10-31","symbol":"AMZN","close":244.22},{"date":"2025-11-03","symbol":"AMZN","close":254},{"date":"2025-11-04","symbol":"AMZN","close":249.32},{"date":"2025-11-05","symbol":"AMZN","close":250.2},{"date":"2025-11-06","symbol":"AMZN","close":243.04},{"date":"2025-11-07","symbol":"AMZN","close":244.41},{"date":"2025-11-10","symbol":"AMZN","close":248.4},{"date":"2025-11-11","symbol":"AMZN","close":249.1},{"date":"2025-11-12","symbol":"AMZN","close":244.2},{"date":"2025-11-13","symbol":"AMZN","close":237.58},{"date":"2025-11-14","symbol":"AMZN","close":234.69},{"date":"2025-11-17","symbol":"AMZN","close":232.87},{"date":"2025-11-18","symbol":"AMZN","close":222.55},{"date":"2025-11-19","symbol":"AMZN","close":222.69},{"date":"2025-11-20","symbol":"AMZN","close":217.14},{"date":"2025-11-21","symbol":"AMZN","close":220.69},{"date":"2025-11-24","symbol":"AMZN","close":226.28},{"date":"2025-11-25","symbol":"AMZN","close":229.67},{"date":"2025-11-26","symbol":"AMZN","close":229.16},{"date":"2025-11-28","symbol":"AMZN","close":233.22},{"date":"2025-12-01","symbol":"AMZN","close":233.88},{"date":"2025-12-02","symbol":"AMZN","close":234.42},{"date":"2025-12-03","symbol":"AMZN","close":232.38},{"date":"2025-12-04","symbol":"AMZN","close":229.11},{"date":"2025-12-05","symbol":"AMZN","close":229.53},{"date":"2025-12-08","symbol":"AMZN","close":226.89},{"date":"2025-12-09","symbol":"AMZN","close":227.92},{"date":"2025-12-10","symbol":"AMZN","close":231.78},{"date":"2025-12-11","symbol":"AMZN","close":230.28},{"date":"2025-12-12","symbol":"AMZN","close":226.19},{"date":"2025-12-15","symbol":"AMZN","close":222.54},{"date":"2025-12-16","symbol":"AMZN","close":222.56},{"date":"2025-12-17","symbol":"AMZN","close":221.27},{"date":"2025-12-18","symbol":"AMZN","close":226.76},{"date":"2025-12-19","symbol":"AMZN","close":227.35},{"date":"2025-12-22","symbol":"AMZN","close":228.43},{"date":"2025-12-23","symbol":"AMZN","close":232.14},{"date":"2025-12-24","symbol":"AMZN","close":232.38},{"date":"2025-12-26","symbol":"AMZN","close":232.52},{"date":"2025-12-29","symbol":"AMZN","close":232.07},{"date":"2025-12-30","symbol":"AMZN","close":232.53},{"date":"2025-12-31","symbol":"AMZN","close":230.82},{"date":"2026-01-02","symbol":"AMZN","close":226.5},{"date":"2026-01-05","symbol":"AMZN","close":233.06},{"date":"2026-01-06","symbol":"AMZN","close":240.93},{"date":"2026-01-07","symbol":"AMZN","close":241.56},{"date":"2026-01-08","symbol":"AMZN","close":246.29},{"date":"2026-01-09","symbol":"AMZN","close":247.38},{"date":"2026-01-12","symbol":"AMZN","close":246.47},{"date":"2026-01-13","symbol":"AMZN","close":242.6},{"date":"2026-01-14","symbol":"AMZN","close":236.65},{"date":"2026-01-15","symbol":"AMZN","close":238.18},{"date":"2026-01-16","symbol":"AMZN","close":239.12},{"date":"2026-01-20","symbol":"AMZN","close":231},{"date":"2026-01-21","symbol":"AMZN","close":231.31},{"date":"2026-01-22","symbol":"AMZN","close":234.34},{"date":"2026-01-23","symbol":"AMZN","close":239.16},{"date":"2026-01-26","symbol":"AMZN","close":238.42},{"date":"2025-07-31","symbol":"GOOGL","close":191.6},{"date":"2025-08-01","symbol":"GOOGL","close":188.84},{"date":"2025-08-04","symbol":"GOOGL","close":194.74},{"date":"2025-08-05","symbol":"GOOGL","close":194.37},{"date":"2025-08-06","symbol":"GOOGL","close":195.79},{"date":"2025-08-07","symbol":"GOOGL","close":196.22},{"date":"2025-08-08","symbol":"GOOGL","close":201.11},{"date":"2025-08-11","symbol":"GOOGL","close":200.69},{"date":"2025-08-12","symbol":"GOOGL","close":203.03},{"date":"2025-08-13","symbol":"GOOGL","close":201.65},{"date":"2025-08-14","symbol":"GOOGL","close":202.63},{"date":"2025-08-15","symbol":"GOOGL","close":203.58},{"date":"2025-08-18","symbol":"GOOGL","close":203.19},{"date":"2025-08-19","symbol":"GOOGL","close":201.26},{"date":"2025-08-20","symbol":"GOOGL","close":199.01},{"date":"2025-08-21","symbol":"GOOGL","close":199.44},{"date":"2025-08-22","symbol":"GOOGL","close":205.77},{"date":"2025-08-25","symbol":"GOOGL","close":208.17},{"date":"2025-08-26","symbol":"GOOGL","close":206.82},{"date":"2025-08-27","symbol":"GOOGL","close":207.16},{"date":"2025-08-28","symbol":"GOOGL","close":211.31},{"date":"2025-08-29","symbol":"GOOGL","close":212.58},{"date":"2025-09-02","symbol":"GOOGL","close":211.02},{"date":"2025-09-03","symbol":"GOOGL","close":230.3},{"date":"2025-09-04","symbol":"GOOGL","close":231.94},{"date":"2025-09-05","symbol":"GOOGL","close":234.64},{"date":"2025-09-08","symbol":"GOOGL","close":233.89},{"date":"2025-09-09","symbol":"GOOGL","close":239.47},{"date":"2025-09-10","symbol":"GOOGL","close":239.01},{"date":"2025-09-11","symbol":"GOOGL","close":240.21},{"date":"2025-09-12","symbol":"GOOGL","close":240.64},{"date":"2025-09-15","symbol":"GOOGL","close":251.45},{"date":"2025-09-16","symbol":"GOOGL","close":251},{"date":"2025-09-17","symbol":"GOOGL","close":249.37},{"date":"2025-09-18","symbol":"GOOGL","close":251.87},{"date":"2025-09-19","symbol":"GOOGL","close":254.55},{"date":"2025-09-22","symbol":"GOOGL","close":252.36},{"date":"2025-09-23","symbol":"GOOGL","close":251.5},{"date":"2025-09-24","symbol":"GOOGL","close":246.98},{"date":"2025-09-25","symbol":"GOOGL","close":245.63},{"date":"2025-09-26","symbol":"GOOGL","close":246.38},{"date":"2025-09-29","symbol":"GOOGL","close":243.89},{"date":"2025-09-30","symbol":"GOOGL","close":242.94},{"date":"2025-10-01","symbol":"GOOGL","close":244.74},{"date":"2025-10-02","symbol":"GOOGL","close":245.53},{"date":"2025-10-03","symbol":"GOOGL","close":245.19},{"date":"2025-10-06","symbol":"GOOGL","close":250.27},{"date":"2025-10-07","symbol":"GOOGL","close":245.6},{"date":"2025-10-08","symbol":"GOOGL","close":244.46},{"date":"2025-10-09","symbol":"GOOGL","close":241.37},{"date":"2025-10-10","symbol":"GOOGL","close":236.42},{"date":"2025-10-13","symbol":"GOOGL","close":243.99},{"date":"2025-10-14","symbol":"GOOGL","close":245.29},{"date":"2025-10-15","symbol":"GOOGL","close":250.87},{"date":"2025-10-16","symbol":"GOOGL","close":251.3},{"date":"2025-10-17","symbol":"GOOGL","close":253.13},{"date":"2025-10-20","symbol":"GOOGL","close":256.38},{"date":"2025-10-21","symbol":"GOOGL","close":250.3},{"date":"2025-10-22","symbol":"GOOGL","close":251.53},{"date":"2025-10-23","symbol":"GOOGL","close":252.91},{"date":"2025-10-24","symbol":"GOOGL","close":259.75},{"date":"2025-10-27","symbol":"GOOGL","close":269.09},{"date":"2025-10-28","symbol":"GOOGL","close":267.3},{"date":"2025-10-29","symbol":"GOOGL","close":274.39},{"date":"2025-10-30","symbol":"GOOGL","close":281.3},{"date":"2025-10-31","symbol":"GOOGL","close":281.01},{"date":"2025-11-03","symbol":"GOOGL","close":283.53},{"date":"2025-11-04","symbol":"GOOGL","close":277.36},{"date":"2025-11-05","symbol":"GOOGL","close":284.12},{"date":"2025-11-06","symbol":"GOOGL","close":284.56},{"date":"2025-11-07","symbol":"GOOGL","close":278.65},{"date":"2025-11-10","symbol":"GOOGL","close":289.91},{"date":"2025-11-11","symbol":"GOOGL","close":291.12},{"date":"2025-11-12","symbol":"GOOGL","close":286.52},{"date":"2025-11-13","symbol":"GOOGL","close":278.39},{"date":"2025-11-14","symbol":"GOOGL","close":276.23},{"date":"2025-11-17","symbol":"GOOGL","close":284.83},{"date":"2025-11-18","symbol":"GOOGL","close":284.09},{"date":"2025-11-19","symbol":"GOOGL","close":292.62},{"date":"2025-11-20","symbol":"GOOGL","close":289.26},{"date":"2025-11-21","symbol":"GOOGL","close":299.46},{"date":"2025-11-24","symbol":"GOOGL","close":318.37},{"date":"2025-11-25","symbol":"GOOGL","close":323.23},{"date":"2025-11-26","symbol":"GOOGL","close":319.74},{"date":"2025-11-28","symbol":"GOOGL","close":319.97},{"date":"2025-12-01","symbol":"GOOGL","close":314.68},{"date":"2025-12-02","symbol":"GOOGL","close":315.6},{"date":"2025-12-03","symbol":"GOOGL","close":319.42},{"date":"2025-12-04","symbol":"GOOGL","close":317.41},{"date":"2025-12-05","symbol":"GOOGL","close":321.06},{"date":"2025-12-08","symbol":"GOOGL","close":313.72},{"date":"2025-12-09","symbol":"GOOGL","close":317.08},{"date":"2025-12-10","symbol":"GOOGL","close":320.21},{"date":"2025-12-11","symbol":"GOOGL","close":312.43},{"date":"2025-12-12","symbol":"GOOGL","close":309.29},{"date":"2025-12-15","symbol":"GOOGL","close":308.22},{"date":"2025-12-16","symbol":"GOOGL","close":306.57},{"date":"2025-12-17","symbol":"GOOGL","close":296.72},{"date":"2025-12-18","symbol":"GOOGL","close":302.46},{"date":"2025-12-19","symbol":"GOOGL","close":307.16},{"date":"2025-12-22","symbol":"GOOGL","close":309.78},{"date":"2025-12-23","symbol":"GOOGL","close":314.35},{"date":"2025-12-24","symbol":"GOOGL","close":314.09},{"date":"2025-12-26","symbol":"GOOGL","close":313.51},{"date":"2025-12-29","symbol":"GOOGL","close":313.56},{"date":"2025-12-30","symbol":"GOOGL","close":313.85},{"date":"2025-12-31","symbol":"GOOGL","close":313},{"date":"2026-01-02","symbol":"GOOGL","close":315.15},{"date":"2026-01-05","symbol":"GOOGL","close":316.54},{"date":"2026-01-06","symbol":"GOOGL","close":314.34},{"date":"2026-01-07","symbol":"GOOGL","close":321.98},{"date":"2026-01-08","symbol":"GOOGL","close":325.44},{"date":"2026-01-09","symbol":"GOOGL","close":328.57},{"date":"2026-01-12","symbol":"GOOGL","close":331.86},{"date":"2026-01-13","symbol":"GOOGL","close":335.97},{"date":"2026-01-14","symbol":"GOOGL","close":335.84},{"date":"2026-01-15","symbol":"GOOGL","close":332.78},{"date":"2026-01-16","symbol":"GOOGL","close":330},{"date":"2026-01-20","symbol":"GOOGL","close":322},{"date":"2026-01-21","symbol":"GOOGL","close":328.38},{"date":"2026-01-22","symbol":"GOOGL","close":330.54},{"date":"2026-01-23","symbol":"GOOGL","close":327.93},{"date":"2026-01-26","symbol":"GOOGL","close":333.26},{"date":"2025-07-31","symbol":"META","close":772.29},{"date":"2025-08-01","symbol":"META","close":748.89},{"date":"2025-08-04","symbol":"META","close":775.21},{"date":"2025-08-05","symbol":"META","close":762.32},{"date":"2025-08-06","symbol":"META","close":770.84},{"date":"2025-08-07","symbol":"META","close":760.7},{"date":"2025-08-08","symbol":"META","close":768.15},{"date":"2025-08-11","symbol":"META","close":764.73},{"date":"2025-08-12","symbol":"META","close":788.82},{"date":"2025-08-13","symbol":"META","close":778.92},{"date":"2025-08-14","symbol":"META","close":780.97},{"date":"2025-08-15","symbol":"META","close":784.06},{"date":"2025-08-18","symbol":"META","close":766.23},{"date":"2025-08-19","symbol":"META","close":750.36},{"date":"2025-08-20","symbol":"META","close":746.61},{"date":"2025-08-21","symbol":"META","close":738},{"date":"2025-08-22","symbol":"META","close":753.67},{"date":"2025-08-25","symbol":"META","close":752.18},{"date":"2025-08-26","symbol":"META","close":752.98},{"date":"2025-08-27","symbol":"META","close":746.27},{"date":"2025-08-28","symbol":"META","close":749.99},{"date":"2025-08-29","symbol":"META","close":737.6},{"date":"2025-09-02","symbol":"META","close":734.02},{"date":"2025-09-03","symbol":"META","close":735.95},{"date":"2025-09-04","symbol":"META","close":747.54},{"date":"2025-09-05","symbol":"META","close":751.33},{"date":"2025-09-08","symbol":"META","close":751.18},{"date":"2025-09-09","symbol":"META","close":764.56},{"date":"2025-09-10","symbol":"META","close":750.86},{"date":"2025-09-11","symbol":"META","close":749.78},{"date":"2025-09-12","symbol":"META","close":754.47},{"date":"2025-09-15","symbol":"META","close":763.56},{"date":"2025-09-16","symbol":"META","close":777.84},{"date":"2025-09-17","symbol":"META","close":774.57},{"date":"2025-09-18","symbol":"META","close":779.09},{"date":"2025-09-19","symbol":"META","close":777.22},{"date":"2025-09-22","symbol":"META","close":764.54},{"date":"2025-09-23","symbol":"META","close":754.78},{"date":"2025-09-24","symbol":"META","close":760.04},{"date":"2025-09-25","symbol":"META","close":748.3},{"date":"2025-09-26","symbol":"META","close":743.14},{"date":"2025-09-29","symbol":"META","close":742.79},{"date":"2025-09-30","symbol":"META","close":733.78},{"date":"2025-10-01","symbol":"META","close":716.76},{"date":"2025-10-02","symbol":"META","close":726.46},{"date":"2025-10-03","symbol":"META","close":709.98},{"date":"2025-10-06","symbol":"META","close":715.08},{"date":"2025-10-07","symbol":"META","close":712.5},{"date":"2025-10-08","symbol":"META","close":717.26},{"date":"2025-10-09","symbol":"META","close":732.91},{"date":"2025-10-10","symbol":"META","close":704.73},{"date":"2025-10-13","symbol":"META","close":715.12},{"date":"2025-10-14","symbol":"META","close":708.07},{"date":"2025-10-15","symbol":"META","close":716.97},{"date":"2025-10-16","symbol":"META","close":711.49},{"date":"2025-10-17","symbol":"META","close":716.34},{"date":"2025-10-20","symbol":"META","close":731.57},{"date":"2025-10-21","symbol":"META","close":732.67},{"date":"2025-10-22","symbol":"META","close":732.81},{"date":"2025-10-23","symbol":"META","close":733.4},{"date":"2025-10-24","symbol":"META","close":737.76},{"date":"2025-10-27","symbol":"META","close":750.21},{"date":"2025-10-28","symbol":"META","close":750.83},{"date":"2025-10-29","symbol":"META","close":751.06},{"date":"2025-10-30","symbol":"META","close":665.93},{"date":"2025-10-31","symbol":"META","close":647.82},{"date":"2025-11-03","symbol":"META","close":637.19},{"date":"2025-11-04","symbol":"META","close":626.81},{"date":"2025-11-05","symbol":"META","close":635.43},{"date":"2025-11-06","symbol":"META","close":618.44},{"date":"2025-11-07","symbol":"META","close":621.2},{"date":"2025-11-10","symbol":"META","close":631.25},{"date":"2025-11-11","symbol":"META","close":626.57},{"date":"2025-11-12","symbol":"META","close":608.51},{"date":"2025-11-13","symbol":"META","close":609.39},{"date":"2025-11-14","symbol":"META","close":608.96},{"date":"2025-11-17","symbol":"META","close":601.52},{"date":"2025-11-18","symbol":"META","close":597.2},{"date":"2025-11-19","symbol":"META","close":589.84},{"date":"2025-11-20","symbol":"META","close":588.67},{"date":"2025-11-21","symbol":"META","close":593.77},{"date":"2025-11-24","symbol":"META","close":612.55},{"date":"2025-11-25","symbol":"META","close":635.7},{"date":"2025-11-26","symbol":"META","close":633.09},{"date":"2025-11-28","symbol":"META","close":647.42},{"date":"2025-12-01","symbol":"META","close":640.35},{"date":"2025-12-02","symbol":"META","close":646.57},{"date":"2025-12-03","symbol":"META","close":639.08},{"date":"2025-12-04","symbol":"META","close":660.99},{"date":"2025-12-05","symbol":"META","close":672.87},{"date":"2025-12-08","symbol":"META","close":666.26},{"date":"2025-12-09","symbol":"META","close":656.42},{"date":"2025-12-10","symbol":"META","close":649.6},{"date":"2025-12-11","symbol":"META","close":652.18},{"date":"2025-12-12","symbol":"META","close":643.71},{"date":"2025-12-15","symbol":"META","close":647.51},{"date":"2025-12-16","symbol":"META","close":657.15},{"date":"2025-12-17","symbol":"META","close":649.5},{"date":"2025-12-18","symbol":"META","close":664.45},{"date":"2025-12-19","symbol":"META","close":658.77},{"date":"2025-12-22","symbol":"META","close":661.5},{"date":"2025-12-23","symbol":"META","close":664.94},{"date":"2025-12-24","symbol":"META","close":667.55},{"date":"2025-12-26","symbol":"META","close":663.29},{"date":"2025-12-29","symbol":"META","close":658.69},{"date":"2025-12-30","symbol":"META","close":665.95},{"date":"2025-12-31","symbol":"META","close":660.09},{"date":"2026-01-02","symbol":"META","close":650.41},{"date":"2026-01-05","symbol":"META","close":658.79},{"date":"2026-01-06","symbol":"META","close":660.62},{"date":"2026-01-07","symbol":"META","close":648.69},{"date":"2026-01-08","symbol":"META","close":646.06},{"date":"2026-01-09","symbol":"META","close":653.06},{"date":"2026-01-12","symbol":"META","close":641.97},{"date":"2026-01-13","symbol":"META","close":631.09},{"date":"2026-01-14","symbol":"META","close":615.52},{"date":"2026-01-15","symbol":"META","close":620.8},{"date":"2026-01-16","symbol":"META","close":620.25},{"date":"2026-01-20","symbol":"META","close":604.12},{"date":"2026-01-21","symbol":"META","close":612.96},{"date":"2026-01-22","symbol":"META","close":647.63},{"date":"2026-01-23","symbol":"META","close":658.76},{"date":"2026-01-26","symbol":"META","close":672.36},{"date":"2025-07-31","symbol":"MSFT","close":531.63},{"date":"2025-08-01","symbol":"MSFT","close":522.27},{"date":"2025-08-04","symbol":"MSFT","close":533.76},{"date":"2025-08-05","symbol":"MSFT","close":525.9},{"date":"2025-08-06","symbol":"MSFT","close":523.1},{"date":"2025-08-07","symbol":"MSFT","close":519.01},{"date":"2025-08-08","symbol":"MSFT","close":520.21},{"date":"2025-08-11","symbol":"MSFT","close":519.94},{"date":"2025-08-12","symbol":"MSFT","close":527.38},{"date":"2025-08-13","symbol":"MSFT","close":518.75},{"date":"2025-08-14","symbol":"MSFT","close":520.65},{"date":"2025-08-15","symbol":"MSFT","close":518.35},{"date":"2025-08-18","symbol":"MSFT","close":515.29},{"date":"2025-08-19","symbol":"MSFT","close":507.98},{"date":"2025-08-20","symbol":"MSFT","close":503.95},{"date":"2025-08-21","symbol":"MSFT","close":503.3},{"date":"2025-08-22","symbol":"MSFT","close":506.28},{"date":"2025-08-25","symbol":"MSFT","close":503.32},{"date":"2025-08-26","symbol":"MSFT","close":501.1},{"date":"2025-08-27","symbol":"MSFT","close":505.79},{"date":"2025-08-28","symbol":"MSFT","close":508.69},{"date":"2025-08-29","symbol":"MSFT","close":505.74},{"date":"2025-09-02","symbol":"MSFT","close":504.18},{"date":"2025-09-03","symbol":"MSFT","close":504.41},{"date":"2025-09-04","symbol":"MSFT","close":507.02},{"date":"2025-09-05","symbol":"MSFT","close":494.08},{"date":"2025-09-08","symbol":"MSFT","close":497.27},{"date":"2025-09-09","symbol":"MSFT","close":497.48},{"date":"2025-09-10","symbol":"MSFT","close":499.44},{"date":"2025-09-11","symbol":"MSFT","close":500.07},{"date":"2025-09-12","symbol":"MSFT","close":508.95},{"date":"2025-09-15","symbol":"MSFT","close":514.4},{"date":"2025-09-16","symbol":"MSFT","close":508.09},{"date":"2025-09-17","symbol":"MSFT","close":509.07},{"date":"2025-09-18","symbol":"MSFT","close":507.5},{"date":"2025-09-19","symbol":"MSFT","close":516.96},{"date":"2025-09-22","symbol":"MSFT","close":513.49},{"date":"2025-09-23","symbol":"MSFT","close":508.28},{"date":"2025-09-24","symbol":"MSFT","close":509.2},{"date":"2025-09-25","symbol":"MSFT","close":506.08},{"date":"2025-09-26","symbol":"MSFT","close":510.5},{"date":"2025-09-29","symbol":"MSFT","close":513.64},{"date":"2025-09-30","symbol":"MSFT","close":516.98},{"date":"2025-10-01","symbol":"MSFT","close":518.74},{"date":"2025-10-02","symbol":"MSFT","close":514.78},{"date":"2025-10-03","symbol":"MSFT","close":516.38},{"date":"2025-10-06","symbol":"MSFT","close":527.58},{"date":"2025-10-07","symbol":"MSFT","close":523},{"date":"2025-10-08","symbol":"MSFT","close":523.87},{"date":"2025-10-09","symbol":"MSFT","close":521.42},{"date":"2025-10-10","symbol":"MSFT","close":510.01},{"date":"2025-10-13","symbol":"MSFT","close":513.09},{"date":"2025-10-14","symbol":"MSFT","close":512.61},{"date":"2025-10-15","symbol":"MSFT","close":512.47},{"date":"2025-10-16","symbol":"MSFT","close":510.65},{"date":"2025-10-17","symbol":"MSFT","close":512.62},{"date":"2025-10-20","symbol":"MSFT","close":515.82},{"date":"2025-10-21","symbol":"MSFT","close":516.69},{"date":"2025-10-22","symbol":"MSFT","close":519.57},{"date":"2025-10-23","symbol":"MSFT","close":519.59},{"date":"2025-10-24","symbol":"MSFT","close":522.63},{"date":"2025-10-27","symbol":"MSFT","close":530.53},{"date":"2025-10-28","symbol":"MSFT","close":541.06},{"date":"2025-10-29","symbol":"MSFT","close":540.54},{"date":"2025-10-30","symbol":"MSFT","close":524.78},{"date":"2025-10-31","symbol":"MSFT","close":516.84},{"date":"2025-11-03","symbol":"MSFT","close":516.06},{"date":"2025-11-04","symbol":"MSFT","close":513.37},{"date":"2025-11-05","symbol":"MSFT","close":506.21},{"date":"2025-11-06","symbol":"MSFT","close":496.17},{"date":"2025-11-07","symbol":"MSFT","close":495.89},{"date":"2025-11-10","symbol":"MSFT","close":505.05},{"date":"2025-11-11","symbol":"MSFT","close":507.73},{"date":"2025-11-12","symbol":"MSFT","close":510.19},{"date":"2025-11-13","symbol":"MSFT","close":502.35},{"date":"2025-11-14","symbol":"MSFT","close":509.23},{"date":"2025-11-17","symbol":"MSFT","close":506.54},{"date":"2025-11-18","symbol":"MSFT","close":492.87},{"date":"2025-11-19","symbol":"MSFT","close":486.21},{"date":"2025-11-20","symbol":"MSFT","close":478.43},{"date":"2025-11-21","symbol":"MSFT","close":472.12},{"date":"2025-11-24","symbol":"MSFT","close":474},{"date":"2025-11-25","symbol":"MSFT","close":476.99},{"date":"2025-11-26","symbol":"MSFT","close":485.5},{"date":"2025-11-28","symbol":"MSFT","close":492.01},{"date":"2025-12-01","symbol":"MSFT","close":486.74},{"date":"2025-12-02","symbol":"MSFT","close":490},{"date":"2025-12-03","symbol":"MSFT","close":477.73},{"date":"2025-12-04","symbol":"MSFT","close":480.84},{"date":"2025-12-05","symbol":"MSFT","close":483.16},{"date":"2025-12-08","symbol":"MSFT","close":491.02},{"date":"2025-12-09","symbol":"MSFT","close":492.02},{"date":"2025-12-10","symbol":"MSFT","close":478.56},{"date":"2025-12-11","symbol":"MSFT","close":483.47},{"date":"2025-12-12","symbol":"MSFT","close":478.53},{"date":"2025-12-15","symbol":"MSFT","close":474.82},{"date":"2025-12-16","symbol":"MSFT","close":476.39},{"date":"2025-12-17","symbol":"MSFT","close":476.12},{"date":"2025-12-18","symbol":"MSFT","close":483.98},{"date":"2025-12-19","symbol":"MSFT","close":485.92},{"date":"2025-12-22","symbol":"MSFT","close":484.92},{"date":"2025-12-23","symbol":"MSFT","close":486.85},{"date":"2025-12-24","symbol":"MSFT","close":488.02},{"date":"2025-12-26","symbol":"MSFT","close":487.71},{"date":"2025-12-29","symbol":"MSFT","close":487.1},{"date":"2025-12-30","symbol":"MSFT","close":487.48},{"date":"2025-12-31","symbol":"MSFT","close":483.62},{"date":"2026-01-02","symbol":"MSFT","close":472.94},{"date":"2026-01-05","symbol":"MSFT","close":472.85},{"date":"2026-01-06","symbol":"MSFT","close":478.51},{"date":"2026-01-07","symbol":"MSFT","close":483.47},{"date":"2026-01-08","symbol":"MSFT","close":478.11},{"date":"2026-01-09","symbol":"MSFT","close":479.28},{"date":"2026-01-12","symbol":"MSFT","close":477.18},{"date":"2026-01-13","symbol":"MSFT","close":470.67},{"date":"2026-01-14","symbol":"MSFT","close":459.38},{"date":"2026-01-15","symbol":"MSFT","close":456.66},{"date":"2026-01-16","symbol":"MSFT","close":459.86},{"date":"2026-01-20","symbol":"MSFT","close":454.52},{"date":"2026-01-21","symbol":"MSFT","close":444.11},{"date":"2026-01-22","symbol":"MSFT","close":451.14},{"date":"2026-01-23","symbol":"MSFT","close":465.95},{"date":"2026-01-26","symbol":"MSFT","close":470.28},{"date":"2025-07-31","symbol":"NVDA","close":177.85},{"date":"2025-08-01","symbol":"NVDA","close":173.7},{"date":"2025-08-04","symbol":"NVDA","close":179.98},{"date":"2025-08-05","symbol":"NVDA","close":178.24},{"date":"2025-08-06","symbol":"NVDA","close":179.4},{"date":"2025-08-07","symbol":"NVDA","close":180.75},{"date":"2025-08-08","symbol":"NVDA","close":182.68},{"date":"2025-08-11","symbol":"NVDA","close":182.04},{"date":"2025-08-12","symbol":"NVDA","close":183.14},{"date":"2025-08-13","symbol":"NVDA","close":181.57},{"date":"2025-08-14","symbol":"NVDA","close":182},{"date":"2025-08-15","symbol":"NVDA","close":180.43},{"date":"2025-08-18","symbol":"NVDA","close":181.99},{"date":"2025-08-19","symbol":"NVDA","close":175.62},{"date":"2025-08-20","symbol":"NVDA","close":175.38},{"date":"2025-08-21","symbol":"NVDA","close":174.96},{"date":"2025-08-22","symbol":"NVDA","close":177.97},{"date":"2025-08-25","symbol":"NVDA","close":179.79},{"date":"2025-08-26","symbol":"NVDA","close":181.75},{"date":"2025-08-27","symbol":"NVDA","close":181.58},{"date":"2025-08-28","symbol":"NVDA","close":180.15},{"date":"2025-08-29","symbol":"NVDA","close":174.16},{"date":"2025-09-02","symbol":"NVDA","close":170.76},{"date":"2025-09-03","symbol":"NVDA","close":170.6},{"date":"2025-09-04","symbol":"NVDA","close":171.64},{"date":"2025-09-05","symbol":"NVDA","close":167},{"date":"2025-09-08","symbol":"NVDA","close":168.29},{"date":"2025-09-09","symbol":"NVDA","close":170.74},{"date":"2025-09-10","symbol":"NVDA","close":177.31},{"date":"2025-09-11","symbol":"NVDA","close":177.16},{"date":"2025-09-12","symbol":"NVDA","close":177.81},{"date":"2025-09-15","symbol":"NVDA","close":177.74},{"date":"2025-09-16","symbol":"NVDA","close":174.87},{"date":"2025-09-17","symbol":"NVDA","close":170.28},{"date":"2025-09-18","symbol":"NVDA","close":176.23},{"date":"2025-09-19","symbol":"NVDA","close":176.66},{"date":"2025-09-22","symbol":"NVDA","close":183.6},{"date":"2025-09-23","symbol":"NVDA","close":178.42},{"date":"2025-09-24","symbol":"NVDA","close":176.96},{"date":"2025-09-25","symbol":"NVDA","close":177.68},{"date":"2025-09-26","symbol":"NVDA","close":178.18},{"date":"2025-09-29","symbol":"NVDA","close":181.84},{"date":"2025-09-30","symbol":"NVDA","close":186.57},{"date":"2025-10-01","symbol":"NVDA","close":187.23},{"date":"2025-10-02","symbol":"NVDA","close":188.88},{"date":"2025-10-03","symbol":"NVDA","close":187.61},{"date":"2025-10-06","symbol":"NVDA","close":185.53},{"date":"2025-10-07","symbol":"NVDA","close":185.03},{"date":"2025-10-08","symbol":"NVDA","close":189.1},{"date":"2025-10-09","symbol":"NVDA","close":192.56},{"date":"2025-10-10","symbol":"NVDA","close":183.15},{"date":"2025-10-13","symbol":"NVDA","close":188.31},{"date":"2025-10-14","symbol":"NVDA","close":180.02},{"date":"2025-10-15","symbol":"NVDA","close":179.82},{"date":"2025-10-16","symbol":"NVDA","close":181.8},{"date":"2025-10-17","symbol":"NVDA","close":183.21},{"date":"2025-10-20","symbol":"NVDA","close":182.63},{"date":"2025-10-21","symbol":"NVDA","close":181.15},{"date":"2025-10-22","symbol":"NVDA","close":180.27},{"date":"2025-10-23","symbol":"NVDA","close":182.15},{"date":"2025-10-24","symbol":"NVDA","close":186.25},{"date":"2025-10-27","symbol":"NVDA","close":191.48},{"date":"2025-10-28","symbol":"NVDA","close":201.02},{"date":"2025-10-29","symbol":"NVDA","close":207.03},{"date":"2025-10-30","symbol":"NVDA","close":202.88},{"date":"2025-10-31","symbol":"NVDA","close":202.48},{"date":"2025-11-03","symbol":"NVDA","close":206.87},{"date":"2025-11-04","symbol":"NVDA","close":198.68},{"date":"2025-11-05","symbol":"NVDA","close":195.2},{"date":"2025-11-06","symbol":"NVDA","close":188.07},{"date":"2025-11-07","symbol":"NVDA","close":188.14},{"date":"2025-11-10","symbol":"NVDA","close":199.04},{"date":"2025-11-11","symbol":"NVDA","close":193.15},{"date":"2025-11-12","symbol":"NVDA","close":193.79},{"date":"2025-11-13","symbol":"NVDA","close":186.85},{"date":"2025-11-14","symbol":"NVDA","close":190.16},{"date":"2025-11-17","symbol":"NVDA","close":186.59},{"date":"2025-11-18","symbol":"NVDA","close":181.35},{"date":"2025-11-19","symbol":"NVDA","close":186.51},{"date":"2025-11-20","symbol":"NVDA","close":180.63},{"date":"2025-11-21","symbol":"NVDA","close":178.87},{"date":"2025-11-24","symbol":"NVDA","close":182.54},{"date":"2025-11-25","symbol":"NVDA","close":177.81},{"date":"2025-11-26","symbol":"NVDA","close":180.25},{"date":"2025-11-28","symbol":"NVDA","close":176.99},{"date":"2025-12-01","symbol":"NVDA","close":179.91},{"date":"2025-12-02","symbol":"NVDA","close":181.45},{"date":"2025-12-03","symbol":"NVDA","close":179.58},{"date":"2025-12-04","symbol":"NVDA","close":183.38},{"date":"2025-12-05","symbol":"NVDA","close":182.41},{"date":"2025-12-08","symbol":"NVDA","close":185.55},{"date":"2025-12-09","symbol":"NVDA","close":184.97},{"date":"2025-12-10","symbol":"NVDA","close":183.78},{"date":"2025-12-11","symbol":"NVDA","close":180.93},{"date":"2025-12-12","symbol":"NVDA","close":175.02},{"date":"2025-12-15","symbol":"NVDA","close":176.29},{"date":"2025-12-16","symbol":"NVDA","close":177.72},{"date":"2025-12-17","symbol":"NVDA","close":170.94},{"date":"2025-12-18","symbol":"NVDA","close":174.14},{"date":"2025-12-19","symbol":"NVDA","close":180.99},{"date":"2025-12-22","symbol":"NVDA","close":183.69},{"date":"2025-12-23","symbol":"NVDA","close":189.21},{"date":"2025-12-24","symbol":"NVDA","close":188.61},{"date":"2025-12-26","symbol":"NVDA","close":190.53},{"date":"2025-12-29","symbol":"NVDA","close":188.22},{"date":"2025-12-30","symbol":"NVDA","close":187.54},{"date":"2025-12-31","symbol":"NVDA","close":186.5},{"date":"2026-01-02","symbol":"NVDA","close":188.85},{"date":"2026-01-05","symbol":"NVDA","close":188.12},{"date":"2026-01-06","symbol":"NVDA","close":187.24},{"date":"2026-01-07","symbol":"NVDA","close":189.11},{"date":"2026-01-08","symbol":"NVDA","close":185.04},{"date":"2026-01-09","symbol":"NVDA","close":184.86},{"date":"2026-01-12","symbol":"NVDA","close":184.94},{"date":"2026-01-13","symbol":"NVDA","close":185.81},{"date":"2026-01-14","symbol":"NVDA","close":183.14},{"date":"2026-01-15","symbol":"NVDA","close":187.05},{"date":"2026-01-16","symbol":"NVDA","close":186.23},{"date":"2026-01-20","symbol":"NVDA","close":178.07},{"date":"2026-01-21","symbol":"NVDA","close":183.32},{"date":"2026-01-22","symbol":"NVDA","close":184.84},{"date":"2026-01-23","symbol":"NVDA","close":187.67},{"date":"2026-01-26","symbol":"NVDA","close":186.47}],"metadata":{"date":{"type":"date","semanticType":"Date"},"symbol":{"type":"string","semanticType":"String"},"close":{"type":"number","semanticType":"Number"}},"derive":{"code":"\nimport pandas as pd\nimport collections\nimport numpy as np\n\ndef transform_data(df_history: pd.DataFrame) -> pd.DataFrame:\n # Select only needed columns\n cols = [\"date\", \"symbol\", \"close\"]\n df = df_history[cols].copy()\n\n # Ensure date is a string in YYYY-MM-DD format (no datetime objects)\n df[\"date\"] = pd.to_datetime(df[\"date\"]).dt.strftime(\"%Y-%m-%d\")\n\n # Sort for proper line plotting\n df = df.sort_values([\"symbol\", \"date\"]).reset_index(drop=True)\n\n transformed_df = df\n return transformed_df\n","source":["history"],"dialog":[{"role":"system","content":"You are a data scientist to help user to recommend data that will be used for visualization.\nThe user will provide you information about what visualization they would like to create, and your job is to recommend a transformed data that can be used to create the visualization and write a python function to transform the data.\nThe recommendation and transformation function should be based on the [CONTEXT] and [GOAL] provided by the user. \nThe [CONTEXT] shows what the current dataset is, and the [GOAL] describes what the user wants the data for.\n\n**Important:**\n- NEVER make assumptions or judgments about a person's gender, biological sex, sexuality, religion, race, nationality, ethnicity, political stance, socioeconomic status, mental health, invisible disabilities, medical conditions, personality type, social impressions, emotional state, and cognitive state.\n- NEVER create formulas that could be used to discriminate based on age. Ageism of any form (explicit and implicit) is strictly prohibited.\n- If above issue occurs, generate columns with np.nan.\n\nConcretely, you should infer the appropriate data and create in the output section a python function based off the [CONTEXT] and [GOAL] in two steps:\n\n1. First, based on users' [GOAL]. Create a json object that represents the inferred user intent. The json object should have the following format:\n\n{\n \"mode\": \"\" // string, one of \"infer\", \"overview\", \"distribution\", \"summary\", \"forecast\"\n \"recap\": \"...\" // string, a short summary of the user's goal.\n \"display_instruction\": \"...\" // string, the even shorter verb phrase describing the users' goal.\n \"recommendation\": \"...\" // string, explain why this recommendation is made\n \"input_tables\": [...] // string[], describe names of the input tables that will be used in the transformation.\n \"output_fields\": [...] // string[], describe the desired output fields that the output data should have (i.e., the goal of transformed data), it's a good idea to preseve intermediate fields here\n \"chart_type\": \"\" // string, one of \"point\", \"bar\", \"line\", \"area\", \"heatmap\", \"group_bar\", 'boxplot'. \"chart_type\" should either be inferred from user instruction, or recommend if the user didn't specify any.\n \"chart_encodings\": {\n \"x\": \"\",\n \"y\": \"\",\n \"color\": \"\",\n \"size\": \"\",\n \"opacity\": \"\",\n \"facet\": \"\",\n } // object: map visualization channels (x, y, color, size, opacity, facet, etc.) to a subset of output fields, appropriate visual channels for different chart types are defined below.\n}\n\nConcretely:\n - recap what the user's goal is in a short summary in \"recap\".\n - If the user's [GOAL] is clear already, simply infer what the user mean. Set \"mode\" as \"infer\" and create \"output_fields\" and \"chart_encodings\" based off user description.\n - If the user's [GOAL] is not clear, make recommendations to the user:\n - choose one of \"distribution\", \"overview\", \"summary\", \"forecast\" in \"mode\":\n * if it is \"overview\" and the data is in wide format, reshape it into long format.\n * if it is \"distribution\", select a few fields that would be interesting to visualize together.\n * if it is \"summary\", calculate some aggregated statistics to show intresting facts of the data.\n * if it is \"forecast\", concretize the x,y fields that will be used for forecasting and decide if it is about regression or forecasting.\n - describe the recommendation reason in \"recommendation\"\n - based on the recommendation, determine what is an ideal output data. Note, the output data must be in tidy format.\n - then suggest recommendations of chart encoding that should be used to create the visualization.\n - \"display_instruction\" should be a short verb phrase describing the users' goal, it should be even shorter than \"recap\". \n - it would be a short verbal description of user intent as a verb phrase (<12 words).\n - generate based on \"recap\" and the suggested visualization, but don't need to mention the visualization details.\n - should capture key computation ideas: by reading the display, the user can understand the purpose and what's derived from the data.\n - if the user instruction builds up the previous instruction, the 'display_instruction' should only describe how it builds up the previous instruction without repeating information from previous steps.\n - the phrase can be presented in different styles, e.g., question (what's xxx), instruction (show xxx), description, etc.\n - if you mention column names from the input or the output data, highlight the text in **bold**.\n * the column can either be a column in the input data, or a new column that will be computed in the output data.\n * the mention don't have to be exact match, it can be semantically matching, e.g., if you mentioned \"average score\" in the text while the column to be computed is \"Avg_Score\", you should still highlight \"**average score**\" in the text.\n - determine \"input_tables\", the names of a subset of input tables from [CONTEXT] section that will be used to achieve the user's goal.\n - **IMPORTANT** Note that the Table 1 in [CONTEXT] section is the table the user is currently viewing, it should take precedence if the user refers to insights about the \"current table\".\n - At the same time, leverage table information to determine which tables are relevant to the user's goal and should be used.\n - \"chart_type\" must be one of \"point\", \"bar\", \"line\", \"area\", \"heatmap\", \"group_bar\", \"boxplot\"\n - \"chart_encodings\" should specify which fields should be used to create the visualization\n - decide which visual channels should be used to create the visualization appropriate for the chart type.\n - point: x, y, color, size, facet\n - histogram: x, color, facet\n - bar: x, y, color, facet\n - line: x, y, color, facet\n - area: x, y, color, facet\n - heatmap: x, y, color, facet\n - group_bar: x, y, color, facet\n - boxplot: x, y, color, facet\n - note that all fields used in \"chart_encodings\" should be included in \"output_fields\".\n - all fields you need for visualizations should be transformed into the output fields!\n - \"output_fields\" should include important intermediate fields that are not used in visualization but are used for data transformation.\n - typically only 2-3 fields should be used to create the visualization (x, y, color/size), facet use be added if it's a faceted visualization (totally 4 fields used).\n - Guidelines for choosing chart type and visualization fields:\n - Consider chart types as follows:\n - (point) Scatter Plots: x,y: Quantitative/Categorical, color: Categorical (optional), size: Quantitative (optional for creating bubble chart), \n - best for: Relationships, correlations, distributions, forecasting, regression analysis\n - scatter plots are good default way to visualize data when other chart types are not applicable.\n - use color to visualize points from different categories.\n - use size to visualize data points with an additional quantitative dimension of the data points.\n - (histogram) Histograms: x: Quantitative/Categorical, color: Categorical (optional for creating grouped histogram), \n - best for: Distribution of a quantitative field\n - use x values directly if x values are categorical, and transform the data into bins if the field values are quantitative.\n - when color is specified, the histogram will be grouped automatically (items with the same x values will be grouped).\n - (bar) Bar Charts: x: Categorical (nominal/ordinal), y: Quantitative, color: Categorical/Quantitative (for stacked bar chart / showing additional quantitative dimension), \n - best for: Comparisons across categories\n - use (bar) for simple bar chart or stacked bar chart (when it makes sense to add up Y values for each category with the same X value), \n - when color is specified, the bar will be stacked automatically (items with the same x values will be stacked).\n - note that when there are multiple rows in the data with same x values, the bar will be stacked automatically.\n - 1. consider to use an aggregated field for y values if the value is not suitable for stacking.\n - 2. consider to introduce facets so that each group is visualized in a separate bar.\n - (group_bar) for grouped bar chart, x: Categorical (nominal/ordinal), y: Quantitative, color: Categorical\n - when color is specifed, bars from different groups will be grouped automatically.\n - only use facet if the cardinality of color field is small (less than 5).\n - (line) Line Charts: x: Temporal (preferred) or ordinal, y: Quantitative, color: Categorical (optional for creating multiple lines), \n - best for: Trends over time, continuous data, forecasting, regression analysis\n - note that when there are multiple rows in the data belong to the same group (same x and color values) but different y values, the line will not look correct.\n - consider to use an aggregated field for y values, or introduce facets so that each group is visualized in a separate line.\n - (area) Area Charts: x: Temporal (preferred) or ordinal, y: Quantitative, color: Categorical (optional for creating stacked areas), \n - best for: Trends over time, continuous data\n - (heatmap) Heatmaps: x,y: Categorical (you need to convert quantitative to nominal), color: Quantitative intensity, \n - best for: Pattern discovery in matrix data\n - (boxplot) Box plots: x: Categorical (nominal/ordinal), y: Quantitative, color: Categorical (optional for creating grouped boxplots), \n - best for: Distribution of a quantitative field\n - use x values directly if x values are categorical, and transform the data into bins if the field values are quantitative.\n - when color is specified, the boxplot will be grouped automatically (items with the same x values will be grouped).\n - facet channel is available for all chart types, it supports a categorical field with small cardinality to visualize the data in different facets.\n - if you really need additional legend fields:\n - you can use opacity for legend (support Quantitative and Categorical).\n - visualization fields require tidy data. \n - similar to VegaLite and ggplot2 so that each field is mapped to a visualization axis or legend. \n - consider data transformations if you want to visualize multiple fields together:\n - exapmle 1: suggest reshaping the data into long format in data transformation description (if these fields are all of the same type, e.g., they are all about sales, price, two columns about min/max-values, etc. don't mix different types of fields in reshaping) so we can visualize multiple fields as categories or in different facets.\n - exapmle 2: calculate some derived fields from these fields(e.g., correlation, difference, profit etc.) in data transformation description to visualize them in one visualization.\n - example 3: create a visualization only with a subset of the fields, you don't have to visualize all of them in one chart, you can later create a visualization with the rest of the fields. With the subset of charts, you can also consider reshaping or calculate some derived value.\n - again, it does not make sense to have five fields like [item, A, B, C, D, E] in visualization fields, you should consider data transformation to reduce the number of fields.\n - when reshaping data to long format, only fields of the same semantic type should be rehaped into the same column.\n - guide on statistical analysis:\n - when the user asks for forecasting or regression analysis, you should consider the following:\n - the output should be a long format table where actual x, y pairs and predicted x, y pairs are included in the X, Y columns, they are differentiated with a third column \"is_predicted\" that is a boolean field.\n - i.e., if the user ask for forecasting based on two columns T and Y, the output should be three columns: T, Y, is_predicted, where\n - T, Y columns contain BOTH original values from the data and predicted values from the data.\n - is_predicted is a boolean field to indicate whether the x, y pairs are original values from the data or predicted / regression values from the data.\n - the recommended chart should be line chart (time series) or scatter plot (quantitative x, y)\n - if the user asks for forecasting, it's good to include predicted x, y pairs for both x in the original data and future x values (i.e., combine regression and forecasting results)\n - in this case, is_predicted should be of three values 'original', 'regression', 'forecasting'\n - put is_predicted field in 'opacity' channel to distinguish them.\n - when the user asks for clustering:\n - the output should be a long format table where actual x, y pairs with a third column \"cluster_id\" that indicates the cluster id of the data point.\n - the recommended chart should be scatter plot (quantitative x, y)\n \n 2. Then, write a python function based on the inferred goal, the function input is a dataframe \"df\" (or multiple dataframes based on tables presented in the [CONTEXT] section) and the output is the transformed dataframe \"transformed_df\". \n\"transformed_df\" should contain all \"output_fields\" from the refined user intent in the json object.\nThe python function must follow the template provided in [TEMPLATE]. The function should be as simple as possible and easily readable. \nIf there is no data transformation needed based on \"output_fields\", the transformation function can simply \"return df\".\n\n[TEMPLATE]\n\n```python\nimport pandas as pd\nimport collections\nimport numpy as np\n# from sklearn import ... # import from sklearn if you need it.\n\ndef transform_data(df1, df2, ...): \n # complete the template here\n return transformed_df\n```\n\nnote: \n- decide the function signature based on the number of tables you decided in the previous step \"input_tables\":\n - if you decide there will only be one input table, then function signature should be `def transform_data(df1)`\n - if you decided there will be k input tables, then function signature should be `def transform_data(df_1, df_2, ..., df_k)`.\n - instead of using generic names like df1, df2, ..., try to use intuitive table names for function arguments, for example, if you have input_tables: [\"City\", \"Weather\"]`, you can use `transform_data(df_city, df_weather)` to refer to the two dataframes.\n - **VERY IMPORTANT** the number of arguments in the function signature must be the same as the number of tables provided in \"input_tables\", and the order of arguments must match the order of tables provided in \"input_tables\".\n- datetime objects handling:\n - if the output field is year, convert it to number, if it is year-month / year-month-day, convert it to string object (e.g., \"2020-01\" / \"2020-01-01\").\n - if the output is time only: convert hour to number if it's just the hour (e.g., 10), but convert hour:min or h:m:s to string object (e.g., \"10:30\", \"10:30:45\")\n - never return datetime object directly, convert it to either number (if it only contains year) or string so it's readable.\n \n 3. The output must only contain a json object representing inferred user intent and a python code block representing the transformation code, do not add any extra text explanation.\n"},{"role":"user","content":"[CONTEXT]\n\n## Table 1: history (738 rows × 8 columns)\n\n### Schema (8 fields)\n - symbol -- type: object, values: AAPL, AMZN, GOOGL, META, MSFT, NVDA\n - date -- type: object, values: 2025-07-30, 2025-07-31, 2025-08-01, ..., 2026-01-20, 2026-01-21, 2026-01-22, 2026-01-23\n - open -- type: float64, values: 167.53, 168.01, 169.07, ..., 781.21, 782.98, 785.25, 789.97\n - high -- type: float64, values: 169.01, 170.94, 170.96, ..., 789.62, 792.49, 794.28, 795.06\n - low -- type: float64, values: 164.05, 166.72, 167.2, ..., 771.36, 772.21, 777.07, 779.66\n - close -- type: float64, values: 167.0, 168.29, 170.28, ..., 779.09, 780.97, 784.06, 788.82\n - volume -- type: int64, values: 5627500, 5855900, 6861200, ..., 320600300, 324925900, 343504800, 346926200\n - fetched_at -- type: object, values: 2026-01-26T23:46:42.347312Z\n\n### Sample Data (first 5 rows)\n```\n symbol date open high low close volume fetched_at\n0 AAPL 2025-07-30 211.45 211.94 207.28 208.61 45512500 2026-01-26T23:46:42.347312Z\n1 AAPL 2025-07-31 208.05 209.40 206.72 207.13 80698400 2026-01-26T23:46:42.347312Z\n2 AAPL 2025-08-01 210.43 213.13 201.08 201.95 104434500 2026-01-26T23:46:42.347312Z\n3 AAPL 2025-08-04 204.08 207.44 201.26 202.92 75109300 2026-01-26T23:46:42.347312Z\n4 AAPL 2025-08-05 202.97 204.91 201.74 202.49 44155100 2026-01-26T23:46:42.347312Z\n```\n\n\n[GOAL]\n\n1) First, plot the overall **closing price** trends for each **symbol** over **time** on a single line chart to compare their broad trajectories and volatility."},{"role":"assistant","content":"{\n \"mode\": \"infer\",\n \"recap\": \"Compare overall closing price trends and volatility over time for each stock symbol on a single line chart.\",\n \"display_instruction\": \"Visualize **closing price** trends by **symbol** over **date**\",\n \"recommendation\": \"A line chart with time on the x-axis and closing price on the y-axis, colored by symbol, best shows comparative trajectories and volatility over time. The data only needs column selection, date normalization, and sorting to be visualization-ready.\",\n \"input_tables\": [\"history\"],\n \"output_fields\": [\"date\", \"symbol\", \"close\"],\n \"chart_type\": \"line\",\n \"chart_encodings\": {\n \"x\": \"date\",\n \"y\": \"close\",\n \"color\": \"symbol\",\n \"size\": \"\",\n \"opacity\": \"\",\n \"facet\": \"\"\n }\n}\n\n```python\nimport pandas as pd\nimport collections\nimport numpy as np\n\ndef transform_data(df_history: pd.DataFrame) -> pd.DataFrame:\n # Select only needed columns\n cols = [\"date\", \"symbol\", \"close\"]\n df = df_history[cols].copy()\n\n # Ensure date is a string in YYYY-MM-DD format (no datetime objects)\n df[\"date\"] = pd.to_datetime(df[\"date\"]).dt.strftime(\"%Y-%m-%d\")\n\n # Sort for proper line plotting\n df = df.sort_values([\"symbol\", \"date\"]).reset_index(drop=True)\n\n transformed_df = df\n return transformed_df\n```"}],"trigger":{"tableId":"history","sourceTableIds":["history"],"instruction":"1) First, plot the overall **closing price** trends for each **symbol** over **time** on a single line chart to compare their broad trajectories and volatility.","displayInstruction":"Visualize **closing price** trends by **symbol** over **date**","chart":{"id":"chart-1769471233291","chartType":"Auto","encodingMap":{},"tableRef":"history","saved":false,"source":"trigger","unread":true},"resultTableId":"table-233476"},"explanation":{"status":"ok","concepts":[],"code":"- **Keep only the key fields**: selects the columns **`\"date\"`**, **`\"symbol\"`**, and **`\"close\"`** from the input data and **drops all other columns**.\n- **Standardize the date format**: converts **`date`** into a **string** in the **`\"YYYY-MM-DD\"`** format to ensure consistency (no time component, no different date formats).\n- **Order the data for time-series use**: **sorts** the rows first by **`symbol`** and then by **`date`** so that each stock’s closing prices are in **chronological order**, which is important for **line charts** or time-based analysis.\n- **Return the cleaned dataset**: outputs this **simplified and ordered** table as the final transformed data.","dialog":[{"role":"system","content":"You are a data scientist to help user explain code, \nso that a non-code can clearly understand what the code is doing, you are provided with a summary of the input data, and the transformation code.\n\nYour goal:\n1. You should generate a good itemized explanation of the code so that the reader can understand high-level steps of what the data transformation is doing.\n - Be very concise, and stay at a high-level. The reader doesn't understand code and does not want to learn exactly what the code is doing. They just want to learn what have been done from a logical level.\n - The explanation should be a markdown string that is a list of bullet points (with new lines), highlight constants, data fields, and important verbs.\n2. Generate a list of explanations for new fields (fields not from the input data) that introduce metrics/concepts that are not obvious from the code.\n - provide a declarative definition that explains the new field, use a mathematical notation if applicable.\n - only include new fields explanation of new metrics that are involved in computation (e.g., ROI, commerical_success_score)\n - *DO NOT* explain trivial new fields like \"Decade\" or \"Avg_Rating\", \"US_Sales\" that are self-explanatory.\n - Avoid explaining fields that are simple aggregate of fields in the original data (min_score, avg_value, count, etc.)\n - When a field involves mathematical computation, you can use LaTeX math notation in the explanation. Format mathematical expressions using:\n - Inline math: `\\( ... \\)` for formulas within text\n - Block math: `\\[ ... \\]` for standalone formulas\n - Examples: `\\( \\frac{\\text{Revenue}}{\\text{Cost}} \\)` for ratios, `\\[ \\text{Score} = \\text{Rating} \\times \\text{Worldwide\\_Gross} \\]` for formulas\n - note: when using underscores as part of the text, you need to escape them with a backslash, e.g., `\\_`\n - Note: don't use math notation for fields whose computation is trivial (use plain english), it will likely be confusing to the reader. \n Only use math notation for fields that can not be easilyexplained in plain english. Use it sparingly.\n3. If there are multiple fields that have the similar computation, you can explain them together in one explanation.\n - in \"field\", you can provide a list of fields in format of \"field1, field2, ...\"\n - in \"explanation\", you can provide a single explanation for the computation of the fields.\n - for example, if you have fields like \"Norm_Rating\", \"Norm_Gross\", \"Critical_Commercial_Score\", you can explain Norm_Rating, Norm_Gross together in one explanation and explain Critical_Commercial_Score in another explanation.\n4. If the code is about statistical analysis, you should explain the statistical analysis in the explanation as a concept named \"Statistical Analysis\" in the [CONCEPTS EXPLANATION] section.\n - explain how you model the data, which fields are used, how data processing is done, and what models are used.\n - suggest some other modeling approaches that can be used to analyze the data in the explanation as well.\n \nThe focus is to explain how new fields are computed, don't generate explanation for low-level actions like \"return\", \"load data\" etc. \n\nProvide the result in the following two sections:\n - first section is the code explanation that should be a markdown block explaining the code, in the [CODE EXPLANATION] section.\n - remember to highlight constants, data fields, and important verbs in the code explanation.\n - second section is the concepts explanation that should be a json block (start with ```json) in the [CONCEPTS EXPLANATION] section.\n\n[CODE EXPLANATION]\n\n...(explanation of the code)\n\n[CONCEPTS EXPLANATION]\n\n```json\n[\n {\n \"field\": \"...\",\n \"explanation\": \"...\"\n }\n]\n\n```\n"},{"role":"user","content":"[CONTEXT]\n\n## Table 1: history (738 rows × 8 columns)\n\n### Schema (8 fields)\n - symbol -- type: object, values: AAPL, AMZN, GOOGL, META, MSFT, NVDA\n - date -- type: object, values: 2025-07-30, 2025-07-31, 2025-08-01, ..., 2026-01-20, 2026-01-21, 2026-01-22, 2026-01-23\n - open -- type: float64, values: 167.53, 168.01, 169.07, ..., 781.21, 782.98, 785.25, 789.97\n - high -- type: float64, values: 169.01, 170.94, 170.96, ..., 789.62, 792.49, 794.28, 795.06\n - low -- type: float64, values: 164.05, 166.72, 167.2, ..., 771.36, 772.21, 777.07, 779.66\n - close -- type: float64, values: 167.0, 168.29, 170.28, ..., 779.09, 780.97, 784.06, 788.82\n - volume -- type: int64, values: 5627500, 5855900, 6861200, ..., 320600300, 324925900, 343504800, 346926200\n - fetched_at -- type: object, values: 2026-01-26T23:46:42.347312Z\n\n### Sample Data (first 5 rows)\n```\n symbol date open high low close volume fetched_at\n0 AAPL 2025-07-30 211.45 211.94 207.28 208.61 45512500 2026-01-26T23:46:42.347312Z\n1 AAPL 2025-07-31 208.05 209.40 206.72 207.13 80698400 2026-01-26T23:46:42.347312Z\n2 AAPL 2025-08-01 210.43 213.13 201.08 201.95 104434500 2026-01-26T23:46:42.347312Z\n3 AAPL 2025-08-04 204.08 207.44 201.26 202.92 75109300 2026-01-26T23:46:42.347312Z\n4 AAPL 2025-08-05 202.97 204.91 201.74 202.49 44155100 2026-01-26T23:46:42.347312Z\n```\n\n\n[CODE]\n\nhere is the transformation code: \nimport pandas as pd\nimport collections\nimport numpy as np\n\ndef transform_data(df_history: pd.DataFrame) -> pd.DataFrame:\n # Select only needed columns\n cols = [\"date\", \"symbol\", \"close\"]\n df = df_history[cols].copy()\n\n # Ensure date is a string in YYYY-MM-DD format (no datetime objects)\n df[\"date\"] = pd.to_datetime(df[\"date\"]).dt.strftime(\"%Y-%m-%d\")\n\n # Sort for proper line plotting\n df = df.sort_values([\"symbol\", \"date\"]).reset_index(drop=True)\n\n transformed_df = df\n return transformed_df\n\n\n[EXPLANATION]\n"},{"role":"assistant","content":"[CODE EXPLANATION]\n\n- **Keep only the key fields**: selects the columns **`\"date\"`**, **`\"symbol\"`**, and **`\"close\"`** from the input data and **drops all other columns**.\n- **Standardize the date format**: converts **`date`** into a **string** in the **`\"YYYY-MM-DD\"`** format to ensure consistency (no time component, no different date formats).\n- **Order the data for time-series use**: **sorts** the rows first by **`symbol`** and then by **`date`** so that each stock’s closing prices are in **chronological order**, which is important for **line charts** or time-based analysis.\n- **Return the cleaned dataset**: outputs this **simplified and ordered** table as the final transformed data.\n\n[CONCEPTS EXPLANATION]\n\n```json\n[]\n```"}],"agent":"CodeExplanationAgent"}},"anchored":false,"createdBy":"user","attachedMetadata":"","contentHash":"a2a0adc6"},{"id":"table-265247","displayId":"stock-ma","names":["date","symbol","close","value","ma_window"],"rows":[{"date":"2025-07-31","symbol":"AAPL","close":207.13,"value":207.13,"ma_window":20},{"date":"2025-08-01","symbol":"AAPL","close":201.95,"value":204.54,"ma_window":20},{"date":"2025-08-04","symbol":"AAPL","close":202.92,"value":204,"ma_window":20},{"date":"2025-08-05","symbol":"AAPL","close":202.49,"value":203.6225,"ma_window":20},{"date":"2025-08-06","symbol":"AAPL","close":212.8,"value":205.458,"ma_window":20},{"date":"2025-08-07","symbol":"AAPL","close":219.57,"value":207.81,"ma_window":20},{"date":"2025-08-08","symbol":"AAPL","close":228.87,"value":210.8185714286,"ma_window":20},{"date":"2025-08-11","symbol":"AAPL","close":226.96,"value":212.83625,"ma_window":20},{"date":"2025-08-12","symbol":"AAPL","close":229.43,"value":214.68,"ma_window":20},{"date":"2025-08-13","symbol":"AAPL","close":233.1,"value":216.522,"ma_window":20},{"date":"2025-08-14","symbol":"AAPL","close":232.55,"value":217.9790909091,"ma_window":20},{"date":"2025-08-15","symbol":"AAPL","close":231.37,"value":219.095,"ma_window":20},{"date":"2025-08-18","symbol":"AAPL","close":230.67,"value":219.9853846154,"ma_window":20},{"date":"2025-08-19","symbol":"AAPL","close":230.34,"value":220.725,"ma_window":20},{"date":"2025-08-20","symbol":"AAPL","close":225.79,"value":221.0626666667,"ma_window":20},{"date":"2025-08-21","symbol":"AAPL","close":224.68,"value":221.28875,"ma_window":20},{"date":"2025-08-22","symbol":"AAPL","close":227.54,"value":221.6564705882,"ma_window":20},{"date":"2025-08-25","symbol":"AAPL","close":226.94,"value":221.95,"ma_window":20},{"date":"2025-08-26","symbol":"AAPL","close":229.09,"value":222.3257894737,"ma_window":20},{"date":"2025-08-27","symbol":"AAPL","close":230.27,"value":222.723,"ma_window":20},{"date":"2025-08-28","symbol":"AAPL","close":232.33,"value":223.983,"ma_window":20},{"date":"2025-08-29","symbol":"AAPL","close":231.92,"value":225.4815,"ma_window":20},{"date":"2025-09-02","symbol":"AAPL","close":229.5,"value":226.8105,"ma_window":20},{"date":"2025-09-03","symbol":"AAPL","close":238.24,"value":228.598,"ma_window":20},{"date":"2025-09-04","symbol":"AAPL","close":239.55,"value":229.9355,"ma_window":20},{"date":"2025-09-05","symbol":"AAPL","close":239.46,"value":230.93,"ma_window":20},{"date":"2025-09-08","symbol":"AAPL","close":237.65,"value":231.369,"ma_window":20},{"date":"2025-09-09","symbol":"AAPL","close":234.12,"value":231.727,"ma_window":20},{"date":"2025-09-10","symbol":"AAPL","close":226.57,"value":231.584,"ma_window":20},{"date":"2025-09-11","symbol":"AAPL","close":229.81,"value":231.4195,"ma_window":20},{"date":"2025-09-12","symbol":"AAPL","close":233.84,"value":231.484,"ma_window":20},{"date":"2025-09-15","symbol":"AAPL","close":236.47,"value":231.739,"ma_window":20},{"date":"2025-09-16","symbol":"AAPL","close":237.92,"value":232.1015,"ma_window":20},{"date":"2025-09-17","symbol":"AAPL","close":238.76,"value":232.5225,"ma_window":20},{"date":"2025-09-18","symbol":"AAPL","close":237.65,"value":233.1155,"ma_window":20},{"date":"2025-09-19","symbol":"AAPL","close":245.26,"value":234.1445,"ma_window":20},{"date":"2025-09-22","symbol":"AAPL","close":255.83,"value":235.559,"ma_window":20},{"date":"2025-09-23","symbol":"AAPL","close":254.18,"value":236.921,"ma_window":20},{"date":"2025-09-24","symbol":"AAPL","close":252.07,"value":238.07,"ma_window":20},{"date":"2025-09-25","symbol":"AAPL","close":256.62,"value":239.3875,"ma_window":20},{"date":"2025-09-26","symbol":"AAPL","close":255.21,"value":240.5315,"ma_window":20},{"date":"2025-09-29","symbol":"AAPL","close":254.18,"value":241.6445,"ma_window":20},{"date":"2025-09-30","symbol":"AAPL","close":254.38,"value":242.8885,"ma_window":20},{"date":"2025-10-01","symbol":"AAPL","close":255.2,"value":243.7365,"ma_window":20},{"date":"2025-10-02","symbol":"AAPL","close":256.88,"value":244.603,"ma_window":20},{"date":"2025-10-03","symbol":"AAPL","close":257.77,"value":245.5185,"ma_window":20},{"date":"2025-10-06","symbol":"AAPL","close":256.44,"value":246.458,"ma_window":20},{"date":"2025-10-07","symbol":"AAPL","close":256.23,"value":247.5635,"ma_window":20},{"date":"2025-10-08","symbol":"AAPL","close":257.81,"value":249.1255,"ma_window":20},{"date":"2025-10-09","symbol":"AAPL","close":253.79,"value":250.3245,"ma_window":20},{"date":"2025-10-10","symbol":"AAPL","close":245.03,"value":250.884,"ma_window":20},{"date":"2025-10-13","symbol":"AAPL","close":247.42,"value":251.4315,"ma_window":20},{"date":"2025-10-14","symbol":"AAPL","close":247.53,"value":251.912,"ma_window":20},{"date":"2025-10-15","symbol":"AAPL","close":249.1,"value":252.429,"ma_window":20},{"date":"2025-10-16","symbol":"AAPL","close":247.21,"value":252.907,"ma_window":20},{"date":"2025-10-17","symbol":"AAPL","close":252.05,"value":253.2465,"ma_window":20},{"date":"2025-10-20","symbol":"AAPL","close":261.99,"value":253.5545,"ma_window":20},{"date":"2025-10-21","symbol":"AAPL","close":262.52,"value":253.9715,"ma_window":20},{"date":"2025-10-22","symbol":"AAPL","close":258.2,"value":254.278,"ma_window":20},{"date":"2025-10-23","symbol":"AAPL","close":259.33,"value":254.4135,"ma_window":20},{"date":"2025-10-24","symbol":"AAPL","close":262.57,"value":254.7815,"ma_window":20},{"date":"2025-10-27","symbol":"AAPL","close":268.55,"value":255.5,"ma_window":20},{"date":"2025-10-28","symbol":"AAPL","close":268.74,"value":256.218,"ma_window":20},{"date":"2025-10-29","symbol":"AAPL","close":269.44,"value":256.93,"ma_window":20},{"date":"2025-10-30","symbol":"AAPL","close":271.14,"value":257.643,"ma_window":20},{"date":"2025-10-31","symbol":"AAPL","close":270.11,"value":258.26,"ma_window":20},{"date":"2025-11-03","symbol":"AAPL","close":268.79,"value":258.8775,"ma_window":20},{"date":"2025-11-04","symbol":"AAPL","close":269.78,"value":259.555,"ma_window":20},{"date":"2025-11-05","symbol":"AAPL","close":269.88,"value":260.1585,"ma_window":20},{"date":"2025-11-06","symbol":"AAPL","close":269.51,"value":260.9445,"ma_window":20},{"date":"2025-11-07","symbol":"AAPL","close":268.21,"value":262.1035,"ma_window":20},{"date":"2025-11-10","symbol":"AAPL","close":269.43,"value":263.204,"ma_window":20},{"date":"2025-11-11","symbol":"AAPL","close":275.25,"value":264.59,"ma_window":20},{"date":"2025-11-12","symbol":"AAPL","close":273.47,"value":265.8085,"ma_window":20},{"date":"2025-11-13","symbol":"AAPL","close":272.95,"value":267.0955,"ma_window":20},{"date":"2025-11-14","symbol":"AAPL","close":272.41,"value":268.1135,"ma_window":20},{"date":"2025-11-17","symbol":"AAPL","close":267.46,"value":268.387,"ma_window":20},{"date":"2025-11-18","symbol":"AAPL","close":267.44,"value":268.633,"ma_window":20},{"date":"2025-11-19","symbol":"AAPL","close":268.56,"value":269.151,"ma_window":20},{"date":"2025-11-20","symbol":"AAPL","close":266.25,"value":269.497,"ma_window":20},{"date":"2025-11-21","symbol":"AAPL","close":271.49,"value":269.943,"ma_window":20},{"date":"2025-11-24","symbol":"AAPL","close":275.92,"value":270.3115,"ma_window":20},{"date":"2025-11-25","symbol":"AAPL","close":276.97,"value":270.723,"ma_window":20},{"date":"2025-11-26","symbol":"AAPL","close":277.55,"value":271.1285,"ma_window":20},{"date":"2025-11-28","symbol":"AAPL","close":278.85,"value":271.514,"ma_window":20},{"date":"2025-12-01","symbol":"AAPL","close":283.1,"value":272.1635,"ma_window":20},{"date":"2025-12-02","symbol":"AAPL","close":286.19,"value":273.0335,"ma_window":20},{"date":"2025-12-03","symbol":"AAPL","close":284.15,"value":273.752,"ma_window":20},{"date":"2025-12-04","symbol":"AAPL","close":280.7,"value":274.293,"ma_window":20},{"date":"2025-12-05","symbol":"AAPL","close":278.78,"value":274.7565,"ma_window":20},{"date":"2025-12-08","symbol":"AAPL","close":277.89,"value":275.2405,"ma_window":20},{"date":"2025-12-09","symbol":"AAPL","close":277.18,"value":275.628,"ma_window":20},{"date":"2025-12-10","symbol":"AAPL","close":278.78,"value":275.8045,"ma_window":20},{"date":"2025-12-11","symbol":"AAPL","close":278.03,"value":276.0325,"ma_window":20},{"date":"2025-12-12","symbol":"AAPL","close":278.28,"value":276.299,"ma_window":20},{"date":"2025-12-15","symbol":"AAPL","close":274.11,"value":276.384,"ma_window":20},{"date":"2025-12-16","symbol":"AAPL","close":274.61,"value":276.7415,"ma_window":20},{"date":"2025-12-17","symbol":"AAPL","close":271.84,"value":276.9615,"ma_window":20},{"date":"2025-12-18","symbol":"AAPL","close":272.19,"value":277.143,"ma_window":20},{"date":"2025-12-19","symbol":"AAPL","close":273.67,"value":277.514,"ma_window":20},{"date":"2025-12-22","symbol":"AAPL","close":270.97,"value":277.488,"ma_window":20},{"date":"2025-12-23","symbol":"AAPL","close":272.36,"value":277.31,"ma_window":20},{"date":"2025-12-24","symbol":"AAPL","close":273.81,"value":277.152,"ma_window":20},{"date":"2025-12-26","symbol":"AAPL","close":273.4,"value":276.9445,"ma_window":20},{"date":"2025-12-29","symbol":"AAPL","close":273.76,"value":276.69,"ma_window":20},{"date":"2025-12-30","symbol":"AAPL","close":273.08,"value":276.189,"ma_window":20},{"date":"2025-12-31","symbol":"AAPL","close":271.86,"value":275.4725,"ma_window":20},{"date":"2026-01-02","symbol":"AAPL","close":271.01,"value":274.8155,"ma_window":20},{"date":"2026-01-05","symbol":"AAPL","close":267.26,"value":274.1435,"ma_window":20},{"date":"2026-01-06","symbol":"AAPL","close":262.36,"value":273.3225,"ma_window":20},{"date":"2026-01-07","symbol":"AAPL","close":260.33,"value":272.4445,"ma_window":20},{"date":"2026-01-08","symbol":"AAPL","close":259.04,"value":271.5375,"ma_window":20},{"date":"2026-01-09","symbol":"AAPL","close":259.37,"value":270.567,"ma_window":20},{"date":"2026-01-12","symbol":"AAPL","close":260.25,"value":269.678,"ma_window":20},{"date":"2026-01-13","symbol":"AAPL","close":261.05,"value":268.8165,"ma_window":20},{"date":"2026-01-14","symbol":"AAPL","close":259.96,"value":268.109,"ma_window":20},{"date":"2026-01-15","symbol":"AAPL","close":258.21,"value":267.289,"ma_window":20},{"date":"2026-01-16","symbol":"AAPL","close":255.53,"value":266.4735,"ma_window":20},{"date":"2026-01-20","symbol":"AAPL","close":246.7,"value":265.199,"ma_window":20},{"date":"2026-01-21","symbol":"AAPL","close":247.65,"value":263.898,"ma_window":20},{"date":"2026-01-22","symbol":"AAPL","close":248.35,"value":262.767,"ma_window":20},{"date":"2026-01-23","symbol":"AAPL","close":248.04,"value":261.551,"ma_window":20},{"date":"2026-01-26","symbol":"AAPL","close":255.41,"value":260.631,"ma_window":20},{"date":"2025-07-31","symbol":"AMZN","close":234.11,"value":234.11,"ma_window":20},{"date":"2025-08-01","symbol":"AMZN","close":214.75,"value":224.43,"ma_window":20},{"date":"2025-08-04","symbol":"AMZN","close":211.65,"value":220.17,"ma_window":20},{"date":"2025-08-05","symbol":"AMZN","close":213.75,"value":218.565,"ma_window":20},{"date":"2025-08-06","symbol":"AMZN","close":222.31,"value":219.314,"ma_window":20},{"date":"2025-08-07","symbol":"AMZN","close":223.13,"value":219.95,"ma_window":20},{"date":"2025-08-08","symbol":"AMZN","close":222.69,"value":220.3414285714,"ma_window":20},{"date":"2025-08-11","symbol":"AMZN","close":221.3,"value":220.46125,"ma_window":20},{"date":"2025-08-12","symbol":"AMZN","close":221.47,"value":220.5733333333,"ma_window":20},{"date":"2025-08-13","symbol":"AMZN","close":224.56,"value":220.972,"ma_window":20},{"date":"2025-08-14","symbol":"AMZN","close":230.98,"value":221.8818181818,"ma_window":20},{"date":"2025-08-15","symbol":"AMZN","close":231.03,"value":222.6441666667,"ma_window":20},{"date":"2025-08-18","symbol":"AMZN","close":231.49,"value":223.3246153846,"ma_window":20},{"date":"2025-08-19","symbol":"AMZN","close":228.01,"value":223.6592857143,"ma_window":20},{"date":"2025-08-20","symbol":"AMZN","close":223.81,"value":223.6693333333,"ma_window":20},{"date":"2025-08-21","symbol":"AMZN","close":221.95,"value":223.561875,"ma_window":20},{"date":"2025-08-22","symbol":"AMZN","close":228.84,"value":223.8723529412,"ma_window":20},{"date":"2025-08-25","symbol":"AMZN","close":227.94,"value":224.0983333333,"ma_window":20},{"date":"2025-08-26","symbol":"AMZN","close":228.71,"value":224.3410526316,"ma_window":20},{"date":"2025-08-27","symbol":"AMZN","close":229.12,"value":224.58,"ma_window":20},{"date":"2025-08-28","symbol":"AMZN","close":231.6,"value":224.4545,"ma_window":20},{"date":"2025-08-29","symbol":"AMZN","close":229,"value":225.167,"ma_window":20},{"date":"2025-09-02","symbol":"AMZN","close":225.34,"value":225.8515,"ma_window":20},{"date":"2025-09-03","symbol":"AMZN","close":225.99,"value":226.4635,"ma_window":20},{"date":"2025-09-04","symbol":"AMZN","close":235.68,"value":227.132,"ma_window":20},{"date":"2025-09-05","symbol":"AMZN","close":232.33,"value":227.592,"ma_window":20},{"date":"2025-09-08","symbol":"AMZN","close":235.84,"value":228.2495,"ma_window":20},{"date":"2025-09-09","symbol":"AMZN","close":238.24,"value":229.0965,"ma_window":20},{"date":"2025-09-10","symbol":"AMZN","close":230.33,"value":229.5395,"ma_window":20},{"date":"2025-09-11","symbol":"AMZN","close":229.95,"value":229.809,"ma_window":20},{"date":"2025-09-12","symbol":"AMZN","close":228.15,"value":229.6675,"ma_window":20},{"date":"2025-09-15","symbol":"AMZN","close":231.43,"value":229.6875,"ma_window":20},{"date":"2025-09-16","symbol":"AMZN","close":234.05,"value":229.8155,"ma_window":20},{"date":"2025-09-17","symbol":"AMZN","close":231.62,"value":229.996,"ma_window":20},{"date":"2025-09-18","symbol":"AMZN","close":231.23,"value":230.367,"ma_window":20},{"date":"2025-09-19","symbol":"AMZN","close":231.48,"value":230.8435,"ma_window":20},{"date":"2025-09-22","symbol":"AMZN","close":227.63,"value":230.783,"ma_window":20},{"date":"2025-09-23","symbol":"AMZN","close":220.71,"value":230.4215,"ma_window":20},{"date":"2025-09-24","symbol":"AMZN","close":220.21,"value":229.9965,"ma_window":20},{"date":"2025-09-25","symbol":"AMZN","close":218.15,"value":229.448,"ma_window":20},{"date":"2025-09-26","symbol":"AMZN","close":219.78,"value":228.857,"ma_window":20},{"date":"2025-09-29","symbol":"AMZN","close":222.17,"value":228.5155,"ma_window":20},{"date":"2025-09-30","symbol":"AMZN","close":219.57,"value":228.227,"ma_window":20},{"date":"2025-10-01","symbol":"AMZN","close":220.63,"value":227.959,"ma_window":20},{"date":"2025-10-02","symbol":"AMZN","close":222.41,"value":227.2955,"ma_window":20},{"date":"2025-10-03","symbol":"AMZN","close":219.51,"value":226.6545,"ma_window":20},{"date":"2025-10-06","symbol":"AMZN","close":220.9,"value":225.9075,"ma_window":20},{"date":"2025-10-07","symbol":"AMZN","close":221.78,"value":225.0845,"ma_window":20},{"date":"2025-10-08","symbol":"AMZN","close":225.22,"value":224.829,"ma_window":20},{"date":"2025-10-09","symbol":"AMZN","close":227.74,"value":224.7185,"ma_window":20},{"date":"2025-10-10","symbol":"AMZN","close":216.37,"value":224.1295,"ma_window":20},{"date":"2025-10-13","symbol":"AMZN","close":220.07,"value":223.5615,"ma_window":20},{"date":"2025-10-14","symbol":"AMZN","close":216.39,"value":222.6785,"ma_window":20},{"date":"2025-10-15","symbol":"AMZN","close":215.57,"value":221.876,"ma_window":20},{"date":"2025-10-16","symbol":"AMZN","close":214.47,"value":221.038,"ma_window":20},{"date":"2025-10-17","symbol":"AMZN","close":213.04,"value":220.116,"ma_window":20},{"date":"2025-10-20","symbol":"AMZN","close":216.48,"value":219.5585,"ma_window":20},{"date":"2025-10-21","symbol":"AMZN","close":222.03,"value":219.6245,"ma_window":20},{"date":"2025-10-22","symbol":"AMZN","close":217.95,"value":219.5115,"ma_window":20},{"date":"2025-10-23","symbol":"AMZN","close":221.09,"value":219.6585,"ma_window":20},{"date":"2025-10-24","symbol":"AMZN","close":224.21,"value":219.88,"ma_window":20},{"date":"2025-10-27","symbol":"AMZN","close":226.97,"value":220.12,"ma_window":20},{"date":"2025-10-28","symbol":"AMZN","close":229.25,"value":220.604,"ma_window":20},{"date":"2025-10-29","symbol":"AMZN","close":230.3,"value":221.0875,"ma_window":20},{"date":"2025-10-30","symbol":"AMZN","close":222.86,"value":221.11,"ma_window":20},{"date":"2025-10-31","symbol":"AMZN","close":244.22,"value":222.3455,"ma_window":20},{"date":"2025-11-03","symbol":"AMZN","close":254,"value":224.0005,"ma_window":20},{"date":"2025-11-04","symbol":"AMZN","close":249.32,"value":225.3775,"ma_window":20},{"date":"2025-11-05","symbol":"AMZN","close":250.2,"value":226.6265,"ma_window":20},{"date":"2025-11-06","symbol":"AMZN","close":243.04,"value":227.3915,"ma_window":20},{"date":"2025-11-07","symbol":"AMZN","close":244.41,"value":228.7935,"ma_window":20},{"date":"2025-11-10","symbol":"AMZN","close":248.4,"value":230.21,"ma_window":20},{"date":"2025-11-11","symbol":"AMZN","close":249.1,"value":231.8455,"ma_window":20},{"date":"2025-11-12","symbol":"AMZN","close":244.2,"value":233.277,"ma_window":20},{"date":"2025-11-13","symbol":"AMZN","close":237.58,"value":234.4325,"ma_window":20},{"date":"2025-11-14","symbol":"AMZN","close":234.69,"value":235.515,"ma_window":20},{"date":"2025-11-17","symbol":"AMZN","close":232.87,"value":236.3345,"ma_window":20},{"date":"2025-11-18","symbol":"AMZN","close":222.55,"value":236.3605,"ma_window":20},{"date":"2025-11-19","symbol":"AMZN","close":222.69,"value":236.5975,"ma_window":20},{"date":"2025-11-20","symbol":"AMZN","close":217.14,"value":236.4,"ma_window":20},{"date":"2025-11-21","symbol":"AMZN","close":220.69,"value":236.224,"ma_window":20},{"date":"2025-11-24","symbol":"AMZN","close":226.28,"value":236.1895,"ma_window":20},{"date":"2025-11-25","symbol":"AMZN","close":229.67,"value":236.2105,"ma_window":20},{"date":"2025-11-26","symbol":"AMZN","close":229.16,"value":236.1535,"ma_window":20},{"date":"2025-11-28","symbol":"AMZN","close":233.22,"value":236.6715,"ma_window":20},{"date":"2025-12-01","symbol":"AMZN","close":233.88,"value":236.1545,"ma_window":20},{"date":"2025-12-02","symbol":"AMZN","close":234.42,"value":235.1755,"ma_window":20},{"date":"2025-12-03","symbol":"AMZN","close":232.38,"value":234.3285,"ma_window":20},{"date":"2025-12-04","symbol":"AMZN","close":229.11,"value":233.274,"ma_window":20},{"date":"2025-12-05","symbol":"AMZN","close":229.53,"value":232.5985,"ma_window":20},{"date":"2025-12-08","symbol":"AMZN","close":226.89,"value":231.7225,"ma_window":20},{"date":"2025-12-09","symbol":"AMZN","close":227.92,"value":230.6985,"ma_window":20},{"date":"2025-12-10","symbol":"AMZN","close":231.78,"value":229.8325,"ma_window":20},{"date":"2025-12-11","symbol":"AMZN","close":230.28,"value":229.1365,"ma_window":20},{"date":"2025-12-12","symbol":"AMZN","close":226.19,"value":228.567,"ma_window":20},{"date":"2025-12-15","symbol":"AMZN","close":222.54,"value":227.9595,"ma_window":20},{"date":"2025-12-16","symbol":"AMZN","close":222.56,"value":227.444,"ma_window":20},{"date":"2025-12-17","symbol":"AMZN","close":221.27,"value":227.38,"ma_window":20},{"date":"2025-12-18","symbol":"AMZN","close":226.76,"value":227.5835,"ma_window":20},{"date":"2025-12-19","symbol":"AMZN","close":227.35,"value":228.094,"ma_window":20},{"date":"2025-12-22","symbol":"AMZN","close":228.43,"value":228.481,"ma_window":20},{"date":"2025-12-23","symbol":"AMZN","close":232.14,"value":228.774,"ma_window":20},{"date":"2025-12-24","symbol":"AMZN","close":232.38,"value":228.9095,"ma_window":20},{"date":"2025-12-26","symbol":"AMZN","close":232.52,"value":229.0775,"ma_window":20},{"date":"2025-12-29","symbol":"AMZN","close":232.07,"value":229.02,"ma_window":20},{"date":"2025-12-30","symbol":"AMZN","close":232.53,"value":228.9525,"ma_window":20},{"date":"2025-12-31","symbol":"AMZN","close":230.82,"value":228.7725,"ma_window":20},{"date":"2026-01-02","symbol":"AMZN","close":226.5,"value":228.4785,"ma_window":20},{"date":"2026-01-05","symbol":"AMZN","close":233.06,"value":228.676,"ma_window":20},{"date":"2026-01-06","symbol":"AMZN","close":240.93,"value":229.246,"ma_window":20},{"date":"2026-01-07","symbol":"AMZN","close":241.56,"value":229.9795,"ma_window":20},{"date":"2026-01-08","symbol":"AMZN","close":246.29,"value":230.898,"ma_window":20},{"date":"2026-01-09","symbol":"AMZN","close":247.38,"value":231.678,"ma_window":20},{"date":"2026-01-12","symbol":"AMZN","close":246.47,"value":232.4875,"ma_window":20},{"date":"2026-01-13","symbol":"AMZN","close":242.6,"value":233.308,"ma_window":20},{"date":"2026-01-14","symbol":"AMZN","close":236.65,"value":234.0135,"ma_window":20},{"date":"2026-01-15","symbol":"AMZN","close":238.18,"value":234.7945,"ma_window":20},{"date":"2026-01-16","symbol":"AMZN","close":239.12,"value":235.687,"ma_window":20},{"date":"2026-01-20","symbol":"AMZN","close":231,"value":235.899,"ma_window":20},{"date":"2026-01-21","symbol":"AMZN","close":231.31,"value":236.097,"ma_window":20},{"date":"2026-01-22","symbol":"AMZN","close":234.34,"value":236.3925,"ma_window":20},{"date":"2026-01-23","symbol":"AMZN","close":239.16,"value":236.7435,"ma_window":20},{"date":"2026-01-26","symbol":"AMZN","close":238.42,"value":237.0455,"ma_window":20},{"date":"2025-07-31","symbol":"GOOGL","close":191.6,"value":191.6,"ma_window":20},{"date":"2025-08-01","symbol":"GOOGL","close":188.84,"value":190.22,"ma_window":20},{"date":"2025-08-04","symbol":"GOOGL","close":194.74,"value":191.7266666667,"ma_window":20},{"date":"2025-08-05","symbol":"GOOGL","close":194.37,"value":192.3875,"ma_window":20},{"date":"2025-08-06","symbol":"GOOGL","close":195.79,"value":193.068,"ma_window":20},{"date":"2025-08-07","symbol":"GOOGL","close":196.22,"value":193.5933333333,"ma_window":20},{"date":"2025-08-08","symbol":"GOOGL","close":201.11,"value":194.6671428571,"ma_window":20},{"date":"2025-08-11","symbol":"GOOGL","close":200.69,"value":195.42,"ma_window":20},{"date":"2025-08-12","symbol":"GOOGL","close":203.03,"value":196.2655555556,"ma_window":20},{"date":"2025-08-13","symbol":"GOOGL","close":201.65,"value":196.804,"ma_window":20},{"date":"2025-08-14","symbol":"GOOGL","close":202.63,"value":197.3336363636,"ma_window":20},{"date":"2025-08-15","symbol":"GOOGL","close":203.58,"value":197.8541666667,"ma_window":20},{"date":"2025-08-18","symbol":"GOOGL","close":203.19,"value":198.2646153846,"ma_window":20},{"date":"2025-08-19","symbol":"GOOGL","close":201.26,"value":198.4785714286,"ma_window":20},{"date":"2025-08-20","symbol":"GOOGL","close":199.01,"value":198.514,"ma_window":20},{"date":"2025-08-21","symbol":"GOOGL","close":199.44,"value":198.571875,"ma_window":20},{"date":"2025-08-22","symbol":"GOOGL","close":205.77,"value":198.9952941176,"ma_window":20},{"date":"2025-08-25","symbol":"GOOGL","close":208.17,"value":199.505,"ma_window":20},{"date":"2025-08-26","symbol":"GOOGL","close":206.82,"value":199.89,"ma_window":20},{"date":"2025-08-27","symbol":"GOOGL","close":207.16,"value":200.2535,"ma_window":20},{"date":"2025-08-28","symbol":"GOOGL","close":211.31,"value":201.239,"ma_window":20},{"date":"2025-08-29","symbol":"GOOGL","close":212.58,"value":202.426,"ma_window":20},{"date":"2025-09-02","symbol":"GOOGL","close":211.02,"value":203.24,"ma_window":20},{"date":"2025-09-03","symbol":"GOOGL","close":230.3,"value":205.0365,"ma_window":20},{"date":"2025-09-04","symbol":"GOOGL","close":231.94,"value":206.844,"ma_window":20},{"date":"2025-09-05","symbol":"GOOGL","close":234.64,"value":208.765,"ma_window":20},{"date":"2025-09-08","symbol":"GOOGL","close":233.89,"value":210.404,"ma_window":20},{"date":"2025-09-09","symbol":"GOOGL","close":239.47,"value":212.343,"ma_window":20},{"date":"2025-09-10","symbol":"GOOGL","close":239.01,"value":214.142,"ma_window":20},{"date":"2025-09-11","symbol":"GOOGL","close":240.21,"value":216.07,"ma_window":20},{"date":"2025-09-12","symbol":"GOOGL","close":240.64,"value":217.9705,"ma_window":20},{"date":"2025-09-15","symbol":"GOOGL","close":251.45,"value":220.364,"ma_window":20},{"date":"2025-09-16","symbol":"GOOGL","close":251,"value":222.7545,"ma_window":20},{"date":"2025-09-17","symbol":"GOOGL","close":249.37,"value":225.16,"ma_window":20},{"date":"2025-09-18","symbol":"GOOGL","close":251.87,"value":227.803,"ma_window":20},{"date":"2025-09-19","symbol":"GOOGL","close":254.55,"value":230.5585,"ma_window":20},{"date":"2025-09-22","symbol":"GOOGL","close":252.36,"value":232.888,"ma_window":20},{"date":"2025-09-23","symbol":"GOOGL","close":251.5,"value":235.0545,"ma_window":20},{"date":"2025-09-24","symbol":"GOOGL","close":246.98,"value":237.0625,"ma_window":20},{"date":"2025-09-25","symbol":"GOOGL","close":245.63,"value":238.986,"ma_window":20},{"date":"2025-09-26","symbol":"GOOGL","close":246.38,"value":240.7395,"ma_window":20},{"date":"2025-09-29","symbol":"GOOGL","close":243.89,"value":242.305,"ma_window":20},{"date":"2025-09-30","symbol":"GOOGL","close":242.94,"value":243.901,"ma_window":20},{"date":"2025-10-01","symbol":"GOOGL","close":244.74,"value":244.623,"ma_window":20},{"date":"2025-10-02","symbol":"GOOGL","close":245.53,"value":245.3025,"ma_window":20},{"date":"2025-10-03","symbol":"GOOGL","close":245.19,"value":245.83,"ma_window":20},{"date":"2025-10-06","symbol":"GOOGL","close":250.27,"value":246.649,"ma_window":20},{"date":"2025-10-07","symbol":"GOOGL","close":245.6,"value":246.9555,"ma_window":20},{"date":"2025-10-08","symbol":"GOOGL","close":244.46,"value":247.228,"ma_window":20},{"date":"2025-10-09","symbol":"GOOGL","close":241.37,"value":247.286,"ma_window":20},{"date":"2025-10-10","symbol":"GOOGL","close":236.42,"value":247.075,"ma_window":20},{"date":"2025-10-13","symbol":"GOOGL","close":243.99,"value":246.702,"ma_window":20},{"date":"2025-10-14","symbol":"GOOGL","close":245.29,"value":246.4165,"ma_window":20},{"date":"2025-10-15","symbol":"GOOGL","close":250.87,"value":246.4915,"ma_window":20},{"date":"2025-10-16","symbol":"GOOGL","close":251.3,"value":246.463,"ma_window":20},{"date":"2025-10-17","symbol":"GOOGL","close":253.13,"value":246.392,"ma_window":20},{"date":"2025-10-20","symbol":"GOOGL","close":256.38,"value":246.593,"ma_window":20},{"date":"2025-10-21","symbol":"GOOGL","close":250.3,"value":246.533,"ma_window":20},{"date":"2025-10-22","symbol":"GOOGL","close":251.53,"value":246.7605,"ma_window":20},{"date":"2025-10-23","symbol":"GOOGL","close":252.91,"value":247.1245,"ma_window":20},{"date":"2025-10-24","symbol":"GOOGL","close":259.75,"value":247.793,"ma_window":20},{"date":"2025-10-27","symbol":"GOOGL","close":269.09,"value":249.053,"ma_window":20},{"date":"2025-10-28","symbol":"GOOGL","close":267.3,"value":250.271,"ma_window":20},{"date":"2025-10-29","symbol":"GOOGL","close":274.39,"value":251.7535,"ma_window":20},{"date":"2025-10-30","symbol":"GOOGL","close":281.3,"value":253.542,"ma_window":20},{"date":"2025-10-31","symbol":"GOOGL","close":281.01,"value":255.333,"ma_window":20},{"date":"2025-11-03","symbol":"GOOGL","close":283.53,"value":256.996,"ma_window":20},{"date":"2025-11-04","symbol":"GOOGL","close":277.36,"value":258.584,"ma_window":20},{"date":"2025-11-05","symbol":"GOOGL","close":284.12,"value":260.567,"ma_window":20},{"date":"2025-11-06","symbol":"GOOGL","close":284.56,"value":262.7265,"ma_window":20},{"date":"2025-11-07","symbol":"GOOGL","close":278.65,"value":264.838,"ma_window":20},{"date":"2025-11-10","symbol":"GOOGL","close":289.91,"value":267.134,"ma_window":20},{"date":"2025-11-11","symbol":"GOOGL","close":291.12,"value":269.4255,"ma_window":20},{"date":"2025-11-12","symbol":"GOOGL","close":286.52,"value":271.208,"ma_window":20},{"date":"2025-11-13","symbol":"GOOGL","close":278.39,"value":272.5625,"ma_window":20},{"date":"2025-11-14","symbol":"GOOGL","close":276.23,"value":273.7175,"ma_window":20},{"date":"2025-11-17","symbol":"GOOGL","close":284.83,"value":275.14,"ma_window":20},{"date":"2025-11-18","symbol":"GOOGL","close":284.09,"value":276.8295,"ma_window":20},{"date":"2025-11-19","symbol":"GOOGL","close":292.62,"value":278.884,"ma_window":20},{"date":"2025-11-20","symbol":"GOOGL","close":289.26,"value":280.7015,"ma_window":20},{"date":"2025-11-21","symbol":"GOOGL","close":299.46,"value":282.687,"ma_window":20},{"date":"2025-11-24","symbol":"GOOGL","close":318.37,"value":285.151,"ma_window":20},{"date":"2025-11-25","symbol":"GOOGL","close":323.23,"value":287.9475,"ma_window":20},{"date":"2025-11-26","symbol":"GOOGL","close":319.74,"value":290.215,"ma_window":20},{"date":"2025-11-28","symbol":"GOOGL","close":319.97,"value":292.1485,"ma_window":20},{"date":"2025-12-01","symbol":"GOOGL","close":314.68,"value":293.832,"ma_window":20},{"date":"2025-12-02","symbol":"GOOGL","close":315.6,"value":295.4355,"ma_window":20},{"date":"2025-12-03","symbol":"GOOGL","close":319.42,"value":297.5385,"ma_window":20},{"date":"2025-12-04","symbol":"GOOGL","close":317.41,"value":299.203,"ma_window":20},{"date":"2025-12-05","symbol":"GOOGL","close":321.06,"value":301.028,"ma_window":20},{"date":"2025-12-08","symbol":"GOOGL","close":313.72,"value":302.7815,"ma_window":20},{"date":"2025-12-09","symbol":"GOOGL","close":317.08,"value":304.14,"ma_window":20},{"date":"2025-12-10","symbol":"GOOGL","close":320.21,"value":305.5945,"ma_window":20},{"date":"2025-12-11","symbol":"GOOGL","close":312.43,"value":306.89,"ma_window":20},{"date":"2025-12-12","symbol":"GOOGL","close":309.29,"value":308.435,"ma_window":20},{"date":"2025-12-15","symbol":"GOOGL","close":308.22,"value":310.0345,"ma_window":20},{"date":"2025-12-16","symbol":"GOOGL","close":306.57,"value":311.1215,"ma_window":20},{"date":"2025-12-17","symbol":"GOOGL","close":296.72,"value":311.753,"ma_window":20},{"date":"2025-12-18","symbol":"GOOGL","close":302.46,"value":312.245,"ma_window":20},{"date":"2025-12-19","symbol":"GOOGL","close":307.16,"value":313.14,"ma_window":20},{"date":"2025-12-22","symbol":"GOOGL","close":309.78,"value":313.656,"ma_window":20},{"date":"2025-12-23","symbol":"GOOGL","close":314.35,"value":313.455,"ma_window":20},{"date":"2025-12-24","symbol":"GOOGL","close":314.09,"value":312.998,"ma_window":20},{"date":"2025-12-26","symbol":"GOOGL","close":313.51,"value":312.6865,"ma_window":20},{"date":"2025-12-29","symbol":"GOOGL","close":313.56,"value":312.366,"ma_window":20},{"date":"2025-12-30","symbol":"GOOGL","close":313.85,"value":312.3245,"ma_window":20},{"date":"2025-12-31","symbol":"GOOGL","close":313,"value":312.1945,"ma_window":20},{"date":"2026-01-02","symbol":"GOOGL","close":315.15,"value":311.981,"ma_window":20},{"date":"2026-01-05","symbol":"GOOGL","close":316.54,"value":311.9375,"ma_window":20},{"date":"2026-01-06","symbol":"GOOGL","close":314.34,"value":311.6015,"ma_window":20},{"date":"2026-01-07","symbol":"GOOGL","close":321.98,"value":312.0145,"ma_window":20},{"date":"2026-01-08","symbol":"GOOGL","close":325.44,"value":312.4325,"ma_window":20},{"date":"2026-01-09","symbol":"GOOGL","close":328.57,"value":312.8505,"ma_window":20},{"date":"2026-01-12","symbol":"GOOGL","close":331.86,"value":313.822,"ma_window":20},{"date":"2026-01-13","symbol":"GOOGL","close":335.97,"value":315.156,"ma_window":20},{"date":"2026-01-14","symbol":"GOOGL","close":335.84,"value":316.537,"ma_window":20},{"date":"2026-01-15","symbol":"GOOGL","close":332.78,"value":317.8475,"ma_window":20},{"date":"2026-01-16","symbol":"GOOGL","close":330,"value":319.5115,"ma_window":20},{"date":"2026-01-20","symbol":"GOOGL","close":322,"value":320.4885,"ma_window":20},{"date":"2026-01-21","symbol":"GOOGL","close":328.38,"value":321.5495,"ma_window":20},{"date":"2026-01-22","symbol":"GOOGL","close":330.54,"value":322.5875,"ma_window":20},{"date":"2026-01-23","symbol":"GOOGL","close":327.93,"value":323.2665,"ma_window":20},{"date":"2026-01-26","symbol":"GOOGL","close":333.26,"value":324.225,"ma_window":20},{"date":"2025-07-31","symbol":"META","close":772.29,"value":772.29,"ma_window":20},{"date":"2025-08-01","symbol":"META","close":748.89,"value":760.59,"ma_window":20},{"date":"2025-08-04","symbol":"META","close":775.21,"value":765.4633333333,"ma_window":20},{"date":"2025-08-05","symbol":"META","close":762.32,"value":764.6775,"ma_window":20},{"date":"2025-08-06","symbol":"META","close":770.84,"value":765.91,"ma_window":20},{"date":"2025-08-07","symbol":"META","close":760.7,"value":765.0416666667,"ma_window":20},{"date":"2025-08-08","symbol":"META","close":768.15,"value":765.4857142857,"ma_window":20},{"date":"2025-08-11","symbol":"META","close":764.73,"value":765.39125,"ma_window":20},{"date":"2025-08-12","symbol":"META","close":788.82,"value":767.9944444444,"ma_window":20},{"date":"2025-08-13","symbol":"META","close":778.92,"value":769.087,"ma_window":20},{"date":"2025-08-14","symbol":"META","close":780.97,"value":770.1672727273,"ma_window":20},{"date":"2025-08-15","symbol":"META","close":784.06,"value":771.325,"ma_window":20},{"date":"2025-08-18","symbol":"META","close":766.23,"value":770.9330769231,"ma_window":20},{"date":"2025-08-19","symbol":"META","close":750.36,"value":769.4635714286,"ma_window":20},{"date":"2025-08-20","symbol":"META","close":746.61,"value":767.94,"ma_window":20},{"date":"2025-08-21","symbol":"META","close":738,"value":766.06875,"ma_window":20},{"date":"2025-08-22","symbol":"META","close":753.67,"value":765.3394117647,"ma_window":20},{"date":"2025-08-25","symbol":"META","close":752.18,"value":764.6083333333,"ma_window":20},{"date":"2025-08-26","symbol":"META","close":752.98,"value":763.9963157895,"ma_window":20},{"date":"2025-08-27","symbol":"META","close":746.27,"value":763.11,"ma_window":20},{"date":"2025-08-28","symbol":"META","close":749.99,"value":761.995,"ma_window":20},{"date":"2025-08-29","symbol":"META","close":737.6,"value":761.4305,"ma_window":20},{"date":"2025-09-02","symbol":"META","close":734.02,"value":759.371,"ma_window":20},{"date":"2025-09-03","symbol":"META","close":735.95,"value":758.0525,"ma_window":20},{"date":"2025-09-04","symbol":"META","close":747.54,"value":756.8875,"ma_window":20},{"date":"2025-09-05","symbol":"META","close":751.33,"value":756.419,"ma_window":20},{"date":"2025-09-08","symbol":"META","close":751.18,"value":755.5705,"ma_window":20},{"date":"2025-09-09","symbol":"META","close":764.56,"value":755.562,"ma_window":20},{"date":"2025-09-10","symbol":"META","close":750.86,"value":753.664,"ma_window":20},{"date":"2025-09-11","symbol":"META","close":749.78,"value":752.207,"ma_window":20},{"date":"2025-09-12","symbol":"META","close":754.47,"value":750.882,"ma_window":20},{"date":"2025-09-15","symbol":"META","close":763.56,"value":749.857,"ma_window":20},{"date":"2025-09-16","symbol":"META","close":777.84,"value":750.4375,"ma_window":20},{"date":"2025-09-17","symbol":"META","close":774.57,"value":751.648,"ma_window":20},{"date":"2025-09-18","symbol":"META","close":779.09,"value":753.272,"ma_window":20},{"date":"2025-09-19","symbol":"META","close":777.22,"value":755.233,"ma_window":20},{"date":"2025-09-22","symbol":"META","close":764.54,"value":755.7765,"ma_window":20},{"date":"2025-09-23","symbol":"META","close":754.78,"value":755.9065,"ma_window":20},{"date":"2025-09-24","symbol":"META","close":760.04,"value":756.2595,"ma_window":20},{"date":"2025-09-25","symbol":"META","close":748.3,"value":756.361,"ma_window":20},{"date":"2025-09-26","symbol":"META","close":743.14,"value":756.0185,"ma_window":20},{"date":"2025-09-29","symbol":"META","close":742.79,"value":756.278,"ma_window":20},{"date":"2025-09-30","symbol":"META","close":733.78,"value":756.266,"ma_window":20},{"date":"2025-10-01","symbol":"META","close":716.76,"value":755.3065,"ma_window":20},{"date":"2025-10-02","symbol":"META","close":726.46,"value":754.2525,"ma_window":20},{"date":"2025-10-03","symbol":"META","close":709.98,"value":752.185,"ma_window":20},{"date":"2025-10-06","symbol":"META","close":715.08,"value":750.38,"ma_window":20},{"date":"2025-10-07","symbol":"META","close":712.5,"value":747.777,"ma_window":20},{"date":"2025-10-08","symbol":"META","close":717.26,"value":746.097,"ma_window":20},{"date":"2025-10-09","symbol":"META","close":732.91,"value":745.2535,"ma_window":20},{"date":"2025-10-10","symbol":"META","close":704.73,"value":742.7665,"ma_window":20},{"date":"2025-10-13","symbol":"META","close":715.12,"value":740.3445,"ma_window":20},{"date":"2025-10-14","symbol":"META","close":708.07,"value":736.856,"ma_window":20},{"date":"2025-10-15","symbol":"META","close":716.97,"value":733.976,"ma_window":20},{"date":"2025-10-16","symbol":"META","close":711.49,"value":730.596,"ma_window":20},{"date":"2025-10-17","symbol":"META","close":716.34,"value":727.552,"ma_window":20},{"date":"2025-10-20","symbol":"META","close":731.57,"value":725.9035,"ma_window":20},{"date":"2025-10-21","symbol":"META","close":732.67,"value":724.798,"ma_window":20},{"date":"2025-10-22","symbol":"META","close":732.81,"value":723.4365,"ma_window":20},{"date":"2025-10-23","symbol":"META","close":733.4,"value":722.6915,"ma_window":20},{"date":"2025-10-24","symbol":"META","close":737.76,"value":722.4225,"ma_window":20},{"date":"2025-10-27","symbol":"META","close":750.21,"value":722.7935,"ma_window":20},{"date":"2025-10-28","symbol":"META","close":750.83,"value":723.646,"ma_window":20},{"date":"2025-10-29","symbol":"META","close":751.06,"value":725.361,"ma_window":20},{"date":"2025-10-30","symbol":"META","close":665.93,"value":722.3345,"ma_window":20},{"date":"2025-10-31","symbol":"META","close":647.82,"value":719.2265,"ma_window":20},{"date":"2025-11-03","symbol":"META","close":637.19,"value":715.332,"ma_window":20},{"date":"2025-11-04","symbol":"META","close":626.81,"value":711.0475,"ma_window":20},{"date":"2025-11-05","symbol":"META","close":635.43,"value":706.956,"ma_window":20},{"date":"2025-11-06","symbol":"META","close":618.44,"value":701.2325,"ma_window":20},{"date":"2025-11-07","symbol":"META","close":621.2,"value":697.056,"ma_window":20},{"date":"2025-11-10","symbol":"META","close":631.25,"value":692.8625,"ma_window":20},{"date":"2025-11-11","symbol":"META","close":626.57,"value":688.7875,"ma_window":20},{"date":"2025-11-12","symbol":"META","close":608.51,"value":683.3645,"ma_window":20},{"date":"2025-11-13","symbol":"META","close":609.39,"value":678.2595,"ma_window":20},{"date":"2025-11-14","symbol":"META","close":608.96,"value":672.8905,"ma_window":20},{"date":"2025-11-17","symbol":"META","close":601.52,"value":666.388,"ma_window":20},{"date":"2025-11-18","symbol":"META","close":597.2,"value":659.6145,"ma_window":20},{"date":"2025-11-19","symbol":"META","close":589.84,"value":652.466,"ma_window":20},{"date":"2025-11-20","symbol":"META","close":588.67,"value":645.2295,"ma_window":20},{"date":"2025-11-21","symbol":"META","close":593.77,"value":638.03,"ma_window":20},{"date":"2025-11-24","symbol":"META","close":612.55,"value":631.147,"ma_window":20},{"date":"2025-11-25","symbol":"META","close":635.7,"value":625.3905,"ma_window":20},{"date":"2025-11-26","symbol":"META","close":633.09,"value":619.492,"ma_window":20},{"date":"2025-11-28","symbol":"META","close":647.42,"value":618.5665,"ma_window":20},{"date":"2025-12-01","symbol":"META","close":640.35,"value":618.193,"ma_window":20},{"date":"2025-12-02","symbol":"META","close":646.57,"value":618.662,"ma_window":20},{"date":"2025-12-03","symbol":"META","close":639.08,"value":619.2755,"ma_window":20},{"date":"2025-12-04","symbol":"META","close":660.99,"value":620.5535,"ma_window":20},{"date":"2025-12-05","symbol":"META","close":672.87,"value":623.275,"ma_window":20},{"date":"2025-12-08","symbol":"META","close":666.26,"value":625.528,"ma_window":20},{"date":"2025-12-09","symbol":"META","close":656.42,"value":626.7865,"ma_window":20},{"date":"2025-12-10","symbol":"META","close":649.6,"value":627.938,"ma_window":20},{"date":"2025-12-11","symbol":"META","close":652.18,"value":630.1215,"ma_window":20},{"date":"2025-12-12","symbol":"META","close":643.71,"value":631.8375,"ma_window":20},{"date":"2025-12-15","symbol":"META","close":647.51,"value":633.765,"ma_window":20},{"date":"2025-12-16","symbol":"META","close":657.15,"value":636.5465,"ma_window":20},{"date":"2025-12-17","symbol":"META","close":649.5,"value":639.1615,"ma_window":20},{"date":"2025-12-18","symbol":"META","close":664.45,"value":642.892,"ma_window":20},{"date":"2025-12-19","symbol":"META","close":658.77,"value":646.397,"ma_window":20},{"date":"2025-12-22","symbol":"META","close":661.5,"value":649.7835,"ma_window":20},{"date":"2025-12-23","symbol":"META","close":664.94,"value":652.403,"ma_window":20},{"date":"2025-12-24","symbol":"META","close":667.55,"value":653.9955,"ma_window":20},{"date":"2025-12-26","symbol":"META","close":663.29,"value":655.5055,"ma_window":20},{"date":"2025-12-29","symbol":"META","close":658.69,"value":656.069,"ma_window":20},{"date":"2025-12-30","symbol":"META","close":665.95,"value":657.349,"ma_window":20},{"date":"2025-12-31","symbol":"META","close":660.09,"value":658.025,"ma_window":20},{"date":"2026-01-02","symbol":"META","close":650.41,"value":658.5915,"ma_window":20},{"date":"2026-01-05","symbol":"META","close":658.79,"value":658.4815,"ma_window":20},{"date":"2026-01-06","symbol":"META","close":660.62,"value":657.869,"ma_window":20},{"date":"2026-01-07","symbol":"META","close":648.69,"value":656.9905,"ma_window":20},{"date":"2026-01-08","symbol":"META","close":646.06,"value":656.4725,"ma_window":20},{"date":"2026-01-09","symbol":"META","close":653.06,"value":656.6455,"ma_window":20},{"date":"2026-01-12","symbol":"META","close":641.97,"value":656.135,"ma_window":20},{"date":"2026-01-13","symbol":"META","close":631.09,"value":655.504,"ma_window":20},{"date":"2026-01-14","symbol":"META","close":615.52,"value":653.9045,"ma_window":20},{"date":"2026-01-15","symbol":"META","close":620.8,"value":652.087,"ma_window":20},{"date":"2026-01-16","symbol":"META","close":620.25,"value":650.6245,"ma_window":20},{"date":"2026-01-20","symbol":"META","close":604.12,"value":647.608,"ma_window":20},{"date":"2026-01-21","symbol":"META","close":612.96,"value":645.3175,"ma_window":20},{"date":"2026-01-22","symbol":"META","close":647.63,"value":644.624,"ma_window":20},{"date":"2026-01-23","symbol":"META","close":658.76,"value":644.315,"ma_window":20},{"date":"2026-01-26","symbol":"META","close":672.36,"value":644.5555,"ma_window":20},{"date":"2025-07-31","symbol":"MSFT","close":531.63,"value":531.63,"ma_window":20},{"date":"2025-08-01","symbol":"MSFT","close":522.27,"value":526.95,"ma_window":20},{"date":"2025-08-04","symbol":"MSFT","close":533.76,"value":529.22,"ma_window":20},{"date":"2025-08-05","symbol":"MSFT","close":525.9,"value":528.39,"ma_window":20},{"date":"2025-08-06","symbol":"MSFT","close":523.1,"value":527.332,"ma_window":20},{"date":"2025-08-07","symbol":"MSFT","close":519.01,"value":525.945,"ma_window":20},{"date":"2025-08-08","symbol":"MSFT","close":520.21,"value":525.1257142857,"ma_window":20},{"date":"2025-08-11","symbol":"MSFT","close":519.94,"value":524.4775,"ma_window":20},{"date":"2025-08-12","symbol":"MSFT","close":527.38,"value":524.8,"ma_window":20},{"date":"2025-08-13","symbol":"MSFT","close":518.75,"value":524.195,"ma_window":20},{"date":"2025-08-14","symbol":"MSFT","close":520.65,"value":523.8727272727,"ma_window":20},{"date":"2025-08-15","symbol":"MSFT","close":518.35,"value":523.4125,"ma_window":20},{"date":"2025-08-18","symbol":"MSFT","close":515.29,"value":522.7876923077,"ma_window":20},{"date":"2025-08-19","symbol":"MSFT","close":507.98,"value":521.73,"ma_window":20},{"date":"2025-08-20","symbol":"MSFT","close":503.95,"value":520.5446666667,"ma_window":20},{"date":"2025-08-21","symbol":"MSFT","close":503.3,"value":519.466875,"ma_window":20},{"date":"2025-08-22","symbol":"MSFT","close":506.28,"value":518.6911764706,"ma_window":20},{"date":"2025-08-25","symbol":"MSFT","close":503.32,"value":517.8372222222,"ma_window":20},{"date":"2025-08-26","symbol":"MSFT","close":501.1,"value":516.9563157895,"ma_window":20},{"date":"2025-08-27","symbol":"MSFT","close":505.79,"value":516.398,"ma_window":20},{"date":"2025-08-28","symbol":"MSFT","close":508.69,"value":515.251,"ma_window":20},{"date":"2025-08-29","symbol":"MSFT","close":505.74,"value":514.4245,"ma_window":20},{"date":"2025-09-02","symbol":"MSFT","close":504.18,"value":512.9455,"ma_window":20},{"date":"2025-09-03","symbol":"MSFT","close":504.41,"value":511.871,"ma_window":20},{"date":"2025-09-04","symbol":"MSFT","close":507.02,"value":511.067,"ma_window":20},{"date":"2025-09-05","symbol":"MSFT","close":494.08,"value":509.8205,"ma_window":20},{"date":"2025-09-08","symbol":"MSFT","close":497.27,"value":508.6735,"ma_window":20},{"date":"2025-09-09","symbol":"MSFT","close":497.48,"value":507.5505,"ma_window":20},{"date":"2025-09-10","symbol":"MSFT","close":499.44,"value":506.1535,"ma_window":20},{"date":"2025-09-11","symbol":"MSFT","close":500.07,"value":505.2195,"ma_window":20},{"date":"2025-09-12","symbol":"MSFT","close":508.95,"value":504.6345,"ma_window":20},{"date":"2025-09-15","symbol":"MSFT","close":514.4,"value":504.437,"ma_window":20},{"date":"2025-09-16","symbol":"MSFT","close":508.09,"value":504.077,"ma_window":20},{"date":"2025-09-17","symbol":"MSFT","close":509.07,"value":504.1315,"ma_window":20},{"date":"2025-09-18","symbol":"MSFT","close":507.5,"value":504.309,"ma_window":20},{"date":"2025-09-19","symbol":"MSFT","close":516.96,"value":504.992,"ma_window":20},{"date":"2025-09-22","symbol":"MSFT","close":513.49,"value":505.3525,"ma_window":20},{"date":"2025-09-23","symbol":"MSFT","close":508.28,"value":505.6005,"ma_window":20},{"date":"2025-09-24","symbol":"MSFT","close":509.2,"value":506.0055,"ma_window":20},{"date":"2025-09-25","symbol":"MSFT","close":506.08,"value":506.02,"ma_window":20},{"date":"2025-09-26","symbol":"MSFT","close":510.5,"value":506.1105,"ma_window":20},{"date":"2025-09-29","symbol":"MSFT","close":513.64,"value":506.5055,"ma_window":20},{"date":"2025-09-30","symbol":"MSFT","close":516.98,"value":507.1455,"ma_window":20},{"date":"2025-10-01","symbol":"MSFT","close":518.74,"value":507.862,"ma_window":20},{"date":"2025-10-02","symbol":"MSFT","close":514.78,"value":508.25,"ma_window":20},{"date":"2025-10-03","symbol":"MSFT","close":516.38,"value":509.365,"ma_window":20},{"date":"2025-10-06","symbol":"MSFT","close":527.58,"value":510.8805,"ma_window":20},{"date":"2025-10-07","symbol":"MSFT","close":523,"value":512.1565,"ma_window":20},{"date":"2025-10-08","symbol":"MSFT","close":523.87,"value":513.378,"ma_window":20},{"date":"2025-10-09","symbol":"MSFT","close":521.42,"value":514.4455,"ma_window":20},{"date":"2025-10-10","symbol":"MSFT","close":510.01,"value":514.4985,"ma_window":20},{"date":"2025-10-13","symbol":"MSFT","close":513.09,"value":514.433,"ma_window":20},{"date":"2025-10-14","symbol":"MSFT","close":512.61,"value":514.659,"ma_window":20},{"date":"2025-10-15","symbol":"MSFT","close":512.47,"value":514.829,"ma_window":20},{"date":"2025-10-16","symbol":"MSFT","close":510.65,"value":514.9865,"ma_window":20},{"date":"2025-10-17","symbol":"MSFT","close":512.62,"value":514.7695,"ma_window":20},{"date":"2025-10-20","symbol":"MSFT","close":515.82,"value":514.886,"ma_window":20},{"date":"2025-10-21","symbol":"MSFT","close":516.69,"value":515.3065,"ma_window":20},{"date":"2025-10-22","symbol":"MSFT","close":519.57,"value":515.825,"ma_window":20},{"date":"2025-10-23","symbol":"MSFT","close":519.59,"value":516.5005,"ma_window":20},{"date":"2025-10-24","symbol":"MSFT","close":522.63,"value":517.107,"ma_window":20},{"date":"2025-10-27","symbol":"MSFT","close":530.53,"value":517.9515,"ma_window":20},{"date":"2025-10-28","symbol":"MSFT","close":541.06,"value":519.1555,"ma_window":20},{"date":"2025-10-29","symbol":"MSFT","close":540.54,"value":520.2455,"ma_window":20},{"date":"2025-10-30","symbol":"MSFT","close":524.78,"value":520.7455,"ma_window":20},{"date":"2025-10-31","symbol":"MSFT","close":516.84,"value":520.7685,"ma_window":20},{"date":"2025-11-03","symbol":"MSFT","close":516.06,"value":520.1925,"ma_window":20},{"date":"2025-11-04","symbol":"MSFT","close":513.37,"value":519.711,"ma_window":20},{"date":"2025-11-05","symbol":"MSFT","close":506.21,"value":518.828,"ma_window":20},{"date":"2025-11-06","symbol":"MSFT","close":496.17,"value":517.5655,"ma_window":20},{"date":"2025-11-07","symbol":"MSFT","close":495.89,"value":516.8595,"ma_window":20},{"date":"2025-11-10","symbol":"MSFT","close":505.05,"value":516.4575,"ma_window":20},{"date":"2025-11-11","symbol":"MSFT","close":507.73,"value":516.2135,"ma_window":20},{"date":"2025-11-12","symbol":"MSFT","close":510.19,"value":516.0995,"ma_window":20},{"date":"2025-11-13","symbol":"MSFT","close":502.35,"value":515.6845,"ma_window":20},{"date":"2025-11-14","symbol":"MSFT","close":509.23,"value":515.515,"ma_window":20},{"date":"2025-11-17","symbol":"MSFT","close":506.54,"value":515.051,"ma_window":20},{"date":"2025-11-18","symbol":"MSFT","close":492.87,"value":513.86,"ma_window":20},{"date":"2025-11-19","symbol":"MSFT","close":486.21,"value":512.192,"ma_window":20},{"date":"2025-11-20","symbol":"MSFT","close":478.43,"value":510.134,"ma_window":20},{"date":"2025-11-21","symbol":"MSFT","close":472.12,"value":507.6085,"ma_window":20},{"date":"2025-11-24","symbol":"MSFT","close":474,"value":504.782,"ma_window":20},{"date":"2025-11-25","symbol":"MSFT","close":476.99,"value":501.5785,"ma_window":20},{"date":"2025-11-26","symbol":"MSFT","close":485.5,"value":498.8265,"ma_window":20},{"date":"2025-11-28","symbol":"MSFT","close":492.01,"value":497.188,"ma_window":20},{"date":"2025-12-01","symbol":"MSFT","close":486.74,"value":495.683,"ma_window":20},{"date":"2025-12-02","symbol":"MSFT","close":490,"value":494.38,"ma_window":20},{"date":"2025-12-03","symbol":"MSFT","close":477.73,"value":492.598,"ma_window":20},{"date":"2025-12-04","symbol":"MSFT","close":480.84,"value":491.3295,"ma_window":20},{"date":"2025-12-05","symbol":"MSFT","close":483.16,"value":490.679,"ma_window":20},{"date":"2025-12-08","symbol":"MSFT","close":491.02,"value":490.4355,"ma_window":20},{"date":"2025-12-09","symbol":"MSFT","close":492.02,"value":489.784,"ma_window":20},{"date":"2025-12-10","symbol":"MSFT","close":478.56,"value":488.3255,"ma_window":20},{"date":"2025-12-11","symbol":"MSFT","close":483.47,"value":486.9895,"ma_window":20},{"date":"2025-12-12","symbol":"MSFT","close":478.53,"value":485.7985,"ma_window":20},{"date":"2025-12-15","symbol":"MSFT","close":474.82,"value":484.078,"ma_window":20},{"date":"2025-12-16","symbol":"MSFT","close":476.39,"value":482.5705,"ma_window":20},{"date":"2025-12-17","symbol":"MSFT","close":476.12,"value":481.733,"ma_window":20},{"date":"2025-12-18","symbol":"MSFT","close":483.98,"value":481.6215,"ma_window":20},{"date":"2025-12-19","symbol":"MSFT","close":485.92,"value":481.996,"ma_window":20},{"date":"2025-12-22","symbol":"MSFT","close":484.92,"value":482.636,"ma_window":20},{"date":"2025-12-23","symbol":"MSFT","close":486.85,"value":483.2785,"ma_window":20},{"date":"2025-12-24","symbol":"MSFT","close":488.02,"value":483.83,"ma_window":20},{"date":"2025-12-26","symbol":"MSFT","close":487.71,"value":483.9405,"ma_window":20},{"date":"2025-12-29","symbol":"MSFT","close":487.1,"value":483.695,"ma_window":20},{"date":"2025-12-30","symbol":"MSFT","close":487.48,"value":483.732,"ma_window":20},{"date":"2025-12-31","symbol":"MSFT","close":483.62,"value":483.413,"ma_window":20},{"date":"2026-01-02","symbol":"MSFT","close":472.94,"value":483.1735,"ma_window":20},{"date":"2026-01-05","symbol":"MSFT","close":472.85,"value":482.774,"ma_window":20},{"date":"2026-01-06","symbol":"MSFT","close":478.51,"value":482.5415,"ma_window":20},{"date":"2026-01-07","symbol":"MSFT","close":483.47,"value":482.164,"ma_window":20},{"date":"2026-01-08","symbol":"MSFT","close":478.11,"value":481.4685,"ma_window":20},{"date":"2026-01-09","symbol":"MSFT","close":479.28,"value":481.5045,"ma_window":20},{"date":"2026-01-12","symbol":"MSFT","close":477.18,"value":481.19,"ma_window":20},{"date":"2026-01-13","symbol":"MSFT","close":470.67,"value":480.797,"ma_window":20},{"date":"2026-01-14","symbol":"MSFT","close":459.38,"value":480.025,"ma_window":20},{"date":"2026-01-15","symbol":"MSFT","close":456.66,"value":479.0385,"ma_window":20},{"date":"2026-01-16","symbol":"MSFT","close":459.86,"value":478.2255,"ma_window":20},{"date":"2026-01-20","symbol":"MSFT","close":454.52,"value":476.7525,"ma_window":20},{"date":"2026-01-21","symbol":"MSFT","close":444.11,"value":474.662,"ma_window":20},{"date":"2026-01-22","symbol":"MSFT","close":451.14,"value":472.973,"ma_window":20},{"date":"2026-01-23","symbol":"MSFT","close":465.95,"value":471.928,"ma_window":20},{"date":"2026-01-26","symbol":"MSFT","close":470.28,"value":471.041,"ma_window":20},{"date":"2025-07-31","symbol":"NVDA","close":177.85,"value":177.85,"ma_window":20},{"date":"2025-08-01","symbol":"NVDA","close":173.7,"value":175.775,"ma_window":20},{"date":"2025-08-04","symbol":"NVDA","close":179.98,"value":177.1766666667,"ma_window":20},{"date":"2025-08-05","symbol":"NVDA","close":178.24,"value":177.4425,"ma_window":20},{"date":"2025-08-06","symbol":"NVDA","close":179.4,"value":177.834,"ma_window":20},{"date":"2025-08-07","symbol":"NVDA","close":180.75,"value":178.32,"ma_window":20},{"date":"2025-08-08","symbol":"NVDA","close":182.68,"value":178.9428571429,"ma_window":20},{"date":"2025-08-11","symbol":"NVDA","close":182.04,"value":179.33,"ma_window":20},{"date":"2025-08-12","symbol":"NVDA","close":183.14,"value":179.7533333333,"ma_window":20},{"date":"2025-08-13","symbol":"NVDA","close":181.57,"value":179.935,"ma_window":20},{"date":"2025-08-14","symbol":"NVDA","close":182,"value":180.1227272727,"ma_window":20},{"date":"2025-08-15","symbol":"NVDA","close":180.43,"value":180.1483333333,"ma_window":20},{"date":"2025-08-18","symbol":"NVDA","close":181.99,"value":180.29,"ma_window":20},{"date":"2025-08-19","symbol":"NVDA","close":175.62,"value":179.9564285714,"ma_window":20},{"date":"2025-08-20","symbol":"NVDA","close":175.38,"value":179.6513333333,"ma_window":20},{"date":"2025-08-21","symbol":"NVDA","close":174.96,"value":179.358125,"ma_window":20},{"date":"2025-08-22","symbol":"NVDA","close":177.97,"value":179.2764705882,"ma_window":20},{"date":"2025-08-25","symbol":"NVDA","close":179.79,"value":179.305,"ma_window":20},{"date":"2025-08-26","symbol":"NVDA","close":181.75,"value":179.4336842105,"ma_window":20},{"date":"2025-08-27","symbol":"NVDA","close":181.58,"value":179.541,"ma_window":20},{"date":"2025-08-28","symbol":"NVDA","close":180.15,"value":179.656,"ma_window":20},{"date":"2025-08-29","symbol":"NVDA","close":174.16,"value":179.679,"ma_window":20},{"date":"2025-09-02","symbol":"NVDA","close":170.76,"value":179.218,"ma_window":20},{"date":"2025-09-03","symbol":"NVDA","close":170.6,"value":178.836,"ma_window":20},{"date":"2025-09-04","symbol":"NVDA","close":171.64,"value":178.448,"ma_window":20},{"date":"2025-09-05","symbol":"NVDA","close":167,"value":177.7605,"ma_window":20},{"date":"2025-09-08","symbol":"NVDA","close":168.29,"value":177.041,"ma_window":20},{"date":"2025-09-09","symbol":"NVDA","close":170.74,"value":176.476,"ma_window":20},{"date":"2025-09-10","symbol":"NVDA","close":177.31,"value":176.1845,"ma_window":20},{"date":"2025-09-11","symbol":"NVDA","close":177.16,"value":175.964,"ma_window":20},{"date":"2025-09-12","symbol":"NVDA","close":177.81,"value":175.7545,"ma_window":20},{"date":"2025-09-15","symbol":"NVDA","close":177.74,"value":175.62,"ma_window":20},{"date":"2025-09-16","symbol":"NVDA","close":174.87,"value":175.264,"ma_window":20},{"date":"2025-09-17","symbol":"NVDA","close":170.28,"value":174.997,"ma_window":20},{"date":"2025-09-18","symbol":"NVDA","close":176.23,"value":175.0395,"ma_window":20},{"date":"2025-09-19","symbol":"NVDA","close":176.66,"value":175.1245,"ma_window":20},{"date":"2025-09-22","symbol":"NVDA","close":183.6,"value":175.406,"ma_window":20},{"date":"2025-09-23","symbol":"NVDA","close":178.42,"value":175.3375,"ma_window":20},{"date":"2025-09-24","symbol":"NVDA","close":176.96,"value":175.098,"ma_window":20},{"date":"2025-09-25","symbol":"NVDA","close":177.68,"value":174.903,"ma_window":20},{"date":"2025-09-26","symbol":"NVDA","close":178.18,"value":174.8045,"ma_window":20},{"date":"2025-09-29","symbol":"NVDA","close":181.84,"value":175.1885,"ma_window":20},{"date":"2025-09-30","symbol":"NVDA","close":186.57,"value":175.979,"ma_window":20},{"date":"2025-10-01","symbol":"NVDA","close":187.23,"value":176.8105,"ma_window":20},{"date":"2025-10-02","symbol":"NVDA","close":188.88,"value":177.6725,"ma_window":20},{"date":"2025-10-03","symbol":"NVDA","close":187.61,"value":178.703,"ma_window":20},{"date":"2025-10-06","symbol":"NVDA","close":185.53,"value":179.565,"ma_window":20},{"date":"2025-10-07","symbol":"NVDA","close":185.03,"value":180.2795,"ma_window":20},{"date":"2025-10-08","symbol":"NVDA","close":189.1,"value":180.869,"ma_window":20},{"date":"2025-10-09","symbol":"NVDA","close":192.56,"value":181.639,"ma_window":20},{"date":"2025-10-10","symbol":"NVDA","close":183.15,"value":181.906,"ma_window":20},{"date":"2025-10-13","symbol":"NVDA","close":188.31,"value":182.4345,"ma_window":20},{"date":"2025-10-14","symbol":"NVDA","close":180.02,"value":182.692,"ma_window":20},{"date":"2025-10-15","symbol":"NVDA","close":179.82,"value":183.169,"ma_window":20},{"date":"2025-10-16","symbol":"NVDA","close":181.8,"value":183.4475,"ma_window":20},{"date":"2025-10-17","symbol":"NVDA","close":183.21,"value":183.775,"ma_window":20},{"date":"2025-10-20","symbol":"NVDA","close":182.63,"value":183.7265,"ma_window":20},{"date":"2025-10-21","symbol":"NVDA","close":181.15,"value":183.863,"ma_window":20},{"date":"2025-10-22","symbol":"NVDA","close":180.27,"value":184.0285,"ma_window":20},{"date":"2025-10-23","symbol":"NVDA","close":182.15,"value":184.252,"ma_window":20},{"date":"2025-10-24","symbol":"NVDA","close":186.25,"value":184.6555,"ma_window":20},{"date":"2025-10-27","symbol":"NVDA","close":191.48,"value":185.1375,"ma_window":20},{"date":"2025-10-28","symbol":"NVDA","close":201.02,"value":185.86,"ma_window":20},{"date":"2025-10-29","symbol":"NVDA","close":207.03,"value":186.85,"ma_window":20},{"date":"2025-10-30","symbol":"NVDA","close":202.88,"value":187.55,"ma_window":20},{"date":"2025-10-31","symbol":"NVDA","close":202.48,"value":188.2935,"ma_window":20},{"date":"2025-11-03","symbol":"NVDA","close":206.87,"value":189.3605,"ma_window":20},{"date":"2025-11-04","symbol":"NVDA","close":198.68,"value":190.043,"ma_window":20},{"date":"2025-11-05","symbol":"NVDA","close":195.2,"value":190.348,"ma_window":20},{"date":"2025-11-06","symbol":"NVDA","close":188.07,"value":190.1235,"ma_window":20},{"date":"2025-11-07","symbol":"NVDA","close":188.14,"value":190.373,"ma_window":20},{"date":"2025-11-10","symbol":"NVDA","close":199.04,"value":190.9095,"ma_window":20},{"date":"2025-11-11","symbol":"NVDA","close":193.15,"value":191.566,"ma_window":20},{"date":"2025-11-12","symbol":"NVDA","close":193.79,"value":192.2645,"ma_window":20},{"date":"2025-11-13","symbol":"NVDA","close":186.85,"value":192.517,"ma_window":20},{"date":"2025-11-14","symbol":"NVDA","close":190.16,"value":192.8645,"ma_window":20},{"date":"2025-11-17","symbol":"NVDA","close":186.59,"value":193.0625,"ma_window":20},{"date":"2025-11-18","symbol":"NVDA","close":181.35,"value":193.0725,"ma_window":20},{"date":"2025-11-19","symbol":"NVDA","close":186.51,"value":193.3845,"ma_window":20},{"date":"2025-11-20","symbol":"NVDA","close":180.63,"value":193.3085,"ma_window":20},{"date":"2025-11-21","symbol":"NVDA","close":178.87,"value":192.9395,"ma_window":20},{"date":"2025-11-24","symbol":"NVDA","close":182.54,"value":192.4925,"ma_window":20},{"date":"2025-11-25","symbol":"NVDA","close":177.81,"value":191.332,"ma_window":20},{"date":"2025-11-26","symbol":"NVDA","close":180.25,"value":189.993,"ma_window":20},{"date":"2025-11-28","symbol":"NVDA","close":176.99,"value":188.6985,"ma_window":20},{"date":"2025-12-01","symbol":"NVDA","close":179.91,"value":187.57,"ma_window":20},{"date":"2025-12-02","symbol":"NVDA","close":181.45,"value":186.299,"ma_window":20},{"date":"2025-12-03","symbol":"NVDA","close":179.58,"value":185.344,"ma_window":20},{"date":"2025-12-04","symbol":"NVDA","close":183.38,"value":184.753,"ma_window":20},{"date":"2025-12-05","symbol":"NVDA","close":182.41,"value":184.47,"ma_window":20},{"date":"2025-12-08","symbol":"NVDA","close":185.55,"value":184.3405,"ma_window":20},{"date":"2025-12-09","symbol":"NVDA","close":184.97,"value":183.637,"ma_window":20},{"date":"2025-12-10","symbol":"NVDA","close":183.78,"value":183.1685,"ma_window":20},{"date":"2025-12-11","symbol":"NVDA","close":180.93,"value":182.5255,"ma_window":20},{"date":"2025-12-12","symbol":"NVDA","close":175.02,"value":181.934,"ma_window":20},{"date":"2025-12-15","symbol":"NVDA","close":176.29,"value":181.2405,"ma_window":20},{"date":"2025-12-16","symbol":"NVDA","close":177.72,"value":180.797,"ma_window":20},{"date":"2025-12-17","symbol":"NVDA","close":170.94,"value":180.2765,"ma_window":20},{"date":"2025-12-18","symbol":"NVDA","close":174.14,"value":179.658,"ma_window":20},{"date":"2025-12-19","symbol":"NVDA","close":180.99,"value":179.676,"ma_window":20},{"date":"2025-12-22","symbol":"NVDA","close":183.69,"value":179.917,"ma_window":20},{"date":"2025-12-23","symbol":"NVDA","close":189.21,"value":180.2505,"ma_window":20},{"date":"2025-12-24","symbol":"NVDA","close":188.61,"value":180.7905,"ma_window":20},{"date":"2025-12-26","symbol":"NVDA","close":190.53,"value":181.3045,"ma_window":20},{"date":"2025-12-29","symbol":"NVDA","close":188.22,"value":181.866,"ma_window":20},{"date":"2025-12-30","symbol":"NVDA","close":187.54,"value":182.2475,"ma_window":20},{"date":"2025-12-31","symbol":"NVDA","close":186.5,"value":182.5,"ma_window":20},{"date":"2026-01-02","symbol":"NVDA","close":188.85,"value":182.9635,"ma_window":20},{"date":"2026-01-05","symbol":"NVDA","close":188.12,"value":183.2005,"ma_window":20},{"date":"2026-01-06","symbol":"NVDA","close":187.24,"value":183.442,"ma_window":20},{"date":"2026-01-07","symbol":"NVDA","close":189.11,"value":183.62,"ma_window":20},{"date":"2026-01-08","symbol":"NVDA","close":185.04,"value":183.6235,"ma_window":20},{"date":"2026-01-09","symbol":"NVDA","close":184.86,"value":183.6775,"ma_window":20},{"date":"2026-01-12","symbol":"NVDA","close":184.94,"value":183.878,"ma_window":20},{"date":"2026-01-13","symbol":"NVDA","close":185.81,"value":184.4175,"ma_window":20},{"date":"2026-01-14","symbol":"NVDA","close":183.14,"value":184.76,"ma_window":20},{"date":"2026-01-15","symbol":"NVDA","close":187.05,"value":185.2265,"ma_window":20},{"date":"2026-01-16","symbol":"NVDA","close":186.23,"value":185.991,"ma_window":20},{"date":"2026-01-20","symbol":"NVDA","close":178.07,"value":186.1875,"ma_window":20},{"date":"2026-01-21","symbol":"NVDA","close":183.32,"value":186.304,"ma_window":20},{"date":"2026-01-22","symbol":"NVDA","close":184.84,"value":186.3615,"ma_window":20},{"date":"2026-01-23","symbol":"NVDA","close":187.67,"value":186.2845,"ma_window":20},{"date":"2026-01-26","symbol":"NVDA","close":186.47,"value":186.1775,"ma_window":20},{"date":"2025-07-31","symbol":"AAPL","close":207.13,"value":207.13,"ma_window":60},{"date":"2025-08-01","symbol":"AAPL","close":201.95,"value":204.54,"ma_window":60},{"date":"2025-08-04","symbol":"AAPL","close":202.92,"value":204,"ma_window":60},{"date":"2025-08-05","symbol":"AAPL","close":202.49,"value":203.6225,"ma_window":60},{"date":"2025-08-06","symbol":"AAPL","close":212.8,"value":205.458,"ma_window":60},{"date":"2025-08-07","symbol":"AAPL","close":219.57,"value":207.81,"ma_window":60},{"date":"2025-08-08","symbol":"AAPL","close":228.87,"value":210.8185714286,"ma_window":60},{"date":"2025-08-11","symbol":"AAPL","close":226.96,"value":212.83625,"ma_window":60},{"date":"2025-08-12","symbol":"AAPL","close":229.43,"value":214.68,"ma_window":60},{"date":"2025-08-13","symbol":"AAPL","close":233.1,"value":216.522,"ma_window":60},{"date":"2025-08-14","symbol":"AAPL","close":232.55,"value":217.9790909091,"ma_window":60},{"date":"2025-08-15","symbol":"AAPL","close":231.37,"value":219.095,"ma_window":60},{"date":"2025-08-18","symbol":"AAPL","close":230.67,"value":219.9853846154,"ma_window":60},{"date":"2025-08-19","symbol":"AAPL","close":230.34,"value":220.725,"ma_window":60},{"date":"2025-08-20","symbol":"AAPL","close":225.79,"value":221.0626666667,"ma_window":60},{"date":"2025-08-21","symbol":"AAPL","close":224.68,"value":221.28875,"ma_window":60},{"date":"2025-08-22","symbol":"AAPL","close":227.54,"value":221.6564705882,"ma_window":60},{"date":"2025-08-25","symbol":"AAPL","close":226.94,"value":221.95,"ma_window":60},{"date":"2025-08-26","symbol":"AAPL","close":229.09,"value":222.3257894737,"ma_window":60},{"date":"2025-08-27","symbol":"AAPL","close":230.27,"value":222.723,"ma_window":60},{"date":"2025-08-28","symbol":"AAPL","close":232.33,"value":223.1804761905,"ma_window":60},{"date":"2025-08-29","symbol":"AAPL","close":231.92,"value":223.5777272727,"ma_window":60},{"date":"2025-09-02","symbol":"AAPL","close":229.5,"value":223.8352173913,"ma_window":60},{"date":"2025-09-03","symbol":"AAPL","close":238.24,"value":224.4354166667,"ma_window":60},{"date":"2025-09-04","symbol":"AAPL","close":239.55,"value":225.04,"ma_window":60},{"date":"2025-09-05","symbol":"AAPL","close":239.46,"value":225.5946153846,"ma_window":60},{"date":"2025-09-08","symbol":"AAPL","close":237.65,"value":226.0411111111,"ma_window":60},{"date":"2025-09-09","symbol":"AAPL","close":234.12,"value":226.3296428571,"ma_window":60},{"date":"2025-09-10","symbol":"AAPL","close":226.57,"value":226.3379310345,"ma_window":60},{"date":"2025-09-11","symbol":"AAPL","close":229.81,"value":226.4536666667,"ma_window":60},{"date":"2025-09-12","symbol":"AAPL","close":233.84,"value":226.6919354839,"ma_window":60},{"date":"2025-09-15","symbol":"AAPL","close":236.47,"value":226.9975,"ma_window":60},{"date":"2025-09-16","symbol":"AAPL","close":237.92,"value":227.3284848485,"ma_window":60},{"date":"2025-09-17","symbol":"AAPL","close":238.76,"value":227.6647058824,"ma_window":60},{"date":"2025-09-18","symbol":"AAPL","close":237.65,"value":227.95,"ma_window":60},{"date":"2025-09-19","symbol":"AAPL","close":245.26,"value":228.4308333333,"ma_window":60},{"date":"2025-09-22","symbol":"AAPL","close":255.83,"value":229.1713513514,"ma_window":60},{"date":"2025-09-23","symbol":"AAPL","close":254.18,"value":229.8294736842,"ma_window":60},{"date":"2025-09-24","symbol":"AAPL","close":252.07,"value":230.3997435897,"ma_window":60},{"date":"2025-09-25","symbol":"AAPL","close":256.62,"value":231.05525,"ma_window":60},{"date":"2025-09-26","symbol":"AAPL","close":255.21,"value":231.6443902439,"ma_window":60},{"date":"2025-09-29","symbol":"AAPL","close":254.18,"value":232.180952381,"ma_window":60},{"date":"2025-09-30","symbol":"AAPL","close":254.38,"value":232.6972093023,"ma_window":60},{"date":"2025-10-01","symbol":"AAPL","close":255.2,"value":233.2086363636,"ma_window":60},{"date":"2025-10-02","symbol":"AAPL","close":256.88,"value":233.7346666667,"ma_window":60},{"date":"2025-10-03","symbol":"AAPL","close":257.77,"value":234.257173913,"ma_window":60},{"date":"2025-10-06","symbol":"AAPL","close":256.44,"value":234.7291489362,"ma_window":60},{"date":"2025-10-07","symbol":"AAPL","close":256.23,"value":235.1770833333,"ma_window":60},{"date":"2025-10-08","symbol":"AAPL","close":257.81,"value":235.6389795918,"ma_window":60},{"date":"2025-10-09","symbol":"AAPL","close":253.79,"value":236.002,"ma_window":60},{"date":"2025-10-10","symbol":"AAPL","close":245.03,"value":236.1790196078,"ma_window":60},{"date":"2025-10-13","symbol":"AAPL","close":247.42,"value":236.3951923077,"ma_window":60},{"date":"2025-10-14","symbol":"AAPL","close":247.53,"value":236.6052830189,"ma_window":60},{"date":"2025-10-15","symbol":"AAPL","close":249.1,"value":236.8366666667,"ma_window":60},{"date":"2025-10-16","symbol":"AAPL","close":247.21,"value":237.0252727273,"ma_window":60},{"date":"2025-10-17","symbol":"AAPL","close":252.05,"value":237.2935714286,"ma_window":60},{"date":"2025-10-20","symbol":"AAPL","close":261.99,"value":237.7268421053,"ma_window":60},{"date":"2025-10-21","symbol":"AAPL","close":262.52,"value":238.1543103448,"ma_window":60},{"date":"2025-10-22","symbol":"AAPL","close":258.2,"value":238.4940677966,"ma_window":60},{"date":"2025-10-23","symbol":"AAPL","close":259.33,"value":238.8413333333,"ma_window":60},{"date":"2025-10-24","symbol":"AAPL","close":262.57,"value":239.7653333333,"ma_window":60},{"date":"2025-10-27","symbol":"AAPL","close":268.55,"value":240.8753333333,"ma_window":60},{"date":"2025-10-28","symbol":"AAPL","close":268.74,"value":241.9723333333,"ma_window":60},{"date":"2025-10-29","symbol":"AAPL","close":269.44,"value":243.0881666667,"ma_window":60},{"date":"2025-10-30","symbol":"AAPL","close":271.14,"value":244.0605,"ma_window":60},{"date":"2025-10-31","symbol":"AAPL","close":270.11,"value":244.9028333333,"ma_window":60},{"date":"2025-11-03","symbol":"AAPL","close":268.79,"value":245.5681666667,"ma_window":60},{"date":"2025-11-04","symbol":"AAPL","close":269.78,"value":246.2818333333,"ma_window":60},{"date":"2025-11-05","symbol":"AAPL","close":269.88,"value":246.956,"ma_window":60},{"date":"2025-11-06","symbol":"AAPL","close":269.51,"value":247.5628333333,"ma_window":60},{"date":"2025-11-07","symbol":"AAPL","close":268.21,"value":248.1571666667,"ma_window":60},{"date":"2025-11-10","symbol":"AAPL","close":269.43,"value":248.7915,"ma_window":60},{"date":"2025-11-11","symbol":"AAPL","close":275.25,"value":249.5345,"ma_window":60},{"date":"2025-11-12","symbol":"AAPL","close":273.47,"value":250.2533333333,"ma_window":60},{"date":"2025-11-13","symbol":"AAPL","close":272.95,"value":251.0393333333,"ma_window":60},{"date":"2025-11-14","symbol":"AAPL","close":272.41,"value":251.8348333333,"ma_window":60},{"date":"2025-11-17","symbol":"AAPL","close":267.46,"value":252.5001666667,"ma_window":60},{"date":"2025-11-18","symbol":"AAPL","close":267.44,"value":253.1751666667,"ma_window":60},{"date":"2025-11-19","symbol":"AAPL","close":268.56,"value":253.833,"ma_window":60},{"date":"2025-11-20","symbol":"AAPL","close":266.25,"value":254.4326666667,"ma_window":60},{"date":"2025-11-21","symbol":"AAPL","close":271.49,"value":255.0853333333,"ma_window":60},{"date":"2025-11-24","symbol":"AAPL","close":275.92,"value":255.8186666667,"ma_window":60},{"date":"2025-11-25","symbol":"AAPL","close":276.97,"value":256.6098333333,"ma_window":60},{"date":"2025-11-26","symbol":"AAPL","close":277.55,"value":257.265,"ma_window":60},{"date":"2025-11-28","symbol":"AAPL","close":278.85,"value":257.92,"ma_window":60},{"date":"2025-12-01","symbol":"AAPL","close":283.1,"value":258.6473333333,"ma_window":60},{"date":"2025-12-02","symbol":"AAPL","close":286.19,"value":259.4563333333,"ma_window":60},{"date":"2025-12-03","symbol":"AAPL","close":284.15,"value":260.2901666667,"ma_window":60},{"date":"2025-12-04","symbol":"AAPL","close":280.7,"value":261.1923333333,"ma_window":60},{"date":"2025-12-05","symbol":"AAPL","close":278.78,"value":262.0085,"ma_window":60},{"date":"2025-12-08","symbol":"AAPL","close":277.89,"value":262.7426666667,"ma_window":60},{"date":"2025-12-09","symbol":"AAPL","close":277.18,"value":263.4211666667,"ma_window":60},{"date":"2025-12-10","symbol":"AAPL","close":278.78,"value":264.1021666667,"ma_window":60},{"date":"2025-12-11","symbol":"AAPL","close":278.03,"value":264.7566666667,"ma_window":60},{"date":"2025-12-12","symbol":"AAPL","close":278.28,"value":265.4338333333,"ma_window":60},{"date":"2025-12-15","symbol":"AAPL","close":274.11,"value":265.9146666667,"ma_window":60},{"date":"2025-12-16","symbol":"AAPL","close":274.61,"value":266.2276666667,"ma_window":60},{"date":"2025-12-17","symbol":"AAPL","close":271.84,"value":266.522,"ma_window":60},{"date":"2025-12-18","symbol":"AAPL","close":272.19,"value":266.8573333333,"ma_window":60},{"date":"2025-12-19","symbol":"AAPL","close":273.67,"value":267.1415,"ma_window":60},{"date":"2025-12-22","symbol":"AAPL","close":270.97,"value":267.4041666667,"ma_window":60},{"date":"2025-12-23","symbol":"AAPL","close":272.36,"value":267.7071666667,"ma_window":60},{"date":"2025-12-24","symbol":"AAPL","close":273.81,"value":268.031,"ma_window":60},{"date":"2025-12-26","symbol":"AAPL","close":273.4,"value":268.3343333333,"ma_window":60},{"date":"2025-12-29","symbol":"AAPL","close":273.76,"value":268.6156666667,"ma_window":60},{"date":"2025-12-30","symbol":"AAPL","close":273.08,"value":268.8708333333,"ma_window":60},{"date":"2025-12-31","symbol":"AAPL","close":271.86,"value":269.1278333333,"ma_window":60},{"date":"2026-01-02","symbol":"AAPL","close":271.01,"value":269.3741666667,"ma_window":60},{"date":"2026-01-05","symbol":"AAPL","close":267.26,"value":269.5316666667,"ma_window":60},{"date":"2026-01-06","symbol":"AAPL","close":262.36,"value":269.6745,"ma_window":60},{"date":"2026-01-07","symbol":"AAPL","close":260.33,"value":269.9295,"ma_window":60},{"date":"2026-01-08","symbol":"AAPL","close":259.04,"value":270.1231666667,"ma_window":60},{"date":"2026-01-09","symbol":"AAPL","close":259.37,"value":270.3205,"ma_window":60},{"date":"2026-01-12","symbol":"AAPL","close":260.25,"value":270.5063333333,"ma_window":60},{"date":"2026-01-13","symbol":"AAPL","close":261.05,"value":270.737,"ma_window":60},{"date":"2026-01-14","symbol":"AAPL","close":259.96,"value":270.8688333333,"ma_window":60},{"date":"2026-01-15","symbol":"AAPL","close":258.21,"value":270.8058333333,"ma_window":60},{"date":"2026-01-16","symbol":"AAPL","close":255.53,"value":270.6893333333,"ma_window":60},{"date":"2026-01-20","symbol":"AAPL","close":246.7,"value":270.4976666667,"ma_window":60},{"date":"2026-01-21","symbol":"AAPL","close":247.65,"value":270.303,"ma_window":60},{"date":"2026-01-22","symbol":"AAPL","close":248.35,"value":270.066,"ma_window":60},{"date":"2026-01-23","symbol":"AAPL","close":248.04,"value":269.7241666667,"ma_window":60},{"date":"2026-01-26","symbol":"AAPL","close":255.41,"value":269.502,"ma_window":60},{"date":"2025-07-31","symbol":"AMZN","close":234.11,"value":234.11,"ma_window":60},{"date":"2025-08-01","symbol":"AMZN","close":214.75,"value":224.43,"ma_window":60},{"date":"2025-08-04","symbol":"AMZN","close":211.65,"value":220.17,"ma_window":60},{"date":"2025-08-05","symbol":"AMZN","close":213.75,"value":218.565,"ma_window":60},{"date":"2025-08-06","symbol":"AMZN","close":222.31,"value":219.314,"ma_window":60},{"date":"2025-08-07","symbol":"AMZN","close":223.13,"value":219.95,"ma_window":60},{"date":"2025-08-08","symbol":"AMZN","close":222.69,"value":220.3414285714,"ma_window":60},{"date":"2025-08-11","symbol":"AMZN","close":221.3,"value":220.46125,"ma_window":60},{"date":"2025-08-12","symbol":"AMZN","close":221.47,"value":220.5733333333,"ma_window":60},{"date":"2025-08-13","symbol":"AMZN","close":224.56,"value":220.972,"ma_window":60},{"date":"2025-08-14","symbol":"AMZN","close":230.98,"value":221.8818181818,"ma_window":60},{"date":"2025-08-15","symbol":"AMZN","close":231.03,"value":222.6441666667,"ma_window":60},{"date":"2025-08-18","symbol":"AMZN","close":231.49,"value":223.3246153846,"ma_window":60},{"date":"2025-08-19","symbol":"AMZN","close":228.01,"value":223.6592857143,"ma_window":60},{"date":"2025-08-20","symbol":"AMZN","close":223.81,"value":223.6693333333,"ma_window":60},{"date":"2025-08-21","symbol":"AMZN","close":221.95,"value":223.561875,"ma_window":60},{"date":"2025-08-22","symbol":"AMZN","close":228.84,"value":223.8723529412,"ma_window":60},{"date":"2025-08-25","symbol":"AMZN","close":227.94,"value":224.0983333333,"ma_window":60},{"date":"2025-08-26","symbol":"AMZN","close":228.71,"value":224.3410526316,"ma_window":60},{"date":"2025-08-27","symbol":"AMZN","close":229.12,"value":224.58,"ma_window":60},{"date":"2025-08-28","symbol":"AMZN","close":231.6,"value":224.9142857143,"ma_window":60},{"date":"2025-08-29","symbol":"AMZN","close":229,"value":225.1,"ma_window":60},{"date":"2025-09-02","symbol":"AMZN","close":225.34,"value":225.1104347826,"ma_window":60},{"date":"2025-09-03","symbol":"AMZN","close":225.99,"value":225.1470833333,"ma_window":60},{"date":"2025-09-04","symbol":"AMZN","close":235.68,"value":225.5684,"ma_window":60},{"date":"2025-09-05","symbol":"AMZN","close":232.33,"value":225.8284615385,"ma_window":60},{"date":"2025-09-08","symbol":"AMZN","close":235.84,"value":226.1992592593,"ma_window":60},{"date":"2025-09-09","symbol":"AMZN","close":238.24,"value":226.6292857143,"ma_window":60},{"date":"2025-09-10","symbol":"AMZN","close":230.33,"value":226.7568965517,"ma_window":60},{"date":"2025-09-11","symbol":"AMZN","close":229.95,"value":226.8633333333,"ma_window":60},{"date":"2025-09-12","symbol":"AMZN","close":228.15,"value":226.9048387097,"ma_window":60},{"date":"2025-09-15","symbol":"AMZN","close":231.43,"value":227.04625,"ma_window":60},{"date":"2025-09-16","symbol":"AMZN","close":234.05,"value":227.2584848485,"ma_window":60},{"date":"2025-09-17","symbol":"AMZN","close":231.62,"value":227.3867647059,"ma_window":60},{"date":"2025-09-18","symbol":"AMZN","close":231.23,"value":227.4965714286,"ma_window":60},{"date":"2025-09-19","symbol":"AMZN","close":231.48,"value":227.6072222222,"ma_window":60},{"date":"2025-09-22","symbol":"AMZN","close":227.63,"value":227.6078378378,"ma_window":60},{"date":"2025-09-23","symbol":"AMZN","close":220.71,"value":227.4263157895,"ma_window":60},{"date":"2025-09-24","symbol":"AMZN","close":220.21,"value":227.2412820513,"ma_window":60},{"date":"2025-09-25","symbol":"AMZN","close":218.15,"value":227.014,"ma_window":60},{"date":"2025-09-26","symbol":"AMZN","close":219.78,"value":226.8375609756,"ma_window":60},{"date":"2025-09-29","symbol":"AMZN","close":222.17,"value":226.7264285714,"ma_window":60},{"date":"2025-09-30","symbol":"AMZN","close":219.57,"value":226.56,"ma_window":60},{"date":"2025-10-01","symbol":"AMZN","close":220.63,"value":226.4252272727,"ma_window":60},{"date":"2025-10-02","symbol":"AMZN","close":222.41,"value":226.336,"ma_window":60},{"date":"2025-10-03","symbol":"AMZN","close":219.51,"value":226.1876086957,"ma_window":60},{"date":"2025-10-06","symbol":"AMZN","close":220.9,"value":226.075106383,"ma_window":60},{"date":"2025-10-07","symbol":"AMZN","close":221.78,"value":225.985625,"ma_window":60},{"date":"2025-10-08","symbol":"AMZN","close":225.22,"value":225.97,"ma_window":60},{"date":"2025-10-09","symbol":"AMZN","close":227.74,"value":226.0054,"ma_window":60},{"date":"2025-10-10","symbol":"AMZN","close":216.37,"value":225.8164705882,"ma_window":60},{"date":"2025-10-13","symbol":"AMZN","close":220.07,"value":225.7059615385,"ma_window":60},{"date":"2025-10-14","symbol":"AMZN","close":216.39,"value":225.5301886792,"ma_window":60},{"date":"2025-10-15","symbol":"AMZN","close":215.57,"value":225.3457407407,"ma_window":60},{"date":"2025-10-16","symbol":"AMZN","close":214.47,"value":225.148,"ma_window":60},{"date":"2025-10-17","symbol":"AMZN","close":213.04,"value":224.9317857143,"ma_window":60},{"date":"2025-10-20","symbol":"AMZN","close":216.48,"value":224.7835087719,"ma_window":60},{"date":"2025-10-21","symbol":"AMZN","close":222.03,"value":224.7360344828,"ma_window":60},{"date":"2025-10-22","symbol":"AMZN","close":217.95,"value":224.6210169492,"ma_window":60},{"date":"2025-10-23","symbol":"AMZN","close":221.09,"value":224.5621666667,"ma_window":60},{"date":"2025-10-24","symbol":"AMZN","close":224.21,"value":224.3971666667,"ma_window":60},{"date":"2025-10-27","symbol":"AMZN","close":226.97,"value":224.6008333333,"ma_window":60},{"date":"2025-10-28","symbol":"AMZN","close":229.25,"value":224.8941666667,"ma_window":60},{"date":"2025-10-29","symbol":"AMZN","close":230.3,"value":225.17,"ma_window":60},{"date":"2025-10-30","symbol":"AMZN","close":222.86,"value":225.1791666667,"ma_window":60},{"date":"2025-10-31","symbol":"AMZN","close":244.22,"value":225.5306666667,"ma_window":60},{"date":"2025-11-03","symbol":"AMZN","close":254,"value":226.0525,"ma_window":60},{"date":"2025-11-04","symbol":"AMZN","close":249.32,"value":226.5195,"ma_window":60},{"date":"2025-11-05","symbol":"AMZN","close":250.2,"value":226.9983333333,"ma_window":60},{"date":"2025-11-06","symbol":"AMZN","close":243.04,"value":227.3063333333,"ma_window":60},{"date":"2025-11-07","symbol":"AMZN","close":244.41,"value":227.5301666667,"ma_window":60},{"date":"2025-11-10","symbol":"AMZN","close":248.4,"value":227.8196666667,"ma_window":60},{"date":"2025-11-11","symbol":"AMZN","close":249.1,"value":228.1131666667,"ma_window":60},{"date":"2025-11-12","symbol":"AMZN","close":244.2,"value":228.383,"ma_window":60},{"date":"2025-11-13","symbol":"AMZN","close":237.58,"value":228.6125,"ma_window":60},{"date":"2025-11-14","symbol":"AMZN","close":234.69,"value":228.8248333333,"ma_window":60},{"date":"2025-11-17","symbol":"AMZN","close":232.87,"value":228.892,"ma_window":60},{"date":"2025-11-18","symbol":"AMZN","close":222.55,"value":228.8021666667,"ma_window":60},{"date":"2025-11-19","symbol":"AMZN","close":222.69,"value":228.7018333333,"ma_window":60},{"date":"2025-11-20","symbol":"AMZN","close":217.14,"value":228.5021666667,"ma_window":60},{"date":"2025-11-21","symbol":"AMZN","close":220.69,"value":228.3203333333,"ma_window":60},{"date":"2025-11-24","symbol":"AMZN","close":226.28,"value":228.275,"ma_window":60},{"date":"2025-11-25","symbol":"AMZN","close":229.67,"value":228.3471666667,"ma_window":60},{"date":"2025-11-26","symbol":"AMZN","close":229.16,"value":228.4,"ma_window":60},{"date":"2025-11-28","symbol":"AMZN","close":233.22,"value":228.359,"ma_window":60},{"date":"2025-12-01","symbol":"AMZN","close":233.88,"value":228.3848333333,"ma_window":60},{"date":"2025-12-02","symbol":"AMZN","close":234.42,"value":228.3611666667,"ma_window":60},{"date":"2025-12-03","symbol":"AMZN","close":232.38,"value":228.2635,"ma_window":60},{"date":"2025-12-04","symbol":"AMZN","close":229.11,"value":228.2431666667,"ma_window":60},{"date":"2025-12-05","symbol":"AMZN","close":229.53,"value":228.2361666667,"ma_window":60},{"date":"2025-12-08","symbol":"AMZN","close":226.89,"value":228.2151666667,"ma_window":60},{"date":"2025-12-09","symbol":"AMZN","close":227.92,"value":228.1566666667,"ma_window":60},{"date":"2025-12-10","symbol":"AMZN","close":231.78,"value":228.1188333333,"ma_window":60},{"date":"2025-12-11","symbol":"AMZN","close":230.28,"value":228.0965,"ma_window":60},{"date":"2025-12-12","symbol":"AMZN","close":226.19,"value":228.0125,"ma_window":60},{"date":"2025-12-15","symbol":"AMZN","close":222.54,"value":227.8635,"ma_window":60},{"date":"2025-12-16","symbol":"AMZN","close":222.56,"value":227.779,"ma_window":60},{"date":"2025-12-17","symbol":"AMZN","close":221.27,"value":227.7883333333,"ma_window":60},{"date":"2025-12-18","symbol":"AMZN","close":226.76,"value":227.8975,"ma_window":60},{"date":"2025-12-19","symbol":"AMZN","close":227.35,"value":228.0508333333,"ma_window":60},{"date":"2025-12-22","symbol":"AMZN","close":228.43,"value":228.195,"ma_window":60},{"date":"2025-12-23","symbol":"AMZN","close":232.14,"value":228.3611666667,"ma_window":60},{"date":"2025-12-24","symbol":"AMZN","close":232.38,"value":228.5746666667,"ma_window":60},{"date":"2025-12-26","symbol":"AMZN","close":232.52,"value":228.7728333333,"ma_window":60},{"date":"2025-12-29","symbol":"AMZN","close":232.07,"value":228.9338333333,"ma_window":60},{"date":"2025-12-30","symbol":"AMZN","close":232.53,"value":229.1508333333,"ma_window":60},{"date":"2025-12-31","symbol":"AMZN","close":230.82,"value":229.3161666667,"ma_window":60},{"date":"2026-01-02","symbol":"AMZN","close":226.5,"value":229.3948333333,"ma_window":60},{"date":"2026-01-05","symbol":"AMZN","close":233.06,"value":229.5255,"ma_window":60},{"date":"2026-01-06","symbol":"AMZN","close":240.93,"value":229.7453333333,"ma_window":60},{"date":"2026-01-07","symbol":"AMZN","close":241.56,"value":230.1651666667,"ma_window":60},{"date":"2026-01-08","symbol":"AMZN","close":246.29,"value":230.6021666667,"ma_window":60},{"date":"2026-01-09","symbol":"AMZN","close":247.38,"value":231.1186666667,"ma_window":60},{"date":"2026-01-12","symbol":"AMZN","close":246.47,"value":231.6336666667,"ma_window":60},{"date":"2026-01-13","symbol":"AMZN","close":242.6,"value":232.1025,"ma_window":60},{"date":"2026-01-14","symbol":"AMZN","close":236.65,"value":232.496,"ma_window":60},{"date":"2026-01-15","symbol":"AMZN","close":238.18,"value":232.8576666667,"ma_window":60},{"date":"2026-01-16","symbol":"AMZN","close":239.12,"value":233.1425,"ma_window":60},{"date":"2026-01-20","symbol":"AMZN","close":231,"value":233.36,"ma_window":60},{"date":"2026-01-21","symbol":"AMZN","close":231.31,"value":233.5303333333,"ma_window":60},{"date":"2026-01-22","symbol":"AMZN","close":234.34,"value":233.6991666667,"ma_window":60},{"date":"2026-01-23","symbol":"AMZN","close":239.16,"value":233.9023333333,"ma_window":60},{"date":"2026-01-26","symbol":"AMZN","close":238.42,"value":234.0551666667,"ma_window":60},{"date":"2025-07-31","symbol":"GOOGL","close":191.6,"value":191.6,"ma_window":60},{"date":"2025-08-01","symbol":"GOOGL","close":188.84,"value":190.22,"ma_window":60},{"date":"2025-08-04","symbol":"GOOGL","close":194.74,"value":191.7266666667,"ma_window":60},{"date":"2025-08-05","symbol":"GOOGL","close":194.37,"value":192.3875,"ma_window":60},{"date":"2025-08-06","symbol":"GOOGL","close":195.79,"value":193.068,"ma_window":60},{"date":"2025-08-07","symbol":"GOOGL","close":196.22,"value":193.5933333333,"ma_window":60},{"date":"2025-08-08","symbol":"GOOGL","close":201.11,"value":194.6671428571,"ma_window":60},{"date":"2025-08-11","symbol":"GOOGL","close":200.69,"value":195.42,"ma_window":60},{"date":"2025-08-12","symbol":"GOOGL","close":203.03,"value":196.2655555556,"ma_window":60},{"date":"2025-08-13","symbol":"GOOGL","close":201.65,"value":196.804,"ma_window":60},{"date":"2025-08-14","symbol":"GOOGL","close":202.63,"value":197.3336363636,"ma_window":60},{"date":"2025-08-15","symbol":"GOOGL","close":203.58,"value":197.8541666667,"ma_window":60},{"date":"2025-08-18","symbol":"GOOGL","close":203.19,"value":198.2646153846,"ma_window":60},{"date":"2025-08-19","symbol":"GOOGL","close":201.26,"value":198.4785714286,"ma_window":60},{"date":"2025-08-20","symbol":"GOOGL","close":199.01,"value":198.514,"ma_window":60},{"date":"2025-08-21","symbol":"GOOGL","close":199.44,"value":198.571875,"ma_window":60},{"date":"2025-08-22","symbol":"GOOGL","close":205.77,"value":198.9952941176,"ma_window":60},{"date":"2025-08-25","symbol":"GOOGL","close":208.17,"value":199.505,"ma_window":60},{"date":"2025-08-26","symbol":"GOOGL","close":206.82,"value":199.89,"ma_window":60},{"date":"2025-08-27","symbol":"GOOGL","close":207.16,"value":200.2535,"ma_window":60},{"date":"2025-08-28","symbol":"GOOGL","close":211.31,"value":200.78,"ma_window":60},{"date":"2025-08-29","symbol":"GOOGL","close":212.58,"value":201.3163636364,"ma_window":60},{"date":"2025-09-02","symbol":"GOOGL","close":211.02,"value":201.7382608696,"ma_window":60},{"date":"2025-09-03","symbol":"GOOGL","close":230.3,"value":202.9283333333,"ma_window":60},{"date":"2025-09-04","symbol":"GOOGL","close":231.94,"value":204.0888,"ma_window":60},{"date":"2025-09-05","symbol":"GOOGL","close":234.64,"value":205.2638461538,"ma_window":60},{"date":"2025-09-08","symbol":"GOOGL","close":233.89,"value":206.3240740741,"ma_window":60},{"date":"2025-09-09","symbol":"GOOGL","close":239.47,"value":207.5078571429,"ma_window":60},{"date":"2025-09-10","symbol":"GOOGL","close":239.01,"value":208.594137931,"ma_window":60},{"date":"2025-09-11","symbol":"GOOGL","close":240.21,"value":209.648,"ma_window":60},{"date":"2025-09-12","symbol":"GOOGL","close":240.64,"value":210.6477419355,"ma_window":60},{"date":"2025-09-15","symbol":"GOOGL","close":251.45,"value":211.9228125,"ma_window":60},{"date":"2025-09-16","symbol":"GOOGL","close":251,"value":213.106969697,"ma_window":60},{"date":"2025-09-17","symbol":"GOOGL","close":249.37,"value":214.1735294118,"ma_window":60},{"date":"2025-09-18","symbol":"GOOGL","close":251.87,"value":215.2505714286,"ma_window":60},{"date":"2025-09-19","symbol":"GOOGL","close":254.55,"value":216.3422222222,"ma_window":60},{"date":"2025-09-22","symbol":"GOOGL","close":252.36,"value":217.3156756757,"ma_window":60},{"date":"2025-09-23","symbol":"GOOGL","close":251.5,"value":218.2152631579,"ma_window":60},{"date":"2025-09-24","symbol":"GOOGL","close":246.98,"value":218.9528205128,"ma_window":60},{"date":"2025-09-25","symbol":"GOOGL","close":245.63,"value":219.61975,"ma_window":60},{"date":"2025-09-26","symbol":"GOOGL","close":246.38,"value":220.2724390244,"ma_window":60},{"date":"2025-09-29","symbol":"GOOGL","close":243.89,"value":220.8347619048,"ma_window":60},{"date":"2025-09-30","symbol":"GOOGL","close":242.94,"value":221.3488372093,"ma_window":60},{"date":"2025-10-01","symbol":"GOOGL","close":244.74,"value":221.8804545455,"ma_window":60},{"date":"2025-10-02","symbol":"GOOGL","close":245.53,"value":222.406,"ma_window":60},{"date":"2025-10-03","symbol":"GOOGL","close":245.19,"value":222.9013043478,"ma_window":60},{"date":"2025-10-06","symbol":"GOOGL","close":250.27,"value":223.4836170213,"ma_window":60},{"date":"2025-10-07","symbol":"GOOGL","close":245.6,"value":223.944375,"ma_window":60},{"date":"2025-10-08","symbol":"GOOGL","close":244.46,"value":224.3630612245,"ma_window":60},{"date":"2025-10-09","symbol":"GOOGL","close":241.37,"value":224.7032,"ma_window":60},{"date":"2025-10-10","symbol":"GOOGL","close":236.42,"value":224.9329411765,"ma_window":60},{"date":"2025-10-13","symbol":"GOOGL","close":243.99,"value":225.2994230769,"ma_window":60},{"date":"2025-10-14","symbol":"GOOGL","close":245.29,"value":225.6766037736,"ma_window":60},{"date":"2025-10-15","symbol":"GOOGL","close":250.87,"value":226.1431481481,"ma_window":60},{"date":"2025-10-16","symbol":"GOOGL","close":251.3,"value":226.6005454545,"ma_window":60},{"date":"2025-10-17","symbol":"GOOGL","close":253.13,"value":227.0742857143,"ma_window":60},{"date":"2025-10-20","symbol":"GOOGL","close":256.38,"value":227.5884210526,"ma_window":60},{"date":"2025-10-21","symbol":"GOOGL","close":250.3,"value":227.98,"ma_window":60},{"date":"2025-10-22","symbol":"GOOGL","close":251.53,"value":228.3791525424,"ma_window":60},{"date":"2025-10-23","symbol":"GOOGL","close":252.91,"value":228.788,"ma_window":60},{"date":"2025-10-24","symbol":"GOOGL","close":259.75,"value":229.9238333333,"ma_window":60},{"date":"2025-10-27","symbol":"GOOGL","close":269.09,"value":231.2613333333,"ma_window":60},{"date":"2025-10-28","symbol":"GOOGL","close":267.3,"value":232.4706666667,"ma_window":60},{"date":"2025-10-29","symbol":"GOOGL","close":274.39,"value":233.8043333333,"ma_window":60},{"date":"2025-10-30","symbol":"GOOGL","close":281.3,"value":235.2295,"ma_window":60},{"date":"2025-10-31","symbol":"GOOGL","close":281.01,"value":236.6426666667,"ma_window":60},{"date":"2025-11-03","symbol":"GOOGL","close":283.53,"value":238.0163333333,"ma_window":60},{"date":"2025-11-04","symbol":"GOOGL","close":277.36,"value":239.2941666667,"ma_window":60},{"date":"2025-11-05","symbol":"GOOGL","close":284.12,"value":240.6456666667,"ma_window":60},{"date":"2025-11-06","symbol":"GOOGL","close":284.56,"value":242.0275,"ma_window":60},{"date":"2025-11-07","symbol":"GOOGL","close":278.65,"value":243.2945,"ma_window":60},{"date":"2025-11-10","symbol":"GOOGL","close":289.91,"value":244.7333333333,"ma_window":60},{"date":"2025-11-11","symbol":"GOOGL","close":291.12,"value":246.1988333333,"ma_window":60},{"date":"2025-11-12","symbol":"GOOGL","close":286.52,"value":247.6198333333,"ma_window":60},{"date":"2025-11-13","symbol":"GOOGL","close":278.39,"value":248.9428333333,"ma_window":60},{"date":"2025-11-14","symbol":"GOOGL","close":276.23,"value":250.2226666667,"ma_window":60},{"date":"2025-11-17","symbol":"GOOGL","close":284.83,"value":251.5403333333,"ma_window":60},{"date":"2025-11-18","symbol":"GOOGL","close":284.09,"value":252.8056666667,"ma_window":60},{"date":"2025-11-19","symbol":"GOOGL","close":292.62,"value":254.2356666667,"ma_window":60},{"date":"2025-11-20","symbol":"GOOGL","close":289.26,"value":255.604,"ma_window":60},{"date":"2025-11-21","symbol":"GOOGL","close":299.46,"value":257.0731666667,"ma_window":60},{"date":"2025-11-24","symbol":"GOOGL","close":318.37,"value":258.8363333333,"ma_window":60},{"date":"2025-11-25","symbol":"GOOGL","close":323.23,"value":260.7065,"ma_window":60},{"date":"2025-11-26","symbol":"GOOGL","close":319.74,"value":262.1971666667,"ma_window":60},{"date":"2025-11-28","symbol":"GOOGL","close":319.97,"value":263.6643333333,"ma_window":60},{"date":"2025-12-01","symbol":"GOOGL","close":314.68,"value":264.9983333333,"ma_window":60},{"date":"2025-12-02","symbol":"GOOGL","close":315.6,"value":266.3601666667,"ma_window":60},{"date":"2025-12-03","symbol":"GOOGL","close":319.42,"value":267.6926666667,"ma_window":60},{"date":"2025-12-04","symbol":"GOOGL","close":317.41,"value":268.9993333333,"ma_window":60},{"date":"2025-12-05","symbol":"GOOGL","close":321.06,"value":270.3468333333,"ma_window":60},{"date":"2025-12-08","symbol":"GOOGL","close":313.72,"value":271.5648333333,"ma_window":60},{"date":"2025-12-09","symbol":"GOOGL","close":317.08,"value":272.6586666667,"ma_window":60},{"date":"2025-12-10","symbol":"GOOGL","close":320.21,"value":273.8121666667,"ma_window":60},{"date":"2025-12-11","symbol":"GOOGL","close":312.43,"value":274.8631666667,"ma_window":60},{"date":"2025-12-12","symbol":"GOOGL","close":309.29,"value":275.8201666667,"ma_window":60},{"date":"2025-12-15","symbol":"GOOGL","close":308.22,"value":276.7146666667,"ma_window":60},{"date":"2025-12-16","symbol":"GOOGL","close":306.57,"value":277.6181666667,"ma_window":60},{"date":"2025-12-17","symbol":"GOOGL","close":296.72,"value":278.3718333333,"ma_window":60},{"date":"2025-12-18","symbol":"GOOGL","close":302.46,"value":279.2965,"ma_window":60},{"date":"2025-12-19","symbol":"GOOGL","close":307.16,"value":280.322,"ma_window":60},{"date":"2025-12-22","symbol":"GOOGL","close":309.78,"value":281.3786666667,"ma_window":60},{"date":"2025-12-23","symbol":"GOOGL","close":314.35,"value":282.553,"ma_window":60},{"date":"2025-12-24","symbol":"GOOGL","close":314.09,"value":283.7388333333,"ma_window":60},{"date":"2025-12-26","symbol":"GOOGL","close":313.51,"value":284.885,"ma_window":60},{"date":"2025-12-29","symbol":"GOOGL","close":313.56,"value":286.0188333333,"ma_window":60},{"date":"2025-12-30","symbol":"GOOGL","close":313.85,"value":287.1631666667,"ma_window":60},{"date":"2025-12-31","symbol":"GOOGL","close":313,"value":288.2086666667,"ma_window":60},{"date":"2026-01-02","symbol":"GOOGL","close":315.15,"value":289.3678333333,"ma_window":60},{"date":"2026-01-05","symbol":"GOOGL","close":316.54,"value":290.5691666667,"ma_window":60},{"date":"2026-01-06","symbol":"GOOGL","close":314.34,"value":291.7853333333,"ma_window":60},{"date":"2026-01-07","symbol":"GOOGL","close":321.98,"value":293.2113333333,"ma_window":60},{"date":"2026-01-08","symbol":"GOOGL","close":325.44,"value":294.5688333333,"ma_window":60},{"date":"2026-01-09","symbol":"GOOGL","close":328.57,"value":295.9568333333,"ma_window":60},{"date":"2026-01-12","symbol":"GOOGL","close":331.86,"value":297.3066666667,"ma_window":60},{"date":"2026-01-13","symbol":"GOOGL","close":335.97,"value":298.7178333333,"ma_window":60},{"date":"2026-01-14","symbol":"GOOGL","close":335.84,"value":300.0963333333,"ma_window":60},{"date":"2026-01-15","symbol":"GOOGL","close":332.78,"value":301.3696666667,"ma_window":60},{"date":"2026-01-16","symbol":"GOOGL","close":330,"value":302.698,"ma_window":60},{"date":"2026-01-20","symbol":"GOOGL","close":322,"value":303.8725,"ma_window":60},{"date":"2026-01-21","symbol":"GOOGL","close":328.38,"value":305.1303333333,"ma_window":60},{"date":"2026-01-22","symbol":"GOOGL","close":330.54,"value":306.3101666667,"ma_window":60},{"date":"2026-01-23","symbol":"GOOGL","close":327.93,"value":307.2908333333,"ma_window":60},{"date":"2026-01-26","symbol":"GOOGL","close":333.26,"value":308.3901666667,"ma_window":60},{"date":"2025-07-31","symbol":"META","close":772.29,"value":772.29,"ma_window":60},{"date":"2025-08-01","symbol":"META","close":748.89,"value":760.59,"ma_window":60},{"date":"2025-08-04","symbol":"META","close":775.21,"value":765.4633333333,"ma_window":60},{"date":"2025-08-05","symbol":"META","close":762.32,"value":764.6775,"ma_window":60},{"date":"2025-08-06","symbol":"META","close":770.84,"value":765.91,"ma_window":60},{"date":"2025-08-07","symbol":"META","close":760.7,"value":765.0416666667,"ma_window":60},{"date":"2025-08-08","symbol":"META","close":768.15,"value":765.4857142857,"ma_window":60},{"date":"2025-08-11","symbol":"META","close":764.73,"value":765.39125,"ma_window":60},{"date":"2025-08-12","symbol":"META","close":788.82,"value":767.9944444444,"ma_window":60},{"date":"2025-08-13","symbol":"META","close":778.92,"value":769.087,"ma_window":60},{"date":"2025-08-14","symbol":"META","close":780.97,"value":770.1672727273,"ma_window":60},{"date":"2025-08-15","symbol":"META","close":784.06,"value":771.325,"ma_window":60},{"date":"2025-08-18","symbol":"META","close":766.23,"value":770.9330769231,"ma_window":60},{"date":"2025-08-19","symbol":"META","close":750.36,"value":769.4635714286,"ma_window":60},{"date":"2025-08-20","symbol":"META","close":746.61,"value":767.94,"ma_window":60},{"date":"2025-08-21","symbol":"META","close":738,"value":766.06875,"ma_window":60},{"date":"2025-08-22","symbol":"META","close":753.67,"value":765.3394117647,"ma_window":60},{"date":"2025-08-25","symbol":"META","close":752.18,"value":764.6083333333,"ma_window":60},{"date":"2025-08-26","symbol":"META","close":752.98,"value":763.9963157895,"ma_window":60},{"date":"2025-08-27","symbol":"META","close":746.27,"value":763.11,"ma_window":60},{"date":"2025-08-28","symbol":"META","close":749.99,"value":762.4852380952,"ma_window":60},{"date":"2025-08-29","symbol":"META","close":737.6,"value":761.3540909091,"ma_window":60},{"date":"2025-09-02","symbol":"META","close":734.02,"value":760.1656521739,"ma_window":60},{"date":"2025-09-03","symbol":"META","close":735.95,"value":759.1566666667,"ma_window":60},{"date":"2025-09-04","symbol":"META","close":747.54,"value":758.692,"ma_window":60},{"date":"2025-09-05","symbol":"META","close":751.33,"value":758.4088461538,"ma_window":60},{"date":"2025-09-08","symbol":"META","close":751.18,"value":758.1411111111,"ma_window":60},{"date":"2025-09-09","symbol":"META","close":764.56,"value":758.3703571429,"ma_window":60},{"date":"2025-09-10","symbol":"META","close":750.86,"value":758.1113793103,"ma_window":60},{"date":"2025-09-11","symbol":"META","close":749.78,"value":757.8336666667,"ma_window":60},{"date":"2025-09-12","symbol":"META","close":754.47,"value":757.7251612903,"ma_window":60},{"date":"2025-09-15","symbol":"META","close":763.56,"value":757.9075,"ma_window":60},{"date":"2025-09-16","symbol":"META","close":777.84,"value":758.5115151515,"ma_window":60},{"date":"2025-09-17","symbol":"META","close":774.57,"value":758.9838235294,"ma_window":60},{"date":"2025-09-18","symbol":"META","close":779.09,"value":759.5582857143,"ma_window":60},{"date":"2025-09-19","symbol":"META","close":777.22,"value":760.0488888889,"ma_window":60},{"date":"2025-09-22","symbol":"META","close":764.54,"value":760.1702702703,"ma_window":60},{"date":"2025-09-23","symbol":"META","close":754.78,"value":760.0284210526,"ma_window":60},{"date":"2025-09-24","symbol":"META","close":760.04,"value":760.0287179487,"ma_window":60},{"date":"2025-09-25","symbol":"META","close":748.3,"value":759.7355,"ma_window":60},{"date":"2025-09-26","symbol":"META","close":743.14,"value":759.3307317073,"ma_window":60},{"date":"2025-09-29","symbol":"META","close":742.79,"value":758.9369047619,"ma_window":60},{"date":"2025-09-30","symbol":"META","close":733.78,"value":758.3518604651,"ma_window":60},{"date":"2025-10-01","symbol":"META","close":716.76,"value":757.4065909091,"ma_window":60},{"date":"2025-10-02","symbol":"META","close":726.46,"value":756.7188888889,"ma_window":60},{"date":"2025-10-03","symbol":"META","close":709.98,"value":755.702826087,"ma_window":60},{"date":"2025-10-06","symbol":"META","close":715.08,"value":754.8385106383,"ma_window":60},{"date":"2025-10-07","symbol":"META","close":712.5,"value":753.9564583333,"ma_window":60},{"date":"2025-10-08","symbol":"META","close":717.26,"value":753.2075510204,"ma_window":60},{"date":"2025-10-09","symbol":"META","close":732.91,"value":752.8016,"ma_window":60},{"date":"2025-10-10","symbol":"META","close":704.73,"value":751.8590196078,"ma_window":60},{"date":"2025-10-13","symbol":"META","close":715.12,"value":751.1525,"ma_window":60},{"date":"2025-10-14","symbol":"META","close":708.07,"value":750.3396226415,"ma_window":60},{"date":"2025-10-15","symbol":"META","close":716.97,"value":749.7216666667,"ma_window":60},{"date":"2025-10-16","symbol":"META","close":711.49,"value":749.0265454545,"ma_window":60},{"date":"2025-10-17","symbol":"META","close":716.34,"value":748.4428571429,"ma_window":60},{"date":"2025-10-20","symbol":"META","close":731.57,"value":748.1468421053,"ma_window":60},{"date":"2025-10-21","symbol":"META","close":732.67,"value":747.88,"ma_window":60},{"date":"2025-10-22","symbol":"META","close":732.81,"value":747.6245762712,"ma_window":60},{"date":"2025-10-23","symbol":"META","close":733.4,"value":747.3875,"ma_window":60},{"date":"2025-10-24","symbol":"META","close":737.76,"value":746.812,"ma_window":60},{"date":"2025-10-27","symbol":"META","close":750.21,"value":746.834,"ma_window":60},{"date":"2025-10-28","symbol":"META","close":750.83,"value":746.4276666667,"ma_window":60},{"date":"2025-10-29","symbol":"META","close":751.06,"value":746.24,"ma_window":60},{"date":"2025-10-30","symbol":"META","close":665.93,"value":744.4915,"ma_window":60},{"date":"2025-10-31","symbol":"META","close":647.82,"value":742.6101666667,"ma_window":60},{"date":"2025-11-03","symbol":"META","close":637.19,"value":740.4275,"ma_window":60},{"date":"2025-11-04","symbol":"META","close":626.81,"value":738.1288333333,"ma_window":60},{"date":"2025-11-05","symbol":"META","close":635.43,"value":735.5723333333,"ma_window":60},{"date":"2025-11-06","symbol":"META","close":618.44,"value":732.8976666667,"ma_window":60},{"date":"2025-11-07","symbol":"META","close":621.2,"value":730.2348333333,"ma_window":60},{"date":"2025-11-10","symbol":"META","close":631.25,"value":727.688,"ma_window":60},{"date":"2025-11-11","symbol":"META","close":626.57,"value":725.3603333333,"ma_window":60},{"date":"2025-11-12","symbol":"META","close":608.51,"value":722.9961666667,"ma_window":60},{"date":"2025-11-13","symbol":"META","close":609.39,"value":720.7091666667,"ma_window":60},{"date":"2025-11-14","symbol":"META","close":608.96,"value":718.5585,"ma_window":60},{"date":"2025-11-17","symbol":"META","close":601.52,"value":716.0226666667,"ma_window":60},{"date":"2025-11-18","symbol":"META","close":597.2,"value":713.4396666667,"ma_window":60},{"date":"2025-11-19","symbol":"META","close":589.84,"value":710.7206666667,"ma_window":60},{"date":"2025-11-20","symbol":"META","close":588.67,"value":708.094,"ma_window":60},{"date":"2025-11-21","symbol":"META","close":593.77,"value":705.4903333333,"ma_window":60},{"date":"2025-11-24","symbol":"META","close":612.55,"value":703.4061666667,"ma_window":60},{"date":"2025-11-25","symbol":"META","close":635.7,"value":701.7675,"ma_window":60},{"date":"2025-11-26","symbol":"META","close":633.09,"value":700.0531666667,"ma_window":60},{"date":"2025-11-28","symbol":"META","close":647.42,"value":698.3845,"ma_window":60},{"date":"2025-12-01","symbol":"META","close":640.35,"value":696.5348333333,"ma_window":60},{"date":"2025-12-02","symbol":"META","close":646.57,"value":694.7913333333,"ma_window":60},{"date":"2025-12-03","symbol":"META","close":639.08,"value":692.7,"ma_window":60},{"date":"2025-12-04","symbol":"META","close":660.99,"value":691.2021666667,"ma_window":60},{"date":"2025-12-05","symbol":"META","close":672.87,"value":689.9203333333,"ma_window":60},{"date":"2025-12-08","symbol":"META","close":666.26,"value":688.4501666667,"ma_window":60},{"date":"2025-12-09","symbol":"META","close":656.42,"value":686.6645,"ma_window":60},{"date":"2025-12-10","symbol":"META","close":649.6,"value":684.5271666667,"ma_window":60},{"date":"2025-12-11","symbol":"META","close":652.18,"value":682.4873333333,"ma_window":60},{"date":"2025-12-12","symbol":"META","close":643.71,"value":680.231,"ma_window":60},{"date":"2025-12-15","symbol":"META","close":647.51,"value":678.0691666667,"ma_window":60},{"date":"2025-12-16","symbol":"META","close":657.15,"value":676.2793333333,"ma_window":60},{"date":"2025-12-17","symbol":"META","close":649.5,"value":674.5246666667,"ma_window":60},{"date":"2025-12-18","symbol":"META","close":664.45,"value":672.9315,"ma_window":60},{"date":"2025-12-19","symbol":"META","close":658.77,"value":671.4393333333,"ma_window":60},{"date":"2025-12-22","symbol":"META","close":661.5,"value":670.0786666667,"ma_window":60},{"date":"2025-12-23","symbol":"META","close":664.94,"value":668.7811666667,"ma_window":60},{"date":"2025-12-24","symbol":"META","close":667.55,"value":667.6773333333,"ma_window":60},{"date":"2025-12-26","symbol":"META","close":663.29,"value":666.7861666667,"ma_window":60},{"date":"2025-12-29","symbol":"META","close":658.69,"value":665.6566666667,"ma_window":60},{"date":"2025-12-30","symbol":"META","close":665.95,"value":664.9228333333,"ma_window":60},{"date":"2025-12-31","symbol":"META","close":660.09,"value":664.0063333333,"ma_window":60},{"date":"2026-01-02","symbol":"META","close":650.41,"value":662.9715,"ma_window":60},{"date":"2026-01-05","symbol":"META","close":658.79,"value":661.997,"ma_window":60},{"date":"2026-01-06","symbol":"META","close":660.62,"value":660.7921666667,"ma_window":60},{"date":"2026-01-07","symbol":"META","close":648.69,"value":659.8581666667,"ma_window":60},{"date":"2026-01-08","symbol":"META","close":646.06,"value":658.7071666667,"ma_window":60},{"date":"2026-01-09","symbol":"META","close":653.06,"value":657.7903333333,"ma_window":60},{"date":"2026-01-12","symbol":"META","close":641.97,"value":656.5403333333,"ma_window":60},{"date":"2026-01-13","symbol":"META","close":631.09,"value":655.2003333333,"ma_window":60},{"date":"2026-01-14","symbol":"META","close":615.52,"value":653.52,"ma_window":60},{"date":"2026-01-15","symbol":"META","close":620.8,"value":651.6738333333,"ma_window":60},{"date":"2026-01-16","symbol":"META","close":620.25,"value":649.8001666667,"ma_window":60},{"date":"2026-01-20","symbol":"META","close":604.12,"value":647.6553333333,"ma_window":60},{"date":"2026-01-21","symbol":"META","close":612.96,"value":645.648,"ma_window":60},{"date":"2026-01-22","symbol":"META","close":647.63,"value":644.1458333333,"ma_window":60},{"date":"2026-01-23","symbol":"META","close":658.76,"value":642.6216666667,"ma_window":60},{"date":"2026-01-26","symbol":"META","close":672.36,"value":641.3138333333,"ma_window":60},{"date":"2025-07-31","symbol":"MSFT","close":531.63,"value":531.63,"ma_window":60},{"date":"2025-08-01","symbol":"MSFT","close":522.27,"value":526.95,"ma_window":60},{"date":"2025-08-04","symbol":"MSFT","close":533.76,"value":529.22,"ma_window":60},{"date":"2025-08-05","symbol":"MSFT","close":525.9,"value":528.39,"ma_window":60},{"date":"2025-08-06","symbol":"MSFT","close":523.1,"value":527.332,"ma_window":60},{"date":"2025-08-07","symbol":"MSFT","close":519.01,"value":525.945,"ma_window":60},{"date":"2025-08-08","symbol":"MSFT","close":520.21,"value":525.1257142857,"ma_window":60},{"date":"2025-08-11","symbol":"MSFT","close":519.94,"value":524.4775,"ma_window":60},{"date":"2025-08-12","symbol":"MSFT","close":527.38,"value":524.8,"ma_window":60},{"date":"2025-08-13","symbol":"MSFT","close":518.75,"value":524.195,"ma_window":60},{"date":"2025-08-14","symbol":"MSFT","close":520.65,"value":523.8727272727,"ma_window":60},{"date":"2025-08-15","symbol":"MSFT","close":518.35,"value":523.4125,"ma_window":60},{"date":"2025-08-18","symbol":"MSFT","close":515.29,"value":522.7876923077,"ma_window":60},{"date":"2025-08-19","symbol":"MSFT","close":507.98,"value":521.73,"ma_window":60},{"date":"2025-08-20","symbol":"MSFT","close":503.95,"value":520.5446666667,"ma_window":60},{"date":"2025-08-21","symbol":"MSFT","close":503.3,"value":519.466875,"ma_window":60},{"date":"2025-08-22","symbol":"MSFT","close":506.28,"value":518.6911764706,"ma_window":60},{"date":"2025-08-25","symbol":"MSFT","close":503.32,"value":517.8372222222,"ma_window":60},{"date":"2025-08-26","symbol":"MSFT","close":501.1,"value":516.9563157895,"ma_window":60},{"date":"2025-08-27","symbol":"MSFT","close":505.79,"value":516.398,"ma_window":60},{"date":"2025-08-28","symbol":"MSFT","close":508.69,"value":516.030952381,"ma_window":60},{"date":"2025-08-29","symbol":"MSFT","close":505.74,"value":515.5631818182,"ma_window":60},{"date":"2025-09-02","symbol":"MSFT","close":504.18,"value":515.0682608696,"ma_window":60},{"date":"2025-09-03","symbol":"MSFT","close":504.41,"value":514.6241666667,"ma_window":60},{"date":"2025-09-04","symbol":"MSFT","close":507.02,"value":514.32,"ma_window":60},{"date":"2025-09-05","symbol":"MSFT","close":494.08,"value":513.5415384615,"ma_window":60},{"date":"2025-09-08","symbol":"MSFT","close":497.27,"value":512.9388888889,"ma_window":60},{"date":"2025-09-09","symbol":"MSFT","close":497.48,"value":512.3867857143,"ma_window":60},{"date":"2025-09-10","symbol":"MSFT","close":499.44,"value":511.9403448276,"ma_window":60},{"date":"2025-09-11","symbol":"MSFT","close":500.07,"value":511.5446666667,"ma_window":60},{"date":"2025-09-12","symbol":"MSFT","close":508.95,"value":511.4609677419,"ma_window":60},{"date":"2025-09-15","symbol":"MSFT","close":514.4,"value":511.5528125,"ma_window":60},{"date":"2025-09-16","symbol":"MSFT","close":508.09,"value":511.4478787879,"ma_window":60},{"date":"2025-09-17","symbol":"MSFT","close":509.07,"value":511.3779411765,"ma_window":60},{"date":"2025-09-18","symbol":"MSFT","close":507.5,"value":511.2671428571,"ma_window":60},{"date":"2025-09-19","symbol":"MSFT","close":516.96,"value":511.4252777778,"ma_window":60},{"date":"2025-09-22","symbol":"MSFT","close":513.49,"value":511.4810810811,"ma_window":60},{"date":"2025-09-23","symbol":"MSFT","close":508.28,"value":511.3968421053,"ma_window":60},{"date":"2025-09-24","symbol":"MSFT","close":509.2,"value":511.3405128205,"ma_window":60},{"date":"2025-09-25","symbol":"MSFT","close":506.08,"value":511.209,"ma_window":60},{"date":"2025-09-26","symbol":"MSFT","close":510.5,"value":511.1917073171,"ma_window":60},{"date":"2025-09-29","symbol":"MSFT","close":513.64,"value":511.25,"ma_window":60},{"date":"2025-09-30","symbol":"MSFT","close":516.98,"value":511.383255814,"ma_window":60},{"date":"2025-10-01","symbol":"MSFT","close":518.74,"value":511.5504545455,"ma_window":60},{"date":"2025-10-02","symbol":"MSFT","close":514.78,"value":511.6222222222,"ma_window":60},{"date":"2025-10-03","symbol":"MSFT","close":516.38,"value":511.7256521739,"ma_window":60},{"date":"2025-10-06","symbol":"MSFT","close":527.58,"value":512.0629787234,"ma_window":60},{"date":"2025-10-07","symbol":"MSFT","close":523,"value":512.2908333333,"ma_window":60},{"date":"2025-10-08","symbol":"MSFT","close":523.87,"value":512.5271428571,"ma_window":60},{"date":"2025-10-09","symbol":"MSFT","close":521.42,"value":512.705,"ma_window":60},{"date":"2025-10-10","symbol":"MSFT","close":510.01,"value":512.6521568627,"ma_window":60},{"date":"2025-10-13","symbol":"MSFT","close":513.09,"value":512.6605769231,"ma_window":60},{"date":"2025-10-14","symbol":"MSFT","close":512.61,"value":512.6596226415,"ma_window":60},{"date":"2025-10-15","symbol":"MSFT","close":512.47,"value":512.6561111111,"ma_window":60},{"date":"2025-10-16","symbol":"MSFT","close":510.65,"value":512.6196363636,"ma_window":60},{"date":"2025-10-17","symbol":"MSFT","close":512.62,"value":512.6196428571,"ma_window":60},{"date":"2025-10-20","symbol":"MSFT","close":515.82,"value":512.6757894737,"ma_window":60},{"date":"2025-10-21","symbol":"MSFT","close":516.69,"value":512.745,"ma_window":60},{"date":"2025-10-22","symbol":"MSFT","close":519.57,"value":512.8606779661,"ma_window":60},{"date":"2025-10-23","symbol":"MSFT","close":519.59,"value":512.9728333333,"ma_window":60},{"date":"2025-10-24","symbol":"MSFT","close":522.63,"value":512.8228333333,"ma_window":60},{"date":"2025-10-27","symbol":"MSFT","close":530.53,"value":512.9605,"ma_window":60},{"date":"2025-10-28","symbol":"MSFT","close":541.06,"value":513.0821666667,"ma_window":60},{"date":"2025-10-29","symbol":"MSFT","close":540.54,"value":513.3261666667,"ma_window":60},{"date":"2025-10-30","symbol":"MSFT","close":524.78,"value":513.3541666667,"ma_window":60},{"date":"2025-10-31","symbol":"MSFT","close":516.84,"value":513.318,"ma_window":60},{"date":"2025-11-03","symbol":"MSFT","close":516.06,"value":513.2488333333,"ma_window":60},{"date":"2025-11-04","symbol":"MSFT","close":513.37,"value":513.1393333333,"ma_window":60},{"date":"2025-11-05","symbol":"MSFT","close":506.21,"value":512.7865,"ma_window":60},{"date":"2025-11-06","symbol":"MSFT","close":496.17,"value":512.4101666667,"ma_window":60},{"date":"2025-11-07","symbol":"MSFT","close":495.89,"value":511.9975,"ma_window":60},{"date":"2025-11-10","symbol":"MSFT","close":505.05,"value":511.7758333333,"ma_window":60},{"date":"2025-11-11","symbol":"MSFT","close":507.73,"value":511.6498333333,"ma_window":60},{"date":"2025-11-12","symbol":"MSFT","close":510.19,"value":511.6866666667,"ma_window":60},{"date":"2025-11-13","symbol":"MSFT","close":502.35,"value":511.66,"ma_window":60},{"date":"2025-11-14","symbol":"MSFT","close":509.23,"value":511.7588333333,"ma_window":60},{"date":"2025-11-17","symbol":"MSFT","close":506.54,"value":511.7631666667,"ma_window":60},{"date":"2025-11-18","symbol":"MSFT","close":492.87,"value":511.589,"ma_window":60},{"date":"2025-11-19","symbol":"MSFT","close":486.21,"value":511.3408333333,"ma_window":60},{"date":"2025-11-20","symbol":"MSFT","close":478.43,"value":510.8848333333,"ma_window":60},{"date":"2025-11-21","symbol":"MSFT","close":472.12,"value":510.2753333333,"ma_window":60},{"date":"2025-11-24","symbol":"MSFT","close":474,"value":509.7463333333,"ma_window":60},{"date":"2025-11-25","symbol":"MSFT","close":476.99,"value":509.2931666667,"ma_window":60},{"date":"2025-11-26","symbol":"MSFT","close":485.5,"value":508.978,"ma_window":60},{"date":"2025-11-28","symbol":"MSFT","close":492.01,"value":508.7278333333,"ma_window":60},{"date":"2025-12-01","symbol":"MSFT","close":486.74,"value":508.6055,"ma_window":60},{"date":"2025-12-02","symbol":"MSFT","close":490,"value":508.4843333333,"ma_window":60},{"date":"2025-12-03","symbol":"MSFT","close":477.73,"value":508.1551666667,"ma_window":60},{"date":"2025-12-04","symbol":"MSFT","close":480.84,"value":507.8451666667,"ma_window":60},{"date":"2025-12-05","symbol":"MSFT","close":483.16,"value":507.5633333333,"ma_window":60},{"date":"2025-12-08","symbol":"MSFT","close":491.02,"value":507.2645,"ma_window":60},{"date":"2025-12-09","symbol":"MSFT","close":492.02,"value":506.8915,"ma_window":60},{"date":"2025-12-10","symbol":"MSFT","close":478.56,"value":506.3993333333,"ma_window":60},{"date":"2025-12-11","symbol":"MSFT","close":483.47,"value":505.9726666667,"ma_window":60},{"date":"2025-12-12","symbol":"MSFT","close":478.53,"value":505.4898333333,"ma_window":60},{"date":"2025-12-15","symbol":"MSFT","close":474.82,"value":504.7875,"ma_window":60},{"date":"2025-12-16","symbol":"MSFT","close":476.39,"value":504.1691666667,"ma_window":60},{"date":"2025-12-17","symbol":"MSFT","close":476.12,"value":503.6331666667,"ma_window":60},{"date":"2025-12-18","symbol":"MSFT","close":483.98,"value":503.2128333333,"ma_window":60},{"date":"2025-12-19","symbol":"MSFT","close":485.92,"value":502.8768333333,"ma_window":60},{"date":"2025-12-22","symbol":"MSFT","close":484.92,"value":502.4505,"ma_window":60},{"date":"2025-12-23","symbol":"MSFT","close":486.85,"value":502.004,"ma_window":60},{"date":"2025-12-24","symbol":"MSFT","close":488.02,"value":501.5213333333,"ma_window":60},{"date":"2025-12-26","symbol":"MSFT","close":487.71,"value":501.0041666667,"ma_window":60},{"date":"2025-12-29","symbol":"MSFT","close":487.1,"value":500.5428333333,"ma_window":60},{"date":"2025-12-30","symbol":"MSFT","close":487.48,"value":500.0611666667,"ma_window":60},{"date":"2025-12-31","symbol":"MSFT","close":483.62,"value":499.3285,"ma_window":60},{"date":"2026-01-02","symbol":"MSFT","close":472.94,"value":498.4941666667,"ma_window":60},{"date":"2026-01-05","symbol":"MSFT","close":472.85,"value":497.6438333333,"ma_window":60},{"date":"2026-01-06","symbol":"MSFT","close":478.51,"value":496.9286666667,"ma_window":60},{"date":"2026-01-07","symbol":"MSFT","close":483.47,"value":496.4863333333,"ma_window":60},{"date":"2026-01-08","symbol":"MSFT","close":478.11,"value":495.9033333333,"ma_window":60},{"date":"2026-01-09","symbol":"MSFT","close":479.28,"value":495.3478333333,"ma_window":60},{"date":"2026-01-12","symbol":"MSFT","close":477.18,"value":494.7596666667,"ma_window":60},{"date":"2026-01-13","symbol":"MSFT","close":470.67,"value":494.0933333333,"ma_window":60},{"date":"2026-01-14","symbol":"MSFT","close":459.38,"value":493.206,"ma_window":60},{"date":"2026-01-15","symbol":"MSFT","close":456.66,"value":492.22,"ma_window":60},{"date":"2026-01-16","symbol":"MSFT","close":459.86,"value":491.2728333333,"ma_window":60},{"date":"2026-01-20","symbol":"MSFT","close":454.52,"value":490.1886666667,"ma_window":60},{"date":"2026-01-21","symbol":"MSFT","close":444.11,"value":488.9306666667,"ma_window":60},{"date":"2026-01-22","symbol":"MSFT","close":451.14,"value":487.7391666667,"ma_window":60},{"date":"2026-01-23","symbol":"MSFT","close":465.95,"value":486.6628333333,"ma_window":60},{"date":"2026-01-26","symbol":"MSFT","close":470.28,"value":485.4831666667,"ma_window":60},{"date":"2025-07-31","symbol":"NVDA","close":177.85,"value":177.85,"ma_window":60},{"date":"2025-08-01","symbol":"NVDA","close":173.7,"value":175.775,"ma_window":60},{"date":"2025-08-04","symbol":"NVDA","close":179.98,"value":177.1766666667,"ma_window":60},{"date":"2025-08-05","symbol":"NVDA","close":178.24,"value":177.4425,"ma_window":60},{"date":"2025-08-06","symbol":"NVDA","close":179.4,"value":177.834,"ma_window":60},{"date":"2025-08-07","symbol":"NVDA","close":180.75,"value":178.32,"ma_window":60},{"date":"2025-08-08","symbol":"NVDA","close":182.68,"value":178.9428571429,"ma_window":60},{"date":"2025-08-11","symbol":"NVDA","close":182.04,"value":179.33,"ma_window":60},{"date":"2025-08-12","symbol":"NVDA","close":183.14,"value":179.7533333333,"ma_window":60},{"date":"2025-08-13","symbol":"NVDA","close":181.57,"value":179.935,"ma_window":60},{"date":"2025-08-14","symbol":"NVDA","close":182,"value":180.1227272727,"ma_window":60},{"date":"2025-08-15","symbol":"NVDA","close":180.43,"value":180.1483333333,"ma_window":60},{"date":"2025-08-18","symbol":"NVDA","close":181.99,"value":180.29,"ma_window":60},{"date":"2025-08-19","symbol":"NVDA","close":175.62,"value":179.9564285714,"ma_window":60},{"date":"2025-08-20","symbol":"NVDA","close":175.38,"value":179.6513333333,"ma_window":60},{"date":"2025-08-21","symbol":"NVDA","close":174.96,"value":179.358125,"ma_window":60},{"date":"2025-08-22","symbol":"NVDA","close":177.97,"value":179.2764705882,"ma_window":60},{"date":"2025-08-25","symbol":"NVDA","close":179.79,"value":179.305,"ma_window":60},{"date":"2025-08-26","symbol":"NVDA","close":181.75,"value":179.4336842105,"ma_window":60},{"date":"2025-08-27","symbol":"NVDA","close":181.58,"value":179.541,"ma_window":60},{"date":"2025-08-28","symbol":"NVDA","close":180.15,"value":179.57,"ma_window":60},{"date":"2025-08-29","symbol":"NVDA","close":174.16,"value":179.3240909091,"ma_window":60},{"date":"2025-09-02","symbol":"NVDA","close":170.76,"value":178.9517391304,"ma_window":60},{"date":"2025-09-03","symbol":"NVDA","close":170.6,"value":178.60375,"ma_window":60},{"date":"2025-09-04","symbol":"NVDA","close":171.64,"value":178.3252,"ma_window":60},{"date":"2025-09-05","symbol":"NVDA","close":167,"value":177.8896153846,"ma_window":60},{"date":"2025-09-08","symbol":"NVDA","close":168.29,"value":177.5340740741,"ma_window":60},{"date":"2025-09-09","symbol":"NVDA","close":170.74,"value":177.2914285714,"ma_window":60},{"date":"2025-09-10","symbol":"NVDA","close":177.31,"value":177.2920689655,"ma_window":60},{"date":"2025-09-11","symbol":"NVDA","close":177.16,"value":177.2876666667,"ma_window":60},{"date":"2025-09-12","symbol":"NVDA","close":177.81,"value":177.304516129,"ma_window":60},{"date":"2025-09-15","symbol":"NVDA","close":177.74,"value":177.318125,"ma_window":60},{"date":"2025-09-16","symbol":"NVDA","close":174.87,"value":177.2439393939,"ma_window":60},{"date":"2025-09-17","symbol":"NVDA","close":170.28,"value":177.0391176471,"ma_window":60},{"date":"2025-09-18","symbol":"NVDA","close":176.23,"value":177.016,"ma_window":60},{"date":"2025-09-19","symbol":"NVDA","close":176.66,"value":177.0061111111,"ma_window":60},{"date":"2025-09-22","symbol":"NVDA","close":183.6,"value":177.1843243243,"ma_window":60},{"date":"2025-09-23","symbol":"NVDA","close":178.42,"value":177.2168421053,"ma_window":60},{"date":"2025-09-24","symbol":"NVDA","close":176.96,"value":177.2102564103,"ma_window":60},{"date":"2025-09-25","symbol":"NVDA","close":177.68,"value":177.222,"ma_window":60},{"date":"2025-09-26","symbol":"NVDA","close":178.18,"value":177.2453658537,"ma_window":60},{"date":"2025-09-29","symbol":"NVDA","close":181.84,"value":177.3547619048,"ma_window":60},{"date":"2025-09-30","symbol":"NVDA","close":186.57,"value":177.5690697674,"ma_window":60},{"date":"2025-10-01","symbol":"NVDA","close":187.23,"value":177.7886363636,"ma_window":60},{"date":"2025-10-02","symbol":"NVDA","close":188.88,"value":178.0351111111,"ma_window":60},{"date":"2025-10-03","symbol":"NVDA","close":187.61,"value":178.2432608696,"ma_window":60},{"date":"2025-10-06","symbol":"NVDA","close":185.53,"value":178.3982978723,"ma_window":60},{"date":"2025-10-07","symbol":"NVDA","close":185.03,"value":178.5364583333,"ma_window":60},{"date":"2025-10-08","symbol":"NVDA","close":189.1,"value":178.7520408163,"ma_window":60},{"date":"2025-10-09","symbol":"NVDA","close":192.56,"value":179.0282,"ma_window":60},{"date":"2025-10-10","symbol":"NVDA","close":183.15,"value":179.1090196078,"ma_window":60},{"date":"2025-10-13","symbol":"NVDA","close":188.31,"value":179.2859615385,"ma_window":60},{"date":"2025-10-14","symbol":"NVDA","close":180.02,"value":179.2998113208,"ma_window":60},{"date":"2025-10-15","symbol":"NVDA","close":179.82,"value":179.3094444444,"ma_window":60},{"date":"2025-10-16","symbol":"NVDA","close":181.8,"value":179.3547272727,"ma_window":60},{"date":"2025-10-17","symbol":"NVDA","close":183.21,"value":179.4235714286,"ma_window":60},{"date":"2025-10-20","symbol":"NVDA","close":182.63,"value":179.4798245614,"ma_window":60},{"date":"2025-10-21","symbol":"NVDA","close":181.15,"value":179.5086206897,"ma_window":60},{"date":"2025-10-22","symbol":"NVDA","close":180.27,"value":179.5215254237,"ma_window":60},{"date":"2025-10-23","symbol":"NVDA","close":182.15,"value":179.5653333333,"ma_window":60},{"date":"2025-10-24","symbol":"NVDA","close":186.25,"value":179.7053333333,"ma_window":60},{"date":"2025-10-27","symbol":"NVDA","close":191.48,"value":180.0016666667,"ma_window":60},{"date":"2025-10-28","symbol":"NVDA","close":201.02,"value":180.3523333333,"ma_window":60},{"date":"2025-10-29","symbol":"NVDA","close":207.03,"value":180.8321666667,"ma_window":60},{"date":"2025-10-30","symbol":"NVDA","close":202.88,"value":181.2235,"ma_window":60},{"date":"2025-10-31","symbol":"NVDA","close":202.48,"value":181.5856666667,"ma_window":60},{"date":"2025-11-03","symbol":"NVDA","close":206.87,"value":181.9888333333,"ma_window":60},{"date":"2025-11-04","symbol":"NVDA","close":198.68,"value":182.2661666667,"ma_window":60},{"date":"2025-11-05","symbol":"NVDA","close":195.2,"value":182.4671666667,"ma_window":60},{"date":"2025-11-06","symbol":"NVDA","close":188.07,"value":182.5755,"ma_window":60},{"date":"2025-11-07","symbol":"NVDA","close":188.14,"value":182.6778333333,"ma_window":60},{"date":"2025-11-10","symbol":"NVDA","close":199.04,"value":182.988,"ma_window":60},{"date":"2025-11-11","symbol":"NVDA","close":193.15,"value":183.174,"ma_window":60},{"date":"2025-11-12","symbol":"NVDA","close":193.79,"value":183.4768333333,"ma_window":60},{"date":"2025-11-13","symbol":"NVDA","close":186.85,"value":183.668,"ma_window":60},{"date":"2025-11-14","symbol":"NVDA","close":190.16,"value":183.9213333333,"ma_window":60},{"date":"2025-11-17","symbol":"NVDA","close":186.59,"value":184.065,"ma_window":60},{"date":"2025-11-18","symbol":"NVDA","close":181.35,"value":184.091,"ma_window":60},{"date":"2025-11-19","symbol":"NVDA","close":186.51,"value":184.1703333333,"ma_window":60},{"date":"2025-11-20","symbol":"NVDA","close":180.63,"value":184.1545,"ma_window":60},{"date":"2025-11-21","symbol":"NVDA","close":178.87,"value":184.1331666667,"ma_window":60},{"date":"2025-11-24","symbol":"NVDA","close":182.54,"value":184.2728333333,"ma_window":60},{"date":"2025-11-25","symbol":"NVDA","close":177.81,"value":184.3903333333,"ma_window":60},{"date":"2025-11-26","symbol":"NVDA","close":180.25,"value":184.5511666667,"ma_window":60},{"date":"2025-11-28","symbol":"NVDA","close":176.99,"value":184.6403333333,"ma_window":60},{"date":"2025-12-01","symbol":"NVDA","close":179.91,"value":184.8555,"ma_window":60},{"date":"2025-12-02","symbol":"NVDA","close":181.45,"value":185.0748333333,"ma_window":60},{"date":"2025-12-03","symbol":"NVDA","close":179.58,"value":185.2221666667,"ma_window":60},{"date":"2025-12-04","symbol":"NVDA","close":183.38,"value":185.3233333333,"ma_window":60},{"date":"2025-12-05","symbol":"NVDA","close":182.41,"value":185.4108333333,"ma_window":60},{"date":"2025-12-08","symbol":"NVDA","close":185.55,"value":185.5398333333,"ma_window":60},{"date":"2025-12-09","symbol":"NVDA","close":184.97,"value":185.6603333333,"ma_window":60},{"date":"2025-12-10","symbol":"NVDA","close":183.78,"value":185.8088333333,"ma_window":60},{"date":"2025-12-11","symbol":"NVDA","close":180.93,"value":185.9863333333,"ma_window":60},{"date":"2025-12-12","symbol":"NVDA","close":175.02,"value":185.9661666667,"ma_window":60},{"date":"2025-12-15","symbol":"NVDA","close":176.29,"value":185.96,"ma_window":60},{"date":"2025-12-16","symbol":"NVDA","close":177.72,"value":185.862,"ma_window":60},{"date":"2025-12-17","symbol":"NVDA","close":170.94,"value":185.7373333333,"ma_window":60},{"date":"2025-12-18","symbol":"NVDA","close":174.14,"value":185.6903333333,"ma_window":60},{"date":"2025-12-19","symbol":"NVDA","close":180.99,"value":185.7455,"ma_window":60},{"date":"2025-12-22","symbol":"NVDA","close":183.69,"value":185.8373333333,"ma_window":60},{"date":"2025-12-23","symbol":"NVDA","close":189.21,"value":185.9601666667,"ma_window":60},{"date":"2025-12-24","symbol":"NVDA","close":188.61,"value":185.9941666667,"ma_window":60},{"date":"2025-12-26","symbol":"NVDA","close":190.53,"value":186.0491666667,"ma_window":60},{"date":"2025-12-29","symbol":"NVDA","close":188.22,"value":186.0381666667,"ma_window":60},{"date":"2025-12-30","symbol":"NVDA","close":187.54,"value":186.037,"ma_window":60},{"date":"2025-12-31","symbol":"NVDA","close":186.5,"value":186.0531666667,"ma_window":60},{"date":"2026-01-02","symbol":"NVDA","close":188.85,"value":186.1168333333,"ma_window":60},{"date":"2026-01-05","symbol":"NVDA","close":188.12,"value":186.1005,"ma_window":60},{"date":"2026-01-06","symbol":"NVDA","close":187.24,"value":186.0118333333,"ma_window":60},{"date":"2026-01-07","symbol":"NVDA","close":189.11,"value":186.1111666667,"ma_window":60},{"date":"2026-01-08","symbol":"NVDA","close":185.04,"value":186.0566666667,"ma_window":60},{"date":"2026-01-09","symbol":"NVDA","close":184.86,"value":186.1373333333,"ma_window":60},{"date":"2026-01-12","symbol":"NVDA","close":184.94,"value":186.2226666667,"ma_window":60},{"date":"2026-01-13","symbol":"NVDA","close":185.81,"value":186.2895,"ma_window":60},{"date":"2026-01-14","symbol":"NVDA","close":183.14,"value":186.2883333333,"ma_window":60},{"date":"2026-01-15","symbol":"NVDA","close":187.05,"value":186.362,"ma_window":60},{"date":"2026-01-16","symbol":"NVDA","close":186.23,"value":186.4466666667,"ma_window":60},{"date":"2026-01-20","symbol":"NVDA","close":178.07,"value":186.41,"ma_window":60},{"date":"2026-01-21","symbol":"NVDA","close":183.32,"value":186.4295,"ma_window":60},{"date":"2026-01-22","symbol":"NVDA","close":184.84,"value":186.406,"ma_window":60},{"date":"2026-01-23","symbol":"NVDA","close":187.67,"value":186.3425,"ma_window":60},{"date":"2026-01-26","symbol":"NVDA","close":186.47,"value":186.1,"ma_window":60}],"metadata":{"date":{"type":"date","semanticType":"Date"},"symbol":{"type":"string","semanticType":"String"},"close":{"type":"number","semanticType":"Number"},"value":{"type":"number","semanticType":"Number"},"ma_window":{"type":"integer","semanticType":"Duration"}},"derive":{"code":"\nimport pandas as pd\nimport collections\nimport numpy as np\n\ndef transform_data(df_history: pd.DataFrame) -> pd.DataFrame:\n # Work on a copy and keep only needed columns if present\n base_cols = [c for c in [\"date\", \"symbol\", \"close\"] if c in df_history.columns]\n df = df_history[base_cols].copy()\n\n # Normalize date to string YYYY-MM-DD\n df[\"date\"] = pd.to_datetime(df[\"date\"]).dt.strftime(\"%Y-%m-%d\")\n\n # Sort for proper rolling computation\n df = df.sort_values([\"symbol\", \"date\"])\n\n # Ensure we have a clean, simple index to avoid alignment issues\n df = df.reset_index(drop=True)\n\n # Compute rolling means using transform to preserve index alignment\n df[\"ma_20\"] = (\n df.groupby(\"symbol\")[\"close\"]\n .transform(lambda s: s.rolling(window=20, min_periods=1).mean())\n )\n df[\"ma_60\"] = (\n df.groupby(\"symbol\")[\"close\"]\n .transform(lambda s: s.rolling(window=60, min_periods=1).mean())\n )\n\n # Reshape to long format for the moving averages\n df_long = df.melt(\n id_vars=[\"date\", \"symbol\", \"close\"],\n value_vars=[\"ma_20\", \"ma_60\"],\n var_name=\"ma_window\",\n value_name=\"value\",\n )\n\n # Map ma_window to numeric window size (20 or 60)\n window_map = {\"ma_20\": 20, \"ma_60\": 60}\n df_long[\"ma_window\"] = df_long[\"ma_window\"].map(window_map).astype(int)\n\n # Final tidy output\n transformed_df = df_long[[\"date\", \"symbol\", \"close\", \"value\", \"ma_window\"]].reset_index(drop=True)\n return transformed_df\n","source":["history"],"dialog":[{"role":"system","content":"You are a data scientist to help user to recommend data that will be used for visualization.\nThe user will provide you information about what visualization they would like to create, and your job is to recommend a transformed data that can be used to create the visualization and write a python function to transform the data.\nThe recommendation and transformation function should be based on the [CONTEXT] and [GOAL] provided by the user. \nThe [CONTEXT] shows what the current dataset is, and the [GOAL] describes what the user wants the data for.\n\n**Important:**\n- NEVER make assumptions or judgments about a person's gender, biological sex, sexuality, religion, race, nationality, ethnicity, political stance, socioeconomic status, mental health, invisible disabilities, medical conditions, personality type, social impressions, emotional state, and cognitive state.\n- NEVER create formulas that could be used to discriminate based on age. Ageism of any form (explicit and implicit) is strictly prohibited.\n- If above issue occurs, generate columns with np.nan.\n\nConcretely, you should infer the appropriate data and create in the output section a python function based off the [CONTEXT] and [GOAL] in two steps:\n\n1. First, based on users' [GOAL]. Create a json object that represents the inferred user intent. The json object should have the following format:\n\n{\n \"mode\": \"\" // string, one of \"infer\", \"overview\", \"distribution\", \"summary\", \"forecast\"\n \"recap\": \"...\" // string, a short summary of the user's goal.\n \"display_instruction\": \"...\" // string, the even shorter verb phrase describing the users' goal.\n \"recommendation\": \"...\" // string, explain why this recommendation is made\n \"input_tables\": [...] // string[], describe names of the input tables that will be used in the transformation.\n \"output_fields\": [...] // string[], describe the desired output fields that the output data should have (i.e., the goal of transformed data), it's a good idea to preseve intermediate fields here\n \"chart_type\": \"\" // string, one of \"point\", \"bar\", \"line\", \"area\", \"heatmap\", \"group_bar\", 'boxplot'. \"chart_type\" should either be inferred from user instruction, or recommend if the user didn't specify any.\n \"chart_encodings\": {\n \"x\": \"\",\n \"y\": \"\",\n \"color\": \"\",\n \"size\": \"\",\n \"opacity\": \"\",\n \"facet\": \"\",\n } // object: map visualization channels (x, y, color, size, opacity, facet, etc.) to a subset of output fields, appropriate visual channels for different chart types are defined below.\n}\n\nConcretely:\n - recap what the user's goal is in a short summary in \"recap\".\n - If the user's [GOAL] is clear already, simply infer what the user mean. Set \"mode\" as \"infer\" and create \"output_fields\" and \"chart_encodings\" based off user description.\n - If the user's [GOAL] is not clear, make recommendations to the user:\n - choose one of \"distribution\", \"overview\", \"summary\", \"forecast\" in \"mode\":\n * if it is \"overview\" and the data is in wide format, reshape it into long format.\n * if it is \"distribution\", select a few fields that would be interesting to visualize together.\n * if it is \"summary\", calculate some aggregated statistics to show intresting facts of the data.\n * if it is \"forecast\", concretize the x,y fields that will be used for forecasting and decide if it is about regression or forecasting.\n - describe the recommendation reason in \"recommendation\"\n - based on the recommendation, determine what is an ideal output data. Note, the output data must be in tidy format.\n - then suggest recommendations of chart encoding that should be used to create the visualization.\n - \"display_instruction\" should be a short verb phrase describing the users' goal, it should be even shorter than \"recap\". \n - it would be a short verbal description of user intent as a verb phrase (<12 words).\n - generate based on \"recap\" and the suggested visualization, but don't need to mention the visualization details.\n - should capture key computation ideas: by reading the display, the user can understand the purpose and what's derived from the data.\n - if the user instruction builds up the previous instruction, the 'display_instruction' should only describe how it builds up the previous instruction without repeating information from previous steps.\n - the phrase can be presented in different styles, e.g., question (what's xxx), instruction (show xxx), description, etc.\n - if you mention column names from the input or the output data, highlight the text in **bold**.\n * the column can either be a column in the input data, or a new column that will be computed in the output data.\n * the mention don't have to be exact match, it can be semantically matching, e.g., if you mentioned \"average score\" in the text while the column to be computed is \"Avg_Score\", you should still highlight \"**average score**\" in the text.\n - determine \"input_tables\", the names of a subset of input tables from [CONTEXT] section that will be used to achieve the user's goal.\n - **IMPORTANT** Note that the Table 1 in [CONTEXT] section is the table the user is currently viewing, it should take precedence if the user refers to insights about the \"current table\".\n - At the same time, leverage table information to determine which tables are relevant to the user's goal and should be used.\n - \"chart_type\" must be one of \"point\", \"bar\", \"line\", \"area\", \"heatmap\", \"group_bar\", \"boxplot\"\n - \"chart_encodings\" should specify which fields should be used to create the visualization\n - decide which visual channels should be used to create the visualization appropriate for the chart type.\n - point: x, y, color, size, facet\n - histogram: x, color, facet\n - bar: x, y, color, facet\n - line: x, y, color, facet\n - area: x, y, color, facet\n - heatmap: x, y, color, facet\n - group_bar: x, y, color, facet\n - boxplot: x, y, color, facet\n - note that all fields used in \"chart_encodings\" should be included in \"output_fields\".\n - all fields you need for visualizations should be transformed into the output fields!\n - \"output_fields\" should include important intermediate fields that are not used in visualization but are used for data transformation.\n - typically only 2-3 fields should be used to create the visualization (x, y, color/size), facet use be added if it's a faceted visualization (totally 4 fields used).\n - Guidelines for choosing chart type and visualization fields:\n - Consider chart types as follows:\n - (point) Scatter Plots: x,y: Quantitative/Categorical, color: Categorical (optional), size: Quantitative (optional for creating bubble chart), \n - best for: Relationships, correlations, distributions, forecasting, regression analysis\n - scatter plots are good default way to visualize data when other chart types are not applicable.\n - use color to visualize points from different categories.\n - use size to visualize data points with an additional quantitative dimension of the data points.\n - (histogram) Histograms: x: Quantitative/Categorical, color: Categorical (optional for creating grouped histogram), \n - best for: Distribution of a quantitative field\n - use x values directly if x values are categorical, and transform the data into bins if the field values are quantitative.\n - when color is specified, the histogram will be grouped automatically (items with the same x values will be grouped).\n - (bar) Bar Charts: x: Categorical (nominal/ordinal), y: Quantitative, color: Categorical/Quantitative (for stacked bar chart / showing additional quantitative dimension), \n - best for: Comparisons across categories\n - use (bar) for simple bar chart or stacked bar chart (when it makes sense to add up Y values for each category with the same X value), \n - when color is specified, the bar will be stacked automatically (items with the same x values will be stacked).\n - note that when there are multiple rows in the data with same x values, the bar will be stacked automatically.\n - 1. consider to use an aggregated field for y values if the value is not suitable for stacking.\n - 2. consider to introduce facets so that each group is visualized in a separate bar.\n - (group_bar) for grouped bar chart, x: Categorical (nominal/ordinal), y: Quantitative, color: Categorical\n - when color is specifed, bars from different groups will be grouped automatically.\n - only use facet if the cardinality of color field is small (less than 5).\n - (line) Line Charts: x: Temporal (preferred) or ordinal, y: Quantitative, color: Categorical (optional for creating multiple lines), \n - best for: Trends over time, continuous data, forecasting, regression analysis\n - note that when there are multiple rows in the data belong to the same group (same x and color values) but different y values, the line will not look correct.\n - consider to use an aggregated field for y values, or introduce facets so that each group is visualized in a separate line.\n - (area) Area Charts: x: Temporal (preferred) or ordinal, y: Quantitative, color: Categorical (optional for creating stacked areas), \n - best for: Trends over time, continuous data\n - (heatmap) Heatmaps: x,y: Categorical (you need to convert quantitative to nominal), color: Quantitative intensity, \n - best for: Pattern discovery in matrix data\n - (boxplot) Box plots: x: Categorical (nominal/ordinal), y: Quantitative, color: Categorical (optional for creating grouped boxplots), \n - best for: Distribution of a quantitative field\n - use x values directly if x values are categorical, and transform the data into bins if the field values are quantitative.\n - when color is specified, the boxplot will be grouped automatically (items with the same x values will be grouped).\n - facet channel is available for all chart types, it supports a categorical field with small cardinality to visualize the data in different facets.\n - if you really need additional legend fields:\n - you can use opacity for legend (support Quantitative and Categorical).\n - visualization fields require tidy data. \n - similar to VegaLite and ggplot2 so that each field is mapped to a visualization axis or legend. \n - consider data transformations if you want to visualize multiple fields together:\n - exapmle 1: suggest reshaping the data into long format in data transformation description (if these fields are all of the same type, e.g., they are all about sales, price, two columns about min/max-values, etc. don't mix different types of fields in reshaping) so we can visualize multiple fields as categories or in different facets.\n - exapmle 2: calculate some derived fields from these fields(e.g., correlation, difference, profit etc.) in data transformation description to visualize them in one visualization.\n - example 3: create a visualization only with a subset of the fields, you don't have to visualize all of them in one chart, you can later create a visualization with the rest of the fields. With the subset of charts, you can also consider reshaping or calculate some derived value.\n - again, it does not make sense to have five fields like [item, A, B, C, D, E] in visualization fields, you should consider data transformation to reduce the number of fields.\n - when reshaping data to long format, only fields of the same semantic type should be rehaped into the same column.\n - guide on statistical analysis:\n - when the user asks for forecasting or regression analysis, you should consider the following:\n - the output should be a long format table where actual x, y pairs and predicted x, y pairs are included in the X, Y columns, they are differentiated with a third column \"is_predicted\" that is a boolean field.\n - i.e., if the user ask for forecasting based on two columns T and Y, the output should be three columns: T, Y, is_predicted, where\n - T, Y columns contain BOTH original values from the data and predicted values from the data.\n - is_predicted is a boolean field to indicate whether the x, y pairs are original values from the data or predicted / regression values from the data.\n - the recommended chart should be line chart (time series) or scatter plot (quantitative x, y)\n - if the user asks for forecasting, it's good to include predicted x, y pairs for both x in the original data and future x values (i.e., combine regression and forecasting results)\n - in this case, is_predicted should be of three values 'original', 'regression', 'forecasting'\n - put is_predicted field in 'opacity' channel to distinguish them.\n - when the user asks for clustering:\n - the output should be a long format table where actual x, y pairs with a third column \"cluster_id\" that indicates the cluster id of the data point.\n - the recommended chart should be scatter plot (quantitative x, y)\n \n 2. Then, write a python function based on the inferred goal, the function input is a dataframe \"df\" (or multiple dataframes based on tables presented in the [CONTEXT] section) and the output is the transformed dataframe \"transformed_df\". \n\"transformed_df\" should contain all \"output_fields\" from the refined user intent in the json object.\nThe python function must follow the template provided in [TEMPLATE]. The function should be as simple as possible and easily readable. \nIf there is no data transformation needed based on \"output_fields\", the transformation function can simply \"return df\".\n\n[TEMPLATE]\n\n```python\nimport pandas as pd\nimport collections\nimport numpy as np\n# from sklearn import ... # import from sklearn if you need it.\n\ndef transform_data(df1, df2, ...): \n # complete the template here\n return transformed_df\n```\n\nnote: \n- decide the function signature based on the number of tables you decided in the previous step \"input_tables\":\n - if you decide there will only be one input table, then function signature should be `def transform_data(df1)`\n - if you decided there will be k input tables, then function signature should be `def transform_data(df_1, df_2, ..., df_k)`.\n - instead of using generic names like df1, df2, ..., try to use intuitive table names for function arguments, for example, if you have input_tables: [\"City\", \"Weather\"]`, you can use `transform_data(df_city, df_weather)` to refer to the two dataframes.\n - **VERY IMPORTANT** the number of arguments in the function signature must be the same as the number of tables provided in \"input_tables\", and the order of arguments must match the order of tables provided in \"input_tables\".\n- datetime objects handling:\n - if the output field is year, convert it to number, if it is year-month / year-month-day, convert it to string object (e.g., \"2020-01\" / \"2020-01-01\").\n - if the output is time only: convert hour to number if it's just the hour (e.g., 10), but convert hour:min or h:m:s to string object (e.g., \"10:30\", \"10:30:45\")\n - never return datetime object directly, convert it to either number (if it only contains year) or string so it's readable.\n \n 3. The output must only contain a json object representing inferred user intent and a python code block representing the transformation code, do not add any extra text explanation.\n"},{"role":"user","content":"[CONTEXT]\n\n## Table 1: history (738 rows × 8 columns)\n\n### Schema (8 fields)\n - symbol -- type: object, values: AAPL, AMZN, GOOGL, META, MSFT, NVDA\n - date -- type: object, values: 2025-07-30, 2025-07-31, 2025-08-01, ..., 2026-01-20, 2026-01-21, 2026-01-22, 2026-01-23\n - open -- type: float64, values: 167.53, 168.01, 169.07, ..., 781.21, 782.98, 785.25, 789.97\n - high -- type: float64, values: 169.01, 170.94, 170.96, ..., 789.62, 792.49, 794.28, 795.06\n - low -- type: float64, values: 164.05, 166.72, 167.2, ..., 771.36, 772.21, 777.07, 779.66\n - close -- type: float64, values: 167.0, 168.29, 170.28, ..., 779.09, 780.97, 784.06, 788.82\n - volume -- type: int64, values: 5627500, 5855900, 6861200, ..., 320600300, 324925900, 343504800, 346926200\n - fetched_at -- type: object, values: 2026-01-26T23:46:42.347312Z\n\n### Sample Data (first 5 rows)\n```\n symbol date open high low close volume fetched_at\n0 AAPL 2025-07-30 211.45 211.94 207.28 208.61 45512500 2026-01-26T23:46:42.347312Z\n1 AAPL 2025-07-31 208.05 209.40 206.72 207.13 80698400 2026-01-26T23:46:42.347312Z\n2 AAPL 2025-08-01 210.43 213.13 201.08 201.95 104434500 2026-01-26T23:46:42.347312Z\n3 AAPL 2025-08-04 204.08 207.44 201.26 202.92 75109300 2026-01-26T23:46:42.347312Z\n4 AAPL 2025-08-05 202.97 204.91 201.74 202.49 44155100 2026-01-26T23:46:42.347312Z\n```\n\n\n[GOAL]\n\n1) First, plot the overall **closing price** trends for each **symbol** over **time** on a single line chart to compare their broad trajectories and volatility."},{"role":"assistant","content":"{\n \"mode\": \"infer\",\n \"recap\": \"Compare overall closing price trends and volatility over time for each stock symbol on a single line chart.\",\n \"display_instruction\": \"Visualize **closing price** trends by **symbol** over **date**\",\n \"recommendation\": \"A line chart with time on the x-axis and closing price on the y-axis, colored by symbol, best shows comparative trajectories and volatility over time. The data only needs column selection, date normalization, and sorting to be visualization-ready.\",\n \"input_tables\": [\"history\"],\n \"output_fields\": [\"date\", \"symbol\", \"close\"],\n \"chart_type\": \"line\",\n \"chart_encodings\": {\n \"x\": \"date\",\n \"y\": \"close\",\n \"color\": \"symbol\",\n \"size\": \"\",\n \"opacity\": \"\",\n \"facet\": \"\"\n }\n}\n\n```python\nimport pandas as pd\nimport collections\nimport numpy as np\n\ndef transform_data(df_history: pd.DataFrame) -> pd.DataFrame:\n # Select only needed columns\n cols = [\"date\", \"symbol\", \"close\"]\n df = df_history[cols].copy()\n\n # Ensure date is a string in YYYY-MM-DD format (no datetime objects)\n df[\"date\"] = pd.to_datetime(df[\"date\"]).dt.strftime(\"%Y-%m-%d\")\n\n # Sort for proper line plotting\n df = df.sort_values([\"symbol\", \"date\"]).reset_index(drop=True)\n\n transformed_df = df\n return transformed_df\n```"},{"role":"user","content":"This is the result from the latest python code:\n\n date symbol close\n0 2025-07-30 AAPL 208.61\n1 2025-07-31 AAPL 207.13\n2 2025-08-01 AAPL 201.95\n3 2025-08-04 AAPL 202.92\n4 2025-08-05 AAPL 202.49\n5 2025-08-06 AAPL 212.80\n6 2025-08-07 AAPL 219.57\n7 2025-08-08 AAPL 228.87\n8 2025-08-11 AAPL 226.96\n9 2025-08-12 AAPL 229.43\n......\n\nUpdate the code above based on the following instruction:\n\n2) For each symbol, compute 20-day and 60-day rolling averages of close price (columns: date, symbol, value, ma_window with values 20 or 60) and plot them over time alongside the actual close to compare short- vs long-term trends and reversals."},{"role":"assistant","content":"{\n \"mode\": \"infer\",\n \"recap\": \"Compute 20-day and 60-day rolling averages of closing prices for each symbol in tidy format for plotting alongside actual closes over time.\",\n \"display_instruction\": \"Add **20/60-day moving averages** of **close** by **symbol** over **date**\",\n \"recommendation\": \"To compare short- and long-term trends per symbol, compute 20- and 60-day rolling means of close, reshape them into a long format with one row per date-symbol-window, and keep the original close for plotting alongside the moving averages.\",\n \"input_tables\": [\"history\"],\n \"output_fields\": [\"date\", \"symbol\", \"close\", \"value\", \"ma_window\"],\n \"chart_type\": \"line\",\n \"chart_encodings\": {\n \"x\": \"date\",\n \"y\": \"value\",\n \"color\": \"ma_window\",\n \"size\": \"\",\n \"opacity\": \"\",\n \"facet\": \"symbol\"\n }\n}\n\n```python\nimport pandas as pd\nimport collections\nimport numpy as np\n\ndef transform_data(df_history: pd.DataFrame) -> pd.DataFrame:\n # Work on a copy\n df = df_history.copy()\n\n # Normalize date to string YYYY-MM-DD\n df[\"date\"] = pd.to_datetime(df[\"date\"]).dt.strftime(\"%Y-%m-%d\")\n\n # Sort for proper rolling computation\n df = df.sort_values([\"symbol\", \"date\"])\n\n # Group by symbol and compute rolling means on close\n group = df.groupby(\"symbol\", group_keys=False)[\"close\"]\n df[\"ma_20\"] = group.rolling(20, min_periods=1).mean()\n df[\"ma_60\"] = group.rolling(60, min_periods=1).mean()\n\n # Reshape to long format for the moving averages\n df_long = df.melt(\n id_vars=[\"date\", \"symbol\", \"close\"],\n value_vars=[\"ma_20\", \"ma_60\"],\n var_name=\"ma_window\",\n value_name=\"value\",\n )\n\n # Map ma_window to numeric window size (20 or 60)\n window_map = {\"ma_20\": 20, \"ma_60\": 60}\n df_long[\"ma_window\"] = df_long[\"ma_window\"].map(window_map)\n\n # Ensure correct column order and types\n df_long[\"ma_window\"] = df_long[\"ma_window\"].astype(int)\n\n transformed_df = df_long[[\"date\", \"symbol\", \"close\", \"value\", \"ma_window\"]].reset_index(drop=True)\n return transformed_df\n```"},{"role":"user","content":"This is the result from the latest python code:\n\nEmpty DataFrame\nColumns: []\nIndex: []\n......\n\nUpdate the code above based on the following instruction:\n\nWe run into the following problem executing the code, please fix it:\n\nError: TypeError - incompatible index of inserted column with frame index\n\nPlease think step by step, reflect why the error happens and fix the code so that no more errors would occur."},{"role":"assistant","content":"{\n \"mode\": \"infer\",\n \"recap\": \"Compute 20-day and 60-day rolling averages of closing prices for each symbol in tidy format for plotting alongside actual closes over time.\",\n \"display_instruction\": \"Compute **20/60-day moving averages** of **close** by **symbol** over **date**\",\n \"recommendation\": \"The previous implementation used groupby().rolling() and assigned the result directly to new columns, which can create an index mismatch and raise a TypeError. Using groupby().transform(...) with an inner rolling mean keeps the index aligned with the original DataFrame, avoiding incompatible index issues. After computing the moving averages, reshape to long format for visualization.\",\n \"input_tables\": [\"history\"],\n \"output_fields\": [\"date\", \"symbol\", \"close\", \"value\", \"ma_window\"],\n \"chart_type\": \"line\",\n \"chart_encodings\": {\n \"x\": \"date\",\n \"y\": \"value\",\n \"color\": \"ma_window\",\n \"size\": \"\",\n \"opacity\": \"\",\n \"facet\": \"symbol\"\n }\n}\n\n```python\nimport pandas as pd\nimport collections\nimport numpy as np\n\ndef transform_data(df_history: pd.DataFrame) -> pd.DataFrame:\n # Work on a copy and keep only needed columns if present\n base_cols = [c for c in [\"date\", \"symbol\", \"close\"] if c in df_history.columns]\n df = df_history[base_cols].copy()\n\n # Normalize date to string YYYY-MM-DD\n df[\"date\"] = pd.to_datetime(df[\"date\"]).dt.strftime(\"%Y-%m-%d\")\n\n # Sort for proper rolling computation\n df = df.sort_values([\"symbol\", \"date\"])\n\n # Ensure we have a clean, simple index to avoid alignment issues\n df = df.reset_index(drop=True)\n\n # Compute rolling means using transform to preserve index alignment\n df[\"ma_20\"] = (\n df.groupby(\"symbol\")[\"close\"]\n .transform(lambda s: s.rolling(window=20, min_periods=1).mean())\n )\n df[\"ma_60\"] = (\n df.groupby(\"symbol\")[\"close\"]\n .transform(lambda s: s.rolling(window=60, min_periods=1).mean())\n )\n\n # Reshape to long format for the moving averages\n df_long = df.melt(\n id_vars=[\"date\", \"symbol\", \"close\"],\n value_vars=[\"ma_20\", \"ma_60\"],\n var_name=\"ma_window\",\n value_name=\"value\",\n )\n\n # Map ma_window to numeric window size (20 or 60)\n window_map = {\"ma_20\": 20, \"ma_60\": 60}\n df_long[\"ma_window\"] = df_long[\"ma_window\"].map(window_map).astype(int)\n\n # Final tidy output\n transformed_df = df_long[[\"date\", \"symbol\", \"close\", \"value\", \"ma_window\"]].reset_index(drop=True)\n return transformed_df\n```"}],"trigger":{"tableId":"table-233476","sourceTableIds":["history"],"instruction":"2) For each symbol, compute 20-day and 60-day rolling averages of close price (columns: date, symbol, value, ma_window with values 20 or 60) and plot them over time alongside the actual close to compare short- vs long-term trends and reversals.","displayInstruction":"Compute **20/60-day moving averages** of **close** by **symbol** over **date**","chart":{"id":"chart-1769471261112","chartType":"Auto","encodingMap":{},"tableRef":"history","saved":false,"source":"trigger","unread":true},"resultTableId":"table-265247"},"explanation":{"status":"ok","concepts":[{"field":"ma_20, ma_60, value","explanation":"These fields represent a rolling (moving) average of the closing price over a fixed number of recent trading days for each stock symbol. For a window of N days (N = 20 or 60), the moving average on a given date is the average of the last N closing prices up to that date. Mathematically, if close_t is the closing price on day t, then the N-day moving average MA_N(t) is: MA_N(t) = (close_t + close_{t-1} + ... + close_{t-N+1}) / N. At the start of the series, when fewer than N days are available, the average is taken over all available past days instead."},{"field":"ma_window","explanation":"This field indicates the length of the moving-average window, in days. A value of 20 means the corresponding 'value' is a 20-day moving average; a value of 60 means it is a 60-day moving average."}],"code":"- Start from the original **history** table but keep only the **`date`**, **`symbol`**, and **`close`** fields to simplify the data.\n- Convert **`date`** into a standardized text format **`YYYY-MM-DD`** so all dates look consistent.\n- **Sort** the data by **`symbol`** and then by **`date`** to ensure the time series for each stock is in the correct order.\n- For each **`symbol`**, **compute**:\n - **`ma_20`**: a **20-day moving average** of the **`close`** price (uses up to the last **20** days; for the first few days it uses all available past days).\n - **`ma_60`**: a **60-day moving average** of the **`close`** price (uses up to the last **60** days; similarly relaxed at the start).\n- **Reshape** the data so that instead of having separate columns **`ma_20`** and **`ma_60`**, each row represents **one moving-average value**:\n - Keep **`date`**, **`symbol`**, and **`close`**.\n - Put the moving-average values into a single column **`value`**.\n - Use a column **`ma_window`** to indicate whether **`value`** is for **20** days or **60** days.\n- **Map** the labels **`ma_20`** and **`ma_60`** into numeric values **20** and **60** in **`ma_window`**, and keep only:\n - **`date`**, **`symbol`**, **`close`**, **`value`** (moving average), **`ma_window`** (window length in days).","dialog":[{"role":"system","content":"You are a data scientist to help user explain code, \nso that a non-code can clearly understand what the code is doing, you are provided with a summary of the input data, and the transformation code.\n\nYour goal:\n1. You should generate a good itemized explanation of the code so that the reader can understand high-level steps of what the data transformation is doing.\n - Be very concise, and stay at a high-level. The reader doesn't understand code and does not want to learn exactly what the code is doing. They just want to learn what have been done from a logical level.\n - The explanation should be a markdown string that is a list of bullet points (with new lines), highlight constants, data fields, and important verbs.\n2. Generate a list of explanations for new fields (fields not from the input data) that introduce metrics/concepts that are not obvious from the code.\n - provide a declarative definition that explains the new field, use a mathematical notation if applicable.\n - only include new fields explanation of new metrics that are involved in computation (e.g., ROI, commerical_success_score)\n - *DO NOT* explain trivial new fields like \"Decade\" or \"Avg_Rating\", \"US_Sales\" that are self-explanatory.\n - Avoid explaining fields that are simple aggregate of fields in the original data (min_score, avg_value, count, etc.)\n - When a field involves mathematical computation, you can use LaTeX math notation in the explanation. Format mathematical expressions using:\n - Inline math: `\\( ... \\)` for formulas within text\n - Block math: `\\[ ... \\]` for standalone formulas\n - Examples: `\\( \\frac{\\text{Revenue}}{\\text{Cost}} \\)` for ratios, `\\[ \\text{Score} = \\text{Rating} \\times \\text{Worldwide\\_Gross} \\]` for formulas\n - note: when using underscores as part of the text, you need to escape them with a backslash, e.g., `\\_`\n - Note: don't use math notation for fields whose computation is trivial (use plain english), it will likely be confusing to the reader. \n Only use math notation for fields that can not be easilyexplained in plain english. Use it sparingly.\n3. If there are multiple fields that have the similar computation, you can explain them together in one explanation.\n - in \"field\", you can provide a list of fields in format of \"field1, field2, ...\"\n - in \"explanation\", you can provide a single explanation for the computation of the fields.\n - for example, if you have fields like \"Norm_Rating\", \"Norm_Gross\", \"Critical_Commercial_Score\", you can explain Norm_Rating, Norm_Gross together in one explanation and explain Critical_Commercial_Score in another explanation.\n4. If the code is about statistical analysis, you should explain the statistical analysis in the explanation as a concept named \"Statistical Analysis\" in the [CONCEPTS EXPLANATION] section.\n - explain how you model the data, which fields are used, how data processing is done, and what models are used.\n - suggest some other modeling approaches that can be used to analyze the data in the explanation as well.\n \nThe focus is to explain how new fields are computed, don't generate explanation for low-level actions like \"return\", \"load data\" etc. \n\nProvide the result in the following two sections:\n - first section is the code explanation that should be a markdown block explaining the code, in the [CODE EXPLANATION] section.\n - remember to highlight constants, data fields, and important verbs in the code explanation.\n - second section is the concepts explanation that should be a json block (start with ```json) in the [CONCEPTS EXPLANATION] section.\n\n[CODE EXPLANATION]\n\n...(explanation of the code)\n\n[CONCEPTS EXPLANATION]\n\n```json\n[\n {\n \"field\": \"...\",\n \"explanation\": \"...\"\n }\n]\n\n```\n"},{"role":"user","content":"[CONTEXT]\n\n## Table 1: history (738 rows × 8 columns)\n\n### Schema (8 fields)\n - symbol -- type: object, values: AAPL, AMZN, GOOGL, META, MSFT, NVDA\n - date -- type: object, values: 2025-07-30, 2025-07-31, 2025-08-01, ..., 2026-01-20, 2026-01-21, 2026-01-22, 2026-01-23\n - open -- type: float64, values: 167.53, 168.01, 169.07, ..., 781.21, 782.98, 785.25, 789.97\n - high -- type: float64, values: 169.01, 170.94, 170.96, ..., 789.62, 792.49, 794.28, 795.06\n - low -- type: float64, values: 164.05, 166.72, 167.2, ..., 771.36, 772.21, 777.07, 779.66\n - close -- type: float64, values: 167.0, 168.29, 170.28, ..., 779.09, 780.97, 784.06, 788.82\n - volume -- type: int64, values: 5627500, 5855900, 6861200, ..., 320600300, 324925900, 343504800, 346926200\n - fetched_at -- type: object, values: 2026-01-26T23:46:42.347312Z\n\n### Sample Data (first 5 rows)\n```\n symbol date open high low close volume fetched_at\n0 AAPL 2025-07-30 211.45 211.94 207.28 208.61 45512500 2026-01-26T23:46:42.347312Z\n1 AAPL 2025-07-31 208.05 209.40 206.72 207.13 80698400 2026-01-26T23:46:42.347312Z\n2 AAPL 2025-08-01 210.43 213.13 201.08 201.95 104434500 2026-01-26T23:46:42.347312Z\n3 AAPL 2025-08-04 204.08 207.44 201.26 202.92 75109300 2026-01-26T23:46:42.347312Z\n4 AAPL 2025-08-05 202.97 204.91 201.74 202.49 44155100 2026-01-26T23:46:42.347312Z\n```\n\n\n[CODE]\n\nhere is the transformation code: \nimport pandas as pd\nimport collections\nimport numpy as np\n\ndef transform_data(df_history: pd.DataFrame) -> pd.DataFrame:\n # Work on a copy and keep only needed columns if present\n base_cols = [c for c in [\"date\", \"symbol\", \"close\"] if c in df_history.columns]\n df = df_history[base_cols].copy()\n\n # Normalize date to string YYYY-MM-DD\n df[\"date\"] = pd.to_datetime(df[\"date\"]).dt.strftime(\"%Y-%m-%d\")\n\n # Sort for proper rolling computation\n df = df.sort_values([\"symbol\", \"date\"])\n\n # Ensure we have a clean, simple index to avoid alignment issues\n df = df.reset_index(drop=True)\n\n # Compute rolling means using transform to preserve index alignment\n df[\"ma_20\"] = (\n df.groupby(\"symbol\")[\"close\"]\n .transform(lambda s: s.rolling(window=20, min_periods=1).mean())\n )\n df[\"ma_60\"] = (\n df.groupby(\"symbol\")[\"close\"]\n .transform(lambda s: s.rolling(window=60, min_periods=1).mean())\n )\n\n # Reshape to long format for the moving averages\n df_long = df.melt(\n id_vars=[\"date\", \"symbol\", \"close\"],\n value_vars=[\"ma_20\", \"ma_60\"],\n var_name=\"ma_window\",\n value_name=\"value\",\n )\n\n # Map ma_window to numeric window size (20 or 60)\n window_map = {\"ma_20\": 20, \"ma_60\": 60}\n df_long[\"ma_window\"] = df_long[\"ma_window\"].map(window_map).astype(int)\n\n # Final tidy output\n transformed_df = df_long[[\"date\", \"symbol\", \"close\", \"value\", \"ma_window\"]].reset_index(drop=True)\n return transformed_df\n\n\n[EXPLANATION]\n"},{"role":"assistant","content":"[CODE EXPLANATION]\n\n- Start from the original **history** table but keep only the **`date`**, **`symbol`**, and **`close`** fields to simplify the data.\n- Convert **`date`** into a standardized text format **`YYYY-MM-DD`** so all dates look consistent.\n- **Sort** the data by **`symbol`** and then by **`date`** to ensure the time series for each stock is in the correct order.\n- For each **`symbol`**, **compute**:\n - **`ma_20`**: a **20-day moving average** of the **`close`** price (uses up to the last **20** days; for the first few days it uses all available past days).\n - **`ma_60`**: a **60-day moving average** of the **`close`** price (uses up to the last **60** days; similarly relaxed at the start).\n- **Reshape** the data so that instead of having separate columns **`ma_20`** and **`ma_60`**, each row represents **one moving-average value**:\n - Keep **`date`**, **`symbol`**, and **`close`**.\n - Put the moving-average values into a single column **`value`**.\n - Use a column **`ma_window`** to indicate whether **`value`** is for **20** days or **60** days.\n- **Map** the labels **`ma_20`** and **`ma_60`** into numeric values **20** and **60** in **`ma_window`**, and keep only:\n - **`date`**, **`symbol`**, **`close`**, **`value`** (moving average), **`ma_window`** (window length in days).\n\n\n[CONCEPTS EXPLANATION]\n\n```json\n[\n {\n \"field\": \"ma_20, ma_60, value\",\n \"explanation\": \"These fields represent a rolling (moving) average of the closing price over a fixed number of recent trading days for each stock symbol. For a window of N days (N = 20 or 60), the moving average on a given date is the average of the last N closing prices up to that date. Mathematically, if close_t is the closing price on day t, then the N-day moving average MA_N(t) is: MA_N(t) = (close_t + close_{t-1} + ... + close_{t-N+1}) / N. At the start of the series, when fewer than N days are available, the average is taken over all available past days instead.\"\n },\n {\n \"field\": \"ma_window\",\n \"explanation\": \"This field indicates the length of the moving-average window, in days. A value of 20 means the corresponding 'value' is a 20-day moving average; a value of 60 means it is a 60-day moving average.\"\n }\n]\n```"}],"agent":"CodeExplanationAgent"}},"anchored":false,"createdBy":"user","attachedMetadata":"","contentHash":"63c48b66"},{"id":"table-277926","displayId":"stock-metr","names":["date","symbol","metric","value"],"rows":[{"date":"2025-07-31","symbol":"AAPL","metric":"return","value":null},{"date":"2025-08-01","symbol":"AAPL","metric":"return","value":-0.0250084488},{"date":"2025-08-04","symbol":"AAPL","metric":"return","value":0.0048031691},{"date":"2025-08-05","symbol":"AAPL","metric":"return","value":-0.0021190617},{"date":"2025-08-06","symbol":"AAPL","metric":"return","value":0.0509160946},{"date":"2025-08-07","symbol":"AAPL","metric":"return","value":0.0318139098},{"date":"2025-08-08","symbol":"AAPL","metric":"return","value":0.042355513},{"date":"2025-08-11","symbol":"AAPL","metric":"return","value":-0.0083453489},{"date":"2025-08-12","symbol":"AAPL","metric":"return","value":0.010882975},{"date":"2025-08-13","symbol":"AAPL","metric":"return","value":0.0159961644},{"date":"2025-08-14","symbol":"AAPL","metric":"return","value":-0.0023595024},{"date":"2025-08-15","symbol":"AAPL","metric":"return","value":-0.0050741776},{"date":"2025-08-18","symbol":"AAPL","metric":"return","value":-0.0030254571},{"date":"2025-08-19","symbol":"AAPL","metric":"return","value":-0.0014306152},{"date":"2025-08-20","symbol":"AAPL","metric":"return","value":-0.019753408},{"date":"2025-08-21","symbol":"AAPL","metric":"return","value":-0.0049160725},{"date":"2025-08-22","symbol":"AAPL","metric":"return","value":0.0127292149},{"date":"2025-08-25","symbol":"AAPL","metric":"return","value":-0.002636899},{"date":"2025-08-26","symbol":"AAPL","metric":"return","value":0.0094738697},{"date":"2025-08-27","symbol":"AAPL","metric":"return","value":0.0051508141},{"date":"2025-08-28","symbol":"AAPL","metric":"return","value":0.0089460199},{"date":"2025-08-29","symbol":"AAPL","metric":"return","value":-0.0017647312},{"date":"2025-09-02","symbol":"AAPL","metric":"return","value":-0.0104346326},{"date":"2025-09-03","symbol":"AAPL","metric":"return","value":0.0380827887},{"date":"2025-09-04","symbol":"AAPL","metric":"return","value":0.0054986568},{"date":"2025-09-05","symbol":"AAPL","metric":"return","value":-0.0003757044},{"date":"2025-09-08","symbol":"AAPL","metric":"return","value":-0.0075586737},{"date":"2025-09-09","symbol":"AAPL","metric":"return","value":-0.0148537766},{"date":"2025-09-10","symbol":"AAPL","metric":"return","value":-0.0322484196},{"date":"2025-09-11","symbol":"AAPL","metric":"return","value":0.0143002163},{"date":"2025-09-12","symbol":"AAPL","metric":"return","value":0.0175362256},{"date":"2025-09-15","symbol":"AAPL","metric":"return","value":0.0112470065},{"date":"2025-09-16","symbol":"AAPL","metric":"return","value":0.006131856},{"date":"2025-09-17","symbol":"AAPL","metric":"return","value":0.0035305985},{"date":"2025-09-18","symbol":"AAPL","metric":"return","value":-0.0046490199},{"date":"2025-09-19","symbol":"AAPL","metric":"return","value":0.0320218809},{"date":"2025-09-22","symbol":"AAPL","metric":"return","value":0.0430971214},{"date":"2025-09-23","symbol":"AAPL","metric":"return","value":-0.0064495954},{"date":"2025-09-24","symbol":"AAPL","metric":"return","value":-0.0083012039},{"date":"2025-09-25","symbol":"AAPL","metric":"return","value":0.0180505415},{"date":"2025-09-26","symbol":"AAPL","metric":"return","value":-0.0054945055},{"date":"2025-09-29","symbol":"AAPL","metric":"return","value":-0.004035892},{"date":"2025-09-30","symbol":"AAPL","metric":"return","value":0.000786844},{"date":"2025-10-01","symbol":"AAPL","metric":"return","value":0.0032235239},{"date":"2025-10-02","symbol":"AAPL","metric":"return","value":0.0065830721},{"date":"2025-10-03","symbol":"AAPL","metric":"return","value":0.0034646528},{"date":"2025-10-06","symbol":"AAPL","metric":"return","value":-0.0051596384},{"date":"2025-10-07","symbol":"AAPL","metric":"return","value":-0.000818905},{"date":"2025-10-08","symbol":"AAPL","metric":"return","value":0.0061663349},{"date":"2025-10-09","symbol":"AAPL","metric":"return","value":-0.0155928785},{"date":"2025-10-10","symbol":"AAPL","metric":"return","value":-0.0345167264},{"date":"2025-10-13","symbol":"AAPL","metric":"return","value":0.0097539077},{"date":"2025-10-14","symbol":"AAPL","metric":"return","value":0.0004445881},{"date":"2025-10-15","symbol":"AAPL","metric":"return","value":0.0063426655},{"date":"2025-10-16","symbol":"AAPL","metric":"return","value":-0.0075873143},{"date":"2025-10-17","symbol":"AAPL","metric":"return","value":0.019578496},{"date":"2025-10-20","symbol":"AAPL","metric":"return","value":0.0394366197},{"date":"2025-10-21","symbol":"AAPL","metric":"return","value":0.002022978},{"date":"2025-10-22","symbol":"AAPL","metric":"return","value":-0.0164558891},{"date":"2025-10-23","symbol":"AAPL","metric":"return","value":0.0043764524},{"date":"2025-10-24","symbol":"AAPL","metric":"return","value":0.0124937339},{"date":"2025-10-27","symbol":"AAPL","metric":"return","value":0.0227748791},{"date":"2025-10-28","symbol":"AAPL","metric":"return","value":0.0007075033},{"date":"2025-10-29","symbol":"AAPL","metric":"return","value":0.0026047481},{"date":"2025-10-30","symbol":"AAPL","metric":"return","value":0.0063093824},{"date":"2025-10-31","symbol":"AAPL","metric":"return","value":-0.0037987755},{"date":"2025-11-03","symbol":"AAPL","metric":"return","value":-0.0048868979},{"date":"2025-11-04","symbol":"AAPL","metric":"return","value":0.0036831727},{"date":"2025-11-05","symbol":"AAPL","metric":"return","value":0.0003706724},{"date":"2025-11-06","symbol":"AAPL","metric":"return","value":-0.0013709797},{"date":"2025-11-07","symbol":"AAPL","metric":"return","value":-0.0048235687},{"date":"2025-11-10","symbol":"AAPL","metric":"return","value":0.0045486745},{"date":"2025-11-11","symbol":"AAPL","metric":"return","value":0.021601158},{"date":"2025-11-12","symbol":"AAPL","metric":"return","value":-0.0064668483},{"date":"2025-11-13","symbol":"AAPL","metric":"return","value":-0.0019014883},{"date":"2025-11-14","symbol":"AAPL","metric":"return","value":-0.0019783843},{"date":"2025-11-17","symbol":"AAPL","metric":"return","value":-0.0181711391},{"date":"2025-11-18","symbol":"AAPL","metric":"return","value":-0.0000747775},{"date":"2025-11-19","symbol":"AAPL","metric":"return","value":0.0041878552},{"date":"2025-11-20","symbol":"AAPL","metric":"return","value":-0.0086014298},{"date":"2025-11-21","symbol":"AAPL","metric":"return","value":0.0196807512},{"date":"2025-11-24","symbol":"AAPL","metric":"return","value":0.0163173598},{"date":"2025-11-25","symbol":"AAPL","metric":"return","value":0.0038054509},{"date":"2025-11-26","symbol":"AAPL","metric":"return","value":0.0020940896},{"date":"2025-11-28","symbol":"AAPL","metric":"return","value":0.0046838407},{"date":"2025-12-01","symbol":"AAPL","metric":"return","value":0.0152411691},{"date":"2025-12-02","symbol":"AAPL","metric":"return","value":0.0109148711},{"date":"2025-12-03","symbol":"AAPL","metric":"return","value":-0.0071281317},{"date":"2025-12-04","symbol":"AAPL","metric":"return","value":-0.0121414746},{"date":"2025-12-05","symbol":"AAPL","metric":"return","value":-0.0068400428},{"date":"2025-12-08","symbol":"AAPL","metric":"return","value":-0.0031924815},{"date":"2025-12-09","symbol":"AAPL","metric":"return","value":-0.0025549678},{"date":"2025-12-10","symbol":"AAPL","metric":"return","value":0.0057724223},{"date":"2025-12-11","symbol":"AAPL","metric":"return","value":-0.0026902934},{"date":"2025-12-12","symbol":"AAPL","metric":"return","value":0.0008991835},{"date":"2025-12-15","symbol":"AAPL","metric":"return","value":-0.0149849073},{"date":"2025-12-16","symbol":"AAPL","metric":"return","value":0.0018240852},{"date":"2025-12-17","symbol":"AAPL","metric":"return","value":-0.0100870325},{"date":"2025-12-18","symbol":"AAPL","metric":"return","value":0.0012875221},{"date":"2025-12-19","symbol":"AAPL","metric":"return","value":0.0054373783},{"date":"2025-12-22","symbol":"AAPL","metric":"return","value":-0.0098658969},{"date":"2025-12-23","symbol":"AAPL","metric":"return","value":0.0051297192},{"date":"2025-12-24","symbol":"AAPL","metric":"return","value":0.0053238361},{"date":"2025-12-26","symbol":"AAPL","metric":"return","value":-0.0014973887},{"date":"2025-12-29","symbol":"AAPL","metric":"return","value":0.001316752},{"date":"2025-12-30","symbol":"AAPL","metric":"return","value":-0.0024839275},{"date":"2025-12-31","symbol":"AAPL","metric":"return","value":-0.0044675553},{"date":"2026-01-02","symbol":"AAPL","metric":"return","value":-0.0031266093},{"date":"2026-01-05","symbol":"AAPL","metric":"return","value":-0.0138371278},{"date":"2026-01-06","symbol":"AAPL","metric":"return","value":-0.0183342064},{"date":"2026-01-07","symbol":"AAPL","metric":"return","value":-0.00773746},{"date":"2026-01-08","symbol":"AAPL","metric":"return","value":-0.0049552491},{"date":"2026-01-09","symbol":"AAPL","metric":"return","value":0.0012739345},{"date":"2026-01-12","symbol":"AAPL","metric":"return","value":0.0033928365},{"date":"2026-01-13","symbol":"AAPL","metric":"return","value":0.0030739673},{"date":"2026-01-14","symbol":"AAPL","metric":"return","value":-0.0041754453},{"date":"2026-01-15","symbol":"AAPL","metric":"return","value":-0.0067318049},{"date":"2026-01-16","symbol":"AAPL","metric":"return","value":-0.0103791488},{"date":"2026-01-20","symbol":"AAPL","metric":"return","value":-0.0345556295},{"date":"2026-01-21","symbol":"AAPL","metric":"return","value":0.003850831},{"date":"2026-01-22","symbol":"AAPL","metric":"return","value":0.0028265698},{"date":"2026-01-23","symbol":"AAPL","metric":"return","value":-0.0012482384},{"date":"2026-01-26","symbol":"AAPL","metric":"return","value":0.0297129495},{"date":"2025-07-31","symbol":"AMZN","metric":"return","value":null},{"date":"2025-08-01","symbol":"AMZN","metric":"return","value":-0.0826961685},{"date":"2025-08-04","symbol":"AMZN","metric":"return","value":-0.01443539},{"date":"2025-08-05","symbol":"AMZN","metric":"return","value":0.0099220411},{"date":"2025-08-06","symbol":"AMZN","metric":"return","value":0.0400467836},{"date":"2025-08-07","symbol":"AMZN","metric":"return","value":0.003688543},{"date":"2025-08-08","symbol":"AMZN","metric":"return","value":-0.0019719446},{"date":"2025-08-11","symbol":"AMZN","metric":"return","value":-0.0062418609},{"date":"2025-08-12","symbol":"AMZN","metric":"return","value":0.000768188},{"date":"2025-08-13","symbol":"AMZN","metric":"return","value":0.0139522283},{"date":"2025-08-14","symbol":"AMZN","metric":"return","value":0.0285892412},{"date":"2025-08-15","symbol":"AMZN","metric":"return","value":0.000216469},{"date":"2025-08-18","symbol":"AMZN","metric":"return","value":0.0019910834},{"date":"2025-08-19","symbol":"AMZN","metric":"return","value":-0.0150330468},{"date":"2025-08-20","symbol":"AMZN","metric":"return","value":-0.0184202447},{"date":"2025-08-21","symbol":"AMZN","metric":"return","value":-0.0083106206},{"date":"2025-08-22","symbol":"AMZN","metric":"return","value":0.0310430277},{"date":"2025-08-25","symbol":"AMZN","metric":"return","value":-0.0039328789},{"date":"2025-08-26","symbol":"AMZN","metric":"return","value":0.003378082},{"date":"2025-08-27","symbol":"AMZN","metric":"return","value":0.0017926632},{"date":"2025-08-28","symbol":"AMZN","metric":"return","value":0.0108240223},{"date":"2025-08-29","symbol":"AMZN","metric":"return","value":-0.0112262522},{"date":"2025-09-02","symbol":"AMZN","metric":"return","value":-0.0159825328},{"date":"2025-09-03","symbol":"AMZN","metric":"return","value":0.00288453},{"date":"2025-09-04","symbol":"AMZN","metric":"return","value":0.0428780035},{"date":"2025-09-05","symbol":"AMZN","metric":"return","value":-0.0142141887},{"date":"2025-09-08","symbol":"AMZN","metric":"return","value":0.0151078208},{"date":"2025-09-09","symbol":"AMZN","metric":"return","value":0.0101763908},{"date":"2025-09-10","symbol":"AMZN","metric":"return","value":-0.0332018133},{"date":"2025-09-11","symbol":"AMZN","metric":"return","value":-0.0016498068},{"date":"2025-09-12","symbol":"AMZN","metric":"return","value":-0.0078277886},{"date":"2025-09-15","symbol":"AMZN","metric":"return","value":0.0143765067},{"date":"2025-09-16","symbol":"AMZN","metric":"return","value":0.0113209178},{"date":"2025-09-17","symbol":"AMZN","metric":"return","value":-0.0103823969},{"date":"2025-09-18","symbol":"AMZN","metric":"return","value":-0.0016837924},{"date":"2025-09-19","symbol":"AMZN","metric":"return","value":0.0010811746},{"date":"2025-09-22","symbol":"AMZN","metric":"return","value":-0.0166321064},{"date":"2025-09-23","symbol":"AMZN","metric":"return","value":-0.0304002109},{"date":"2025-09-24","symbol":"AMZN","metric":"return","value":-0.0022654162},{"date":"2025-09-25","symbol":"AMZN","metric":"return","value":-0.0093547069},{"date":"2025-09-26","symbol":"AMZN","metric":"return","value":0.007471923},{"date":"2025-09-29","symbol":"AMZN","metric":"return","value":0.0108745109},{"date":"2025-09-30","symbol":"AMZN","metric":"return","value":-0.0117027501},{"date":"2025-10-01","symbol":"AMZN","metric":"return","value":0.0048276176},{"date":"2025-10-02","symbol":"AMZN","metric":"return","value":0.0080678058},{"date":"2025-10-03","symbol":"AMZN","metric":"return","value":-0.0130389821},{"date":"2025-10-06","symbol":"AMZN","metric":"return","value":0.0063322855},{"date":"2025-10-07","symbol":"AMZN","metric":"return","value":0.003983703},{"date":"2025-10-08","symbol":"AMZN","metric":"return","value":0.0155108666},{"date":"2025-10-09","symbol":"AMZN","metric":"return","value":0.0111890596},{"date":"2025-10-10","symbol":"AMZN","metric":"return","value":-0.0499253535},{"date":"2025-10-13","symbol":"AMZN","metric":"return","value":0.0171003374},{"date":"2025-10-14","symbol":"AMZN","metric":"return","value":-0.0167219521},{"date":"2025-10-15","symbol":"AMZN","metric":"return","value":-0.0037894542},{"date":"2025-10-16","symbol":"AMZN","metric":"return","value":-0.0051027508},{"date":"2025-10-17","symbol":"AMZN","metric":"return","value":-0.0066675992},{"date":"2025-10-20","symbol":"AMZN","metric":"return","value":0.0161472024},{"date":"2025-10-21","symbol":"AMZN","metric":"return","value":0.0256374723},{"date":"2025-10-22","symbol":"AMZN","metric":"return","value":-0.0183758951},{"date":"2025-10-23","symbol":"AMZN","metric":"return","value":0.0144069741},{"date":"2025-10-24","symbol":"AMZN","metric":"return","value":0.0141119001},{"date":"2025-10-27","symbol":"AMZN","metric":"return","value":0.0123098881},{"date":"2025-10-28","symbol":"AMZN","metric":"return","value":0.0100453804},{"date":"2025-10-29","symbol":"AMZN","metric":"return","value":0.0045801527},{"date":"2025-10-30","symbol":"AMZN","metric":"return","value":-0.0323056882},{"date":"2025-10-31","symbol":"AMZN","metric":"return","value":0.0958449251},{"date":"2025-11-03","symbol":"AMZN","metric":"return","value":0.0400458603},{"date":"2025-11-04","symbol":"AMZN","metric":"return","value":-0.0184251969},{"date":"2025-11-05","symbol":"AMZN","metric":"return","value":0.0035296005},{"date":"2025-11-06","symbol":"AMZN","metric":"return","value":-0.0286171063},{"date":"2025-11-07","symbol":"AMZN","metric":"return","value":0.0056369322},{"date":"2025-11-10","symbol":"AMZN","metric":"return","value":0.0163250276},{"date":"2025-11-11","symbol":"AMZN","metric":"return","value":0.0028180354},{"date":"2025-11-12","symbol":"AMZN","metric":"return","value":-0.0196708149},{"date":"2025-11-13","symbol":"AMZN","metric":"return","value":-0.0271089271},{"date":"2025-11-14","symbol":"AMZN","metric":"return","value":-0.0121643236},{"date":"2025-11-17","symbol":"AMZN","metric":"return","value":-0.0077549107},{"date":"2025-11-18","symbol":"AMZN","metric":"return","value":-0.0443165715},{"date":"2025-11-19","symbol":"AMZN","metric":"return","value":0.0006290721},{"date":"2025-11-20","symbol":"AMZN","metric":"return","value":-0.0249225381},{"date":"2025-11-21","symbol":"AMZN","metric":"return","value":0.0163488993},{"date":"2025-11-24","symbol":"AMZN","metric":"return","value":0.0253296479},{"date":"2025-11-25","symbol":"AMZN","metric":"return","value":0.0149814389},{"date":"2025-11-26","symbol":"AMZN","metric":"return","value":-0.0022205774},{"date":"2025-11-28","symbol":"AMZN","metric":"return","value":0.017716879},{"date":"2025-12-01","symbol":"AMZN","metric":"return","value":0.002829946},{"date":"2025-12-02","symbol":"AMZN","metric":"return","value":0.0023088763},{"date":"2025-12-03","symbol":"AMZN","metric":"return","value":-0.0087023292},{"date":"2025-12-04","symbol":"AMZN","metric":"return","value":-0.014071779},{"date":"2025-12-05","symbol":"AMZN","metric":"return","value":0.0018331806},{"date":"2025-12-08","symbol":"AMZN","metric":"return","value":-0.0115017645},{"date":"2025-12-09","symbol":"AMZN","metric":"return","value":0.0045396448},{"date":"2025-12-10","symbol":"AMZN","metric":"return","value":0.0169357669},{"date":"2025-12-11","symbol":"AMZN","metric":"return","value":-0.0064716542},{"date":"2025-12-12","symbol":"AMZN","metric":"return","value":-0.0177609866},{"date":"2025-12-15","symbol":"AMZN","metric":"return","value":-0.0161368761},{"date":"2025-12-16","symbol":"AMZN","metric":"return","value":0.0000898715},{"date":"2025-12-17","symbol":"AMZN","metric":"return","value":-0.0057961898},{"date":"2025-12-18","symbol":"AMZN","metric":"return","value":0.0248113165},{"date":"2025-12-19","symbol":"AMZN","metric":"return","value":0.0026018698},{"date":"2025-12-22","symbol":"AMZN","metric":"return","value":0.0047503849},{"date":"2025-12-23","symbol":"AMZN","metric":"return","value":0.0162412993},{"date":"2025-12-24","symbol":"AMZN","metric":"return","value":0.0010338589},{"date":"2025-12-26","symbol":"AMZN","metric":"return","value":0.0006024615},{"date":"2025-12-29","symbol":"AMZN","metric":"return","value":-0.0019353174},{"date":"2025-12-30","symbol":"AMZN","metric":"return","value":0.0019821606},{"date":"2025-12-31","symbol":"AMZN","metric":"return","value":-0.0073538898},{"date":"2026-01-02","symbol":"AMZN","metric":"return","value":-0.0187158825},{"date":"2026-01-05","symbol":"AMZN","metric":"return","value":0.0289624724},{"date":"2026-01-06","symbol":"AMZN","metric":"return","value":0.0337681284},{"date":"2026-01-07","symbol":"AMZN","metric":"return","value":0.0026148674},{"date":"2026-01-08","symbol":"AMZN","metric":"return","value":0.0195810565},{"date":"2026-01-09","symbol":"AMZN","metric":"return","value":0.004425677},{"date":"2026-01-12","symbol":"AMZN","metric":"return","value":-0.0036785512},{"date":"2026-01-13","symbol":"AMZN","metric":"return","value":-0.0157017081},{"date":"2026-01-14","symbol":"AMZN","metric":"return","value":-0.0245259687},{"date":"2026-01-15","symbol":"AMZN","metric":"return","value":0.006465244},{"date":"2026-01-16","symbol":"AMZN","metric":"return","value":0.003946595},{"date":"2026-01-20","symbol":"AMZN","metric":"return","value":-0.0339578454},{"date":"2026-01-21","symbol":"AMZN","metric":"return","value":0.0013419913},{"date":"2026-01-22","symbol":"AMZN","metric":"return","value":0.013099304},{"date":"2026-01-23","symbol":"AMZN","metric":"return","value":0.0205684049},{"date":"2026-01-26","symbol":"AMZN","metric":"return","value":-0.0030941629},{"date":"2025-07-31","symbol":"GOOGL","metric":"return","value":null},{"date":"2025-08-01","symbol":"GOOGL","metric":"return","value":-0.0144050104},{"date":"2025-08-04","symbol":"GOOGL","metric":"return","value":0.0312433806},{"date":"2025-08-05","symbol":"GOOGL","metric":"return","value":-0.0018999692},{"date":"2025-08-06","symbol":"GOOGL","metric":"return","value":0.0073056542},{"date":"2025-08-07","symbol":"GOOGL","metric":"return","value":0.0021962307},{"date":"2025-08-08","symbol":"GOOGL","metric":"return","value":0.024921007},{"date":"2025-08-11","symbol":"GOOGL","metric":"return","value":-0.0020884093},{"date":"2025-08-12","symbol":"GOOGL","metric":"return","value":0.0116597738},{"date":"2025-08-13","symbol":"GOOGL","metric":"return","value":-0.0067970251},{"date":"2025-08-14","symbol":"GOOGL","metric":"return","value":0.0048599058},{"date":"2025-08-15","symbol":"GOOGL","metric":"return","value":0.0046883482},{"date":"2025-08-18","symbol":"GOOGL","metric":"return","value":-0.0019157088},{"date":"2025-08-19","symbol":"GOOGL","metric":"return","value":-0.0094984989},{"date":"2025-08-20","symbol":"GOOGL","metric":"return","value":-0.0111795687},{"date":"2025-08-21","symbol":"GOOGL","metric":"return","value":0.0021606954},{"date":"2025-08-22","symbol":"GOOGL","metric":"return","value":0.0317388688},{"date":"2025-08-25","symbol":"GOOGL","metric":"return","value":0.0116635078},{"date":"2025-08-26","symbol":"GOOGL","metric":"return","value":-0.0064850843},{"date":"2025-08-27","symbol":"GOOGL","metric":"return","value":0.0016439416},{"date":"2025-08-28","symbol":"GOOGL","metric":"return","value":0.0200328249},{"date":"2025-08-29","symbol":"GOOGL","metric":"return","value":0.0060101273},{"date":"2025-09-02","symbol":"GOOGL","metric":"return","value":-0.0073384138},{"date":"2025-09-03","symbol":"GOOGL","metric":"return","value":0.0913657473},{"date":"2025-09-04","symbol":"GOOGL","metric":"return","value":0.0071211463},{"date":"2025-09-05","symbol":"GOOGL","metric":"return","value":0.0116409416},{"date":"2025-09-08","symbol":"GOOGL","metric":"return","value":-0.003196386},{"date":"2025-09-09","symbol":"GOOGL","metric":"return","value":0.0238573688},{"date":"2025-09-10","symbol":"GOOGL","metric":"return","value":-0.0019209087},{"date":"2025-09-11","symbol":"GOOGL","metric":"return","value":0.0050207104},{"date":"2025-09-12","symbol":"GOOGL","metric":"return","value":0.0017901003},{"date":"2025-09-15","symbol":"GOOGL","metric":"return","value":0.044921875},{"date":"2025-09-16","symbol":"GOOGL","metric":"return","value":-0.0017896202},{"date":"2025-09-17","symbol":"GOOGL","metric":"return","value":-0.0064940239},{"date":"2025-09-18","symbol":"GOOGL","metric":"return","value":0.0100252637},{"date":"2025-09-19","symbol":"GOOGL","metric":"return","value":0.0106404097},{"date":"2025-09-22","symbol":"GOOGL","metric":"return","value":-0.0086034178},{"date":"2025-09-23","symbol":"GOOGL","metric":"return","value":-0.0034078301},{"date":"2025-09-24","symbol":"GOOGL","metric":"return","value":-0.017972167},{"date":"2025-09-25","symbol":"GOOGL","metric":"return","value":-0.0054660296},{"date":"2025-09-26","symbol":"GOOGL","metric":"return","value":0.003053373},{"date":"2025-09-29","symbol":"GOOGL","metric":"return","value":-0.0101063398},{"date":"2025-09-30","symbol":"GOOGL","metric":"return","value":-0.0038951987},{"date":"2025-10-01","symbol":"GOOGL","metric":"return","value":0.0074092368},{"date":"2025-10-02","symbol":"GOOGL","metric":"return","value":0.0032279153},{"date":"2025-10-03","symbol":"GOOGL","metric":"return","value":-0.0013847595},{"date":"2025-10-06","symbol":"GOOGL","metric":"return","value":0.0207186264},{"date":"2025-10-07","symbol":"GOOGL","metric":"return","value":-0.0186598474},{"date":"2025-10-08","symbol":"GOOGL","metric":"return","value":-0.0046416938},{"date":"2025-10-09","symbol":"GOOGL","metric":"return","value":-0.0126401047},{"date":"2025-10-10","symbol":"GOOGL","metric":"return","value":-0.0205079339},{"date":"2025-10-13","symbol":"GOOGL","metric":"return","value":0.0320192877},{"date":"2025-10-14","symbol":"GOOGL","metric":"return","value":0.0053280872},{"date":"2025-10-15","symbol":"GOOGL","metric":"return","value":0.0227485833},{"date":"2025-10-16","symbol":"GOOGL","metric":"return","value":0.0017140352},{"date":"2025-10-17","symbol":"GOOGL","metric":"return","value":0.0072821329},{"date":"2025-10-20","symbol":"GOOGL","metric":"return","value":0.0128392526},{"date":"2025-10-21","symbol":"GOOGL","metric":"return","value":-0.0237147983},{"date":"2025-10-22","symbol":"GOOGL","metric":"return","value":0.0049141031},{"date":"2025-10-23","symbol":"GOOGL","metric":"return","value":0.0054864231},{"date":"2025-10-24","symbol":"GOOGL","metric":"return","value":0.0270451939},{"date":"2025-10-27","symbol":"GOOGL","metric":"return","value":0.0359576516},{"date":"2025-10-28","symbol":"GOOGL","metric":"return","value":-0.0066520495},{"date":"2025-10-29","symbol":"GOOGL","metric":"return","value":0.0265245043},{"date":"2025-10-30","symbol":"GOOGL","metric":"return","value":0.0251831335},{"date":"2025-10-31","symbol":"GOOGL","metric":"return","value":-0.0010309278},{"date":"2025-11-03","symbol":"GOOGL","metric":"return","value":0.0089676524},{"date":"2025-11-04","symbol":"GOOGL","metric":"return","value":-0.0217613656},{"date":"2025-11-05","symbol":"GOOGL","metric":"return","value":0.0243726565},{"date":"2025-11-06","symbol":"GOOGL","metric":"return","value":0.0015486414},{"date":"2025-11-07","symbol":"GOOGL","metric":"return","value":-0.0207689064},{"date":"2025-11-10","symbol":"GOOGL","metric":"return","value":0.0404091154},{"date":"2025-11-11","symbol":"GOOGL","metric":"return","value":0.0041737091},{"date":"2025-11-12","symbol":"GOOGL","metric":"return","value":-0.0158010442},{"date":"2025-11-13","symbol":"GOOGL","metric":"return","value":-0.0283749825},{"date":"2025-11-14","symbol":"GOOGL","metric":"return","value":-0.0077588994},{"date":"2025-11-17","symbol":"GOOGL","metric":"return","value":0.0311334757},{"date":"2025-11-18","symbol":"GOOGL","metric":"return","value":-0.0025980409},{"date":"2025-11-19","symbol":"GOOGL","metric":"return","value":0.0300256961},{"date":"2025-11-20","symbol":"GOOGL","metric":"return","value":-0.0114824687},{"date":"2025-11-21","symbol":"GOOGL","metric":"return","value":0.0352623937},{"date":"2025-11-24","symbol":"GOOGL","metric":"return","value":0.0631469979},{"date":"2025-11-25","symbol":"GOOGL","metric":"return","value":0.0152652574},{"date":"2025-11-26","symbol":"GOOGL","metric":"return","value":-0.0107972651},{"date":"2025-11-28","symbol":"GOOGL","metric":"return","value":0.0007193345},{"date":"2025-12-01","symbol":"GOOGL","metric":"return","value":-0.0165327999},{"date":"2025-12-02","symbol":"GOOGL","metric":"return","value":0.0029236049},{"date":"2025-12-03","symbol":"GOOGL","metric":"return","value":0.012103929},{"date":"2025-12-04","symbol":"GOOGL","metric":"return","value":-0.0062926554},{"date":"2025-12-05","symbol":"GOOGL","metric":"return","value":0.0114993226},{"date":"2025-12-08","symbol":"GOOGL","metric":"return","value":-0.0228617704},{"date":"2025-12-09","symbol":"GOOGL","metric":"return","value":0.0107101874},{"date":"2025-12-10","symbol":"GOOGL","metric":"return","value":0.0098713258},{"date":"2025-12-11","symbol":"GOOGL","metric":"return","value":-0.0242965554},{"date":"2025-12-12","symbol":"GOOGL","metric":"return","value":-0.0100502513},{"date":"2025-12-15","symbol":"GOOGL","metric":"return","value":-0.0034595364},{"date":"2025-12-16","symbol":"GOOGL","metric":"return","value":-0.0053533191},{"date":"2025-12-17","symbol":"GOOGL","metric":"return","value":-0.0321296931},{"date":"2025-12-18","symbol":"GOOGL","metric":"return","value":0.0193448369},{"date":"2025-12-19","symbol":"GOOGL","metric":"return","value":0.0155392449},{"date":"2025-12-22","symbol":"GOOGL","metric":"return","value":0.0085297565},{"date":"2025-12-23","symbol":"GOOGL","metric":"return","value":0.0147524049},{"date":"2025-12-24","symbol":"GOOGL","metric":"return","value":-0.0008271035},{"date":"2025-12-26","symbol":"GOOGL","metric":"return","value":-0.0018466045},{"date":"2025-12-29","symbol":"GOOGL","metric":"return","value":0.0001594845},{"date":"2025-12-30","symbol":"GOOGL","metric":"return","value":0.0009248629},{"date":"2025-12-31","symbol":"GOOGL","metric":"return","value":-0.0027083001},{"date":"2026-01-02","symbol":"GOOGL","metric":"return","value":0.0068690096},{"date":"2026-01-05","symbol":"GOOGL","metric":"return","value":0.0044105981},{"date":"2026-01-06","symbol":"GOOGL","metric":"return","value":-0.0069501485},{"date":"2026-01-07","symbol":"GOOGL","metric":"return","value":0.0243048928},{"date":"2026-01-08","symbol":"GOOGL","metric":"return","value":0.0107460091},{"date":"2026-01-09","symbol":"GOOGL","metric":"return","value":0.0096177483},{"date":"2026-01-12","symbol":"GOOGL","metric":"return","value":0.010013087},{"date":"2026-01-13","symbol":"GOOGL","metric":"return","value":0.0123847406},{"date":"2026-01-14","symbol":"GOOGL","metric":"return","value":-0.0003869393},{"date":"2026-01-15","symbol":"GOOGL","metric":"return","value":-0.0091114817},{"date":"2026-01-16","symbol":"GOOGL","metric":"return","value":-0.0083538674},{"date":"2026-01-20","symbol":"GOOGL","metric":"return","value":-0.0242424242},{"date":"2026-01-21","symbol":"GOOGL","metric":"return","value":0.0198136646},{"date":"2026-01-22","symbol":"GOOGL","metric":"return","value":0.0065777453},{"date":"2026-01-23","symbol":"GOOGL","metric":"return","value":-0.0078961699},{"date":"2026-01-26","symbol":"GOOGL","metric":"return","value":0.0162534687},{"date":"2025-07-31","symbol":"META","metric":"return","value":null},{"date":"2025-08-01","symbol":"META","metric":"return","value":-0.0302994989},{"date":"2025-08-04","symbol":"META","metric":"return","value":0.0351453484},{"date":"2025-08-05","symbol":"META","metric":"return","value":-0.0166277525},{"date":"2025-08-06","symbol":"META","metric":"return","value":0.0111764089},{"date":"2025-08-07","symbol":"META","metric":"return","value":-0.0131544808},{"date":"2025-08-08","symbol":"META","metric":"return","value":0.0097936111},{"date":"2025-08-11","symbol":"META","metric":"return","value":-0.0044522554},{"date":"2025-08-12","symbol":"META","metric":"return","value":0.0315013142},{"date":"2025-08-13","symbol":"META","metric":"return","value":-0.0125503917},{"date":"2025-08-14","symbol":"META","metric":"return","value":0.0026318492},{"date":"2025-08-15","symbol":"META","metric":"return","value":0.0039566181},{"date":"2025-08-18","symbol":"META","metric":"return","value":-0.0227406066},{"date":"2025-08-19","symbol":"META","metric":"return","value":-0.0207117967},{"date":"2025-08-20","symbol":"META","metric":"return","value":-0.0049976012},{"date":"2025-08-21","symbol":"META","metric":"return","value":-0.0115321252},{"date":"2025-08-22","symbol":"META","metric":"return","value":0.0212330623},{"date":"2025-08-25","symbol":"META","metric":"return","value":-0.0019769926},{"date":"2025-08-26","symbol":"META","metric":"return","value":0.0010635752},{"date":"2025-08-27","symbol":"META","metric":"return","value":-0.0089112593},{"date":"2025-08-28","symbol":"META","metric":"return","value":0.004984791},{"date":"2025-08-29","symbol":"META","metric":"return","value":-0.0165202203},{"date":"2025-09-02","symbol":"META","metric":"return","value":-0.0048535792},{"date":"2025-09-03","symbol":"META","metric":"return","value":0.0026293561},{"date":"2025-09-04","symbol":"META","metric":"return","value":0.0157483525},{"date":"2025-09-05","symbol":"META","metric":"return","value":0.0050699628},{"date":"2025-09-08","symbol":"META","metric":"return","value":-0.000199646},{"date":"2025-09-09","symbol":"META","metric":"return","value":0.0178119758},{"date":"2025-09-10","symbol":"META","metric":"return","value":-0.017918803},{"date":"2025-09-11","symbol":"META","metric":"return","value":-0.0014383507},{"date":"2025-09-12","symbol":"META","metric":"return","value":0.0062551682},{"date":"2025-09-15","symbol":"META","metric":"return","value":0.0120481928},{"date":"2025-09-16","symbol":"META","metric":"return","value":0.0187018702},{"date":"2025-09-17","symbol":"META","metric":"return","value":-0.0042039494},{"date":"2025-09-18","symbol":"META","metric":"return","value":0.0058354958},{"date":"2025-09-19","symbol":"META","metric":"return","value":-0.0024002362},{"date":"2025-09-22","symbol":"META","metric":"return","value":-0.016314557},{"date":"2025-09-23","symbol":"META","metric":"return","value":-0.0127658461},{"date":"2025-09-24","symbol":"META","metric":"return","value":0.0069689181},{"date":"2025-09-25","symbol":"META","metric":"return","value":-0.0154465554},{"date":"2025-09-26","symbol":"META","metric":"return","value":-0.0068956301},{"date":"2025-09-29","symbol":"META","metric":"return","value":-0.0004709745},{"date":"2025-09-30","symbol":"META","metric":"return","value":-0.0121299425},{"date":"2025-10-01","symbol":"META","metric":"return","value":-0.0231949631},{"date":"2025-10-02","symbol":"META","metric":"return","value":0.0135331213},{"date":"2025-10-03","symbol":"META","metric":"return","value":-0.0226853509},{"date":"2025-10-06","symbol":"META","metric":"return","value":0.0071833009},{"date":"2025-10-07","symbol":"META","metric":"return","value":-0.0036079879},{"date":"2025-10-08","symbol":"META","metric":"return","value":0.0066807018},{"date":"2025-10-09","symbol":"META","metric":"return","value":0.0218191451},{"date":"2025-10-10","symbol":"META","metric":"return","value":-0.0384494686},{"date":"2025-10-13","symbol":"META","metric":"return","value":0.014743235},{"date":"2025-10-14","symbol":"META","metric":"return","value":-0.0098584853},{"date":"2025-10-15","symbol":"META","metric":"return","value":0.0125693787},{"date":"2025-10-16","symbol":"META","metric":"return","value":-0.0076432766},{"date":"2025-10-17","symbol":"META","metric":"return","value":0.0068166805},{"date":"2025-10-20","symbol":"META","metric":"return","value":0.0212608538},{"date":"2025-10-21","symbol":"META","metric":"return","value":0.0015036155},{"date":"2025-10-22","symbol":"META","metric":"return","value":0.0001910819},{"date":"2025-10-23","symbol":"META","metric":"return","value":0.00080512},{"date":"2025-10-24","symbol":"META","metric":"return","value":0.0059449141},{"date":"2025-10-27","symbol":"META","metric":"return","value":0.0168754066},{"date":"2025-10-28","symbol":"META","metric":"return","value":0.0008264353},{"date":"2025-10-29","symbol":"META","metric":"return","value":0.0003063277},{"date":"2025-10-30","symbol":"META","metric":"return","value":-0.1133464703},{"date":"2025-10-31","symbol":"META","metric":"return","value":-0.0271950505},{"date":"2025-11-03","symbol":"META","metric":"return","value":-0.016408879},{"date":"2025-11-04","symbol":"META","metric":"return","value":-0.0162902745},{"date":"2025-11-05","symbol":"META","metric":"return","value":0.0137521737},{"date":"2025-11-06","symbol":"META","metric":"return","value":-0.0267377996},{"date":"2025-11-07","symbol":"META","metric":"return","value":0.004462842},{"date":"2025-11-10","symbol":"META","metric":"return","value":0.0161783645},{"date":"2025-11-11","symbol":"META","metric":"return","value":-0.0074138614},{"date":"2025-11-12","symbol":"META","metric":"return","value":-0.0288235951},{"date":"2025-11-13","symbol":"META","metric":"return","value":0.0014461554},{"date":"2025-11-14","symbol":"META","metric":"return","value":-0.0007056237},{"date":"2025-11-17","symbol":"META","metric":"return","value":-0.0122175512},{"date":"2025-11-18","symbol":"META","metric":"return","value":-0.0071818061},{"date":"2025-11-19","symbol":"META","metric":"return","value":-0.0123241795},{"date":"2025-11-20","symbol":"META","metric":"return","value":-0.0019835888},{"date":"2025-11-21","symbol":"META","metric":"return","value":0.0086635976},{"date":"2025-11-24","symbol":"META","metric":"return","value":0.0316284083},{"date":"2025-11-25","symbol":"META","metric":"return","value":0.0377928332},{"date":"2025-11-26","symbol":"META","metric":"return","value":-0.0041057102},{"date":"2025-11-28","symbol":"META","metric":"return","value":0.0226350124},{"date":"2025-12-01","symbol":"META","metric":"return","value":-0.0109202681},{"date":"2025-12-02","symbol":"META","metric":"return","value":0.009713438},{"date":"2025-12-03","symbol":"META","metric":"return","value":-0.0115842059},{"date":"2025-12-04","symbol":"META","metric":"return","value":0.0342836578},{"date":"2025-12-05","symbol":"META","metric":"return","value":0.0179730404},{"date":"2025-12-08","symbol":"META","metric":"return","value":-0.0098235915},{"date":"2025-12-09","symbol":"META","metric":"return","value":-0.0147690091},{"date":"2025-12-10","symbol":"META","metric":"return","value":-0.0103896895},{"date":"2025-12-11","symbol":"META","metric":"return","value":0.0039716749},{"date":"2025-12-12","symbol":"META","metric":"return","value":-0.0129872121},{"date":"2025-12-15","symbol":"META","metric":"return","value":0.0059032794},{"date":"2025-12-16","symbol":"META","metric":"return","value":0.014887801},{"date":"2025-12-17","symbol":"META","metric":"return","value":-0.0116411778},{"date":"2025-12-18","symbol":"META","metric":"return","value":0.0230177059},{"date":"2025-12-19","symbol":"META","metric":"return","value":-0.0085484235},{"date":"2025-12-22","symbol":"META","metric":"return","value":0.0041440867},{"date":"2025-12-23","symbol":"META","metric":"return","value":0.0052003023},{"date":"2025-12-24","symbol":"META","metric":"return","value":0.0039251662},{"date":"2025-12-26","symbol":"META","metric":"return","value":-0.0063815445},{"date":"2025-12-29","symbol":"META","metric":"return","value":-0.0069351264},{"date":"2025-12-30","symbol":"META","metric":"return","value":0.0110218768},{"date":"2025-12-31","symbol":"META","metric":"return","value":-0.0087994594},{"date":"2026-01-02","symbol":"META","metric":"return","value":-0.0146646669},{"date":"2026-01-05","symbol":"META","metric":"return","value":0.0128841807},{"date":"2026-01-06","symbol":"META","metric":"return","value":0.0027778199},{"date":"2026-01-07","symbol":"META","metric":"return","value":-0.0180587933},{"date":"2026-01-08","symbol":"META","metric":"return","value":-0.0040543249},{"date":"2026-01-09","symbol":"META","metric":"return","value":0.010834907},{"date":"2026-01-12","symbol":"META","metric":"return","value":-0.0169815943},{"date":"2026-01-13","symbol":"META","metric":"return","value":-0.0169478325},{"date":"2026-01-14","symbol":"META","metric":"return","value":-0.0246715999},{"date":"2026-01-15","symbol":"META","metric":"return","value":0.0085781128},{"date":"2026-01-16","symbol":"META","metric":"return","value":-0.0008859536},{"date":"2026-01-20","symbol":"META","metric":"return","value":-0.0260056429},{"date":"2026-01-21","symbol":"META","metric":"return","value":0.0146328544},{"date":"2026-01-22","symbol":"META","metric":"return","value":0.0565616027},{"date":"2026-01-23","symbol":"META","metric":"return","value":0.0171857388},{"date":"2026-01-26","symbol":"META","metric":"return","value":0.0206448479},{"date":"2025-07-31","symbol":"MSFT","metric":"return","value":null},{"date":"2025-08-01","symbol":"MSFT","metric":"return","value":-0.0176062299},{"date":"2025-08-04","symbol":"MSFT","metric":"return","value":0.0220001149},{"date":"2025-08-05","symbol":"MSFT","metric":"return","value":-0.0147257194},{"date":"2025-08-06","symbol":"MSFT","metric":"return","value":-0.0053242061},{"date":"2025-08-07","symbol":"MSFT","metric":"return","value":-0.0078187727},{"date":"2025-08-08","symbol":"MSFT","metric":"return","value":0.0023120942},{"date":"2025-08-11","symbol":"MSFT","metric":"return","value":-0.0005190212},{"date":"2025-08-12","symbol":"MSFT","metric":"return","value":0.0143093434},{"date":"2025-08-13","symbol":"MSFT","metric":"return","value":-0.0163639122},{"date":"2025-08-14","symbol":"MSFT","metric":"return","value":0.0036626506},{"date":"2025-08-15","symbol":"MSFT","metric":"return","value":-0.004417555},{"date":"2025-08-18","symbol":"MSFT","metric":"return","value":-0.0059033472},{"date":"2025-08-19","symbol":"MSFT","metric":"return","value":-0.0141861864},{"date":"2025-08-20","symbol":"MSFT","metric":"return","value":-0.0079333832},{"date":"2025-08-21","symbol":"MSFT","metric":"return","value":-0.0012898105},{"date":"2025-08-22","symbol":"MSFT","metric":"return","value":0.0059209219},{"date":"2025-08-25","symbol":"MSFT","metric":"return","value":-0.0058465671},{"date":"2025-08-26","symbol":"MSFT","metric":"return","value":-0.0044107129},{"date":"2025-08-27","symbol":"MSFT","metric":"return","value":0.0093594093},{"date":"2025-08-28","symbol":"MSFT","metric":"return","value":0.0057336049},{"date":"2025-08-29","symbol":"MSFT","metric":"return","value":-0.0057992097},{"date":"2025-09-02","symbol":"MSFT","metric":"return","value":-0.0030845889},{"date":"2025-09-03","symbol":"MSFT","metric":"return","value":0.0004561863},{"date":"2025-09-04","symbol":"MSFT","metric":"return","value":0.0051743621},{"date":"2025-09-05","symbol":"MSFT","metric":"return","value":-0.0255216757},{"date":"2025-09-08","symbol":"MSFT","metric":"return","value":0.0064564443},{"date":"2025-09-09","symbol":"MSFT","metric":"return","value":0.0004223058},{"date":"2025-09-10","symbol":"MSFT","metric":"return","value":0.0039398569},{"date":"2025-09-11","symbol":"MSFT","metric":"return","value":0.0012614128},{"date":"2025-09-12","symbol":"MSFT","metric":"return","value":0.0177575139},{"date":"2025-09-15","symbol":"MSFT","metric":"return","value":0.0107083211},{"date":"2025-09-16","symbol":"MSFT","metric":"return","value":-0.0122667185},{"date":"2025-09-17","symbol":"MSFT","metric":"return","value":0.0019287921},{"date":"2025-09-18","symbol":"MSFT","metric":"return","value":-0.0030840552},{"date":"2025-09-19","symbol":"MSFT","metric":"return","value":0.0186403941},{"date":"2025-09-22","symbol":"MSFT","metric":"return","value":-0.0067123182},{"date":"2025-09-23","symbol":"MSFT","metric":"return","value":-0.0101462541},{"date":"2025-09-24","symbol":"MSFT","metric":"return","value":0.001810026},{"date":"2025-09-25","symbol":"MSFT","metric":"return","value":-0.0061272584},{"date":"2025-09-26","symbol":"MSFT","metric":"return","value":0.008733797},{"date":"2025-09-29","symbol":"MSFT","metric":"return","value":0.0061508325},{"date":"2025-09-30","symbol":"MSFT","metric":"return","value":0.0065026088},{"date":"2025-10-01","symbol":"MSFT","metric":"return","value":0.003404387},{"date":"2025-10-02","symbol":"MSFT","metric":"return","value":-0.0076338821},{"date":"2025-10-03","symbol":"MSFT","metric":"return","value":0.0031081239},{"date":"2025-10-06","symbol":"MSFT","metric":"return","value":0.0216894535},{"date":"2025-10-07","symbol":"MSFT","metric":"return","value":-0.0086811479},{"date":"2025-10-08","symbol":"MSFT","metric":"return","value":0.0016634799},{"date":"2025-10-09","symbol":"MSFT","metric":"return","value":-0.0046767328},{"date":"2025-10-10","symbol":"MSFT","metric":"return","value":-0.0218825515},{"date":"2025-10-13","symbol":"MSFT","metric":"return","value":0.0060390973},{"date":"2025-10-14","symbol":"MSFT","metric":"return","value":-0.0009355084},{"date":"2025-10-15","symbol":"MSFT","metric":"return","value":-0.0002731121},{"date":"2025-10-16","symbol":"MSFT","metric":"return","value":-0.0035514274},{"date":"2025-10-17","symbol":"MSFT","metric":"return","value":0.0038578283},{"date":"2025-10-20","symbol":"MSFT","metric":"return","value":0.0062424408},{"date":"2025-10-21","symbol":"MSFT","metric":"return","value":0.0016866349},{"date":"2025-10-22","symbol":"MSFT","metric":"return","value":0.0055739418},{"date":"2025-10-23","symbol":"MSFT","metric":"return","value":0.0000384934},{"date":"2025-10-24","symbol":"MSFT","metric":"return","value":0.005850767},{"date":"2025-10-27","symbol":"MSFT","metric":"return","value":0.0151158563},{"date":"2025-10-28","symbol":"MSFT","metric":"return","value":0.0198480765},{"date":"2025-10-29","symbol":"MSFT","metric":"return","value":-0.0009610764},{"date":"2025-10-30","symbol":"MSFT","metric":"return","value":-0.0291560292},{"date":"2025-10-31","symbol":"MSFT","metric":"return","value":-0.0151301498},{"date":"2025-11-03","symbol":"MSFT","metric":"return","value":-0.0015091711},{"date":"2025-11-04","symbol":"MSFT","metric":"return","value":-0.0052125722},{"date":"2025-11-05","symbol":"MSFT","metric":"return","value":-0.0139470557},{"date":"2025-11-06","symbol":"MSFT","metric":"return","value":-0.0198336659},{"date":"2025-11-07","symbol":"MSFT","metric":"return","value":-0.0005643227},{"date":"2025-11-10","symbol":"MSFT","metric":"return","value":0.0184718385},{"date":"2025-11-11","symbol":"MSFT","metric":"return","value":0.0053064053},{"date":"2025-11-12","symbol":"MSFT","metric":"return","value":0.0048450948},{"date":"2025-11-13","symbol":"MSFT","metric":"return","value":-0.0153668241},{"date":"2025-11-14","symbol":"MSFT","metric":"return","value":0.0136956305},{"date":"2025-11-17","symbol":"MSFT","metric":"return","value":-0.0052824853},{"date":"2025-11-18","symbol":"MSFT","metric":"return","value":-0.0269870099},{"date":"2025-11-19","symbol":"MSFT","metric":"return","value":-0.013512691},{"date":"2025-11-20","symbol":"MSFT","metric":"return","value":-0.0160013163},{"date":"2025-11-21","symbol":"MSFT","metric":"return","value":-0.0131889723},{"date":"2025-11-24","symbol":"MSFT","metric":"return","value":0.0039820385},{"date":"2025-11-25","symbol":"MSFT","metric":"return","value":0.0063080169},{"date":"2025-11-26","symbol":"MSFT","metric":"return","value":0.0178410449},{"date":"2025-11-28","symbol":"MSFT","metric":"return","value":0.0134088568},{"date":"2025-12-01","symbol":"MSFT","metric":"return","value":-0.0107111644},{"date":"2025-12-02","symbol":"MSFT","metric":"return","value":0.0066976209},{"date":"2025-12-03","symbol":"MSFT","metric":"return","value":-0.0250408163},{"date":"2025-12-04","symbol":"MSFT","metric":"return","value":0.0065099533},{"date":"2025-12-05","symbol":"MSFT","metric":"return","value":0.0048248898},{"date":"2025-12-08","symbol":"MSFT","metric":"return","value":0.016267903},{"date":"2025-12-09","symbol":"MSFT","metric":"return","value":0.0020365769},{"date":"2025-12-10","symbol":"MSFT","metric":"return","value":-0.0273566115},{"date":"2025-12-11","symbol":"MSFT","metric":"return","value":0.0102599465},{"date":"2025-12-12","symbol":"MSFT","metric":"return","value":-0.0102178005},{"date":"2025-12-15","symbol":"MSFT","metric":"return","value":-0.00775291},{"date":"2025-12-16","symbol":"MSFT","metric":"return","value":0.0033065162},{"date":"2025-12-17","symbol":"MSFT","metric":"return","value":-0.0005667625},{"date":"2025-12-18","symbol":"MSFT","metric":"return","value":0.0165084432},{"date":"2025-12-19","symbol":"MSFT","metric":"return","value":0.0040084301},{"date":"2025-12-22","symbol":"MSFT","metric":"return","value":-0.0020579519},{"date":"2025-12-23","symbol":"MSFT","metric":"return","value":0.0039800379},{"date":"2025-12-24","symbol":"MSFT","metric":"return","value":0.0024032043},{"date":"2025-12-26","symbol":"MSFT","metric":"return","value":-0.0006352199},{"date":"2025-12-29","symbol":"MSFT","metric":"return","value":-0.0012507433},{"date":"2025-12-30","symbol":"MSFT","metric":"return","value":0.0007801273},{"date":"2025-12-31","symbol":"MSFT","metric":"return","value":-0.0079182736},{"date":"2026-01-02","symbol":"MSFT","metric":"return","value":-0.022083454},{"date":"2026-01-05","symbol":"MSFT","metric":"return","value":-0.000190299},{"date":"2026-01-06","symbol":"MSFT","metric":"return","value":0.0119699693},{"date":"2026-01-07","symbol":"MSFT","metric":"return","value":0.0103655096},{"date":"2026-01-08","symbol":"MSFT","metric":"return","value":-0.0110865204},{"date":"2026-01-09","symbol":"MSFT","metric":"return","value":0.0024471356},{"date":"2026-01-12","symbol":"MSFT","metric":"return","value":-0.0043815724},{"date":"2026-01-13","symbol":"MSFT","metric":"return","value":-0.0136426506},{"date":"2026-01-14","symbol":"MSFT","metric":"return","value":-0.0239870822},{"date":"2026-01-15","symbol":"MSFT","metric":"return","value":-0.005921024},{"date":"2026-01-16","symbol":"MSFT","metric":"return","value":0.0070074016},{"date":"2026-01-20","symbol":"MSFT","metric":"return","value":-0.0116122298},{"date":"2026-01-21","symbol":"MSFT","metric":"return","value":-0.0229032826},{"date":"2026-01-22","symbol":"MSFT","metric":"return","value":0.0158294116},{"date":"2026-01-23","symbol":"MSFT","metric":"return","value":0.032827947},{"date":"2026-01-26","symbol":"MSFT","metric":"return","value":0.0092928426},{"date":"2025-07-31","symbol":"NVDA","metric":"return","value":null},{"date":"2025-08-01","symbol":"NVDA","metric":"return","value":-0.0233342705},{"date":"2025-08-04","symbol":"NVDA","metric":"return","value":0.036154289},{"date":"2025-08-05","symbol":"NVDA","metric":"return","value":-0.0096677409},{"date":"2025-08-06","symbol":"NVDA","metric":"return","value":0.006508079},{"date":"2025-08-07","symbol":"NVDA","metric":"return","value":0.0075250836},{"date":"2025-08-08","symbol":"NVDA","metric":"return","value":0.0106777317},{"date":"2025-08-11","symbol":"NVDA","metric":"return","value":-0.0035033939},{"date":"2025-08-12","symbol":"NVDA","metric":"return","value":0.006042628},{"date":"2025-08-13","symbol":"NVDA","metric":"return","value":-0.0085726766},{"date":"2025-08-14","symbol":"NVDA","metric":"return","value":0.0023682326},{"date":"2025-08-15","symbol":"NVDA","metric":"return","value":-0.0086263736},{"date":"2025-08-18","symbol":"NVDA","metric":"return","value":0.0086460123},{"date":"2025-08-19","symbol":"NVDA","metric":"return","value":-0.0350019232},{"date":"2025-08-20","symbol":"NVDA","metric":"return","value":-0.0013665869},{"date":"2025-08-21","symbol":"NVDA","metric":"return","value":-0.0023947999},{"date":"2025-08-22","symbol":"NVDA","metric":"return","value":0.0172039323},{"date":"2025-08-25","symbol":"NVDA","metric":"return","value":0.0102264427},{"date":"2025-08-26","symbol":"NVDA","metric":"return","value":0.0109016074},{"date":"2025-08-27","symbol":"NVDA","metric":"return","value":-0.0009353508},{"date":"2025-08-28","symbol":"NVDA","metric":"return","value":-0.0078753167},{"date":"2025-08-29","symbol":"NVDA","metric":"return","value":-0.0332500694},{"date":"2025-09-02","symbol":"NVDA","metric":"return","value":-0.0195222784},{"date":"2025-09-03","symbol":"NVDA","metric":"return","value":-0.0009369876},{"date":"2025-09-04","symbol":"NVDA","metric":"return","value":0.0060961313},{"date":"2025-09-05","symbol":"NVDA","metric":"return","value":-0.0270333256},{"date":"2025-09-08","symbol":"NVDA","metric":"return","value":0.0077245509},{"date":"2025-09-09","symbol":"NVDA","metric":"return","value":0.0145582031},{"date":"2025-09-10","symbol":"NVDA","metric":"return","value":0.0384795596},{"date":"2025-09-11","symbol":"NVDA","metric":"return","value":-0.000845976},{"date":"2025-09-12","symbol":"NVDA","metric":"return","value":0.0036689998},{"date":"2025-09-15","symbol":"NVDA","metric":"return","value":-0.0003936786},{"date":"2025-09-16","symbol":"NVDA","metric":"return","value":-0.0161471813},{"date":"2025-09-17","symbol":"NVDA","metric":"return","value":-0.02624807},{"date":"2025-09-18","symbol":"NVDA","metric":"return","value":0.0349424477},{"date":"2025-09-19","symbol":"NVDA","metric":"return","value":0.0024399932},{"date":"2025-09-22","symbol":"NVDA","metric":"return","value":0.0392845013},{"date":"2025-09-23","symbol":"NVDA","metric":"return","value":-0.0282135076},{"date":"2025-09-24","symbol":"NVDA","metric":"return","value":-0.0081829391},{"date":"2025-09-25","symbol":"NVDA","metric":"return","value":0.0040687161},{"date":"2025-09-26","symbol":"NVDA","metric":"return","value":0.0028140477},{"date":"2025-09-29","symbol":"NVDA","metric":"return","value":0.0205410259},{"date":"2025-09-30","symbol":"NVDA","metric":"return","value":0.0260118786},{"date":"2025-10-01","symbol":"NVDA","metric":"return","value":0.0035375462},{"date":"2025-10-02","symbol":"NVDA","metric":"return","value":0.0088126903},{"date":"2025-10-03","symbol":"NVDA","metric":"return","value":-0.0067238458},{"date":"2025-10-06","symbol":"NVDA","metric":"return","value":-0.0110868291},{"date":"2025-10-07","symbol":"NVDA","metric":"return","value":-0.0026949819},{"date":"2025-10-08","symbol":"NVDA","metric":"return","value":0.021996433},{"date":"2025-10-09","symbol":"NVDA","metric":"return","value":0.0182971973},{"date":"2025-10-10","symbol":"NVDA","metric":"return","value":-0.0488678853},{"date":"2025-10-13","symbol":"NVDA","metric":"return","value":0.0281736282},{"date":"2025-10-14","symbol":"NVDA","metric":"return","value":-0.0440231533},{"date":"2025-10-15","symbol":"NVDA","metric":"return","value":-0.0011109877},{"date":"2025-10-16","symbol":"NVDA","metric":"return","value":0.011011011},{"date":"2025-10-17","symbol":"NVDA","metric":"return","value":0.0077557756},{"date":"2025-10-20","symbol":"NVDA","metric":"return","value":-0.0031657661},{"date":"2025-10-21","symbol":"NVDA","metric":"return","value":-0.0081038165},{"date":"2025-10-22","symbol":"NVDA","metric":"return","value":-0.0048578526},{"date":"2025-10-23","symbol":"NVDA","metric":"return","value":0.0104288012},{"date":"2025-10-24","symbol":"NVDA","metric":"return","value":0.0225089212},{"date":"2025-10-27","symbol":"NVDA","metric":"return","value":0.0280805369},{"date":"2025-10-28","symbol":"NVDA","metric":"return","value":0.0498224358},{"date":"2025-10-29","symbol":"NVDA","metric":"return","value":0.0298975226},{"date":"2025-10-30","symbol":"NVDA","metric":"return","value":-0.020045404},{"date":"2025-10-31","symbol":"NVDA","metric":"return","value":-0.0019716088},{"date":"2025-11-03","symbol":"NVDA","metric":"return","value":0.0216811537},{"date":"2025-11-04","symbol":"NVDA","metric":"return","value":-0.0395900807},{"date":"2025-11-05","symbol":"NVDA","metric":"return","value":-0.017515603},{"date":"2025-11-06","symbol":"NVDA","metric":"return","value":-0.0365266393},{"date":"2025-11-07","symbol":"NVDA","metric":"return","value":0.0003722018},{"date":"2025-11-10","symbol":"NVDA","metric":"return","value":0.0579355799},{"date":"2025-11-11","symbol":"NVDA","metric":"return","value":-0.0295920418},{"date":"2025-11-12","symbol":"NVDA","metric":"return","value":0.0033134869},{"date":"2025-11-13","symbol":"NVDA","metric":"return","value":-0.0358119614},{"date":"2025-11-14","symbol":"NVDA","metric":"return","value":0.0177147444},{"date":"2025-11-17","symbol":"NVDA","metric":"return","value":-0.0187736643},{"date":"2025-11-18","symbol":"NVDA","metric":"return","value":-0.0280829626},{"date":"2025-11-19","symbol":"NVDA","metric":"return","value":0.0284532672},{"date":"2025-11-20","symbol":"NVDA","metric":"return","value":-0.0315264597},{"date":"2025-11-21","symbol":"NVDA","metric":"return","value":-0.0097436749},{"date":"2025-11-24","symbol":"NVDA","metric":"return","value":0.0205176944},{"date":"2025-11-25","symbol":"NVDA","metric":"return","value":-0.0259121288},{"date":"2025-11-26","symbol":"NVDA","metric":"return","value":0.0137225128},{"date":"2025-11-28","symbol":"NVDA","metric":"return","value":-0.0180859917},{"date":"2025-12-01","symbol":"NVDA","metric":"return","value":0.0164981072},{"date":"2025-12-02","symbol":"NVDA","metric":"return","value":0.0085598355},{"date":"2025-12-03","symbol":"NVDA","metric":"return","value":-0.0103058694},{"date":"2025-12-04","symbol":"NVDA","metric":"return","value":0.0211604856},{"date":"2025-12-05","symbol":"NVDA","metric":"return","value":-0.0052895627},{"date":"2025-12-08","symbol":"NVDA","metric":"return","value":0.0172139685},{"date":"2025-12-09","symbol":"NVDA","metric":"return","value":-0.0031258421},{"date":"2025-12-10","symbol":"NVDA","metric":"return","value":-0.0064334757},{"date":"2025-12-11","symbol":"NVDA","metric":"return","value":-0.0155076722},{"date":"2025-12-12","symbol":"NVDA","metric":"return","value":-0.0326645664},{"date":"2025-12-15","symbol":"NVDA","metric":"return","value":0.0072563136},{"date":"2025-12-16","symbol":"NVDA","metric":"return","value":0.0081116342},{"date":"2025-12-17","symbol":"NVDA","metric":"return","value":-0.0381498987},{"date":"2025-12-18","symbol":"NVDA","metric":"return","value":0.0187200187},{"date":"2025-12-19","symbol":"NVDA","metric":"return","value":0.0393361663},{"date":"2025-12-22","symbol":"NVDA","metric":"return","value":0.0149179513},{"date":"2025-12-23","symbol":"NVDA","metric":"return","value":0.0300506288},{"date":"2025-12-24","symbol":"NVDA","metric":"return","value":-0.0031710798},{"date":"2025-12-26","symbol":"NVDA","metric":"return","value":0.010179736},{"date":"2025-12-29","symbol":"NVDA","metric":"return","value":-0.0121240749},{"date":"2025-12-30","symbol":"NVDA","metric":"return","value":-0.0036127935},{"date":"2025-12-31","symbol":"NVDA","metric":"return","value":-0.0055454836},{"date":"2026-01-02","symbol":"NVDA","metric":"return","value":0.0126005362},{"date":"2026-01-05","symbol":"NVDA","metric":"return","value":-0.0038655017},{"date":"2026-01-06","symbol":"NVDA","metric":"return","value":-0.0046778652},{"date":"2026-01-07","symbol":"NVDA","metric":"return","value":0.0099871822},{"date":"2026-01-08","symbol":"NVDA","metric":"return","value":-0.0215218656},{"date":"2026-01-09","symbol":"NVDA","metric":"return","value":-0.0009727626},{"date":"2026-01-12","symbol":"NVDA","metric":"return","value":0.0004327599},{"date":"2026-01-13","symbol":"NVDA","metric":"return","value":0.0047042284},{"date":"2026-01-14","symbol":"NVDA","metric":"return","value":-0.0143695172},{"date":"2026-01-15","symbol":"NVDA","metric":"return","value":0.021349787},{"date":"2026-01-16","symbol":"NVDA","metric":"return","value":-0.0043838546},{"date":"2026-01-20","symbol":"NVDA","metric":"return","value":-0.0438167857},{"date":"2026-01-21","symbol":"NVDA","metric":"return","value":0.0294827877},{"date":"2026-01-22","symbol":"NVDA","metric":"return","value":0.0082915121},{"date":"2026-01-23","symbol":"NVDA","metric":"return","value":0.0153105388},{"date":"2026-01-26","symbol":"NVDA","metric":"return","value":-0.0063942026},{"date":"2025-07-31","symbol":"AAPL","metric":"vol20","value":null},{"date":"2025-08-01","symbol":"AAPL","metric":"vol20","value":null},{"date":"2025-08-04","symbol":"AAPL","metric":"vol20","value":0.0210799972},{"date":"2025-08-05","symbol":"AAPL","metric":"vol20","value":0.0156022108},{"date":"2025-08-06","symbol":"AAPL","metric":"vol20","value":0.0318384462},{"date":"2025-08-07","symbol":"AAPL","metric":"vol20","value":0.0296975929},{"date":"2025-08-08","symbol":"AAPL","metric":"vol20","value":0.0292969959},{"date":"2025-08-11","symbol":"AAPL","metric":"vol20","value":0.0284244991},{"date":"2025-08-12","symbol":"AAPL","metric":"vol20","value":0.0263320844},{"date":"2025-08-13","symbol":"AAPL","metric":"vol20","value":0.0246495155},{"date":"2025-08-14","symbol":"AAPL","metric":"vol20","value":0.0237732587},{"date":"2025-08-15","symbol":"AAPL","metric":"vol20","value":0.0231262644},{"date":"2025-08-18","symbol":"AAPL","metric":"vol20","value":0.0223855889},{"date":"2025-08-19","symbol":"AAPL","metric":"vol20","value":0.0216357948},{"date":"2025-08-20","symbol":"AAPL","metric":"vol20","value":0.0221083278},{"date":"2025-08-21","symbol":"AAPL","metric":"vol20","value":0.0215036722},{"date":"2025-08-22","symbol":"AAPL","metric":"vol20","value":0.0208497906},{"date":"2025-08-25","symbol":"AAPL","metric":"vol20","value":0.0202984159},{"date":"2025-08-26","symbol":"AAPL","metric":"vol20","value":0.0197137526},{"date":"2025-08-27","symbol":"AAPL","metric":"vol20","value":0.019158893},{"date":"2025-08-28","symbol":"AAPL","metric":"vol20","value":0.0186614949},{"date":"2025-08-29","symbol":"AAPL","metric":"vol20","value":0.0173087321},{"date":"2025-09-02","symbol":"AAPL","metric":"vol20","value":0.0177442141},{"date":"2025-09-03","symbol":"AAPL","metric":"vol20","value":0.0189724375},{"date":"2025-09-04","symbol":"AAPL","metric":"vol20","value":0.0161089184},{"date":"2025-09-05","symbol":"AAPL","metric":"vol20","value":0.0149679631},{"date":"2025-09-08","symbol":"AAPL","metric":"vol20","value":0.0122250064},{"date":"2025-09-09","symbol":"AAPL","metric":"vol20","value":0.0125946419},{"date":"2025-09-10","symbol":"AAPL","metric":"vol20","value":0.014478458},{"date":"2025-09-11","symbol":"AAPL","metric":"vol20","value":0.0143812273},{"date":"2025-09-12","symbol":"AAPL","metric":"vol20","value":0.0149316116},{"date":"2025-09-15","symbol":"AAPL","metric":"vol20","value":0.0150631274},{"date":"2025-09-16","symbol":"AAPL","metric":"vol20","value":0.0150671567},{"date":"2025-09-17","symbol":"AAPL","metric":"vol20","value":0.0150544964},{"date":"2025-09-18","symbol":"AAPL","metric":"vol20","value":0.0142692225},{"date":"2025-09-19","symbol":"AAPL","metric":"vol20","value":0.0155684321},{"date":"2025-09-22","symbol":"AAPL","metric":"vol20","value":0.0177418124},{"date":"2025-09-23","symbol":"AAPL","metric":"vol20","value":0.0178598706},{"date":"2025-09-24","symbol":"AAPL","metric":"vol20","value":0.0181097338},{"date":"2025-09-25","symbol":"AAPL","metric":"vol20","value":0.0183456145},{"date":"2025-09-26","symbol":"AAPL","metric":"vol20","value":0.0184901925},{"date":"2025-09-29","symbol":"AAPL","metric":"vol20","value":0.0185399808},{"date":"2025-09-30","symbol":"AAPL","metric":"vol20","value":0.0182232027},{"date":"2025-10-01","symbol":"AAPL","metric":"vol20","value":0.0165108643},{"date":"2025-10-02","symbol":"AAPL","metric":"vol20","value":0.0165192997},{"date":"2025-10-03","symbol":"AAPL","metric":"vol20","value":0.0164926212},{"date":"2025-10-06","symbol":"AAPL","metric":"vol20","value":0.0164140515},{"date":"2025-10-07","symbol":"AAPL","metric":"vol20","value":0.0158589488},{"date":"2025-10-08","symbol":"AAPL","metric":"vol20","value":0.0132711511},{"date":"2025-10-09","symbol":"AAPL","metric":"vol20","value":0.0140161519},{"date":"2025-10-10","symbol":"AAPL","metric":"vol20","value":0.016235928},{"date":"2025-10-13","symbol":"AAPL","metric":"vol20","value":0.0161968039},{"date":"2025-10-14","symbol":"AAPL","metric":"vol20","value":0.0161775575},{"date":"2025-10-15","symbol":"AAPL","metric":"vol20","value":0.0162027982},{"date":"2025-10-16","symbol":"AAPL","metric":"vol20","value":0.0162817348},{"date":"2025-10-17","symbol":"AAPL","metric":"vol20","value":0.0152853784},{"date":"2025-10-20","symbol":"AAPL","metric":"vol20","value":0.0147741587},{"date":"2025-10-21","symbol":"AAPL","metric":"vol20","value":0.0146614838},{"date":"2025-10-22","symbol":"AAPL","metric":"vol20","value":0.0150626646},{"date":"2025-10-23","symbol":"AAPL","metric":"vol20","value":0.0145649028},{"date":"2025-10-24","symbol":"AAPL","metric":"vol20","value":0.014721624},{"date":"2025-10-27","symbol":"AAPL","metric":"vol20","value":0.0153939039},{"date":"2025-10-28","symbol":"AAPL","metric":"vol20","value":0.0153944781},{"date":"2025-10-29","symbol":"AAPL","metric":"vol20","value":0.0153943349},{"date":"2025-10-30","symbol":"AAPL","metric":"vol20","value":0.0153909452},{"date":"2025-10-31","symbol":"AAPL","metric":"vol20","value":0.0154604043},{"date":"2025-11-03","symbol":"AAPL","metric":"vol20","value":0.0154534538},{"date":"2025-11-04","symbol":"AAPL","metric":"vol20","value":0.0154358387},{"date":"2025-11-05","symbol":"AAPL","metric":"vol20","value":0.0154215931},{"date":"2025-11-06","symbol":"AAPL","metric":"vol20","value":0.0148660004},{"date":"2025-11-07","symbol":"AAPL","metric":"vol20","value":0.0121434433},{"date":"2025-11-10","symbol":"AAPL","metric":"vol20","value":0.0120827714},{"date":"2025-11-11","symbol":"AAPL","metric":"vol20","value":0.0126373055},{"date":"2025-11-12","symbol":"AAPL","metric":"vol20","value":0.0129085142},{"date":"2025-11-13","symbol":"AAPL","metric":"vol20","value":0.0126830063},{"date":"2025-11-14","symbol":"AAPL","metric":"vol20","value":0.0122924408},{"date":"2025-11-17","symbol":"AAPL","metric":"vol20","value":0.0100956311},{"date":"2025-11-18","symbol":"AAPL","metric":"vol20","value":0.0100962372},{"date":"2025-11-19","symbol":"AAPL","metric":"vol20","value":0.0092390433},{"date":"2025-11-20","symbol":"AAPL","metric":"vol20","value":0.0095156398},{"date":"2025-11-21","symbol":"AAPL","metric":"vol20","value":0.010077339},{"date":"2025-11-24","symbol":"AAPL","metric":"vol20","value":0.0094512291},{"date":"2025-11-25","symbol":"AAPL","metric":"vol20","value":0.0094647134},{"date":"2025-11-26","symbol":"AAPL","metric":"vol20","value":0.0094624118},{"date":"2025-11-28","symbol":"AAPL","metric":"vol20","value":0.009426076},{"date":"2025-12-01","symbol":"AAPL","metric":"vol20","value":0.0098217825},{"date":"2025-12-02","symbol":"AAPL","metric":"vol20","value":0.0098405634},{"date":"2025-12-03","symbol":"AAPL","metric":"vol20","value":0.0101052594},{"date":"2025-12-04","symbol":"AAPL","metric":"vol20","value":0.0106273855},{"date":"2025-12-05","symbol":"AAPL","metric":"vol20","value":0.0107883965},{"date":"2025-12-08","symbol":"AAPL","metric":"vol20","value":0.0107421753},{"date":"2025-12-09","symbol":"AAPL","metric":"vol20","value":0.010764931},{"date":"2025-12-10","symbol":"AAPL","metric":"vol20","value":0.009740394},{"date":"2025-12-11","symbol":"AAPL","metric":"vol20","value":0.0096304914},{"date":"2025-12-12","symbol":"AAPL","metric":"vol20","value":0.0096083899},{"date":"2025-12-15","symbol":"AAPL","metric":"vol20","value":0.0102407369},{"date":"2025-12-16","symbol":"AAPL","metric":"vol20","value":0.0092659434},{"date":"2025-12-17","symbol":"AAPL","metric":"vol20","value":0.0096115959},{"date":"2025-12-18","symbol":"AAPL","metric":"vol20","value":0.0095805735},{"date":"2025-12-19","symbol":"AAPL","metric":"vol20","value":0.0093741273},{"date":"2025-12-22","symbol":"AAPL","metric":"vol20","value":0.0086441229},{"date":"2025-12-23","symbol":"AAPL","metric":"vol20","value":0.0078544144},{"date":"2025-12-24","symbol":"AAPL","metric":"vol20","value":0.0079066038},{"date":"2025-12-26","symbol":"AAPL","metric":"vol20","value":0.0078842909},{"date":"2025-12-29","symbol":"AAPL","metric":"vol20","value":0.007798231},{"date":"2025-12-30","symbol":"AAPL","metric":"vol20","value":0.0068132592},{"date":"2025-12-31","symbol":"AAPL","metric":"vol20","value":0.0061399559},{"date":"2026-01-02","symbol":"AAPL","metric":"vol20","value":0.006047322},{"date":"2026-01-05","symbol":"AAPL","metric":"vol20","value":0.0062017791},{"date":"2026-01-06","symbol":"AAPL","metric":"vol20","value":0.0070993915},{"date":"2026-01-07","symbol":"AAPL","metric":"vol20","value":0.0071779622},{"date":"2026-01-08","symbol":"AAPL","metric":"vol20","value":0.007186076},{"date":"2026-01-09","symbol":"AAPL","metric":"vol20","value":0.0069519778},{"date":"2026-01-12","symbol":"AAPL","metric":"vol20","value":0.0071238425},{"date":"2026-01-13","symbol":"AAPL","metric":"vol20","value":0.0072070174},{"date":"2026-01-14","symbol":"AAPL","metric":"vol20","value":0.0066584659},{"date":"2026-01-15","symbol":"AAPL","metric":"vol20","value":0.0066323481},{"date":"2026-01-16","symbol":"AAPL","metric":"vol20","value":0.0066489542},{"date":"2026-01-20","symbol":"AAPL","metric":"vol20","value":0.0095923262},{"date":"2026-01-21","symbol":"AAPL","metric":"vol20","value":0.0095088839},{"date":"2026-01-22","symbol":"AAPL","metric":"vol20","value":0.0095860108},{"date":"2026-01-23","symbol":"AAPL","metric":"vol20","value":0.0093590396},{"date":"2026-01-26","symbol":"AAPL","metric":"vol20","value":0.0119528553},{"date":"2025-07-31","symbol":"AMZN","metric":"vol20","value":null},{"date":"2025-08-01","symbol":"AMZN","metric":"vol20","value":null},{"date":"2025-08-04","symbol":"AMZN","metric":"vol20","value":0.0482676594},{"date":"2025-08-05","symbol":"AMZN","metric":"vol20","value":0.0480120663},{"date":"2025-08-06","symbol":"AMZN","metric":"vol20","value":0.0522594415},{"date":"2025-08-07","symbol":"AMZN","metric":"vol20","value":0.0457843664},{"date":"2025-08-08","symbol":"AMZN","metric":"vol20","value":0.041042654},{"date":"2025-08-11","symbol":"AMZN","metric":"vol20","value":0.0374700306},{"date":"2025-08-12","symbol":"AMZN","metric":"vol20","value":0.0348100356},{"date":"2025-08-13","symbol":"AMZN","metric":"vol20","value":0.0332586331},{"date":"2025-08-14","symbol":"AMZN","metric":"vol20","value":0.0330172735},{"date":"2025-08-15","symbol":"AMZN","metric":"vol20","value":0.0313245489},{"date":"2025-08-18","symbol":"AMZN","metric":"vol20","value":0.0298772045},{"date":"2025-08-19","symbol":"AMZN","metric":"vol20","value":0.0288872834},{"date":"2025-08-20","symbol":"AMZN","metric":"vol20","value":0.0281143876},{"date":"2025-08-21","symbol":"AMZN","metric":"vol20","value":0.0271286301},{"date":"2025-08-22","symbol":"AMZN","metric":"vol20","value":0.027571114},{"date":"2025-08-25","symbol":"AMZN","metric":"vol20","value":0.026704735},{"date":"2025-08-26","symbol":"AMZN","metric":"vol20","value":0.0259301062},{"date":"2025-08-27","symbol":"AMZN","metric":"vol20","value":0.0252074985},{"date":"2025-08-28","symbol":"AMZN","metric":"vol20","value":0.0246730342},{"date":"2025-08-29","symbol":"AMZN","metric":"vol20","value":0.0156152879},{"date":"2025-09-02","symbol":"AMZN","metric":"vol20","value":0.015711475},{"date":"2025-09-03","symbol":"AMZN","metric":"vol20","value":0.0156329023},{"date":"2025-09-04","symbol":"AMZN","metric":"vol20","value":0.0159955681},{"date":"2025-09-05","symbol":"AMZN","metric":"vol20","value":0.0164520388},{"date":"2025-09-08","symbol":"AMZN","metric":"vol20","value":0.0166687198},{"date":"2025-09-09","symbol":"AMZN","metric":"vol20","value":0.0165935691},{"date":"2025-09-10","symbol":"AMZN","metric":"vol20","value":0.0185464789},{"date":"2025-09-11","symbol":"AMZN","metric":"vol20","value":0.0183499306},{"date":"2025-09-12","symbol":"AMZN","metric":"vol20","value":0.017279889},{"date":"2025-09-15","symbol":"AMZN","metric":"vol20","value":0.0175969054},{"date":"2025-09-16","symbol":"AMZN","metric":"vol20","value":0.0177688015},{"date":"2025-09-17","symbol":"AMZN","metric":"vol20","value":0.0175815291},{"date":"2025-09-18","symbol":"AMZN","metric":"vol20","value":0.0170006683},{"date":"2025-09-19","symbol":"AMZN","metric":"vol20","value":0.0168365287},{"date":"2025-09-22","symbol":"AMZN","metric":"vol20","value":0.0158921011},{"date":"2025-09-23","symbol":"AMZN","metric":"vol20","value":0.0172666196},{"date":"2025-09-24","symbol":"AMZN","metric":"vol20","value":0.0172293111},{"date":"2025-09-25","symbol":"AMZN","metric":"vol20","value":0.0172888387},{"date":"2025-09-26","symbol":"AMZN","metric":"vol20","value":0.0171706697},{"date":"2025-09-29","symbol":"AMZN","metric":"vol20","value":0.0172886659},{"date":"2025-09-30","symbol":"AMZN","metric":"vol20","value":0.0171239982},{"date":"2025-10-01","symbol":"AMZN","metric":"vol20","value":0.0171536225},{"date":"2025-10-02","symbol":"AMZN","metric":"vol20","value":0.013922472},{"date":"2025-10-03","symbol":"AMZN","metric":"vol20","value":0.013874161},{"date":"2025-10-06","symbol":"AMZN","metric":"vol20","value":0.0134109831},{"date":"2025-10-07","symbol":"AMZN","metric":"vol20","value":0.0131554197},{"date":"2025-10-08","symbol":"AMZN","metric":"vol20","value":0.0118051},{"date":"2025-10-09","symbol":"AMZN","metric":"vol20","value":0.0121160109},{"date":"2025-10-10","symbol":"AMZN","metric":"vol20","value":0.0163788617},{"date":"2025-10-13","symbol":"AMZN","metric":"vol20","value":0.0165372881},{"date":"2025-10-14","symbol":"AMZN","metric":"vol20","value":0.0165031748},{"date":"2025-10-15","symbol":"AMZN","metric":"vol20","value":0.0164301087},{"date":"2025-10-16","symbol":"AMZN","metric":"vol20","value":0.0164285099},{"date":"2025-10-17","symbol":"AMZN","metric":"vol20","value":0.0164030394},{"date":"2025-10-20","symbol":"AMZN","metric":"vol20","value":0.0167104552},{"date":"2025-10-21","symbol":"AMZN","metric":"vol20","value":0.0164598707},{"date":"2025-10-22","symbol":"AMZN","metric":"vol20","value":0.0169845074},{"date":"2025-10-23","symbol":"AMZN","metric":"vol20","value":0.0171536773},{"date":"2025-10-24","symbol":"AMZN","metric":"vol20","value":0.0173524797},{"date":"2025-10-27","symbol":"AMZN","metric":"vol20","value":0.0173977552},{"date":"2025-10-28","symbol":"AMZN","metric":"vol20","value":0.0172266826},{"date":"2025-10-29","symbol":"AMZN","metric":"vol20","value":0.0172248622},{"date":"2025-10-30","symbol":"AMZN","metric":"vol20","value":0.0188053793},{"date":"2025-10-31","symbol":"AMZN","metric":"vol20","value":0.0281757227},{"date":"2025-11-03","symbol":"AMZN","metric":"vol20","value":0.0292042838},{"date":"2025-11-04","symbol":"AMZN","metric":"vol20","value":0.0297667525},{"date":"2025-11-05","symbol":"AMZN","metric":"vol20","value":0.0296916869},{"date":"2025-11-06","symbol":"AMZN","metric":"vol20","value":0.0306226465},{"date":"2025-11-07","symbol":"AMZN","metric":"vol20","value":0.0279019427},{"date":"2025-11-10","symbol":"AMZN","metric":"vol20","value":0.02788693},{"date":"2025-11-11","symbol":"AMZN","metric":"vol20","value":0.0273706034},{"date":"2025-11-12","symbol":"AMZN","metric":"vol20","value":0.0279370629},{"date":"2025-11-13","symbol":"AMZN","metric":"vol20","value":0.0288415249},{"date":"2025-11-14","symbol":"AMZN","metric":"vol20","value":0.0289895191},{"date":"2025-11-17","symbol":"AMZN","metric":"vol20","value":0.0290088179},{"date":"2025-11-18","symbol":"AMZN","metric":"vol20","value":0.0304496412},{"date":"2025-11-19","symbol":"AMZN","metric":"vol20","value":0.0301228631},{"date":"2025-11-20","symbol":"AMZN","metric":"vol20","value":0.0305168262},{"date":"2025-11-21","symbol":"AMZN","metric":"vol20","value":0.0305771262},{"date":"2025-11-24","symbol":"AMZN","metric":"vol20","value":0.0309967507},{"date":"2025-11-25","symbol":"AMZN","metric":"vol20","value":0.0310979791},{"date":"2025-11-26","symbol":"AMZN","metric":"vol20","value":0.0310886475},{"date":"2025-11-28","symbol":"AMZN","metric":"vol20","value":0.0303391102},{"date":"2025-12-01","symbol":"AMZN","metric":"vol20","value":0.0210015925},{"date":"2025-12-02","symbol":"AMZN","metric":"vol20","value":0.0185862375},{"date":"2025-12-03","symbol":"AMZN","metric":"vol20","value":0.0183096925},{"date":"2025-12-04","symbol":"AMZN","metric":"vol20","value":0.0183844147},{"date":"2025-12-05","symbol":"AMZN","metric":"vol20","value":0.0174981113},{"date":"2025-12-08","symbol":"AMZN","metric":"vol20","value":0.0174875509},{"date":"2025-12-09","symbol":"AMZN","metric":"vol20","value":0.0169730214},{"date":"2025-12-10","symbol":"AMZN","metric":"vol20","value":0.0175616445},{"date":"2025-12-11","symbol":"AMZN","metric":"vol20","value":0.017163449},{"date":"2025-12-12","symbol":"AMZN","metric":"vol20","value":0.0165838061},{"date":"2025-12-15","symbol":"AMZN","metric":"vol20","value":0.0167310342},{"date":"2025-12-16","symbol":"AMZN","metric":"vol20","value":0.0166937712},{"date":"2025-12-17","symbol":"AMZN","metric":"vol20","value":0.0134836239},{"date":"2025-12-18","symbol":"AMZN","metric":"vol20","value":0.0146000973},{"date":"2025-12-19","symbol":"AMZN","metric":"vol20","value":0.0132633545},{"date":"2025-12-22","symbol":"AMZN","metric":"vol20","value":0.0128682652},{"date":"2025-12-23","symbol":"AMZN","metric":"vol20","value":0.0121332302},{"date":"2025-12-24","symbol":"AMZN","metric":"vol20","value":0.0117015902},{"date":"2025-12-26","symbol":"AMZN","metric":"vol20","value":0.011682132},{"date":"2025-12-29","symbol":"AMZN","metric":"vol20","value":0.010989649},{"date":"2025-12-30","symbol":"AMZN","metric":"vol20","value":0.0109790176},{"date":"2025-12-31","symbol":"AMZN","metric":"vol20","value":0.0110735069},{"date":"2026-01-02","symbol":"AMZN","metric":"vol20","value":0.0116642511},{"date":"2026-01-05","symbol":"AMZN","metric":"vol20","value":0.0130543862},{"date":"2026-01-06","symbol":"AMZN","metric":"vol20","value":0.0149808669},{"date":"2026-01-07","symbol":"AMZN","metric":"vol20","value":0.0146128783},{"date":"2026-01-08","symbol":"AMZN","metric":"vol20","value":0.0150635008},{"date":"2026-01-09","symbol":"AMZN","metric":"vol20","value":0.014754214},{"date":"2026-01-12","symbol":"AMZN","metric":"vol20","value":0.0146691819},{"date":"2026-01-13","symbol":"AMZN","metric":"vol20","value":0.0145185163},{"date":"2026-01-14","symbol":"AMZN","metric":"vol20","value":0.0152230596},{"date":"2026-01-15","symbol":"AMZN","metric":"vol20","value":0.0152215227},{"date":"2026-01-16","symbol":"AMZN","metric":"vol20","value":0.0150632084},{"date":"2026-01-20","symbol":"AMZN","metric":"vol20","value":0.0164562783},{"date":"2026-01-21","symbol":"AMZN","metric":"vol20","value":0.0164524576},{"date":"2026-01-22","symbol":"AMZN","metric":"vol20","value":0.0166574689},{"date":"2026-01-23","symbol":"AMZN","metric":"vol20","value":0.0168867695},{"date":"2026-01-26","symbol":"AMZN","metric":"vol20","value":0.0169195857},{"date":"2025-07-31","symbol":"GOOGL","metric":"vol20","value":null},{"date":"2025-08-01","symbol":"GOOGL","metric":"vol20","value":null},{"date":"2025-08-04","symbol":"GOOGL","metric":"vol20","value":0.0322782869},{"date":"2025-08-05","symbol":"GOOGL","metric":"vol20","value":0.0235889568},{"date":"2025-08-06","symbol":"GOOGL","metric":"vol20","value":0.0192953892},{"date":"2025-08-07","symbol":"GOOGL","metric":"vol20","value":0.0167779136},{"date":"2025-08-08","symbol":"GOOGL","metric":"vol20","value":0.0170905009},{"date":"2025-08-11","symbol":"GOOGL","metric":"vol20","value":0.0160812033},{"date":"2025-08-12","symbol":"GOOGL","metric":"vol20","value":0.0149890206},{"date":"2025-08-13","symbol":"GOOGL","metric":"vol20","value":0.0147944803},{"date":"2025-08-14","symbol":"GOOGL","metric":"vol20","value":0.0139514895},{"date":"2025-08-15","symbol":"GOOGL","metric":"vol20","value":0.0132390562},{"date":"2025-08-18","symbol":"GOOGL","metric":"vol20","value":0.0128084133},{"date":"2025-08-19","symbol":"GOOGL","metric":"vol20","value":0.0129039075},{"date":"2025-08-20","symbol":"GOOGL","metric":"vol20","value":0.0130335513},{"date":"2025-08-21","symbol":"GOOGL","metric":"vol20","value":0.0125605025},{"date":"2025-08-22","symbol":"GOOGL","metric":"vol20","value":0.014134017},{"date":"2025-08-25","symbol":"GOOGL","metric":"vol20","value":0.0137931672},{"date":"2025-08-26","symbol":"GOOGL","metric":"vol20","value":0.0136514601},{"date":"2025-08-27","symbol":"GOOGL","metric":"vol20","value":0.0132812733},{"date":"2025-08-28","symbol":"GOOGL","metric":"vol20","value":0.0134030345},{"date":"2025-08-29","symbol":"GOOGL","metric":"vol20","value":0.0126014391},{"date":"2025-09-02","symbol":"GOOGL","metric":"vol20","value":0.0114349177},{"date":"2025-09-03","symbol":"GOOGL","metric":"vol20","value":0.0225152312},{"date":"2025-09-04","symbol":"GOOGL","metric":"vol20","value":0.0225158907},{"date":"2025-09-05","symbol":"GOOGL","metric":"vol20","value":0.0224704649},{"date":"2025-09-08","symbol":"GOOGL","metric":"vol20","value":0.0223148275},{"date":"2025-09-09","symbol":"GOOGL","metric":"vol20","value":0.0224631315},{"date":"2025-09-10","symbol":"GOOGL","metric":"vol20","value":0.0225866561},{"date":"2025-09-11","symbol":"GOOGL","metric":"vol20","value":0.0223205555},{"date":"2025-09-12","symbol":"GOOGL","metric":"vol20","value":0.0223611394},{"date":"2025-09-15","symbol":"GOOGL","metric":"vol20","value":0.0237337322},{"date":"2025-09-16","symbol":"GOOGL","metric":"vol20","value":0.0237301732},{"date":"2025-09-17","symbol":"GOOGL","metric":"vol20","value":0.0236035631},{"date":"2025-09-18","symbol":"GOOGL","metric":"vol20","value":0.0230226143},{"date":"2025-09-19","symbol":"GOOGL","metric":"vol20","value":0.0229079578},{"date":"2025-09-22","symbol":"GOOGL","metric":"vol20","value":0.0229020378},{"date":"2025-09-23","symbol":"GOOGL","metric":"vol20","value":0.0231085978},{"date":"2025-09-24","symbol":"GOOGL","metric":"vol20","value":0.0236690912},{"date":"2025-09-25","symbol":"GOOGL","metric":"vol20","value":0.0238408084},{"date":"2025-09-26","symbol":"GOOGL","metric":"vol20","value":0.0237222244},{"date":"2025-09-29","symbol":"GOOGL","metric":"vol20","value":0.0240633289},{"date":"2025-09-30","symbol":"GOOGL","metric":"vol20","value":0.0239662842},{"date":"2025-10-01","symbol":"GOOGL","metric":"vol20","value":0.0135699197},{"date":"2025-10-02","symbol":"GOOGL","metric":"vol20","value":0.0135375603},{"date":"2025-10-03","symbol":"GOOGL","metric":"vol20","value":0.0134094913},{"date":"2025-10-06","symbol":"GOOGL","metric":"vol20","value":0.0139503035},{"date":"2025-10-07","symbol":"GOOGL","metric":"vol20","value":0.0139213257},{"date":"2025-10-08","symbol":"GOOGL","metric":"vol20","value":0.0139682413},{"date":"2025-10-09","symbol":"GOOGL","metric":"vol20","value":0.0142702519},{"date":"2025-10-10","symbol":"GOOGL","metric":"vol20","value":0.0150029289},{"date":"2025-10-13","symbol":"GOOGL","metric":"vol20","value":0.0130897981},{"date":"2025-10-14","symbol":"GOOGL","metric":"vol20","value":0.0131758026},{"date":"2025-10-15","symbol":"GOOGL","metric":"vol20","value":0.0141299547},{"date":"2025-10-16","symbol":"GOOGL","metric":"vol20","value":0.0139529071},{"date":"2025-10-17","symbol":"GOOGL","metric":"vol20","value":0.0138375785},{"date":"2025-10-20","symbol":"GOOGL","metric":"vol20","value":0.0139812754},{"date":"2025-10-21","symbol":"GOOGL","metric":"vol20","value":0.015008882},{"date":"2025-10-22","symbol":"GOOGL","metric":"vol20","value":0.0144387743},{"date":"2025-10-23","symbol":"GOOGL","metric":"vol20","value":0.0143877614},{"date":"2025-10-24","symbol":"GOOGL","metric":"vol20","value":0.015477749},{"date":"2025-10-27","symbol":"GOOGL","metric":"vol20","value":0.0168307087},{"date":"2025-10-28","symbol":"GOOGL","metric":"vol20","value":0.016918989},{"date":"2025-10-29","symbol":"GOOGL","metric":"vol20","value":0.0175932245},{"date":"2025-10-30","symbol":"GOOGL","metric":"vol20","value":0.0180967795},{"date":"2025-10-31","symbol":"GOOGL","metric":"vol20","value":0.0180883447},{"date":"2025-11-03","symbol":"GOOGL","metric":"vol20","value":0.0178078062},{"date":"2025-11-04","symbol":"GOOGL","metric":"vol20","value":0.0180494603},{"date":"2025-11-05","symbol":"GOOGL","metric":"vol20","value":0.0182920891},{"date":"2025-11-06","symbol":"GOOGL","metric":"vol20","value":0.0177279976},{"date":"2025-11-07","symbol":"GOOGL","metric":"vol20","value":0.0177504871},{"date":"2025-11-10","symbol":"GOOGL","metric":"vol20","value":0.0184243925},{"date":"2025-11-11","symbol":"GOOGL","metric":"vol20","value":0.0184377098},{"date":"2025-11-12","symbol":"GOOGL","metric":"vol20","value":0.0189075921},{"date":"2025-11-13","symbol":"GOOGL","metric":"vol20","value":0.0204690551},{"date":"2025-11-14","symbol":"GOOGL","metric":"vol20","value":0.0206688924},{"date":"2025-11-17","symbol":"GOOGL","metric":"vol20","value":0.0214440176},{"date":"2025-11-18","symbol":"GOOGL","metric":"vol20","value":0.0204259377},{"date":"2025-11-19","symbol":"GOOGL","metric":"vol20","value":0.0210814678},{"date":"2025-11-20","symbol":"GOOGL","metric":"vol20","value":0.0215166273},{"date":"2025-11-21","symbol":"GOOGL","metric":"vol20","value":0.0219935946},{"date":"2025-11-24","symbol":"GOOGL","metric":"vol20","value":0.0245460823},{"date":"2025-11-25","symbol":"GOOGL","metric":"vol20","value":0.0243115238},{"date":"2025-11-26","symbol":"GOOGL","metric":"vol20","value":0.0243942137},{"date":"2025-11-28","symbol":"GOOGL","metric":"vol20","value":0.0240964447},{"date":"2025-12-01","symbol":"GOOGL","metric":"vol20","value":0.0246032987},{"date":"2025-12-02","symbol":"GOOGL","metric":"vol20","value":0.0246014979},{"date":"2025-12-03","symbol":"GOOGL","metric":"vol20","value":0.02376642},{"date":"2025-12-04","symbol":"GOOGL","metric":"vol20","value":0.0235989006},{"date":"2025-12-05","symbol":"GOOGL","metric":"vol20","value":0.0236091061},{"date":"2025-12-08","symbol":"GOOGL","metric":"vol20","value":0.0237397353},{"date":"2025-12-09","symbol":"GOOGL","metric":"vol20","value":0.0223776043},{"date":"2025-12-10","symbol":"GOOGL","metric":"vol20","value":0.0224064892},{"date":"2025-12-11","symbol":"GOOGL","metric":"vol20","value":0.022896906},{"date":"2025-12-12","symbol":"GOOGL","metric":"vol20","value":0.0218514124},{"date":"2025-12-15","symbol":"GOOGL","metric":"vol20","value":0.0217349522},{"date":"2025-12-16","symbol":"GOOGL","metric":"vol20","value":0.0210082233},{"date":"2025-12-17","symbol":"GOOGL","metric":"vol20","value":0.0224748879},{"date":"2025-12-18","symbol":"GOOGL","metric":"vol20","value":0.0219038879},{"date":"2025-12-19","symbol":"GOOGL","metric":"vol20","value":0.0218696632},{"date":"2025-12-22","symbol":"GOOGL","metric":"vol20","value":0.0205882904},{"date":"2025-12-23","symbol":"GOOGL","metric":"vol20","value":0.0151309774},{"date":"2025-12-24","symbol":"GOOGL","metric":"vol20","value":0.0146678494},{"date":"2025-12-26","symbol":"GOOGL","metric":"vol20","value":0.0144993805},{"date":"2025-12-29","symbol":"GOOGL","metric":"vol20","value":0.0144966648},{"date":"2025-12-30","symbol":"GOOGL","metric":"vol20","value":0.0140244094},{"date":"2025-12-31","symbol":"GOOGL","metric":"vol20","value":0.0140183553},{"date":"2026-01-02","symbol":"GOOGL","metric":"vol20","value":0.0138216726},{"date":"2026-01-05","symbol":"GOOGL","metric":"vol20","value":0.0137960804},{"date":"2026-01-06","symbol":"GOOGL","metric":"vol20","value":0.0135988672},{"date":"2026-01-07","symbol":"GOOGL","metric":"vol20","value":0.013691827},{"date":"2026-01-08","symbol":"GOOGL","metric":"vol20","value":0.0136931127},{"date":"2026-01-09","symbol":"GOOGL","metric":"vol20","value":0.0136849627},{"date":"2026-01-12","symbol":"GOOGL","metric":"vol20","value":0.0123857957},{"date":"2026-01-13","symbol":"GOOGL","metric":"vol20","value":0.0121462907},{"date":"2026-01-14","symbol":"GOOGL","metric":"vol20","value":0.012063245},{"date":"2026-01-15","symbol":"GOOGL","metric":"vol20","value":0.0122504885},{"date":"2026-01-16","symbol":"GOOGL","metric":"vol20","value":0.0093520836},{"date":"2026-01-20","symbol":"GOOGL","metric":"vol20","value":0.0108783424},{"date":"2026-01-21","symbol":"GOOGL","metric":"vol20","value":0.0111717371},{"date":"2026-01-22","symbol":"GOOGL","metric":"vol20","value":0.0111330685},{"date":"2026-01-23","symbol":"GOOGL","metric":"vol20","value":0.01105927},{"date":"2026-01-26","symbol":"GOOGL","metric":"vol20","value":0.0114672233},{"date":"2025-07-31","symbol":"META","metric":"vol20","value":null},{"date":"2025-08-01","symbol":"META","metric":"vol20","value":null},{"date":"2025-08-04","symbol":"META","metric":"vol20","value":0.0462764953},{"date":"2025-08-05","symbol":"META","metric":"vol20","value":0.0345214877},{"date":"2025-08-06","symbol":"META","metric":"vol20","value":0.0291808028},{"date":"2025-08-07","symbol":"META","metric":"vol20","value":0.0259317489},{"date":"2025-08-08","symbol":"META","metric":"vol20","value":0.0237528213},{"date":"2025-08-11","symbol":"META","metric":"vol20","value":0.0217305562},{"date":"2025-08-12","symbol":"META","metric":"vol20","value":0.023204552},{"date":"2025-08-13","symbol":"META","metric":"vol20","value":0.0223073609},{"date":"2025-08-14","symbol":"META","metric":"vol20","value":0.0210366597},{"date":"2025-08-15","symbol":"META","metric":"vol20","value":0.0199729978},{"date":"2025-08-18","symbol":"META","metric":"vol20","value":0.0202941037},{"date":"2025-08-19","symbol":"META","metric":"vol20","value":0.0202250515},{"date":"2025-08-20","symbol":"META","metric":"vol20","value":0.0194478293},{"date":"2025-08-21","symbol":"META","metric":"vol20","value":0.0188934235},{"date":"2025-08-22","symbol":"META","metric":"vol20","value":0.0192207178},{"date":"2025-08-25","symbol":"META","metric":"vol20","value":0.0186109978},{"date":"2025-08-26","symbol":"META","metric":"vol20","value":0.0180645683},{"date":"2025-08-27","symbol":"META","metric":"vol20","value":0.0176433159},{"date":"2025-08-28","symbol":"META","metric":"vol20","value":0.0172368126},{"date":"2025-08-29","symbol":"META","metric":"vol20","value":0.0162656926},{"date":"2025-09-02","symbol":"META","metric":"vol20","value":0.0139255428},{"date":"2025-09-03","symbol":"META","metric":"vol20","value":0.0135682392},{"date":"2025-09-04","symbol":"META","metric":"vol20","value":0.013832043},{"date":"2025-09-05","symbol":"META","metric":"vol20","value":0.0136185516},{"date":"2025-09-08","symbol":"META","metric":"vol20","value":0.013401372},{"date":"2025-09-09","symbol":"META","metric":"vol20","value":0.0140130081},{"date":"2025-09-10","symbol":"META","metric":"vol20","value":0.0124512631},{"date":"2025-09-11","symbol":"META","metric":"vol20","value":0.0122197531},{"date":"2025-09-12","symbol":"META","metric":"vol20","value":0.0123159209},{"date":"2025-09-15","symbol":"META","metric":"vol20","value":0.0126385538},{"date":"2025-09-16","symbol":"META","metric":"vol20","value":0.0123226465},{"date":"2025-09-17","symbol":"META","metric":"vol20","value":0.0113159394},{"date":"2025-09-18","symbol":"META","metric":"vol20","value":0.011240027},{"date":"2025-09-19","symbol":"META","metric":"vol20","value":0.0108312544},{"date":"2025-09-22","symbol":"META","metric":"vol20","value":0.0106935386},{"date":"2025-09-23","symbol":"META","metric":"vol20","value":0.011103695},{"date":"2025-09-24","symbol":"META","metric":"vol20","value":0.0112050509},{"date":"2025-09-25","symbol":"META","metric":"vol20","value":0.0115836552},{"date":"2025-09-26","symbol":"META","metric":"vol20","value":0.0116298792},{"date":"2025-09-29","symbol":"META","metric":"vol20","value":0.0109950054},{"date":"2025-09-30","symbol":"META","metric":"vol20","value":0.0112945774},{"date":"2025-10-01","symbol":"META","metric":"vol20","value":0.0124050394},{"date":"2025-10-02","symbol":"META","metric":"vol20","value":0.0122542791},{"date":"2025-10-03","symbol":"META","metric":"vol20","value":0.0130347989},{"date":"2025-10-06","symbol":"META","metric":"vol20","value":0.0132140038},{"date":"2025-10-07","symbol":"META","metric":"vol20","value":0.012330099},{"date":"2025-10-08","symbol":"META","metric":"vol20","value":0.0120339287},{"date":"2025-10-09","symbol":"META","metric":"vol20","value":0.0131821159},{"date":"2025-10-10","symbol":"META","metric":"vol20","value":0.0154691922},{"date":"2025-10-13","symbol":"META","metric":"vol20","value":0.015620828},{"date":"2025-10-14","symbol":"META","metric":"vol20","value":0.0148015384},{"date":"2025-10-15","symbol":"META","metric":"vol20","value":0.0152912402},{"date":"2025-10-16","symbol":"META","metric":"vol20","value":0.0151431124},{"date":"2025-10-17","symbol":"META","metric":"vol20","value":0.0153466392},{"date":"2025-10-20","symbol":"META","metric":"vol20","value":0.0160386619},{"date":"2025-10-21","symbol":"META","metric":"vol20","value":0.0158545538},{"date":"2025-10-22","symbol":"META","metric":"vol20","value":0.0157390537},{"date":"2025-10-23","symbol":"META","metric":"vol20","value":0.0154082563},{"date":"2025-10-24","symbol":"META","metric":"vol20","value":0.0154124278},{"date":"2025-10-27","symbol":"META","metric":"vol20","value":0.0158802807},{"date":"2025-10-28","symbol":"META","metric":"vol20","value":0.0155945787},{"date":"2025-10-29","symbol":"META","metric":"vol20","value":0.0145015587},{"date":"2025-10-30","symbol":"META","metric":"vol20","value":0.0294460469},{"date":"2025-10-31","symbol":"META","metric":"vol20","value":0.0296142282},{"date":"2025-11-03","symbol":"META","metric":"vol20","value":0.0296097942},{"date":"2025-11-04","symbol":"META","metric":"vol20","value":0.0297071036},{"date":"2025-11-05","symbol":"META","metric":"vol20","value":0.0299066636},{"date":"2025-11-06","symbol":"META","metric":"vol20","value":0.0295331664},{"date":"2025-11-07","symbol":"META","metric":"vol20","value":0.0287543725},{"date":"2025-11-10","symbol":"META","metric":"vol20","value":0.0288102594},{"date":"2025-11-11","symbol":"META","metric":"vol20","value":0.0287973146},{"date":"2025-11-12","symbol":"META","metric":"vol20","value":0.0289041763},{"date":"2025-11-13","symbol":"META","metric":"vol20","value":0.0289772552},{"date":"2025-11-14","symbol":"META","metric":"vol20","value":0.0288329461},{"date":"2025-11-17","symbol":"META","metric":"vol20","value":0.0280255417},{"date":"2025-11-18","symbol":"META","metric":"vol20","value":0.0279157098},{"date":"2025-11-19","symbol":"META","metric":"vol20","value":0.0278206228},{"date":"2025-11-20","symbol":"META","metric":"vol20","value":0.0277684346},{"date":"2025-11-21","symbol":"META","metric":"vol20","value":0.0278598931},{"date":"2025-11-24","symbol":"META","metric":"vol20","value":0.0287996977},{"date":"2025-11-25","symbol":"META","metric":"vol20","value":0.0306363365},{"date":"2025-11-26","symbol":"META","metric":"vol20","value":0.0305905932},{"date":"2025-11-28","symbol":"META","metric":"vol20","value":0.0187882874},{"date":"2025-12-01","symbol":"META","metric":"vol20","value":0.0179382583},{"date":"2025-12-02","symbol":"META","metric":"vol20","value":0.0176622796},{"date":"2025-12-03","symbol":"META","metric":"vol20","value":0.017451605},{"date":"2025-12-04","symbol":"META","metric":"vol20","value":0.0187869615},{"date":"2025-12-05","symbol":"META","metric":"vol20","value":0.0178042367},{"date":"2025-12-08","symbol":"META","metric":"vol20","value":0.0180849421},{"date":"2025-12-09","symbol":"META","metric":"vol20","value":0.01828051},{"date":"2025-12-10","symbol":"META","metric":"vol20","value":0.018374015},{"date":"2025-12-11","symbol":"META","metric":"vol20","value":0.0168847062},{"date":"2025-12-12","symbol":"META","metric":"vol20","value":0.0172855299},{"date":"2025-12-15","symbol":"META","metric":"vol20","value":0.017276475},{"date":"2025-12-16","symbol":"META","metric":"vol20","value":0.0170640745},{"date":"2025-12-17","symbol":"META","metric":"vol20","value":0.0172537803},{"date":"2025-12-18","symbol":"META","metric":"vol20","value":0.0172663904},{"date":"2025-12-19","symbol":"META","metric":"vol20","value":0.0174893775},{"date":"2025-12-22","symbol":"META","metric":"vol20","value":0.017479422},{"date":"2025-12-23","symbol":"META","metric":"vol20","value":0.0163685681},{"date":"2025-12-24","symbol":"META","metric":"vol20","value":0.0143407198},{"date":"2025-12-26","symbol":"META","metric":"vol20","value":0.0144051484},{"date":"2025-12-29","symbol":"META","metric":"vol20","value":0.0137236462},{"date":"2025-12-30","symbol":"META","metric":"vol20","value":0.0136011026},{"date":"2025-12-31","symbol":"META","metric":"vol20","value":0.0136817641},{"date":"2026-01-02","symbol":"META","metric":"vol20","value":0.0138486716},{"date":"2026-01-05","symbol":"META","metric":"vol20","value":0.0118169264},{"date":"2026-01-06","symbol":"META","metric":"vol20","value":0.0110578412},{"date":"2026-01-07","symbol":"META","metric":"vol20","value":0.0115514816},{"date":"2026-01-08","symbol":"META","metric":"vol20","value":0.0111334748},{"date":"2026-01-09","symbol":"META","metric":"vol20","value":0.0111763679},{"date":"2026-01-12","symbol":"META","metric":"vol20","value":0.0117821827},{"date":"2026-01-13","symbol":"META","metric":"vol20","value":0.0120298502},{"date":"2026-01-14","symbol":"META","metric":"vol20","value":0.0130190558},{"date":"2026-01-15","symbol":"META","metric":"vol20","value":0.0126479781},{"date":"2026-01-16","symbol":"META","metric":"vol20","value":0.0124782265},{"date":"2026-01-20","symbol":"META","metric":"vol20","value":0.0120663856},{"date":"2026-01-21","symbol":"META","metric":"vol20","value":0.0127680432},{"date":"2026-01-22","symbol":"META","metric":"vol20","value":0.0185118023},{"date":"2026-01-23","symbol":"META","metric":"vol20","value":0.0189093559},{"date":"2026-01-26","symbol":"META","metric":"vol20","value":0.0194673033},{"date":"2025-07-31","symbol":"MSFT","metric":"vol20","value":null},{"date":"2025-08-01","symbol":"MSFT","metric":"vol20","value":null},{"date":"2025-08-04","symbol":"MSFT","metric":"vol20","value":0.028005915},{"date":"2025-08-05","symbol":"MSFT","metric":"vol20","value":0.0220822206},{"date":"2025-08-06","symbol":"MSFT","metric":"vol20","value":0.0180545513},{"date":"2025-08-07","symbol":"MSFT","metric":"vol20","value":0.015732913},{"date":"2025-08-08","symbol":"MSFT","metric":"vol20","value":0.0143597626},{"date":"2025-08-11","symbol":"MSFT","metric":"vol20","value":0.0131578234},{"date":"2025-08-12","symbol":"MSFT","metric":"vol20","value":0.0136480769},{"date":"2025-08-13","symbol":"MSFT","metric":"vol20","value":0.0137652656},{"date":"2025-08-14","symbol":"MSFT","metric":"vol20","value":0.0131300398},{"date":"2025-08-15","symbol":"MSFT","metric":"vol20","value":0.0124774293},{"date":"2025-08-18","symbol":"MSFT","metric":"vol20","value":0.0119440179},{"date":"2025-08-19","symbol":"MSFT","metric":"vol20","value":0.0118834922},{"date":"2025-08-20","symbol":"MSFT","metric":"vol20","value":0.0114805737},{"date":"2025-08-21","symbol":"MSFT","metric":"vol20","value":0.0110811942},{"date":"2025-08-22","symbol":"MSFT","metric":"vol20","value":0.0109661582},{"date":"2025-08-25","symbol":"MSFT","metric":"vol20","value":0.0106404738},{"date":"2025-08-26","symbol":"MSFT","metric":"vol20","value":0.0103269806},{"date":"2025-08-27","symbol":"MSFT","metric":"vol20","value":0.0104433467},{"date":"2025-08-28","symbol":"MSFT","metric":"vol20","value":0.0103328918},{"date":"2025-08-29","symbol":"MSFT","metric":"vol20","value":0.0097227667},{"date":"2025-09-02","symbol":"MSFT","metric":"vol20","value":0.0079861521},{"date":"2025-09-03","symbol":"MSFT","metric":"vol20","value":0.0075013778},{"date":"2025-09-04","symbol":"MSFT","metric":"vol20","value":0.007627005},{"date":"2025-09-05","symbol":"MSFT","metric":"vol20","value":0.0092496268},{"date":"2025-09-08","symbol":"MSFT","metric":"vol20","value":0.0094062529},{"date":"2025-09-09","symbol":"MSFT","metric":"vol20","value":0.0094175086},{"date":"2025-09-10","symbol":"MSFT","metric":"vol20","value":0.0087227125},{"date":"2025-09-11","symbol":"MSFT","metric":"vol20","value":0.0081383958},{"date":"2025-09-12","symbol":"MSFT","metric":"vol20","value":0.0091799756},{"date":"2025-09-15","symbol":"MSFT","metric":"vol20","value":0.0095090626},{"date":"2025-09-16","symbol":"MSFT","metric":"vol20","value":0.0098068284},{"date":"2025-09-17","symbol":"MSFT","metric":"vol20","value":0.0092849065},{"date":"2025-09-18","symbol":"MSFT","metric":"vol20","value":0.0091246883},{"date":"2025-09-19","symbol":"MSFT","metric":"vol20","value":0.009979721},{"date":"2025-09-22","symbol":"MSFT","metric":"vol20","value":0.0100769981},{"date":"2025-09-23","symbol":"MSFT","metric":"vol20","value":0.0102692943},{"date":"2025-09-24","symbol":"MSFT","metric":"vol20","value":0.0102054426},{"date":"2025-09-25","symbol":"MSFT","metric":"vol20","value":0.0101130523},{"date":"2025-09-26","symbol":"MSFT","metric":"vol20","value":0.0102230222},{"date":"2025-09-29","symbol":"MSFT","metric":"vol20","value":0.0102014475},{"date":"2025-09-30","symbol":"MSFT","metric":"vol20","value":0.0102332746},{"date":"2025-10-01","symbol":"MSFT","metric":"vol20","value":0.0102416465},{"date":"2025-10-02","symbol":"MSFT","metric":"vol20","value":0.0103959016},{"date":"2025-10-03","symbol":"MSFT","metric":"vol20","value":0.0083486253},{"date":"2025-10-06","symbol":"MSFT","metric":"vol20","value":0.0093839426},{"date":"2025-10-07","symbol":"MSFT","metric":"vol20","value":0.0097301749},{"date":"2025-10-08","symbol":"MSFT","metric":"vol20","value":0.0097263647},{"date":"2025-10-09","symbol":"MSFT","metric":"vol20","value":0.0098538853},{"date":"2025-10-10","symbol":"MSFT","metric":"vol20","value":0.0105115728},{"date":"2025-10-13","symbol":"MSFT","metric":"vol20","value":0.0103148939},{"date":"2025-10-14","symbol":"MSFT","metric":"vol20","value":0.0099134985},{"date":"2025-10-15","symbol":"MSFT","metric":"vol20","value":0.0099088995},{"date":"2025-10-16","symbol":"MSFT","metric":"vol20","value":0.0099180444},{"date":"2025-10-17","symbol":"MSFT","metric":"vol20","value":0.0089912384},{"date":"2025-10-20","symbol":"MSFT","metric":"vol20","value":0.0089778987},{"date":"2025-10-21","symbol":"MSFT","metric":"vol20","value":0.0086392113},{"date":"2025-10-22","symbol":"MSFT","metric":"vol20","value":0.0087018487},{"date":"2025-10-23","symbol":"MSFT","metric":"vol20","value":0.0085421486},{"date":"2025-10-24","symbol":"MSFT","metric":"vol20","value":0.008434687},{"date":"2025-10-27","symbol":"MSFT","metric":"vol20","value":0.0089345602},{"date":"2025-10-28","symbol":"MSFT","metric":"vol20","value":0.0097743835},{"date":"2025-10-29","symbol":"MSFT","metric":"vol20","value":0.0097977074},{"date":"2025-10-30","symbol":"MSFT","metric":"vol20","value":0.0118836302},{"date":"2025-10-31","symbol":"MSFT","metric":"vol20","value":0.0124041305},{"date":"2025-11-03","symbol":"MSFT","metric":"vol20","value":0.0113178806},{"date":"2025-11-04","symbol":"MSFT","metric":"vol20","value":0.011220821},{"date":"2025-11-05","symbol":"MSFT","metric":"vol20","value":0.0115728362},{"date":"2025-11-06","symbol":"MSFT","metric":"vol20","value":0.0122575543},{"date":"2025-11-07","symbol":"MSFT","metric":"vol20","value":0.0113695771},{"date":"2025-11-10","symbol":"MSFT","metric":"vol20","value":0.012110095},{"date":"2025-11-11","symbol":"MSFT","metric":"vol20","value":0.0121844364},{"date":"2025-11-12","symbol":"MSFT","metric":"vol20","value":0.012241021},{"date":"2025-11-13","symbol":"MSFT","metric":"vol20","value":0.0126906057},{"date":"2025-11-14","symbol":"MSFT","metric":"vol20","value":0.0130634666},{"date":"2025-11-17","symbol":"MSFT","metric":"vol20","value":0.0130160941},{"date":"2025-11-18","symbol":"MSFT","metric":"vol20","value":0.0142457772},{"date":"2025-11-19","symbol":"MSFT","metric":"vol20","value":0.0143323897},{"date":"2025-11-20","symbol":"MSFT","metric":"vol20","value":0.01458728},{"date":"2025-11-21","symbol":"MSFT","metric":"vol20","value":0.0145306036},{"date":"2025-11-24","symbol":"MSFT","metric":"vol20","value":0.0139211361},{"date":"2025-11-25","symbol":"MSFT","metric":"vol20","value":0.0129151429},{"date":"2025-11-26","symbol":"MSFT","metric":"vol20","value":0.0139588686},{"date":"2025-11-28","symbol":"MSFT","metric":"vol20","value":0.0133559516},{"date":"2025-12-01","symbol":"MSFT","metric":"vol20","value":0.0131824757},{"date":"2025-12-02","symbol":"MSFT","metric":"vol20","value":0.01335507},{"date":"2025-12-03","symbol":"MSFT","metric":"vol20","value":0.014271374},{"date":"2025-12-04","symbol":"MSFT","metric":"vol20","value":0.01421574},{"date":"2025-12-05","symbol":"MSFT","metric":"vol20","value":0.0136902394},{"date":"2025-12-08","symbol":"MSFT","metric":"vol20","value":0.0142401843},{"date":"2025-12-09","symbol":"MSFT","metric":"vol20","value":0.0135515986},{"date":"2025-12-10","symbol":"MSFT","metric":"vol20","value":0.0146477275},{"date":"2025-12-11","symbol":"MSFT","metric":"vol20","value":0.0148461745},{"date":"2025-12-12","symbol":"MSFT","metric":"vol20","value":0.0146562085},{"date":"2025-12-15","symbol":"MSFT","metric":"vol20","value":0.014199993},{"date":"2025-12-16","symbol":"MSFT","metric":"vol20","value":0.0142696369},{"date":"2025-12-17","symbol":"MSFT","metric":"vol20","value":0.0131042175},{"date":"2025-12-18","symbol":"MSFT","metric":"vol20","value":0.0133896049},{"date":"2025-12-19","symbol":"MSFT","metric":"vol20","value":0.0128802718},{"date":"2025-12-22","symbol":"MSFT","metric":"vol20","value":0.0124755672},{"date":"2025-12-23","symbol":"MSFT","metric":"vol20","value":0.0124755455},{"date":"2025-12-24","symbol":"MSFT","metric":"vol20","value":0.0124253564},{"date":"2025-12-26","symbol":"MSFT","metric":"vol20","value":0.0117952282},{"date":"2025-12-29","symbol":"MSFT","metric":"vol20","value":0.0113857073},{"date":"2025-12-30","symbol":"MSFT","metric":"vol20","value":0.0111270796},{"date":"2025-12-31","symbol":"MSFT","metric":"vol20","value":0.0111533313},{"date":"2026-01-02","symbol":"MSFT","metric":"vol20","value":0.0108270151},{"date":"2026-01-05","symbol":"MSFT","metric":"vol20","value":0.0107033535},{"date":"2026-01-06","symbol":"MSFT","metric":"vol20","value":0.0110150772},{"date":"2026-01-07","symbol":"MSFT","metric":"vol20","value":0.0106161286},{"date":"2026-01-08","symbol":"MSFT","metric":"vol20","value":0.0108399408},{"date":"2026-01-09","symbol":"MSFT","metric":"vol20","value":0.0089672968},{"date":"2026-01-12","symbol":"MSFT","metric":"vol20","value":0.0086886845},{"date":"2026-01-13","symbol":"MSFT","metric":"vol20","value":0.0089185385},{"date":"2026-01-14","symbol":"MSFT","metric":"vol20","value":0.0102282278},{"date":"2026-01-15","symbol":"MSFT","metric":"vol20","value":0.0102032695},{"date":"2026-01-16","symbol":"MSFT","metric":"vol20","value":0.0104003834},{"date":"2026-01-20","symbol":"MSFT","metric":"vol20","value":0.0096878788},{"date":"2026-01-21","symbol":"MSFT","metric":"vol20","value":0.0104860744},{"date":"2026-01-22","symbol":"MSFT","metric":"vol20","value":0.0114207239},{"date":"2026-01-23","symbol":"MSFT","metric":"vol20","value":0.0139600511},{"date":"2026-01-26","symbol":"MSFT","metric":"vol20","value":0.0141605633},{"date":"2025-07-31","symbol":"NVDA","metric":"vol20","value":null},{"date":"2025-08-01","symbol":"NVDA","metric":"vol20","value":null},{"date":"2025-08-04","symbol":"NVDA","metric":"vol20","value":0.0420647638},{"date":"2025-08-05","symbol":"NVDA","metric":"vol20","value":0.0311590574},{"date":"2025-08-06","symbol":"NVDA","metric":"vol20","value":0.0255871744},{"date":"2025-08-07","symbol":"NVDA","metric":"vol20","value":0.02227667},{"date":"2025-08-08","symbol":"NVDA","metric":"vol20","value":0.0201429353},{"date":"2025-08-11","symbol":"NVDA","metric":"vol20","value":0.0186439644},{"date":"2025-08-12","symbol":"NVDA","metric":"vol20","value":0.0172847198},{"date":"2025-08-13","symbol":"NVDA","metric":"vol20","value":0.0166861143},{"date":"2025-08-14","symbol":"NVDA","metric":"vol20","value":0.0157318298},{"date":"2025-08-15","symbol":"NVDA","metric":"vol20","value":0.0152916303},{"date":"2025-08-18","symbol":"NVDA","metric":"vol20","value":0.0147286421},{"date":"2025-08-19","symbol":"NVDA","metric":"vol20","value":0.0174435388},{"date":"2025-08-20","symbol":"NVDA","metric":"vol20","value":0.0167598246},{"date":"2025-08-21","symbol":"NVDA","metric":"vol20","value":0.0161549822},{"date":"2025-08-22","symbol":"NVDA","metric":"vol20","value":0.0162550651},{"date":"2025-08-25","symbol":"NVDA","metric":"vol20","value":0.0159269099},{"date":"2025-08-26","symbol":"NVDA","metric":"vol20","value":0.0156352568},{"date":"2025-08-27","symbol":"NVDA","metric":"vol20","value":0.0152035567},{"date":"2025-08-28","symbol":"NVDA","metric":"vol20","value":0.014936631},{"date":"2025-08-29","symbol":"NVDA","metric":"vol20","value":0.0159108839},{"date":"2025-09-02","symbol":"NVDA","metric":"vol20","value":0.0140621408},{"date":"2025-09-03","symbol":"NVDA","metric":"vol20","value":0.0139641005},{"date":"2025-09-04","symbol":"NVDA","metric":"vol20","value":0.0139510417},{"date":"2025-09-05","symbol":"NVDA","metric":"vol20","value":0.0148080425},{"date":"2025-09-08","symbol":"NVDA","metric":"vol20","value":0.0146697073},{"date":"2025-09-09","symbol":"NVDA","metric":"vol20","value":0.0152458988},{"date":"2025-09-10","symbol":"NVDA","metric":"vol20","value":0.0177825431},{"date":"2025-09-11","symbol":"NVDA","metric":"vol20","value":0.0177037693},{"date":"2025-09-12","symbol":"NVDA","metric":"vol20","value":0.0177194831},{"date":"2025-09-15","symbol":"NVDA","metric":"vol20","value":0.0176287328},{"date":"2025-09-16","symbol":"NVDA","metric":"vol20","value":0.0178148919},{"date":"2025-09-17","symbol":"NVDA","metric":"vol20","value":0.0170483598},{"date":"2025-09-18","symbol":"NVDA","metric":"vol20","value":0.0188867364},{"date":"2025-09-19","symbol":"NVDA","metric":"vol20","value":0.0188798745},{"date":"2025-09-22","symbol":"NVDA","metric":"vol20","value":0.0204767385},{"date":"2025-09-23","symbol":"NVDA","metric":"vol20","value":0.021422118},{"date":"2025-09-24","symbol":"NVDA","metric":"vol20","value":0.0213280532},{"date":"2025-09-25","symbol":"NVDA","metric":"vol20","value":0.0213596558},{"date":"2025-09-26","symbol":"NVDA","metric":"vol20","value":0.0213087984},{"date":"2025-09-29","symbol":"NVDA","metric":"vol20","value":0.0203067899},{"date":"2025-09-30","symbol":"NVDA","metric":"vol20","value":0.0202774694},{"date":"2025-10-01","symbol":"NVDA","metric":"vol20","value":0.0202374429},{"date":"2025-10-02","symbol":"NVDA","metric":"vol20","value":0.0202553189},{"date":"2025-10-03","symbol":"NVDA","metric":"vol20","value":0.0190378272},{"date":"2025-10-06","symbol":"NVDA","metric":"vol20","value":0.0194095382},{"date":"2025-10-07","symbol":"NVDA","metric":"vol20","value":0.0193487609},{"date":"2025-10-08","symbol":"NVDA","metric":"vol20","value":0.0181242245},{"date":"2025-10-09","symbol":"NVDA","metric":"vol20","value":0.0183928468},{"date":"2025-10-10","symbol":"NVDA","metric":"vol20","value":0.0219087402},{"date":"2025-10-13","symbol":"NVDA","metric":"vol20","value":0.0226820057},{"date":"2025-10-14","symbol":"NVDA","metric":"vol20","value":0.0246964547},{"date":"2025-10-15","symbol":"NVDA","metric":"vol20","value":0.0238210286},{"date":"2025-10-16","symbol":"NVDA","metric":"vol20","value":0.0227071118},{"date":"2025-10-17","symbol":"NVDA","metric":"vol20","value":0.0227460227},{"date":"2025-10-20","symbol":"NVDA","metric":"vol20","value":0.0210045655},{"date":"2025-10-21","symbol":"NVDA","metric":"vol20","value":0.020044956},{"date":"2025-10-22","symbol":"NVDA","metric":"vol20","value":0.0199788741},{"date":"2025-10-23","symbol":"NVDA","metric":"vol20","value":0.0200786595},{"date":"2025-10-24","symbol":"NVDA","metric":"vol20","value":0.0206252583},{"date":"2025-10-27","symbol":"NVDA","metric":"vol20","value":0.0210386157},{"date":"2025-10-28","symbol":"NVDA","metric":"vol20","value":0.0230032766},{"date":"2025-10-29","symbol":"NVDA","metric":"vol20","value":0.0237200152},{"date":"2025-10-30","symbol":"NVDA","metric":"vol20","value":0.0243645415},{"date":"2025-10-31","symbol":"NVDA","metric":"vol20","value":0.0242788665},{"date":"2025-11-03","symbol":"NVDA","metric":"vol20","value":0.024305544},{"date":"2025-11-04","symbol":"NVDA","metric":"vol20","value":0.0262979676},{"date":"2025-11-05","symbol":"NVDA","metric":"vol20","value":0.0263507091},{"date":"2025-11-06","symbol":"NVDA","metric":"vol20","value":0.0273885424},{"date":"2025-11-07","symbol":"NVDA","metric":"vol20","value":0.0249464681},{"date":"2025-11-10","symbol":"NVDA","metric":"vol20","value":0.0273813292},{"date":"2025-11-11","symbol":"NVDA","metric":"vol20","value":0.0262397152},{"date":"2025-11-12","symbol":"NVDA","metric":"vol20","value":0.0262143209},{"date":"2025-11-13","symbol":"NVDA","metric":"vol20","value":0.0276153812},{"date":"2025-11-14","symbol":"NVDA","metric":"vol20","value":0.027818778},{"date":"2025-11-17","symbol":"NVDA","metric":"vol20","value":0.0281944595},{"date":"2025-11-18","symbol":"NVDA","metric":"vol20","value":0.0288959286},{"date":"2025-11-19","symbol":"NVDA","metric":"vol20","value":0.0295270515},{"date":"2025-11-20","symbol":"NVDA","metric":"vol20","value":0.0303832532},{"date":"2025-11-21","symbol":"NVDA","metric":"vol20","value":0.0299798908},{"date":"2025-11-24","symbol":"NVDA","metric":"vol20","value":0.0296315535},{"date":"2025-11-25","symbol":"NVDA","metric":"vol20","value":0.0274206873},{"date":"2025-11-26","symbol":"NVDA","metric":"vol20","value":0.0265379618},{"date":"2025-11-28","symbol":"NVDA","metric":"vol20","value":0.0264891646},{"date":"2025-12-01","symbol":"NVDA","metric":"vol20","value":0.0269718409},{"date":"2025-12-02","symbol":"NVDA","metric":"vol20","value":0.0264287816},{"date":"2025-12-03","symbol":"NVDA","metric":"vol20","value":0.025267441},{"date":"2025-12-04","symbol":"NVDA","metric":"vol20","value":0.0257142339},{"date":"2025-12-05","symbol":"NVDA","metric":"vol20","value":0.0244771571},{"date":"2025-12-08","symbol":"NVDA","metric":"vol20","value":0.0248229407},{"date":"2025-12-09","symbol":"NVDA","metric":"vol20","value":0.0206794372},{"date":"2025-12-10","symbol":"NVDA","metric":"vol20","value":0.0197671239},{"date":"2025-12-11","symbol":"NVDA","metric":"vol20","value":0.0199332858},{"date":"2025-12-12","symbol":"NVDA","metric":"vol20","value":0.0196733134},{"date":"2025-12-15","symbol":"NVDA","metric":"vol20","value":0.0192253714},{"date":"2025-12-16","symbol":"NVDA","metric":"vol20","value":0.0190479338},{"date":"2025-12-17","symbol":"NVDA","metric":"vol20","value":0.0198810408},{"date":"2025-12-18","symbol":"NVDA","metric":"vol20","value":0.0191835953},{"date":"2025-12-19","symbol":"NVDA","metric":"vol20","value":0.0202029632},{"date":"2025-12-22","symbol":"NVDA","metric":"vol20","value":0.0203104002},{"date":"2025-12-23","symbol":"NVDA","metric":"vol20","value":0.0208833126},{"date":"2025-12-24","symbol":"NVDA","metric":"vol20","value":0.0198782775},{"date":"2025-12-26","symbol":"NVDA","metric":"vol20","value":0.0197946271},{"date":"2025-12-29","symbol":"NVDA","metric":"vol20","value":0.0195037028},{"date":"2025-12-30","symbol":"NVDA","metric":"vol20","value":0.0193027478},{"date":"2025-12-31","symbol":"NVDA","metric":"vol20","value":0.019317983},{"date":"2026-01-02","symbol":"NVDA","metric":"vol20","value":0.0192569665},{"date":"2026-01-05","symbol":"NVDA","metric":"vol20","value":0.0188017258},{"date":"2026-01-06","symbol":"NVDA","metric":"vol20","value":0.0187906886},{"date":"2026-01-07","symbol":"NVDA","metric":"vol20","value":0.0185399238},{"date":"2026-01-08","symbol":"NVDA","metric":"vol20","value":0.0192057224},{"date":"2026-01-09","symbol":"NVDA","metric":"vol20","value":0.0191452611},{"date":"2026-01-12","symbol":"NVDA","metric":"vol20","value":0.0187734065},{"date":"2026-01-13","symbol":"NVDA","metric":"vol20","value":0.0169941398},{"date":"2026-01-14","symbol":"NVDA","metric":"vol20","value":0.0174010866},{"date":"2026-01-15","symbol":"NVDA","metric":"vol20","value":0.0178886832},{"date":"2026-01-16","symbol":"NVDA","metric":"vol20","value":0.0152240266},{"date":"2026-01-20","symbol":"NVDA","metric":"vol20","value":0.0182498962},{"date":"2026-01-21","symbol":"NVDA","metric":"vol20","value":0.0172753024},{"date":"2026-01-22","symbol":"NVDA","metric":"vol20","value":0.017052026},{"date":"2026-01-23","symbol":"NVDA","metric":"vol20","value":0.0159908872},{"date":"2026-01-26","symbol":"NVDA","metric":"vol20","value":0.0160376649},{"date":"2025-07-31","symbol":"AAPL","metric":"volume","value":80698400},{"date":"2025-08-01","symbol":"AAPL","metric":"volume","value":104434500},{"date":"2025-08-04","symbol":"AAPL","metric":"volume","value":75109300},{"date":"2025-08-05","symbol":"AAPL","metric":"volume","value":44155100},{"date":"2025-08-06","symbol":"AAPL","metric":"volume","value":108483100},{"date":"2025-08-07","symbol":"AAPL","metric":"volume","value":90224800},{"date":"2025-08-08","symbol":"AAPL","metric":"volume","value":113854000},{"date":"2025-08-11","symbol":"AAPL","metric":"volume","value":61806100},{"date":"2025-08-12","symbol":"AAPL","metric":"volume","value":55626200},{"date":"2025-08-13","symbol":"AAPL","metric":"volume","value":69878500},{"date":"2025-08-14","symbol":"AAPL","metric":"volume","value":51916300},{"date":"2025-08-15","symbol":"AAPL","metric":"volume","value":56038700},{"date":"2025-08-18","symbol":"AAPL","metric":"volume","value":37476200},{"date":"2025-08-19","symbol":"AAPL","metric":"volume","value":39402600},{"date":"2025-08-20","symbol":"AAPL","metric":"volume","value":42263900},{"date":"2025-08-21","symbol":"AAPL","metric":"volume","value":30621200},{"date":"2025-08-22","symbol":"AAPL","metric":"volume","value":42477800},{"date":"2025-08-25","symbol":"AAPL","metric":"volume","value":30983100},{"date":"2025-08-26","symbol":"AAPL","metric":"volume","value":54575100},{"date":"2025-08-27","symbol":"AAPL","metric":"volume","value":31259500},{"date":"2025-08-28","symbol":"AAPL","metric":"volume","value":38074700},{"date":"2025-08-29","symbol":"AAPL","metric":"volume","value":39418400},{"date":"2025-09-02","symbol":"AAPL","metric":"volume","value":44075600},{"date":"2025-09-03","symbol":"AAPL","metric":"volume","value":66427800},{"date":"2025-09-04","symbol":"AAPL","metric":"volume","value":47549400},{"date":"2025-09-05","symbol":"AAPL","metric":"volume","value":54870400},{"date":"2025-09-08","symbol":"AAPL","metric":"volume","value":48999500},{"date":"2025-09-09","symbol":"AAPL","metric":"volume","value":66313900},{"date":"2025-09-10","symbol":"AAPL","metric":"volume","value":83440800},{"date":"2025-09-11","symbol":"AAPL","metric":"volume","value":50208600},{"date":"2025-09-12","symbol":"AAPL","metric":"volume","value":55824200},{"date":"2025-09-15","symbol":"AAPL","metric":"volume","value":42699500},{"date":"2025-09-16","symbol":"AAPL","metric":"volume","value":63421100},{"date":"2025-09-17","symbol":"AAPL","metric":"volume","value":46508000},{"date":"2025-09-18","symbol":"AAPL","metric":"volume","value":44249600},{"date":"2025-09-19","symbol":"AAPL","metric":"volume","value":163741300},{"date":"2025-09-22","symbol":"AAPL","metric":"volume","value":105517400},{"date":"2025-09-23","symbol":"AAPL","metric":"volume","value":60275200},{"date":"2025-09-24","symbol":"AAPL","metric":"volume","value":42303700},{"date":"2025-09-25","symbol":"AAPL","metric":"volume","value":55202100},{"date":"2025-09-26","symbol":"AAPL","metric":"volume","value":46076300},{"date":"2025-09-29","symbol":"AAPL","metric":"volume","value":40127700},{"date":"2025-09-30","symbol":"AAPL","metric":"volume","value":37704300},{"date":"2025-10-01","symbol":"AAPL","metric":"volume","value":48713900},{"date":"2025-10-02","symbol":"AAPL","metric":"volume","value":42630200},{"date":"2025-10-03","symbol":"AAPL","metric":"volume","value":49155600},{"date":"2025-10-06","symbol":"AAPL","metric":"volume","value":44664100},{"date":"2025-10-07","symbol":"AAPL","metric":"volume","value":31955800},{"date":"2025-10-08","symbol":"AAPL","metric":"volume","value":36496900},{"date":"2025-10-09","symbol":"AAPL","metric":"volume","value":38322000},{"date":"2025-10-10","symbol":"AAPL","metric":"volume","value":61999100},{"date":"2025-10-13","symbol":"AAPL","metric":"volume","value":38142900},{"date":"2025-10-14","symbol":"AAPL","metric":"volume","value":35478000},{"date":"2025-10-15","symbol":"AAPL","metric":"volume","value":33893600},{"date":"2025-10-16","symbol":"AAPL","metric":"volume","value":39777000},{"date":"2025-10-17","symbol":"AAPL","metric":"volume","value":49147000},{"date":"2025-10-20","symbol":"AAPL","metric":"volume","value":90483000},{"date":"2025-10-21","symbol":"AAPL","metric":"volume","value":46695900},{"date":"2025-10-22","symbol":"AAPL","metric":"volume","value":45015300},{"date":"2025-10-23","symbol":"AAPL","metric":"volume","value":32754900},{"date":"2025-10-24","symbol":"AAPL","metric":"volume","value":38253700},{"date":"2025-10-27","symbol":"AAPL","metric":"volume","value":44888200},{"date":"2025-10-28","symbol":"AAPL","metric":"volume","value":41534800},{"date":"2025-10-29","symbol":"AAPL","metric":"volume","value":51086700},{"date":"2025-10-30","symbol":"AAPL","metric":"volume","value":69886500},{"date":"2025-10-31","symbol":"AAPL","metric":"volume","value":86167100},{"date":"2025-11-03","symbol":"AAPL","metric":"volume","value":50194600},{"date":"2025-11-04","symbol":"AAPL","metric":"volume","value":49274800},{"date":"2025-11-05","symbol":"AAPL","metric":"volume","value":43683100},{"date":"2025-11-06","symbol":"AAPL","metric":"volume","value":51204000},{"date":"2025-11-07","symbol":"AAPL","metric":"volume","value":48227400},{"date":"2025-11-10","symbol":"AAPL","metric":"volume","value":41312400},{"date":"2025-11-11","symbol":"AAPL","metric":"volume","value":46208300},{"date":"2025-11-12","symbol":"AAPL","metric":"volume","value":48398000},{"date":"2025-11-13","symbol":"AAPL","metric":"volume","value":49602800},{"date":"2025-11-14","symbol":"AAPL","metric":"volume","value":47431300},{"date":"2025-11-17","symbol":"AAPL","metric":"volume","value":45018300},{"date":"2025-11-18","symbol":"AAPL","metric":"volume","value":45677300},{"date":"2025-11-19","symbol":"AAPL","metric":"volume","value":40424500},{"date":"2025-11-20","symbol":"AAPL","metric":"volume","value":45823600},{"date":"2025-11-21","symbol":"AAPL","metric":"volume","value":59030800},{"date":"2025-11-24","symbol":"AAPL","metric":"volume","value":65585800},{"date":"2025-11-25","symbol":"AAPL","metric":"volume","value":46914200},{"date":"2025-11-26","symbol":"AAPL","metric":"volume","value":33431400},{"date":"2025-11-28","symbol":"AAPL","metric":"volume","value":20135600},{"date":"2025-12-01","symbol":"AAPL","metric":"volume","value":46587700},{"date":"2025-12-02","symbol":"AAPL","metric":"volume","value":53669500},{"date":"2025-12-03","symbol":"AAPL","metric":"volume","value":43538700},{"date":"2025-12-04","symbol":"AAPL","metric":"volume","value":43989100},{"date":"2025-12-05","symbol":"AAPL","metric":"volume","value":47265800},{"date":"2025-12-08","symbol":"AAPL","metric":"volume","value":38211800},{"date":"2025-12-09","symbol":"AAPL","metric":"volume","value":32193300},{"date":"2025-12-10","symbol":"AAPL","metric":"volume","value":33038300},{"date":"2025-12-11","symbol":"AAPL","metric":"volume","value":33248000},{"date":"2025-12-12","symbol":"AAPL","metric":"volume","value":39532900},{"date":"2025-12-15","symbol":"AAPL","metric":"volume","value":50409100},{"date":"2025-12-16","symbol":"AAPL","metric":"volume","value":37648600},{"date":"2025-12-17","symbol":"AAPL","metric":"volume","value":50138700},{"date":"2025-12-18","symbol":"AAPL","metric":"volume","value":51630700},{"date":"2025-12-19","symbol":"AAPL","metric":"volume","value":144632000},{"date":"2025-12-22","symbol":"AAPL","metric":"volume","value":36571800},{"date":"2025-12-23","symbol":"AAPL","metric":"volume","value":29642000},{"date":"2025-12-24","symbol":"AAPL","metric":"volume","value":17910600},{"date":"2025-12-26","symbol":"AAPL","metric":"volume","value":21521800},{"date":"2025-12-29","symbol":"AAPL","metric":"volume","value":23715200},{"date":"2025-12-30","symbol":"AAPL","metric":"volume","value":22139600},{"date":"2025-12-31","symbol":"AAPL","metric":"volume","value":27293600},{"date":"2026-01-02","symbol":"AAPL","metric":"volume","value":37838100},{"date":"2026-01-05","symbol":"AAPL","metric":"volume","value":45647200},{"date":"2026-01-06","symbol":"AAPL","metric":"volume","value":52352100},{"date":"2026-01-07","symbol":"AAPL","metric":"volume","value":48309800},{"date":"2026-01-08","symbol":"AAPL","metric":"volume","value":50419300},{"date":"2026-01-09","symbol":"AAPL","metric":"volume","value":39997000},{"date":"2026-01-12","symbol":"AAPL","metric":"volume","value":45263800},{"date":"2026-01-13","symbol":"AAPL","metric":"volume","value":45730800},{"date":"2026-01-14","symbol":"AAPL","metric":"volume","value":40019400},{"date":"2026-01-15","symbol":"AAPL","metric":"volume","value":39388600},{"date":"2026-01-16","symbol":"AAPL","metric":"volume","value":72142800},{"date":"2026-01-20","symbol":"AAPL","metric":"volume","value":80267500},{"date":"2026-01-21","symbol":"AAPL","metric":"volume","value":54641700},{"date":"2026-01-22","symbol":"AAPL","metric":"volume","value":39708300},{"date":"2026-01-23","symbol":"AAPL","metric":"volume","value":41689000},{"date":"2026-01-26","symbol":"AAPL","metric":"volume","value":55857900},{"date":"2025-07-31","symbol":"AMZN","metric":"volume","value":104357300},{"date":"2025-08-01","symbol":"AMZN","metric":"volume","value":122258800},{"date":"2025-08-04","symbol":"AMZN","metric":"volume","value":77890100},{"date":"2025-08-05","symbol":"AMZN","metric":"volume","value":51505100},{"date":"2025-08-06","symbol":"AMZN","metric":"volume","value":54823000},{"date":"2025-08-07","symbol":"AMZN","metric":"volume","value":40603500},{"date":"2025-08-08","symbol":"AMZN","metric":"volume","value":32970500},{"date":"2025-08-11","symbol":"AMZN","metric":"volume","value":31646200},{"date":"2025-08-12","symbol":"AMZN","metric":"volume","value":37185800},{"date":"2025-08-13","symbol":"AMZN","metric":"volume","value":36508300},{"date":"2025-08-14","symbol":"AMZN","metric":"volume","value":61545800},{"date":"2025-08-15","symbol":"AMZN","metric":"volume","value":39649200},{"date":"2025-08-18","symbol":"AMZN","metric":"volume","value":25248900},{"date":"2025-08-19","symbol":"AMZN","metric":"volume","value":29891000},{"date":"2025-08-20","symbol":"AMZN","metric":"volume","value":36604300},{"date":"2025-08-21","symbol":"AMZN","metric":"volume","value":32140500},{"date":"2025-08-22","symbol":"AMZN","metric":"volume","value":37315300},{"date":"2025-08-25","symbol":"AMZN","metric":"volume","value":22633700},{"date":"2025-08-26","symbol":"AMZN","metric":"volume","value":26105400},{"date":"2025-08-27","symbol":"AMZN","metric":"volume","value":21254500},{"date":"2025-08-28","symbol":"AMZN","metric":"volume","value":33679600},{"date":"2025-08-29","symbol":"AMZN","metric":"volume","value":26199200},{"date":"2025-09-02","symbol":"AMZN","metric":"volume","value":38843900},{"date":"2025-09-03","symbol":"AMZN","metric":"volume","value":29223100},{"date":"2025-09-04","symbol":"AMZN","metric":"volume","value":59391800},{"date":"2025-09-05","symbol":"AMZN","metric":"volume","value":36721800},{"date":"2025-09-08","symbol":"AMZN","metric":"volume","value":33947100},{"date":"2025-09-09","symbol":"AMZN","metric":"volume","value":27033800},{"date":"2025-09-10","symbol":"AMZN","metric":"volume","value":60907700},{"date":"2025-09-11","symbol":"AMZN","metric":"volume","value":37485600},{"date":"2025-09-12","symbol":"AMZN","metric":"volume","value":38496200},{"date":"2025-09-15","symbol":"AMZN","metric":"volume","value":33243300},{"date":"2025-09-16","symbol":"AMZN","metric":"volume","value":38203900},{"date":"2025-09-17","symbol":"AMZN","metric":"volume","value":42815200},{"date":"2025-09-18","symbol":"AMZN","metric":"volume","value":37931700},{"date":"2025-09-19","symbol":"AMZN","metric":"volume","value":97943200},{"date":"2025-09-22","symbol":"AMZN","metric":"volume","value":45914500},{"date":"2025-09-23","symbol":"AMZN","metric":"volume","value":70956200},{"date":"2025-09-24","symbol":"AMZN","metric":"volume","value":49509000},{"date":"2025-09-25","symbol":"AMZN","metric":"volume","value":52226300},{"date":"2025-09-26","symbol":"AMZN","metric":"volume","value":41650100},{"date":"2025-09-29","symbol":"AMZN","metric":"volume","value":44259200},{"date":"2025-09-30","symbol":"AMZN","metric":"volume","value":48396400},{"date":"2025-10-01","symbol":"AMZN","metric":"volume","value":43933800},{"date":"2025-10-02","symbol":"AMZN","metric":"volume","value":41258600},{"date":"2025-10-03","symbol":"AMZN","metric":"volume","value":43639000},{"date":"2025-10-06","symbol":"AMZN","metric":"volume","value":43690900},{"date":"2025-10-07","symbol":"AMZN","metric":"volume","value":31194700},{"date":"2025-10-08","symbol":"AMZN","metric":"volume","value":46686000},{"date":"2025-10-09","symbol":"AMZN","metric":"volume","value":46412100},{"date":"2025-10-10","symbol":"AMZN","metric":"volume","value":72367500},{"date":"2025-10-13","symbol":"AMZN","metric":"volume","value":37809700},{"date":"2025-10-14","symbol":"AMZN","metric":"volume","value":45665600},{"date":"2025-10-15","symbol":"AMZN","metric":"volume","value":45909500},{"date":"2025-10-16","symbol":"AMZN","metric":"volume","value":42414600},{"date":"2025-10-17","symbol":"AMZN","metric":"volume","value":45986900},{"date":"2025-10-20","symbol":"AMZN","metric":"volume","value":38882800},{"date":"2025-10-21","symbol":"AMZN","metric":"volume","value":50494600},{"date":"2025-10-22","symbol":"AMZN","metric":"volume","value":44308500},{"date":"2025-10-23","symbol":"AMZN","metric":"volume","value":31540000},{"date":"2025-10-24","symbol":"AMZN","metric":"volume","value":38685100},{"date":"2025-10-27","symbol":"AMZN","metric":"volume","value":38267000},{"date":"2025-10-28","symbol":"AMZN","metric":"volume","value":47100000},{"date":"2025-10-29","symbol":"AMZN","metric":"volume","value":52036200},{"date":"2025-10-30","symbol":"AMZN","metric":"volume","value":102252900},{"date":"2025-10-31","symbol":"AMZN","metric":"volume","value":166340800},{"date":"2025-11-03","symbol":"AMZN","metric":"volume","value":95997800},{"date":"2025-11-04","symbol":"AMZN","metric":"volume","value":51546300},{"date":"2025-11-05","symbol":"AMZN","metric":"volume","value":40610700},{"date":"2025-11-06","symbol":"AMZN","metric":"volume","value":46004200},{"date":"2025-11-07","symbol":"AMZN","metric":"volume","value":46374300},{"date":"2025-11-10","symbol":"AMZN","metric":"volume","value":36476500},{"date":"2025-11-11","symbol":"AMZN","metric":"volume","value":23564100},{"date":"2025-11-12","symbol":"AMZN","metric":"volume","value":31190100},{"date":"2025-11-13","symbol":"AMZN","metric":"volume","value":41401700},{"date":"2025-11-14","symbol":"AMZN","metric":"volume","value":38956700},{"date":"2025-11-17","symbol":"AMZN","metric":"volume","value":59919000},{"date":"2025-11-18","symbol":"AMZN","metric":"volume","value":60608400},{"date":"2025-11-19","symbol":"AMZN","metric":"volume","value":58335600},{"date":"2025-11-20","symbol":"AMZN","metric":"volume","value":50309000},{"date":"2025-11-21","symbol":"AMZN","metric":"volume","value":68490500},{"date":"2025-11-24","symbol":"AMZN","metric":"volume","value":54318400},{"date":"2025-11-25","symbol":"AMZN","metric":"volume","value":39379300},{"date":"2025-11-26","symbol":"AMZN","metric":"volume","value":38497900},{"date":"2025-11-28","symbol":"AMZN","metric":"volume","value":20292300},{"date":"2025-12-01","symbol":"AMZN","metric":"volume","value":42904000},{"date":"2025-12-02","symbol":"AMZN","metric":"volume","value":45785400},{"date":"2025-12-03","symbol":"AMZN","metric":"volume","value":35495100},{"date":"2025-12-04","symbol":"AMZN","metric":"volume","value":45683200},{"date":"2025-12-05","symbol":"AMZN","metric":"volume","value":33117400},{"date":"2025-12-08","symbol":"AMZN","metric":"volume","value":35019200},{"date":"2025-12-09","symbol":"AMZN","metric":"volume","value":25841700},{"date":"2025-12-10","symbol":"AMZN","metric":"volume","value":38790700},{"date":"2025-12-11","symbol":"AMZN","metric":"volume","value":28249600},{"date":"2025-12-12","symbol":"AMZN","metric":"volume","value":35639100},{"date":"2025-12-15","symbol":"AMZN","metric":"volume","value":47286100},{"date":"2025-12-16","symbol":"AMZN","metric":"volume","value":39298900},{"date":"2025-12-17","symbol":"AMZN","metric":"volume","value":44034400},{"date":"2025-12-18","symbol":"AMZN","metric":"volume","value":50272400},{"date":"2025-12-19","symbol":"AMZN","metric":"volume","value":85544400},{"date":"2025-12-22","symbol":"AMZN","metric":"volume","value":32261300},{"date":"2025-12-23","symbol":"AMZN","metric":"volume","value":29230200},{"date":"2025-12-24","symbol":"AMZN","metric":"volume","value":11420500},{"date":"2025-12-26","symbol":"AMZN","metric":"volume","value":15994700},{"date":"2025-12-29","symbol":"AMZN","metric":"volume","value":19797900},{"date":"2025-12-30","symbol":"AMZN","metric":"volume","value":21910500},{"date":"2025-12-31","symbol":"AMZN","metric":"volume","value":24383700},{"date":"2026-01-02","symbol":"AMZN","metric":"volume","value":51456200},{"date":"2026-01-05","symbol":"AMZN","metric":"volume","value":49733300},{"date":"2026-01-06","symbol":"AMZN","metric":"volume","value":53764700},{"date":"2026-01-07","symbol":"AMZN","metric":"volume","value":42236500},{"date":"2026-01-08","symbol":"AMZN","metric":"volume","value":39509800},{"date":"2026-01-09","symbol":"AMZN","metric":"volume","value":34560000},{"date":"2026-01-12","symbol":"AMZN","metric":"volume","value":35867800},{"date":"2026-01-13","symbol":"AMZN","metric":"volume","value":38371800},{"date":"2026-01-14","symbol":"AMZN","metric":"volume","value":41410600},{"date":"2026-01-15","symbol":"AMZN","metric":"volume","value":43003600},{"date":"2026-01-16","symbol":"AMZN","metric":"volume","value":45888300},{"date":"2026-01-20","symbol":"AMZN","metric":"volume","value":47737900},{"date":"2026-01-21","symbol":"AMZN","metric":"volume","value":47276100},{"date":"2026-01-22","symbol":"AMZN","metric":"volume","value":31913300},{"date":"2026-01-23","symbol":"AMZN","metric":"volume","value":33778500},{"date":"2026-01-26","symbol":"AMZN","metric":"volume","value":32764700},{"date":"2025-07-31","symbol":"GOOGL","metric":"volume","value":51329200},{"date":"2025-08-01","symbol":"GOOGL","metric":"volume","value":34832200},{"date":"2025-08-04","symbol":"GOOGL","metric":"volume","value":31547400},{"date":"2025-08-05","symbol":"GOOGL","metric":"volume","value":31602300},{"date":"2025-08-06","symbol":"GOOGL","metric":"volume","value":21562900},{"date":"2025-08-07","symbol":"GOOGL","metric":"volume","value":26321800},{"date":"2025-08-08","symbol":"GOOGL","metric":"volume","value":39161800},{"date":"2025-08-11","symbol":"GOOGL","metric":"volume","value":25832400},{"date":"2025-08-12","symbol":"GOOGL","metric":"volume","value":30397900},{"date":"2025-08-13","symbol":"GOOGL","metric":"volume","value":28342900},{"date":"2025-08-14","symbol":"GOOGL","metric":"volume","value":25230400},{"date":"2025-08-15","symbol":"GOOGL","metric":"volume","value":34931400},{"date":"2025-08-18","symbol":"GOOGL","metric":"volume","value":18526600},{"date":"2025-08-19","symbol":"GOOGL","metric":"volume","value":24240200},{"date":"2025-08-20","symbol":"GOOGL","metric":"volume","value":28955500},{"date":"2025-08-21","symbol":"GOOGL","metric":"volume","value":19774600},{"date":"2025-08-22","symbol":"GOOGL","metric":"volume","value":42827000},{"date":"2025-08-25","symbol":"GOOGL","metric":"volume","value":29928900},{"date":"2025-08-26","symbol":"GOOGL","metric":"volume","value":28464100},{"date":"2025-08-27","symbol":"GOOGL","metric":"volume","value":23022900},{"date":"2025-08-28","symbol":"GOOGL","metric":"volume","value":32339300},{"date":"2025-08-29","symbol":"GOOGL","metric":"volume","value":39728400},{"date":"2025-09-02","symbol":"GOOGL","metric":"volume","value":47523000},{"date":"2025-09-03","symbol":"GOOGL","metric":"volume","value":103336100},{"date":"2025-09-04","symbol":"GOOGL","metric":"volume","value":51684200},{"date":"2025-09-05","symbol":"GOOGL","metric":"volume","value":46588900},{"date":"2025-09-08","symbol":"GOOGL","metric":"volume","value":32474700},{"date":"2025-09-09","symbol":"GOOGL","metric":"volume","value":38061000},{"date":"2025-09-10","symbol":"GOOGL","metric":"volume","value":35141100},{"date":"2025-09-11","symbol":"GOOGL","metric":"volume","value":30599300},{"date":"2025-09-12","symbol":"GOOGL","metric":"volume","value":26771600},{"date":"2025-09-15","symbol":"GOOGL","metric":"volume","value":58383800},{"date":"2025-09-16","symbol":"GOOGL","metric":"volume","value":34109700},{"date":"2025-09-17","symbol":"GOOGL","metric":"volume","value":34108000},{"date":"2025-09-18","symbol":"GOOGL","metric":"volume","value":31239500},{"date":"2025-09-19","symbol":"GOOGL","metric":"volume","value":55571400},{"date":"2025-09-22","symbol":"GOOGL","metric":"volume","value":32290500},{"date":"2025-09-23","symbol":"GOOGL","metric":"volume","value":26628000},{"date":"2025-09-24","symbol":"GOOGL","metric":"volume","value":28201000},{"date":"2025-09-25","symbol":"GOOGL","metric":"volume","value":31020400},{"date":"2025-09-26","symbol":"GOOGL","metric":"volume","value":18503200},{"date":"2025-09-29","symbol":"GOOGL","metric":"volume","value":32505800},{"date":"2025-09-30","symbol":"GOOGL","metric":"volume","value":34724300},{"date":"2025-10-01","symbol":"GOOGL","metric":"volume","value":31658200},{"date":"2025-10-02","symbol":"GOOGL","metric":"volume","value":25483300},{"date":"2025-10-03","symbol":"GOOGL","metric":"volume","value":30249600},{"date":"2025-10-06","symbol":"GOOGL","metric":"volume","value":28894700},{"date":"2025-10-07","symbol":"GOOGL","metric":"volume","value":23181300},{"date":"2025-10-08","symbol":"GOOGL","metric":"volume","value":21307100},{"date":"2025-10-09","symbol":"GOOGL","metric":"volume","value":27892100},{"date":"2025-10-10","symbol":"GOOGL","metric":"volume","value":33180300},{"date":"2025-10-13","symbol":"GOOGL","metric":"volume","value":24995000},{"date":"2025-10-14","symbol":"GOOGL","metric":"volume","value":22111600},{"date":"2025-10-15","symbol":"GOOGL","metric":"volume","value":27007700},{"date":"2025-10-16","symbol":"GOOGL","metric":"volume","value":27997200},{"date":"2025-10-17","symbol":"GOOGL","metric":"volume","value":29671600},{"date":"2025-10-20","symbol":"GOOGL","metric":"volume","value":22350200},{"date":"2025-10-21","symbol":"GOOGL","metric":"volume","value":47312100},{"date":"2025-10-22","symbol":"GOOGL","metric":"volume","value":35029400},{"date":"2025-10-23","symbol":"GOOGL","metric":"volume","value":19901400},{"date":"2025-10-24","symbol":"GOOGL","metric":"volume","value":28655100},{"date":"2025-10-27","symbol":"GOOGL","metric":"volume","value":35235200},{"date":"2025-10-28","symbol":"GOOGL","metric":"volume","value":29738600},{"date":"2025-10-29","symbol":"GOOGL","metric":"volume","value":43580300},{"date":"2025-10-30","symbol":"GOOGL","metric":"volume","value":74876000},{"date":"2025-10-31","symbol":"GOOGL","metric":"volume","value":39267900},{"date":"2025-11-03","symbol":"GOOGL","metric":"volume","value":29786000},{"date":"2025-11-04","symbol":"GOOGL","metric":"volume","value":30078400},{"date":"2025-11-05","symbol":"GOOGL","metric":"volume","value":31010300},{"date":"2025-11-06","symbol":"GOOGL","metric":"volume","value":37173600},{"date":"2025-11-07","symbol":"GOOGL","metric":"volume","value":34479600},{"date":"2025-11-10","symbol":"GOOGL","metric":"volume","value":29557300},{"date":"2025-11-11","symbol":"GOOGL","metric":"volume","value":19842100},{"date":"2025-11-12","symbol":"GOOGL","metric":"volume","value":24829900},{"date":"2025-11-13","symbol":"GOOGL","metric":"volume","value":29494000},{"date":"2025-11-14","symbol":"GOOGL","metric":"volume","value":31647200},{"date":"2025-11-17","symbol":"GOOGL","metric":"volume","value":52670200},{"date":"2025-11-18","symbol":"GOOGL","metric":"volume","value":49158700},{"date":"2025-11-19","symbol":"GOOGL","metric":"volume","value":68198900},{"date":"2025-11-20","symbol":"GOOGL","metric":"volume","value":62025200},{"date":"2025-11-21","symbol":"GOOGL","metric":"volume","value":74137700},{"date":"2025-11-24","symbol":"GOOGL","metric":"volume","value":85165100},{"date":"2025-11-25","symbol":"GOOGL","metric":"volume","value":88632100},{"date":"2025-11-26","symbol":"GOOGL","metric":"volume","value":51373400},{"date":"2025-11-28","symbol":"GOOGL","metric":"volume","value":26018600},{"date":"2025-12-01","symbol":"GOOGL","metric":"volume","value":41183000},{"date":"2025-12-02","symbol":"GOOGL","metric":"volume","value":35854700},{"date":"2025-12-03","symbol":"GOOGL","metric":"volume","value":41838300},{"date":"2025-12-04","symbol":"GOOGL","metric":"volume","value":31240900},{"date":"2025-12-05","symbol":"GOOGL","metric":"volume","value":28851700},{"date":"2025-12-08","symbol":"GOOGL","metric":"volume","value":33909400},{"date":"2025-12-09","symbol":"GOOGL","metric":"volume","value":30194000},{"date":"2025-12-10","symbol":"GOOGL","metric":"volume","value":33428900},{"date":"2025-12-11","symbol":"GOOGL","metric":"volume","value":42353700},{"date":"2025-12-12","symbol":"GOOGL","metric":"volume","value":35940200},{"date":"2025-12-15","symbol":"GOOGL","metric":"volume","value":29151900},{"date":"2025-12-16","symbol":"GOOGL","metric":"volume","value":30585000},{"date":"2025-12-17","symbol":"GOOGL","metric":"volume","value":43930400},{"date":"2025-12-18","symbol":"GOOGL","metric":"volume","value":33518000},{"date":"2025-12-19","symbol":"GOOGL","metric":"volume","value":59943200},{"date":"2025-12-22","symbol":"GOOGL","metric":"volume","value":26429900},{"date":"2025-12-23","symbol":"GOOGL","metric":"volume","value":25478700},{"date":"2025-12-24","symbol":"GOOGL","metric":"volume","value":10097400},{"date":"2025-12-26","symbol":"GOOGL","metric":"volume","value":10899000},{"date":"2025-12-29","symbol":"GOOGL","metric":"volume","value":19621800},{"date":"2025-12-30","symbol":"GOOGL","metric":"volume","value":17380900},{"date":"2025-12-31","symbol":"GOOGL","metric":"volume","value":16377700},{"date":"2026-01-02","symbol":"GOOGL","metric":"volume","value":32009400},{"date":"2026-01-05","symbol":"GOOGL","metric":"volume","value":30195600},{"date":"2026-01-06","symbol":"GOOGL","metric":"volume","value":31212100},{"date":"2026-01-07","symbol":"GOOGL","metric":"volume","value":35104400},{"date":"2026-01-08","symbol":"GOOGL","metric":"volume","value":31896100},{"date":"2026-01-09","symbol":"GOOGL","metric":"volume","value":26214200},{"date":"2026-01-12","symbol":"GOOGL","metric":"volume","value":33923900},{"date":"2026-01-13","symbol":"GOOGL","metric":"volume","value":33517600},{"date":"2026-01-14","symbol":"GOOGL","metric":"volume","value":28525600},{"date":"2026-01-15","symbol":"GOOGL","metric":"volume","value":28442400},{"date":"2026-01-16","symbol":"GOOGL","metric":"volume","value":40341600},{"date":"2026-01-20","symbol":"GOOGL","metric":"volume","value":35361000},{"date":"2026-01-21","symbol":"GOOGL","metric":"volume","value":35386600},{"date":"2026-01-22","symbol":"GOOGL","metric":"volume","value":26253600},{"date":"2026-01-23","symbol":"GOOGL","metric":"volume","value":27280000},{"date":"2026-01-26","symbol":"GOOGL","metric":"volume","value":26011100},{"date":"2025-07-31","symbol":"META","metric":"volume","value":38831100},{"date":"2025-08-01","symbol":"META","metric":"volume","value":19028700},{"date":"2025-08-04","symbol":"META","metric":"volume","value":15801700},{"date":"2025-08-05","symbol":"META","metric":"volume","value":11640300},{"date":"2025-08-06","symbol":"META","metric":"volume","value":9733900},{"date":"2025-08-07","symbol":"META","metric":"volume","value":9019700},{"date":"2025-08-08","symbol":"META","metric":"volume","value":7320800},{"date":"2025-08-11","symbol":"META","metric":"volume","value":7612000},{"date":"2025-08-12","symbol":"META","metric":"volume","value":14563100},{"date":"2025-08-13","symbol":"META","metric":"volume","value":8811800},{"date":"2025-08-14","symbol":"META","metric":"volume","value":8116200},{"date":"2025-08-15","symbol":"META","metric":"volume","value":13375400},{"date":"2025-08-18","symbol":"META","metric":"volume","value":16513700},{"date":"2025-08-19","symbol":"META","metric":"volume","value":12286700},{"date":"2025-08-20","symbol":"META","metric":"volume","value":11898200},{"date":"2025-08-21","symbol":"META","metric":"volume","value":8876300},{"date":"2025-08-22","symbol":"META","metric":"volume","value":10612700},{"date":"2025-08-25","symbol":"META","metric":"volume","value":6861200},{"date":"2025-08-26","symbol":"META","metric":"volume","value":7601800},{"date":"2025-08-27","symbol":"META","metric":"volume","value":8315400},{"date":"2025-08-28","symbol":"META","metric":"volume","value":7468000},{"date":"2025-08-29","symbol":"META","metric":"volume","value":9070500},{"date":"2025-09-02","symbol":"META","metric":"volume","value":9350900},{"date":"2025-09-03","symbol":"META","metric":"volume","value":7699300},{"date":"2025-09-04","symbol":"META","metric":"volume","value":11439100},{"date":"2025-09-05","symbol":"META","metric":"volume","value":9663400},{"date":"2025-09-08","symbol":"META","metric":"volume","value":13087800},{"date":"2025-09-09","symbol":"META","metric":"volume","value":10999000},{"date":"2025-09-10","symbol":"META","metric":"volume","value":12478300},{"date":"2025-09-11","symbol":"META","metric":"volume","value":7923300},{"date":"2025-09-12","symbol":"META","metric":"volume","value":8248600},{"date":"2025-09-15","symbol":"META","metric":"volume","value":10533800},{"date":"2025-09-16","symbol":"META","metric":"volume","value":11782500},{"date":"2025-09-17","symbol":"META","metric":"volume","value":9400900},{"date":"2025-09-18","symbol":"META","metric":"volume","value":10955000},{"date":"2025-09-19","symbol":"META","metric":"volume","value":23696800},{"date":"2025-09-22","symbol":"META","metric":"volume","value":11706900},{"date":"2025-09-23","symbol":"META","metric":"volume","value":10872600},{"date":"2025-09-24","symbol":"META","metric":"volume","value":8828200},{"date":"2025-09-25","symbol":"META","metric":"volume","value":10591100},{"date":"2025-09-26","symbol":"META","metric":"volume","value":9696300},{"date":"2025-09-29","symbol":"META","metric":"volume","value":9246800},{"date":"2025-09-30","symbol":"META","metric":"volume","value":16226800},{"date":"2025-10-01","symbol":"META","metric":"volume","value":20419600},{"date":"2025-10-02","symbol":"META","metric":"volume","value":11415300},{"date":"2025-10-03","symbol":"META","metric":"volume","value":16154300},{"date":"2025-10-06","symbol":"META","metric":"volume","value":21654700},{"date":"2025-10-07","symbol":"META","metric":"volume","value":12062900},{"date":"2025-10-08","symbol":"META","metric":"volume","value":10790600},{"date":"2025-10-09","symbol":"META","metric":"volume","value":12717200},{"date":"2025-10-10","symbol":"META","metric":"volume","value":16980100},{"date":"2025-10-13","symbol":"META","metric":"volume","value":9251800},{"date":"2025-10-14","symbol":"META","metric":"volume","value":8829800},{"date":"2025-10-15","symbol":"META","metric":"volume","value":10246800},{"date":"2025-10-16","symbol":"META","metric":"volume","value":9017000},{"date":"2025-10-17","symbol":"META","metric":"volume","value":12232400},{"date":"2025-10-20","symbol":"META","metric":"volume","value":8900200},{"date":"2025-10-21","symbol":"META","metric":"volume","value":7647300},{"date":"2025-10-22","symbol":"META","metric":"volume","value":8734500},{"date":"2025-10-23","symbol":"META","metric":"volume","value":9856000},{"date":"2025-10-24","symbol":"META","metric":"volume","value":9151300},{"date":"2025-10-27","symbol":"META","metric":"volume","value":11321100},{"date":"2025-10-28","symbol":"META","metric":"volume","value":12193800},{"date":"2025-10-29","symbol":"META","metric":"volume","value":26818600},{"date":"2025-10-30","symbol":"META","metric":"volume","value":88440100},{"date":"2025-10-31","symbol":"META","metric":"volume","value":56953200},{"date":"2025-11-03","symbol":"META","metric":"volume","value":33003600},{"date":"2025-11-04","symbol":"META","metric":"volume","value":27356600},{"date":"2025-11-05","symbol":"META","metric":"volume","value":20219900},{"date":"2025-11-06","symbol":"META","metric":"volume","value":23628800},{"date":"2025-11-07","symbol":"META","metric":"volume","value":29946800},{"date":"2025-11-10","symbol":"META","metric":"volume","value":19245000},{"date":"2025-11-11","symbol":"META","metric":"volume","value":13302200},{"date":"2025-11-12","symbol":"META","metric":"volume","value":24493300},{"date":"2025-11-13","symbol":"META","metric":"volume","value":20973800},{"date":"2025-11-14","symbol":"META","metric":"volume","value":20724100},{"date":"2025-11-17","symbol":"META","metric":"volume","value":16501300},{"date":"2025-11-18","symbol":"META","metric":"volume","value":25500600},{"date":"2025-11-19","symbol":"META","metric":"volume","value":24744700},{"date":"2025-11-20","symbol":"META","metric":"volume","value":20603000},{"date":"2025-11-21","symbol":"META","metric":"volume","value":21052600},{"date":"2025-11-24","symbol":"META","metric":"volume","value":23554900},{"date":"2025-11-25","symbol":"META","metric":"volume","value":25213000},{"date":"2025-11-26","symbol":"META","metric":"volume","value":15209500},{"date":"2025-11-28","symbol":"META","metric":"volume","value":11033200},{"date":"2025-12-01","symbol":"META","metric":"volume","value":13029900},{"date":"2025-12-02","symbol":"META","metric":"volume","value":11640900},{"date":"2025-12-03","symbol":"META","metric":"volume","value":11134300},{"date":"2025-12-04","symbol":"META","metric":"volume","value":29874600},{"date":"2025-12-05","symbol":"META","metric":"volume","value":21207900},{"date":"2025-12-08","symbol":"META","metric":"volume","value":13161000},{"date":"2025-12-09","symbol":"META","metric":"volume","value":12997100},{"date":"2025-12-10","symbol":"META","metric":"volume","value":16910900},{"date":"2025-12-11","symbol":"META","metric":"volume","value":13056700},{"date":"2025-12-12","symbol":"META","metric":"volume","value":14016900},{"date":"2025-12-15","symbol":"META","metric":"volume","value":15549100},{"date":"2025-12-16","symbol":"META","metric":"volume","value":14309100},{"date":"2025-12-17","symbol":"META","metric":"volume","value":15598500},{"date":"2025-12-18","symbol":"META","metric":"volume","value":20260300},{"date":"2025-12-19","symbol":"META","metric":"volume","value":49977100},{"date":"2025-12-22","symbol":"META","metric":"volume","value":15659400},{"date":"2025-12-23","symbol":"META","metric":"volume","value":8486800},{"date":"2025-12-24","symbol":"META","metric":"volume","value":5627500},{"date":"2025-12-26","symbol":"META","metric":"volume","value":7133800},{"date":"2025-12-29","symbol":"META","metric":"volume","value":8506500},{"date":"2025-12-30","symbol":"META","metric":"volume","value":9187500},{"date":"2025-12-31","symbol":"META","metric":"volume","value":7940400},{"date":"2026-01-02","symbol":"META","metric":"volume","value":13726500},{"date":"2026-01-05","symbol":"META","metric":"volume","value":12213700},{"date":"2026-01-06","symbol":"META","metric":"volume","value":11074400},{"date":"2026-01-07","symbol":"META","metric":"volume","value":12846300},{"date":"2026-01-08","symbol":"META","metric":"volume","value":11921700},{"date":"2026-01-09","symbol":"META","metric":"volume","value":11634900},{"date":"2026-01-12","symbol":"META","metric":"volume","value":14797200},{"date":"2026-01-13","symbol":"META","metric":"volume","value":18030400},{"date":"2026-01-14","symbol":"META","metric":"volume","value":15527900},{"date":"2026-01-15","symbol":"META","metric":"volume","value":13076100},{"date":"2026-01-16","symbol":"META","metric":"volume","value":17012500},{"date":"2026-01-20","symbol":"META","metric":"volume","value":15169600},{"date":"2026-01-21","symbol":"META","metric":"volume","value":14494700},{"date":"2026-01-22","symbol":"META","metric":"volume","value":21394700},{"date":"2026-01-23","symbol":"META","metric":"volume","value":22797700},{"date":"2026-01-26","symbol":"META","metric":"volume","value":16293000},{"date":"2025-07-31","symbol":"MSFT","metric":"volume","value":51617300},{"date":"2025-08-01","symbol":"MSFT","metric":"volume","value":28977600},{"date":"2025-08-04","symbol":"MSFT","metric":"volume","value":25349000},{"date":"2025-08-05","symbol":"MSFT","metric":"volume","value":19171600},{"date":"2025-08-06","symbol":"MSFT","metric":"volume","value":21355700},{"date":"2025-08-07","symbol":"MSFT","metric":"volume","value":16079100},{"date":"2025-08-08","symbol":"MSFT","metric":"volume","value":15531000},{"date":"2025-08-11","symbol":"MSFT","metric":"volume","value":20194400},{"date":"2025-08-12","symbol":"MSFT","metric":"volume","value":18667000},{"date":"2025-08-13","symbol":"MSFT","metric":"volume","value":19619200},{"date":"2025-08-14","symbol":"MSFT","metric":"volume","value":20269100},{"date":"2025-08-15","symbol":"MSFT","metric":"volume","value":25213300},{"date":"2025-08-18","symbol":"MSFT","metric":"volume","value":23760600},{"date":"2025-08-19","symbol":"MSFT","metric":"volume","value":21481000},{"date":"2025-08-20","symbol":"MSFT","metric":"volume","value":27723000},{"date":"2025-08-21","symbol":"MSFT","metric":"volume","value":18443300},{"date":"2025-08-22","symbol":"MSFT","metric":"volume","value":24324200},{"date":"2025-08-25","symbol":"MSFT","metric":"volume","value":21638600},{"date":"2025-08-26","symbol":"MSFT","metric":"volume","value":30835700},{"date":"2025-08-27","symbol":"MSFT","metric":"volume","value":17277900},{"date":"2025-08-28","symbol":"MSFT","metric":"volume","value":18015600},{"date":"2025-08-29","symbol":"MSFT","metric":"volume","value":20961600},{"date":"2025-09-02","symbol":"MSFT","metric":"volume","value":18128000},{"date":"2025-09-03","symbol":"MSFT","metric":"volume","value":16345100},{"date":"2025-09-04","symbol":"MSFT","metric":"volume","value":15509500},{"date":"2025-09-05","symbol":"MSFT","metric":"volume","value":31994800},{"date":"2025-09-08","symbol":"MSFT","metric":"volume","value":16771000},{"date":"2025-09-09","symbol":"MSFT","metric":"volume","value":14410500},{"date":"2025-09-10","symbol":"MSFT","metric":"volume","value":21611800},{"date":"2025-09-11","symbol":"MSFT","metric":"volume","value":18881600},{"date":"2025-09-12","symbol":"MSFT","metric":"volume","value":23624900},{"date":"2025-09-15","symbol":"MSFT","metric":"volume","value":17143800},{"date":"2025-09-16","symbol":"MSFT","metric":"volume","value":19711900},{"date":"2025-09-17","symbol":"MSFT","metric":"volume","value":15816600},{"date":"2025-09-18","symbol":"MSFT","metric":"volume","value":18913700},{"date":"2025-09-19","symbol":"MSFT","metric":"volume","value":52474100},{"date":"2025-09-22","symbol":"MSFT","metric":"volume","value":20009300},{"date":"2025-09-23","symbol":"MSFT","metric":"volume","value":19799600},{"date":"2025-09-24","symbol":"MSFT","metric":"volume","value":13533700},{"date":"2025-09-25","symbol":"MSFT","metric":"volume","value":15786500},{"date":"2025-09-26","symbol":"MSFT","metric":"volume","value":16213100},{"date":"2025-09-29","symbol":"MSFT","metric":"volume","value":17617800},{"date":"2025-09-30","symbol":"MSFT","metric":"volume","value":19728200},{"date":"2025-10-01","symbol":"MSFT","metric":"volume","value":22632300},{"date":"2025-10-02","symbol":"MSFT","metric":"volume","value":21222900},{"date":"2025-10-03","symbol":"MSFT","metric":"volume","value":15112300},{"date":"2025-10-06","symbol":"MSFT","metric":"volume","value":21388600},{"date":"2025-10-07","symbol":"MSFT","metric":"volume","value":14615200},{"date":"2025-10-08","symbol":"MSFT","metric":"volume","value":13363400},{"date":"2025-10-09","symbol":"MSFT","metric":"volume","value":18343600},{"date":"2025-10-10","symbol":"MSFT","metric":"volume","value":24133800},{"date":"2025-10-13","symbol":"MSFT","metric":"volume","value":14284200},{"date":"2025-10-14","symbol":"MSFT","metric":"volume","value":14684300},{"date":"2025-10-15","symbol":"MSFT","metric":"volume","value":14694700},{"date":"2025-10-16","symbol":"MSFT","metric":"volume","value":15559600},{"date":"2025-10-17","symbol":"MSFT","metric":"volume","value":19867800},{"date":"2025-10-20","symbol":"MSFT","metric":"volume","value":14665600},{"date":"2025-10-21","symbol":"MSFT","metric":"volume","value":15586200},{"date":"2025-10-22","symbol":"MSFT","metric":"volume","value":18962700},{"date":"2025-10-23","symbol":"MSFT","metric":"volume","value":14023500},{"date":"2025-10-24","symbol":"MSFT","metric":"volume","value":15532400},{"date":"2025-10-27","symbol":"MSFT","metric":"volume","value":18734700},{"date":"2025-10-28","symbol":"MSFT","metric":"volume","value":29986700},{"date":"2025-10-29","symbol":"MSFT","metric":"volume","value":36023000},{"date":"2025-10-30","symbol":"MSFT","metric":"volume","value":41023100},{"date":"2025-10-31","symbol":"MSFT","metric":"volume","value":34006400},{"date":"2025-11-03","symbol":"MSFT","metric":"volume","value":22374700},{"date":"2025-11-04","symbol":"MSFT","metric":"volume","value":20958700},{"date":"2025-11-05","symbol":"MSFT","metric":"volume","value":23024300},{"date":"2025-11-06","symbol":"MSFT","metric":"volume","value":27406500},{"date":"2025-11-07","symbol":"MSFT","metric":"volume","value":24019800},{"date":"2025-11-10","symbol":"MSFT","metric":"volume","value":26101500},{"date":"2025-11-11","symbol":"MSFT","metric":"volume","value":17980000},{"date":"2025-11-12","symbol":"MSFT","metric":"volume","value":26574900},{"date":"2025-11-13","symbol":"MSFT","metric":"volume","value":25273100},{"date":"2025-11-14","symbol":"MSFT","metric":"volume","value":28505700},{"date":"2025-11-17","symbol":"MSFT","metric":"volume","value":19092800},{"date":"2025-11-18","symbol":"MSFT","metric":"volume","value":33815100},{"date":"2025-11-19","symbol":"MSFT","metric":"volume","value":23245300},{"date":"2025-11-20","symbol":"MSFT","metric":"volume","value":26802500},{"date":"2025-11-21","symbol":"MSFT","metric":"volume","value":31769200},{"date":"2025-11-24","symbol":"MSFT","metric":"volume","value":34421000},{"date":"2025-11-25","symbol":"MSFT","metric":"volume","value":28019800},{"date":"2025-11-26","symbol":"MSFT","metric":"volume","value":25709100},{"date":"2025-11-28","symbol":"MSFT","metric":"volume","value":14386700},{"date":"2025-12-01","symbol":"MSFT","metric":"volume","value":23964000},{"date":"2025-12-02","symbol":"MSFT","metric":"volume","value":19562700},{"date":"2025-12-03","symbol":"MSFT","metric":"volume","value":34615100},{"date":"2025-12-04","symbol":"MSFT","metric":"volume","value":22318200},{"date":"2025-12-05","symbol":"MSFT","metric":"volume","value":22608700},{"date":"2025-12-08","symbol":"MSFT","metric":"volume","value":21965900},{"date":"2025-12-09","symbol":"MSFT","metric":"volume","value":14696100},{"date":"2025-12-10","symbol":"MSFT","metric":"volume","value":35756200},{"date":"2025-12-11","symbol":"MSFT","metric":"volume","value":24669200},{"date":"2025-12-12","symbol":"MSFT","metric":"volume","value":21248100},{"date":"2025-12-15","symbol":"MSFT","metric":"volume","value":23727700},{"date":"2025-12-16","symbol":"MSFT","metric":"volume","value":20705600},{"date":"2025-12-17","symbol":"MSFT","metric":"volume","value":24527200},{"date":"2025-12-18","symbol":"MSFT","metric":"volume","value":28573500},{"date":"2025-12-19","symbol":"MSFT","metric":"volume","value":70836100},{"date":"2025-12-22","symbol":"MSFT","metric":"volume","value":16963000},{"date":"2025-12-23","symbol":"MSFT","metric":"volume","value":14683600},{"date":"2025-12-24","symbol":"MSFT","metric":"volume","value":5855900},{"date":"2025-12-26","symbol":"MSFT","metric":"volume","value":8842200},{"date":"2025-12-29","symbol":"MSFT","metric":"volume","value":10893400},{"date":"2025-12-30","symbol":"MSFT","metric":"volume","value":13944500},{"date":"2025-12-31","symbol":"MSFT","metric":"volume","value":15601600},{"date":"2026-01-02","symbol":"MSFT","metric":"volume","value":25571600},{"date":"2026-01-05","symbol":"MSFT","metric":"volume","value":25250300},{"date":"2026-01-06","symbol":"MSFT","metric":"volume","value":23037700},{"date":"2026-01-07","symbol":"MSFT","metric":"volume","value":25564200},{"date":"2026-01-08","symbol":"MSFT","metric":"volume","value":18162600},{"date":"2026-01-09","symbol":"MSFT","metric":"volume","value":18491000},{"date":"2026-01-12","symbol":"MSFT","metric":"volume","value":23519900},{"date":"2026-01-13","symbol":"MSFT","metric":"volume","value":28545800},{"date":"2026-01-14","symbol":"MSFT","metric":"volume","value":28184300},{"date":"2026-01-15","symbol":"MSFT","metric":"volume","value":23225800},{"date":"2026-01-16","symbol":"MSFT","metric":"volume","value":34246700},{"date":"2026-01-20","symbol":"MSFT","metric":"volume","value":26130000},{"date":"2026-01-21","symbol":"MSFT","metric":"volume","value":37980500},{"date":"2026-01-22","symbol":"MSFT","metric":"volume","value":25349400},{"date":"2026-01-23","symbol":"MSFT","metric":"volume","value":38000200},{"date":"2026-01-26","symbol":"MSFT","metric":"volume","value":29247100},{"date":"2025-07-31","symbol":"NVDA","metric":"volume","value":221685400},{"date":"2025-08-01","symbol":"NVDA","metric":"volume","value":204529000},{"date":"2025-08-04","symbol":"NVDA","metric":"volume","value":148174600},{"date":"2025-08-05","symbol":"NVDA","metric":"volume","value":156407600},{"date":"2025-08-06","symbol":"NVDA","metric":"volume","value":137192300},{"date":"2025-08-07","symbol":"NVDA","metric":"volume","value":151878400},{"date":"2025-08-08","symbol":"NVDA","metric":"volume","value":123396700},{"date":"2025-08-11","symbol":"NVDA","metric":"volume","value":138323200},{"date":"2025-08-12","symbol":"NVDA","metric":"volume","value":145485700},{"date":"2025-08-13","symbol":"NVDA","metric":"volume","value":179871700},{"date":"2025-08-14","symbol":"NVDA","metric":"volume","value":129554000},{"date":"2025-08-15","symbol":"NVDA","metric":"volume","value":156602200},{"date":"2025-08-18","symbol":"NVDA","metric":"volume","value":132008000},{"date":"2025-08-19","symbol":"NVDA","metric":"volume","value":185229200},{"date":"2025-08-20","symbol":"NVDA","metric":"volume","value":215142700},{"date":"2025-08-21","symbol":"NVDA","metric":"volume","value":140040900},{"date":"2025-08-22","symbol":"NVDA","metric":"volume","value":172789400},{"date":"2025-08-25","symbol":"NVDA","metric":"volume","value":163012800},{"date":"2025-08-26","symbol":"NVDA","metric":"volume","value":168688200},{"date":"2025-08-27","symbol":"NVDA","metric":"volume","value":235518900},{"date":"2025-08-28","symbol":"NVDA","metric":"volume","value":281787800},{"date":"2025-08-29","symbol":"NVDA","metric":"volume","value":243257900},{"date":"2025-09-02","symbol":"NVDA","metric":"volume","value":231164900},{"date":"2025-09-03","symbol":"NVDA","metric":"volume","value":164424900},{"date":"2025-09-04","symbol":"NVDA","metric":"volume","value":141670100},{"date":"2025-09-05","symbol":"NVDA","metric":"volume","value":224441400},{"date":"2025-09-08","symbol":"NVDA","metric":"volume","value":163769100},{"date":"2025-09-09","symbol":"NVDA","metric":"volume","value":157548400},{"date":"2025-09-10","symbol":"NVDA","metric":"volume","value":226852000},{"date":"2025-09-11","symbol":"NVDA","metric":"volume","value":151159300},{"date":"2025-09-12","symbol":"NVDA","metric":"volume","value":124911000},{"date":"2025-09-15","symbol":"NVDA","metric":"volume","value":147061600},{"date":"2025-09-16","symbol":"NVDA","metric":"volume","value":140737800},{"date":"2025-09-17","symbol":"NVDA","metric":"volume","value":211843800},{"date":"2025-09-18","symbol":"NVDA","metric":"volume","value":191763300},{"date":"2025-09-19","symbol":"NVDA","metric":"volume","value":237182100},{"date":"2025-09-22","symbol":"NVDA","metric":"volume","value":269637000},{"date":"2025-09-23","symbol":"NVDA","metric":"volume","value":192559600},{"date":"2025-09-24","symbol":"NVDA","metric":"volume","value":143564100},{"date":"2025-09-25","symbol":"NVDA","metric":"volume","value":191586700},{"date":"2025-09-26","symbol":"NVDA","metric":"volume","value":148573700},{"date":"2025-09-29","symbol":"NVDA","metric":"volume","value":193063500},{"date":"2025-09-30","symbol":"NVDA","metric":"volume","value":236981000},{"date":"2025-10-01","symbol":"NVDA","metric":"volume","value":173844900},{"date":"2025-10-02","symbol":"NVDA","metric":"volume","value":136805800},{"date":"2025-10-03","symbol":"NVDA","metric":"volume","value":137596900},{"date":"2025-10-06","symbol":"NVDA","metric":"volume","value":157678100},{"date":"2025-10-07","symbol":"NVDA","metric":"volume","value":140088000},{"date":"2025-10-08","symbol":"NVDA","metric":"volume","value":130168900},{"date":"2025-10-09","symbol":"NVDA","metric":"volume","value":182997200},{"date":"2025-10-10","symbol":"NVDA","metric":"volume","value":268774400},{"date":"2025-10-13","symbol":"NVDA","metric":"volume","value":153482800},{"date":"2025-10-14","symbol":"NVDA","metric":"volume","value":205641400},{"date":"2025-10-15","symbol":"NVDA","metric":"volume","value":214450500},{"date":"2025-10-16","symbol":"NVDA","metric":"volume","value":179723300},{"date":"2025-10-17","symbol":"NVDA","metric":"volume","value":173135200},{"date":"2025-10-20","symbol":"NVDA","metric":"volume","value":128544700},{"date":"2025-10-21","symbol":"NVDA","metric":"volume","value":124240200},{"date":"2025-10-22","symbol":"NVDA","metric":"volume","value":162249600},{"date":"2025-10-23","symbol":"NVDA","metric":"volume","value":111363700},{"date":"2025-10-24","symbol":"NVDA","metric":"volume","value":131296700},{"date":"2025-10-27","symbol":"NVDA","metric":"volume","value":153452700},{"date":"2025-10-28","symbol":"NVDA","metric":"volume","value":297986200},{"date":"2025-10-29","symbol":"NVDA","metric":"volume","value":308829600},{"date":"2025-10-30","symbol":"NVDA","metric":"volume","value":178864400},{"date":"2025-10-31","symbol":"NVDA","metric":"volume","value":179802200},{"date":"2025-11-03","symbol":"NVDA","metric":"volume","value":180267300},{"date":"2025-11-04","symbol":"NVDA","metric":"volume","value":188919300},{"date":"2025-11-05","symbol":"NVDA","metric":"volume","value":171350300},{"date":"2025-11-06","symbol":"NVDA","metric":"volume","value":223029800},{"date":"2025-11-07","symbol":"NVDA","metric":"volume","value":264942300},{"date":"2025-11-10","symbol":"NVDA","metric":"volume","value":198897100},{"date":"2025-11-11","symbol":"NVDA","metric":"volume","value":176483300},{"date":"2025-11-12","symbol":"NVDA","metric":"volume","value":154935300},{"date":"2025-11-13","symbol":"NVDA","metric":"volume","value":207423100},{"date":"2025-11-14","symbol":"NVDA","metric":"volume","value":186591900},{"date":"2025-11-17","symbol":"NVDA","metric":"volume","value":173628900},{"date":"2025-11-18","symbol":"NVDA","metric":"volume","value":213598900},{"date":"2025-11-19","symbol":"NVDA","metric":"volume","value":247246400},{"date":"2025-11-20","symbol":"NVDA","metric":"volume","value":343504800},{"date":"2025-11-21","symbol":"NVDA","metric":"volume","value":346926200},{"date":"2025-11-24","symbol":"NVDA","metric":"volume","value":256618300},{"date":"2025-11-25","symbol":"NVDA","metric":"volume","value":320600300},{"date":"2025-11-26","symbol":"NVDA","metric":"volume","value":183852000},{"date":"2025-11-28","symbol":"NVDA","metric":"volume","value":121332800},{"date":"2025-12-01","symbol":"NVDA","metric":"volume","value":188131000},{"date":"2025-12-02","symbol":"NVDA","metric":"volume","value":182632200},{"date":"2025-12-03","symbol":"NVDA","metric":"volume","value":165138000},{"date":"2025-12-04","symbol":"NVDA","metric":"volume","value":167364900},{"date":"2025-12-05","symbol":"NVDA","metric":"volume","value":143971100},{"date":"2025-12-08","symbol":"NVDA","metric":"volume","value":204378100},{"date":"2025-12-09","symbol":"NVDA","metric":"volume","value":144719700},{"date":"2025-12-10","symbol":"NVDA","metric":"volume","value":162785400},{"date":"2025-12-11","symbol":"NVDA","metric":"volume","value":182136600},{"date":"2025-12-12","symbol":"NVDA","metric":"volume","value":204274900},{"date":"2025-12-15","symbol":"NVDA","metric":"volume","value":164775600},{"date":"2025-12-16","symbol":"NVDA","metric":"volume","value":148588100},{"date":"2025-12-17","symbol":"NVDA","metric":"volume","value":222775500},{"date":"2025-12-18","symbol":"NVDA","metric":"volume","value":176096000},{"date":"2025-12-19","symbol":"NVDA","metric":"volume","value":324925900},{"date":"2025-12-22","symbol":"NVDA","metric":"volume","value":129064400},{"date":"2025-12-23","symbol":"NVDA","metric":"volume","value":174873600},{"date":"2025-12-24","symbol":"NVDA","metric":"volume","value":65528500},{"date":"2025-12-26","symbol":"NVDA","metric":"volume","value":139740300},{"date":"2025-12-29","symbol":"NVDA","metric":"volume","value":120006100},{"date":"2025-12-30","symbol":"NVDA","metric":"volume","value":97687300},{"date":"2025-12-31","symbol":"NVDA","metric":"volume","value":120100500},{"date":"2026-01-02","symbol":"NVDA","metric":"volume","value":148240500},{"date":"2026-01-05","symbol":"NVDA","metric":"volume","value":183529700},{"date":"2026-01-06","symbol":"NVDA","metric":"volume","value":176862600},{"date":"2026-01-07","symbol":"NVDA","metric":"volume","value":153543200},{"date":"2026-01-08","symbol":"NVDA","metric":"volume","value":172457000},{"date":"2026-01-09","symbol":"NVDA","metric":"volume","value":131327500},{"date":"2026-01-12","symbol":"NVDA","metric":"volume","value":137968500},{"date":"2026-01-13","symbol":"NVDA","metric":"volume","value":160128900},{"date":"2026-01-14","symbol":"NVDA","metric":"volume","value":159586100},{"date":"2026-01-15","symbol":"NVDA","metric":"volume","value":206188600},{"date":"2026-01-16","symbol":"NVDA","metric":"volume","value":187967200},{"date":"2026-01-20","symbol":"NVDA","metric":"volume","value":223345300},{"date":"2026-01-21","symbol":"NVDA","metric":"volume","value":200381000},{"date":"2026-01-22","symbol":"NVDA","metric":"volume","value":139636600},{"date":"2026-01-23","symbol":"NVDA","metric":"volume","value":142748100},{"date":"2026-01-26","symbol":"NVDA","metric":"volume","value":124489200}],"metadata":{"date":{"type":"date","semanticType":"Date"},"symbol":{"type":"string","semanticType":"String"},"metric":{"type":"string","semanticType":"String"},"value":{"type":"number","semanticType":"Number"}},"derive":{"code":"\nimport pandas as pd\nimport collections\nimport numpy as np\n\ndef transform_data(df_history: pd.DataFrame) -> pd.DataFrame:\n # Keep only necessary columns\n cols = [c for c in [\"date\", \"symbol\", \"close\", \"volume\"] if c in df_history.columns]\n df = df_history[cols].copy()\n\n # Normalize date to string YYYY-MM-DD\n df[\"date\"] = pd.to_datetime(df[\"date\"]).dt.strftime(\"%Y-%m-%d\")\n\n # Sort for time-series operations\n df = df.sort_values([\"symbol\", \"date\"]).reset_index(drop=True)\n\n # Compute daily returns as pct_change of close within each symbol\n df[\"return\"] = df.groupby(\"symbol\")[\"close\"].pct_change()\n\n # Compute 20-day rolling volatility (std of returns) within each symbol\n df[\"vol20\"] = (\n df.groupby(\"symbol\")[\"return\"]\n .transform(lambda s: s.rolling(window=20, min_periods=1).std())\n )\n\n # Reshape to long format: metrics = return, vol20, volume\n df_long = df.melt(\n id_vars=[\"date\", \"symbol\"],\n value_vars=[\"return\", \"vol20\", \"volume\"],\n var_name=\"metric\",\n value_name=\"value\",\n )\n\n # Final tidy output\n transformed_df = df_long[[\"date\", \"symbol\", \"metric\", \"value\"]].reset_index(drop=True)\n return transformed_df\n","source":["history"],"dialog":[{"role":"system","content":"You are a data scientist to help user to recommend data that will be used for visualization.\nThe user will provide you information about what visualization they would like to create, and your job is to recommend a transformed data that can be used to create the visualization and write a python function to transform the data.\nThe recommendation and transformation function should be based on the [CONTEXT] and [GOAL] provided by the user. \nThe [CONTEXT] shows what the current dataset is, and the [GOAL] describes what the user wants the data for.\n\n**Important:**\n- NEVER make assumptions or judgments about a person's gender, biological sex, sexuality, religion, race, nationality, ethnicity, political stance, socioeconomic status, mental health, invisible disabilities, medical conditions, personality type, social impressions, emotional state, and cognitive state.\n- NEVER create formulas that could be used to discriminate based on age. Ageism of any form (explicit and implicit) is strictly prohibited.\n- If above issue occurs, generate columns with np.nan.\n\nConcretely, you should infer the appropriate data and create in the output section a python function based off the [CONTEXT] and [GOAL] in two steps:\n\n1. First, based on users' [GOAL]. Create a json object that represents the inferred user intent. The json object should have the following format:\n\n{\n \"mode\": \"\" // string, one of \"infer\", \"overview\", \"distribution\", \"summary\", \"forecast\"\n \"recap\": \"...\" // string, a short summary of the user's goal.\n \"display_instruction\": \"...\" // string, the even shorter verb phrase describing the users' goal.\n \"recommendation\": \"...\" // string, explain why this recommendation is made\n \"input_tables\": [...] // string[], describe names of the input tables that will be used in the transformation.\n \"output_fields\": [...] // string[], describe the desired output fields that the output data should have (i.e., the goal of transformed data), it's a good idea to preseve intermediate fields here\n \"chart_type\": \"\" // string, one of \"point\", \"bar\", \"line\", \"area\", \"heatmap\", \"group_bar\", 'boxplot'. \"chart_type\" should either be inferred from user instruction, or recommend if the user didn't specify any.\n \"chart_encodings\": {\n \"x\": \"\",\n \"y\": \"\",\n \"color\": \"\",\n \"size\": \"\",\n \"opacity\": \"\",\n \"facet\": \"\",\n } // object: map visualization channels (x, y, color, size, opacity, facet, etc.) to a subset of output fields, appropriate visual channels for different chart types are defined below.\n}\n\nConcretely:\n - recap what the user's goal is in a short summary in \"recap\".\n - If the user's [GOAL] is clear already, simply infer what the user mean. Set \"mode\" as \"infer\" and create \"output_fields\" and \"chart_encodings\" based off user description.\n - If the user's [GOAL] is not clear, make recommendations to the user:\n - choose one of \"distribution\", \"overview\", \"summary\", \"forecast\" in \"mode\":\n * if it is \"overview\" and the data is in wide format, reshape it into long format.\n * if it is \"distribution\", select a few fields that would be interesting to visualize together.\n * if it is \"summary\", calculate some aggregated statistics to show intresting facts of the data.\n * if it is \"forecast\", concretize the x,y fields that will be used for forecasting and decide if it is about regression or forecasting.\n - describe the recommendation reason in \"recommendation\"\n - based on the recommendation, determine what is an ideal output data. Note, the output data must be in tidy format.\n - then suggest recommendations of chart encoding that should be used to create the visualization.\n - \"display_instruction\" should be a short verb phrase describing the users' goal, it should be even shorter than \"recap\". \n - it would be a short verbal description of user intent as a verb phrase (<12 words).\n - generate based on \"recap\" and the suggested visualization, but don't need to mention the visualization details.\n - should capture key computation ideas: by reading the display, the user can understand the purpose and what's derived from the data.\n - if the user instruction builds up the previous instruction, the 'display_instruction' should only describe how it builds up the previous instruction without repeating information from previous steps.\n - the phrase can be presented in different styles, e.g., question (what's xxx), instruction (show xxx), description, etc.\n - if you mention column names from the input or the output data, highlight the text in **bold**.\n * the column can either be a column in the input data, or a new column that will be computed in the output data.\n * the mention don't have to be exact match, it can be semantically matching, e.g., if you mentioned \"average score\" in the text while the column to be computed is \"Avg_Score\", you should still highlight \"**average score**\" in the text.\n - determine \"input_tables\", the names of a subset of input tables from [CONTEXT] section that will be used to achieve the user's goal.\n - **IMPORTANT** Note that the Table 1 in [CONTEXT] section is the table the user is currently viewing, it should take precedence if the user refers to insights about the \"current table\".\n - At the same time, leverage table information to determine which tables are relevant to the user's goal and should be used.\n - \"chart_type\" must be one of \"point\", \"bar\", \"line\", \"area\", \"heatmap\", \"group_bar\", \"boxplot\"\n - \"chart_encodings\" should specify which fields should be used to create the visualization\n - decide which visual channels should be used to create the visualization appropriate for the chart type.\n - point: x, y, color, size, facet\n - histogram: x, color, facet\n - bar: x, y, color, facet\n - line: x, y, color, facet\n - area: x, y, color, facet\n - heatmap: x, y, color, facet\n - group_bar: x, y, color, facet\n - boxplot: x, y, color, facet\n - note that all fields used in \"chart_encodings\" should be included in \"output_fields\".\n - all fields you need for visualizations should be transformed into the output fields!\n - \"output_fields\" should include important intermediate fields that are not used in visualization but are used for data transformation.\n - typically only 2-3 fields should be used to create the visualization (x, y, color/size), facet use be added if it's a faceted visualization (totally 4 fields used).\n - Guidelines for choosing chart type and visualization fields:\n - Consider chart types as follows:\n - (point) Scatter Plots: x,y: Quantitative/Categorical, color: Categorical (optional), size: Quantitative (optional for creating bubble chart), \n - best for: Relationships, correlations, distributions, forecasting, regression analysis\n - scatter plots are good default way to visualize data when other chart types are not applicable.\n - use color to visualize points from different categories.\n - use size to visualize data points with an additional quantitative dimension of the data points.\n - (histogram) Histograms: x: Quantitative/Categorical, color: Categorical (optional for creating grouped histogram), \n - best for: Distribution of a quantitative field\n - use x values directly if x values are categorical, and transform the data into bins if the field values are quantitative.\n - when color is specified, the histogram will be grouped automatically (items with the same x values will be grouped).\n - (bar) Bar Charts: x: Categorical (nominal/ordinal), y: Quantitative, color: Categorical/Quantitative (for stacked bar chart / showing additional quantitative dimension), \n - best for: Comparisons across categories\n - use (bar) for simple bar chart or stacked bar chart (when it makes sense to add up Y values for each category with the same X value), \n - when color is specified, the bar will be stacked automatically (items with the same x values will be stacked).\n - note that when there are multiple rows in the data with same x values, the bar will be stacked automatically.\n - 1. consider to use an aggregated field for y values if the value is not suitable for stacking.\n - 2. consider to introduce facets so that each group is visualized in a separate bar.\n - (group_bar) for grouped bar chart, x: Categorical (nominal/ordinal), y: Quantitative, color: Categorical\n - when color is specifed, bars from different groups will be grouped automatically.\n - only use facet if the cardinality of color field is small (less than 5).\n - (line) Line Charts: x: Temporal (preferred) or ordinal, y: Quantitative, color: Categorical (optional for creating multiple lines), \n - best for: Trends over time, continuous data, forecasting, regression analysis\n - note that when there are multiple rows in the data belong to the same group (same x and color values) but different y values, the line will not look correct.\n - consider to use an aggregated field for y values, or introduce facets so that each group is visualized in a separate line.\n - (area) Area Charts: x: Temporal (preferred) or ordinal, y: Quantitative, color: Categorical (optional for creating stacked areas), \n - best for: Trends over time, continuous data\n - (heatmap) Heatmaps: x,y: Categorical (you need to convert quantitative to nominal), color: Quantitative intensity, \n - best for: Pattern discovery in matrix data\n - (boxplot) Box plots: x: Categorical (nominal/ordinal), y: Quantitative, color: Categorical (optional for creating grouped boxplots), \n - best for: Distribution of a quantitative field\n - use x values directly if x values are categorical, and transform the data into bins if the field values are quantitative.\n - when color is specified, the boxplot will be grouped automatically (items with the same x values will be grouped).\n - facet channel is available for all chart types, it supports a categorical field with small cardinality to visualize the data in different facets.\n - if you really need additional legend fields:\n - you can use opacity for legend (support Quantitative and Categorical).\n - visualization fields require tidy data. \n - similar to VegaLite and ggplot2 so that each field is mapped to a visualization axis or legend. \n - consider data transformations if you want to visualize multiple fields together:\n - exapmle 1: suggest reshaping the data into long format in data transformation description (if these fields are all of the same type, e.g., they are all about sales, price, two columns about min/max-values, etc. don't mix different types of fields in reshaping) so we can visualize multiple fields as categories or in different facets.\n - exapmle 2: calculate some derived fields from these fields(e.g., correlation, difference, profit etc.) in data transformation description to visualize them in one visualization.\n - example 3: create a visualization only with a subset of the fields, you don't have to visualize all of them in one chart, you can later create a visualization with the rest of the fields. With the subset of charts, you can also consider reshaping or calculate some derived value.\n - again, it does not make sense to have five fields like [item, A, B, C, D, E] in visualization fields, you should consider data transformation to reduce the number of fields.\n - when reshaping data to long format, only fields of the same semantic type should be rehaped into the same column.\n - guide on statistical analysis:\n - when the user asks for forecasting or regression analysis, you should consider the following:\n - the output should be a long format table where actual x, y pairs and predicted x, y pairs are included in the X, Y columns, they are differentiated with a third column \"is_predicted\" that is a boolean field.\n - i.e., if the user ask for forecasting based on two columns T and Y, the output should be three columns: T, Y, is_predicted, where\n - T, Y columns contain BOTH original values from the data and predicted values from the data.\n - is_predicted is a boolean field to indicate whether the x, y pairs are original values from the data or predicted / regression values from the data.\n - the recommended chart should be line chart (time series) or scatter plot (quantitative x, y)\n - if the user asks for forecasting, it's good to include predicted x, y pairs for both x in the original data and future x values (i.e., combine regression and forecasting results)\n - in this case, is_predicted should be of three values 'original', 'regression', 'forecasting'\n - put is_predicted field in 'opacity' channel to distinguish them.\n - when the user asks for clustering:\n - the output should be a long format table where actual x, y pairs with a third column \"cluster_id\" that indicates the cluster id of the data point.\n - the recommended chart should be scatter plot (quantitative x, y)\n \n 2. Then, write a python function based on the inferred goal, the function input is a dataframe \"df\" (or multiple dataframes based on tables presented in the [CONTEXT] section) and the output is the transformed dataframe \"transformed_df\". \n\"transformed_df\" should contain all \"output_fields\" from the refined user intent in the json object.\nThe python function must follow the template provided in [TEMPLATE]. The function should be as simple as possible and easily readable. \nIf there is no data transformation needed based on \"output_fields\", the transformation function can simply \"return df\".\n\n[TEMPLATE]\n\n```python\nimport pandas as pd\nimport collections\nimport numpy as np\n# from sklearn import ... # import from sklearn if you need it.\n\ndef transform_data(df1, df2, ...): \n # complete the template here\n return transformed_df\n```\n\nnote: \n- decide the function signature based on the number of tables you decided in the previous step \"input_tables\":\n - if you decide there will only be one input table, then function signature should be `def transform_data(df1)`\n - if you decided there will be k input tables, then function signature should be `def transform_data(df_1, df_2, ..., df_k)`.\n - instead of using generic names like df1, df2, ..., try to use intuitive table names for function arguments, for example, if you have input_tables: [\"City\", \"Weather\"]`, you can use `transform_data(df_city, df_weather)` to refer to the two dataframes.\n - **VERY IMPORTANT** the number of arguments in the function signature must be the same as the number of tables provided in \"input_tables\", and the order of arguments must match the order of tables provided in \"input_tables\".\n- datetime objects handling:\n - if the output field is year, convert it to number, if it is year-month / year-month-day, convert it to string object (e.g., \"2020-01\" / \"2020-01-01\").\n - if the output is time only: convert hour to number if it's just the hour (e.g., 10), but convert hour:min or h:m:s to string object (e.g., \"10:30\", \"10:30:45\")\n - never return datetime object directly, convert it to either number (if it only contains year) or string so it's readable.\n \n 3. The output must only contain a json object representing inferred user intent and a python code block representing the transformation code, do not add any extra text explanation.\n"},{"role":"user","content":"[CONTEXT]\n\n## Table 1: history (738 rows × 8 columns)\n\n### Schema (8 fields)\n - symbol -- type: object, values: AAPL, AMZN, GOOGL, META, MSFT, NVDA\n - date -- type: object, values: 2025-07-30, 2025-07-31, 2025-08-01, ..., 2026-01-20, 2026-01-21, 2026-01-22, 2026-01-23\n - open -- type: float64, values: 167.53, 168.01, 169.07, ..., 781.21, 782.98, 785.25, 789.97\n - high -- type: float64, values: 169.01, 170.94, 170.96, ..., 789.62, 792.49, 794.28, 795.06\n - low -- type: float64, values: 164.05, 166.72, 167.2, ..., 771.36, 772.21, 777.07, 779.66\n - close -- type: float64, values: 167.0, 168.29, 170.28, ..., 779.09, 780.97, 784.06, 788.82\n - volume -- type: int64, values: 5627500, 5855900, 6861200, ..., 320600300, 324925900, 343504800, 346926200\n - fetched_at -- type: object, values: 2026-01-26T23:46:42.347312Z\n\n### Sample Data (first 5 rows)\n```\n symbol date open high low close volume fetched_at\n0 AAPL 2025-07-30 211.45 211.94 207.28 208.61 45512500 2026-01-26T23:46:42.347312Z\n1 AAPL 2025-07-31 208.05 209.40 206.72 207.13 80698400 2026-01-26T23:46:42.347312Z\n2 AAPL 2025-08-01 210.43 213.13 201.08 201.95 104434500 2026-01-26T23:46:42.347312Z\n3 AAPL 2025-08-04 204.08 207.44 201.26 202.92 75109300 2026-01-26T23:46:42.347312Z\n4 AAPL 2025-08-05 202.97 204.91 201.74 202.49 44155100 2026-01-26T23:46:42.347312Z\n```\n\n\n[GOAL]\n\n1) First, plot the overall **closing price** trends for each **symbol** over **time** on a single line chart to compare their broad trajectories and volatility."},{"role":"assistant","content":"{\n \"mode\": \"infer\",\n \"recap\": \"Compare overall closing price trends and volatility over time for each stock symbol on a single line chart.\",\n \"display_instruction\": \"Visualize **closing price** trends by **symbol** over **date**\",\n \"recommendation\": \"A line chart with time on the x-axis and closing price on the y-axis, colored by symbol, best shows comparative trajectories and volatility over time. The data only needs column selection, date normalization, and sorting to be visualization-ready.\",\n \"input_tables\": [\"history\"],\n \"output_fields\": [\"date\", \"symbol\", \"close\"],\n \"chart_type\": \"line\",\n \"chart_encodings\": {\n \"x\": \"date\",\n \"y\": \"close\",\n \"color\": \"symbol\",\n \"size\": \"\",\n \"opacity\": \"\",\n \"facet\": \"\"\n }\n}\n\n```python\nimport pandas as pd\nimport collections\nimport numpy as np\n\ndef transform_data(df_history: pd.DataFrame) -> pd.DataFrame:\n # Select only needed columns\n cols = [\"date\", \"symbol\", \"close\"]\n df = df_history[cols].copy()\n\n # Ensure date is a string in YYYY-MM-DD format (no datetime objects)\n df[\"date\"] = pd.to_datetime(df[\"date\"]).dt.strftime(\"%Y-%m-%d\")\n\n # Sort for proper line plotting\n df = df.sort_values([\"symbol\", \"date\"]).reset_index(drop=True)\n\n transformed_df = df\n return transformed_df\n```"},{"role":"user","content":"This is the result from the latest python code:\n\n date symbol close\n0 2025-07-30 AAPL 208.61\n1 2025-07-31 AAPL 207.13\n2 2025-08-01 AAPL 201.95\n3 2025-08-04 AAPL 202.92\n4 2025-08-05 AAPL 202.49\n5 2025-08-06 AAPL 212.80\n6 2025-08-07 AAPL 219.57\n7 2025-08-08 AAPL 228.87\n8 2025-08-11 AAPL 226.96\n9 2025-08-12 AAPL 229.43\n......\n\nUpdate the code above based on the following instruction:\n\n2) For each symbol, compute 20-day and 60-day rolling averages of close price (columns: date, symbol, value, ma_window with values 20 or 60) and plot them over time alongside the actual close to compare short- vs long-term trends and reversals."},{"role":"assistant","content":"{\n \"mode\": \"infer\",\n \"recap\": \"Compute 20-day and 60-day rolling averages of closing prices for each symbol in tidy format for plotting alongside actual closes over time.\",\n \"display_instruction\": \"Add **20/60-day moving averages** of **close** by **symbol** over **date**\",\n \"recommendation\": \"To compare short- and long-term trends per symbol, compute 20- and 60-day rolling means of close, reshape them into a long format with one row per date-symbol-window, and keep the original close for plotting alongside the moving averages.\",\n \"input_tables\": [\"history\"],\n \"output_fields\": [\"date\", \"symbol\", \"close\", \"value\", \"ma_window\"],\n \"chart_type\": \"line\",\n \"chart_encodings\": {\n \"x\": \"date\",\n \"y\": \"value\",\n \"color\": \"ma_window\",\n \"size\": \"\",\n \"opacity\": \"\",\n \"facet\": \"symbol\"\n }\n}\n\n```python\nimport pandas as pd\nimport collections\nimport numpy as np\n\ndef transform_data(df_history: pd.DataFrame) -> pd.DataFrame:\n # Work on a copy\n df = df_history.copy()\n\n # Normalize date to string YYYY-MM-DD\n df[\"date\"] = pd.to_datetime(df[\"date\"]).dt.strftime(\"%Y-%m-%d\")\n\n # Sort for proper rolling computation\n df = df.sort_values([\"symbol\", \"date\"])\n\n # Group by symbol and compute rolling means on close\n group = df.groupby(\"symbol\", group_keys=False)[\"close\"]\n df[\"ma_20\"] = group.rolling(20, min_periods=1).mean()\n df[\"ma_60\"] = group.rolling(60, min_periods=1).mean()\n\n # Reshape to long format for the moving averages\n df_long = df.melt(\n id_vars=[\"date\", \"symbol\", \"close\"],\n value_vars=[\"ma_20\", \"ma_60\"],\n var_name=\"ma_window\",\n value_name=\"value\",\n )\n\n # Map ma_window to numeric window size (20 or 60)\n window_map = {\"ma_20\": 20, \"ma_60\": 60}\n df_long[\"ma_window\"] = df_long[\"ma_window\"].map(window_map)\n\n # Ensure correct column order and types\n df_long[\"ma_window\"] = df_long[\"ma_window\"].astype(int)\n\n transformed_df = df_long[[\"date\", \"symbol\", \"close\", \"value\", \"ma_window\"]].reset_index(drop=True)\n return transformed_df\n```"},{"role":"user","content":"This is the result from the latest python code:\n\nEmpty DataFrame\nColumns: []\nIndex: []\n......\n\nUpdate the code above based on the following instruction:\n\nWe run into the following problem executing the code, please fix it:\n\nError: TypeError - incompatible index of inserted column with frame index\n\nPlease think step by step, reflect why the error happens and fix the code so that no more errors would occur."},{"role":"assistant","content":"{\n \"mode\": \"infer\",\n \"recap\": \"Compute 20-day and 60-day rolling averages of closing prices for each symbol in tidy format for plotting alongside actual closes over time.\",\n \"display_instruction\": \"Compute **20/60-day moving averages** of **close** by **symbol** over **date**\",\n \"recommendation\": \"The previous implementation used groupby().rolling() and assigned the result directly to new columns, which can create an index mismatch and raise a TypeError. Using groupby().transform(...) with an inner rolling mean keeps the index aligned with the original DataFrame, avoiding incompatible index issues. After computing the moving averages, reshape to long format for visualization.\",\n \"input_tables\": [\"history\"],\n \"output_fields\": [\"date\", \"symbol\", \"close\", \"value\", \"ma_window\"],\n \"chart_type\": \"line\",\n \"chart_encodings\": {\n \"x\": \"date\",\n \"y\": \"value\",\n \"color\": \"ma_window\",\n \"size\": \"\",\n \"opacity\": \"\",\n \"facet\": \"symbol\"\n }\n}\n\n```python\nimport pandas as pd\nimport collections\nimport numpy as np\n\ndef transform_data(df_history: pd.DataFrame) -> pd.DataFrame:\n # Work on a copy and keep only needed columns if present\n base_cols = [c for c in [\"date\", \"symbol\", \"close\"] if c in df_history.columns]\n df = df_history[base_cols].copy()\n\n # Normalize date to string YYYY-MM-DD\n df[\"date\"] = pd.to_datetime(df[\"date\"]).dt.strftime(\"%Y-%m-%d\")\n\n # Sort for proper rolling computation\n df = df.sort_values([\"symbol\", \"date\"])\n\n # Ensure we have a clean, simple index to avoid alignment issues\n df = df.reset_index(drop=True)\n\n # Compute rolling means using transform to preserve index alignment\n df[\"ma_20\"] = (\n df.groupby(\"symbol\")[\"close\"]\n .transform(lambda s: s.rolling(window=20, min_periods=1).mean())\n )\n df[\"ma_60\"] = (\n df.groupby(\"symbol\")[\"close\"]\n .transform(lambda s: s.rolling(window=60, min_periods=1).mean())\n )\n\n # Reshape to long format for the moving averages\n df_long = df.melt(\n id_vars=[\"date\", \"symbol\", \"close\"],\n value_vars=[\"ma_20\", \"ma_60\"],\n var_name=\"ma_window\",\n value_name=\"value\",\n )\n\n # Map ma_window to numeric window size (20 or 60)\n window_map = {\"ma_20\": 20, \"ma_60\": 60}\n df_long[\"ma_window\"] = df_long[\"ma_window\"].map(window_map).astype(int)\n\n # Final tidy output\n transformed_df = df_long[[\"date\", \"symbol\", \"close\", \"value\", \"ma_window\"]].reset_index(drop=True)\n return transformed_df\n```"},{"role":"user","content":"This is the result from the latest python code:\n\n date symbol close value ma_window\n0 2025-07-30 AAPL 208.61 208.610000 20\n1 2025-07-31 AAPL 207.13 207.870000 20\n2 2025-08-01 AAPL 201.95 205.896667 20\n3 2025-08-04 AAPL 202.92 205.152500 20\n4 2025-08-05 AAPL 202.49 204.620000 20\n5 2025-08-06 AAPL 212.80 205.983333 20\n6 2025-08-07 AAPL 219.57 207.924286 20\n7 2025-08-08 AAPL 228.87 210.542500 20\n8 2025-08-11 AAPL 226.96 212.366667 20\n9 2025-08-12 AAPL 229.43 214.073000 20\n......\n\nUpdate the code above based on the following instruction:\n\n3) For each symbol, compute daily returns as pct_change of close, then 20-day rolling volatility as the rolling std of these returns; keep volume. Reshape to long format with columns [date, symbol, metric, value], where metric ∈ {\"return\", \"vol20\", \"volume\"}, and visualize over time (e.g., faceted by symbol with separate lines for each metric) to highlight periods of strong trends with elevated volatility or volume."},{"role":"assistant","content":"{\n \"mode\": \"infer\",\n \"recap\": \"Compute daily returns and 20-day rolling volatility for each symbol, keep volume, and reshape to a long format for multi-metric time-series visualization.\",\n \"display_instruction\": \"Show **daily return**, **20-day volatility**, and **volume** by **symbol** over **date**\",\n \"recommendation\": \"To highlight periods of strong trends with elevated volatility or volume, compute per-symbol daily returns as pct_change of close and 20-day rolling volatility as the rolling standard deviation of those returns. Keep volume, then reshape into a long table with one metric per row so time-series lines for return, volatility, and volume can be plotted and compared per symbol.\",\n \"input_tables\": [\"history\"],\n \"output_fields\": [\"date\", \"symbol\", \"metric\", \"value\"],\n \"chart_type\": \"line\",\n \"chart_encodings\": {\n \"x\": \"date\",\n \"y\": \"value\",\n \"color\": \"metric\",\n \"size\": \"\",\n \"opacity\": \"\",\n \"facet\": \"symbol\"\n }\n}\n\n```python\nimport pandas as pd\nimport collections\nimport numpy as np\n\ndef transform_data(df_history: pd.DataFrame) -> pd.DataFrame:\n # Keep only necessary columns\n cols = [c for c in [\"date\", \"symbol\", \"close\", \"volume\"] if c in df_history.columns]\n df = df_history[cols].copy()\n\n # Normalize date to string YYYY-MM-DD\n df[\"date\"] = pd.to_datetime(df[\"date\"]).dt.strftime(\"%Y-%m-%d\")\n\n # Sort for time-series operations\n df = df.sort_values([\"symbol\", \"date\"]).reset_index(drop=True)\n\n # Compute daily returns as pct_change of close within each symbol\n df[\"return\"] = df.groupby(\"symbol\")[\"close\"].pct_change()\n\n # Compute 20-day rolling volatility (std of returns) within each symbol\n df[\"vol20\"] = (\n df.groupby(\"symbol\")[\"return\"]\n .transform(lambda s: s.rolling(window=20, min_periods=1).std())\n )\n\n # Reshape to long format: metrics = return, vol20, volume\n df_long = df.melt(\n id_vars=[\"date\", \"symbol\"],\n value_vars=[\"return\", \"vol20\", \"volume\"],\n var_name=\"metric\",\n value_name=\"value\",\n )\n\n # Final tidy output\n transformed_df = df_long[[\"date\", \"symbol\", \"metric\", \"value\"]].reset_index(drop=True)\n return transformed_df\n```"}],"trigger":{"tableId":"table-265247","sourceTableIds":["history"],"instruction":"3) For each symbol, compute daily returns as pct_change of close, then 20-day rolling volatility as the rolling std of these returns; keep volume. Reshape to long format with columns [date, symbol, metric, value], where metric ∈ {\"return\", \"vol20\", \"volume\"}, and visualize over time (e.g., faceted by symbol with separate lines for each metric) to highlight periods of strong trends with elevated volatility or volume.","displayInstruction":"Show **daily return**, **20-day volatility**, and **volume** by **symbol** over **date**","chart":{"id":"chart-1769471280073","chartType":"Auto","encodingMap":{},"tableRef":"history","saved":false,"source":"trigger","unread":true},"resultTableId":"table-277926"},"explanation":{"status":"ok","concepts":[{"field":"return","explanation":"Daily return measures how much the closing price changes in percentage terms from one trading day to the next for the same symbol. For day t, return_t = (Close_t - Close_{t-1}) / Close_{t-1}."},{"field":"vol20","explanation":"20-day rolling volatility is a short-term risk measure that summarizes how much the daily returns have fluctuated over roughly the past month. For each date, vol20 is the standard deviation of the last up-to-20 'return' values for that symbol; higher vol20 indicates more unstable (more volatile) recent price movements."},{"field":"metric, value","explanation":"These two fields reorganize different measures into a single tidy structure: 'metric' tells you which quantity is being reported (return, vol20, or volume), and 'value' stores the corresponding number. This makes it easy to filter and compare different metrics in the same table."},{"field":"Statistical Analysis","explanation":"The transformation introduces two statistical concepts: (1) daily returns, which quantify relative price changes over time, and (2) rolling volatility, which applies a moving standard deviation to recent returns to estimate short-term risk. The model is implicit: for each symbol, returns are treated as a time series, and volatility is computed over a 20-day rolling window. Other possible analyses on this data could include moving averages of price or volume, exponential moving volatility, correlation between different symbols' returns, or time-series models such as ARIMA or GARCH to forecast returns and volatility."}],"code":"- **Selects** only the key fields from the original data: **\"date\"**, **\"symbol\"**, **\"close\"**, and **\"volume\"**.\n- **Standardizes** the **\"date\"** format to **\"YYYY-MM-DD\"** so all dates are consistent.\n- **Sorts** the data by **\"symbol\"** and then by **\"date\"** to put each stock’s prices in correct time order.\n- For each **symbol**, **calculates daily price change**:\n - Adds a new field **\"return\"** = the **percentage change of the closing price** from the previous trading day for that same symbol.\n- For each **symbol**, **measures recent risk/variability**:\n - Adds a new field **\"vol20\"** = the **20‑day rolling volatility**, i.e., the **standard deviation of the last up-to-20 daily returns** (a larger value means the stock has been more volatile recently).\n- **Restructures** the data into a “long” tidy format:\n - Keeps **\"date\"** and **\"symbol\"**.\n - Converts the three measures **\"return\"**, **\"vol20\"**, and **\"volume\"** into rows under a single **\"metric\"** column, with their numbers stored in a **\"value\"** column.\n- **Outputs** a clean table with columns **\"date\"**, **\"symbol\"**, **\"metric\"**, and **\"value\"**, where each row represents **one metric for one stock on one date**.","dialog":[{"role":"system","content":"You are a data scientist to help user explain code, \nso that a non-code can clearly understand what the code is doing, you are provided with a summary of the input data, and the transformation code.\n\nYour goal:\n1. You should generate a good itemized explanation of the code so that the reader can understand high-level steps of what the data transformation is doing.\n - Be very concise, and stay at a high-level. The reader doesn't understand code and does not want to learn exactly what the code is doing. They just want to learn what have been done from a logical level.\n - The explanation should be a markdown string that is a list of bullet points (with new lines), highlight constants, data fields, and important verbs.\n2. Generate a list of explanations for new fields (fields not from the input data) that introduce metrics/concepts that are not obvious from the code.\n - provide a declarative definition that explains the new field, use a mathematical notation if applicable.\n - only include new fields explanation of new metrics that are involved in computation (e.g., ROI, commerical_success_score)\n - *DO NOT* explain trivial new fields like \"Decade\" or \"Avg_Rating\", \"US_Sales\" that are self-explanatory.\n - Avoid explaining fields that are simple aggregate of fields in the original data (min_score, avg_value, count, etc.)\n - When a field involves mathematical computation, you can use LaTeX math notation in the explanation. Format mathematical expressions using:\n - Inline math: `\\( ... \\)` for formulas within text\n - Block math: `\\[ ... \\]` for standalone formulas\n - Examples: `\\( \\frac{\\text{Revenue}}{\\text{Cost}} \\)` for ratios, `\\[ \\text{Score} = \\text{Rating} \\times \\text{Worldwide\\_Gross} \\]` for formulas\n - note: when using underscores as part of the text, you need to escape them with a backslash, e.g., `\\_`\n - Note: don't use math notation for fields whose computation is trivial (use plain english), it will likely be confusing to the reader. \n Only use math notation for fields that can not be easilyexplained in plain english. Use it sparingly.\n3. If there are multiple fields that have the similar computation, you can explain them together in one explanation.\n - in \"field\", you can provide a list of fields in format of \"field1, field2, ...\"\n - in \"explanation\", you can provide a single explanation for the computation of the fields.\n - for example, if you have fields like \"Norm_Rating\", \"Norm_Gross\", \"Critical_Commercial_Score\", you can explain Norm_Rating, Norm_Gross together in one explanation and explain Critical_Commercial_Score in another explanation.\n4. If the code is about statistical analysis, you should explain the statistical analysis in the explanation as a concept named \"Statistical Analysis\" in the [CONCEPTS EXPLANATION] section.\n - explain how you model the data, which fields are used, how data processing is done, and what models are used.\n - suggest some other modeling approaches that can be used to analyze the data in the explanation as well.\n \nThe focus is to explain how new fields are computed, don't generate explanation for low-level actions like \"return\", \"load data\" etc. \n\nProvide the result in the following two sections:\n - first section is the code explanation that should be a markdown block explaining the code, in the [CODE EXPLANATION] section.\n - remember to highlight constants, data fields, and important verbs in the code explanation.\n - second section is the concepts explanation that should be a json block (start with ```json) in the [CONCEPTS EXPLANATION] section.\n\n[CODE EXPLANATION]\n\n...(explanation of the code)\n\n[CONCEPTS EXPLANATION]\n\n```json\n[\n {\n \"field\": \"...\",\n \"explanation\": \"...\"\n }\n]\n\n```\n"},{"role":"user","content":"[CONTEXT]\n\n## Table 1: history (738 rows × 8 columns)\n\n### Schema (8 fields)\n - symbol -- type: object, values: AAPL, AMZN, GOOGL, META, MSFT, NVDA\n - date -- type: object, values: 2025-07-30, 2025-07-31, 2025-08-01, ..., 2026-01-20, 2026-01-21, 2026-01-22, 2026-01-23\n - open -- type: float64, values: 167.53, 168.01, 169.07, ..., 781.21, 782.98, 785.25, 789.97\n - high -- type: float64, values: 169.01, 170.94, 170.96, ..., 789.62, 792.49, 794.28, 795.06\n - low -- type: float64, values: 164.05, 166.72, 167.2, ..., 771.36, 772.21, 777.07, 779.66\n - close -- type: float64, values: 167.0, 168.29, 170.28, ..., 779.09, 780.97, 784.06, 788.82\n - volume -- type: int64, values: 5627500, 5855900, 6861200, ..., 320600300, 324925900, 343504800, 346926200\n - fetched_at -- type: object, values: 2026-01-26T23:46:42.347312Z\n\n### Sample Data (first 5 rows)\n```\n symbol date open high low close volume fetched_at\n0 AAPL 2025-07-30 211.45 211.94 207.28 208.61 45512500 2026-01-26T23:46:42.347312Z\n1 AAPL 2025-07-31 208.05 209.40 206.72 207.13 80698400 2026-01-26T23:46:42.347312Z\n2 AAPL 2025-08-01 210.43 213.13 201.08 201.95 104434500 2026-01-26T23:46:42.347312Z\n3 AAPL 2025-08-04 204.08 207.44 201.26 202.92 75109300 2026-01-26T23:46:42.347312Z\n4 AAPL 2025-08-05 202.97 204.91 201.74 202.49 44155100 2026-01-26T23:46:42.347312Z\n```\n\n\n[CODE]\n\nhere is the transformation code: \nimport pandas as pd\nimport collections\nimport numpy as np\n\ndef transform_data(df_history: pd.DataFrame) -> pd.DataFrame:\n # Keep only necessary columns\n cols = [c for c in [\"date\", \"symbol\", \"close\", \"volume\"] if c in df_history.columns]\n df = df_history[cols].copy()\n\n # Normalize date to string YYYY-MM-DD\n df[\"date\"] = pd.to_datetime(df[\"date\"]).dt.strftime(\"%Y-%m-%d\")\n\n # Sort for time-series operations\n df = df.sort_values([\"symbol\", \"date\"]).reset_index(drop=True)\n\n # Compute daily returns as pct_change of close within each symbol\n df[\"return\"] = df.groupby(\"symbol\")[\"close\"].pct_change()\n\n # Compute 20-day rolling volatility (std of returns) within each symbol\n df[\"vol20\"] = (\n df.groupby(\"symbol\")[\"return\"]\n .transform(lambda s: s.rolling(window=20, min_periods=1).std())\n )\n\n # Reshape to long format: metrics = return, vol20, volume\n df_long = df.melt(\n id_vars=[\"date\", \"symbol\"],\n value_vars=[\"return\", \"vol20\", \"volume\"],\n var_name=\"metric\",\n value_name=\"value\",\n )\n\n # Final tidy output\n transformed_df = df_long[[\"date\", \"symbol\", \"metric\", \"value\"]].reset_index(drop=True)\n return transformed_df\n\n\n[EXPLANATION]\n"},{"role":"assistant","content":"[CODE EXPLANATION]\n\n- **Selects** only the key fields from the original data: **\"date\"**, **\"symbol\"**, **\"close\"**, and **\"volume\"**.\n- **Standardizes** the **\"date\"** format to **\"YYYY-MM-DD\"** so all dates are consistent.\n- **Sorts** the data by **\"symbol\"** and then by **\"date\"** to put each stock’s prices in correct time order.\n- For each **symbol**, **calculates daily price change**:\n - Adds a new field **\"return\"** = the **percentage change of the closing price** from the previous trading day for that same symbol.\n- For each **symbol**, **measures recent risk/variability**:\n - Adds a new field **\"vol20\"** = the **20‑day rolling volatility**, i.e., the **standard deviation of the last up-to-20 daily returns** (a larger value means the stock has been more volatile recently).\n- **Restructures** the data into a “long” tidy format:\n - Keeps **\"date\"** and **\"symbol\"**.\n - Converts the three measures **\"return\"**, **\"vol20\"**, and **\"volume\"** into rows under a single **\"metric\"** column, with their numbers stored in a **\"value\"** column.\n- **Outputs** a clean table with columns **\"date\"**, **\"symbol\"**, **\"metric\"**, and **\"value\"**, where each row represents **one metric for one stock on one date**.\n\n\n[CONCEPTS EXPLANATION]\n\n```json\n[\n {\n \"field\": \"return\",\n \"explanation\": \"Daily return measures how much the closing price changes in percentage terms from one trading day to the next for the same symbol. For day t, return_t = (Close_t - Close_{t-1}) / Close_{t-1}.\"\n },\n {\n \"field\": \"vol20\",\n \"explanation\": \"20-day rolling volatility is a short-term risk measure that summarizes how much the daily returns have fluctuated over roughly the past month. For each date, vol20 is the standard deviation of the last up-to-20 'return' values for that symbol; higher vol20 indicates more unstable (more volatile) recent price movements.\"\n },\n {\n \"field\": \"metric, value\",\n \"explanation\": \"These two fields reorganize different measures into a single tidy structure: 'metric' tells you which quantity is being reported (return, vol20, or volume), and 'value' stores the corresponding number. This makes it easy to filter and compare different metrics in the same table.\"\n },\n {\n \"field\": \"Statistical Analysis\",\n \"explanation\": \"The transformation introduces two statistical concepts: (1) daily returns, which quantify relative price changes over time, and (2) rolling volatility, which applies a moving standard deviation to recent returns to estimate short-term risk. The model is implicit: for each symbol, returns are treated as a time series, and volatility is computed over a 20-day rolling window. Other possible analyses on this data could include moving averages of price or volume, exponential moving volatility, correlation between different symbols' returns, or time-series models such as ARIMA or GARCH to forecast returns and volatility.\"\n }\n]\n```"}],"agent":"CodeExplanationAgent"}},"anchored":false,"createdBy":"user","attachedMetadata":"","contentHash":"d0e7201e"},{"id":"table-457008","displayId":"stock-close1","names":["date","symbol","close"],"rows":[{"date":"2025-07-31","symbol":"GOOGL","close":191.6},{"date":"2025-08-01","symbol":"GOOGL","close":188.84},{"date":"2025-08-04","symbol":"GOOGL","close":194.74},{"date":"2025-08-05","symbol":"GOOGL","close":194.37},{"date":"2025-08-06","symbol":"GOOGL","close":195.79},{"date":"2025-08-07","symbol":"GOOGL","close":196.22},{"date":"2025-08-08","symbol":"GOOGL","close":201.11},{"date":"2025-08-11","symbol":"GOOGL","close":200.69},{"date":"2025-08-12","symbol":"GOOGL","close":203.03},{"date":"2025-08-13","symbol":"GOOGL","close":201.65},{"date":"2025-08-14","symbol":"GOOGL","close":202.63},{"date":"2025-08-15","symbol":"GOOGL","close":203.58},{"date":"2025-08-18","symbol":"GOOGL","close":203.19},{"date":"2025-08-19","symbol":"GOOGL","close":201.26},{"date":"2025-08-20","symbol":"GOOGL","close":199.01},{"date":"2025-08-21","symbol":"GOOGL","close":199.44},{"date":"2025-08-22","symbol":"GOOGL","close":205.77},{"date":"2025-08-25","symbol":"GOOGL","close":208.17},{"date":"2025-08-26","symbol":"GOOGL","close":206.82},{"date":"2025-08-27","symbol":"GOOGL","close":207.16},{"date":"2025-08-28","symbol":"GOOGL","close":211.31},{"date":"2025-08-29","symbol":"GOOGL","close":212.58},{"date":"2025-09-02","symbol":"GOOGL","close":211.02},{"date":"2025-09-03","symbol":"GOOGL","close":230.3},{"date":"2025-09-04","symbol":"GOOGL","close":231.94},{"date":"2025-09-05","symbol":"GOOGL","close":234.64},{"date":"2025-09-08","symbol":"GOOGL","close":233.89},{"date":"2025-09-09","symbol":"GOOGL","close":239.47},{"date":"2025-09-10","symbol":"GOOGL","close":239.01},{"date":"2025-09-11","symbol":"GOOGL","close":240.21},{"date":"2025-09-12","symbol":"GOOGL","close":240.64},{"date":"2025-09-15","symbol":"GOOGL","close":251.45},{"date":"2025-09-16","symbol":"GOOGL","close":251},{"date":"2025-09-17","symbol":"GOOGL","close":249.37},{"date":"2025-09-18","symbol":"GOOGL","close":251.87},{"date":"2025-09-19","symbol":"GOOGL","close":254.55},{"date":"2025-09-22","symbol":"GOOGL","close":252.36},{"date":"2025-09-23","symbol":"GOOGL","close":251.5},{"date":"2025-09-24","symbol":"GOOGL","close":246.98},{"date":"2025-09-25","symbol":"GOOGL","close":245.63},{"date":"2025-09-26","symbol":"GOOGL","close":246.38},{"date":"2025-09-29","symbol":"GOOGL","close":243.89},{"date":"2025-09-30","symbol":"GOOGL","close":242.94},{"date":"2025-10-01","symbol":"GOOGL","close":244.74},{"date":"2025-10-02","symbol":"GOOGL","close":245.53},{"date":"2025-10-03","symbol":"GOOGL","close":245.19},{"date":"2025-10-06","symbol":"GOOGL","close":250.27},{"date":"2025-10-07","symbol":"GOOGL","close":245.6},{"date":"2025-10-08","symbol":"GOOGL","close":244.46},{"date":"2025-10-09","symbol":"GOOGL","close":241.37},{"date":"2025-10-10","symbol":"GOOGL","close":236.42},{"date":"2025-10-13","symbol":"GOOGL","close":243.99},{"date":"2025-10-14","symbol":"GOOGL","close":245.29},{"date":"2025-10-15","symbol":"GOOGL","close":250.87},{"date":"2025-10-16","symbol":"GOOGL","close":251.3},{"date":"2025-10-17","symbol":"GOOGL","close":253.13},{"date":"2025-10-20","symbol":"GOOGL","close":256.38},{"date":"2025-10-21","symbol":"GOOGL","close":250.3},{"date":"2025-10-22","symbol":"GOOGL","close":251.53},{"date":"2025-10-23","symbol":"GOOGL","close":252.91},{"date":"2025-10-24","symbol":"GOOGL","close":259.75},{"date":"2025-10-27","symbol":"GOOGL","close":269.09},{"date":"2025-10-28","symbol":"GOOGL","close":267.3},{"date":"2025-10-29","symbol":"GOOGL","close":274.39},{"date":"2025-10-30","symbol":"GOOGL","close":281.3},{"date":"2025-10-31","symbol":"GOOGL","close":281.01},{"date":"2025-11-03","symbol":"GOOGL","close":283.53},{"date":"2025-11-04","symbol":"GOOGL","close":277.36},{"date":"2025-11-05","symbol":"GOOGL","close":284.12},{"date":"2025-11-06","symbol":"GOOGL","close":284.56},{"date":"2025-11-07","symbol":"GOOGL","close":278.65},{"date":"2025-11-10","symbol":"GOOGL","close":289.91},{"date":"2025-11-11","symbol":"GOOGL","close":291.12},{"date":"2025-11-12","symbol":"GOOGL","close":286.52},{"date":"2025-11-13","symbol":"GOOGL","close":278.39},{"date":"2025-11-14","symbol":"GOOGL","close":276.23},{"date":"2025-11-17","symbol":"GOOGL","close":284.83},{"date":"2025-11-18","symbol":"GOOGL","close":284.09},{"date":"2025-11-19","symbol":"GOOGL","close":292.62},{"date":"2025-11-20","symbol":"GOOGL","close":289.26},{"date":"2025-11-21","symbol":"GOOGL","close":299.46},{"date":"2025-11-24","symbol":"GOOGL","close":318.37},{"date":"2025-11-25","symbol":"GOOGL","close":323.23},{"date":"2025-11-26","symbol":"GOOGL","close":319.74},{"date":"2025-11-28","symbol":"GOOGL","close":319.97},{"date":"2025-12-01","symbol":"GOOGL","close":314.68},{"date":"2025-12-02","symbol":"GOOGL","close":315.6},{"date":"2025-12-03","symbol":"GOOGL","close":319.42},{"date":"2025-12-04","symbol":"GOOGL","close":317.41},{"date":"2025-12-05","symbol":"GOOGL","close":321.06},{"date":"2025-12-08","symbol":"GOOGL","close":313.72},{"date":"2025-12-09","symbol":"GOOGL","close":317.08},{"date":"2025-12-10","symbol":"GOOGL","close":320.21},{"date":"2025-12-11","symbol":"GOOGL","close":312.43},{"date":"2025-12-12","symbol":"GOOGL","close":309.29},{"date":"2025-12-15","symbol":"GOOGL","close":308.22},{"date":"2025-12-16","symbol":"GOOGL","close":306.57},{"date":"2025-12-17","symbol":"GOOGL","close":296.72},{"date":"2025-12-18","symbol":"GOOGL","close":302.46},{"date":"2025-12-19","symbol":"GOOGL","close":307.16},{"date":"2025-12-22","symbol":"GOOGL","close":309.78},{"date":"2025-12-23","symbol":"GOOGL","close":314.35},{"date":"2025-12-24","symbol":"GOOGL","close":314.09},{"date":"2025-12-26","symbol":"GOOGL","close":313.51},{"date":"2025-12-29","symbol":"GOOGL","close":313.56},{"date":"2025-12-30","symbol":"GOOGL","close":313.85},{"date":"2025-12-31","symbol":"GOOGL","close":313},{"date":"2026-01-02","symbol":"GOOGL","close":315.15},{"date":"2026-01-05","symbol":"GOOGL","close":316.54},{"date":"2026-01-06","symbol":"GOOGL","close":314.34},{"date":"2026-01-07","symbol":"GOOGL","close":321.98},{"date":"2026-01-08","symbol":"GOOGL","close":325.44},{"date":"2026-01-09","symbol":"GOOGL","close":328.57},{"date":"2026-01-12","symbol":"GOOGL","close":331.86},{"date":"2026-01-13","symbol":"GOOGL","close":335.97},{"date":"2026-01-14","symbol":"GOOGL","close":335.84},{"date":"2026-01-15","symbol":"GOOGL","close":332.78},{"date":"2026-01-16","symbol":"GOOGL","close":330},{"date":"2026-01-20","symbol":"GOOGL","close":322},{"date":"2026-01-21","symbol":"GOOGL","close":328.38},{"date":"2026-01-22","symbol":"GOOGL","close":330.54},{"date":"2026-01-23","symbol":"GOOGL","close":327.93},{"date":"2026-01-26","symbol":"GOOGL","close":333.26},{"date":"2025-07-31","symbol":"MSFT","close":531.63},{"date":"2025-08-01","symbol":"MSFT","close":522.27},{"date":"2025-08-04","symbol":"MSFT","close":533.76},{"date":"2025-08-05","symbol":"MSFT","close":525.9},{"date":"2025-08-06","symbol":"MSFT","close":523.1},{"date":"2025-08-07","symbol":"MSFT","close":519.01},{"date":"2025-08-08","symbol":"MSFT","close":520.21},{"date":"2025-08-11","symbol":"MSFT","close":519.94},{"date":"2025-08-12","symbol":"MSFT","close":527.38},{"date":"2025-08-13","symbol":"MSFT","close":518.75},{"date":"2025-08-14","symbol":"MSFT","close":520.65},{"date":"2025-08-15","symbol":"MSFT","close":518.35},{"date":"2025-08-18","symbol":"MSFT","close":515.29},{"date":"2025-08-19","symbol":"MSFT","close":507.98},{"date":"2025-08-20","symbol":"MSFT","close":503.95},{"date":"2025-08-21","symbol":"MSFT","close":503.3},{"date":"2025-08-22","symbol":"MSFT","close":506.28},{"date":"2025-08-25","symbol":"MSFT","close":503.32},{"date":"2025-08-26","symbol":"MSFT","close":501.1},{"date":"2025-08-27","symbol":"MSFT","close":505.79},{"date":"2025-08-28","symbol":"MSFT","close":508.69},{"date":"2025-08-29","symbol":"MSFT","close":505.74},{"date":"2025-09-02","symbol":"MSFT","close":504.18},{"date":"2025-09-03","symbol":"MSFT","close":504.41},{"date":"2025-09-04","symbol":"MSFT","close":507.02},{"date":"2025-09-05","symbol":"MSFT","close":494.08},{"date":"2025-09-08","symbol":"MSFT","close":497.27},{"date":"2025-09-09","symbol":"MSFT","close":497.48},{"date":"2025-09-10","symbol":"MSFT","close":499.44},{"date":"2025-09-11","symbol":"MSFT","close":500.07},{"date":"2025-09-12","symbol":"MSFT","close":508.95},{"date":"2025-09-15","symbol":"MSFT","close":514.4},{"date":"2025-09-16","symbol":"MSFT","close":508.09},{"date":"2025-09-17","symbol":"MSFT","close":509.07},{"date":"2025-09-18","symbol":"MSFT","close":507.5},{"date":"2025-09-19","symbol":"MSFT","close":516.96},{"date":"2025-09-22","symbol":"MSFT","close":513.49},{"date":"2025-09-23","symbol":"MSFT","close":508.28},{"date":"2025-09-24","symbol":"MSFT","close":509.2},{"date":"2025-09-25","symbol":"MSFT","close":506.08},{"date":"2025-09-26","symbol":"MSFT","close":510.5},{"date":"2025-09-29","symbol":"MSFT","close":513.64},{"date":"2025-09-30","symbol":"MSFT","close":516.98},{"date":"2025-10-01","symbol":"MSFT","close":518.74},{"date":"2025-10-02","symbol":"MSFT","close":514.78},{"date":"2025-10-03","symbol":"MSFT","close":516.38},{"date":"2025-10-06","symbol":"MSFT","close":527.58},{"date":"2025-10-07","symbol":"MSFT","close":523},{"date":"2025-10-08","symbol":"MSFT","close":523.87},{"date":"2025-10-09","symbol":"MSFT","close":521.42},{"date":"2025-10-10","symbol":"MSFT","close":510.01},{"date":"2025-10-13","symbol":"MSFT","close":513.09},{"date":"2025-10-14","symbol":"MSFT","close":512.61},{"date":"2025-10-15","symbol":"MSFT","close":512.47},{"date":"2025-10-16","symbol":"MSFT","close":510.65},{"date":"2025-10-17","symbol":"MSFT","close":512.62},{"date":"2025-10-20","symbol":"MSFT","close":515.82},{"date":"2025-10-21","symbol":"MSFT","close":516.69},{"date":"2025-10-22","symbol":"MSFT","close":519.57},{"date":"2025-10-23","symbol":"MSFT","close":519.59},{"date":"2025-10-24","symbol":"MSFT","close":522.63},{"date":"2025-10-27","symbol":"MSFT","close":530.53},{"date":"2025-10-28","symbol":"MSFT","close":541.06},{"date":"2025-10-29","symbol":"MSFT","close":540.54},{"date":"2025-10-30","symbol":"MSFT","close":524.78},{"date":"2025-10-31","symbol":"MSFT","close":516.84},{"date":"2025-11-03","symbol":"MSFT","close":516.06},{"date":"2025-11-04","symbol":"MSFT","close":513.37},{"date":"2025-11-05","symbol":"MSFT","close":506.21},{"date":"2025-11-06","symbol":"MSFT","close":496.17},{"date":"2025-11-07","symbol":"MSFT","close":495.89},{"date":"2025-11-10","symbol":"MSFT","close":505.05},{"date":"2025-11-11","symbol":"MSFT","close":507.73},{"date":"2025-11-12","symbol":"MSFT","close":510.19},{"date":"2025-11-13","symbol":"MSFT","close":502.35},{"date":"2025-11-14","symbol":"MSFT","close":509.23},{"date":"2025-11-17","symbol":"MSFT","close":506.54},{"date":"2025-11-18","symbol":"MSFT","close":492.87},{"date":"2025-11-19","symbol":"MSFT","close":486.21},{"date":"2025-11-20","symbol":"MSFT","close":478.43},{"date":"2025-11-21","symbol":"MSFT","close":472.12},{"date":"2025-11-24","symbol":"MSFT","close":474},{"date":"2025-11-25","symbol":"MSFT","close":476.99},{"date":"2025-11-26","symbol":"MSFT","close":485.5},{"date":"2025-11-28","symbol":"MSFT","close":492.01},{"date":"2025-12-01","symbol":"MSFT","close":486.74},{"date":"2025-12-02","symbol":"MSFT","close":490},{"date":"2025-12-03","symbol":"MSFT","close":477.73},{"date":"2025-12-04","symbol":"MSFT","close":480.84},{"date":"2025-12-05","symbol":"MSFT","close":483.16},{"date":"2025-12-08","symbol":"MSFT","close":491.02},{"date":"2025-12-09","symbol":"MSFT","close":492.02},{"date":"2025-12-10","symbol":"MSFT","close":478.56},{"date":"2025-12-11","symbol":"MSFT","close":483.47},{"date":"2025-12-12","symbol":"MSFT","close":478.53},{"date":"2025-12-15","symbol":"MSFT","close":474.82},{"date":"2025-12-16","symbol":"MSFT","close":476.39},{"date":"2025-12-17","symbol":"MSFT","close":476.12},{"date":"2025-12-18","symbol":"MSFT","close":483.98},{"date":"2025-12-19","symbol":"MSFT","close":485.92},{"date":"2025-12-22","symbol":"MSFT","close":484.92},{"date":"2025-12-23","symbol":"MSFT","close":486.85},{"date":"2025-12-24","symbol":"MSFT","close":488.02},{"date":"2025-12-26","symbol":"MSFT","close":487.71},{"date":"2025-12-29","symbol":"MSFT","close":487.1},{"date":"2025-12-30","symbol":"MSFT","close":487.48},{"date":"2025-12-31","symbol":"MSFT","close":483.62},{"date":"2026-01-02","symbol":"MSFT","close":472.94},{"date":"2026-01-05","symbol":"MSFT","close":472.85},{"date":"2026-01-06","symbol":"MSFT","close":478.51},{"date":"2026-01-07","symbol":"MSFT","close":483.47},{"date":"2026-01-08","symbol":"MSFT","close":478.11},{"date":"2026-01-09","symbol":"MSFT","close":479.28},{"date":"2026-01-12","symbol":"MSFT","close":477.18},{"date":"2026-01-13","symbol":"MSFT","close":470.67},{"date":"2026-01-14","symbol":"MSFT","close":459.38},{"date":"2026-01-15","symbol":"MSFT","close":456.66},{"date":"2026-01-16","symbol":"MSFT","close":459.86},{"date":"2026-01-20","symbol":"MSFT","close":454.52},{"date":"2026-01-21","symbol":"MSFT","close":444.11},{"date":"2026-01-22","symbol":"MSFT","close":451.14},{"date":"2026-01-23","symbol":"MSFT","close":465.95},{"date":"2026-01-26","symbol":"MSFT","close":470.28}],"metadata":{"date":{"type":"date","semanticType":"Date","levels":[]},"symbol":{"type":"string","semanticType":"String"},"close":{"type":"number","semanticType":"Number"}},"derive":{"code":"\nimport pandas as pd\nimport collections\nimport numpy as np\n\ndef transform_data(df_history: pd.DataFrame) -> pd.DataFrame:\n # Select only needed columns\n cols = [\"date\", \"symbol\", \"close\"]\n df = df_history[cols].copy()\n\n # Filter for Microsoft (MSFT) and Google (GOOGL)\n target_symbols = [\"MSFT\", \"GOOGL\"]\n df = df[df[\"symbol\"].isin(target_symbols)].copy()\n\n # Ensure date is a string in YYYY-MM-DD format (no datetime objects)\n df[\"date\"] = pd.to_datetime(df[\"date\"]).dt.strftime(\"%Y-%m-%d\")\n\n # Sort for proper line plotting\n df = df.sort_values([\"symbol\", \"date\"]).reset_index(drop=True)\n\n transformed_df = df\n return transformed_df\n","source":["history"],"dialog":[{"role":"system","content":"You are a data scientist to help user to transform data that will be used for visualization.\nThe user will provide you information about what data would be needed, and your job is to create a python function based on the input data summary, transformation instruction and expected fields.\nThe users' instruction includes \"chart_type\" and \"chart_encodings\" that describe the visualization they want, and natural language instructions \"goal\" that describe what data is needed.\n\n**Important:**\n- NEVER make assumptions or judgments about a person's gender, biological sex, sexuality, religion, race, nationality, ethnicity, political stance, socioeconomic status, mental health, invisible disabilities, medical conditions, personality type, social impressions, emotional state, and cognitive state.\n- NEVER create formulas that could be used to discriminate based on age. Ageism of any form (explicit and implicit) is strictly prohibited.\n- If above issue occurs, generate columns with np.nan.\n\nConcretely, you should first refine users' goal and then create a python function in the output section based off the [CONTEXT] and [GOAL]:\n\n 1. First, refine users' [GOAL]. The main objective in this step is to check if \"chart_type\" and \"chart_encodings\" provided by the user are sufficient to achieve their \"goal\". Concretely:\n - based on the user's \"goal\" and \"chart_type\" and \"chart_encodings\", elaborate the goal into a \"detailed_instruction\".\n - \"display_instruction\" is a short verb phrase describing the users' goal. \n - it would be a short verbal description of user intent as a verb phrase (<12 words).\n - generate it based on detailed_instruction and the suggested chart_type and chart_encodings, but don't need to mention the chart details.\n - should capture key computation ideas: by reading the display, the user can understand the purpose and what's derived from the data.\n - if the user specification follows up the previous instruction, the 'display_instruction' should only describe how it builds up the previous instruction without repeating information from previous steps.\n - the phrase can be presented in different styles, e.g., question (what's xxx), instruction (show xxx), description, etc.\n - if you mention column names from the input or the output data, highlight the text in **bold**.\n * the column can either be a column in the input data, or a new column that will be computed in the output data.\n * the mention don't have to be exact match, it can be semantically matching, e.g., if you mentioned \"average score\" in the text while the column to be computed is \"Avg_Score\", you should still highlight \"**average score**\" in the text.\n - determine \"input_tables\", the names of a subset of input tables from [CONTEXT] section that will be used to achieve the user's goal.\n - **IMPORTANT** Note that the Table 1 in [CONTEXT] section is the table the user is currently viewing, it should take precedence if the user refers to insights about the \"current table\".\n - At the same time, leverage table information to determine which tables are relevant to the user's goal and should be used.\n - determine \"output_fields\", the desired fields that the output data should have to achieve the user's goal, it's a good idea to include intermediate fields here.\n - then decide \"chart_encodings\", which maps visualization channels (x, y, color, size, opacity, facet, latitude, longitude, etc.) to a subset of \"output_fields\" that will be visualized, \n - the \"chart_encodings\" should be created to support the user's \"chart_type\".\n - first, determine whether the user has provided sufficient fields in \"chart_encodings\" that are needed to achieve their goal:\n - if the user's \"chart_encodings\" are sufficient, simply copy it.\n - if the user didn't provide sufficient fields in \"chart_encodings\", add missing fields in \"chart_encodings\" (ordered them based on whether the field will be used in x,y axes or legends);\n - \"chart_encodings\" should only include fields that will be visualized (do not include other intermediate fields from \"output_fields\") \n - when adding new fields to \"chart_encodings\", be efficient and add only a minimal number of fields that are needed to achive the user's goal. \n - generally, the total number of fields in \"chart_encodings\" should be no more than 3 for x,y,legend.\n - if the user's \"chart_encodings\" is sufficient but can be optimized, you can reorder encodings to visualize the data more effectively.\n - sometimes, user may provide instruction to update visualizations fields they provided. You should leverage the user's goal to resolve the conflict and decide the final \"chart_encodings\"\n - e.g., they may mention \"use B metric instead\" while A metric is in provided fields, in this case, you should update \"chart_encodings\" to update A metric with B metric.\n - if the user provides latitude and longitude as visual channels, use \"latitude\" and \"longitude\" as visual channels in \"chart_encodings\" as opposed to \"x\" and \"y\".\n - guide on statistical analysis:\n - when the user asks for forecasting or regression analysis, you should consider the following:\n - the output should be a long format table where actual x, y pairs and predicted x, y pairs are included in the X, Y columns, they are differentiated with a third column \"is_predicted\".\n - i.e., if the user ask for forecasting based on two columns T and Y, the output should be three columns: T, Y, is_predicted, where\n - T, Y columns contain BOTH original values from the data and predicted values from the data.\n - is_predicted is a boolean field to indicate whether the x, y pairs are original values from the data or predicted / regression values from the data.\n - the recommended chart should be line chart (time series) or scatter plot (quantitative x, y)\n - if the user asks for forecasting, it's good to include predicted x, y pairs for both x in the original data and future x values (i.e., combine regression and forecasting results)\n - in this case, is_predicted should be of three values 'original', 'regression', 'forecasting'\n - when the user asks for clustering:\n - the output should be a long format table where actual x, y pairs with a third column \"cluster_id\" that indicates the cluster id of the data point.\n - the recommended chart should be scatter plot (quantitative x, y)\n \n Prepare the result in the following json format:\n\n```\n{\n \"detailed_instruction\": \"...\" // string, elaborate user instruction with details if the user\n \"display_instruction\": \"...\" // string, the short verb phrase describing the users' goal.\n \"input_tables\": [...] // string[], describe names of the input tables that will be used in the transformation.\n \"output_fields\": [...] // string[], describe the desired output fields that the output data should have based on the user's goal, it's a good idea to preserve intermediate fields here (i.e., the goal of transformed data)\n \"chart_encodings\": {\n \"x\": \"\",\n \"y\": \"\",\n \"color\": \"\",\n \"size\": \"\",\n \"opacity\": \"\",\n \"facet\": \"\",\n ... // other visualization channels user used\n } // object: map visualization channels (x, y, color, size, opacity, facet, etc.) to a subset of \"output_fields\" that will be visualized.\n \"reason\": \"...\" // string, explain why this refinement is made\n}\n```\n\n 2. Then, write a python function based on the refined goal, the function input is a dataframe \"df\" (or multiple dataframes based on tables described in \"input_tables\") and the output is the transformed dataframe \"transformed_df\". \"transformed_df\" should contain all \"output_fields\" from the refined goal.\nThe python function must follow the template provided in [TEMPLATE], only import libraries allowed in the template, do not modify function name. The function should be as simple as possible and easily readable.\nIf there is no data transformation needed based on \"output_fields\", the transformation function can simply \"return df\".\n\n[TEMPLATE]\n\n```python\nimport pandas as pd\nimport collections\nimport numpy as np\n# from sklearn import ... # import from sklearn if you need it.\n\ndef transform_data(df1, df2, ...): \n # complete the template here\n return transformed_df\n```\n\nnote: \n- decide the function signature based on the number of tables you decided in the previous step \"input_tables\":\n - if you decide there will only be one input table, then function signature should be `def transform_data(df1)`\n - if you decided there will be k input tables, then function signature should be `def transform_data(df_1, df_2, ..., df_k)`.\n - instead of using generic names like df1, df2, ..., try to use intuitive table names for function arguments, for example, if you have input_tables: [\"City\", \"Weather\"]`, you can use `transform_data(df_city, df_weather)` to refer to the two dataframes.\n - **VERY IMPORTANT** the number of arguments in the function signature must be the same as the number of tables provided in \"input_tables\", and the order of arguments must match the order of tables provided in \"input_tables\".\n- datetime objects handling:\n - if the output field is year, convert it to number, if it is year-month / year-month-day, convert it to string object (e.g., \"2020-01\" / \"2020-01-01\").\n - if the output is time only: convert hour to number if it's just the hour (e.g., 10), but convert hour:min or h:m:s to string object (e.g., \"10:30\", \"10:30:45\")\n - never return datetime object directly, convert it to either number (if it only contains year) or string so it's readable.\n\n 3. The output must only contain a json object representing the refined goal and a python code block representing the transformation code, do not add any extra text explanation.\n"},{"role":"user","content":"[CONTEXT]\n\n## Table 1: history (738 rows × 8 columns)\n\n### Schema (8 fields)\n - symbol -- type: object, values: AAPL, AMZN, GOOGL, META, MSFT, NVDA\n - date -- type: object, values: 2025-07-30, 2025-07-31, 2025-08-01, ..., 2026-01-20, 2026-01-21, 2026-01-22, 2026-01-23\n - open -- type: float64, values: 167.53, 168.01, 169.07, ..., 781.21, 782.98, 785.25, 789.97\n - high -- type: float64, values: 169.01, 170.94, 170.96, ..., 789.62, 792.49, 794.28, 795.06\n - low -- type: float64, values: 164.05, 166.72, 167.2, ..., 771.36, 772.21, 777.07, 779.66\n - close -- type: float64, values: 167.0, 168.29, 170.28, ..., 779.09, 780.97, 784.06, 788.82\n - volume -- type: int64, values: 5627500, 5855900, 6861200, ..., 320600300, 324925900, 343504800, 346926200\n - fetched_at -- type: object, values: 2026-01-26T23:46:42.347312Z\n\n### Sample Data (first 5 rows)\n```\n symbol date open high low close volume fetched_at\n0 AAPL 2025-07-30 211.45 211.94 207.28 208.61 45512500 2026-01-26T23:46:42.347312Z\n1 AAPL 2025-07-31 208.05 209.40 206.72 207.13 80698400 2026-01-26T23:46:42.347312Z\n2 AAPL 2025-08-01 210.43 213.13 201.08 201.95 104434500 2026-01-26T23:46:42.347312Z\n3 AAPL 2025-08-04 204.08 207.44 201.26 202.92 75109300 2026-01-26T23:46:42.347312Z\n4 AAPL 2025-08-05 202.97 204.91 201.74 202.49 44155100 2026-01-26T23:46:42.347312Z\n```\n\n\n[GOAL]\n\n1) First, plot the overall **closing price** trends for each **symbol** over **time** on a single line chart to compare their broad trajectories and volatility."},{"role":"assistant","content":"{\n \"mode\": \"infer\",\n \"recap\": \"Compare overall closing price trends and volatility over time for each stock symbol on a single line chart.\",\n \"display_instruction\": \"Visualize **closing price** trends by **symbol** over **date**\",\n \"recommendation\": \"A line chart with time on the x-axis and closing price on the y-axis, colored by symbol, best shows comparative trajectories and volatility over time. The data only needs column selection, date normalization, and sorting to be visualization-ready.\",\n \"input_tables\": [\"history\"],\n \"output_fields\": [\"date\", \"symbol\", \"close\"],\n \"chart_type\": \"line\",\n \"chart_encodings\": {\n \"x\": \"date\",\n \"y\": \"close\",\n \"color\": \"symbol\",\n \"size\": \"\",\n \"opacity\": \"\",\n \"facet\": \"\"\n }\n}\n\n```python\nimport pandas as pd\nimport collections\nimport numpy as np\n\ndef transform_data(df_history: pd.DataFrame) -> pd.DataFrame:\n # Select only needed columns\n cols = [\"date\", \"symbol\", \"close\"]\n df = df_history[cols].copy()\n\n # Ensure date is a string in YYYY-MM-DD format (no datetime objects)\n df[\"date\"] = pd.to_datetime(df[\"date\"]).dt.strftime(\"%Y-%m-%d\")\n\n # Sort for proper line plotting\n df = df.sort_values([\"symbol\", \"date\"]).reset_index(drop=True)\n\n transformed_df = df\n return transformed_df\n```"},{"role":"user","content":"This is the result from the latest python code:\n\n date symbol close\n0 2025-07-30 AAPL 208.61\n1 2025-07-31 AAPL 207.13\n2 2025-08-01 AAPL 201.95\n3 2025-08-04 AAPL 202.92\n4 2025-08-05 AAPL 202.49\n5 2025-08-06 AAPL 212.80\n6 2025-08-07 AAPL 219.57\n7 2025-08-08 AAPL 228.87\n8 2025-08-11 AAPL 226.96\n9 2025-08-12 AAPL 229.43\n......\n\nUpdate the code above based on the following instruction:\n\n{\n \"followup_instruction\": \"compare microsoft and google\",\n \"chart_type\": \"\",\n \"chart_encodings\": {}\n}"},{"role":"assistant","content":"{\n \"detailed_instruction\": \"Filter the historical price data to only include Microsoft (MSFT) and Google (GOOGL) and prepare it for a line chart that compares their closing price trends over time on the same plot.\",\n \"display_instruction\": \"Compare **closing price** trends of **MSFT** and **GOOGL** over **date**\",\n \"input_tables\": [\"history\"],\n \"output_fields\": [\"date\", \"symbol\", \"close\"],\n \"chart_encodings\": {\n \"x\": \"date\",\n \"y\": \"close\",\n \"color\": \"symbol\",\n \"size\": \"\",\n \"opacity\": \"\",\n \"facet\": \"\"\n },\n \"reason\": \"The follow-up focuses the existing trend comparison on only Microsoft and Google. This requires filtering the original prepared data to those two symbols while keeping the same line chart structure: date on x, close on y, and symbol as the color encoding.\"\n}\n\n```python\nimport pandas as pd\nimport collections\nimport numpy as np\n\ndef transform_data(df_history: pd.DataFrame) -> pd.DataFrame:\n # Select only needed columns\n cols = [\"date\", \"symbol\", \"close\"]\n df = df_history[cols].copy()\n\n # Filter for Microsoft (MSFT) and Google (GOOGL)\n target_symbols = [\"MSFT\", \"GOOGL\"]\n df = df[df[\"symbol\"].isin(target_symbols)].copy()\n\n # Ensure date is a string in YYYY-MM-DD format (no datetime objects)\n df[\"date\"] = pd.to_datetime(df[\"date\"]).dt.strftime(\"%Y-%m-%d\")\n\n # Sort for proper line plotting\n df = df.sort_values([\"symbol\", \"date\"]).reset_index(drop=True)\n\n transformed_df = df\n return transformed_df\n```"}],"trigger":{"tableId":"table-233476","sourceTableIds":["history"],"instruction":"compare microsoft and google","displayInstruction":"Compare **closing price** trends of **MSFT** and **GOOGL** over **date**","chart":{"id":"chart-1769471462237","chartType":"Auto","encodingMap":{},"tableRef":"table-233476","saved":false,"source":"trigger","unread":true},"resultTableId":"table-457008"},"explanation":{"status":"ok","concepts":[],"code":"- **Keep only** the **`date`**, **`symbol`**, and **`close`** price columns from the original data, discarding all others.\n- **Filter rows** to include **only** the two companies: **`MSFT` (Microsoft)** and **`GOOGL` (Google)**.\n- **Standardize the date format** by converting **`date`** into a **string** formatted as **`YYYY-MM-DD`** (year-month-day).\n- **Sort the data** by **`symbol`** and then by **`date`** so that each company’s prices are in **chronological order**, making it ready for **line plotting over time**.\n- **Return** this cleaned and filtered dataset as the final result.","dialog":[{"role":"system","content":"You are a data scientist to help user explain code, \nso that a non-code can clearly understand what the code is doing, you are provided with a summary of the input data, and the transformation code.\n\nYour goal:\n1. You should generate a good itemized explanation of the code so that the reader can understand high-level steps of what the data transformation is doing.\n - Be very concise, and stay at a high-level. The reader doesn't understand code and does not want to learn exactly what the code is doing. They just want to learn what have been done from a logical level.\n - The explanation should be a markdown string that is a list of bullet points (with new lines), highlight constants, data fields, and important verbs.\n2. Generate a list of explanations for new fields (fields not from the input data) that introduce metrics/concepts that are not obvious from the code.\n - provide a declarative definition that explains the new field, use a mathematical notation if applicable.\n - only include new fields explanation of new metrics that are involved in computation (e.g., ROI, commerical_success_score)\n - *DO NOT* explain trivial new fields like \"Decade\" or \"Avg_Rating\", \"US_Sales\" that are self-explanatory.\n - Avoid explaining fields that are simple aggregate of fields in the original data (min_score, avg_value, count, etc.)\n - When a field involves mathematical computation, you can use LaTeX math notation in the explanation. Format mathematical expressions using:\n - Inline math: `\\( ... \\)` for formulas within text\n - Block math: `\\[ ... \\]` for standalone formulas\n - Examples: `\\( \\frac{\\text{Revenue}}{\\text{Cost}} \\)` for ratios, `\\[ \\text{Score} = \\text{Rating} \\times \\text{Worldwide\\_Gross} \\]` for formulas\n - note: when using underscores as part of the text, you need to escape them with a backslash, e.g., `\\_`\n - Note: don't use math notation for fields whose computation is trivial (use plain english), it will likely be confusing to the reader. \n Only use math notation for fields that can not be easilyexplained in plain english. Use it sparingly.\n3. If there are multiple fields that have the similar computation, you can explain them together in one explanation.\n - in \"field\", you can provide a list of fields in format of \"field1, field2, ...\"\n - in \"explanation\", you can provide a single explanation for the computation of the fields.\n - for example, if you have fields like \"Norm_Rating\", \"Norm_Gross\", \"Critical_Commercial_Score\", you can explain Norm_Rating, Norm_Gross together in one explanation and explain Critical_Commercial_Score in another explanation.\n4. If the code is about statistical analysis, you should explain the statistical analysis in the explanation as a concept named \"Statistical Analysis\" in the [CONCEPTS EXPLANATION] section.\n - explain how you model the data, which fields are used, how data processing is done, and what models are used.\n - suggest some other modeling approaches that can be used to analyze the data in the explanation as well.\n \nThe focus is to explain how new fields are computed, don't generate explanation for low-level actions like \"return\", \"load data\" etc. \n\nProvide the result in the following two sections:\n - first section is the code explanation that should be a markdown block explaining the code, in the [CODE EXPLANATION] section.\n - remember to highlight constants, data fields, and important verbs in the code explanation.\n - second section is the concepts explanation that should be a json block (start with ```json) in the [CONCEPTS EXPLANATION] section.\n\n[CODE EXPLANATION]\n\n...(explanation of the code)\n\n[CONCEPTS EXPLANATION]\n\n```json\n[\n {\n \"field\": \"...\",\n \"explanation\": \"...\"\n }\n]\n\n```\n"},{"role":"user","content":"[CONTEXT]\n\n## Table 1: history (738 rows × 8 columns)\n\n### Schema (8 fields)\n - symbol -- type: object, values: AAPL, AMZN, GOOGL, META, MSFT, NVDA\n - date -- type: object, values: 2025-07-30, 2025-07-31, 2025-08-01, ..., 2026-01-20, 2026-01-21, 2026-01-22, 2026-01-23\n - open -- type: float64, values: 167.53, 168.01, 169.07, ..., 781.21, 782.98, 785.25, 789.97\n - high -- type: float64, values: 169.01, 170.94, 170.96, ..., 789.62, 792.49, 794.28, 795.06\n - low -- type: float64, values: 164.05, 166.72, 167.2, ..., 771.36, 772.21, 777.07, 779.66\n - close -- type: float64, values: 167.0, 168.29, 170.28, ..., 779.09, 780.97, 784.06, 788.82\n - volume -- type: int64, values: 5627500, 5855900, 6861200, ..., 320600300, 324925900, 343504800, 346926200\n - fetched_at -- type: object, values: 2026-01-26T23:46:42.347312Z\n\n### Sample Data (first 5 rows)\n```\n symbol date open high low close volume fetched_at\n0 AAPL 2025-07-30 211.45 211.94 207.28 208.61 45512500 2026-01-26T23:46:42.347312Z\n1 AAPL 2025-07-31 208.05 209.40 206.72 207.13 80698400 2026-01-26T23:46:42.347312Z\n2 AAPL 2025-08-01 210.43 213.13 201.08 201.95 104434500 2026-01-26T23:46:42.347312Z\n3 AAPL 2025-08-04 204.08 207.44 201.26 202.92 75109300 2026-01-26T23:46:42.347312Z\n4 AAPL 2025-08-05 202.97 204.91 201.74 202.49 44155100 2026-01-26T23:46:42.347312Z\n```\n\n\n[CODE]\n\nhere is the transformation code: \nimport pandas as pd\nimport collections\nimport numpy as np\n\ndef transform_data(df_history: pd.DataFrame) -> pd.DataFrame:\n # Select only needed columns\n cols = [\"date\", \"symbol\", \"close\"]\n df = df_history[cols].copy()\n\n # Filter for Microsoft (MSFT) and Google (GOOGL)\n target_symbols = [\"MSFT\", \"GOOGL\"]\n df = df[df[\"symbol\"].isin(target_symbols)].copy()\n\n # Ensure date is a string in YYYY-MM-DD format (no datetime objects)\n df[\"date\"] = pd.to_datetime(df[\"date\"]).dt.strftime(\"%Y-%m-%d\")\n\n # Sort for proper line plotting\n df = df.sort_values([\"symbol\", \"date\"]).reset_index(drop=True)\n\n transformed_df = df\n return transformed_df\n\n\n[EXPLANATION]\n"},{"role":"assistant","content":"[CODE EXPLANATION]\n\n- **Keep only** the **`date`**, **`symbol`**, and **`close`** price columns from the original data, discarding all others.\n- **Filter rows** to include **only** the two companies: **`MSFT` (Microsoft)** and **`GOOGL` (Google)**.\n- **Standardize the date format** by converting **`date`** into a **string** formatted as **`YYYY-MM-DD`** (year-month-day).\n- **Sort the data** by **`symbol`** and then by **`date`** so that each company’s prices are in **chronological order**, making it ready for **line plotting over time**.\n- **Return** this cleaned and filtered dataset as the final result.\n\n[CONCEPTS EXPLANATION]\n\n```json\n[\n]\n```"}],"agent":"CodeExplanationAgent"}},"anchored":false,"createdBy":"user","attachedMetadata":"","contentHash":"903aa346"}],"charts":[{"id":"chart-1769471461230","chartType":"Scatter Plot","encodingMap":{"x":{"fieldID":"original--history--date"},"y":{"fieldID":"original--history--close"},"color":{"fieldID":"original--history--symbol"},"size":{"channel":"size","bin":false},"opacity":{"channel":"opacity","bin":false},"column":{"channel":"column","bin":false},"row":{"channel":"row","bin":false}},"tableRef":"table-457008","saved":false,"source":"user","unread":false},{"id":"chart-1769471279744","chartType":"Line Chart","encodingMap":{"x":{"fieldID":"original--history--date"},"y":{"fieldID":"concept-value-1769471267162-0.9509557182892663"},"color":{"fieldID":"original--history--symbol"},"opacity":{"channel":"opacity","bin":false},"column":{"fieldID":"concept-metric-1769471284653-0.6683773975324122"},"row":{"channel":"row","bin":false}},"tableRef":"table-277926","saved":false,"source":"user","unread":false},{"id":"chart-1769471263442","chartType":"Line Chart","encodingMap":{"x":{"fieldID":"original--history--date"},"y":{"fieldID":"concept-value-1769471267162-0.9509557182892663"},"color":{"fieldID":"original--history--symbol"},"opacity":{},"column":{"fieldID":"concept-ma_window-1769471267162-0.4410018093789688"},"row":{"channel":"row","bin":false}},"tableRef":"table-265247","saved":false,"source":"user","unread":false},{"id":"chart-1769471233467","chartType":"Line Chart","encodingMap":{"x":{"fieldID":"original--history--date"},"y":{"fieldID":"original--history--close"},"color":{"fieldID":"original--history--symbol"},"opacity":{"channel":"opacity","bin":false},"column":{"channel":"column","bin":false},"row":{"channel":"row","bin":false}},"tableRef":"table-233476","saved":false,"source":"user","unread":false}],"conceptShelfItems":[{"id":"concept-phase-1769471302041-0.7083067598600609","name":"phase","type":"auto","description":"","source":"custom","tableRef":"custom","temporary":true},{"id":"concept-metric-1769471284653-0.6683773975324122","name":"metric","type":"auto","description":"","source":"custom","tableRef":"custom","temporary":true},{"id":"concept-value-1769471267162-0.9509557182892663","name":"value","type":"auto","description":"","source":"custom","tableRef":"custom","temporary":true},{"id":"concept-ma_window-1769471267162-0.4410018093789688","name":"ma_window","type":"auto","description":"","source":"custom","tableRef":"custom","temporary":true},{"id":"original--history--symbol","name":"symbol","type":"string","source":"original","description":"","tableRef":"history"},{"id":"original--history--date","name":"date","type":"date","source":"original","description":"","tableRef":"history"},{"id":"original--history--open","name":"open","type":"number","source":"original","description":"","tableRef":"history"},{"id":"original--history--high","name":"high","type":"number","source":"original","description":"","tableRef":"history"},{"id":"original--history--low","name":"low","type":"number","source":"original","description":"","tableRef":"history"},{"id":"original--history--close","name":"close","type":"number","source":"original","description":"","tableRef":"history"},{"id":"original--history--volume","name":"volume","type":"integer","source":"original","description":"","tableRef":"history"},{"id":"original--history--fetched_at","name":"fetched_at","type":"date","source":"original","description":"","tableRef":"history"}],"messages":[{"timestamp":1769535027918,"type":"success","component":"data formulator","value":"Successfully loaded Stock Prices (Live)"},{"timestamp":1769535028897,"component":"Data Refresh","type":"info","value":"Table \"stock-hist\" data refreshed (738 rows)"},{"timestamp":1769535029034,"component":"Data Refresh","type":"info","value":"Table \"stock-hist\" data refreshed (738 rows)"},{"timestamp":1769535029121,"component":"Data Refresh","type":"info","value":"Derived table \"stock-close\" refreshed (738 rows)"},{"timestamp":1769535041128,"component":"Data Refresh","type":"info","value":"Table \"stock-hist\" data refreshed (738 rows)"},{"timestamp":1769535041339,"component":"Data Refresh","type":"info","value":"Table \"stock-hist\" data refreshed (738 rows)"},{"timestamp":1769535041452,"component":"Data Refresh","type":"info","value":"Derived table \"stock-close\" refreshed (738 rows)"},{"timestamp":1769535048535,"component":"DB manager","type":"success","value":"Deleted 1 unreferenced derived views: view_ushx"}],"displayedMessageIdx":8,"focusedTableId":"table-233476","focusedChartId":"chart-1769471233467","viewMode":"editor","chartSynthesisInProgress":[],"config":{"formulateTimeoutSeconds":60,"maxRepairAttempts":1,"defaultChartWidth":300,"defaultChartHeight":300},"agentActions":[{"actionId":"exploreDataFromNL_1769471236248","tableId":"table-294972","description":"- Compared raw close-price trajectories across six mega-cap stocks.\n- Analyzed 20/60-day moving averages plus returns, volatility, and volume.\n- Summarized phase (quarterly) performance: avg/cumulative returns and volatility by symbol.","status":"completed","hidden":false,"lastUpdate":1769471309407}],"dataCleanBlocks":[],"cleanInProgress":false,"generatedReports":[{"id":"report-1769471498009-9657","content":"# Monitoring Mega-Cap Tech: Price, Trends, and Risk at a Glance\n\nThis live report is built to help you track six large tech stocks (AAPL, AMZN, GOOGL, META, MSFT, NVDA) across price, trends, and risk. Each chart updates as new rows are added to the `history` table.\n\n[IMAGE(chart-1769471233467)]\n\nThe first chart shows daily closing prices over time for all six symbols. Use it to spot broad moves, compare relative price levels, and see when one stock starts to diverge from the group.\n\n[IMAGE(chart-1769471263442)]\n\nThe second chart adds 20‑day and 60‑day moving averages. Watch how actual prices relate to these smoother trend lines: crossovers, sustained gaps, or trend flattening can signal shifting momentum.\n\n[IMAGE(chart-1769471279744)]\n\nThe third set of panels tracks three risk and activity metrics: daily returns, 20‑day return volatility, and trading volume. Look for periods where volatility or volume spikes, or where returns cluster on one side.\n\n[IMAGE(chart-1769471461230)]\n\nThe final chart zooms in on GOOGL and MSFT closing prices, making it easier to compare their day‑to‑day paths without the distraction of other symbols.\n\n**In summary**, use these views together: price levels and trends, plus returns, volatility, and volume, to monitor how each stock is behaving and how relationships between them evolve over time. Possible follow‑ups: add alerts for threshold moves, overlay events (earnings, macro news), or include benchmark indices for context.","style":"live report","selectedChartIds":["chart-1769471279744","chart-1769471233467","chart-1769471461230","chart-1769471263442"],"createdAt":1769471511269}],"_persist":{"version":-1,"rehydrated":true}} \ No newline at end of file From 80ed0ca9562762eb3ef45ec5077d8a9d48c56d06 Mon Sep 17 00:00:00 2001 From: Azwan Date: Fri, 30 Jan 2026 01:14:36 +0800 Subject: [PATCH 2/7] Feat: Added AWS Athena data loader --- .../data_formulator/data_loader/__init__.py | 6 +- .../data_loader/athena_data_loader.py | 521 ++++++++++++++++++ 2 files changed, 525 insertions(+), 2 deletions(-) create mode 100644 py-src/data_formulator/data_loader/athena_data_loader.py diff --git a/py-src/data_formulator/data_loader/__init__.py b/py-src/data_formulator/data_loader/__init__.py index 7015330..f61a685 100644 --- a/py-src/data_formulator/data_loader/__init__.py +++ b/py-src/data_formulator/data_loader/__init__.py @@ -7,6 +7,7 @@ from data_formulator.data_loader.postgresql_data_loader import PostgreSQLDataLoader from data_formulator.data_loader.mongodb_data_loader import MongoDBDataLoader from data_formulator.data_loader.bigquery_data_loader import BigQueryDataLoader +from data_formulator.data_loader.athena_data_loader import AthenaDataLoader DATA_LOADERS = { "mysql": MySQLDataLoader, @@ -16,7 +17,8 @@ "azure_blob": AzureBlobDataLoader, "postgresql": PostgreSQLDataLoader, "mongodb": MongoDBDataLoader, - "bigquery": BigQueryDataLoader + "bigquery": BigQueryDataLoader, + "athena": AthenaDataLoader } -__all__ = ["ExternalDataLoader", "MySQLDataLoader", "MSSQLDataLoader", "KustoDataLoader", "S3DataLoader", "AzureBlobDataLoader","PostgreSQLDataLoader", "MongoDBDataLoader", "BigQueryDataLoader", "DATA_LOADERS"] \ No newline at end of file +__all__ = ["ExternalDataLoader", "MySQLDataLoader", "MSSQLDataLoader", "KustoDataLoader", "S3DataLoader", "AzureBlobDataLoader", "PostgreSQLDataLoader", "MongoDBDataLoader", "BigQueryDataLoader", "AthenaDataLoader", "DATA_LOADERS"] \ No newline at end of file diff --git a/py-src/data_formulator/data_loader/athena_data_loader.py b/py-src/data_formulator/data_loader/athena_data_loader.py new file mode 100644 index 0000000..9d0e31c --- /dev/null +++ b/py-src/data_formulator/data_loader/athena_data_loader.py @@ -0,0 +1,521 @@ +import json +import logging +import re +import time +import duckdb + +from data_formulator.data_loader.external_data_loader import ExternalDataLoader, sanitize_table_name +from typing import Dict, Any, List +from data_formulator.security import validate_sql_query + +try: + import boto3 + import botocore.exceptions + BOTO3_AVAILABLE = True +except ImportError: + BOTO3_AVAILABLE = False + +log = logging.getLogger(__name__) + + +# Valid patterns for Athena identifiers (database.table or just table) +ATHENA_TABLE_PATTERN = re.compile(r'^[a-zA-Z_][a-zA-Z0-9_]*(\.[a-zA-Z_][a-zA-Z0-9_]*)?$') +ATHENA_COLUMN_PATTERN = re.compile(r'^[a-zA-Z_][a-zA-Z0-9_]*$') +S3_URL_PATTERN = re.compile(r'^s3://[a-zA-Z0-9][a-zA-Z0-9.\-_]*[a-zA-Z0-9](/.*)?$') + + +def _validate_athena_table_name(table_name: str) -> None: + """Validate that table_name is a safe Athena identifier (database.table format).""" + if not table_name: + raise ValueError("Table name cannot be empty") + if not ATHENA_TABLE_PATTERN.match(table_name): + raise ValueError( + f"Invalid table name format: '{table_name}'. " + "Expected format: 'database.table' or 'table' with alphanumeric characters and underscores only." + ) + + +def _validate_column_name(column_name: str) -> None: + """Validate that column_name is a safe identifier.""" + if not column_name: + raise ValueError("Column name cannot be empty") + if not ATHENA_COLUMN_PATTERN.match(column_name): + raise ValueError( + f"Invalid column name: '{column_name}'. " + "Only alphanumeric characters and underscores are allowed." + ) + + +def _validate_s3_url(url: str) -> None: + """Validate that URL is a proper S3 URL.""" + if not url: + raise ValueError("S3 URL cannot be empty") + if not S3_URL_PATTERN.match(url): + raise ValueError(f"Invalid S3 URL format: '{url}'. Expected format: 's3://bucket/path'") + + +def _escape_sql_string(value: str | None) -> str: + """Escape single quotes in SQL string values.""" + if value is None: + return "" + return value.replace("'", "''") + + +class AthenaDataLoader(ExternalDataLoader): + """AWS Athena data loader implementation. + + Executes SQL queries on Athena and loads results from S3 into DuckDB. + The output bucket is automatically fetched from the workgroup configuration. + """ + + @staticmethod + def list_params() -> List[Dict[str, Any]]: + params_list = [ + {"name": "aws_profile", "type": "string", "required": False, "default": "", "description": "AWS profile name from ~/.aws/credentials (if set, access key and secret are not required)"}, + {"name": "aws_access_key_id", "type": "string", "required": False, "default": "", "description": "AWS access key ID (not required if using aws_profile)"}, + {"name": "aws_secret_access_key", "type": "string", "required": False, "default": "", "description": "AWS secret access key (not required if using aws_profile)"}, + {"name": "aws_session_token", "type": "string", "required": False, "default": "", "description": "AWS session token (required for temporary credentials)"}, + {"name": "region_name", "type": "string", "required": True, "default": "us-east-1", "description": "AWS region name"}, + {"name": "workgroup", "type": "string", "required": False, "default": "primary", "description": "Athena workgroup name (output location is fetched from workgroup configuration)"}, + {"name": "output_location", "type": "string", "required": False, "default": "", "description": "S3 output location for query results (e.g., s3://bucket/path/). If empty, uses workgroup configuration."}, + {"name": "database", "type": "string", "required": False, "default": "", "description": "Default database/catalog to use for queries"}, + {"name": "query_timeout", "type": "number", "required": False, "default": 300, "description": "Query execution timeout in seconds (default: 300 = 5 minutes)"} + ] + return params_list + + @staticmethod + def auth_instructions() -> str: + return """ +**Authentication Options (choose one):** + +**Option 1 - AWS Profile (Recommended):** +- **AWS Profile**: Profile name from ~/.aws/credentials (e.g., 'default', 'myprofile') +- Configure profiles via `aws configure --profile myprofile` +- No need to enter access key or secret when using a profile + +**Option 2 - Explicit Credentials:** +- **AWS Access Key ID**: Your AWS access key identifier +- **AWS Secret Access Key**: Your AWS secret access key +- **AWS Session Token**: Optional, for temporary credentials only + +**Common Parameters:** +- **Region Name**: AWS region (e.g., 'us-east-1', 'ap-southeast-5') +- **Workgroup**: Athena workgroup name (default: 'primary') +- **Output Location**: S3 path for query results (e.g., 's3://my-bucket/athena-results/'). If empty, uses workgroup configuration. +- **Database**: Optional default database/catalog for queries +- **Query Timeout**: Query execution timeout in seconds (default: 300 = 5 minutes) + +**Setting up AWS Profile:** +```bash +aws configure --profile myprofile +# Enter: Access Key ID, Secret Access Key, Region, Output format +``` + +**Required Permissions:** +```json +{ + "Version": "2012-10-17", + "Statement": [ + { + "Effect": "Allow", + "Action": [ + "athena:StartQueryExecution", + "athena:GetQueryExecution", + "athena:GetQueryResults", + "athena:GetWorkGroup", + "athena:ListDatabases", + "athena:ListTableMetadata" + ], + "Resource": "*" + }, + { + "Effect": "Allow", + "Action": [ + "s3:GetObject", + "s3:ListBucket", + "s3:GetBucketLocation", + "s3:PutObject" + ], + "Resource": [ + "arn:aws:s3:::your-athena-results-bucket", + "arn:aws:s3:::your-athena-results-bucket/*", + "arn:aws:s3:::your-data-bucket", + "arn:aws:s3:::your-data-bucket/*" + ] + }, + { + "Effect": "Allow", + "Action": [ + "glue:GetDatabase", + "glue:GetDatabases", + "glue:GetTable", + "glue:GetTables" + ], + "Resource": "*" + } + ] +} +``` + +**Security:** Never share secret keys, rotate regularly, use least privilege permissions. + """ + + def __init__(self, params: Dict[str, Any], duck_db_conn: duckdb.DuckDBPyConnection): + if not BOTO3_AVAILABLE: + raise ImportError( + "boto3 is required for Athena connections. " + "Install with: pip install boto3" + ) + + self.params = params + self.duck_db_conn = duck_db_conn + + # Extract parameters + self.aws_profile = params.get("aws_profile", "") + self.aws_access_key_id = params.get("aws_access_key_id", "") + self.aws_secret_access_key = params.get("aws_secret_access_key", "") + self.aws_session_token = params.get("aws_session_token", "") + self.region_name = params.get("region_name", "us-east-1") + self.workgroup = params.get("workgroup", "primary") + self.output_location_param = params.get("output_location", "") + self.database = params.get("database", "") + self.query_timeout = int(params.get("query_timeout", 300)) + + # Initialize boto3 session and Athena client + if self.aws_profile: + # Use AWS profile from ~/.aws/credentials or ~/.aws/config (including SSO) + log.info(f"Using AWS profile: {self.aws_profile}") + try: + session = boto3.Session(profile_name=self.aws_profile, region_name=self.region_name) + self.athena_client = session.client('athena') + + # Get credentials from profile for DuckDB S3 access + credentials = session.get_credentials() + if credentials is None: + raise ValueError( + f"No credentials found for profile '{self.aws_profile}'. " + f"If using SSO, run: aws sso login --profile {self.aws_profile}" + ) + + # get_frozen_credentials() can trigger SSO token refresh/validation + frozen_credentials = credentials.get_frozen_credentials() + self.aws_access_key_id = frozen_credentials.access_key + self.aws_secret_access_key = frozen_credentials.secret_key + self.aws_session_token = frozen_credentials.token or "" + + except botocore.exceptions.SSOTokenLoadError as e: + raise ValueError( + f"SSO session expired or not logged in for profile '{self.aws_profile}'. " + f"Please run: aws sso login --profile {self.aws_profile}" + ) from e + except botocore.exceptions.UnauthorizedSSOTokenError as e: + raise ValueError( + f"SSO token is invalid or expired for profile '{self.aws_profile}'. " + f"Please run: aws sso login --profile {self.aws_profile}" + ) from e + except botocore.exceptions.TokenRetrievalError as e: + raise ValueError( + f"Failed to retrieve SSO token for profile '{self.aws_profile}'. " + f"Please run: aws sso login --profile {self.aws_profile}" + ) from e + except botocore.exceptions.NoCredentialsError as e: + raise ValueError( + f"No credentials found for profile '{self.aws_profile}'. " + f"Check your ~/.aws/credentials or ~/.aws/config file. " + f"If using SSO, run: aws sso login --profile {self.aws_profile}" + ) from e + except botocore.exceptions.ProfileNotFound as e: + raise ValueError( + f"AWS profile '{self.aws_profile}' not found. " + f"Check your ~/.aws/credentials or ~/.aws/config file. " + f"Available profiles can be listed with: aws configure list-profiles" + ) from e + except Exception as e: + # Catch any other credential-related errors + error_msg = str(e).lower() + if 'sso' in error_msg or 'token' in error_msg or 'expired' in error_msg: + raise ValueError( + f"AWS credential error for profile '{self.aws_profile}'. " + f"If using SSO, run: aws sso login --profile {self.aws_profile}\n" + f"Original error: {e}" + ) from e + raise + else: + # Use explicit credentials + if not self.aws_access_key_id or not self.aws_secret_access_key: + raise ValueError( + "Either 'aws_profile' or both 'aws_access_key_id' and 'aws_secret_access_key' must be provided." + ) + + session_kwargs = { + 'aws_access_key_id': self.aws_access_key_id, + 'aws_secret_access_key': self.aws_secret_access_key, + 'region_name': self.region_name + } + if self.aws_session_token: + session_kwargs['aws_session_token'] = self.aws_session_token + + self.athena_client = boto3.client('athena', **session_kwargs) + + # Get output location: prefer user-provided, then try workgroup + self.output_location = self._get_output_location() + + # Install and load the httpfs extension for S3 access + self.duck_db_conn.install_extension("httpfs") + self.duck_db_conn.load_extension("httpfs") + + # Set AWS credentials for DuckDB + self.duck_db_conn.execute(f"SET s3_region='{self.region_name}'") + self.duck_db_conn.execute(f"SET s3_access_key_id='{self.aws_access_key_id}'") + self.duck_db_conn.execute(f"SET s3_secret_access_key='{self.aws_secret_access_key}'") + if self.aws_session_token: + self.duck_db_conn.execute(f"SET s3_session_token='{self.aws_session_token}'") + + def _get_output_location(self) -> str: + """Get the output location for query results. + + Priority: user-provided output_location > workgroup configuration. + """ + # If user provided an output location, use it + if self.output_location_param: + log.info(f"Using user-provided output location: {self.output_location_param}") + return self.output_location_param + + # Try to get from workgroup configuration + try: + response = self.athena_client.get_work_group(WorkGroup=self.workgroup) + workgroup = response.get('WorkGroup', {}) + workgroup_config = workgroup.get('Configuration', {}) + result_config = workgroup_config.get('ResultConfiguration', {}) + output_location = result_config.get('OutputLocation', '') + + if output_location: + log.info(f"Using output location from workgroup '{self.workgroup}': {output_location}") + return output_location + else: + log.warning( + f"Workgroup '{self.workgroup}' has no output location configured. " + "Note: Athena console 'Settings' are client-side only. " + "Configure output location in Workgroups → Edit → Query result configuration." + ) + except botocore.exceptions.ClientError as e: + log.error(f"Failed to get workgroup configuration: {e}") + + raise ValueError( + f"No output location available. Either:\n" + f"1. Provide 'output_location' parameter (e.g., 's3://your-bucket/athena-results/'), or\n" + f"2. Configure an S3 output location in Athena workgroup '{self.workgroup}' settings." + ) + + def _execute_query(self, query: str) -> str: + """Execute an Athena query and wait for completion. + + Returns the S3 path to the query results (CSV file). + """ + # Start query execution + start_params = { + 'QueryString': query, + 'WorkGroup': self.workgroup, + 'ResultConfiguration': { + 'OutputLocation': self.output_location + } + } + + if self.database: + start_params['QueryExecutionContext'] = {'Database': self.database} + + response = self.athena_client.start_query_execution(**start_params) + query_execution_id = response['QueryExecutionId'] + log.info(f"Started Athena query execution: {query_execution_id}") + + # Poll for query completion + start_time = time.time() + while True: + elapsed = time.time() - start_time + if elapsed > self.query_timeout: + # Try to cancel the query + try: + self.athena_client.stop_query_execution(QueryExecutionId=query_execution_id) + except Exception: + pass + raise TimeoutError( + f"Query execution timed out after {self.query_timeout} seconds. " + "Consider increasing the query_timeout parameter." + ) + + response = self.athena_client.get_query_execution(QueryExecutionId=query_execution_id) + state = response['QueryExecution']['Status']['State'] + + if state == 'SUCCEEDED': + output_location = response['QueryExecution']['ResultConfiguration']['OutputLocation'] + log.info(f"Query completed successfully. Results at: {output_location}") + return output_location + elif state == 'FAILED': + reason = response['QueryExecution']['Status'].get('StateChangeReason', 'Unknown error') + raise RuntimeError(f"Athena query failed: {reason}") + elif state == 'CANCELLED': + raise RuntimeError("Athena query was cancelled") + + # Wait before polling again (exponential backoff with cap) + wait_time = min(2 ** (elapsed // 10), 10) + time.sleep(wait_time) + + def list_tables(self, table_filter: str = None) -> List[Dict[str, Any]]: + """List tables from Athena catalog (Glue Data Catalog).""" + results = [] + + try: + # List databases + databases_response = self.athena_client.list_databases(CatalogName='AwsDataCatalog') + databases = databases_response.get('DatabaseList', []) + + # If a specific database is configured, filter to just that one + if self.database: + databases = [db for db in databases if db['Name'] == self.database] + + for db in databases[:10]: # Limit to 10 databases + db_name = db['Name'] + + try: + # List tables in this database + tables_response = self.athena_client.list_table_metadata( + CatalogName='AwsDataCatalog', + DatabaseName=db_name, + MaxResults=50 + ) + + for table in tables_response.get('TableMetadataList', []): + table_name = table['Name'] + full_table_name = f"{db_name}.{table_name}" + + # Apply filter if provided + if table_filter and table_filter.lower() not in full_table_name.lower(): + continue + + # Get column information + columns = [] + for col in table.get('Columns', [])[:20]: # Limit columns + columns.append({ + 'name': col['Name'], + 'type': col.get('Type', 'unknown') + }) + + # Add partition columns + for col in table.get('PartitionKeys', []): + columns.append({ + 'name': col['Name'], + 'type': col.get('Type', 'unknown') + ' (partition)' + }) + + results.append({ + "name": full_table_name, + "metadata": { + "row_count": 0, # Athena doesn't provide row counts directly + "columns": columns, + "sample_rows": [], # Would require query execution + "table_type": table.get('TableType', 'EXTERNAL_TABLE') + } + }) + + if len(results) >= 100: + log.info("Reached 100 table limit, stopping enumeration") + return results + + except botocore.exceptions.ClientError as e: + log.warning(f"Error listing tables in database {db_name}: {e}") + continue + + except botocore.exceptions.ClientError as e: + log.error(f"Error listing Athena databases: {e}") + + log.info(f"Returning {len(results)} tables") + return results + + def ingest_data(self, table_name: str, name_as: str = None, size: int = 1000000, sort_columns: List[str] = None, sort_order: str = 'asc'): + """Ingest data from an Athena table by executing a SELECT query.""" + # Validate table name to prevent SQL injection + _validate_athena_table_name(table_name) + + if name_as is None: + # Extract table name from "database.table" format + name_as = table_name.split('.')[-1] + + name_as = sanitize_table_name(name_as) + + # Validate and build ORDER BY clause if sort_columns are specified + order_by_clause = "" + if sort_columns and len(sort_columns) > 0: + # Validate each column name + for col in sort_columns: + _validate_column_name(col) + order_direction = "DESC" if sort_order == 'desc' else "ASC" + sanitized_cols = [f'"{col}" {order_direction}' for col in sort_columns] + order_by_clause = f"ORDER BY {', '.join(sanitized_cols)}" + + # Validate size is a positive integer + if not isinstance(size, int) or size <= 0: + raise ValueError(f"Size must be a positive integer, got: {size}") + + # Build and execute the query + query = f"SELECT * FROM {table_name} {order_by_clause} LIMIT {size}" + log.info(f"Executing Athena query for table '{name_as}': {query}") + + result_location = self._execute_query(query) + + # Validate the result location is a proper S3 URL + _validate_s3_url(result_location) + + # Load results from S3 into DuckDB + log.info(f"Loading query results from {result_location}") + self.duck_db_conn.execute(f""" + CREATE OR REPLACE TABLE main.{name_as} AS + SELECT * FROM read_csv_auto('{_escape_sql_string(result_location)}') + """) + + log.info(f"Successfully ingested data into table '{name_as}'") + + def view_query_sample(self, query: str) -> List[Dict[str, Any]]: + """Execute query and return sample results.""" + result, error_message = validate_sql_query(query) + if not result: + raise ValueError(error_message) + + # Add LIMIT if not present to avoid large result sets + query_upper = query.upper() + if "LIMIT" not in query_upper: + query = f"{query.rstrip().rstrip(';')} LIMIT 10" + + # Execute query on Athena + result_location = self._execute_query(query) + + # Validate the result location is a proper S3 URL + _validate_s3_url(result_location) + + # Load results from S3 + df = self.duck_db_conn.execute(f"SELECT * FROM read_csv_auto('{_escape_sql_string(result_location)}')").df() + + return json.loads(df.head(10).to_json(orient="records")) + + def ingest_data_from_query(self, query: str, name_as: str): + """Execute Athena query and ingest results into DuckDB.""" + result, error_message = validate_sql_query(query) + if not result: + raise ValueError(error_message) + + name_as = sanitize_table_name(name_as) + + # Execute query on Athena + log.info(f"Executing Athena query for table '{name_as}'") + result_location = self._execute_query(query) + + # Validate the result location is a proper S3 URL + _validate_s3_url(result_location) + + # Load results from S3 into DuckDB + log.info(f"Loading query results from {result_location}") + self.duck_db_conn.execute(f""" + CREATE OR REPLACE TABLE main.{name_as} AS + SELECT * FROM read_csv_auto('{_escape_sql_string(result_location)}') + """) + + log.info(f"Successfully ingested data into table '{name_as}'") From 4c9428afca8092175febefc134672105f88bcaac Mon Sep 17 00:00:00 2001 From: Azwan Date: Fri, 30 Jan 2026 01:34:52 +0800 Subject: [PATCH 3/7] Ensure compatibility with Python >=3.9+ and validation of s3 path --- .../data_loader/athena_data_loader.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/py-src/data_formulator/data_loader/athena_data_loader.py b/py-src/data_formulator/data_loader/athena_data_loader.py index 9d0e31c..5e30317 100644 --- a/py-src/data_formulator/data_loader/athena_data_loader.py +++ b/py-src/data_formulator/data_loader/athena_data_loader.py @@ -5,7 +5,7 @@ import duckdb from data_formulator.data_loader.external_data_loader import ExternalDataLoader, sanitize_table_name -from typing import Dict, Any, List +from typing import Dict, Any, List, Optional from data_formulator.security import validate_sql_query try: @@ -54,7 +54,7 @@ def _validate_s3_url(url: str) -> None: raise ValueError(f"Invalid S3 URL format: '{url}'. Expected format: 's3://bucket/path'") -def _escape_sql_string(value: str | None) -> str: +def _escape_sql_string(value: Optional[str]) -> str: """Escape single quotes in SQL string values.""" if value is None: return "" @@ -276,10 +276,13 @@ def _get_output_location(self) -> str: Priority: user-provided output_location > workgroup configuration. """ - # If user provided an output location, use it + # If user provided an output location, validate and use it if self.output_location_param: - log.info(f"Using user-provided output location: {self.output_location_param}") - return self.output_location_param + _validate_s3_url(self.output_location_param) + # Normalize to ensure trailing slash for directory path + output_location = self.output_location_param.rstrip('/') + '/' + log.info(f"Using user-provided output location: {output_location}") + return output_location # Try to get from workgroup configuration try: From 51f3f8817b9889c955cfdae039c8b077a0b55588 Mon Sep 17 00:00:00 2001 From: Azwan Date: Fri, 30 Jan 2026 01:40:25 +0800 Subject: [PATCH 4/7] Update data loader README --- py-src/data_formulator/data_loader/README.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/py-src/data_formulator/data_loader/README.md b/py-src/data_formulator/data_loader/README.md index c3270c1..660e59b 100644 --- a/py-src/data_formulator/data_loader/README.md +++ b/py-src/data_formulator/data_loader/README.md @@ -22,8 +22,15 @@ The UI automatically provide the query completion option to help user generate q ### Example Implementations +- `AthenaDataLoader`: AWS Athena integration (SQL queries on S3 data lakes) +- `BigQueryDataLoader`: Google BigQuery integration - `KustoDataLoader`: Azure Data Explorer (Kusto) integration - `MySQLDataLoader`: MySQL database integration +- `PostgreSQLDataLoader`: PostgreSQL database integration +- `MSSQLDataLoader`: Microsoft SQL Server integration +- `S3DataLoader`: Amazon S3 file integration (CSV, Parquet, JSON) +- `AzureBlobDataLoader`: Azure Blob Storage integration +- `MongoDBDataLoader`: MongoDB integration ### Testing From a3a2b7507739b9084bbd0d66b921f272cdb867e1 Mon Sep 17 00:00:00 2001 From: Chenglong Wang Date: Thu, 29 Jan 2026 11:39:21 -0800 Subject: [PATCH 5/7] Update py-src/data_formulator/data_loader/athena_data_loader.py Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- .../data_loader/athena_data_loader.py | 32 ++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) diff --git a/py-src/data_formulator/data_loader/athena_data_loader.py b/py-src/data_formulator/data_loader/athena_data_loader.py index 5e30317..936d4fc 100644 --- a/py-src/data_formulator/data_loader/athena_data_loader.py +++ b/py-src/data_formulator/data_loader/athena_data_loader.py @@ -179,8 +179,38 @@ def __init__(self, params: Dict[str, Any], duck_db_conn: duckdb.DuckDBPyConnecti self.workgroup = params.get("workgroup", "primary") self.output_location_param = params.get("output_location", "") self.database = params.get("database", "") - self.query_timeout = int(params.get("query_timeout", 300)) + # Normalize and validate query timeout + raw_timeout = params.get("query_timeout", 300) + default_timeout = 300 + + if raw_timeout is None or (isinstance(raw_timeout, str) and not raw_timeout.strip()): + timeout_value = default_timeout + elif isinstance(raw_timeout, int): + timeout_value = raw_timeout + elif isinstance(raw_timeout, float): + timeout_value = int(raw_timeout) + elif isinstance(raw_timeout, str): + try: + # Allow values like "300" or "300.0" + timeout_value = int(float(raw_timeout.strip())) + except (ValueError, TypeError): + raise ValueError( + f"Invalid query_timeout value: {raw_timeout!r}. " + "Expected a positive number (int or float-compatible string)." + ) + else: + raise ValueError( + f"Invalid type for query_timeout: {type(raw_timeout).__name__}. " + "Expected int, float, str, or empty." + ) + + if timeout_value <= 0: + raise ValueError( + f"query_timeout must be a positive integer number of seconds, got {timeout_value!r}." + ) + + self.query_timeout = timeout_value # Initialize boto3 session and Athena client if self.aws_profile: # Use AWS profile from ~/.aws/credentials or ~/.aws/config (including SSO) From 0fed94cb0724c968b2e68834de06cbc719333b01 Mon Sep 17 00:00:00 2001 From: Chenglong Wang Date: Thu, 29 Jan 2026 11:39:43 -0800 Subject: [PATCH 6/7] Update py-src/data_formulator/data_loader/athena_data_loader.py Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- py-src/data_formulator/data_loader/athena_data_loader.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/py-src/data_formulator/data_loader/athena_data_loader.py b/py-src/data_formulator/data_loader/athena_data_loader.py index 936d4fc..8ba617f 100644 --- a/py-src/data_formulator/data_loader/athena_data_loader.py +++ b/py-src/data_formulator/data_loader/athena_data_loader.py @@ -366,11 +366,16 @@ def _execute_query(self, query: str) -> str: while True: elapsed = time.time() - start_time if elapsed > self.query_timeout: - # Try to cancel the query + # Try to cancel the query. This is a best-effort operation: failures are logged + # but do not prevent raising the timeout error for the caller. try: self.athena_client.stop_query_execution(QueryExecutionId=query_execution_id) except Exception: - pass + log.warning( + "Failed to cancel Athena query execution %s after timeout", + query_execution_id, + exc_info=True, + ) raise TimeoutError( f"Query execution timed out after {self.query_timeout} seconds. " "Consider increasing the query_timeout parameter." From 075f86bd0b507d28472f8aefab900c9339d30d42 Mon Sep 17 00:00:00 2001 From: Chenglong Wang Date: Thu, 29 Jan 2026 16:45:00 -0800 Subject: [PATCH 7/7] with some fixe --- py-src/data_formulator/agent_routes.py | 82 ++++++++++++++++++++ py-src/data_formulator/demo_stream_routes.py | 6 +- py-src/data_formulator/tables_routes.py | 82 -------------------- src/app/useDataRefresh.tsx | 68 ++++------------ src/app/utils.tsx | 3 +- src/views/DBTableManager.tsx | 3 + src/views/MessageSnackbar.tsx | 3 - 7 files changed, 106 insertions(+), 141 deletions(-) diff --git a/py-src/data_formulator/agent_routes.py b/py-src/data_formulator/agent_routes.py index 6b0fa94..3de374b 100644 --- a/py-src/data_formulator/agent_routes.py +++ b/py-src/data_formulator/agent_routes.py @@ -17,6 +17,7 @@ import json import html +import pandas as pd from data_formulator.agents.agent_concept_derive import ConceptDeriveAgent from data_formulator.agents.agent_py_concept_derive import PyConceptDeriveAgent @@ -708,3 +709,84 @@ def generate(): headers={ 'Access-Control-Allow-Origin': '*', } ) return response + + +@agent_bp.route('/refresh-derived-data', methods=['POST']) +def refresh_derived_data(): + """ + Re-run Python transformation code with new input data to refresh a derived table. + + This endpoint takes: + - input_tables: list of {name: string, rows: list} objects representing the parent tables + - code: the Python transformation code to execute + + Returns: + - status: 'ok' or 'error' + - rows: the resulting rows if successful + - message: error message if failed + """ + try: + from data_formulator.py_sandbox import run_transform_in_sandbox2020 + from flask import current_app + + data = request.get_json() + input_tables = data.get('input_tables', []) + code = data.get('code', '') + + if not input_tables: + return jsonify({ + "status": "error", + "message": "No input tables provided" + }), 400 + + if not code: + return jsonify({ + "status": "error", + "message": "No transformation code provided" + }), 400 + + # Convert input tables to pandas DataFrames + df_list = [] + for table in input_tables: + table_name = table.get('name', '') + table_rows = table.get('rows', []) + + if not table_rows: + return jsonify({ + "status": "error", + "message": f"Table '{table_name}' has no rows" + }), 400 + + df = pd.DataFrame.from_records(table_rows) + df_list.append(df) + + # Get exec_python_in_subprocess setting from app config + exec_python_in_subprocess = current_app.config.get('CLI_ARGS', {}).get('exec_python_in_subprocess', False) + + # Run the transformation code + result = run_transform_in_sandbox2020(code, df_list, exec_python_in_subprocess) + + if result['status'] == 'ok': + result_df = result['content'] + + # Convert result DataFrame to list of records + rows = json.loads(result_df.to_json(orient='records', date_format='iso')) + + return jsonify({ + "status": "ok", + "rows": rows, + "message": "Successfully refreshed derived data" + }) + else: + return jsonify({ + "status": "error", + "message": result.get('content', 'Unknown error during transformation') + }), 400 + + except Exception as e: + logger.error(f"Error refreshing derived data: {str(e)}") + logger.error(traceback.format_exc()) + return jsonify({ + "status": "error", + "message": str(e) + }), 400 diff --git a/py-src/data_formulator/demo_stream_routes.py b/py-src/data_formulator/demo_stream_routes.py index 6e528f4..fd1229a 100644 --- a/py-src/data_formulator/demo_stream_routes.py +++ b/py-src/data_formulator/demo_stream_routes.py @@ -106,7 +106,7 @@ def make_csv_response(rows: list, filename: str = "data.csv") -> Response: # Thread-safe storage for ISS position history _iss_track_lock = threading.Lock() -_iss_track_history: deque = deque(maxlen=500) # Keep last 500 positions (~40 min at 5s intervals) +_iss_track_history: deque = deque(maxlen=10000) # Keep last 10000 positions (~20000 min at 5s intervals) _iss_last_fetch: Optional[datetime] = None def _fetch_iss_position() -> Optional[Dict[str, Any]]: @@ -143,8 +143,8 @@ def get_iss(): """ global _iss_last_fetch - minutes = min(90, max(1, int(request.args.get('minutes', 30)))) - limit = min(500, max(10, int(request.args.get('limit', 500)))) + minutes = min(1440, max(1, int(request.args.get('minutes', 1440)))) + limit = min(10000, max(1000, int(request.args.get('limit', 10000)))) now = datetime.utcnow() cutoff = now - timedelta(minutes=minutes) diff --git a/py-src/data_formulator/tables_routes.py b/py-src/data_formulator/tables_routes.py index a66eb16..80bdeba 100644 --- a/py-src/data_formulator/tables_routes.py +++ b/py-src/data_formulator/tables_routes.py @@ -1174,86 +1174,4 @@ def data_loader_list_table_metadata(): return jsonify({ "status": "error", "message": safe_msg - }), status_code - - -@tables_bp.route('/refresh-derived-data', methods=['POST']) -def refresh_derived_data(): - """ - Re-run Python transformation code with new input data to refresh a derived table. - - This endpoint takes: - - input_tables: list of {name: string, rows: list} objects representing the parent tables - - code: the Python transformation code to execute - - Returns: - - status: 'ok' or 'error' - - rows: the resulting rows if successful - - message: error message if failed - """ - try: - from data_formulator.py_sandbox import run_transform_in_sandbox2020 - from flask import current_app - - data = request.get_json() - input_tables = data.get('input_tables', []) - code = data.get('code', '') - - if not input_tables: - return jsonify({ - "status": "error", - "message": "No input tables provided" - }), 400 - - if not code: - return jsonify({ - "status": "error", - "message": "No transformation code provided" - }), 400 - - # Convert input tables to pandas DataFrames - df_list = [] - for table in input_tables: - table_name = table.get('name', '') - table_rows = table.get('rows', []) - - if not table_rows: - return jsonify({ - "status": "error", - "message": f"Table '{table_name}' has no rows" - }), 400 - - df = pd.DataFrame.from_records(table_rows) - df_list.append(df) - - # Get exec_python_in_subprocess setting from app config - exec_python_in_subprocess = current_app.config.get('CLI_ARGS', {}).get('exec_python_in_subprocess', False) - - # Run the transformation code - result = run_transform_in_sandbox2020(code, df_list, exec_python_in_subprocess) - - if result['status'] == 'ok': - result_df = result['content'] - - # Convert result DataFrame to list of records - rows = json.loads(result_df.to_json(orient='records', date_format='iso')) - - return jsonify({ - "status": "ok", - "rows": rows, - "message": "Successfully refreshed derived data" - }) - else: - return jsonify({ - "status": "error", - "message": result.get('content', 'Unknown error during transformation') - }), 400 - - except Exception as e: - logger.error(f"Error refreshing derived data: {str(e)}") - logger.error(traceback.format_exc()) - safe_msg, status_code = sanitize_db_error_message(e) - return jsonify({ - "status": "error", - "message": safe_msg }), status_code \ No newline at end of file diff --git a/src/app/useDataRefresh.tsx b/src/app/useDataRefresh.tsx index ec53dde..2edcc59 100644 --- a/src/app/useDataRefresh.tsx +++ b/src/app/useDataRefresh.tsx @@ -5,8 +5,8 @@ import { useEffect, useRef, useCallback } from 'react'; import { useDispatch, useSelector } from 'react-redux'; import { DataFormulatorState, dfActions } from './dfSlice'; import { AppDispatch } from './store'; -import { DictTable, DataSourceConfig } from '../components/ComponentType'; -import { createTableFromFromObjectArray, createTableFromText } from '../data/utils'; +import { DictTable } from '../components/ComponentType'; +import { createTableFromText } from '../data/utils'; import { fetchWithSession, getUrls, computeContentHash } from './utils'; interface RefreshResult { @@ -28,23 +28,6 @@ export function useDataRefresh() { const refreshInProgressRef = useRef>(new Map()); const isActiveRef = useRef>(new Map()); const initializedTablesRef = useRef>(new Set()); // Track tables that have been initialized - const lastMessageTimeRef = useRef(0); - const MESSAGE_THROTTLE_MS = 10000; // 10 seconds - - /** - * Throttled message dispatcher - only sends messages if at least 10 seconds have passed since last message - */ - const dispatchThrottledMessage = useCallback((message: Parameters[0]) => { - const now = Date.now(); - const timeSinceLastMessage = now - lastMessageTimeRef.current; - - if (timeSinceLastMessage >= MESSAGE_THROTTLE_MS) { - lastMessageTimeRef.current = now; - dispatch(dfActions.addMessages(message)); - } else { - console.log(`[DataRefresh] Throttling message (${Math.round((MESSAGE_THROTTLE_MS - timeSinceLastMessage) / 1000)}s remaining): ${message.value}`); - } - }, [dispatch]); /** * Fetches fresh data from a streaming URL @@ -235,12 +218,12 @@ export function useDataRefresh() { })); // Notify about the refresh - dispatchThrottledMessage({ + dispatch(dfActions.addMessages({ timestamp: Date.now(), component: 'Data Refresh', type: 'info', value: `Table "${table.displayId || table.id}" data refreshed (${result.newRows.length} rows)` - }); + })); } else { console.log(`[DataRefresh] Table "${table.id}" data unchanged (hash: ${newContentHash.slice(0, 8)})`); } @@ -251,17 +234,17 @@ export function useDataRefresh() { } } else { console.warn(`[DataRefresh] Failed to refresh "${table.id}": ${result.message}`); - dispatchThrottledMessage({ + dispatch(dfActions.addMessages({ timestamp: Date.now(), component: 'Data Refresh', type: 'warning', value: `Failed to refresh "${table.displayId || table.id}": ${result.message}` - }); + })); } } finally { refreshInProgressRef.current.set(table.id, false); } - }, [dispatch, refreshTable, dispatchThrottledMessage]); + }, [dispatch, refreshTable]); /** * Schedule the next refresh for a table after the current one completes. @@ -430,23 +413,6 @@ export function useDerivedTableRefresh() { const tables = useSelector((state: DataFormulatorState) => state.tables); const prevTableRowsRef = useRef>(new Map()); const refreshInProgressRef = useRef>(new Set()); - const lastMessageTimeRef = useRef(0); - const MESSAGE_THROTTLE_MS = 10000; // 10 seconds - - /** - * Throttled message dispatcher - only sends messages if at least 10 seconds have passed since last message - */ - const dispatchThrottledMessage = useCallback((message: Parameters[0]) => { - const now = Date.now(); - const timeSinceLastMessage = now - lastMessageTimeRef.current; - - if (timeSinceLastMessage >= MESSAGE_THROTTLE_MS) { - lastMessageTimeRef.current = now; - dispatch(dfActions.addMessages(message)); - } else { - console.log(`[DerivedRefresh] Throttling message (${Math.round((MESSAGE_THROTTLE_MS - timeSinceLastMessage) / 1000)}s remaining): ${message.value}`); - } - }, [dispatch]); /** * Refresh a SQL view (virtual table) by re-sampling from DuckDB. @@ -477,12 +443,12 @@ export function useDerivedTableRefresh() { rows: data.rows })); - dispatchThrottledMessage({ + dispatch(dfActions.addMessages({ timestamp: Date.now(), component: 'Data Refresh', type: 'info', value: `View "${derivedTable.displayId || derivedTable.id}" refreshed (${data.rows.length} rows)` - }); + })); return true; } return false; @@ -490,7 +456,7 @@ export function useDerivedTableRefresh() { console.error(`[DerivedRefresh] Error re-sampling SQL view ${tableName}:`, error); return false; } - }, [dispatch, dispatchThrottledMessage]); + }, [dispatch]); /** * Refresh a derived table by re-running its derivation code (Python) @@ -565,33 +531,33 @@ export function useDerivedTableRefresh() { rows: data.rows })); - dispatchThrottledMessage({ + dispatch(dfActions.addMessages({ timestamp: Date.now(), component: 'Data Refresh', type: 'info', value: `Derived table "${derivedTable.displayId || derivedTable.id}" refreshed (${data.rows.length} rows)` - }); + })); } else { console.error(`[DerivedRefresh] Failed to refresh "${derivedTable.id}": ${data.message}`); - dispatchThrottledMessage({ + dispatch(dfActions.addMessages({ timestamp: Date.now(), component: 'Data Refresh', type: 'warning', value: `Failed to refresh "${derivedTable.displayId || derivedTable.id}": ${data.message}` - }); + })); } } catch (error) { console.error(`[DerivedRefresh] Error refreshing derived table ${derivedTable.id}:`, error); - dispatchThrottledMessage({ + dispatch(dfActions.addMessages({ timestamp: Date.now(), component: 'Data Refresh', type: 'error', value: `Error refreshing "${derivedTable.displayId || derivedTable.id}": ${error instanceof Error ? error.message : 'Unknown error'}` - }); + })); } finally { refreshInProgressRef.current.delete(derivedTable.id); } - }, [dispatch, refreshSqlView, dispatchThrottledMessage]); + }, [dispatch, refreshSqlView]); /** * Check for table changes and refresh dependent derived tables. diff --git a/src/app/utils.tsx b/src/app/utils.tsx index b6c82b6..017cbf6 100644 --- a/src/app/utils.tsx +++ b/src/app/utils.tsx @@ -60,7 +60,7 @@ export function getUrls() { GENERATE_REPORT_STREAM: `/api/agent/generate-report-stream`, // Refresh data endpoint - REFRESH_DERIVED_DATA: `/api/tables/refresh-derived-data`, + REFRESH_DERIVED_DATA: `/api/agent/refresh-derived-data`, }; } @@ -85,7 +85,6 @@ const SESSION_REQUIRED_ENDPOINTS = [ '/api/tables/data-loader/refresh-table', '/api/tables/data-loader/get-table-metadata', '/api/tables/data-loader/list-table-metadata', - '/api/tables/refresh-derived-data', ]; /** diff --git a/src/views/DBTableManager.tsx b/src/views/DBTableManager.tsx index b0da233..5083196 100644 --- a/src/views/DBTableManager.tsx +++ b/src/views/DBTableManager.tsx @@ -912,6 +912,9 @@ export const DBManagerPane: React.FC<{ {currentTable.name} + + {currentTable.source_metadata && `imported from ${currentTable.source_metadata.data_loader_type}.${currentTable.source_metadata.source_table_name}`} + state.messages); const displayedMessageIdx = useSelector((state: DataFormulatorState) => state.displayedMessageIdx); const dispatch = useDispatch(); - const tables = useSelector((state: DataFormulatorState) => state.tables); const [openLastMessage, setOpenLastMessage] = React.useState(false); const [latestMessage, setLatestMessage] = React.useState(); - const [openChallenge, setOpenChallenge] = React.useState(true); const [openMessages, setOpenMessages] = React.useState(false); const [expandedMessages, setExpandedMessages] = React.useState([]);