diff --git a/.gitignore b/.gitignore index 8404674..2170042 100644 --- a/.gitignore +++ b/.gitignore @@ -3,4 +3,5 @@ dist/ docs/.observablehq/cache/ node_modules/ yarn-error.log -.venv \ No newline at end of file +.venv/ +logs/ \ No newline at end of file diff --git a/docs/aapl.csv b/docs/aapl.csv deleted file mode 100644 index 6a52186..0000000 --- a/docs/aapl.csv +++ /dev/null @@ -1,1261 +0,0 @@ -Date,Open,High,Low,Close,Adj Close,Volume -2013-05-13,64.501427,65.414284,64.500000,64.962860,50.961628,79237200 -2013-05-14,64.835716,65.028572,63.164288,63.408573,49.742329,111779500 -2013-05-15,62.737144,63.000000,60.337143,61.264286,48.060188,185403400 -2013-05-16,60.462856,62.549999,59.842857,62.082859,48.702328,150801000 -2013-05-17,62.721428,62.869999,61.572857,61.894287,48.554409,106976100 -2013-05-20,61.701427,63.685715,61.442856,63.275715,49.638096,112894600 -2013-05-21,62.592857,63.639999,62.028572,62.808571,49.271629,114005500 -2013-05-22,63.435715,64.050003,62.602856,63.049999,49.461025,110759600 -2013-05-23,62.278572,63.737144,62.255714,63.162857,49.549564,88255300 -2013-05-24,62.978573,63.665714,62.908573,63.592857,49.886887,69041700 -2013-05-28,64.271431,64.444283,62.978573,63.062859,49.471127,96536300 -2013-05-29,62.857143,63.928570,62.771427,63.564285,49.864471,82644100 -2013-05-30,63.664288,64.928574,63.501427,64.511429,50.607475,88379900 -2013-05-31,64.642860,65.300003,64.214287,64.247147,50.400158,96075700 -2013-06-03,64.389999,64.622856,63.211430,64.388573,50.511097,93088100 -2013-06-04,64.745712,64.918571,63.912857,64.187141,50.353092,73182200 -2013-06-05,63.664288,64.388573,63.387142,63.587143,49.882401,72647400 -2013-06-06,63.638573,63.857143,62.007141,62.637142,49.137157,104233500 -2013-06-07,62.357143,63.320000,61.824287,63.115715,49.512577,101133900 -2013-06-10,63.532856,64.154289,62.400002,62.698570,49.185345,112538300 -2013-06-11,62.248573,63.251427,61.902859,62.514286,49.040783,71528100 -2013-06-12,62.785713,63.035713,61.642857,61.741428,48.434486,66306800 -2013-06-13,61.785713,62.448570,61.250000,62.279999,48.856991,71458100 -2013-06-14,62.200001,62.327145,61.214287,61.435715,48.194675,67966500 -2013-06-17,61.634285,62.242859,61.480000,61.714287,48.413200,64853600 -2013-06-18,61.651428,62.128571,61.458572,61.681427,48.387424,48756400 -2013-06-19,61.628571,61.665714,60.428570,60.428570,47.404587,77735000 -2013-06-20,59.900002,60.854286,59.310001,59.548573,46.714264,89327700 -2013-06-21,59.784286,60.000000,58.299999,59.071430,46.339951,120279600 -2013-06-24,58.200001,58.380001,56.864285,57.505714,45.111698,120186500 -2013-06-25,57.957142,58.255714,56.975716,57.518570,45.121765,78540700 -2013-06-26,57.700001,57.827145,56.522858,56.867142,44.610741,91931000 -2013-06-27,57.035713,57.341427,56.220001,56.254284,44.129971,84311500 -2013-06-28,55.908573,57.181427,55.552856,56.647144,44.438164,144629100 -2013-07-01,57.527142,58.895714,57.317142,58.459999,45.860298,97763400 -2013-07-02,58.565716,60.232857,58.495716,59.784286,46.899162,117466300 -2013-07-03,60.122856,60.425713,59.635715,60.114285,47.158039,60232200 -2013-07-05,60.055714,60.470001,59.335712,59.631428,46.779251,68506200 -2013-07-08,60.015713,60.142857,58.664288,59.292858,46.513660,74534600 -2013-07-09,59.085712,60.500000,58.625713,60.335712,47.331741,88146100 -2013-07-10,59.942856,60.685715,59.750000,60.104286,47.150196,70351400 -2013-07-11,60.421429,61.178570,60.167141,61.041428,47.885357,81573100 -2013-07-12,61.092857,61.398571,60.487144,60.930000,47.797943,69890800 -2013-07-15,60.715714,61.637142,60.685715,61.062859,47.902172,60479300 -2013-07-16,60.931427,61.529999,60.595715,61.457142,48.211479,54134500 -2013-07-17,61.385715,61.745716,61.174286,61.472858,48.223812,49747600 -2013-07-18,61.911430,62.124287,61.515713,61.680000,48.386299,54719700 -2013-07-19,61.871429,61.997143,60.621429,60.707142,47.623127,67180400 -2013-07-22,61.351429,61.392857,60.781429,60.901428,47.775539,51949100 -2013-07-23,60.857143,60.994286,59.815716,59.855713,46.955208,92348900 -2013-07-24,62.704285,63.512856,62.180000,62.930000,49.366905,147984200 -2013-07-25,62.957142,63.057144,62.258572,62.642857,49.141640,57373400 -2013-07-26,62.185715,63.005714,62.048573,62.998573,49.420692,50038100 -2013-07-29,62.971428,64.284286,62.885715,63.970001,50.182755,62014400 -2013-07-30,64.279999,65.307144,64.175713,64.760002,50.802479,77355600 -2013-07-31,64.998573,65.334282,64.204285,64.647141,50.713947,80739400 -2013-08-01,65.107140,65.257141,64.751427,65.239998,51.179020,51562700 -2013-08-02,65.430000,66.121429,65.237144,66.077141,51.835732,68695900 -2013-08-05,66.384285,67.238571,66.021431,67.064285,52.610134,79713900 -2013-08-06,66.860001,67.412857,66.024284,66.464287,52.139446,83714400 -2013-08-07,66.257141,66.714287,65.967140,66.425713,52.109192,74714500 -2013-08-08,66.265717,66.300003,65.421425,65.858574,54.150658,63944300 -2013-08-09,65.519997,65.779999,64.807144,64.921425,53.380112,66716300 -2013-08-12,65.265717,66.949997,65.232857,66.765717,54.896542,91108500 -2013-08-13,67.277145,70.665718,66.864288,69.938568,57.505344,220485300 -2013-08-14,71.125717,72.035713,70.485718,71.214287,58.554276,189093100 -2013-08-15,70.917145,71.771431,69.868568,71.129997,58.484966,122573500 -2013-08-16,71.449997,71.848572,71.265717,71.761429,59.004147,90576500 -2013-08-19,72.048569,73.391426,72.000000,72.534286,59.639614,127629600 -2013-08-20,72.815712,72.938568,71.545715,71.581429,58.856155,89672100 -2013-08-21,71.941429,72.449997,71.599998,71.765717,59.007671,83969900 -2013-08-22,72.139999,72.227142,71.171425,71.851425,59.078148,61051900 -2013-08-23,71.895714,71.907143,71.335716,71.574287,58.850273,55682900 -2013-08-26,71.535713,72.885712,71.500000,71.852859,59.079327,82741400 -2013-08-27,71.142860,71.787140,69.471428,69.798569,57.390232,106047200 -2013-08-28,69.428574,70.828575,69.428574,70.128571,57.661564,76902000 -2013-08-29,70.235718,70.928574,70.161430,70.242859,57.755524,59914400 -2013-08-30,70.285713,70.421425,69.500000,69.602859,57.229309,68074300 -2013-09-03,70.442856,71.514282,69.621429,69.797142,57.389057,82982200 -2013-09-04,71.365715,71.748573,70.897141,71.241432,58.576588,86258200 -2013-09-05,71.464287,71.525711,70.519997,70.752853,58.174866,59091900 -2013-09-06,71.205711,71.339996,69.992859,71.174286,58.521381,89881400 -2013-09-09,72.142860,72.559998,71.925713,72.309998,59.455212,85171800 -2013-09-10,72.314285,72.492859,69.928574,70.662857,58.100861,185798900 -2013-09-11,66.715714,67.669998,66.401428,66.815712,54.937645,224674100 -2013-09-12,66.928574,67.914284,66.572861,67.527145,55.522602,101012800 -2013-09-13,67.048569,67.404289,66.385712,66.414284,54.607578,74708900 -2013-09-16,65.857140,65.944283,63.888573,64.302856,52.871510,135926700 -2013-09-17,63.994286,65.672859,63.928570,65.045715,53.482300,99845200 -2013-09-18,66.168571,66.621429,65.808571,66.382858,54.581741,114215500 -2013-09-19,67.242859,67.975716,67.035713,67.471428,55.476803,101135300 -2013-09-20,68.285713,68.364288,66.571426,66.772858,54.902412,174825700 -2013-09-23,70.871429,70.987144,68.942856,70.091431,57.631035,190526700 -2013-09-24,70.697144,70.781425,69.688568,69.871429,57.450146,91086100 -2013-09-25,69.885712,69.948570,68.775711,68.790001,56.560963,79239300 -2013-09-26,69.428574,69.794289,69.128571,69.459999,57.111843,59305400 -2013-09-27,69.111427,69.238571,68.674286,68.964287,56.704269,57010100 -2013-09-30,68.178574,68.808571,67.772858,68.107140,55.999493,65039100 -2013-10-01,68.349998,69.877144,68.339996,69.708572,57.316231,88470900 -2013-10-02,69.375717,70.257141,69.107140,69.937141,57.504166,72296000 -2013-10-03,70.072861,70.335716,68.677139,69.058571,56.781784,80688300 -2013-10-04,69.122856,69.228569,68.371429,69.004288,56.737148,64717100 -2013-10-07,69.508568,70.378571,69.335716,69.678574,57.291565,78073100 -2013-10-08,69.991432,70.091431,68.648575,68.705711,56.491661,72729300 -2013-10-09,69.234283,69.684288,68.325714,69.512856,57.155315,75431300 -2013-10-10,70.188568,70.339996,69.577141,69.948570,57.513561,69650700 -2013-10-11,69.570000,70.548569,69.308571,70.401428,57.885921,66934700 -2013-10-14,69.975716,71.082855,69.907143,70.862854,58.265316,65474500 -2013-10-15,71.072861,71.714287,70.788574,71.239998,58.575417,80018400 -2013-10-16,71.541428,71.790001,71.318573,71.587143,58.860844,62775300 -2013-10-17,71.425713,72.111427,71.382858,72.071426,59.259037,63398300 -2013-10-18,72.284286,72.751427,72.244286,72.698570,59.774693,72635500 -2013-10-21,73.110001,74.900002,73.074287,74.480003,61.239429,99526700 -2013-10-22,75.201431,75.492859,72.575714,74.267143,61.064400,133515900 -2013-10-23,74.142860,75.095711,74.142860,74.994286,61.662289,78430800 -2013-10-24,75.000000,76.067146,74.635712,75.987144,62.478638,96191200 -2013-10-25,75.902855,76.175713,75.015717,75.137146,61.779747,84448000 -2013-10-28,75.577141,75.857140,74.744286,75.697144,62.240196,137610200 -2013-10-29,76.610001,77.035713,73.505714,73.811432,60.689693,158951800 -2013-10-30,74.230003,75.360001,73.860001,74.985718,61.655243,88540900 -2013-10-31,75.000000,75.355713,74.467140,74.671425,61.396824,68924100 -2013-11-01,74.860001,74.971428,73.691429,74.290001,61.083210,68722500 -2013-11-04,74.442856,75.260002,74.115715,75.250000,61.872543,61156900 -2013-11-05,74.940002,75.555717,74.714287,75.064285,61.719852,66303300 -2013-11-06,74.878571,74.980003,74.028572,74.417145,63.779209,55843900 -2013-11-07,74.225716,74.741432,73.197144,73.212860,62.747082,65655100 -2013-11-08,73.511429,74.447144,73.227142,74.365715,63.735111,69829200 -2013-11-11,74.284286,74.524284,73.487144,74.150002,63.550251,56863100 -2013-11-12,73.952858,74.845711,73.857140,74.287140,63.667797,51069200 -2013-11-13,74.000000,74.607140,73.851425,74.375717,63.743702,49305200 -2013-11-14,74.687141,75.611427,74.552856,75.451431,64.665649,70604800 -2013-11-15,75.225716,75.584282,74.927139,74.998573,64.277519,79480100 -2013-11-18,74.998573,75.312859,74.028572,74.089996,63.498821,61236000 -2013-11-19,74.147141,74.768570,73.995712,74.221428,63.611477,52234700 -2013-11-20,74.175713,74.345711,73.475716,73.571426,63.054394,48479200 -2013-11-21,73.942856,74.458572,73.381432,74.448570,63.806152,65506700 -2013-11-22,74.217140,74.594284,74.075714,74.257141,63.642082,55931400 -2013-11-25,74.431427,75.124283,74.428574,74.820000,64.124481,57327900 -2013-11-26,74.874283,76.591431,74.857140,76.199997,65.307205,100345700 -2013-11-27,76.615715,78.000000,76.199997,77.994286,66.845009,90862100 -2013-11-29,78.497147,79.761429,78.258568,79.438568,68.082802,79531900 -2013-12-02,79.714287,80.618568,78.688568,78.747147,67.490242,118136200 -2013-12-03,79.757141,80.911430,79.668571,80.902855,69.337791,112742000 -2013-12-04,80.785713,81.312859,80.117142,80.714287,69.176170,94452400 -2013-12-05,81.807144,82.162857,80.915718,81.128571,69.531235,111895000 -2013-12-06,80.827141,80.964287,79.938568,80.002853,68.566452,86088100 -2013-12-09,80.128571,81.368568,80.128571,80.918571,69.351250,80123400 -2013-12-10,80.511429,81.125717,80.171425,80.792854,69.243530,69567400 -2013-12-11,81.000000,81.567146,79.955711,80.194283,68.730499,89929700 -2013-12-12,80.305717,80.762856,80.004288,80.077141,68.630119,65572500 -2013-12-13,80.407143,80.411430,79.095711,79.204285,67.882027,83205500 -2013-12-16,79.288574,80.377144,79.287140,79.642860,68.257927,70648200 -2013-12-17,79.401428,79.919998,79.054283,79.284286,67.950592,57475600 -2013-12-18,78.528572,78.778572,76.971428,78.681427,67.433922,141465800 -2013-12-19,78.500000,78.571426,77.675713,77.779999,66.661339,80077200 -2013-12-20,77.918571,78.801430,77.831429,78.431427,67.219650,109103400 -2013-12-23,81.142860,81.531425,80.394287,81.441429,69.799385,125326600 -2013-12-24,81.412857,81.697144,80.861427,81.095711,69.503090,41888700 -2013-12-26,81.157143,81.357140,80.482857,80.557144,69.041496,51002000 -2013-12-27,80.545715,80.629997,79.928574,80.012856,68.574997,56471100 -2013-12-30,79.637146,80.012856,78.902855,79.217140,67.893066,63407400 -2013-12-31,79.167145,80.182854,79.142860,80.145714,68.688881,55771100 -2014-01-02,79.382858,79.575714,78.860001,79.018570,67.722862,58671200 -2014-01-03,78.980003,79.099998,77.204285,77.282860,66.235268,98116900 -2014-01-06,76.778572,78.114288,76.228569,77.704285,66.596466,103152700 -2014-01-07,77.760002,77.994286,76.845711,77.148575,66.120186,79302300 -2014-01-08,76.972855,77.937141,76.955711,77.637146,66.538902,64632400 -2014-01-09,78.114288,78.122856,76.478569,76.645714,65.689217,69787200 -2014-01-10,77.118568,77.257141,75.872856,76.134285,65.250870,76244000 -2014-01-13,75.701431,77.500000,75.697144,76.532860,65.592491,94623200 -2014-01-14,76.888573,78.104286,76.808571,78.055717,66.897652,83140400 -2014-01-15,79.074287,80.028572,78.808571,79.622856,68.240753,97909700 -2014-01-16,79.271431,79.550003,78.811432,79.178574,67.859993,57319500 -2014-01-17,78.782860,78.867142,77.128571,77.238571,66.197319,106684900 -2014-01-21,77.284286,78.581429,77.202858,78.438568,67.225777,82131700 -2014-01-22,78.701431,79.612854,78.258568,78.787140,67.524521,94996300 -2014-01-23,78.562859,79.500000,77.830002,79.454285,68.096291,100809800 -2014-01-24,79.142860,79.374283,77.821426,78.010002,66.858467,107338700 -2014-01-27,78.581429,79.257141,77.964287,78.642860,67.400864,138719700 -2014-01-28,72.680000,73.571426,71.724289,72.357140,62.013683,266380800 -2014-01-29,71.992859,72.481430,71.231430,71.535713,61.309677,125702500 -2014-01-30,71.791428,72.357140,70.957146,71.397141,61.190922,169625400 -2014-01-31,70.739998,71.647141,70.507141,71.514282,61.291309,116199300 -2014-02-03,71.801430,72.532860,71.328575,71.647141,61.405186,100366000 -2014-02-04,72.264282,72.779999,71.822861,72.684288,62.294071,94170300 -2014-02-05,72.365715,73.611427,72.321426,73.227142,62.759319,82086200 -2014-02-06,72.865715,73.357140,72.544289,73.215714,65.476723,64441300 -2014-02-07,74.482857,74.704285,73.911430,74.239998,66.392738,92570100 -2014-02-10,74.094284,75.998573,74.000000,75.570000,67.582138,86389800 -2014-02-11,75.801430,76.821426,75.642860,76.565712,68.472603,70564200 -2014-02-12,76.707146,77.080002,76.177139,76.559998,68.467506,77025200 -2014-02-13,76.379997,77.835716,76.314285,77.775711,69.554703,76849500 -2014-02-14,77.495712,77.997147,77.315712,77.712860,69.498520,68231100 -2014-02-18,78.000000,78.741432,77.944283,77.998573,69.754028,65062900 -2014-02-19,77.821426,78.127144,76.335716,76.767143,68.652756,78442000 -2014-02-20,76.141426,76.714287,75.571426,75.878571,67.858101,76464500 -2014-02-21,76.112854,76.367142,74.942856,75.035713,67.104340,69696200 -2014-02-24,74.735718,75.702858,74.631432,75.364288,67.398178,72227400 -2014-02-25,75.625717,75.652855,74.428574,74.580002,66.696777,57988000 -2014-02-26,74.801430,75.000000,73.657143,73.907143,66.095062,69054300 -2014-02-27,73.877144,75.540001,73.721428,75.381432,67.413513,75470500 -2014-02-28,75.582855,76.107140,74.588570,75.177139,67.230804,92992200 -2014-03-03,74.774284,75.807144,74.687141,75.394287,67.424995,59695300 -2014-03-04,75.857140,76.091431,75.395714,75.891426,67.869591,64785000 -2014-03-05,75.845711,76.392860,75.589996,76.051430,68.012680,50015700 -2014-03-06,76.112854,76.348572,75.442856,75.821426,67.806984,46372200 -2014-03-07,75.870003,75.997147,75.150002,75.777145,67.767372,55182400 -2014-03-10,75.480003,76.190002,75.477142,75.845711,67.828720,44646000 -2014-03-11,76.492859,76.962860,76.084282,76.584282,68.489220,69806100 -2014-03-12,76.358574,76.764282,76.000000,76.658569,68.555649,49831600 -2014-03-13,76.777145,77.094284,75.594284,75.807144,67.794228,64435700 -2014-03-14,75.541428,75.841431,74.714287,74.955711,67.032784,59299800 -2014-03-17,75.385712,75.709999,75.121429,75.248573,67.294701,49886200 -2014-03-18,75.128571,75.995712,75.028572,75.914284,67.890030,52411800 -2014-03-19,76.037140,76.605713,75.571426,75.894287,67.872169,56189000 -2014-03-20,75.698570,76.095711,75.335716,75.528572,67.545090,52099600 -2014-03-21,75.989998,76.250000,75.190002,76.124283,68.077827,93511600 -2014-03-24,76.917145,77.214287,76.437141,77.027145,68.885262,88925200 -2014-03-25,77.357140,77.964287,77.084282,77.855713,69.626259,70573300 -2014-03-26,78.074287,78.428574,76.980003,77.111427,68.960640,74942000 -2014-03-27,77.145714,77.357140,76.445717,76.779999,68.664246,55507900 -2014-03-28,76.902855,76.991432,76.321426,76.694283,68.587601,50141000 -2014-03-31,77.032860,77.258568,76.561432,76.677139,68.572273,42167300 -2014-04-01,76.822861,77.410004,76.681427,77.378571,69.199539,50190000 -2014-04-02,77.482857,77.639999,77.180000,77.507141,69.314529,45105200 -2014-04-03,77.341431,77.500000,76.805717,76.970001,68.834145,40586000 -2014-04-04,77.115715,77.142860,75.797142,75.974289,67.943726,68812800 -2014-04-07,75.431427,75.842857,74.555717,74.781425,66.876930,72462600 -2014-04-08,75.027145,75.160004,74.099998,74.777145,66.873100,60972100 -2014-04-09,74.662857,75.784286,74.574287,75.760002,67.752060,51542400 -2014-04-10,75.811432,76.034286,74.738571,74.782860,66.878227,59913000 -2014-04-11,74.142860,74.690002,73.877144,74.230003,66.383789,67929400 -2014-04-14,74.557144,74.594284,73.887146,74.525711,66.648232,51418500 -2014-04-15,74.324287,74.519997,73.047142,73.994286,66.172997,66622500 -2014-04-16,74.007141,74.441429,73.448570,74.144287,66.307129,53691400 -2014-04-17,74.285713,75.394287,74.171425,74.991432,67.064743,71083600 -2014-04-21,75.048569,76.019997,74.851425,75.881432,67.860657,45637200 -2014-04-22,75.472855,75.975716,75.214287,75.957146,67.928375,50640800 -2014-04-23,75.580002,75.875717,74.921425,74.964287,67.040466,98735000 -2014-04-24,81.172859,81.428574,80.104286,81.110001,72.536575,189977900 -2014-04-25,80.647141,81.712860,80.565712,81.705711,73.069313,97568800 -2014-04-28,81.828575,85.107140,81.792854,84.870003,75.899139,167371400 -2014-04-29,84.820000,85.139999,84.215714,84.618568,75.674263,84344400 -2014-04-30,84.662857,85.632858,84.257141,84.298569,75.388100,114160200 -2014-05-01,84.571426,84.971428,83.765717,84.497147,75.565689,61012000 -2014-05-02,84.620003,84.885712,84.244286,84.654289,75.706215,47878600 -2014-05-05,84.305717,85.857140,84.285713,85.851425,76.776825,71766800 -2014-05-06,85.971428,86.344284,84.915718,84.915718,75.940018,93641100 -2014-05-07,85.035713,85.327141,83.961426,84.618568,75.674263,70716100 -2014-05-08,84.035713,84.915718,83.771431,83.998573,78.158630,57574300 -2014-05-09,83.505714,83.750000,82.904289,83.648575,77.832993,72899400 -2014-05-12,83.927139,84.808571,83.914284,84.690002,78.801994,53302200 -2014-05-13,84.571426,84.934288,84.385712,84.822861,78.925613,39934300 -2014-05-14,84.632858,85.342857,84.534286,84.838570,78.940239,41601000 -2014-05-15,84.957146,85.228569,84.005714,84.117142,78.268967,57711500 -2014-05-16,84.089996,85.361427,83.628571,85.358574,79.424072,69064100 -2014-05-19,85.407143,86.761429,85.332855,86.370003,80.365196,79438800 -2014-05-20,86.358574,86.628571,85.818573,86.387146,80.381149,58709000 -2014-05-21,86.261429,86.671425,86.008568,86.615715,80.593834,49214900 -2014-05-22,86.657143,87.121429,86.300003,86.752853,80.721428,50190000 -2014-05-23,86.750000,87.818573,86.638573,87.732857,81.633316,58052400 -2014-05-27,87.982857,89.408569,87.947144,89.375717,83.161942,87216500 -2014-05-28,89.431427,89.975716,89.111427,89.144287,82.946617,78870400 -2014-05-29,89.692856,90.981430,89.681427,90.768570,84.457962,94118500 -2014-05-30,91.139999,92.024284,89.842857,90.428574,84.141617,141005200 -2014-06-02,90.565712,90.690002,88.928574,89.807144,83.563377,92337700 -2014-06-03,89.779999,91.248573,89.750000,91.077141,84.745071,73177300 -2014-06-04,91.062859,92.555717,90.872856,92.117142,85.712769,83870500 -2014-06-05,92.314285,92.767143,91.801430,92.478569,86.049088,75951400 -2014-06-06,92.842857,93.037140,92.067146,92.224289,85.812477,87484600 -2014-06-09,92.699997,93.879997,91.750000,93.699997,87.185577,75415000 -2014-06-10,94.730003,95.050003,93.570000,94.250000,87.697365,62777000 -2014-06-11,94.129997,94.760002,93.470001,93.860001,87.334457,45681000 -2014-06-12,94.040001,94.120003,91.900002,92.290001,85.873611,54749000 -2014-06-13,92.199997,92.440002,90.879997,91.279999,84.933846,54525000 -2014-06-16,91.510002,92.750000,91.449997,92.199997,85.789871,35561000 -2014-06-17,92.309998,92.699997,91.800003,92.080002,85.678207,29726000 -2014-06-18,92.269997,92.290001,91.349998,92.180000,85.771263,33514000 -2014-06-19,92.290001,92.300003,91.339996,91.860001,85.473503,35528000 -2014-06-20,91.849998,92.550003,90.900002,90.910004,84.589569,100898000 -2014-06-23,91.320000,91.620003,90.599998,90.830002,84.515114,43694000 -2014-06-24,90.750000,91.739998,90.190002,90.279999,84.003365,39036000 -2014-06-25,90.209999,90.699997,89.650002,90.360001,84.077789,36869000 -2014-06-26,90.370003,91.050003,89.800003,90.900002,84.580269,32629000 -2014-06-27,90.820000,92.000000,90.769997,91.980003,85.585167,64029000 -2014-06-30,92.099998,93.730003,92.089996,92.930000,86.469116,49482300 -2014-07-01,93.519997,94.070000,93.129997,93.519997,87.018105,38223000 -2014-07-02,93.870003,94.059998,93.089996,93.480003,86.980873,28465000 -2014-07-03,93.669998,94.099998,93.199997,94.029999,87.492630,22891800 -2014-07-07,94.139999,95.989998,94.099998,95.970001,89.297775,56468000 -2014-07-08,96.269997,96.800003,93.919998,95.349998,88.720863,65222000 -2014-07-09,95.440002,95.949997,94.760002,95.389999,88.758087,36436000 -2014-07-10,93.760002,95.550003,93.519997,95.040001,88.432434,39686000 -2014-07-11,95.360001,95.889999,94.860001,95.220001,88.599915,34018000 -2014-07-14,95.860001,96.889999,95.650002,96.449997,89.744392,42810000 -2014-07-15,96.800003,96.849998,95.029999,95.320000,88.692963,45477900 -2014-07-16,96.970001,97.099998,94.739998,94.779999,88.190491,53396300 -2014-07-17,95.029999,95.279999,92.570000,93.089996,86.618011,57298000 -2014-07-18,93.620003,94.739998,93.019997,94.430000,87.864822,49988000 -2014-07-21,94.989998,95.000000,93.720001,93.940002,87.408913,39079000 -2014-07-22,94.680000,94.889999,94.120003,94.720001,88.134674,55197000 -2014-07-23,95.419998,97.879997,95.169998,97.190002,90.432945,92918000 -2014-07-24,97.040001,97.320000,96.419998,97.029999,90.284065,45729000 -2014-07-25,96.849998,97.839996,96.639999,97.669998,90.879570,43469000 -2014-07-28,97.820000,99.239998,97.550003,99.019997,92.135719,55318000 -2014-07-29,99.330002,99.440002,98.250000,98.379997,91.540215,43143000 -2014-07-30,98.440002,98.699997,97.669998,98.150002,91.326195,33010000 -2014-07-31,97.160004,97.449997,95.330002,95.599998,88.953499,56843000 -2014-08-01,94.900002,96.620003,94.809998,96.129997,89.446640,48511000 -2014-08-04,96.370003,96.580002,95.169998,95.589996,88.944183,39958000 -2014-08-05,95.360001,95.680000,94.360001,95.120003,88.506859,55933000 -2014-08-06,94.750000,95.480003,94.709999,94.959999,88.357979,38558000 -2014-08-07,94.930000,95.949997,94.099998,94.480003,88.348633,46711000 -2014-08-08,94.260002,94.820000,93.279999,94.739998,88.591759,41865000 -2014-08-11,95.269997,96.080002,94.839996,95.989998,89.760643,36585000 -2014-08-12,96.040001,96.879997,95.610001,95.970001,89.741943,33795000 -2014-08-13,96.150002,97.239998,96.040001,97.239998,90.929512,31916000 -2014-08-14,97.330002,97.570000,96.800003,97.500000,91.172653,28116000 -2014-08-15,97.900002,98.190002,96.860001,97.980003,91.621513,48951000 -2014-08-18,98.489998,99.370003,97.980003,99.160004,92.724922,47572000 -2014-08-19,99.410004,100.680000,99.320000,100.529999,94.006012,69399000 -2014-08-20,100.440002,101.089996,99.949997,100.570000,94.043434,52699000 -2014-08-21,100.570000,100.940002,100.110001,100.580002,94.052780,33478000 -2014-08-22,100.290001,101.470001,100.190002,101.320000,94.744743,44184000 -2014-08-25,101.790001,102.169998,101.279999,101.540001,94.950470,40270000 -2014-08-26,101.419998,101.500000,100.860001,100.889999,94.342651,33152000 -2014-08-27,101.019997,102.570000,100.699997,102.129997,95.502167,52369000 -2014-08-28,101.589996,102.779999,101.559998,102.250000,95.614388,68460000 -2014-08-29,102.860001,102.900002,102.199997,102.500000,95.848152,44595000 -2014-09-02,103.059998,103.739998,102.720001,103.300003,96.596260,53564000 -2014-09-03,103.099998,103.199997,98.580002,98.940002,92.519188,125421000 -2014-09-04,98.849998,100.089996,97.790001,98.120003,91.752419,85718000 -2014-09-05,98.800003,99.389999,98.309998,98.970001,92.547249,58457000 -2014-09-08,99.300003,99.309998,98.050003,98.360001,91.976845,46356700 -2014-09-09,99.080002,103.080002,96.139999,97.989998,91.630852,189846300 -2014-09-10,98.010002,101.110001,97.760002,101.000000,94.445526,100869600 -2014-09-11,100.410004,101.440002,99.620003,101.430000,94.847603,62353100 -2014-09-12,101.209999,102.190002,101.080002,101.660004,95.062691,62626100 -2014-09-15,102.809998,103.050003,101.440002,101.629997,95.034615,61316500 -2014-09-16,99.800003,101.260002,98.889999,100.860001,94.314598,66908100 -2014-09-17,101.269997,101.800003,100.589996,101.580002,94.987869,60926500 -2014-09-18,101.930000,102.349998,101.559998,101.790001,95.184250,37299400 -2014-09-19,102.290001,102.349998,100.500000,100.959999,94.408112,70902400 -2014-09-22,101.800003,102.139999,100.580002,101.059998,94.501625,52788400 -2014-09-23,100.599998,102.940002,100.540001,102.639999,95.979088,63402200 -2014-09-24,102.160004,102.849998,101.199997,101.750000,95.146843,60171800 -2014-09-25,100.510002,100.709999,97.720001,97.870003,91.518661,100092000 -2014-09-26,98.529999,100.750000,98.400002,100.750000,94.211754,62370500 -2014-09-29,98.650002,100.440002,98.629997,100.110001,93.613274,49766300 -2014-09-30,100.809998,101.540001,100.529999,100.750000,94.211754,55264100 -2014-10-01,100.589996,100.690002,98.699997,99.180000,92.743637,51491300 -2014-10-02,99.269997,100.220001,98.040001,99.900002,93.416908,47757800 -2014-10-03,99.440002,100.209999,99.040001,99.620003,93.155067,43469600 -2014-10-06,99.949997,100.650002,99.419998,99.620003,93.155067,37051200 -2014-10-07,99.430000,100.120003,98.730003,98.750000,92.341522,42094200 -2014-10-08,98.760002,101.110001,98.309998,100.800003,94.258507,57404700 -2014-10-09,101.540001,102.379997,100.610001,101.019997,94.464211,77376500 -2014-10-10,100.690002,102.029999,100.300003,100.730003,94.193039,66331600 -2014-10-13,101.330002,101.779999,99.809998,99.809998,93.332733,53583400 -2014-10-14,100.389999,100.519997,98.570000,98.750000,92.341522,63688600 -2014-10-15,97.970001,99.150002,95.180000,97.540001,91.210045,100933600 -2014-10-16,95.550003,97.720001,95.410004,96.260002,90.013115,72154500 -2014-10-17,97.500000,99.000000,96.809998,97.669998,91.331619,68179700 -2014-10-20,98.320000,99.959999,98.220001,99.760002,93.285973,77517300 -2014-10-21,103.019997,103.019997,101.269997,102.470001,95.820122,94623900 -2014-10-22,102.839996,104.110001,102.599998,102.989998,96.306366,68263100 -2014-10-23,104.080002,105.050003,103.629997,104.830002,98.026962,71074700 -2014-10-24,105.180000,105.489998,104.529999,105.220001,98.391663,47053900 -2014-10-27,104.849998,105.480003,104.699997,105.110001,98.288780,34187700 -2014-10-28,105.400002,106.739998,105.349998,106.739998,99.813004,48060900 -2014-10-29,106.650002,107.370003,106.360001,107.339996,100.374069,52687900 -2014-10-30,106.959999,107.349998,105.900002,106.980003,100.037453,40654800 -2014-10-31,108.010002,108.040001,107.209999,108.000000,100.991234,44639300 -2014-11-03,108.220001,110.300003,108.010002,109.400002,102.300392,52282600 -2014-11-04,109.360001,109.489998,107.720001,108.599998,101.552292,41574400 -2014-11-05,109.099998,109.300003,108.129997,108.860001,101.795433,37435900 -2014-11-06,108.599998,108.790001,107.800003,108.699997,102.086563,34968500 -2014-11-07,108.750000,109.320000,108.550003,109.010002,102.377716,33691500 -2014-11-10,109.019997,109.330002,108.669998,108.830002,102.208649,27195500 -2014-11-11,108.699997,109.750000,108.400002,109.699997,103.025711,27442300 -2014-11-12,109.379997,111.430000,109.370003,111.250000,104.481422,46942400 -2014-11-13,111.800003,113.449997,111.599998,112.820000,105.955902,59522900 -2014-11-14,113.150002,114.190002,111.209999,114.180000,107.233170,44063600 -2014-11-17,114.269997,117.279999,113.300003,113.989998,107.054726,46746700 -2014-11-18,113.940002,115.690002,113.889999,115.470001,108.444672,44224000 -2014-11-19,115.440002,115.739998,113.800003,114.669998,107.693336,41869200 -2014-11-20,114.910004,116.860001,114.849998,116.309998,109.233559,43395500 -2014-11-21,117.510002,117.570000,116.029999,116.470001,109.383842,57179300 -2014-11-24,116.849998,118.769997,116.620003,118.629997,111.412415,47450800 -2014-11-25,119.070000,119.750000,117.449997,117.599998,110.445091,68840400 -2014-11-26,117.940002,119.099998,117.830002,119.000000,111.759903,40768300 -2014-11-28,119.269997,119.400002,118.050003,118.930000,111.694160,24814400 -2014-12-01,118.809998,119.250000,111.269997,115.070000,108.069008,83814000 -2014-12-02,113.500000,115.750000,112.750000,114.629997,107.655785,59348900 -2014-12-03,115.750000,116.349998,115.110001,115.930000,108.876686,43063400 -2014-12-04,115.769997,117.199997,115.290001,115.489998,108.463455,42044500 -2014-12-05,115.989998,116.080002,114.639999,115.000000,108.003265,38318900 -2014-12-08,114.099998,114.650002,111.620003,112.400002,105.561447,57664900 -2014-12-09,110.190002,114.300003,109.349998,114.120003,107.176811,60208000 -2014-12-10,114.410004,114.849998,111.540001,111.949997,105.138840,44565300 -2014-12-11,112.260002,113.800003,111.339996,111.620003,104.828918,41401700 -2014-12-12,110.459999,111.870003,109.580002,109.730003,103.053902,56028100 -2014-12-15,110.699997,111.599998,106.349998,108.230003,101.645164,67218100 -2014-12-16,106.370003,110.160004,106.260002,106.750000,100.255203,60790700 -2014-12-17,107.120003,109.839996,106.820000,109.410004,102.753387,53411800 -2014-12-18,111.870003,112.650002,110.660004,112.650002,105.796242,59006200 -2014-12-19,112.260002,113.239998,111.660004,111.779999,104.979164,88429800 -2014-12-22,112.160004,113.489998,111.970001,112.940002,106.068596,45167500 -2014-12-23,113.230003,113.330002,112.459999,112.540001,105.692940,26028400 -2014-12-24,112.580002,112.709999,112.010002,112.010002,105.195190,14479600 -2014-12-26,112.099998,114.519997,112.010002,113.989998,107.054726,33721000 -2014-12-29,113.790001,114.769997,113.699997,113.910004,106.979584,27598900 -2014-12-30,113.639999,113.919998,112.110001,112.519997,105.674149,29881500 -2014-12-31,112.820000,113.129997,110.209999,110.379997,103.664352,41403400 -2015-01-02,111.389999,111.440002,107.349998,109.330002,102.678230,53204600 -2015-01-05,108.290001,108.650002,105.410004,106.250000,99.785629,64285500 -2015-01-06,106.540001,107.430000,104.629997,106.260002,99.795021,65797100 -2015-01-07,107.199997,108.199997,106.699997,107.750000,101.194359,40105900 -2015-01-08,109.230003,112.150002,108.699997,111.889999,105.082497,59364500 -2015-01-09,112.669998,113.250000,110.209999,112.010002,105.195190,53699500 -2015-01-12,112.599998,112.629997,108.800003,109.250000,102.603104,49650800 -2015-01-13,111.430000,112.800003,108.910004,110.220001,103.514084,67091900 -2015-01-14,109.040001,110.489998,108.500000,109.800003,103.119652,48337000 -2015-01-15,110.000000,110.059998,106.660004,106.820000,100.320961,60014000 -2015-01-16,107.029999,107.580002,105.199997,105.989998,99.541428,78513300 -2015-01-20,107.839996,108.970001,106.500000,108.720001,102.105339,49899900 -2015-01-21,108.949997,111.059998,108.269997,109.550003,102.884872,48575900 -2015-01-22,110.260002,112.470001,109.720001,112.400002,105.561447,53796400 -2015-01-23,112.300003,113.750000,111.529999,112.980003,106.106171,46464800 -2015-01-26,113.739998,114.360001,112.800003,113.099998,106.218864,55615000 -2015-01-27,112.419998,112.480003,109.029999,109.139999,102.499809,95568700 -2015-01-28,117.629997,118.120003,115.309998,115.309998,108.294418,146477100 -2015-01-29,116.320000,119.190002,115.559998,118.900002,111.665985,84436400 -2015-01-30,118.400002,120.000000,116.849998,117.160004,110.031860,83745500 -2015-02-02,118.050003,119.169998,116.080002,118.629997,111.412415,62739100 -2015-02-03,118.500000,119.089996,117.610001,118.650002,111.431198,51915700 -2015-02-04,118.500000,120.510002,118.309998,119.559998,112.285835,70149700 -2015-02-05,120.019997,120.230003,119.250000,119.940002,113.087288,42246200 -2015-02-06,120.019997,120.250000,118.449997,118.930000,112.134979,43706600 -2015-02-09,118.550003,119.839996,118.430000,119.720001,112.879837,38889800 -2015-02-10,120.169998,122.150002,120.160004,122.019997,115.048439,62008500 -2015-02-11,122.769997,124.919998,122.500000,124.879997,117.745018,73561800 -2015-02-12,126.059998,127.480003,125.570000,126.459999,119.234741,74474500 -2015-02-13,127.279999,127.279999,125.650002,127.080002,119.819328,54272200 -2015-02-17,127.489998,128.880005,126.919998,127.830002,120.526489,63152400 -2015-02-18,127.629997,128.779999,127.449997,128.720001,121.365623,44891700 -2015-02-19,128.479996,129.029999,128.330002,128.449997,121.111046,37362400 -2015-02-20,128.619995,129.500000,128.050003,129.500000,122.101074,48948400 -2015-02-23,130.020004,133.000000,129.660004,133.000000,125.401093,70974100 -2015-02-24,132.940002,133.600006,131.169998,132.169998,124.618500,69228100 -2015-02-25,131.559998,131.600006,128.149994,128.789993,121.431618,74711700 -2015-02-26,128.789993,130.869995,126.610001,130.419998,122.968491,91287500 -2015-02-27,130.000000,130.570007,128.240005,128.460007,121.120499,62014800 -2015-03-02,129.250000,130.279999,128.300003,129.089996,121.714493,48096700 -2015-03-03,128.960007,129.520004,128.089996,129.360001,121.969078,37816300 -2015-03-04,129.100006,129.559998,128.320007,128.539993,121.195908,31666300 -2015-03-05,128.580002,128.750000,125.760002,126.410004,119.187622,56517100 -2015-03-06,128.399994,129.369995,126.260002,126.599998,119.366760,72842100 -2015-03-09,127.959999,129.570007,125.059998,127.139999,119.875908,88528500 -2015-03-10,126.410004,127.220001,123.800003,124.510002,117.396172,68856600 -2015-03-11,124.750000,124.769997,122.110001,122.239998,115.255852,68939000 -2015-03-12,122.309998,124.900002,121.629997,124.449997,117.339600,48362700 -2015-03-13,124.400002,125.400002,122.580002,123.589996,116.528725,51827300 -2015-03-16,123.879997,124.949997,122.870003,124.949997,117.811035,35874300 -2015-03-17,125.900002,127.320000,125.650002,127.040001,119.781624,51023100 -2015-03-18,127.000000,129.160004,126.370003,128.470001,121.129906,65270900 -2015-03-19,128.750000,129.250000,127.400002,127.500000,120.215340,45809500 -2015-03-20,128.250000,128.399994,125.160004,125.900002,118.706749,68695100 -2015-03-23,127.120003,127.849998,126.519997,127.209999,119.941895,37709700 -2015-03-24,127.230003,128.039993,126.559998,126.690002,119.451622,32842300 -2015-03-25,126.540001,126.820000,123.379997,123.379997,116.330727,51655200 -2015-03-26,122.760002,124.879997,122.599998,124.239998,117.141594,47572900 -2015-03-27,124.570000,124.699997,122.910004,123.250000,116.208160,39546200 -2015-03-30,124.050003,126.400002,124.000000,126.370003,119.149910,47099700 -2015-03-31,126.089996,126.489998,124.360001,124.430000,117.320740,42090600 -2015-04-01,124.820000,125.120003,123.099998,124.250000,117.151024,40621400 -2015-04-02,125.029999,125.559998,124.190002,125.320000,118.159889,32220100 -2015-04-06,124.470001,127.510002,124.330002,127.349998,120.073914,37194000 -2015-04-07,127.639999,128.119995,125.980003,126.010002,118.810463,35012300 -2015-04-08,125.849998,126.400002,124.970001,125.599998,118.423904,37329200 -2015-04-09,125.849998,126.580002,124.660004,126.559998,119.329041,32484000 -2015-04-10,125.949997,127.209999,125.260002,127.099998,119.838188,40188000 -2015-04-13,128.369995,128.570007,126.610001,126.849998,119.602478,36365100 -2015-04-14,127.000000,127.290001,125.910004,126.300003,119.083893,25524600 -2015-04-15,126.410004,127.129997,126.010002,126.779999,119.536476,28970400 -2015-04-16,126.279999,127.099998,126.110001,126.169998,118.961311,28369000 -2015-04-17,125.550003,126.139999,124.459999,124.750000,117.622444,51957000 -2015-04-20,125.570000,128.119995,125.169998,127.599998,120.309624,47054300 -2015-04-21,128.100006,128.199997,126.669998,126.910004,119.659050,32435100 -2015-04-22,126.989998,128.869995,126.320000,128.619995,121.271347,37654500 -2015-04-23,128.300003,130.419998,128.139999,129.669998,122.261353,45770900 -2015-04-24,130.490005,130.630005,129.229996,130.279999,122.836502,44525900 -2015-04-27,132.309998,133.130005,131.149994,132.649994,125.071068,96954200 -2015-04-28,134.460007,134.539993,129.570007,130.559998,123.100502,118924000 -2015-04-29,130.160004,131.589996,128.300003,128.639999,121.290192,63386100 -2015-04-30,128.639999,128.639999,124.580002,125.150002,117.999596,83195400 -2015-05-01,126.099998,130.130005,125.300003,128.949997,121.582474,58512600 -2015-05-04,129.500000,130.570007,128.259995,128.699997,121.346771,50988300 -2015-05-05,128.149994,128.449997,125.779999,125.800003,118.612465,49271400 -2015-05-06,126.559998,126.750000,123.360001,125.010002,117.867599,72141000 -2015-05-07,124.769997,126.080002,124.019997,125.260002,118.596642,43940900 -2015-05-08,126.680000,127.620003,126.110001,127.620003,120.831108,55550400 -2015-05-11,127.389999,127.559998,125.629997,126.320000,119.600243,42035800 -2015-05-12,125.599998,126.879997,124.820000,125.870003,119.174187,48160000 -2015-05-13,126.150002,127.190002,125.870003,126.010002,119.306732,34694200 -2015-05-14,127.410004,128.949997,127.160004,128.949997,122.090340,45203500 -2015-05-15,129.070007,129.490005,128.210007,128.770004,121.919922,38208000 -2015-05-18,128.380005,130.720001,128.360001,130.190002,123.264397,50882900 -2015-05-19,130.690002,130.880005,129.639999,130.070007,123.150787,44633200 -2015-05-20,130.000000,130.979996,129.339996,130.059998,123.141296,36454900 -2015-05-21,130.070007,131.630005,129.830002,131.389999,124.400558,39730400 -2015-05-22,131.600006,132.970001,131.399994,132.539993,125.489357,45596000 -2015-05-26,132.600006,132.910004,129.119995,129.619995,122.724678,70697600 -2015-05-27,130.339996,132.259995,130.050003,132.039993,125.015953,45833200 -2015-05-28,131.860001,131.949997,131.100006,131.779999,124.769791,30733300 -2015-05-29,131.229996,131.449997,129.899994,130.279999,123.349586,50884500 -2015-06-01,130.279999,131.389999,130.050003,130.539993,123.595764,32112800 -2015-06-02,129.860001,130.660004,129.320007,129.960007,123.046638,33667600 -2015-06-03,130.660004,130.940002,129.899994,130.119995,123.198097,30889400 -2015-06-04,129.580002,130.580002,128.910004,129.360001,122.478546,38450100 -2015-06-05,129.500000,129.690002,128.360001,128.649994,121.806305,35626800 -2015-06-08,128.899994,129.210007,126.830002,127.800003,121.001518,52674800 -2015-06-09,126.699997,128.080002,125.620003,127.419998,120.641731,56075400 -2015-06-10,127.919998,129.339996,127.849998,128.880005,122.024086,39087300 -2015-06-11,129.179993,130.179993,128.479996,128.589996,121.749489,35390900 -2015-06-12,128.190002,128.330002,127.110001,127.169998,120.405037,36886200 -2015-06-15,126.099998,127.239998,125.709999,126.919998,120.168327,43988900 -2015-06-16,127.029999,127.849998,126.370003,127.599998,120.812149,31494100 -2015-06-17,127.720001,127.879997,126.739998,127.300003,120.528114,32918100 -2015-06-18,127.230003,128.309998,127.220001,127.879997,121.077255,35407200 -2015-06-19,127.709999,127.820000,126.400002,126.599998,119.865356,54716900 -2015-06-22,127.489998,128.059998,127.080002,127.610001,120.821625,34039300 -2015-06-23,127.480003,127.610001,126.879997,127.029999,120.272484,30268900 -2015-06-24,127.209999,129.800003,127.120003,128.110001,121.295044,55280900 -2015-06-25,128.860001,129.199997,127.500000,127.500000,120.717476,31938100 -2015-06-26,127.669998,127.989998,126.510002,126.750000,120.007362,44066800 -2015-06-29,125.459999,126.470001,124.480003,124.529999,117.905479,49161400 -2015-06-30,125.570000,126.120003,124.860001,125.430000,118.757591,44370700 -2015-07-01,126.900002,126.940002,125.989998,126.599998,119.865356,30238800 -2015-07-02,126.430000,126.690002,125.769997,126.440002,119.713867,27211000 -2015-07-06,124.940002,126.230003,124.849998,126.000000,119.297279,28060400 -2015-07-07,125.889999,126.150002,123.769997,125.690002,119.003761,46946800 -2015-07-08,124.480003,124.639999,122.540001,122.570000,116.049744,60761600 -2015-07-09,123.849998,124.059998,119.220001,120.070000,113.682739,77821600 -2015-07-10,121.940002,123.849998,121.209999,123.279999,116.721977,61354500 -2015-07-13,125.029999,125.760002,124.320000,125.660004,118.975372,41440500 -2015-07-14,126.040001,126.370003,125.040001,125.610001,118.928009,31768100 -2015-07-15,125.720001,127.150002,125.580002,126.820000,120.073647,33649200 -2015-07-16,127.739998,128.570007,127.349998,128.509995,121.673759,36222400 -2015-07-17,129.080002,129.619995,128.309998,129.619995,122.724678,46164700 -2015-07-20,130.970001,132.970001,130.699997,132.070007,125.044388,58900200 -2015-07-21,132.850006,132.919998,130.320007,130.750000,123.794601,76756400 -2015-07-22,121.989998,125.500000,121.989998,125.220001,118.558777,115450600 -2015-07-23,126.199997,127.089996,125.059998,125.160004,118.501961,50999500 -2015-07-24,125.320000,125.739998,123.900002,124.500000,117.877068,42162300 -2015-07-27,123.089996,123.610001,122.120003,122.769997,116.239098,44455500 -2015-07-28,123.379997,123.910004,122.550003,123.379997,116.816643,33618100 -2015-07-29,123.150002,123.500000,122.269997,122.989998,116.447395,37011700 -2015-07-30,122.320000,122.570000,121.709999,122.370003,115.860397,33628300 -2015-07-31,122.599998,122.639999,120.910004,121.300003,114.847298,42885000 -2015-08-03,121.500000,122.570000,117.519997,118.440002,112.139442,69976000 -2015-08-04,117.419998,117.699997,113.250000,114.639999,108.541588,124138600 -2015-08-05,112.949997,117.440002,112.099998,115.400002,109.261162,99312600 -2015-08-06,115.970001,116.500000,114.120003,115.129997,109.498924,52903000 -2015-08-07,114.580002,116.250000,114.500000,115.519997,109.869843,38670400 -2015-08-10,116.529999,119.989998,116.529999,119.720001,113.864433,54951600 -2015-08-11,117.809998,118.180000,113.330002,113.489998,107.939140,97082800 -2015-08-12,112.529999,115.419998,109.629997,115.239998,109.603546,101217500 -2015-08-13,116.040001,116.400002,114.540001,115.150002,109.517944,48535800 -2015-08-14,114.320000,116.309998,114.010002,115.959999,110.288322,42929500 -2015-08-17,116.040001,117.650002,115.500000,117.160004,111.429642,40884700 -2015-08-18,116.430000,117.440002,116.010002,116.500000,110.801933,34560700 -2015-08-19,116.099998,116.519997,114.680000,115.010002,109.384789,47445700 -2015-08-20,114.080002,114.349998,111.629997,112.650002,107.140221,68501600 -2015-08-21,110.430000,111.900002,105.650002,105.760002,100.587219,128275500 -2015-08-24,94.870003,108.800003,92.000000,103.120003,98.076347,162206300 -2015-08-25,111.110001,111.110001,103.500000,103.739998,98.666023,103601600 -2015-08-26,107.089996,109.889999,105.050003,109.690002,104.325012,96774600 -2015-08-27,112.230003,113.239998,110.019997,112.919998,107.397011,84616100 -2015-08-28,112.169998,113.309998,111.540001,113.290001,107.748924,53164400 -2015-08-31,112.029999,114.529999,112.000000,112.760002,107.244850,56229300 -2015-09-01,110.150002,111.879997,107.360001,107.720001,102.451363,76845900 -2015-09-02,110.230003,112.339996,109.129997,112.339996,106.845390,61888800 -2015-09-03,112.489998,112.779999,110.040001,110.370003,104.971733,53233900 -2015-09-04,108.970001,110.449997,108.510002,109.269997,103.925537,49996300 -2015-09-08,111.750000,112.559998,110.320000,112.309998,106.816864,54843600 -2015-09-09,113.760002,114.019997,109.769997,110.150002,104.762497,85010800 -2015-09-10,110.269997,113.279999,109.900002,112.570000,107.064133,62892800 -2015-09-11,111.790001,114.209999,111.760002,114.209999,108.623924,49915500 -2015-09-14,116.580002,116.889999,114.860001,115.309998,109.670120,58363400 -2015-09-15,115.930000,116.529999,114.419998,116.279999,110.592690,43341200 -2015-09-16,116.250000,116.540001,115.440002,116.410004,110.716324,37173500 -2015-09-17,115.660004,116.489998,113.720001,113.919998,108.348106,64112600 -2015-09-18,112.209999,114.300003,111.870003,113.449997,107.901100,74285300 -2015-09-21,113.669998,115.370003,113.660004,115.209999,109.575012,50222000 -2015-09-22,113.379997,114.180000,112.519997,113.400002,107.853531,50346200 -2015-09-23,113.629997,114.720001,113.300003,114.320000,108.728546,35756700 -2015-09-24,113.250000,115.500000,112.370003,115.000000,109.375282,50219500 -2015-09-25,116.440002,116.690002,114.019997,114.709999,109.099472,56151900 -2015-09-28,113.849998,114.570000,112.440002,112.440002,106.940506,52109000 -2015-09-29,112.830002,113.510002,107.860001,109.059998,103.725800,73365400 -2015-09-30,110.169998,111.540001,108.730003,110.300003,104.905174,66473000 -2015-10-01,109.070000,109.620003,107.309998,109.580002,104.220398,63929100 -2015-10-02,108.010002,111.010002,107.550003,110.379997,104.981232,58019800 -2015-10-05,109.879997,111.370003,109.070000,110.779999,105.361679,52064700 -2015-10-06,110.629997,111.739998,109.769997,111.309998,105.865768,48196800 -2015-10-07,111.739998,111.769997,109.410004,110.779999,105.361679,46765600 -2015-10-08,110.190002,110.190002,108.209999,109.500000,104.144302,61979600 -2015-10-09,110.000000,112.279999,109.489998,112.120003,106.636162,52766100 -2015-10-12,112.730003,112.750000,111.440002,111.599998,106.141563,30467200 -2015-10-13,110.820000,112.449997,110.680000,111.790001,106.322281,33049300 -2015-10-14,111.290001,111.519997,109.559998,110.209999,104.819572,44462400 -2015-10-15,110.930000,112.099998,110.489998,111.860001,106.388870,37673500 -2015-10-16,111.779999,112.000000,110.529999,111.040001,105.608978,39232600 -2015-10-19,110.800003,111.750000,110.110001,111.730003,106.265236,29759200 -2015-10-20,111.339996,114.169998,110.820000,113.769997,108.205444,48778800 -2015-10-21,114.000000,115.580002,113.699997,113.760002,108.195953,41795200 -2015-10-22,114.330002,115.500000,114.099998,115.500000,109.850830,41654100 -2015-10-23,116.699997,119.230003,116.330002,119.080002,113.255737,59366900 -2015-10-26,118.080002,118.129997,114.919998,115.279999,109.641594,66333800 -2015-10-27,115.400002,116.540001,113.989998,114.550003,108.947304,69884400 -2015-10-28,116.930000,119.300003,116.059998,119.269997,113.436432,85551400 -2015-10-29,118.699997,120.690002,118.269997,120.529999,114.634811,51227300 -2015-10-30,120.989998,121.220001,119.449997,119.500000,113.655197,49365300 -2015-11-02,120.800003,121.360001,119.610001,121.180000,115.253029,32203300 -2015-11-03,120.790001,123.489998,120.699997,122.570000,116.575035,45519000 -2015-11-04,123.129997,123.820000,121.620003,122.000000,116.032906,44886100 -2015-11-05,121.849998,122.690002,120.180000,120.919998,115.498016,39552700 -2015-11-06,121.110001,121.809998,120.620003,121.059998,115.631737,33042300 -2015-11-09,120.959999,121.809998,120.050003,120.570000,115.163704,33871400 -2015-11-10,116.900002,118.070000,116.059998,116.769997,111.534096,59127900 -2015-11-11,116.370003,117.419998,115.209999,116.110001,110.903687,45218000 -2015-11-12,116.260002,116.820000,115.650002,115.720001,110.531181,32525600 -2015-11-13,115.199997,115.570000,112.269997,112.339996,107.302750,45812400 -2015-11-16,111.379997,114.239998,111.000000,114.180000,109.060242,38106700 -2015-11-17,114.919998,115.050003,113.320000,113.690002,108.592209,27616900 -2015-11-18,115.760002,117.489998,115.500000,117.290001,112.030785,46674700 -2015-11-19,117.639999,119.750000,116.760002,118.779999,113.453979,43295800 -2015-11-20,119.199997,119.919998,118.849998,119.300003,113.950661,34287100 -2015-11-23,119.269997,119.730003,117.339996,117.750000,112.470169,32482500 -2015-11-24,117.330002,119.349998,117.120003,118.879997,113.549500,42803200 -2015-11-25,119.209999,119.230003,117.919998,118.029999,112.737602,21388300 -2015-11-27,118.290001,118.410004,117.599998,117.809998,112.527473,13046400 -2015-11-30,117.989998,119.410004,117.750000,118.300003,112.995499,39180300 -2015-12-01,118.750000,118.809998,116.860001,117.339996,112.078529,34852400 -2015-12-02,117.339996,118.110001,116.080002,116.279999,111.066078,33386600 -2015-12-03,116.550003,116.790001,114.220001,115.199997,110.034500,41569500 -2015-12-04,115.290001,119.250000,115.110001,119.029999,113.692772,57777000 -2015-12-07,118.980003,119.860001,117.809998,118.279999,112.976395,32084200 -2015-12-08,117.519997,118.599998,116.860001,118.230003,112.928642,34309500 -2015-12-09,117.639999,117.690002,115.080002,115.620003,110.435677,46361400 -2015-12-10,116.040001,116.940002,115.510002,116.169998,110.961006,29104200 -2015-12-11,115.190002,115.389999,112.849998,113.180000,108.105080,46886200 -2015-12-14,112.180000,112.680000,109.790001,112.480003,107.436455,64318700 -2015-12-15,111.940002,112.800003,110.349998,110.489998,105.535706,53323100 -2015-12-16,111.070000,111.989998,108.800003,111.339996,106.347572,56238500 -2015-12-17,112.019997,112.250000,108.980003,108.980003,104.093407,44772800 -2015-12-18,108.910004,109.519997,105.809998,106.029999,101.275681,96453300 -2015-12-21,107.279999,107.370003,105.570000,107.330002,102.517380,47590600 -2015-12-22,107.400002,107.720001,106.449997,107.230003,102.421867,32789400 -2015-12-23,107.269997,108.849998,107.199997,108.610001,103.740013,32657400 -2015-12-24,109.000000,109.000000,107.949997,108.029999,103.185997,13570400 -2015-12-28,107.589996,107.690002,106.180000,106.820000,102.030251,26704200 -2015-12-29,106.959999,109.430000,106.860001,108.739998,103.864151,30931200 -2015-12-30,108.580002,108.699997,107.180000,107.320000,102.507828,25213800 -2015-12-31,107.010002,107.029999,104.820000,105.260002,100.540207,40635300 -2016-01-04,102.610001,105.370003,102.000000,105.349998,100.626175,67649400 -2016-01-05,105.750000,105.849998,102.410004,102.709999,98.104546,55791000 -2016-01-06,100.559998,102.370003,99.870003,100.699997,96.184654,68457400 -2016-01-07,98.680000,100.129997,96.430000,96.449997,92.125244,81094400 -2016-01-08,98.550003,99.110001,96.760002,96.959999,92.612358,70798000 -2016-01-11,98.970001,99.059998,97.339996,98.529999,94.111984,49739400 -2016-01-12,100.550003,100.690002,98.839996,99.959999,95.477859,49154200 -2016-01-13,100.320000,101.190002,97.300003,97.389999,93.023087,62439600 -2016-01-14,97.959999,100.480003,95.739998,99.519997,95.057579,63170100 -2016-01-15,96.199997,97.709999,95.360001,97.129997,92.774750,79010000 -2016-01-19,98.410004,98.650002,95.500000,96.660004,92.325813,53087700 -2016-01-20,95.099998,98.190002,93.419998,96.790001,92.449989,72334400 -2016-01-21,97.059998,97.879997,94.940002,96.300003,91.981964,52161500 -2016-01-22,98.629997,101.459999,98.370003,101.419998,96.872398,65800500 -2016-01-25,101.519997,101.529999,99.209999,99.440002,94.981171,51794500 -2016-01-26,99.930000,100.879997,98.070000,99.989998,95.506508,75077000 -2016-01-27,96.040001,96.629997,93.339996,93.419998,89.231094,133369700 -2016-01-28,93.790001,94.519997,92.389999,94.089996,89.871048,55678800 -2016-01-29,94.790001,97.339996,94.349998,97.339996,92.975334,64416500 -2016-02-01,96.470001,96.709999,95.400002,96.430000,92.106140,40943500 -2016-02-02,95.419998,96.040001,94.279999,94.480003,90.243576,37357200 -2016-02-03,95.000000,96.839996,94.080002,96.349998,92.029724,45964300 -2016-02-04,95.860001,97.330002,95.190002,96.599998,92.769180,46471700 -2016-02-05,96.519997,96.919998,93.690002,94.019997,90.291489,46418100 -2016-02-08,93.129997,95.699997,93.040001,95.010002,91.242241,54021400 -2016-02-09,94.290001,95.940002,93.930000,94.989998,91.223038,44331200 -2016-02-10,95.919998,96.349998,94.099998,94.269997,90.531593,42343600 -2016-02-11,93.790001,94.720001,92.589996,93.699997,89.984192,50074700 -2016-02-12,94.190002,94.500000,93.010002,93.989998,90.262688,40351400 -2016-02-16,95.019997,96.849998,94.610001,96.639999,92.807602,49057900 -2016-02-17,96.669998,98.209999,96.150002,98.120003,94.228897,44863200 -2016-02-18,98.839996,98.889999,96.089996,96.260002,92.442665,39021000 -2016-02-19,96.000000,96.760002,95.800003,96.040001,92.231384,35374200 -2016-02-22,96.309998,96.900002,95.919998,96.879997,93.038086,34280800 -2016-02-23,96.400002,96.500000,94.550003,94.690002,90.934929,31942600 -2016-02-24,93.980003,96.379997,93.320000,96.099998,92.289017,36255700 -2016-02-25,96.050003,96.760002,95.250000,96.760002,92.922836,27582700 -2016-02-26,97.199997,98.019997,96.580002,96.910004,93.066895,28991100 -2016-02-29,96.860001,98.230003,96.650002,96.690002,92.855621,35216300 -2016-03-01,97.650002,100.769997,97.419998,100.529999,96.543343,50407100 -2016-03-02,100.510002,100.889999,99.639999,100.750000,96.754623,33169600 -2016-03-03,100.580002,101.709999,100.449997,101.500000,97.474876,36955700 -2016-03-04,102.370003,103.750000,101.370003,103.010002,98.924988,46055100 -2016-03-07,102.389999,102.830002,100.959999,101.870003,97.830200,35828900 -2016-03-08,100.779999,101.760002,100.400002,101.029999,97.023506,31561900 -2016-03-09,101.309998,101.580002,100.269997,101.120003,97.109947,27201700 -2016-03-10,101.410004,102.239998,100.150002,101.169998,97.157944,33513600 -2016-03-11,102.239998,102.279999,101.500000,102.260002,98.204727,27408200 -2016-03-14,101.910004,102.910004,101.779999,102.519997,98.454414,25076100 -2016-03-15,103.959999,105.180000,103.849998,104.580002,100.432732,40067700 -2016-03-16,104.610001,106.309998,104.589996,105.970001,101.767609,38303500 -2016-03-17,105.519997,106.470001,104.959999,105.800003,101.604340,34420700 -2016-03-18,106.339996,106.500000,105.190002,105.919998,101.719589,44205200 -2016-03-21,105.930000,107.650002,105.139999,105.910004,101.709991,35502700 -2016-03-22,105.250000,107.290001,105.209999,106.720001,102.487862,32444400 -2016-03-23,106.480003,107.070000,105.900002,106.129997,101.921272,25703500 -2016-03-24,105.470001,106.250000,104.889999,105.669998,101.479515,26133000 -2016-03-28,106.000000,106.190002,105.059998,105.190002,101.018539,19411400 -2016-03-29,104.889999,107.790001,104.879997,107.680000,103.409798,31190100 -2016-03-30,108.650002,110.419998,108.599998,109.559998,105.215225,45601100 -2016-03-31,109.720001,109.900002,108.879997,108.989998,104.667839,25888400 -2016-04-01,108.779999,110.000000,108.199997,109.989998,105.628189,25874000 -2016-04-04,110.419998,112.190002,110.269997,111.120003,106.713379,37356200 -2016-04-05,109.510002,110.730003,109.419998,109.809998,105.455322,26578700 -2016-04-06,110.230003,110.980003,109.199997,110.959999,106.559723,26404100 -2016-04-07,109.949997,110.419998,108.120003,108.540001,104.235695,31801900 -2016-04-08,108.910004,109.769997,108.169998,108.660004,104.350922,23581700 -2016-04-11,108.970001,110.610001,108.830002,109.019997,104.696640,29407500 -2016-04-12,109.339996,110.500000,108.660004,110.440002,106.060333,27232300 -2016-04-13,110.800003,112.339996,110.800003,112.040001,107.596893,33257300 -2016-04-14,111.620003,112.389999,111.330002,112.099998,107.654510,25473900 -2016-04-15,112.110001,112.300003,109.730003,109.849998,105.493736,46939000 -2016-04-18,108.889999,108.949997,106.940002,107.480003,103.217735,60834000 -2016-04-19,107.879997,108.000000,106.230003,106.910004,102.670319,32384900 -2016-04-20,106.639999,108.089996,106.059998,107.129997,102.881599,30611000 -2016-04-21,106.930000,106.930000,105.519997,105.970001,101.767609,31552500 -2016-04-22,105.010002,106.480003,104.620003,105.680000,101.489113,33683100 -2016-04-25,105.000000,105.650002,104.510002,105.080002,100.912903,28031600 -2016-04-26,103.910004,105.300003,103.910004,104.349998,100.211845,56016200 -2016-04-27,96.000000,98.709999,95.680000,97.820000,93.940796,114602100 -2016-04-28,97.610001,97.879997,94.250000,94.830002,91.069382,82242700 -2016-04-29,93.989998,94.720001,92.510002,93.739998,90.022591,68531500 -2016-05-02,93.970001,94.080002,92.400002,93.639999,89.926582,48160100 -2016-05-03,94.199997,95.739998,93.680000,95.180000,91.405487,56831300 -2016-05-04,95.199997,95.900002,93.820000,94.190002,90.454765,41025500 -2016-05-05,94.000000,94.070000,92.680000,93.239998,90.087601,35890500 -2016-05-06,93.370003,93.449997,91.849998,92.720001,89.585190,43458200 -2016-05-09,93.000000,93.769997,92.589996,92.790001,89.652824,32936400 -2016-05-10,93.330002,93.570000,92.110001,93.419998,90.261513,33686800 -2016-05-11,93.480003,93.570000,92.459999,92.510002,89.382286,28719100 -2016-05-12,92.720001,92.779999,89.470001,90.339996,87.285637,76314700 -2016-05-13,90.000000,91.669998,90.000000,90.519997,87.459572,44392800 -2016-05-16,92.389999,94.389999,91.650002,93.879997,90.705963,61259800 -2016-05-17,94.550003,94.699997,93.010002,93.489998,90.329147,46916900 -2016-05-18,94.160004,95.209999,93.889999,94.559998,91.362984,42062400 -2016-05-19,94.639999,94.639999,93.570000,94.199997,91.015144,30442100 -2016-05-20,94.639999,95.430000,94.519997,95.220001,92.000664,32026000 -2016-05-23,95.870003,97.190002,95.669998,96.430000,93.169746,38018600 -2016-05-24,97.220001,98.089996,96.839996,97.900002,94.590057,35140200 -2016-05-25,98.669998,99.739998,98.110001,99.620003,96.251907,38168800 -2016-05-26,99.680000,100.730003,98.639999,100.410004,97.015190,56331200 -2016-05-27,99.440002,100.470001,99.250000,100.349998,96.957214,36229500 -2016-05-31,99.599998,100.400002,98.820000,99.860001,96.483780,42307200 -2016-06-01,99.019997,99.540001,98.330002,98.459999,95.131126,29173300 -2016-06-02,97.599998,97.839996,96.629997,97.720001,94.416138,40191600 -2016-06-03,97.790001,98.269997,97.449997,97.919998,94.609375,28062900 -2016-06-06,97.989998,101.889999,97.550003,98.629997,95.295364,23292500 -2016-06-07,99.250000,99.870003,98.959999,99.029999,95.681847,22409500 -2016-06-08,99.019997,99.559998,98.680000,98.940002,95.594902,20848100 -2016-06-09,98.500000,99.989998,98.459999,99.650002,96.280899,26601400 -2016-06-10,98.529999,99.349998,98.480003,98.830002,95.488617,31712900 -2016-06-13,98.690002,99.120003,97.099998,97.339996,94.048996,38020500 -2016-06-14,97.320000,98.480003,96.750000,97.459999,94.164932,31931900 -2016-06-15,97.820000,98.410004,97.029999,97.139999,93.855766,29445200 -2016-06-16,96.449997,97.750000,96.070000,97.550003,94.251892,31326800 -2016-06-17,96.620003,96.650002,95.300003,95.330002,92.106941,61008200 -2016-06-20,96.000000,96.570000,95.029999,95.099998,91.884720,34411900 -2016-06-21,94.940002,96.349998,94.680000,95.910004,92.667336,35546400 -2016-06-22,96.250000,96.889999,95.349998,95.550003,92.319504,29219100 -2016-06-23,95.940002,96.290001,95.250000,96.099998,92.850914,32240200 -2016-06-24,92.910004,94.660004,92.650002,93.400002,90.242188,75311400 -2016-06-27,93.000000,93.050003,91.500000,92.040001,88.928177,45489600 -2016-06-28,92.900002,93.660004,92.139999,93.589996,90.425781,40444900 -2016-06-29,93.970001,94.550003,93.629997,94.400002,91.208397,36531000 -2016-06-30,94.440002,95.769997,94.300003,95.599998,92.367805,35836400 -2016-07-01,95.489998,96.470001,95.330002,95.889999,92.648010,26026500 -2016-07-05,95.389999,95.400002,94.459999,94.989998,91.778442,27705200 -2016-07-06,94.599998,95.660004,94.370003,95.529999,92.300171,30949100 -2016-07-07,95.699997,96.500000,95.620003,95.940002,92.696312,25139600 -2016-07-08,96.489998,96.889999,96.050003,96.680000,93.411301,28912100 -2016-07-11,96.750000,97.650002,96.730003,96.980003,93.701157,23794900 -2016-07-12,97.169998,97.699997,97.120003,97.419998,94.126282,24167500 -2016-07-13,97.410004,97.669998,96.839996,96.870003,93.594872,25892200 -2016-07-14,97.389999,98.989998,97.320000,98.790001,95.449966,38919000 -2016-07-15,98.919998,99.300003,98.500000,98.779999,95.440300,30137000 -2016-07-18,98.699997,100.129997,98.599998,99.830002,96.454803,36493900 -2016-07-19,99.559998,100.000000,99.339996,99.870003,96.493454,23779900 -2016-07-20,100.000000,100.459999,99.739998,99.959999,96.580414,26276000 -2016-07-21,99.830002,101.000000,99.129997,99.430000,96.068329,32702000 -2016-07-22,99.260002,99.300003,98.309998,98.660004,95.324364,28313700 -2016-07-25,98.250000,98.839996,96.919998,97.339996,94.048996,40382900 -2016-07-26,96.820000,97.970001,96.419998,96.669998,93.401634,56239800 -2016-07-27,104.269997,104.349998,102.750000,102.949997,99.469307,92344800 -2016-07-28,102.830002,104.449997,102.820000,104.339996,100.812317,39869800 -2016-07-29,104.190002,104.550003,103.680000,104.209999,100.686714,27733700 -2016-08-01,104.410004,106.150002,104.410004,106.050003,102.464508,38167900 -2016-08-02,106.050003,106.070000,104.000000,104.480003,100.947594,33816600 -2016-08-03,104.809998,105.839996,104.769997,105.790001,102.213295,30202600 -2016-08-04,105.580002,106.000000,105.279999,105.870003,102.844727,27408700 -2016-08-05,106.269997,107.650002,106.180000,107.480003,104.408714,40553400 -2016-08-08,107.519997,108.370003,107.160004,108.370003,105.273285,28037200 -2016-08-09,108.230003,108.940002,108.010002,108.809998,105.700714,26315200 -2016-08-10,108.709999,108.900002,107.760002,108.000000,104.913849,24008500 -2016-08-11,108.519997,108.930000,107.849998,107.930000,104.845863,27484500 -2016-08-12,107.779999,108.440002,107.779999,108.180000,105.088715,18660400 -2016-08-15,108.139999,109.540001,108.080002,109.480003,106.351570,25868200 -2016-08-16,109.629997,110.230003,109.209999,109.379997,106.254425,33794400 -2016-08-17,109.099998,109.370003,108.339996,109.220001,106.098991,25356000 -2016-08-18,109.230003,109.599998,109.019997,109.080002,105.962997,21984700 -2016-08-19,108.769997,109.690002,108.360001,109.360001,106.234985,25368100 -2016-08-22,108.860001,109.099998,107.849998,108.510002,105.409286,25820200 -2016-08-23,108.589996,109.320000,108.529999,108.849998,105.739555,21257700 -2016-08-24,108.570000,108.750000,107.680000,108.029999,104.943001,23675100 -2016-08-25,107.389999,107.879997,106.680000,107.570000,104.496147,25086200 -2016-08-26,107.410004,107.949997,106.309998,106.940002,103.884140,27766300 -2016-08-29,106.620003,107.440002,106.290001,106.820000,103.767578,24970300 -2016-08-30,105.800003,106.500000,105.500000,106.000000,102.971016,24863900 -2016-08-31,105.660004,106.570000,105.639999,106.099998,103.068153,29662400 -2016-09-01,106.139999,106.800003,105.620003,106.730003,103.680153,26701500 -2016-09-02,107.699997,108.000000,106.820000,107.730003,104.651573,26802500 -2016-09-06,107.900002,108.300003,107.510002,107.699997,104.622429,26880400 -2016-09-07,107.830002,108.760002,107.070000,108.360001,105.263565,42364300 -2016-09-08,107.250000,107.269997,105.239998,105.519997,102.504723,53002000 -2016-09-09,104.639999,105.720001,103.129997,103.129997,100.183022,46557000 -2016-09-12,102.650002,105.720001,102.529999,105.440002,102.427010,45292800 -2016-09-13,107.510002,108.790001,107.239998,107.949997,104.865273,62176200 -2016-09-14,108.730003,113.029999,108.599998,111.769997,108.576126,110888700 -2016-09-15,113.860001,115.730003,113.489998,115.570000,112.267540,89983600 -2016-09-16,115.120003,116.129997,114.040001,114.919998,111.636124,79886900 -2016-09-19,115.190002,116.180000,113.250000,113.580002,110.334419,47023000 -2016-09-20,113.050003,114.120003,112.510002,113.570000,110.324692,34514300 -2016-09-21,113.849998,113.989998,112.440002,113.550003,110.305275,36003200 -2016-09-22,114.349998,114.940002,114.000000,114.620003,111.344696,31074000 -2016-09-23,114.419998,114.790001,111.550003,112.709999,109.489258,52481200 -2016-09-26,111.639999,113.389999,111.550003,112.879997,109.654411,29869400 -2016-09-27,113.000000,113.180000,112.339996,113.089996,109.858406,24607400 -2016-09-28,113.690002,114.639999,113.430000,113.949997,110.693840,29641100 -2016-09-29,113.160004,113.800003,111.800003,112.180000,108.974403,35887000 -2016-09-30,112.459999,113.370003,111.800003,113.050003,109.819550,36379100 -2016-10-03,112.709999,113.050003,112.279999,112.519997,109.304688,21701800 -2016-10-04,113.059998,114.309998,112.629997,113.000000,109.770973,29736800 -2016-10-05,113.400002,113.660004,112.690002,113.050003,109.819550,21453100 -2016-10-06,113.699997,114.339996,113.129997,113.889999,110.635551,28779300 -2016-10-07,114.309998,114.559998,113.510002,114.059998,110.800682,24358400 -2016-10-10,115.019997,116.750000,114.720001,116.050003,112.733818,36236000 -2016-10-11,117.699997,118.690002,116.199997,116.300003,112.976685,64041000 -2016-10-12,117.349998,117.980003,116.750000,117.339996,113.986969,37586800 -2016-10-13,116.790001,117.440002,115.720001,116.980003,113.637253,35192400 -2016-10-14,117.879997,118.169998,117.129997,117.629997,114.268661,35652200 -2016-10-17,117.330002,117.839996,116.779999,117.550003,114.190964,23624900 -2016-10-18,118.180000,118.209999,117.449997,117.470001,114.113251,24553500 -2016-10-19,117.250000,117.760002,113.800003,117.120003,113.773247,20034600 -2016-10-20,116.860001,117.379997,116.330002,117.059998,113.714958,24125800 -2016-10-21,116.809998,116.910004,116.279999,116.599998,113.268097,23192700 -2016-10-24,117.099998,117.739998,117.000000,117.650002,114.288109,23538700 -2016-10-25,117.949997,118.360001,117.309998,118.250000,114.870956,48129000 -2016-10-26,114.309998,115.699997,113.309998,115.589996,112.286957,66134200 -2016-10-27,115.389999,115.860001,114.099998,114.480003,111.208687,34562000 -2016-10-28,113.870003,115.209999,113.449997,113.720001,110.470398,37861700 -2016-10-31,113.650002,114.230003,113.199997,113.540001,110.295540,26419400 -2016-11-01,113.459999,113.769997,110.529999,111.489998,108.304131,43825800 -2016-11-02,111.400002,112.349998,111.230003,111.589996,108.401276,28331700 -2016-11-03,110.980003,111.459999,109.550003,109.830002,107.239349,26932600 -2016-11-04,108.529999,110.250000,108.110001,108.839996,106.272697,30837000 -2016-11-07,110.080002,110.510002,109.459999,110.410004,107.805664,32560000 -2016-11-08,110.309998,111.720001,109.699997,111.059998,108.440315,24054500 -2016-11-09,109.879997,111.320000,108.050003,110.879997,108.264572,59176400 -2016-11-10,111.089996,111.089996,105.830002,107.790001,105.247467,57134500 -2016-11-11,107.120003,108.870003,106.550003,108.430000,105.872368,34094100 -2016-11-14,107.709999,107.809998,104.080002,105.709999,103.216522,51175500 -2016-11-15,106.570000,107.680000,106.160004,107.110001,104.583504,32264500 -2016-11-16,106.699997,110.230003,106.599998,109.989998,107.395561,58840500 -2016-11-17,109.809998,110.349998,108.830002,109.949997,107.356506,27632000 -2016-11-18,109.720001,110.540001,109.660004,110.059998,107.463921,28428900 -2016-11-21,110.120003,111.989998,110.010002,111.730003,109.094528,29264600 -2016-11-22,111.949997,112.419998,111.400002,111.800003,109.162872,25965500 -2016-11-23,111.360001,111.510002,110.330002,111.230003,108.606323,27426400 -2016-11-25,111.129997,111.870003,110.949997,111.790001,109.153107,11475900 -2016-11-28,111.430000,112.470001,111.389999,111.570000,108.938301,27194000 -2016-11-29,110.779999,112.029999,110.070000,111.459999,108.830894,28528800 -2016-11-30,111.599998,112.199997,110.269997,110.519997,107.913071,36162300 -2016-12-01,110.370003,110.940002,109.029999,109.489998,106.907356,37086900 -2016-12-02,109.169998,110.089996,108.849998,109.900002,107.307686,26528000 -2016-12-05,110.000000,110.029999,108.250000,109.110001,106.536316,34324500 -2016-12-06,109.500000,110.360001,109.190002,109.949997,107.356506,26195500 -2016-12-07,109.260002,111.190002,109.160004,111.029999,108.411034,29998700 -2016-12-08,110.860001,112.430000,110.599998,112.120003,109.475334,27068300 -2016-12-09,112.309998,114.699997,112.309998,113.949997,111.262154,34402600 -2016-12-12,113.290001,115.000000,112.489998,113.300003,110.627495,26374400 -2016-12-13,113.839996,115.919998,113.750000,115.190002,112.472916,43733800 -2016-12-14,115.040001,116.199997,114.980003,115.190002,112.472916,34031800 -2016-12-15,115.379997,116.730003,115.230003,115.820000,113.088043,46524500 -2016-12-16,116.470001,116.500000,115.650002,115.970001,113.234512,44351100 -2016-12-19,115.800003,117.379997,115.750000,116.639999,113.888710,27779400 -2016-12-20,116.739998,117.500000,116.680000,116.949997,114.191406,21425000 -2016-12-21,116.800003,117.400002,116.779999,117.059998,114.298805,23783200 -2016-12-22,116.349998,116.510002,115.639999,116.290001,113.546967,26085900 -2016-12-23,115.589996,116.519997,115.589996,116.519997,113.771530,14181200 -2016-12-27,116.519997,117.800003,116.489998,117.260002,114.494087,18296900 -2016-12-28,117.519997,118.019997,116.199997,116.760002,114.005882,20905900 -2016-12-29,116.449997,117.110001,116.400002,116.730003,113.976585,15039500 -2016-12-30,116.650002,117.199997,115.430000,115.820000,113.088043,30586300 -2017-01-03,115.800003,116.330002,114.760002,116.150002,113.410263,28781900 -2017-01-04,115.849998,116.510002,115.750000,116.019997,113.283333,21118100 -2017-01-05,115.919998,116.860001,115.809998,116.610001,113.859421,22193600 -2017-01-06,116.779999,118.160004,116.470001,117.910004,115.128761,31751900 -2017-01-09,117.949997,119.430000,117.940002,118.989998,116.183273,33561900 -2017-01-10,118.769997,119.379997,118.300003,119.110001,116.300438,24462100 -2017-01-11,118.739998,119.930000,118.599998,119.750000,116.925346,27588600 -2017-01-12,118.900002,119.300003,118.209999,119.250000,116.437141,27086200 -2017-01-13,119.110001,119.620003,118.809998,119.040001,116.232101,26111900 -2017-01-17,118.339996,120.239998,118.220001,120.000000,117.169449,34439800 -2017-01-18,120.000000,120.500000,119.709999,119.989998,117.159683,23713000 -2017-01-19,119.400002,120.089996,119.370003,119.779999,116.954636,25597300 -2017-01-20,120.449997,120.449997,119.730003,120.000000,117.169449,32597900 -2017-01-23,120.000000,120.809998,119.769997,120.080002,117.247566,22050200 -2017-01-24,119.550003,120.099998,119.500000,119.970001,117.140160,23211000 -2017-01-25,120.419998,122.099998,120.279999,121.879997,119.005104,32377600 -2017-01-26,121.669998,122.440002,121.599998,121.940002,119.063698,26337600 -2017-01-27,122.139999,122.349998,121.599998,121.949997,119.073456,20562900 -2017-01-30,120.930000,121.629997,120.660004,121.629997,118.761009,30377500 -2017-01-31,121.150002,121.389999,120.620003,121.349998,118.487602,49201000 -2017-02-01,127.029999,130.490005,127.010002,128.750000,125.713051,111985000 -2017-02-02,127.980003,129.389999,127.779999,128.529999,125.498253,33710400 -2017-02-03,128.309998,129.190002,128.160004,129.080002,126.035263,24507300 -2017-02-06,129.130005,130.500000,128.899994,130.289993,127.216721,26845900 -2017-02-07,130.539993,132.089996,130.449997,131.529999,128.427475,38183800 -2017-02-08,131.350006,132.220001,131.220001,132.039993,128.925446,23004100 -2017-02-09,131.649994,132.449997,131.119995,132.419998,129.857056,28349900 -2017-02-10,132.460007,132.940002,132.050003,132.119995,129.562866,20065500 -2017-02-13,133.080002,133.820007,132.750000,133.289993,130.710190,23035400 -2017-02-14,133.470001,135.089996,133.250000,135.020004,132.406754,33226200 -2017-02-15,135.520004,136.270004,134.619995,135.509995,132.887253,35623100 -2017-02-16,135.669998,135.899994,134.839996,135.350006,132.730377,22584600 -2017-02-17,135.100006,135.830002,135.100006,135.720001,133.093216,22198200 -2017-02-21,136.229996,136.750000,135.979996,136.699997,134.054214,24507200 -2017-02-22,136.429993,137.119995,136.110001,137.110001,134.456299,20836900 -2017-02-23,137.380005,137.479996,136.300003,136.529999,133.887512,20788200 -2017-02-24,135.910004,136.660004,135.279999,136.660004,134.015015,21776600 -2017-02-27,137.139999,137.440002,136.279999,136.929993,134.279785,20257400 -2017-02-28,137.080002,137.440002,136.699997,136.990005,134.338623,23482900 -2017-03-01,137.889999,140.149994,137.600006,139.789993,137.084412,36414600 -2017-03-02,140.000000,140.279999,138.759995,138.960007,136.270508,26211000 -2017-03-03,138.779999,139.830002,138.589996,139.779999,137.074615,21108100 -2017-03-06,139.369995,139.770004,138.600006,139.339996,136.643127,21750000 -2017-03-07,139.059998,139.979996,138.789993,139.520004,136.819656,17446300 -2017-03-08,138.949997,139.800003,138.820007,139.000000,136.309723,18707200 -2017-03-09,138.740005,138.789993,137.050003,138.679993,135.995895,22155900 -2017-03-10,139.250000,139.360001,138.639999,139.139999,136.447006,19612800 -2017-03-13,138.850006,139.429993,138.820007,139.199997,136.505829,17421700 -2017-03-14,139.300003,139.649994,138.839996,138.990005,136.299911,15309100 -2017-03-15,139.410004,140.750000,139.029999,140.460007,137.741470,25691800 -2017-03-16,140.720001,141.020004,140.259995,140.690002,137.966980,19232000 -2017-03-17,141.000000,141.000000,139.889999,139.990005,137.280563,43885000 -2017-03-20,140.399994,141.500000,140.229996,141.460007,138.722122,21542000 -2017-03-21,142.110001,142.800003,139.729996,139.839996,137.133453,39529900 -2017-03-22,139.850006,141.600006,139.759995,141.419998,138.682877,25860200 -2017-03-23,141.259995,141.580002,140.610001,140.919998,138.192551,20346300 -2017-03-24,141.500000,141.740005,140.350006,140.639999,137.917984,22395600 -2017-03-27,139.389999,141.220001,138.619995,140.880005,138.153336,23575100 -2017-03-28,140.910004,144.039993,140.619995,143.800003,141.016815,33374800 -2017-03-29,143.679993,144.490005,143.190002,144.119995,141.330612,29190000 -2017-03-30,144.190002,144.500000,143.500000,143.929993,141.144287,21207300 -2017-03-31,143.720001,144.270004,143.009995,143.660004,140.879517,19661700 -2017-04-03,143.710007,144.119995,143.050003,143.699997,140.918762,19985700 -2017-04-04,143.250000,144.889999,143.169998,144.770004,141.968033,19891400 -2017-04-05,144.220001,145.460007,143.809998,144.020004,141.232559,27717900 -2017-04-06,144.289993,144.520004,143.449997,143.660004,140.879517,21149000 -2017-04-07,143.729996,144.179993,143.270004,143.339996,140.565704,16672200 -2017-04-10,143.600006,143.880005,142.899994,143.169998,140.399017,18933400 -2017-04-11,142.940002,143.350006,140.059998,141.630005,138.888809,30379400 -2017-04-12,141.600006,142.149994,141.009995,141.800003,139.055542,20350000 -2017-04-13,141.910004,142.380005,141.050003,141.050003,138.320038,17822900 -2017-04-17,141.479996,141.880005,140.869995,141.830002,139.084946,16582100 -2017-04-18,141.410004,142.039993,141.110001,141.199997,138.467133,14697500 -2017-04-19,141.880005,142.000000,140.449997,140.679993,137.957184,17328400 -2017-04-20,141.220001,142.919998,141.160004,142.440002,139.683151,23319600 -2017-04-21,142.440002,142.679993,141.850006,142.270004,139.516418,17320900 -2017-04-24,143.500000,143.949997,143.179993,143.639999,140.859909,17134300 -2017-04-25,143.910004,144.899994,143.869995,144.529999,141.732681,18871500 -2017-04-26,144.470001,144.600006,143.380005,143.679993,140.899139,20041200 -2017-04-27,143.919998,144.160004,143.309998,143.789993,141.007004,14246300 -2017-04-28,144.089996,144.300003,143.270004,143.649994,140.869705,20860400 -2017-05-01,145.100006,147.199997,144.960007,146.580002,143.743011,33602900 -2017-05-02,147.539993,148.089996,146.839996,147.509995,144.654999,45352200 -2017-05-03,145.589996,147.490005,144.270004,147.059998,144.213715,45697000 -2017-05-04,146.520004,147.139999,145.809998,146.529999,143.693954,23371900 -2017-05-05,146.759995,148.979996,146.759995,148.960007,146.076935,27327700 -2017-05-08,149.029999,153.699997,149.029999,153.009995,150.048538,48752400 -2017-05-09,153.869995,154.880005,153.449997,153.990005,151.009598,39130400 -2017-05-10,153.630005,153.940002,152.110001,153.259995,150.293716,25805700 -2017-05-11,152.449997,154.070007,152.309998,153.949997,151.593491,27255100 -2017-05-12,154.699997,156.419998,154.669998,156.100006,153.710602,32527000 -2017-05-15,156.009995,156.649994,155.050003,155.699997,153.316727,26009700 -2017-05-16,155.940002,156.059998,154.720001,155.470001,153.090256,20048500 -2017-05-17,153.600006,154.570007,149.710007,150.250000,147.950150,50767700 -2017-05-18,151.270004,153.339996,151.130005,152.539993,150.205078,33568200 -2017-05-19,153.380005,153.979996,152.630005,153.059998,150.717133,26960800 -2017-05-22,154.000000,154.580002,152.910004,153.990005,151.632904,22966400 -2017-05-23,154.899994,154.899994,153.309998,153.800003,151.445801,19918900 -2017-05-24,153.839996,154.169998,152.669998,153.339996,150.992844,19178000 -2017-05-25,153.729996,154.350006,153.029999,153.869995,151.514725,19235600 -2017-05-26,154.000000,154.240005,153.309998,153.610001,151.258728,21701100 -2017-05-30,153.419998,154.429993,153.330002,153.669998,151.317795,20126900 -2017-05-31,153.970001,154.169998,152.380005,152.759995,150.421722,24451200 -2017-06-01,153.169998,153.330002,152.220001,153.179993,150.835281,16404100 -2017-06-02,153.580002,155.449997,152.889999,155.449997,153.070541,27770700 -2017-06-05,154.339996,154.449997,153.460007,153.929993,151.573807,25331700 -2017-06-06,153.899994,155.809998,153.779999,154.449997,152.085846,26624900 -2017-06-07,155.020004,155.979996,154.479996,155.369995,152.991776,21069600 -2017-06-08,155.250000,155.539993,154.399994,154.990005,152.617584,21250800 -2017-06-09,155.190002,155.190002,146.020004,148.979996,146.699570,64882700 -2017-06-12,145.740005,146.089996,142.509995,145.419998,143.194092,72307300 -2017-06-13,147.160004,147.449997,145.149994,146.589996,144.346161,34165400 -2017-06-14,147.500000,147.500000,143.839996,145.160004,142.938065,31531200 -2017-06-15,143.320007,144.479996,142.210007,144.289993,142.081360,32165400 -2017-06-16,143.779999,144.500000,142.199997,142.270004,140.092300,50361100 -2017-06-19,143.660004,146.740005,143.660004,146.339996,144.099991,32541400 -2017-06-20,146.869995,146.869995,144.940002,145.009995,142.790359,24900100 -2017-06-21,145.520004,146.070007,144.610001,145.869995,143.637177,21265800 -2017-06-22,145.770004,146.699997,145.119995,145.630005,143.400879,19106300 -2017-06-23,145.130005,147.160004,145.110001,146.279999,144.040924,35439400 -2017-06-26,147.169998,148.279999,145.380005,145.820007,143.587967,25692400 -2017-06-27,145.009995,146.160004,143.619995,143.729996,141.529938,24761900 -2017-06-28,144.490005,146.110001,143.160004,145.830002,143.597794,22082400 -2017-06-29,144.710007,145.130005,142.279999,143.679993,141.480713,31499400 -2017-06-30,144.449997,144.960007,143.779999,144.020004,141.815506,23024100 -2017-07-03,144.880005,145.300003,143.100006,143.500000,141.303467,14258300 -2017-07-05,143.690002,144.789993,142.720001,144.089996,141.884430,21569600 -2017-07-06,143.020004,143.500000,142.410004,142.729996,140.545258,24128800 -2017-07-07,142.899994,144.750000,142.899994,144.179993,141.973053,19201700 -2017-07-10,144.110001,145.949997,143.369995,145.059998,142.839584,21090600 -2017-07-11,144.729996,145.850006,144.380005,145.529999,143.302399,19781800 -2017-07-12,145.869995,146.179993,144.820007,145.740005,143.509186,24884500 -2017-07-13,145.500000,148.490005,145.440002,147.770004,145.508102,25199400 -2017-07-14,147.970001,149.330002,147.330002,149.039993,146.758636,20132100 -2017-07-17,148.820007,150.899994,148.570007,149.559998,147.270706,23793500 -2017-07-18,149.199997,150.130005,148.669998,150.080002,147.782761,17868800 -2017-07-19,150.479996,151.419998,149.949997,151.020004,148.708359,20923000 -2017-07-20,151.500000,151.740005,150.190002,150.339996,148.038757,17243700 -2017-07-21,149.990005,150.440002,148.880005,150.270004,147.969849,26252600 -2017-07-24,150.580002,152.440002,149.899994,152.089996,149.761978,21493200 -2017-07-25,151.800003,153.839996,151.800003,152.740005,150.402039,18853900 -2017-07-26,153.350006,153.929993,153.059998,153.460007,151.111023,15781000 -2017-07-27,153.750000,153.990005,147.300003,150.559998,148.255402,32476300 -2017-07-28,149.889999,150.229996,149.190002,149.500000,147.211624,17213700 -2017-07-31,149.899994,150.330002,148.130005,148.729996,146.453400,19845900 -2017-08-01,149.100006,150.220001,148.410004,150.050003,147.753204,35368600 -2017-08-02,159.279999,159.750000,156.160004,157.139999,154.734665,69936800 -2017-08-03,157.050003,157.210007,155.020004,155.570007,153.188705,27097300 -2017-08-04,156.070007,157.399994,155.690002,156.389999,153.996140,20559900 -2017-08-07,157.059998,158.919998,156.669998,158.809998,156.379120,21870300 -2017-08-08,158.600006,161.830002,158.270004,160.080002,157.629684,36205900 -2017-08-09,159.259995,161.270004,159.110001,161.059998,158.594666,26131500 -2017-08-10,159.899994,160.000000,154.630005,155.320007,153.543152,40804300 -2017-08-11,156.600006,158.570007,156.070007,157.479996,155.678436,26257100 -2017-08-14,159.320007,160.210007,158.750000,159.850006,158.021317,22122700 -2017-08-15,160.660004,162.199997,160.139999,161.600006,159.751297,29465500 -2017-08-16,161.940002,162.509995,160.149994,160.949997,159.108719,27671600 -2017-08-17,160.520004,160.710007,157.839996,157.860001,156.054092,27940600 -2017-08-18,157.860001,159.500000,156.720001,157.500000,155.698212,27428100 -2017-08-21,157.500000,157.889999,155.110001,157.210007,155.411530,26368500 -2017-08-22,158.229996,160.000000,158.020004,159.779999,157.952118,21604600 -2017-08-23,159.070007,160.470001,158.880005,159.979996,158.149826,19399100 -2017-08-24,160.429993,160.740005,158.550003,159.270004,157.447952,19818900 -2017-08-25,159.649994,160.559998,159.270004,159.860001,158.031189,25480100 -2017-08-28,160.139999,162.000000,159.929993,161.470001,159.622787,25966000 -2017-08-29,160.100006,163.119995,160.000000,162.910004,161.046326,29516900 -2017-08-30,163.800003,163.889999,162.610001,163.350006,161.481277,27269600 -2017-08-31,163.639999,164.520004,163.479996,164.000000,162.123840,26785100 -2017-09-01,164.800003,164.940002,163.630005,164.050003,162.173279,16591100 -2017-09-05,163.750000,164.250000,160.559998,162.080002,160.225815,29468500 -2017-09-06,162.710007,162.990005,160.520004,161.910004,160.057755,21651700 -2017-09-07,162.089996,162.240005,160.360001,161.259995,159.415192,21928500 -2017-09-08,160.860001,161.149994,158.529999,158.630005,156.815277,28611500 -2017-09-11,160.500000,162.050003,159.889999,161.500000,159.652451,31085900 -2017-09-12,162.610001,163.960007,158.770004,160.860001,159.019760,71714000 -2017-09-13,159.869995,159.960007,157.910004,159.649994,157.823593,44907400 -2017-09-14,158.990005,159.399994,158.089996,158.279999,156.469269,23760700 -2017-09-15,158.470001,160.970001,158.000000,159.880005,158.050964,49114600 -2017-09-18,160.110001,160.500000,158.000000,158.669998,156.854813,28269400 -2017-09-19,159.509995,159.770004,158.440002,158.729996,156.914124,20810600 -2017-09-20,157.899994,158.259995,153.830002,156.070007,154.284561,52951400 -2017-09-21,155.800003,155.800003,152.750000,153.389999,151.635208,37511700 -2017-09-22,151.539993,152.270004,150.559998,151.889999,150.152390,46645400 -2017-09-25,149.990005,151.830002,149.160004,150.550003,148.827698,44387300 -2017-09-26,151.779999,153.919998,151.690002,153.139999,151.388062,36660000 -2017-09-27,153.800003,154.720001,153.539993,154.229996,152.465607,25504200 -2017-09-28,153.889999,154.279999,152.699997,153.279999,151.526474,22005500 -2017-09-29,153.210007,154.130005,152.000000,154.119995,152.356857,26299800 -2017-10-02,154.259995,154.449997,152.720001,153.809998,152.050415,18698800 -2017-10-03,154.009995,155.089996,153.910004,154.479996,152.712738,16230300 -2017-10-04,153.630005,153.860001,152.460007,153.479996,151.724197,20163800 -2017-10-05,154.179993,155.440002,154.050003,155.389999,153.612335,21283800 -2017-10-06,154.970001,155.490005,154.559998,155.300003,153.523361,17407600 -2017-10-09,155.809998,156.729996,155.490005,155.839996,154.057175,16262900 -2017-10-10,156.059998,158.000000,155.100006,155.899994,154.116486,15617000 -2017-10-11,155.970001,156.979996,155.750000,156.550003,154.759079,16905600 -2017-10-12,156.350006,157.369995,155.729996,156.000000,154.215363,16125100 -2017-10-13,156.729996,157.279999,156.410004,156.990005,155.194031,16394200 -2017-10-16,157.899994,160.000000,157.649994,159.880005,158.050964,24121500 -2017-10-17,159.779999,160.869995,159.229996,160.470001,158.634216,18997300 -2017-10-18,160.419998,160.710007,159.600006,159.759995,157.932343,16374200 -2017-10-19,156.750000,157.080002,155.020004,155.979996,154.195572,42584200 -2017-10-20,156.610001,157.750000,155.960007,156.250000,154.462494,23974100 -2017-10-23,156.889999,157.690002,155.500000,156.169998,154.383408,21984300 -2017-10-24,156.289993,157.419998,156.199997,157.100006,155.302765,17757200 -2017-10-25,156.910004,157.550003,155.270004,156.410004,154.620682,21207100 -2017-10-26,157.229996,157.830002,156.779999,157.410004,155.609222,17000500 -2017-10-27,159.289993,163.600006,158.699997,163.050003,161.184708,44454200 -2017-10-30,163.889999,168.070007,163.720001,166.720001,164.812729,44700800 -2017-10-31,167.899994,169.649994,166.940002,169.039993,167.106186,36046800 -2017-11-01,169.869995,169.940002,165.610001,166.889999,164.980774,33637800 -2017-11-02,166.600006,168.500000,165.279999,168.110001,166.186829,41393400 -2017-11-03,174.000000,174.259995,171.119995,172.500000,170.526596,59398600 -2017-11-06,172.369995,174.990005,171.720001,174.250000,172.256577,35026300 -2017-11-07,173.910004,175.250000,173.600006,174.809998,172.810165,24361500 -2017-11-08,174.660004,176.240005,174.330002,176.240005,174.223831,24409500 -2017-11-09,175.110001,176.100006,173.139999,175.880005,173.867950,29482600 -2017-11-10,175.110001,175.380005,174.270004,174.669998,173.292511,25145500 -2017-11-13,173.500000,174.500000,173.399994,173.970001,172.598022,16982100 -2017-11-14,173.039993,173.479996,171.179993,171.339996,169.988754,24782500 -2017-11-15,169.970001,170.320007,168.380005,169.080002,167.746582,29158100 -2017-11-16,171.179993,171.869995,170.300003,171.100006,169.750671,23637500 -2017-11-17,171.039993,171.389999,169.639999,170.149994,168.808151,21899500 -2017-11-20,170.289993,170.559998,169.559998,169.979996,168.639496,16262400 -2017-11-21,170.779999,173.699997,170.779999,173.139999,171.774567,25131300 -2017-11-22,173.360001,175.000000,173.050003,174.960007,173.580231,25588900 -2017-11-24,175.100006,175.500000,174.649994,174.970001,173.590149,14026700 -2017-11-27,175.050003,175.080002,173.339996,174.089996,172.717072,20716800 -2017-11-28,174.300003,174.869995,171.860001,173.070007,171.705139,26428800 -2017-11-29,172.630005,172.919998,167.160004,169.479996,168.143433,41666400 -2017-11-30,170.429993,172.139999,168.440002,171.850006,170.494751,41527200 -2017-12-01,169.949997,171.669998,168.500000,171.050003,169.701050,39759300 -2017-12-04,172.479996,172.619995,169.630005,169.800003,168.460922,32542400 -2017-12-05,169.059998,171.520004,168.399994,169.639999,168.302170,27350200 -2017-12-06,167.500000,170.199997,166.460007,169.009995,167.677139,28560000 -2017-12-07,169.029999,170.440002,168.910004,169.320007,167.984711,25673300 -2017-12-08,170.490005,171.000000,168.820007,169.369995,168.034302,23355200 -2017-12-11,169.199997,172.889999,168.789993,172.669998,171.308289,35273800 -2017-12-12,172.149994,172.389999,171.460007,171.699997,170.345932,19409200 -2017-12-13,172.500000,173.539993,172.000000,172.270004,170.911438,23818400 -2017-12-14,172.399994,173.130005,171.649994,172.220001,170.861832,20476500 -2017-12-15,173.630005,174.169998,172.460007,173.970001,172.598022,40169300 -2017-12-18,174.880005,177.199997,174.860001,176.419998,175.028717,29421100 -2017-12-19,175.029999,175.389999,174.089996,174.539993,173.163528,27436400 -2017-12-20,174.869995,175.419998,173.250000,174.350006,172.975037,23475600 -2017-12-21,174.169998,176.020004,174.100006,175.009995,173.629822,20949900 -2017-12-22,174.679993,175.419998,174.500000,175.009995,173.629822,16349400 -2017-12-26,170.800003,171.470001,169.679993,170.570007,169.224838,33185500 -2017-12-27,170.100006,170.779999,169.710007,170.600006,169.254608,21498200 -2017-12-28,171.000000,171.850006,170.479996,171.080002,169.730820,16480200 -2017-12-29,170.520004,170.589996,169.220001,169.229996,167.895416,25999900 -2018-01-02,170.160004,172.300003,169.259995,172.259995,170.901505,25555900 -2018-01-03,172.529999,174.550003,171.960007,172.229996,170.871735,29517900 -2018-01-04,172.539993,173.470001,172.080002,173.029999,171.665436,22434600 -2018-01-05,173.440002,175.369995,173.050003,175.000000,173.619904,23660000 -2018-01-08,174.350006,175.610001,173.929993,174.350006,172.975037,20567800 -2018-01-09,174.550003,175.059998,173.410004,174.330002,172.955200,21584000 -2018-01-10,173.160004,174.300003,173.000000,174.289993,172.915497,23959900 -2018-01-11,174.589996,175.490005,174.490005,175.279999,173.897705,18667700 -2018-01-12,176.179993,177.360001,175.649994,177.089996,175.693420,25418100 -2018-01-16,177.899994,179.389999,176.139999,176.190002,174.800537,29565900 -2018-01-17,176.149994,179.250000,175.070007,179.100006,177.687576,34386800 -2018-01-18,179.369995,180.100006,178.250000,179.259995,177.846313,31193400 -2018-01-19,178.610001,179.580002,177.410004,178.460007,177.052628,32425100 -2018-01-22,177.300003,177.779999,176.600006,177.000000,175.604141,27108600 -2018-01-23,177.300003,179.440002,176.820007,177.039993,175.643814,32689100 -2018-01-24,177.250000,177.300003,173.199997,174.220001,172.846054,51105100 -2018-01-25,174.509995,174.949997,170.529999,171.110001,169.760574,41529000 -2018-01-26,172.000000,172.000000,170.059998,171.509995,170.157425,39143000 -2018-01-29,170.160004,170.160004,167.070007,167.960007,166.635422,50640400 -2018-01-30,165.529999,167.369995,164.699997,166.970001,165.653244,46048200 -2018-01-31,166.869995,168.440002,166.500000,167.429993,166.109604,32478900 -2018-02-01,167.169998,168.619995,166.759995,167.779999,166.456848,47230800 -2018-02-02,166.000000,166.800003,160.100006,160.500000,159.234253,86593800 -2018-02-05,159.100006,163.880005,156.000000,156.490005,155.255890,72738500 -2018-02-06,154.830002,163.720001,154.000000,163.029999,161.744293,68243800 -2018-02-07,163.089996,163.399994,159.070007,159.539993,158.281815,51608600 -2018-02-08,160.289993,161.000000,155.029999,155.149994,153.926437,54390500 -2018-02-09,157.070007,157.889999,150.240005,156.410004,155.809189,70672600 -2018-02-12,158.500000,163.889999,157.509995,162.710007,162.084991,60819500 -2018-02-13,161.949997,164.750000,161.649994,164.339996,163.708725,32549200 -2018-02-14,163.039993,167.539993,162.880005,167.369995,166.727081,40644900 -2018-02-15,169.789993,173.089996,169.000000,172.990005,172.325500,51147200 -2018-02-16,172.360001,174.820007,171.770004,172.429993,171.767639,40176100 -2018-02-20,172.050003,174.259995,171.419998,171.850006,171.189880,33930500 -2018-02-21,172.830002,174.119995,171.009995,171.070007,170.412872,37471600 -2018-02-22,171.800003,173.949997,171.710007,172.500000,171.837372,30991900 -2018-02-23,173.669998,175.649994,173.539993,175.500000,174.825851,33812400 -2018-02-26,176.350006,179.389999,176.210007,178.970001,178.282532,38162200 -2018-02-27,179.100006,180.479996,178.160004,178.389999,177.704758,38928100 -2018-02-28,179.259995,180.619995,178.050003,178.119995,177.435791,37782100 -2018-03-01,178.539993,179.779999,172.660004,175.000000,174.327774,48802000 -2018-03-02,172.800003,176.300003,172.449997,176.210007,175.533142,38454000 -2018-03-05,175.210007,177.740005,174.520004,176.820007,176.140793,28401400 -2018-03-06,177.910004,178.250000,176.130005,176.669998,175.991364,23788500 -2018-03-07,174.940002,175.850006,174.270004,175.029999,174.357666,31703500 -2018-03-08,175.479996,177.119995,175.070007,176.940002,176.260330,23774100 -2018-03-09,177.960007,180.000000,177.389999,179.979996,179.288635,32185200 -2018-03-12,180.289993,182.389999,180.210007,181.720001,181.021957,32207100 -2018-03-13,182.589996,183.500000,179.240005,179.970001,179.278687,31693500 -2018-03-14,180.320007,180.520004,177.809998,178.440002,177.754562,29368400 -2018-03-15,178.500000,180.240005,178.070007,178.649994,177.963745,22743800 -2018-03-16,178.649994,179.119995,177.619995,178.020004,177.336182,39404700 -2018-03-19,177.320007,177.470001,173.660004,175.300003,174.626633,33446800 -2018-03-20,175.240005,176.800003,174.940002,175.240005,174.566864,19649400 -2018-03-21,175.039993,175.089996,171.259995,171.270004,170.612106,37054900 -2018-03-22,170.000000,172.679993,168.600006,168.850006,168.201401,41490800 -2018-03-23,168.389999,169.919998,164.940002,164.940002,164.306427,41028800 -2018-03-26,168.070007,173.100006,166.440002,172.770004,172.106354,37541200 -2018-03-27,173.679993,175.149994,166.919998,168.339996,167.693359,40922600 -2018-03-28,167.250000,170.020004,165.190002,166.479996,165.840500,41668500 -2018-03-29,167.809998,171.750000,166.899994,167.779999,167.135513,38398500 -2018-04-02,166.639999,168.940002,164.470001,166.679993,166.039734,37586800 -2018-04-03,167.639999,168.750000,164.880005,168.389999,167.743164,30278000 -2018-04-04,164.880005,172.009995,164.770004,171.610001,170.950806,34605500 -2018-04-05,172.580002,174.229996,172.080002,172.800003,172.136230,26933200 -2018-04-06,170.970001,172.479996,168.199997,168.380005,167.733215,35005300 -2018-04-09,169.880005,173.089996,169.850006,170.050003,169.396790,29017700 -2018-04-10,173.000000,174.000000,171.529999,173.250000,172.584503,28408600 -2018-04-11,172.229996,173.919998,171.699997,172.440002,171.777618,22431600 -2018-04-12,173.410004,175.000000,173.039993,174.139999,173.471085,22889300 -2018-04-13,174.779999,175.839996,173.850006,174.729996,174.058807,25124300 -2018-04-16,175.029999,176.190002,174.830002,175.820007,175.144638,21578400 -2018-04-17,176.490005,178.940002,176.410004,178.240005,177.555328,26605400 -2018-04-18,177.809998,178.820007,176.880005,177.839996,177.156860,20754500 -2018-04-19,173.759995,175.389999,172.660004,172.800003,172.136230,34808800 -2018-04-20,170.600006,171.220001,165.429993,165.720001,165.083420,65491100 -2018-04-23,166.830002,166.919998,164.089996,165.240005,164.605270,36515500 -2018-04-24,165.669998,166.330002,161.220001,162.940002,162.314102,33692000 -2018-04-25,162.619995,165.419998,162.410004,163.649994,163.021362,28382100 -2018-04-26,164.119995,165.729996,163.369995,164.220001,163.589188,27963000 -2018-04-27,164.000000,164.330002,160.630005,162.320007,161.696487,35655800 -2018-04-30,162.130005,167.259995,161.839996,165.259995,164.625183,42427400 -2018-05-01,166.410004,169.199997,165.270004,169.100006,168.450439,53569400 -2018-05-02,175.229996,177.750000,173.800003,176.570007,175.891754,66539400 -2018-05-03,175.880005,177.500000,174.440002,176.889999,176.210510,34068200 -2018-05-04,178.250000,184.250000,178.169998,183.830002,183.123856,56201300 -2018-05-07,185.179993,187.669998,184.750000,185.160004,184.448746,42451400 -2018-05-08,184.990005,186.220001,183.669998,186.050003,185.335327,28402800 -2018-05-09,186.550003,187.399994,185.220001,187.360001,186.640305,23211200 -2018-05-10,187.740005,190.369995,187.649994,190.039993,189.309998,27989300 -2018-05-11,189.490005,190.059998,187.449997,188.589996,188.589996,25806600 diff --git a/docs/data/cb_2018_us_zcta510_500k_nolimit.pmtiles b/docs/data/cb_2018_us_zcta510_500k_nolimit.pmtiles deleted file mode 100644 index 277e3dc..0000000 Binary files a/docs/data/cb_2018_us_zcta510_500k_nolimit.pmtiles and /dev/null differ diff --git a/docs/data/events.json b/docs/data/events.json deleted file mode 100644 index 52d1927..0000000 --- a/docs/data/events.json +++ /dev/null @@ -1,8 +0,0 @@ -[ - {"name": "Sputnik 1", "year": 1957, "y": 10}, - {"name": "Apollo 11", "year": 1969, "y": 20}, - {"name": "Viking 1 and 2", "year": 1975, "y": 30}, - {"name": "Space Shuttle Columbia", "year": 1981, "y": 40}, - {"name": "Hubble Space Telescope", "year": 1990, "y": 50}, - {"name": "ISS Construction", "year": 1998, "y": 60} -] diff --git a/docs/data/launches.csv.js b/docs/data/launches.csv.js deleted file mode 100644 index 4d1a354..0000000 --- a/docs/data/launches.csv.js +++ /dev/null @@ -1,61 +0,0 @@ -import {csvFormat, tsvParse} from "d3-dsv"; -import {utcParse} from "d3-time-format"; - -async function text(url) { - const response = await fetch(url); - if (!response.ok) throw new Error(`fetch failed: ${response.status}`); - return response.text(); -} - -// “Top” vehicles -const TOP_LAUNCH_VEHICLES = new Set([ - "Falcon9", - "R-7", - "R-14", - "Thor", - "DF5", - "R-36", - "Proton", - "Titan", - "Zenit", - "Atlas" -]); - -// “Top” launching states -const TOP_STATES_MAP = new Map([ - ["US", "United States"], - ["SU", "Soviet Union"], - ["RU", "Russia"], - ["CN", "China"] -]); - -// Load and parse launch vehicles. -const launchVehicles = tsvParse(await text("https://planet4589.org/space/gcat/tsv/tables/lv.tsv")); - -// Construct map to lookup vehicle family from name. -const launchVehicleFamilyMap = new Map(launchVehicles.map((d) => [d["#LV_Name"], d.LV_Family.trim()])); - -// Reduce cardinality by mapping smaller states to “Other”. -function normalizeState(d) { - return TOP_STATES_MAP.get(d) ?? "Other"; -} - -// Reduce cardinality by mapping smaller launch families to “Other”. -function normalizeFamily(d) { - const family = launchVehicleFamilyMap.get(d); - return TOP_LAUNCH_VEHICLES.has(family) ? family : "Other"; -} - -// Parse dates! -const parseDate = utcParse("%Y %b %_d"); - -// Load and parse launch-log and trim down to smaller size. -const launchHistory = tsvParse(await text("https://planet4589.org/space/gcat/tsv/derived/launchlog.tsv"), (d) => ({ - date: parseDate(d.Launch_Date.slice(0, 11)), - state: normalizeState(d.LVState), - stateId: d.LVState, - family: normalizeFamily(d.LV_Type) -})).filter((d) => d.date != null); - -// Write out csv formatted data. -process.stdout.write(csvFormat(launchHistory)); diff --git a/docs/data/new_york_real_estate_MapPLUTO_data.pmtiles b/docs/data/new_york_real_estate_MapPLUTO_data.pmtiles new file mode 100644 index 0000000..531fd5c Binary files /dev/null and b/docs/data/new_york_real_estate_MapPLUTO_data.pmtiles differ diff --git a/docs/example-dashboard.md b/docs/example-dashboard.md deleted file mode 100644 index a04f311..0000000 --- a/docs/example-dashboard.md +++ /dev/null @@ -1,99 +0,0 @@ ---- -theme: dashboard -title: Example dashboard -toc: false ---- - -# Rocket launches 🚀 - - - -```js -const launches = FileAttachment("data/launches.csv").csv({typed: true}); -``` - - - -```js -const color = Plot.scale({ - color: { - type: "categorical", - domain: d3.groupSort(launches, (D) => -D.length, (d) => d.state).filter((d) => d !== "Other"), - unknown: "var(--theme-foreground-muted)" - } -}); -``` - - - -
-
-

United States 🇺🇸

- ${launches.filter((d) => d.stateId === "US").length.toLocaleString("en-US")} -
-
-

Russia 🇷🇺 / Soviet Union

- ${launches.filter((d) => d.stateId === "SU" || d.stateId === "RU").length.toLocaleString("en-US")} -
-
-

China 🇨🇳

- ${launches.filter((d) => d.stateId === "CN").length.toLocaleString("en-US")} -
-
-

Other

- ${launches.filter((d) => d.stateId !== "US" && d.stateId !== "SU" && d.stateId !== "RU" && d.stateId !== "CN").length.toLocaleString("en-US")} -
-
- - - -```js -function launchTimeline(data, {width} = {}) { - return Plot.plot({ - title: "Launches over the years", - width, - height: 300, - y: {grid: true, label: "Launches"}, - color: {...color, legend: true}, - marks: [ - Plot.rectY(data, Plot.binX({y: "count"}, {x: "date", fill: "state", interval: "year", tip: true})), - Plot.ruleY([0]) - ] - }); -} -``` - -
-
- ${resize((width) => launchTimeline(launches, {width}))} -
-
- - - -```js -function vehicleChart(data, {width}) { - return Plot.plot({ - title: "Popular launch vehicles", - width, - height: 300, - marginTop: 0, - marginLeft: 50, - x: {grid: true, label: "Launches"}, - y: {label: null}, - color: {...color, legend: true}, - marks: [ - Plot.rectX(data, Plot.groupY({x: "count"}, {y: "family", fill: "state", tip: true, sort: {y: "-x"}})), - Plot.ruleX([0]) - ] - }); -} -``` - -
-
- ${resize((width) => vehicleChart(launches, {width}))} -
-
- -Data: Jonathan C. McDowell, [General Catalog of Artificial Space Objects](https://planet4589.org/space/gcat) diff --git a/docs/example-map.md b/docs/example-map.md deleted file mode 100644 index 43eff08..0000000 --- a/docs/example-map.md +++ /dev/null @@ -1,123 +0,0 @@ ---- -title: Example map ---- - -# Interaction: MapLibre GL JS - -[Observable Framework](https://observablehq.com/framework/) is an open source static site generator for data apps. - -[MapLibre GL JS](https://maplibre.org) is more advanced than leaflet. Use it if you require: - -* Transparent overlay layers -* Smooth, continuous zoom -* Feature interaction with popups and hover states - -```js -const center = [38,-100]; -const zoom = 4; -``` - -```js -const areas = FileAttachment("data/cb_2018_us_zcta510_500k_nolimit.pmtiles"); -``` - -```js -import maplibregl from "npm:maplibre-gl@4.0.2"; -import { PMTiles, Protocol } from "npm:pmtiles@3.0.3"; -const protocol = new Protocol(); -maplibregl.addProtocol("pmtiles",protocol.tile); -``` - - - -```js -const div = display(document.createElement("div")); -div.style = "height: 400px;"; -const map = new maplibregl.Map({ - container: div, - zoom: zoom - 1, - center: [center[1],center[0]], - style: "https://api.protomaps.com/styles/v2/black.json?key=7c0c24912bd59a0f" -}) - -map.on("load", () => { - map.addSource("zcta", { - type: "vector", - url: `pmtiles://${areas.href}` - }) - - map.addLayer({ - "id":"zcta", - "source": "zcta", - "source-layer":"zcta", - "type": "fill", - "paint": { - "fill-color": [ - "case", - ['boolean', ['feature-state', 'hover'], false], - "red", - "steelblue" - ], - "fill-opacity": 0.7 - } - }) - - map.addLayer({ - "id":"zcta_stroke", - "source": "zcta", - "source-layer":"zcta", - "type": "line", - "paint": { - "line-color": "cyan", - "line-width": 0.2 - } - }) - - let hoveredId = null; - - const popup = new maplibregl.Popup({ - closeButton: false, - closeOnClick: false - }); - - map.on('mousemove', 'zcta', (e) => { - - if (e.features.length > 0) { - map.getCanvas().style.cursor = 'pointer'; - const props = e.features[0].properties; - let result = ''; - for (let key in props) { - if (props.hasOwnProperty(key)) { - result += key + ': ' + props[key] + '
'; - } - } - popup.setLngLat(e.lngLat).setHTML(result).addTo(map); - - if (hoveredId) { - map.setFeatureState( - {source: 'zcta', sourceLayer: "zcta", id: hoveredId}, - {hover: false} - ); - } - hoveredId = e.features[0].id; - map.setFeatureState( - {source: 'zcta', sourceLayer: "zcta", id: hoveredId}, - {hover: true} - ); - } - }); - - map.on('mouseleave', 'zcta', () => { - map.getCanvas().style.cursor = ''; - popup.remove(); - - if (hoveredId) { - map.setFeatureState( - {source: 'zcta', sourceLayer: "zcta", id: hoveredId}, - {hover: false} - ); - } - hoveredId = null; - }); -}) -``` diff --git a/docs/example-report.md b/docs/example-report.md deleted file mode 100644 index be2c164..0000000 --- a/docs/example-report.md +++ /dev/null @@ -1,75 +0,0 @@ ---- -title: Example report ---- - -# A brief history of space exploration - -This report is a brief overview of the history and current state of rocket launches and space exploration. - -## Background - -The history of rocket launches dates back to ancient China, where gunpowder-filled tubes were used as primitive forms of propulsion. - -Fast-forward to the 20th century during the Cold War era, the United States and the Soviet Union embarked on a space race, a competition to innovate and explore beyond Earth. - -This led to the launch of the first artificial satellite, Sputnik 1, and the crewed moon landing by Apollo 11. As technology advanced, rocket launches became synonymous with space exploration and satellite deployment. - -## The Space Shuttle era - -```js -import {timeline} from "./components/timeline.js"; -``` - -```js -const events = FileAttachment("./data/events.json").json(); -``` - -```js -timeline(events, {height: 300}) -``` - -### Sputnik 1 (1957) - -This was the first artificial satellite. Launched by the Soviet Union, it marked the beginning of the space age. - -### Apollo 11 (1969) - -The historic Apollo 11 mission, led by NASA, marked the first successful human landing on the Moon. Astronauts Neil Armstrong and Buzz Aldrin became the first humans to set foot on the lunar surface. - -### Viking 1 and 2 (1975) - -NASA’s Viking program successfully launched two spacecraft, Viking 1 and Viking 2, to Mars. These missions were the first to successfully land and operate on the Martian surface, conducting experiments to search for signs of life. - -### Space Shuttle Columbia (1981) - -The first orbital space shuttle mission, STS-1, launched the Space Shuttle Columbia on April 12, 1981. The shuttle program revolutionized space travel, providing a reusable spacecraft for a variety of missions. - -### Hubble Space Telescope (1990) - -The Hubble Space Telescope has provided unparalleled images and data, revolutionizing our understanding of the universe and contributing to countless astronomical discoveries. - -### International Space Station (ISS) construction (1998—2011) - -The ISS, a collaborative effort involving multiple space agencies, began construction with the launch of its first module, Zarya, in 1998. Over the following years, various modules were added, making the ISS a symbol of international cooperation in space exploration. - -## Commercial spaceflight - -After the Space Shuttle program, a new era emerged with a shift towards commercial spaceflight. - -Private companies like Blue Origin, founded by Jeff Bezos in 2000, and SpaceX, founded by Elon Musk in 2002, entered the scene. These companies focused on developing reusable rocket technologies, significantly reducing launch costs. - -SpaceX, in particular, achieved milestones like the first privately developed spacecraft to reach orbit (Dragon in 2010) and the first privately funded spacecraft to dock with the ISS (Dragon in 2012). - -## Recent launch activity - -The proliferation of commercial space companies has driven a surge in global launch activity within the last few years. - -SpaceX’s Falcon 9 and Falcon Heavy, along with other vehicles from companies like Rocket Lab, have become workhorses for deploying satellites, conducting scientific missions, and ferrying crew to the ISS. - -The advent of small satellite constellations, such as Starlink by SpaceX, has further fueled this increase in launches. The push for lunar exploration has added momentum to launch activities, with initiatives like NASA’s Artemis program and plans for crewed missions to the Moon and Mars. - -## Looking forward - -As technology continues to advance and global interest in space exploration grows, the future promises even more exciting developments in the realm of rocket launches and space travel. - -Exploration will not only be limited to the Moon or Mars, but extend to other parts of our solar system such as Jupiter and Saturn’s moons, and beyond. diff --git a/docs/index.md b/docs/index.md index 9f15145..135363f 100644 --- a/docs/index.md +++ b/docs/index.md @@ -45,71 +45,117 @@ toc: false
-

Hello, Observable Framework

-

Welcome to your new project! Edit docs/index.md to change this page.

- Get started↗︎ +

New York Real Estate

+

Welcome to interactive visualizations of New York City real estate data!

-
-
${ - resize((width) => Plot.plot({ - title: "Your awesomeness over time 🚀", - subtitle: "Up and to the right!", - width, - y: {grid: true, label: "Awesomeness"}, - marks: [ - Plot.ruleY([0]), - Plot.lineY(aapl, {x: "Date", y: "Close", tip: true}) - ] - })) - }
-
${ - resize((width) => Plot.plot({ - title: "How big are penguins, anyway? 🐧", - width, - grid: true, - x: {label: "Body mass (g)"}, - y: {label: "Flipper length (mm)"}, - color: {legend: true}, - marks: [ - Plot.linearRegressionY(penguins, {x: "body_mass_g", y: "flipper_length_mm", stroke: "species"}), - Plot.dot(penguins, {x: "body_mass_g", y: "flipper_length_mm", stroke: "species", tip: true}) - ] - })) - }
-
```js -const aapl = FileAttachment("aapl.csv").csv({typed: true}); -const penguins = FileAttachment("penguins.csv").csv({typed: true}); +const center = [40.7,-74]; +const zoom = 9.5; ``` ---- +```js +const areas = FileAttachment("data/new_york_real_estate_MapPLUTO_data.pmtiles"); +``` -## Next steps - -Here are some ideas of things you could try… - -
-
- Chart your own data using Plot and FileAttachment. Make it responsive using resize. -
-
- Create a new page by adding a Markdown file (whatever.md) to the docs folder. -
-
- Add a drop-down menu using Inputs.select and use it to filter the data shown in a chart. -
-
- Write a data loader that queries a local database or API, generating a data snapshot on build. -
-
- Import a recommended library from npm, such as Leaflet, GraphViz, TeX, or DuckDB. -
-
- Ask for help, or share your work or ideas, on the Observable forum. -
-
- Visit Framework on GitHub and give us a star. Or file an issue if you’ve found a bug! -
-
+```js +import maplibregl from "npm:maplibre-gl@4.0.2"; +import { PMTiles, Protocol } from "npm:pmtiles@3.0.3"; +const protocol = new Protocol(); +maplibregl.addProtocol("pmtiles",protocol.tile); +``` + + + +```js +const div = display(document.createElement("div")); +div.style = "height: 400px;"; +const map = new maplibregl.Map({ + container: div, + zoom: zoom - 1, + center: [center[1],center[0]], + style: "https://api.protomaps.com/styles/v2/black.json?key=7c0c24912bd59a0f" +}) + +map.on("load", () => { + map.addSource("dataMapPLUTO24v1_wgs84", { + type: "vector", + url: `pmtiles://${areas.href}` + }) + + map.addLayer({ + "id":"dataMapPLUTO24v1_wgs84", + "source": "dataMapPLUTO24v1_wgs84", + "source-layer":"dataMapPLUTO24v1_wgs84", + "type": "fill", + "paint": { + "fill-color": [ + "case", + ['boolean', ['feature-state', 'hover'], false], + "red", + "steelblue" + ], + "fill-opacity": 0.7 + } + }) + + map.addLayer({ + "id":"dataMapPLUTO24v1_wgs84_stroke", + "source": "dataMapPLUTO24v1_wgs84", + "source-layer":"dataMapPLUTO24v1_wgs84", + "type": "line", + "paint": { + "line-color": "cyan", + "line-width": 0.2 + } + }) + + let hoveredId = null; + + const popup = new maplibregl.Popup({ + closeButton: false, + closeOnClick: false + }); + + map.on('mousemove', 'dataMapPLUTO24v1_wgs84', (e) => { + + if (e.features.length > 0) { + map.getCanvas().style.cursor = 'pointer'; + const props = e.features[0].properties; + let result = ''; + for (let key in props) { + if (props.hasOwnProperty(key)) { + result += key + ': ' + props[key] + '
'; + } + } + popup.setLngLat(e.lngLat).setHTML(result).addTo(map); + + if (hoveredId) { + map.setFeatureState( + {source: 'dataMapPLUTO24v1_wgs84', sourceLayer: "dataMapPLUTO24v1_wgs84", id: hoveredId}, + {hover: false} + ); + } + hoveredId = e.features[0].id; + map.setFeatureState( + {source: 'dataMapPLUTO24v1_wgs84', sourceLayer: "dataMapPLUTO24v1_wgs84", id: hoveredId}, + {hover: true} + ); + } + }); + + map.on('mouseleave', 'dataMapPLUTO24v1_wgs84', () => { + map.getCanvas().style.cursor = ''; + popup.remove(); + + if (hoveredId) { + map.setFeatureState( + {source: 'dataMapPLUTO24v1_wgs84', sourceLayer: "dataMapPLUTO24v1_wgs84", id: hoveredId}, + {hover: false} + ); + } + hoveredId = null; + }); +}) +``` diff --git a/docs/penguins.csv b/docs/penguins.csv deleted file mode 100644 index 4e5d20b..0000000 --- a/docs/penguins.csv +++ /dev/null @@ -1,345 +0,0 @@ -species,island,culmen_length_mm,culmen_depth_mm,flipper_length_mm,body_mass_g,sex -Adelie,Torgersen,39.1,18.7,181,3750,MALE -Adelie,Torgersen,39.5,17.4,186,3800,FEMALE -Adelie,Torgersen,40.3,18,195,3250,FEMALE -Adelie,Torgersen,NaN,NaN,NaN,NaN, -Adelie,Torgersen,36.7,19.3,193,3450,FEMALE -Adelie,Torgersen,39.3,20.6,190,3650,MALE -Adelie,Torgersen,38.9,17.8,181,3625,FEMALE -Adelie,Torgersen,39.2,19.6,195,4675,MALE -Adelie,Torgersen,34.1,18.1,193,3475, -Adelie,Torgersen,42,20.2,190,4250, -Adelie,Torgersen,37.8,17.1,186,3300, -Adelie,Torgersen,37.8,17.3,180,3700, -Adelie,Torgersen,41.1,17.6,182,3200,FEMALE -Adelie,Torgersen,38.6,21.2,191,3800,MALE -Adelie,Torgersen,34.6,21.1,198,4400,MALE -Adelie,Torgersen,36.6,17.8,185,3700,FEMALE -Adelie,Torgersen,38.7,19,195,3450,FEMALE -Adelie,Torgersen,42.5,20.7,197,4500,MALE -Adelie,Torgersen,34.4,18.4,184,3325,FEMALE -Adelie,Torgersen,46,21.5,194,4200,MALE -Adelie,Biscoe,37.8,18.3,174,3400,FEMALE -Adelie,Biscoe,37.7,18.7,180,3600,MALE -Adelie,Biscoe,35.9,19.2,189,3800,FEMALE -Adelie,Biscoe,38.2,18.1,185,3950,MALE -Adelie,Biscoe,38.8,17.2,180,3800,MALE -Adelie,Biscoe,35.3,18.9,187,3800,FEMALE -Adelie,Biscoe,40.6,18.6,183,3550,MALE -Adelie,Biscoe,40.5,17.9,187,3200,FEMALE -Adelie,Biscoe,37.9,18.6,172,3150,FEMALE -Adelie,Biscoe,40.5,18.9,180,3950,MALE -Adelie,Dream,39.5,16.7,178,3250,FEMALE -Adelie,Dream,37.2,18.1,178,3900,MALE -Adelie,Dream,39.5,17.8,188,3300,FEMALE -Adelie,Dream,40.9,18.9,184,3900,MALE -Adelie,Dream,36.4,17,195,3325,FEMALE -Adelie,Dream,39.2,21.1,196,4150,MALE -Adelie,Dream,38.8,20,190,3950,MALE -Adelie,Dream,42.2,18.5,180,3550,FEMALE -Adelie,Dream,37.6,19.3,181,3300,FEMALE -Adelie,Dream,39.8,19.1,184,4650,MALE -Adelie,Dream,36.5,18,182,3150,FEMALE -Adelie,Dream,40.8,18.4,195,3900,MALE -Adelie,Dream,36,18.5,186,3100,FEMALE -Adelie,Dream,44.1,19.7,196,4400,MALE -Adelie,Dream,37,16.9,185,3000,FEMALE -Adelie,Dream,39.6,18.8,190,4600,MALE -Adelie,Dream,41.1,19,182,3425,MALE -Adelie,Dream,37.5,18.9,179,2975, -Adelie,Dream,36,17.9,190,3450,FEMALE -Adelie,Dream,42.3,21.2,191,4150,MALE -Adelie,Biscoe,39.6,17.7,186,3500,FEMALE -Adelie,Biscoe,40.1,18.9,188,4300,MALE -Adelie,Biscoe,35,17.9,190,3450,FEMALE -Adelie,Biscoe,42,19.5,200,4050,MALE -Adelie,Biscoe,34.5,18.1,187,2900,FEMALE -Adelie,Biscoe,41.4,18.6,191,3700,MALE -Adelie,Biscoe,39,17.5,186,3550,FEMALE -Adelie,Biscoe,40.6,18.8,193,3800,MALE -Adelie,Biscoe,36.5,16.6,181,2850,FEMALE -Adelie,Biscoe,37.6,19.1,194,3750,MALE -Adelie,Biscoe,35.7,16.9,185,3150,FEMALE -Adelie,Biscoe,41.3,21.1,195,4400,MALE -Adelie,Biscoe,37.6,17,185,3600,FEMALE -Adelie,Biscoe,41.1,18.2,192,4050,MALE -Adelie,Biscoe,36.4,17.1,184,2850,FEMALE -Adelie,Biscoe,41.6,18,192,3950,MALE -Adelie,Biscoe,35.5,16.2,195,3350,FEMALE -Adelie,Biscoe,41.1,19.1,188,4100,MALE -Adelie,Torgersen,35.9,16.6,190,3050,FEMALE -Adelie,Torgersen,41.8,19.4,198,4450,MALE -Adelie,Torgersen,33.5,19,190,3600,FEMALE -Adelie,Torgersen,39.7,18.4,190,3900,MALE -Adelie,Torgersen,39.6,17.2,196,3550,FEMALE -Adelie,Torgersen,45.8,18.9,197,4150,MALE -Adelie,Torgersen,35.5,17.5,190,3700,FEMALE -Adelie,Torgersen,42.8,18.5,195,4250,MALE -Adelie,Torgersen,40.9,16.8,191,3700,FEMALE -Adelie,Torgersen,37.2,19.4,184,3900,MALE -Adelie,Torgersen,36.2,16.1,187,3550,FEMALE -Adelie,Torgersen,42.1,19.1,195,4000,MALE -Adelie,Torgersen,34.6,17.2,189,3200,FEMALE -Adelie,Torgersen,42.9,17.6,196,4700,MALE -Adelie,Torgersen,36.7,18.8,187,3800,FEMALE -Adelie,Torgersen,35.1,19.4,193,4200,MALE -Adelie,Dream,37.3,17.8,191,3350,FEMALE -Adelie,Dream,41.3,20.3,194,3550,MALE -Adelie,Dream,36.3,19.5,190,3800,MALE -Adelie,Dream,36.9,18.6,189,3500,FEMALE -Adelie,Dream,38.3,19.2,189,3950,MALE -Adelie,Dream,38.9,18.8,190,3600,FEMALE -Adelie,Dream,35.7,18,202,3550,FEMALE -Adelie,Dream,41.1,18.1,205,4300,MALE -Adelie,Dream,34,17.1,185,3400,FEMALE -Adelie,Dream,39.6,18.1,186,4450,MALE -Adelie,Dream,36.2,17.3,187,3300,FEMALE -Adelie,Dream,40.8,18.9,208,4300,MALE -Adelie,Dream,38.1,18.6,190,3700,FEMALE -Adelie,Dream,40.3,18.5,196,4350,MALE -Adelie,Dream,33.1,16.1,178,2900,FEMALE -Adelie,Dream,43.2,18.5,192,4100,MALE -Adelie,Biscoe,35,17.9,192,3725,FEMALE -Adelie,Biscoe,41,20,203,4725,MALE -Adelie,Biscoe,37.7,16,183,3075,FEMALE -Adelie,Biscoe,37.8,20,190,4250,MALE -Adelie,Biscoe,37.9,18.6,193,2925,FEMALE -Adelie,Biscoe,39.7,18.9,184,3550,MALE -Adelie,Biscoe,38.6,17.2,199,3750,FEMALE -Adelie,Biscoe,38.2,20,190,3900,MALE -Adelie,Biscoe,38.1,17,181,3175,FEMALE -Adelie,Biscoe,43.2,19,197,4775,MALE -Adelie,Biscoe,38.1,16.5,198,3825,FEMALE -Adelie,Biscoe,45.6,20.3,191,4600,MALE -Adelie,Biscoe,39.7,17.7,193,3200,FEMALE -Adelie,Biscoe,42.2,19.5,197,4275,MALE -Adelie,Biscoe,39.6,20.7,191,3900,FEMALE -Adelie,Biscoe,42.7,18.3,196,4075,MALE -Adelie,Torgersen,38.6,17,188,2900,FEMALE -Adelie,Torgersen,37.3,20.5,199,3775,MALE -Adelie,Torgersen,35.7,17,189,3350,FEMALE -Adelie,Torgersen,41.1,18.6,189,3325,MALE -Adelie,Torgersen,36.2,17.2,187,3150,FEMALE -Adelie,Torgersen,37.7,19.8,198,3500,MALE -Adelie,Torgersen,40.2,17,176,3450,FEMALE -Adelie,Torgersen,41.4,18.5,202,3875,MALE -Adelie,Torgersen,35.2,15.9,186,3050,FEMALE -Adelie,Torgersen,40.6,19,199,4000,MALE -Adelie,Torgersen,38.8,17.6,191,3275,FEMALE -Adelie,Torgersen,41.5,18.3,195,4300,MALE -Adelie,Torgersen,39,17.1,191,3050,FEMALE -Adelie,Torgersen,44.1,18,210,4000,MALE -Adelie,Torgersen,38.5,17.9,190,3325,FEMALE -Adelie,Torgersen,43.1,19.2,197,3500,MALE -Adelie,Dream,36.8,18.5,193,3500,FEMALE -Adelie,Dream,37.5,18.5,199,4475,MALE -Adelie,Dream,38.1,17.6,187,3425,FEMALE -Adelie,Dream,41.1,17.5,190,3900,MALE -Adelie,Dream,35.6,17.5,191,3175,FEMALE -Adelie,Dream,40.2,20.1,200,3975,MALE -Adelie,Dream,37,16.5,185,3400,FEMALE -Adelie,Dream,39.7,17.9,193,4250,MALE -Adelie,Dream,40.2,17.1,193,3400,FEMALE -Adelie,Dream,40.6,17.2,187,3475,MALE -Adelie,Dream,32.1,15.5,188,3050,FEMALE -Adelie,Dream,40.7,17,190,3725,MALE -Adelie,Dream,37.3,16.8,192,3000,FEMALE -Adelie,Dream,39,18.7,185,3650,MALE -Adelie,Dream,39.2,18.6,190,4250,MALE -Adelie,Dream,36.6,18.4,184,3475,FEMALE -Adelie,Dream,36,17.8,195,3450,FEMALE -Adelie,Dream,37.8,18.1,193,3750,MALE -Adelie,Dream,36,17.1,187,3700,FEMALE -Adelie,Dream,41.5,18.5,201,4000,MALE -Chinstrap,Dream,46.5,17.9,192,3500,FEMALE -Chinstrap,Dream,50,19.5,196,3900,MALE -Chinstrap,Dream,51.3,19.2,193,3650,MALE -Chinstrap,Dream,45.4,18.7,188,3525,FEMALE -Chinstrap,Dream,52.7,19.8,197,3725,MALE -Chinstrap,Dream,45.2,17.8,198,3950,FEMALE -Chinstrap,Dream,46.1,18.2,178,3250,FEMALE -Chinstrap,Dream,51.3,18.2,197,3750,MALE -Chinstrap,Dream,46,18.9,195,4150,FEMALE -Chinstrap,Dream,51.3,19.9,198,3700,MALE -Chinstrap,Dream,46.6,17.8,193,3800,FEMALE -Chinstrap,Dream,51.7,20.3,194,3775,MALE -Chinstrap,Dream,47,17.3,185,3700,FEMALE -Chinstrap,Dream,52,18.1,201,4050,MALE -Chinstrap,Dream,45.9,17.1,190,3575,FEMALE -Chinstrap,Dream,50.5,19.6,201,4050,MALE -Chinstrap,Dream,50.3,20,197,3300,MALE -Chinstrap,Dream,58,17.8,181,3700,FEMALE -Chinstrap,Dream,46.4,18.6,190,3450,FEMALE -Chinstrap,Dream,49.2,18.2,195,4400,MALE -Chinstrap,Dream,42.4,17.3,181,3600,FEMALE -Chinstrap,Dream,48.5,17.5,191,3400,MALE -Chinstrap,Dream,43.2,16.6,187,2900,FEMALE -Chinstrap,Dream,50.6,19.4,193,3800,MALE -Chinstrap,Dream,46.7,17.9,195,3300,FEMALE -Chinstrap,Dream,52,19,197,4150,MALE -Chinstrap,Dream,50.5,18.4,200,3400,FEMALE -Chinstrap,Dream,49.5,19,200,3800,MALE -Chinstrap,Dream,46.4,17.8,191,3700,FEMALE -Chinstrap,Dream,52.8,20,205,4550,MALE -Chinstrap,Dream,40.9,16.6,187,3200,FEMALE -Chinstrap,Dream,54.2,20.8,201,4300,MALE -Chinstrap,Dream,42.5,16.7,187,3350,FEMALE -Chinstrap,Dream,51,18.8,203,4100,MALE -Chinstrap,Dream,49.7,18.6,195,3600,MALE -Chinstrap,Dream,47.5,16.8,199,3900,FEMALE -Chinstrap,Dream,47.6,18.3,195,3850,FEMALE -Chinstrap,Dream,52,20.7,210,4800,MALE -Chinstrap,Dream,46.9,16.6,192,2700,FEMALE -Chinstrap,Dream,53.5,19.9,205,4500,MALE -Chinstrap,Dream,49,19.5,210,3950,MALE -Chinstrap,Dream,46.2,17.5,187,3650,FEMALE -Chinstrap,Dream,50.9,19.1,196,3550,MALE -Chinstrap,Dream,45.5,17,196,3500,FEMALE -Chinstrap,Dream,50.9,17.9,196,3675,FEMALE -Chinstrap,Dream,50.8,18.5,201,4450,MALE -Chinstrap,Dream,50.1,17.9,190,3400,FEMALE -Chinstrap,Dream,49,19.6,212,4300,MALE -Chinstrap,Dream,51.5,18.7,187,3250,MALE -Chinstrap,Dream,49.8,17.3,198,3675,FEMALE -Chinstrap,Dream,48.1,16.4,199,3325,FEMALE -Chinstrap,Dream,51.4,19,201,3950,MALE -Chinstrap,Dream,45.7,17.3,193,3600,FEMALE -Chinstrap,Dream,50.7,19.7,203,4050,MALE -Chinstrap,Dream,42.5,17.3,187,3350,FEMALE -Chinstrap,Dream,52.2,18.8,197,3450,MALE -Chinstrap,Dream,45.2,16.6,191,3250,FEMALE -Chinstrap,Dream,49.3,19.9,203,4050,MALE -Chinstrap,Dream,50.2,18.8,202,3800,MALE -Chinstrap,Dream,45.6,19.4,194,3525,FEMALE -Chinstrap,Dream,51.9,19.5,206,3950,MALE -Chinstrap,Dream,46.8,16.5,189,3650,FEMALE -Chinstrap,Dream,45.7,17,195,3650,FEMALE -Chinstrap,Dream,55.8,19.8,207,4000,MALE -Chinstrap,Dream,43.5,18.1,202,3400,FEMALE -Chinstrap,Dream,49.6,18.2,193,3775,MALE -Chinstrap,Dream,50.8,19,210,4100,MALE -Chinstrap,Dream,50.2,18.7,198,3775,FEMALE -Gentoo,Biscoe,46.1,13.2,211,4500,FEMALE -Gentoo,Biscoe,50,16.3,230,5700,MALE -Gentoo,Biscoe,48.7,14.1,210,4450,FEMALE -Gentoo,Biscoe,50,15.2,218,5700,MALE -Gentoo,Biscoe,47.6,14.5,215,5400,MALE -Gentoo,Biscoe,46.5,13.5,210,4550,FEMALE -Gentoo,Biscoe,45.4,14.6,211,4800,FEMALE -Gentoo,Biscoe,46.7,15.3,219,5200,MALE -Gentoo,Biscoe,43.3,13.4,209,4400,FEMALE -Gentoo,Biscoe,46.8,15.4,215,5150,MALE -Gentoo,Biscoe,40.9,13.7,214,4650,FEMALE -Gentoo,Biscoe,49,16.1,216,5550,MALE -Gentoo,Biscoe,45.5,13.7,214,4650,FEMALE -Gentoo,Biscoe,48.4,14.6,213,5850,MALE -Gentoo,Biscoe,45.8,14.6,210,4200,FEMALE -Gentoo,Biscoe,49.3,15.7,217,5850,MALE -Gentoo,Biscoe,42,13.5,210,4150,FEMALE -Gentoo,Biscoe,49.2,15.2,221,6300,MALE -Gentoo,Biscoe,46.2,14.5,209,4800,FEMALE -Gentoo,Biscoe,48.7,15.1,222,5350,MALE -Gentoo,Biscoe,50.2,14.3,218,5700,MALE -Gentoo,Biscoe,45.1,14.5,215,5000,FEMALE -Gentoo,Biscoe,46.5,14.5,213,4400,FEMALE -Gentoo,Biscoe,46.3,15.8,215,5050,MALE -Gentoo,Biscoe,42.9,13.1,215,5000,FEMALE -Gentoo,Biscoe,46.1,15.1,215,5100,MALE -Gentoo,Biscoe,44.5,14.3,216,4100, -Gentoo,Biscoe,47.8,15,215,5650,MALE -Gentoo,Biscoe,48.2,14.3,210,4600,FEMALE -Gentoo,Biscoe,50,15.3,220,5550,MALE -Gentoo,Biscoe,47.3,15.3,222,5250,MALE -Gentoo,Biscoe,42.8,14.2,209,4700,FEMALE -Gentoo,Biscoe,45.1,14.5,207,5050,FEMALE -Gentoo,Biscoe,59.6,17,230,6050,MALE -Gentoo,Biscoe,49.1,14.8,220,5150,FEMALE -Gentoo,Biscoe,48.4,16.3,220,5400,MALE -Gentoo,Biscoe,42.6,13.7,213,4950,FEMALE -Gentoo,Biscoe,44.4,17.3,219,5250,MALE -Gentoo,Biscoe,44,13.6,208,4350,FEMALE -Gentoo,Biscoe,48.7,15.7,208,5350,MALE -Gentoo,Biscoe,42.7,13.7,208,3950,FEMALE -Gentoo,Biscoe,49.6,16,225,5700,MALE -Gentoo,Biscoe,45.3,13.7,210,4300,FEMALE -Gentoo,Biscoe,49.6,15,216,4750,MALE -Gentoo,Biscoe,50.5,15.9,222,5550,MALE -Gentoo,Biscoe,43.6,13.9,217,4900,FEMALE -Gentoo,Biscoe,45.5,13.9,210,4200,FEMALE -Gentoo,Biscoe,50.5,15.9,225,5400,MALE -Gentoo,Biscoe,44.9,13.3,213,5100,FEMALE -Gentoo,Biscoe,45.2,15.8,215,5300,MALE -Gentoo,Biscoe,46.6,14.2,210,4850,FEMALE -Gentoo,Biscoe,48.5,14.1,220,5300,MALE -Gentoo,Biscoe,45.1,14.4,210,4400,FEMALE -Gentoo,Biscoe,50.1,15,225,5000,MALE -Gentoo,Biscoe,46.5,14.4,217,4900,FEMALE -Gentoo,Biscoe,45,15.4,220,5050,MALE -Gentoo,Biscoe,43.8,13.9,208,4300,FEMALE -Gentoo,Biscoe,45.5,15,220,5000,MALE -Gentoo,Biscoe,43.2,14.5,208,4450,FEMALE -Gentoo,Biscoe,50.4,15.3,224,5550,MALE -Gentoo,Biscoe,45.3,13.8,208,4200,FEMALE -Gentoo,Biscoe,46.2,14.9,221,5300,MALE -Gentoo,Biscoe,45.7,13.9,214,4400,FEMALE -Gentoo,Biscoe,54.3,15.7,231,5650,MALE -Gentoo,Biscoe,45.8,14.2,219,4700,FEMALE -Gentoo,Biscoe,49.8,16.8,230,5700,MALE -Gentoo,Biscoe,46.2,14.4,214,4650, -Gentoo,Biscoe,49.5,16.2,229,5800,MALE -Gentoo,Biscoe,43.5,14.2,220,4700,FEMALE -Gentoo,Biscoe,50.7,15,223,5550,MALE -Gentoo,Biscoe,47.7,15,216,4750,FEMALE -Gentoo,Biscoe,46.4,15.6,221,5000,MALE -Gentoo,Biscoe,48.2,15.6,221,5100,MALE -Gentoo,Biscoe,46.5,14.8,217,5200,FEMALE -Gentoo,Biscoe,46.4,15,216,4700,FEMALE -Gentoo,Biscoe,48.6,16,230,5800,MALE -Gentoo,Biscoe,47.5,14.2,209,4600,FEMALE -Gentoo,Biscoe,51.1,16.3,220,6000,MALE -Gentoo,Biscoe,45.2,13.8,215,4750,FEMALE -Gentoo,Biscoe,45.2,16.4,223,5950,MALE -Gentoo,Biscoe,49.1,14.5,212,4625,FEMALE -Gentoo,Biscoe,52.5,15.6,221,5450,MALE -Gentoo,Biscoe,47.4,14.6,212,4725,FEMALE -Gentoo,Biscoe,50,15.9,224,5350,MALE -Gentoo,Biscoe,44.9,13.8,212,4750,FEMALE -Gentoo,Biscoe,50.8,17.3,228,5600,MALE -Gentoo,Biscoe,43.4,14.4,218,4600,FEMALE -Gentoo,Biscoe,51.3,14.2,218,5300,MALE -Gentoo,Biscoe,47.5,14,212,4875,FEMALE -Gentoo,Biscoe,52.1,17,230,5550,MALE -Gentoo,Biscoe,47.5,15,218,4950,FEMALE -Gentoo,Biscoe,52.2,17.1,228,5400,MALE -Gentoo,Biscoe,45.5,14.5,212,4750,FEMALE -Gentoo,Biscoe,49.5,16.1,224,5650,MALE -Gentoo,Biscoe,44.5,14.7,214,4850,FEMALE -Gentoo,Biscoe,50.8,15.7,226,5200,MALE -Gentoo,Biscoe,49.4,15.8,216,4925,MALE -Gentoo,Biscoe,46.9,14.6,222,4875,FEMALE -Gentoo,Biscoe,48.4,14.4,203,4625,FEMALE -Gentoo,Biscoe,51.1,16.5,225,5250,MALE -Gentoo,Biscoe,48.5,15,219,4850,FEMALE -Gentoo,Biscoe,55.9,17,228,5600,MALE -Gentoo,Biscoe,47.2,15.5,215,4975,FEMALE -Gentoo,Biscoe,49.1,15,228,5500,MALE -Gentoo,Biscoe,47.3,13.8,216,4725, -Gentoo,Biscoe,46.8,16.1,215,5500,MALE -Gentoo,Biscoe,41.7,14.7,210,4700,FEMALE -Gentoo,Biscoe,53.4,15.8,219,5500,MALE -Gentoo,Biscoe,43.3,14,208,4575,FEMALE -Gentoo,Biscoe,48.1,15.1,209,5500,MALE -Gentoo,Biscoe,50.5,15.2,216,5000,FEMALE -Gentoo,Biscoe,49.8,15.9,229,5950,MALE -Gentoo,Biscoe,43.5,15.2,213,4650,FEMALE -Gentoo,Biscoe,51.5,16.3,230,5500,MALE -Gentoo,Biscoe,46.2,14.1,217,4375,FEMALE -Gentoo,Biscoe,55.1,16,230,5850,MALE -Gentoo,Biscoe,44.5,15.7,217,4875, -Gentoo,Biscoe,48.8,16.2,222,6000,MALE -Gentoo,Biscoe,47.2,13.7,214,4925,FEMALE -Gentoo,Biscoe,NaN,NaN,NaN,NaN, -Gentoo,Biscoe,46.8,14.3,215,4850,FEMALE -Gentoo,Biscoe,50.4,15.7,222,5750,MALE -Gentoo,Biscoe,45.2,14.8,212,5200,FEMALE -Gentoo,Biscoe,49.9,16.1,213,5400,MALE diff --git a/notebooks/loading_visualizing_mapping_new_york_real_estate_data_in_python.ipynb b/notebooks/loading_visualizing_mapping_new_york_real_estate_data_in_python.ipynb index 8fce41f..e9d6b71 100644 --- a/notebooks/loading_visualizing_mapping_new_york_real_estate_data_in_python.ipynb +++ b/notebooks/loading_visualizing_mapping_new_york_real_estate_data_in_python.ipynb @@ -503,12 +503,167 @@ "gdf.plot(figsize=(10,10))" ] }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [], + "source": [ + "# Convert the coordinate system to WGS84/EPSG:4326\n", + "gdf = gdf.to_crs(\"EPSG:4326\")\n", + "\n", + "# Convert to Parquet\n", + "gdf.to_parquet(\"/Users/me/data/nyc_mappluto_24v1_fgdb/MapPLUTO24v1_wgs84.parquet\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Convert New York City real estate data to GeoJSON" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\u001b[33mWarning:\u001b[0m planetlabs/tap/gpq 0.22.0 is already installed and up-to-date.\n", + "To reinstall 0.22.0, run:\n", + " brew reinstall gpq\n" + ] + } + ], + "source": [ + "!brew install planetlabs/tap/gpq" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [], + "source": [ + "!gpq convert \"/Users/me/data/nyc_mappluto_24v1_fgdb/MapPLUTO24v1_wgs84.parquet\" --to=geojson > ~/data/nyc_mappluto_24v1_fgdb/dataMapPLUTO24v1_wgs84.geojson" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "-rw-r--r-- 1 me staff 1.5G Apr 1 10:00 /Users/me/data/nyc_mappluto_24v1_fgdb/dataMapPLUTO24v1_wgs84.geojson\n" + ] + } + ], + "source": [ + "!ls -lh ~/data/nyc_mappluto_24v1_fgdb/dataMapPLUTO24v1_wgs84.geojson" + ] + }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Convert New York City real estate data from GeoJSON to PMTiles format for use in interactive Protomaps / leaflet maps\n", + "\n", + "Takes ~several minutes..." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\u001b[34m==>\u001b[0m \u001b[1mDownloading https://formulae.brew.sh/api/formula.jws.json\u001b[0m\n", + "######################################################################### 100.0%\n", + "\u001b[34m==>\u001b[0m \u001b[1mDownloading https://formulae.brew.sh/api/cask.jws.json\u001b[0m\n", + "######################################################################### 100.0%\n", + "\u001b[34m==>\u001b[0m \u001b[1mDownloading https://ghcr.io/v2/homebrew/core/tippecanoe/manifests/2.52.0\u001b[0m\n", + "######################################################################### 100.0%\n", + "\u001b[32m==>\u001b[0m \u001b[1mFetching \u001b[32mtippecanoe\u001b[39m\u001b[0m\n", + "\u001b[34m==>\u001b[0m \u001b[1mDownloading https://ghcr.io/v2/homebrew/core/tippecanoe/blobs/sha256:57b04ee\u001b[0m\n", + "######################################################################### 100.0%\n", + "\u001b[34m==>\u001b[0m \u001b[1mPouring tippecanoe--2.52.0.arm64_sonoma.bottle.tar.gz\u001b[0m\n", + "🍺 /opt/homebrew/Cellar/tippecanoe/2.52.0: 12 files, 2.5MB\n", + "\u001b[34m==>\u001b[0m \u001b[1mRunning `brew cleanup tippecanoe`...\u001b[0m\n", + "Disable this behaviour by setting HOMEBREW_NO_INSTALL_CLEANUP.\n", + "Hide these hints with HOMEBREW_NO_ENV_HINTS (see `man brew`).\n" + ] + } + ], + "source": [ + "!brew install tippecanoe" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "For layer 0, using name \"dataMapPLUTO24v1_wgs84\"\n", + "856813 features, 402074526 bytes of geometry and attributes, 74905646 bytes of string pool, 0 bytes of vertices, 0 bytes of nodes\n", + "tile 6/18/24 size is 1340422 with detail 12, >500000 \n", + "tile 7/37/48 size is 4206096 with detail 12, >500000 \n", + "tile 7/37/48 size is 1340406 with detail 11, >500000 \n", + "tile 8/75/96 size is 12625240 with detail 12, >500000 \n", + "tile 8/75/96 size is 4203862 with detail 11, >500000 \n", + "tile 8/75/96 size is 1339922 with detail 10, >500000 \n", + "tile 9/151/192 size is 9883960 with detail 12, >500000 \n", + "tile 9/151/192 size is 3288199 with detail 11, >500000 \n", + "tile 9/151/192 size is 1083765 with detail 10, >500000 \n", + "tile 9/150/192 has 255763 features, >200000 \n", + "Try using --drop-fraction-as-needed or --drop-densest-as-needed.\n", + "\n", + "\n", + "\n", + "*** NOTE TILES ONLY COMPLETE THROUGH ZOOM 8 ***\n", + " 100.0% 9/151/192 \r" + ] + } + ], + "source": [ + "!tippecanoe -o ./docs/data/new_york_real_estate_MapPLUTO_data.pmtiles -Z0 ~/data/nyc_mappluto_24v1_fgdb/dataMapPLUTO24v1_wgs84.geojson" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "-rw-r--r-- 1 me staff 2.4M Apr 1 10:08 ./docs/data/new_york_real_estate_MapPLUTO_data.pmtiles\n" + ] + } + ], + "source": [ + "!ls -lh ./docs/data/new_york_real_estate_MapPLUTO_data.pmtiles" + ] } ], "metadata": { diff --git a/observablehq.config.js b/observablehq.config.js index 663e9ed..766798a 100644 --- a/observablehq.config.js +++ b/observablehq.config.js @@ -25,4 +25,53 @@ export default { // root: "docs", // path to the source root for preview // output: "dist", // path to the output root for build // search: true, // activate search + header: ` +
+ + + + + + + +
+ + Visualizing and Mapping New York Real Estate + + + View source + +
+
` };