From 05820f99f3dd1c61d599c55151ce14fac13779ce Mon Sep 17 00:00:00 2001 From: Colin Pochart Date: Tue, 26 May 2026 15:12:11 +0200 Subject: [PATCH 01/16] Add Stan code and info file for stochastic volatility model --- .../bibliography/references.bib | 10 +++++ .../info/stochastic_volatility.info.json | 17 +++++++ .../models/stan/stochastic_volatility.stan | 44 +++++++++++++++++++ 3 files changed, 71 insertions(+) create mode 100644 posterior_database/models/info/stochastic_volatility.info.json create mode 100644 posterior_database/models/stan/stochastic_volatility.stan diff --git a/posterior_database/bibliography/references.bib b/posterior_database/bibliography/references.bib index 207d98dc..155ee66d 100644 --- a/posterior_database/bibliography/references.bib +++ b/posterior_database/bibliography/references.bib @@ -314,3 +314,13 @@ @article{crowder1978beta abstract = {Summary A method is proposed for the regression analysis of proportions based on the Beta-binomial distribution.}, year = {1978} } + +@article{hoffman2014nuts, + author = {Hoffman, Matthew D. and Gelman, Andrew}, + title = {The No-U-Turn Sampler: Adaptively Setting Path Lengths in {H}amiltonian {M}onte {C}arlo}, + journal = {Journal of Machine Learning Research}, + year = {2014}, + volume = {15}, + number = {1}, + pages = {1593--1623} +} diff --git a/posterior_database/models/info/stochastic_volatility.info.json b/posterior_database/models/info/stochastic_volatility.info.json new file mode 100644 index 00000000..ee8080bf --- /dev/null +++ b/posterior_database/models/info/stochastic_volatility.info.json @@ -0,0 +1,17 @@ +{ + "name": "stochastic_volatility", + "keywords": ["time_series", "stochastic_volatility", "marginalized"], + "title": "Stochastic Volatility Model with Marginalized Precision", + "description": "Stochastic volatility model from Hoffman & Gelman (2014, NUTS paper, p. 1614-1615). Daily log-returns follow a Student-t distribution with time-varying scale s_i. The log-scale follows a Gaussian random walk with precision tau, which is marginalized analytically. Resulting posterior is (T+1)-dimensional over (s, nu).", + "urls": "https://www.jmlr.org/papers/v15/hoffman14a.html", + "model_implementations": { + "stan": { + "model_code": "models/stan/stochastic_volatility.stan", + "stan_version": ">=2.26.0" + } + }, + "references": "hoffman2014nuts", + "added_date": "2026-05-21", + "added_by": "Colin Pochart", + "licence": "BSD3" +} \ No newline at end of file diff --git a/posterior_database/models/stan/stochastic_volatility.stan b/posterior_database/models/stan/stochastic_volatility.stan new file mode 100644 index 00000000..d20f650e --- /dev/null +++ b/posterior_database/models/stan/stochastic_volatility.stan @@ -0,0 +1,44 @@ +functions { + +} + +data { + intT; //number of days + vector[T] y; //index values of sp500 +} + +transformed data { + vector[T-1] log_returns; // log y_i - log y_{i-1} for i = 2, ..., T + for (i in 2:T) { + log_returns[i-1] = log(y[i]) - log(y[i-1]); + } +} + +parameters { + real nu; // degrees of freedom of Student-t + vector[T] s; // scale parameters at each day +} + +model { + // Prior on nu: Exponential(100) => log p(nu) = -0.01 * nu + const + target += -0.01 * nu; + + // Prior on s[1]: Exponential(100) => log p(s[1]) = -0.01 * s[1] + const + target += -0.01 * s[1]; + + // Likelihood: (log y_i - log y_{i-1}) / s_i ~ t_nu + // Add -log(s_i) for each term because of the Jacobian of standardization. + for (i in 2:T) { + target += student_t_lpdf(log_returns[i-1] | nu, 0, s[i]); + } + + // Term from marginalizing out tau analytically: + // target += -((T + 1) / 2.0) * log(0.01 + 0.5 * sum((log s_i - log s_{i-1})^2)) + { + real sum_sq = 0; + for (i in 2:T) { + sum_sq += square(log(s[i]) - log(s[i-1])); + } + target += -((T + 1) / 2.0) * log(0.01 + 0.5 * sum_sq); + } +} \ No newline at end of file From fc8586c9b309c66e1589bb5ec464ebf0e4182536 Mon Sep 17 00:00:00 2001 From: Colin Pochart Date: Fri, 29 May 2026 10:31:56 +0200 Subject: [PATCH 02/16] Add stochastic volatility data, info, posterior coupling and run script --- .../stochastic_volatility/sp500_raw.csv | 3022 +++++++++++++++++ .../stochastic_volatility.py | 110 + .../data/data/stochastic_volatility.json.zip | Bin 0 -> 12091 bytes .../data/info/stochastic_volatility.info.json | 11 + ...stic_volatility-stochastic_volatility.json | 15 + .../run_reference_stochastic_volatility.py | 278 ++ 6 files changed, 3436 insertions(+) create mode 100644 posterior_database/data/data-raw/stochastic_volatility/sp500_raw.csv create mode 100644 posterior_database/data/data-raw/stochastic_volatility/stochastic_volatility.py create mode 100644 posterior_database/data/data/stochastic_volatility.json.zip create mode 100644 posterior_database/data/info/stochastic_volatility.info.json create mode 100644 posterior_database/posteriors/stochastic_volatility-stochastic_volatility.json create mode 100644 posterior_database/run_reference_stochastic_volatility.py diff --git a/posterior_database/data/data-raw/stochastic_volatility/sp500_raw.csv b/posterior_database/data/data-raw/stochastic_volatility/sp500_raw.csv new file mode 100644 index 00000000..9ac21f6a --- /dev/null +++ b/posterior_database/data/data-raw/stochastic_volatility/sp500_raw.csv @@ -0,0 +1,3022 @@ +Date,Close +2010-01-04,1132.989990234375 +2010-01-05,1136.52001953125 +2010-01-06,1137.1400146484375 +2010-01-07,1141.68994140625 +2010-01-08,1144.97998046875 +2010-01-11,1146.97998046875 +2010-01-12,1136.219970703125 +2010-01-13,1145.6800537109375 +2010-01-14,1148.4599609375 +2010-01-15,1136.030029296875 +2010-01-19,1150.22998046875 +2010-01-20,1138.0400390625 +2010-01-21,1116.47998046875 +2010-01-22,1091.760009765625 +2010-01-25,1096.780029296875 +2010-01-26,1092.1700439453125 +2010-01-27,1097.5 +2010-01-28,1084.530029296875 +2010-01-29,1073.8699951171875 +2010-02-01,1089.18994140625 +2010-02-02,1103.3199462890625 +2010-02-03,1097.280029296875 +2010-02-04,1063.1099853515625 +2010-02-05,1066.18994140625 +2010-02-08,1056.739990234375 +2010-02-09,1070.52001953125 +2010-02-10,1068.1300048828125 +2010-02-11,1078.469970703125 +2010-02-12,1075.510009765625 +2010-02-16,1094.8699951171875 +2010-02-17,1099.510009765625 +2010-02-18,1106.75 +2010-02-19,1109.1700439453125 +2010-02-22,1108.010009765625 +2010-02-23,1094.5999755859375 +2010-02-24,1105.239990234375 +2010-02-25,1102.93994140625 +2010-02-26,1104.489990234375 +2010-03-01,1115.7099609375 +2010-03-02,1118.31005859375 +2010-03-03,1118.7900390625 +2010-03-04,1122.969970703125 +2010-03-05,1138.699951171875 +2010-03-08,1138.5 +2010-03-09,1140.449951171875 +2010-03-10,1145.6099853515625 +2010-03-11,1150.239990234375 +2010-03-12,1149.989990234375 +2010-03-15,1150.510009765625 +2010-03-16,1159.4599609375 +2010-03-17,1166.2099609375 +2010-03-18,1165.8299560546875 +2010-03-19,1159.9000244140625 +2010-03-22,1165.81005859375 +2010-03-23,1174.1700439453125 +2010-03-24,1167.719970703125 +2010-03-25,1165.72998046875 +2010-03-26,1166.5899658203125 +2010-03-29,1173.219970703125 +2010-03-30,1173.27001953125 +2010-03-31,1169.4300537109375 +2010-04-01,1178.0999755859375 +2010-04-05,1187.43994140625 +2010-04-06,1189.43994140625 +2010-04-07,1182.449951171875 +2010-04-08,1186.43994140625 +2010-04-09,1194.3699951171875 +2010-04-12,1196.47998046875 +2010-04-13,1197.300048828125 +2010-04-14,1210.6500244140625 +2010-04-15,1211.6700439453125 +2010-04-16,1192.1300048828125 +2010-04-19,1197.52001953125 +2010-04-20,1207.1700439453125 +2010-04-21,1205.93994140625 +2010-04-22,1208.6700439453125 +2010-04-23,1217.280029296875 +2010-04-26,1212.050048828125 +2010-04-27,1183.7099609375 +2010-04-28,1191.3599853515625 +2010-04-29,1206.780029296875 +2010-04-30,1186.68994140625 +2010-05-03,1202.260009765625 +2010-05-04,1173.5999755859375 +2010-05-05,1165.8699951171875 +2010-05-06,1128.1500244140625 +2010-05-07,1110.8800048828125 +2010-05-10,1159.72998046875 +2010-05-11,1155.7900390625 +2010-05-12,1171.6700439453125 +2010-05-13,1157.43994140625 +2010-05-14,1135.6800537109375 +2010-05-17,1136.93994140625 +2010-05-18,1120.800048828125 +2010-05-19,1115.050048828125 +2010-05-20,1071.5899658203125 +2010-05-21,1087.68994140625 +2010-05-24,1073.6500244140625 +2010-05-25,1074.030029296875 +2010-05-26,1067.949951171875 +2010-05-27,1103.06005859375 +2010-05-28,1089.4100341796875 +2010-06-01,1070.7099609375 +2010-06-02,1098.3800048828125 +2010-06-03,1102.8299560546875 +2010-06-04,1064.8800048828125 +2010-06-07,1050.469970703125 +2010-06-08,1062.0 +2010-06-09,1055.68994140625 +2010-06-10,1086.8399658203125 +2010-06-11,1091.5999755859375 +2010-06-14,1089.6300048828125 +2010-06-15,1115.22998046875 +2010-06-16,1114.6099853515625 +2010-06-17,1116.0400390625 +2010-06-18,1117.510009765625 +2010-06-21,1113.199951171875 +2010-06-22,1095.31005859375 +2010-06-23,1092.0400390625 +2010-06-24,1073.68994140625 +2010-06-25,1076.760009765625 +2010-06-28,1074.5699462890625 +2010-06-29,1041.239990234375 +2010-06-30,1030.7099609375 +2010-07-01,1027.3699951171875 +2010-07-02,1022.5800170898438 +2010-07-06,1028.06005859375 +2010-07-07,1060.27001953125 +2010-07-08,1070.25 +2010-07-09,1077.9599609375 +2010-07-12,1078.75 +2010-07-13,1095.3399658203125 +2010-07-14,1095.1700439453125 +2010-07-15,1096.47998046875 +2010-07-16,1064.8800048828125 +2010-07-19,1071.25 +2010-07-20,1083.47998046875 +2010-07-21,1069.5899658203125 +2010-07-22,1093.6700439453125 +2010-07-23,1102.6600341796875 +2010-07-26,1115.010009765625 +2010-07-27,1113.8399658203125 +2010-07-28,1106.1300048828125 +2010-07-29,1101.530029296875 +2010-07-30,1101.5999755859375 +2010-08-02,1125.8599853515625 +2010-08-03,1120.4599609375 +2010-08-04,1127.239990234375 +2010-08-05,1125.81005859375 +2010-08-06,1121.6400146484375 +2010-08-09,1127.7900390625 +2010-08-10,1121.06005859375 +2010-08-11,1089.469970703125 +2010-08-12,1083.6099853515625 +2010-08-13,1079.25 +2010-08-16,1079.3800048828125 +2010-08-17,1092.5400390625 +2010-08-18,1094.1600341796875 +2010-08-19,1075.6300048828125 +2010-08-20,1071.68994140625 +2010-08-23,1067.3599853515625 +2010-08-24,1051.8699951171875 +2010-08-25,1055.3299560546875 +2010-08-26,1047.219970703125 +2010-08-27,1064.5899658203125 +2010-08-30,1048.9200439453125 +2010-08-31,1049.3299560546875 +2010-09-01,1080.2900390625 +2010-09-02,1090.0999755859375 +2010-09-03,1104.510009765625 +2010-09-07,1091.8399658203125 +2010-09-08,1098.8699951171875 +2010-09-09,1104.1800537109375 +2010-09-10,1109.550048828125 +2010-09-13,1121.9000244140625 +2010-09-14,1121.0999755859375 +2010-09-15,1125.0699462890625 +2010-09-16,1124.6600341796875 +2010-09-17,1125.5899658203125 +2010-09-20,1142.7099609375 +2010-09-21,1139.780029296875 +2010-09-22,1134.280029296875 +2010-09-23,1124.8299560546875 +2010-09-24,1148.6700439453125 +2010-09-27,1142.1600341796875 +2010-09-28,1147.699951171875 +2010-09-29,1144.72998046875 +2010-09-30,1141.199951171875 +2010-10-01,1146.239990234375 +2010-10-04,1137.030029296875 +2010-10-05,1160.75 +2010-10-06,1159.969970703125 +2010-10-07,1158.06005859375 +2010-10-08,1165.1500244140625 +2010-10-11,1165.3199462890625 +2010-10-12,1169.77001953125 +2010-10-13,1178.0999755859375 +2010-10-14,1173.81005859375 +2010-10-15,1176.18994140625 +2010-10-18,1184.7099609375 +2010-10-19,1165.9000244140625 +2010-10-20,1178.1700439453125 +2010-10-21,1180.260009765625 +2010-10-22,1183.0799560546875 +2010-10-25,1185.6199951171875 +2010-10-26,1185.6400146484375 +2010-10-27,1182.449951171875 +2010-10-28,1183.780029296875 +2010-10-29,1183.260009765625 +2010-11-01,1184.3800048828125 +2010-11-02,1193.5699462890625 +2010-11-03,1197.9599609375 +2010-11-04,1221.06005859375 +2010-11-05,1225.8499755859375 +2010-11-08,1223.25 +2010-11-09,1213.4000244140625 +2010-11-10,1218.7099609375 +2010-11-11,1213.5400390625 +2010-11-12,1199.2099609375 +2010-11-15,1197.75 +2010-11-16,1178.3399658203125 +2010-11-17,1178.5899658203125 +2010-11-18,1196.68994140625 +2010-11-19,1199.72998046875 +2010-11-22,1197.8399658203125 +2010-11-23,1180.72998046875 +2010-11-24,1198.3499755859375 +2010-11-26,1189.4000244140625 +2010-11-29,1187.760009765625 +2010-11-30,1180.550048828125 +2010-12-01,1206.0699462890625 +2010-12-02,1221.530029296875 +2010-12-03,1224.7099609375 +2010-12-06,1223.1199951171875 +2010-12-07,1223.75 +2010-12-08,1228.280029296875 +2010-12-09,1233.0 +2010-12-10,1240.4000244140625 +2010-12-13,1240.4599609375 +2010-12-14,1241.5899658203125 +2010-12-15,1235.22998046875 +2010-12-16,1242.8699951171875 +2010-12-17,1243.9100341796875 +2010-12-20,1247.0799560546875 +2010-12-21,1254.5999755859375 +2010-12-22,1258.8399658203125 +2010-12-23,1256.77001953125 +2010-12-27,1257.5400390625 +2010-12-28,1258.510009765625 +2010-12-29,1259.780029296875 +2010-12-30,1257.8800048828125 +2010-12-31,1257.6400146484375 +2011-01-03,1271.8699951171875 +2011-01-04,1270.199951171875 +2011-01-05,1276.56005859375 +2011-01-06,1273.8499755859375 +2011-01-07,1271.5 +2011-01-10,1269.75 +2011-01-11,1274.47998046875 +2011-01-12,1285.9599609375 +2011-01-13,1283.760009765625 +2011-01-14,1293.239990234375 +2011-01-18,1295.02001953125 +2011-01-19,1281.9200439453125 +2011-01-20,1280.260009765625 +2011-01-21,1283.3499755859375 +2011-01-24,1290.8399658203125 +2011-01-25,1291.1800537109375 +2011-01-26,1296.6300048828125 +2011-01-27,1299.5400390625 +2011-01-28,1276.3399658203125 +2011-01-31,1286.1199951171875 +2011-02-01,1307.5899658203125 +2011-02-02,1304.030029296875 +2011-02-03,1307.0999755859375 +2011-02-04,1310.8699951171875 +2011-02-07,1319.050048828125 +2011-02-08,1324.5699462890625 +2011-02-09,1320.8800048828125 +2011-02-10,1321.8699951171875 +2011-02-11,1329.1500244140625 +2011-02-14,1332.3199462890625 +2011-02-15,1328.010009765625 +2011-02-16,1336.3199462890625 +2011-02-17,1340.4300537109375 +2011-02-18,1343.010009765625 +2011-02-22,1315.43994140625 +2011-02-23,1307.4000244140625 +2011-02-24,1306.0999755859375 +2011-02-25,1319.8800048828125 +2011-02-28,1327.219970703125 +2011-03-01,1306.3299560546875 +2011-03-02,1308.43994140625 +2011-03-03,1330.969970703125 +2011-03-04,1321.1500244140625 +2011-03-07,1310.1300048828125 +2011-03-08,1321.8199462890625 +2011-03-09,1320.02001953125 +2011-03-10,1295.1099853515625 +2011-03-11,1304.280029296875 +2011-03-14,1296.3900146484375 +2011-03-15,1281.8699951171875 +2011-03-16,1256.8800048828125 +2011-03-17,1273.719970703125 +2011-03-18,1279.2099609375 +2011-03-21,1298.3800048828125 +2011-03-22,1293.77001953125 +2011-03-23,1297.5400390625 +2011-03-24,1309.6600341796875 +2011-03-25,1313.800048828125 +2011-03-28,1310.18994140625 +2011-03-29,1319.43994140625 +2011-03-30,1328.260009765625 +2011-03-31,1325.8299560546875 +2011-04-01,1332.4100341796875 +2011-04-04,1332.8699951171875 +2011-04-05,1332.6300048828125 +2011-04-06,1335.5400390625 +2011-04-07,1333.510009765625 +2011-04-08,1328.1700439453125 +2011-04-11,1324.4599609375 +2011-04-12,1314.1600341796875 +2011-04-13,1314.4100341796875 +2011-04-14,1314.52001953125 +2011-04-15,1319.6800537109375 +2011-04-18,1305.1400146484375 +2011-04-19,1312.6199951171875 +2011-04-20,1330.3599853515625 +2011-04-21,1337.3800048828125 +2011-04-25,1335.25 +2011-04-26,1347.239990234375 +2011-04-27,1355.6600341796875 +2011-04-28,1360.47998046875 +2011-04-29,1363.6099853515625 +2011-05-02,1361.219970703125 +2011-05-03,1356.6199951171875 +2011-05-04,1347.3199462890625 +2011-05-05,1335.0999755859375 +2011-05-06,1340.199951171875 +2011-05-09,1346.2900390625 +2011-05-10,1357.1600341796875 +2011-05-11,1342.0799560546875 +2011-05-12,1348.6500244140625 +2011-05-13,1337.77001953125 +2011-05-16,1329.469970703125 +2011-05-17,1328.97998046875 +2011-05-18,1340.6800537109375 +2011-05-19,1343.5999755859375 +2011-05-20,1333.27001953125 +2011-05-23,1317.3699951171875 +2011-05-24,1316.280029296875 +2011-05-25,1320.469970703125 +2011-05-26,1325.68994140625 +2011-05-27,1331.0999755859375 +2011-05-31,1345.199951171875 +2011-06-01,1314.550048828125 +2011-06-02,1312.93994140625 +2011-06-03,1300.1600341796875 +2011-06-06,1286.1700439453125 +2011-06-07,1284.93994140625 +2011-06-08,1279.56005859375 +2011-06-09,1289.0 +2011-06-10,1270.97998046875 +2011-06-13,1271.8299560546875 +2011-06-14,1287.8699951171875 +2011-06-15,1265.4200439453125 +2011-06-16,1267.6400146484375 +2011-06-17,1271.5 +2011-06-20,1278.3599853515625 +2011-06-21,1295.52001953125 +2011-06-22,1287.1400146484375 +2011-06-23,1283.5 +2011-06-24,1268.449951171875 +2011-06-27,1280.0999755859375 +2011-06-28,1296.6700439453125 +2011-06-29,1307.4100341796875 +2011-06-30,1320.6400146484375 +2011-07-01,1339.6700439453125 +2011-07-05,1337.8800048828125 +2011-07-06,1339.219970703125 +2011-07-07,1353.219970703125 +2011-07-08,1343.800048828125 +2011-07-11,1319.489990234375 +2011-07-12,1313.6400146484375 +2011-07-13,1317.719970703125 +2011-07-14,1308.8699951171875 +2011-07-15,1316.1400146484375 +2011-07-18,1305.43994140625 +2011-07-19,1326.72998046875 +2011-07-20,1325.8399658203125 +2011-07-21,1343.800048828125 +2011-07-22,1345.02001953125 +2011-07-25,1337.4300537109375 +2011-07-26,1331.93994140625 +2011-07-27,1304.8900146484375 +2011-07-28,1300.6700439453125 +2011-07-29,1292.280029296875 +2011-08-01,1286.93994140625 +2011-08-02,1254.050048828125 +2011-08-03,1260.3399658203125 +2011-08-04,1200.0699462890625 +2011-08-05,1199.3800048828125 +2011-08-08,1119.4599609375 +2011-08-09,1172.530029296875 +2011-08-10,1120.760009765625 +2011-08-11,1172.6400146484375 +2011-08-12,1178.81005859375 +2011-08-15,1204.489990234375 +2011-08-16,1192.760009765625 +2011-08-17,1193.8900146484375 +2011-08-18,1140.6500244140625 +2011-08-19,1123.530029296875 +2011-08-22,1123.8199462890625 +2011-08-23,1162.3499755859375 +2011-08-24,1177.5999755859375 +2011-08-25,1159.27001953125 +2011-08-26,1176.800048828125 +2011-08-29,1210.0799560546875 +2011-08-30,1212.9200439453125 +2011-08-31,1218.8900146484375 +2011-09-01,1204.4200439453125 +2011-09-02,1173.969970703125 +2011-09-06,1165.239990234375 +2011-09-07,1198.6199951171875 +2011-09-08,1185.9000244140625 +2011-09-09,1154.22998046875 +2011-09-12,1162.27001953125 +2011-09-13,1172.8699951171875 +2011-09-14,1188.6800537109375 +2011-09-15,1209.1099853515625 +2011-09-16,1216.010009765625 +2011-09-19,1204.0899658203125 +2011-09-20,1202.0899658203125 +2011-09-21,1166.760009765625 +2011-09-22,1129.56005859375 +2011-09-23,1136.4300537109375 +2011-09-26,1162.949951171875 +2011-09-27,1175.3800048828125 +2011-09-28,1151.06005859375 +2011-09-29,1160.4000244140625 +2011-09-30,1131.4200439453125 +2011-10-03,1099.22998046875 +2011-10-04,1123.949951171875 +2011-10-05,1144.030029296875 +2011-10-06,1164.969970703125 +2011-10-07,1155.4599609375 +2011-10-10,1194.8900146484375 +2011-10-11,1195.5400390625 +2011-10-12,1207.25 +2011-10-13,1203.6600341796875 +2011-10-14,1224.5799560546875 +2011-10-17,1200.8599853515625 +2011-10-18,1225.3800048828125 +2011-10-19,1209.8800048828125 +2011-10-20,1215.3900146484375 +2011-10-21,1238.25 +2011-10-24,1254.18994140625 +2011-10-25,1229.050048828125 +2011-10-26,1242.0 +2011-10-27,1284.5899658203125 +2011-10-28,1285.0899658203125 +2011-10-31,1253.300048828125 +2011-11-01,1218.280029296875 +2011-11-02,1237.9000244140625 +2011-11-03,1261.1500244140625 +2011-11-04,1253.22998046875 +2011-11-07,1261.1199951171875 +2011-11-08,1275.9200439453125 +2011-11-09,1229.0999755859375 +2011-11-10,1239.699951171875 +2011-11-11,1263.8499755859375 +2011-11-14,1251.780029296875 +2011-11-15,1257.81005859375 +2011-11-16,1236.9100341796875 +2011-11-17,1216.1300048828125 +2011-11-18,1215.6500244140625 +2011-11-21,1192.97998046875 +2011-11-22,1188.0400390625 +2011-11-23,1161.7900390625 +2011-11-25,1158.6700439453125 +2011-11-28,1192.550048828125 +2011-11-29,1195.18994140625 +2011-11-30,1246.9599609375 +2011-12-01,1244.5799560546875 +2011-12-02,1244.280029296875 +2011-12-05,1257.0799560546875 +2011-12-06,1258.469970703125 +2011-12-07,1261.010009765625 +2011-12-08,1234.3499755859375 +2011-12-09,1255.18994140625 +2011-12-12,1236.469970703125 +2011-12-13,1225.72998046875 +2011-12-14,1211.8199462890625 +2011-12-15,1215.75 +2011-12-16,1219.6600341796875 +2011-12-19,1205.3499755859375 +2011-12-20,1241.300048828125 +2011-12-21,1243.719970703125 +2011-12-22,1254.0 +2011-12-23,1265.3299560546875 +2011-12-27,1265.4300537109375 +2011-12-28,1249.6400146484375 +2011-12-29,1263.02001953125 +2011-12-30,1257.5999755859375 +2012-01-03,1277.06005859375 +2012-01-04,1277.300048828125 +2012-01-05,1281.06005859375 +2012-01-06,1277.81005859375 +2012-01-09,1280.699951171875 +2012-01-10,1292.0799560546875 +2012-01-11,1292.47998046875 +2012-01-12,1295.5 +2012-01-13,1289.0899658203125 +2012-01-17,1293.6700439453125 +2012-01-18,1308.0400390625 +2012-01-19,1314.5 +2012-01-20,1315.3800048828125 +2012-01-23,1316.0 +2012-01-24,1314.6500244140625 +2012-01-25,1326.06005859375 +2012-01-26,1318.4300537109375 +2012-01-27,1316.3299560546875 +2012-01-30,1313.010009765625 +2012-01-31,1312.4100341796875 +2012-02-01,1324.0899658203125 +2012-02-02,1325.5400390625 +2012-02-03,1344.9000244140625 +2012-02-06,1344.3299560546875 +2012-02-07,1347.050048828125 +2012-02-08,1349.9599609375 +2012-02-09,1351.949951171875 +2012-02-10,1342.6400146484375 +2012-02-13,1351.77001953125 +2012-02-14,1350.5 +2012-02-15,1343.22998046875 +2012-02-16,1358.0400390625 +2012-02-17,1361.22998046875 +2012-02-21,1362.2099609375 +2012-02-22,1357.6600341796875 +2012-02-23,1363.4599609375 +2012-02-24,1365.739990234375 +2012-02-27,1367.5899658203125 +2012-02-28,1372.1800537109375 +2012-02-29,1365.6800537109375 +2012-03-01,1374.0899658203125 +2012-03-02,1369.6300048828125 +2012-03-05,1364.3299560546875 +2012-03-06,1343.3599853515625 +2012-03-07,1352.6300048828125 +2012-03-08,1365.9100341796875 +2012-03-09,1370.8699951171875 +2012-03-12,1371.0899658203125 +2012-03-13,1395.949951171875 +2012-03-14,1394.280029296875 +2012-03-15,1402.5999755859375 +2012-03-16,1404.1700439453125 +2012-03-19,1409.75 +2012-03-20,1405.52001953125 +2012-03-21,1402.8900146484375 +2012-03-22,1392.780029296875 +2012-03-23,1397.1099853515625 +2012-03-26,1416.510009765625 +2012-03-27,1412.52001953125 +2012-03-28,1405.5400390625 +2012-03-29,1403.280029296875 +2012-03-30,1408.469970703125 +2012-04-02,1419.0400390625 +2012-04-03,1413.3800048828125 +2012-04-04,1398.9599609375 +2012-04-05,1398.0799560546875 +2012-04-09,1382.199951171875 +2012-04-10,1358.5899658203125 +2012-04-11,1368.7099609375 +2012-04-12,1387.5699462890625 +2012-04-13,1370.260009765625 +2012-04-16,1369.5699462890625 +2012-04-17,1390.780029296875 +2012-04-18,1385.1400146484375 +2012-04-19,1376.9200439453125 +2012-04-20,1378.530029296875 +2012-04-23,1366.93994140625 +2012-04-24,1371.969970703125 +2012-04-25,1390.68994140625 +2012-04-26,1399.97998046875 +2012-04-27,1403.3599853515625 +2012-04-30,1397.9100341796875 +2012-05-01,1405.8199462890625 +2012-05-02,1402.31005859375 +2012-05-03,1391.5699462890625 +2012-05-04,1369.0999755859375 +2012-05-07,1369.5799560546875 +2012-05-08,1363.719970703125 +2012-05-09,1354.5799560546875 +2012-05-10,1357.989990234375 +2012-05-11,1353.3900146484375 +2012-05-14,1338.3499755859375 +2012-05-15,1330.6600341796875 +2012-05-16,1324.800048828125 +2012-05-17,1304.8599853515625 +2012-05-18,1295.219970703125 +2012-05-21,1315.989990234375 +2012-05-22,1316.6300048828125 +2012-05-23,1318.8599853515625 +2012-05-24,1320.6800537109375 +2012-05-25,1317.8199462890625 +2012-05-29,1332.4200439453125 +2012-05-30,1313.3199462890625 +2012-05-31,1310.3299560546875 +2012-06-01,1278.0400390625 +2012-06-04,1278.1800537109375 +2012-06-05,1285.5 +2012-06-06,1315.1300048828125 +2012-06-07,1314.989990234375 +2012-06-08,1325.6600341796875 +2012-06-11,1308.9300537109375 +2012-06-12,1324.1800537109375 +2012-06-13,1314.8800048828125 +2012-06-14,1329.0999755859375 +2012-06-15,1342.8399658203125 +2012-06-18,1344.780029296875 +2012-06-19,1357.97998046875 +2012-06-20,1355.68994140625 +2012-06-21,1325.510009765625 +2012-06-22,1335.02001953125 +2012-06-25,1313.719970703125 +2012-06-26,1319.989990234375 +2012-06-27,1331.8499755859375 +2012-06-28,1329.0400390625 +2012-06-29,1362.1600341796875 +2012-07-02,1365.510009765625 +2012-07-03,1374.02001953125 +2012-07-05,1367.5799560546875 +2012-07-06,1354.6800537109375 +2012-07-09,1352.4599609375 +2012-07-10,1341.469970703125 +2012-07-11,1341.449951171875 +2012-07-12,1334.760009765625 +2012-07-13,1356.780029296875 +2012-07-16,1353.6400146484375 +2012-07-17,1363.6700439453125 +2012-07-18,1372.780029296875 +2012-07-19,1376.510009765625 +2012-07-20,1362.6600341796875 +2012-07-23,1350.52001953125 +2012-07-24,1338.31005859375 +2012-07-25,1337.8900146484375 +2012-07-26,1360.02001953125 +2012-07-27,1385.969970703125 +2012-07-30,1385.300048828125 +2012-07-31,1379.3199462890625 +2012-08-01,1375.3199462890625 +2012-08-02,1365.0 +2012-08-03,1390.989990234375 +2012-08-06,1394.22998046875 +2012-08-07,1401.3499755859375 +2012-08-08,1402.219970703125 +2012-08-09,1402.800048828125 +2012-08-10,1405.8699951171875 +2012-08-13,1404.1099853515625 +2012-08-14,1403.9300537109375 +2012-08-15,1405.530029296875 +2012-08-16,1415.510009765625 +2012-08-17,1418.1600341796875 +2012-08-20,1418.1300048828125 +2012-08-21,1413.1700439453125 +2012-08-22,1413.489990234375 +2012-08-23,1402.0799560546875 +2012-08-24,1411.1300048828125 +2012-08-27,1410.43994140625 +2012-08-28,1409.300048828125 +2012-08-29,1410.489990234375 +2012-08-30,1399.47998046875 +2012-08-31,1406.5799560546875 +2012-09-04,1404.93994140625 +2012-09-05,1403.43994140625 +2012-09-06,1432.1199951171875 +2012-09-07,1437.9200439453125 +2012-09-10,1429.0799560546875 +2012-09-11,1433.56005859375 +2012-09-12,1436.56005859375 +2012-09-13,1459.989990234375 +2012-09-14,1465.77001953125 +2012-09-17,1461.18994140625 +2012-09-18,1459.3199462890625 +2012-09-19,1461.050048828125 +2012-09-20,1460.260009765625 +2012-09-21,1460.1500244140625 +2012-09-24,1456.8900146484375 +2012-09-25,1441.5899658203125 +2012-09-26,1433.3199462890625 +2012-09-27,1447.1500244140625 +2012-09-28,1440.6700439453125 +2012-10-01,1444.489990234375 +2012-10-02,1445.75 +2012-10-03,1450.989990234375 +2012-10-04,1461.4000244140625 +2012-10-05,1460.9300537109375 +2012-10-08,1455.8800048828125 +2012-10-09,1441.47998046875 +2012-10-10,1432.56005859375 +2012-10-11,1432.8399658203125 +2012-10-12,1428.5899658203125 +2012-10-15,1440.1300048828125 +2012-10-16,1454.9200439453125 +2012-10-17,1460.9100341796875 +2012-10-18,1457.3399658203125 +2012-10-19,1433.18994140625 +2012-10-22,1433.8199462890625 +2012-10-23,1413.1099853515625 +2012-10-24,1408.75 +2012-10-25,1412.969970703125 +2012-10-26,1411.93994140625 +2012-10-31,1412.1600341796875 +2012-11-01,1427.5899658203125 +2012-11-02,1414.199951171875 +2012-11-05,1417.260009765625 +2012-11-06,1428.3900146484375 +2012-11-07,1394.530029296875 +2012-11-08,1377.510009765625 +2012-11-09,1379.8499755859375 +2012-11-12,1380.030029296875 +2012-11-13,1374.530029296875 +2012-11-14,1355.489990234375 +2012-11-15,1353.3299560546875 +2012-11-16,1359.8800048828125 +2012-11-19,1386.8900146484375 +2012-11-20,1387.81005859375 +2012-11-21,1391.030029296875 +2012-11-23,1409.1500244140625 +2012-11-26,1406.2900390625 +2012-11-27,1398.93994140625 +2012-11-28,1409.9300537109375 +2012-11-29,1415.949951171875 +2012-11-30,1416.1800537109375 +2012-12-03,1409.4599609375 +2012-12-04,1407.050048828125 +2012-12-05,1409.280029296875 +2012-12-06,1413.93994140625 +2012-12-07,1418.0699462890625 +2012-12-10,1418.550048828125 +2012-12-11,1427.8399658203125 +2012-12-12,1428.47998046875 +2012-12-13,1419.449951171875 +2012-12-14,1413.5799560546875 +2012-12-17,1430.3599853515625 +2012-12-18,1446.7900390625 +2012-12-19,1435.81005859375 +2012-12-20,1443.68994140625 +2012-12-21,1430.1500244140625 +2012-12-24,1426.6600341796875 +2012-12-26,1419.8299560546875 +2012-12-27,1418.0999755859375 +2012-12-28,1402.4300537109375 +2012-12-31,1426.18994140625 +2013-01-02,1462.4200439453125 +2013-01-03,1459.3699951171875 +2013-01-04,1466.469970703125 +2013-01-07,1461.8900146484375 +2013-01-08,1457.1500244140625 +2013-01-09,1461.02001953125 +2013-01-10,1472.1199951171875 +2013-01-11,1472.050048828125 +2013-01-14,1470.6800537109375 +2013-01-15,1472.3399658203125 +2013-01-16,1472.6300048828125 +2013-01-17,1480.93994140625 +2013-01-18,1485.97998046875 +2013-01-22,1492.56005859375 +2013-01-23,1494.81005859375 +2013-01-24,1494.8199462890625 +2013-01-25,1502.9599609375 +2013-01-28,1500.1800537109375 +2013-01-29,1507.8399658203125 +2013-01-30,1501.9599609375 +2013-01-31,1498.1099853515625 +2013-02-01,1513.1700439453125 +2013-02-04,1495.7099609375 +2013-02-05,1511.2900390625 +2013-02-06,1512.1199951171875 +2013-02-07,1509.3900146484375 +2013-02-08,1517.9300537109375 +2013-02-11,1517.010009765625 +2013-02-12,1519.4300537109375 +2013-02-13,1520.3299560546875 +2013-02-14,1521.3800048828125 +2013-02-15,1519.7900390625 +2013-02-19,1530.93994140625 +2013-02-20,1511.949951171875 +2013-02-21,1502.4200439453125 +2013-02-22,1515.5999755859375 +2013-02-25,1487.8499755859375 +2013-02-26,1496.93994140625 +2013-02-27,1515.989990234375 +2013-02-28,1514.6800537109375 +2013-03-01,1518.199951171875 +2013-03-04,1525.199951171875 +2013-03-05,1539.7900390625 +2013-03-06,1541.4599609375 +2013-03-07,1544.260009765625 +2013-03-08,1551.1800537109375 +2013-03-11,1556.219970703125 +2013-03-12,1552.47998046875 +2013-03-13,1554.52001953125 +2013-03-14,1563.22998046875 +2013-03-15,1560.699951171875 +2013-03-18,1552.0999755859375 +2013-03-19,1548.3399658203125 +2013-03-20,1558.7099609375 +2013-03-21,1545.800048828125 +2013-03-22,1556.8900146484375 +2013-03-25,1551.68994140625 +2013-03-26,1563.77001953125 +2013-03-27,1562.8499755859375 +2013-03-28,1569.18994140625 +2013-04-01,1562.1700439453125 +2013-04-02,1570.25 +2013-04-03,1553.68994140625 +2013-04-04,1559.97998046875 +2013-04-05,1553.280029296875 +2013-04-08,1563.0699462890625 +2013-04-09,1568.6099853515625 +2013-04-10,1587.72998046875 +2013-04-11,1593.3699951171875 +2013-04-12,1588.8499755859375 +2013-04-15,1552.3599853515625 +2013-04-16,1574.5699462890625 +2013-04-17,1552.010009765625 +2013-04-18,1541.6099853515625 +2013-04-19,1555.25 +2013-04-22,1562.5 +2013-04-23,1578.780029296875 +2013-04-24,1578.7900390625 +2013-04-25,1585.1600341796875 +2013-04-26,1582.239990234375 +2013-04-29,1593.6099853515625 +2013-04-30,1597.5699462890625 +2013-05-01,1582.699951171875 +2013-05-02,1597.5899658203125 +2013-05-03,1614.4200439453125 +2013-05-06,1617.5 +2013-05-07,1625.9599609375 +2013-05-08,1632.68994140625 +2013-05-09,1626.6700439453125 +2013-05-10,1633.699951171875 +2013-05-13,1633.77001953125 +2013-05-14,1650.3399658203125 +2013-05-15,1658.780029296875 +2013-05-16,1650.469970703125 +2013-05-17,1667.469970703125 +2013-05-20,1666.2900390625 +2013-05-21,1669.1600341796875 +2013-05-22,1655.3499755859375 +2013-05-23,1650.510009765625 +2013-05-24,1649.5999755859375 +2013-05-28,1660.06005859375 +2013-05-29,1648.3599853515625 +2013-05-30,1654.4100341796875 +2013-05-31,1630.739990234375 +2013-06-03,1640.4200439453125 +2013-06-04,1631.3800048828125 +2013-06-05,1608.9000244140625 +2013-06-06,1622.56005859375 +2013-06-07,1643.3800048828125 +2013-06-10,1642.81005859375 +2013-06-11,1626.1300048828125 +2013-06-12,1612.52001953125 +2013-06-13,1636.3599853515625 +2013-06-14,1626.72998046875 +2013-06-17,1639.0400390625 +2013-06-18,1651.81005859375 +2013-06-19,1628.9300537109375 +2013-06-20,1588.18994140625 +2013-06-21,1592.4300537109375 +2013-06-24,1573.0899658203125 +2013-06-25,1588.030029296875 +2013-06-26,1603.260009765625 +2013-06-27,1613.199951171875 +2013-06-28,1606.280029296875 +2013-07-01,1614.9599609375 +2013-07-02,1614.0799560546875 +2013-07-03,1615.4100341796875 +2013-07-05,1631.8900146484375 +2013-07-08,1640.4599609375 +2013-07-09,1652.3199462890625 +2013-07-10,1652.6199951171875 +2013-07-11,1675.02001953125 +2013-07-12,1680.18994140625 +2013-07-15,1682.5 +2013-07-16,1676.260009765625 +2013-07-17,1680.9100341796875 +2013-07-18,1689.3699951171875 +2013-07-19,1692.0899658203125 +2013-07-22,1695.530029296875 +2013-07-23,1692.3900146484375 +2013-07-24,1685.93994140625 +2013-07-25,1690.25 +2013-07-26,1691.6500244140625 +2013-07-29,1685.3299560546875 +2013-07-30,1685.9599609375 +2013-07-31,1685.72998046875 +2013-08-01,1706.8699951171875 +2013-08-02,1709.6700439453125 +2013-08-05,1707.1400146484375 +2013-08-06,1697.3699951171875 +2013-08-07,1690.9100341796875 +2013-08-08,1697.47998046875 +2013-08-09,1691.4200439453125 +2013-08-12,1689.469970703125 +2013-08-13,1694.1600341796875 +2013-08-14,1685.3900146484375 +2013-08-15,1661.3199462890625 +2013-08-16,1655.8299560546875 +2013-08-19,1646.06005859375 +2013-08-20,1652.3499755859375 +2013-08-21,1642.800048828125 +2013-08-22,1656.9599609375 +2013-08-23,1663.5 +2013-08-26,1656.780029296875 +2013-08-27,1630.47998046875 +2013-08-28,1634.9599609375 +2013-08-29,1638.1700439453125 +2013-08-30,1632.969970703125 +2013-09-03,1639.77001953125 +2013-09-04,1653.0799560546875 +2013-09-05,1655.0799560546875 +2013-09-06,1655.1700439453125 +2013-09-09,1671.7099609375 +2013-09-10,1683.989990234375 +2013-09-11,1689.1300048828125 +2013-09-12,1683.4200439453125 +2013-09-13,1687.989990234375 +2013-09-16,1697.5999755859375 +2013-09-17,1704.760009765625 +2013-09-18,1725.52001953125 +2013-09-19,1722.3399658203125 +2013-09-20,1709.9100341796875 +2013-09-23,1701.8399658203125 +2013-09-24,1697.4200439453125 +2013-09-25,1692.77001953125 +2013-09-26,1698.6700439453125 +2013-09-27,1691.75 +2013-09-30,1681.550048828125 +2013-10-01,1695.0 +2013-10-02,1693.8699951171875 +2013-10-03,1678.6600341796875 +2013-10-04,1690.5 +2013-10-07,1676.1199951171875 +2013-10-08,1655.449951171875 +2013-10-09,1656.4000244140625 +2013-10-10,1692.56005859375 +2013-10-11,1703.199951171875 +2013-10-14,1710.1400146484375 +2013-10-15,1698.06005859375 +2013-10-16,1721.5400390625 +2013-10-17,1733.1500244140625 +2013-10-18,1744.5 +2013-10-21,1744.6600341796875 +2013-10-22,1754.6700439453125 +2013-10-23,1746.3800048828125 +2013-10-24,1752.0699462890625 +2013-10-25,1759.77001953125 +2013-10-28,1762.1099853515625 +2013-10-29,1771.949951171875 +2013-10-30,1763.31005859375 +2013-10-31,1756.5400390625 +2013-11-01,1761.6400146484375 +2013-11-04,1767.9300537109375 +2013-11-05,1762.969970703125 +2013-11-06,1770.489990234375 +2013-11-07,1747.1500244140625 +2013-11-08,1770.6099853515625 +2013-11-11,1771.8900146484375 +2013-11-12,1767.68994140625 +2013-11-13,1782.0 +2013-11-14,1790.6199951171875 +2013-11-15,1798.1800537109375 +2013-11-18,1791.530029296875 +2013-11-19,1787.8699951171875 +2013-11-20,1781.3699951171875 +2013-11-21,1795.8499755859375 +2013-11-22,1804.760009765625 +2013-11-25,1802.47998046875 +2013-11-26,1802.75 +2013-11-27,1807.22998046875 +2013-11-29,1805.81005859375 +2013-12-02,1800.9000244140625 +2013-12-03,1795.1500244140625 +2013-12-04,1792.81005859375 +2013-12-05,1785.030029296875 +2013-12-06,1805.0899658203125 +2013-12-09,1808.3699951171875 +2013-12-10,1802.6199951171875 +2013-12-11,1782.219970703125 +2013-12-12,1775.5 +2013-12-13,1775.3199462890625 +2013-12-16,1786.5400390625 +2013-12-17,1781.0 +2013-12-18,1810.6500244140625 +2013-12-19,1809.5999755859375 +2013-12-20,1818.3199462890625 +2013-12-23,1827.989990234375 +2013-12-24,1833.3199462890625 +2013-12-26,1842.02001953125 +2013-12-27,1841.4000244140625 +2013-12-30,1841.0699462890625 +2013-12-31,1848.3599853515625 +2014-01-02,1831.97998046875 +2014-01-03,1831.3699951171875 +2014-01-06,1826.77001953125 +2014-01-07,1837.8800048828125 +2014-01-08,1837.489990234375 +2014-01-09,1838.1300048828125 +2014-01-10,1842.3699951171875 +2014-01-13,1819.199951171875 +2014-01-14,1838.8800048828125 +2014-01-15,1848.3800048828125 +2014-01-16,1845.8900146484375 +2014-01-17,1838.699951171875 +2014-01-21,1843.800048828125 +2014-01-22,1844.8599853515625 +2014-01-23,1828.4599609375 +2014-01-24,1790.2900390625 +2014-01-27,1781.56005859375 +2014-01-28,1792.5 +2014-01-29,1774.199951171875 +2014-01-30,1794.18994140625 +2014-01-31,1782.5899658203125 +2014-02-03,1741.8900146484375 +2014-02-04,1755.199951171875 +2014-02-05,1751.6400146484375 +2014-02-06,1773.4300537109375 +2014-02-07,1797.02001953125 +2014-02-10,1799.8399658203125 +2014-02-11,1819.75 +2014-02-12,1819.260009765625 +2014-02-13,1829.8299560546875 +2014-02-14,1838.6300048828125 +2014-02-18,1840.760009765625 +2014-02-19,1828.75 +2014-02-20,1839.780029296875 +2014-02-21,1836.25 +2014-02-24,1847.6099853515625 +2014-02-25,1845.1199951171875 +2014-02-26,1845.1600341796875 +2014-02-27,1854.2900390625 +2014-02-28,1859.449951171875 +2014-03-03,1845.72998046875 +2014-03-04,1873.9100341796875 +2014-03-05,1873.81005859375 +2014-03-06,1877.030029296875 +2014-03-07,1878.0400390625 +2014-03-10,1877.1700439453125 +2014-03-11,1867.6300048828125 +2014-03-12,1868.199951171875 +2014-03-13,1846.3399658203125 +2014-03-14,1841.1300048828125 +2014-03-17,1858.8299560546875 +2014-03-18,1872.25 +2014-03-19,1860.77001953125 +2014-03-20,1872.010009765625 +2014-03-21,1866.52001953125 +2014-03-24,1857.43994140625 +2014-03-25,1865.6199951171875 +2014-03-26,1852.56005859375 +2014-03-27,1849.0400390625 +2014-03-28,1857.6199951171875 +2014-03-31,1872.3399658203125 +2014-04-01,1885.52001953125 +2014-04-02,1890.9000244140625 +2014-04-03,1888.77001953125 +2014-04-04,1865.0899658203125 +2014-04-07,1845.0400390625 +2014-04-08,1851.9599609375 +2014-04-09,1872.1800537109375 +2014-04-10,1833.0799560546875 +2014-04-11,1815.68994140625 +2014-04-14,1830.6099853515625 +2014-04-15,1842.97998046875 +2014-04-16,1862.31005859375 +2014-04-17,1864.8499755859375 +2014-04-21,1871.8900146484375 +2014-04-22,1879.550048828125 +2014-04-23,1875.3900146484375 +2014-04-24,1878.6099853515625 +2014-04-25,1863.4000244140625 +2014-04-28,1869.4300537109375 +2014-04-29,1878.3299560546875 +2014-04-30,1883.949951171875 +2014-05-01,1883.6800537109375 +2014-05-02,1881.1400146484375 +2014-05-05,1884.6600341796875 +2014-05-06,1867.719970703125 +2014-05-07,1878.2099609375 +2014-05-08,1875.6300048828125 +2014-05-09,1878.47998046875 +2014-05-12,1896.6500244140625 +2014-05-13,1897.449951171875 +2014-05-14,1888.530029296875 +2014-05-15,1870.8499755859375 +2014-05-16,1877.8599853515625 +2014-05-19,1885.0799560546875 +2014-05-20,1872.8299560546875 +2014-05-21,1888.030029296875 +2014-05-22,1892.489990234375 +2014-05-23,1900.530029296875 +2014-05-27,1911.9100341796875 +2014-05-28,1909.780029296875 +2014-05-29,1920.030029296875 +2014-05-30,1923.5699462890625 +2014-06-02,1924.969970703125 +2014-06-03,1924.239990234375 +2014-06-04,1927.8800048828125 +2014-06-05,1940.4599609375 +2014-06-06,1949.43994140625 +2014-06-09,1951.27001953125 +2014-06-10,1950.7900390625 +2014-06-11,1943.8900146484375 +2014-06-12,1930.1099853515625 +2014-06-13,1936.1600341796875 +2014-06-16,1937.780029296875 +2014-06-17,1941.989990234375 +2014-06-18,1956.97998046875 +2014-06-19,1959.47998046875 +2014-06-20,1962.8699951171875 +2014-06-23,1962.6099853515625 +2014-06-24,1949.97998046875 +2014-06-25,1959.530029296875 +2014-06-26,1957.219970703125 +2014-06-27,1960.9599609375 +2014-06-30,1960.22998046875 +2014-07-01,1973.3199462890625 +2014-07-02,1974.6199951171875 +2014-07-03,1985.43994140625 +2014-07-07,1977.6500244140625 +2014-07-08,1963.7099609375 +2014-07-09,1972.8299560546875 +2014-07-10,1964.6800537109375 +2014-07-11,1967.5699462890625 +2014-07-14,1977.0999755859375 +2014-07-15,1973.280029296875 +2014-07-16,1981.5699462890625 +2014-07-17,1958.1199951171875 +2014-07-18,1978.219970703125 +2014-07-21,1973.6300048828125 +2014-07-22,1983.530029296875 +2014-07-23,1987.010009765625 +2014-07-24,1987.97998046875 +2014-07-25,1978.3399658203125 +2014-07-28,1978.9100341796875 +2014-07-29,1969.949951171875 +2014-07-30,1970.0699462890625 +2014-07-31,1930.6700439453125 +2014-08-01,1925.1500244140625 +2014-08-04,1938.989990234375 +2014-08-05,1920.2099609375 +2014-08-06,1920.239990234375 +2014-08-07,1909.5699462890625 +2014-08-08,1931.5899658203125 +2014-08-11,1936.9200439453125 +2014-08-12,1933.75 +2014-08-13,1946.719970703125 +2014-08-14,1955.1800537109375 +2014-08-15,1955.06005859375 +2014-08-18,1971.739990234375 +2014-08-19,1981.5999755859375 +2014-08-20,1986.510009765625 +2014-08-21,1992.3699951171875 +2014-08-22,1988.4000244140625 +2014-08-25,1997.9200439453125 +2014-08-26,2000.02001953125 +2014-08-27,2000.1199951171875 +2014-08-28,1996.739990234375 +2014-08-29,2003.3699951171875 +2014-09-02,2002.280029296875 +2014-09-03,2000.719970703125 +2014-09-04,1997.6500244140625 +2014-09-05,2007.7099609375 +2014-09-08,2001.5400390625 +2014-09-09,1988.43994140625 +2014-09-10,1995.68994140625 +2014-09-11,1997.449951171875 +2014-09-12,1985.5400390625 +2014-09-15,1984.1300048828125 +2014-09-16,1998.97998046875 +2014-09-17,2001.5699462890625 +2014-09-18,2011.3599853515625 +2014-09-19,2010.4000244140625 +2014-09-22,1994.2900390625 +2014-09-23,1982.77001953125 +2014-09-24,1998.300048828125 +2014-09-25,1965.989990234375 +2014-09-26,1982.8499755859375 +2014-09-29,1977.800048828125 +2014-09-30,1972.2900390625 +2014-10-01,1946.1600341796875 +2014-10-02,1946.1700439453125 +2014-10-03,1967.9000244140625 +2014-10-06,1964.8199462890625 +2014-10-07,1935.0999755859375 +2014-10-08,1968.8900146484375 +2014-10-09,1928.2099609375 +2014-10-10,1906.1300048828125 +2014-10-13,1874.739990234375 +2014-10-14,1877.699951171875 +2014-10-15,1862.489990234375 +2014-10-16,1862.760009765625 +2014-10-17,1886.760009765625 +2014-10-20,1904.010009765625 +2014-10-21,1941.280029296875 +2014-10-22,1927.1099853515625 +2014-10-23,1950.8199462890625 +2014-10-24,1964.5799560546875 +2014-10-27,1961.6300048828125 +2014-10-28,1985.050048828125 +2014-10-29,1982.300048828125 +2014-10-30,1994.6500244140625 +2014-10-31,2018.050048828125 +2014-11-03,2017.81005859375 +2014-11-04,2012.0999755859375 +2014-11-05,2023.5699462890625 +2014-11-06,2031.2099609375 +2014-11-07,2031.9200439453125 +2014-11-10,2038.260009765625 +2014-11-11,2039.6800537109375 +2014-11-12,2038.25 +2014-11-13,2039.3299560546875 +2014-11-14,2039.8199462890625 +2014-11-17,2041.3199462890625 +2014-11-18,2051.800048828125 +2014-11-19,2048.719970703125 +2014-11-20,2052.75 +2014-11-21,2063.5 +2014-11-24,2069.409912109375 +2014-11-25,2067.030029296875 +2014-11-26,2072.830078125 +2014-11-28,2067.56005859375 +2014-12-01,2053.43994140625 +2014-12-02,2066.550048828125 +2014-12-03,2074.330078125 +2014-12-04,2071.919921875 +2014-12-05,2075.3701171875 +2014-12-08,2060.31005859375 +2014-12-09,2059.820068359375 +2014-12-10,2026.1400146484375 +2014-12-11,2035.3299560546875 +2014-12-12,2002.3299560546875 +2014-12-15,1989.6300048828125 +2014-12-16,1972.739990234375 +2014-12-17,2012.8900146484375 +2014-12-18,2061.22998046875 +2014-12-19,2070.64990234375 +2014-12-22,2078.5400390625 +2014-12-23,2082.169921875 +2014-12-24,2081.8798828125 +2014-12-26,2088.77001953125 +2014-12-29,2090.570068359375 +2014-12-30,2080.35009765625 +2014-12-31,2058.89990234375 +2015-01-02,2058.199951171875 +2015-01-05,2020.5799560546875 +2015-01-06,2002.6099853515625 +2015-01-07,2025.9000244140625 +2015-01-08,2062.139892578125 +2015-01-09,2044.81005859375 +2015-01-12,2028.260009765625 +2015-01-13,2023.030029296875 +2015-01-14,2011.27001953125 +2015-01-15,1992.6700439453125 +2015-01-16,2019.4200439453125 +2015-01-20,2022.550048828125 +2015-01-21,2032.1199951171875 +2015-01-22,2063.14990234375 +2015-01-23,2051.820068359375 +2015-01-26,2057.090087890625 +2015-01-27,2029.550048828125 +2015-01-28,2002.1600341796875 +2015-01-29,2021.25 +2015-01-30,1994.989990234375 +2015-02-02,2020.8499755859375 +2015-02-03,2050.030029296875 +2015-02-04,2041.510009765625 +2015-02-05,2062.52001953125 +2015-02-06,2055.469970703125 +2015-02-09,2046.739990234375 +2015-02-10,2068.590087890625 +2015-02-11,2068.530029296875 +2015-02-12,2088.47998046875 +2015-02-13,2096.989990234375 +2015-02-17,2100.340087890625 +2015-02-18,2099.679931640625 +2015-02-19,2097.449951171875 +2015-02-20,2110.300048828125 +2015-02-23,2109.659912109375 +2015-02-24,2115.47998046875 +2015-02-25,2113.860107421875 +2015-02-26,2110.739990234375 +2015-02-27,2104.5 +2015-03-02,2117.389892578125 +2015-03-03,2107.780029296875 +2015-03-04,2098.530029296875 +2015-03-05,2101.0400390625 +2015-03-06,2071.260009765625 +2015-03-09,2079.429931640625 +2015-03-10,2044.1600341796875 +2015-03-11,2040.239990234375 +2015-03-12,2065.949951171875 +2015-03-13,2053.39990234375 +2015-03-16,2081.18994140625 +2015-03-17,2074.280029296875 +2015-03-18,2099.5 +2015-03-19,2089.27001953125 +2015-03-20,2108.10009765625 +2015-03-23,2104.419921875 +2015-03-24,2091.5 +2015-03-25,2061.050048828125 +2015-03-26,2056.14990234375 +2015-03-27,2061.02001953125 +2015-03-30,2086.239990234375 +2015-03-31,2067.889892578125 +2015-04-01,2059.68994140625 +2015-04-02,2066.9599609375 +2015-04-06,2080.6201171875 +2015-04-07,2076.330078125 +2015-04-08,2081.89990234375 +2015-04-09,2091.179931640625 +2015-04-10,2102.06005859375 +2015-04-13,2092.429931640625 +2015-04-14,2095.840087890625 +2015-04-15,2106.6298828125 +2015-04-16,2104.989990234375 +2015-04-17,2081.179931640625 +2015-04-20,2100.39990234375 +2015-04-21,2097.2900390625 +2015-04-22,2107.9599609375 +2015-04-23,2112.929931640625 +2015-04-24,2117.68994140625 +2015-04-27,2108.919921875 +2015-04-28,2114.760009765625 +2015-04-29,2106.85009765625 +2015-04-30,2085.510009765625 +2015-05-01,2108.2900390625 +2015-05-04,2114.489990234375 +2015-05-05,2089.4599609375 +2015-05-06,2080.14990234375 +2015-05-07,2088.0 +2015-05-08,2116.10009765625 +2015-05-11,2105.330078125 +2015-05-12,2099.1201171875 +2015-05-13,2098.47998046875 +2015-05-14,2121.10009765625 +2015-05-15,2122.72998046875 +2015-05-18,2129.199951171875 +2015-05-19,2127.830078125 +2015-05-20,2125.85009765625 +2015-05-21,2130.820068359375 +2015-05-22,2126.06005859375 +2015-05-26,2104.199951171875 +2015-05-27,2123.47998046875 +2015-05-28,2120.7900390625 +2015-05-29,2107.389892578125 +2015-06-01,2111.72998046875 +2015-06-02,2109.60009765625 +2015-06-03,2114.070068359375 +2015-06-04,2095.840087890625 +2015-06-05,2092.830078125 +2015-06-08,2079.280029296875 +2015-06-09,2080.14990234375 +2015-06-10,2105.199951171875 +2015-06-11,2108.860107421875 +2015-06-12,2094.110107421875 +2015-06-15,2084.429931640625 +2015-06-16,2096.2900390625 +2015-06-17,2100.43994140625 +2015-06-18,2121.239990234375 +2015-06-19,2109.989990234375 +2015-06-22,2122.85009765625 +2015-06-23,2124.199951171875 +2015-06-24,2108.580078125 +2015-06-25,2102.31005859375 +2015-06-26,2101.489990234375 +2015-06-29,2057.639892578125 +2015-06-30,2063.110107421875 +2015-07-01,2077.419921875 +2015-07-02,2076.780029296875 +2015-07-06,2068.760009765625 +2015-07-07,2081.340087890625 +2015-07-08,2046.6800537109375 +2015-07-09,2051.31005859375 +2015-07-10,2076.6201171875 +2015-07-13,2099.60009765625 +2015-07-14,2108.949951171875 +2015-07-15,2107.39990234375 +2015-07-16,2124.2900390625 +2015-07-17,2126.639892578125 +2015-07-20,2128.280029296875 +2015-07-21,2119.2099609375 +2015-07-22,2114.14990234375 +2015-07-23,2102.14990234375 +2015-07-24,2079.64990234375 +2015-07-27,2067.639892578125 +2015-07-28,2093.25 +2015-07-29,2108.570068359375 +2015-07-30,2108.6298828125 +2015-07-31,2103.840087890625 +2015-08-03,2098.0400390625 +2015-08-04,2093.320068359375 +2015-08-05,2099.840087890625 +2015-08-06,2083.56005859375 +2015-08-07,2077.570068359375 +2015-08-10,2104.179931640625 +2015-08-11,2084.070068359375 +2015-08-12,2086.050048828125 +2015-08-13,2083.389892578125 +2015-08-14,2091.5400390625 +2015-08-17,2102.43994140625 +2015-08-18,2096.919921875 +2015-08-19,2079.610107421875 +2015-08-20,2035.72998046875 +2015-08-21,1970.8900146484375 +2015-08-24,1893.2099609375 +2015-08-25,1867.6099853515625 +2015-08-26,1940.510009765625 +2015-08-27,1987.6600341796875 +2015-08-28,1988.8699951171875 +2015-08-31,1972.1800537109375 +2015-09-01,1913.8499755859375 +2015-09-02,1948.8599853515625 +2015-09-03,1951.1300048828125 +2015-09-04,1921.219970703125 +2015-09-08,1969.4100341796875 +2015-09-09,1942.0400390625 +2015-09-10,1952.2900390625 +2015-09-11,1961.050048828125 +2015-09-14,1953.030029296875 +2015-09-15,1978.0899658203125 +2015-09-16,1995.31005859375 +2015-09-17,1990.199951171875 +2015-09-18,1958.030029296875 +2015-09-21,1966.969970703125 +2015-09-22,1942.739990234375 +2015-09-23,1938.760009765625 +2015-09-24,1932.239990234375 +2015-09-25,1931.3399658203125 +2015-09-28,1881.77001953125 +2015-09-29,1884.0899658203125 +2015-09-30,1920.030029296875 +2015-10-01,1923.8199462890625 +2015-10-02,1951.3599853515625 +2015-10-05,1987.050048828125 +2015-10-06,1979.9200439453125 +2015-10-07,1995.8299560546875 +2015-10-08,2013.4300537109375 +2015-10-09,2014.8900146484375 +2015-10-12,2017.4599609375 +2015-10-13,2003.68994140625 +2015-10-14,1994.239990234375 +2015-10-15,2023.8599853515625 +2015-10-16,2033.1099853515625 +2015-10-19,2033.6600341796875 +2015-10-20,2030.77001953125 +2015-10-21,2018.93994140625 +2015-10-22,2052.510009765625 +2015-10-23,2075.14990234375 +2015-10-26,2071.179931640625 +2015-10-27,2065.889892578125 +2015-10-28,2090.35009765625 +2015-10-29,2089.409912109375 +2015-10-30,2079.360107421875 +2015-11-02,2104.050048828125 +2015-11-03,2109.7900390625 +2015-11-04,2102.31005859375 +2015-11-05,2099.929931640625 +2015-11-06,2099.199951171875 +2015-11-09,2078.580078125 +2015-11-10,2081.719970703125 +2015-11-11,2075.0 +2015-11-12,2045.969970703125 +2015-11-13,2023.0400390625 +2015-11-16,2053.18994140625 +2015-11-17,2050.43994140625 +2015-11-18,2083.580078125 +2015-11-19,2081.239990234375 +2015-11-20,2089.169921875 +2015-11-23,2086.590087890625 +2015-11-24,2089.139892578125 +2015-11-25,2088.8701171875 +2015-11-27,2090.110107421875 +2015-11-30,2080.409912109375 +2015-12-01,2102.6298828125 +2015-12-02,2079.510009765625 +2015-12-03,2049.6201171875 +2015-12-04,2091.68994140625 +2015-12-07,2077.070068359375 +2015-12-08,2063.590087890625 +2015-12-09,2047.6199951171875 +2015-12-10,2052.22998046875 +2015-12-11,2012.3699951171875 +2015-12-14,2021.93994140625 +2015-12-15,2043.4100341796875 +2015-12-16,2073.070068359375 +2015-12-17,2041.8900146484375 +2015-12-18,2005.550048828125 +2015-12-21,2021.1500244140625 +2015-12-22,2038.969970703125 +2015-12-23,2064.2900390625 +2015-12-24,2060.989990234375 +2015-12-28,2056.5 +2015-12-29,2078.360107421875 +2015-12-30,2063.360107421875 +2015-12-31,2043.93994140625 +2016-01-04,2012.6600341796875 +2016-01-05,2016.7099609375 +2016-01-06,1990.260009765625 +2016-01-07,1943.0899658203125 +2016-01-08,1922.030029296875 +2016-01-11,1923.6700439453125 +2016-01-12,1938.6800537109375 +2016-01-13,1890.280029296875 +2016-01-14,1921.8399658203125 +2016-01-15,1880.3299560546875 +2016-01-19,1881.3299560546875 +2016-01-20,1859.3299560546875 +2016-01-21,1868.989990234375 +2016-01-22,1906.9000244140625 +2016-01-25,1877.0799560546875 +2016-01-26,1903.6300048828125 +2016-01-27,1882.949951171875 +2016-01-28,1893.3599853515625 +2016-01-29,1940.239990234375 +2016-02-01,1939.3800048828125 +2016-02-02,1903.030029296875 +2016-02-03,1912.530029296875 +2016-02-04,1915.449951171875 +2016-02-05,1880.050048828125 +2016-02-08,1853.43994140625 +2016-02-09,1852.2099609375 +2016-02-10,1851.8599853515625 +2016-02-11,1829.0799560546875 +2016-02-12,1864.780029296875 +2016-02-16,1895.5799560546875 +2016-02-17,1926.8199462890625 +2016-02-18,1917.8299560546875 +2016-02-19,1917.780029296875 +2016-02-22,1945.5 +2016-02-23,1921.27001953125 +2016-02-24,1929.800048828125 +2016-02-25,1951.699951171875 +2016-02-26,1948.050048828125 +2016-02-29,1932.22998046875 +2016-03-01,1978.3499755859375 +2016-03-02,1986.449951171875 +2016-03-03,1993.4000244140625 +2016-03-04,1999.989990234375 +2016-03-07,2001.760009765625 +2016-03-08,1979.260009765625 +2016-03-09,1989.260009765625 +2016-03-10,1989.5699462890625 +2016-03-11,2022.18994140625 +2016-03-14,2019.6400146484375 +2016-03-15,2015.9300537109375 +2016-03-16,2027.219970703125 +2016-03-17,2040.5899658203125 +2016-03-18,2049.580078125 +2016-03-21,2051.60009765625 +2016-03-22,2049.800048828125 +2016-03-23,2036.7099609375 +2016-03-24,2035.93994140625 +2016-03-28,2037.050048828125 +2016-03-29,2055.010009765625 +2016-03-30,2063.949951171875 +2016-03-31,2059.739990234375 +2016-04-01,2072.780029296875 +2016-04-04,2066.1298828125 +2016-04-05,2045.1700439453125 +2016-04-06,2066.659912109375 +2016-04-07,2041.9100341796875 +2016-04-08,2047.5999755859375 +2016-04-11,2041.989990234375 +2016-04-12,2061.719970703125 +2016-04-13,2082.419921875 +2016-04-14,2082.780029296875 +2016-04-15,2080.72998046875 +2016-04-18,2094.340087890625 +2016-04-19,2100.800048828125 +2016-04-20,2102.39990234375 +2016-04-21,2091.47998046875 +2016-04-22,2091.580078125 +2016-04-25,2087.7900390625 +2016-04-26,2091.699951171875 +2016-04-27,2095.14990234375 +2016-04-28,2075.81005859375 +2016-04-29,2065.300048828125 +2016-05-02,2081.429931640625 +2016-05-03,2063.3701171875 +2016-05-04,2051.1201171875 +2016-05-05,2050.6298828125 +2016-05-06,2057.139892578125 +2016-05-09,2058.68994140625 +2016-05-10,2084.389892578125 +2016-05-11,2064.4599609375 +2016-05-12,2064.110107421875 +2016-05-13,2046.6099853515625 +2016-05-16,2066.659912109375 +2016-05-17,2047.2099609375 +2016-05-18,2047.6300048828125 +2016-05-19,2040.0400390625 +2016-05-20,2052.320068359375 +2016-05-23,2048.0400390625 +2016-05-24,2076.06005859375 +2016-05-25,2090.5400390625 +2016-05-26,2090.10009765625 +2016-05-27,2099.06005859375 +2016-05-31,2096.949951171875 +2016-06-01,2099.330078125 +2016-06-02,2105.260009765625 +2016-06-03,2099.1298828125 +2016-06-06,2109.409912109375 +2016-06-07,2112.1298828125 +2016-06-08,2119.1201171875 +2016-06-09,2115.47998046875 +2016-06-10,2096.070068359375 +2016-06-13,2079.06005859375 +2016-06-14,2075.320068359375 +2016-06-15,2071.5 +2016-06-16,2077.989990234375 +2016-06-17,2071.219970703125 +2016-06-20,2083.25 +2016-06-21,2088.89990234375 +2016-06-22,2085.449951171875 +2016-06-23,2113.320068359375 +2016-06-24,2037.4100341796875 +2016-06-27,2000.5400390625 +2016-06-28,2036.0899658203125 +2016-06-29,2070.77001953125 +2016-06-30,2098.860107421875 +2016-07-01,2102.949951171875 +2016-07-05,2088.550048828125 +2016-07-06,2099.72998046875 +2016-07-07,2097.89990234375 +2016-07-08,2129.89990234375 +2016-07-11,2137.159912109375 +2016-07-12,2152.139892578125 +2016-07-13,2152.429931640625 +2016-07-14,2163.75 +2016-07-15,2161.739990234375 +2016-07-18,2166.889892578125 +2016-07-19,2163.780029296875 +2016-07-20,2173.02001953125 +2016-07-21,2165.169921875 +2016-07-22,2175.030029296875 +2016-07-25,2168.47998046875 +2016-07-26,2169.179931640625 +2016-07-27,2166.580078125 +2016-07-28,2170.06005859375 +2016-07-29,2173.60009765625 +2016-08-01,2170.840087890625 +2016-08-02,2157.030029296875 +2016-08-03,2163.7900390625 +2016-08-04,2164.25 +2016-08-05,2182.8701171875 +2016-08-08,2180.889892578125 +2016-08-09,2181.739990234375 +2016-08-10,2175.489990234375 +2016-08-11,2185.7900390625 +2016-08-12,2184.050048828125 +2016-08-15,2190.14990234375 +2016-08-16,2178.14990234375 +2016-08-17,2182.219970703125 +2016-08-18,2187.02001953125 +2016-08-19,2183.8701171875 +2016-08-22,2182.639892578125 +2016-08-23,2186.89990234375 +2016-08-24,2175.43994140625 +2016-08-25,2172.469970703125 +2016-08-26,2169.0400390625 +2016-08-29,2180.3798828125 +2016-08-30,2176.1201171875 +2016-08-31,2170.949951171875 +2016-09-01,2170.860107421875 +2016-09-02,2179.97998046875 +2016-09-06,2186.47998046875 +2016-09-07,2186.159912109375 +2016-09-08,2181.300048828125 +2016-09-09,2127.81005859375 +2016-09-12,2159.0400390625 +2016-09-13,2127.02001953125 +2016-09-14,2125.77001953125 +2016-09-15,2147.260009765625 +2016-09-16,2139.159912109375 +2016-09-19,2139.1201171875 +2016-09-20,2139.760009765625 +2016-09-21,2163.1201171875 +2016-09-22,2177.179931640625 +2016-09-23,2164.68994140625 +2016-09-26,2146.10009765625 +2016-09-27,2159.929931640625 +2016-09-28,2171.3701171875 +2016-09-29,2151.1298828125 +2016-09-30,2168.27001953125 +2016-10-03,2161.199951171875 +2016-10-04,2150.489990234375 +2016-10-05,2159.72998046875 +2016-10-06,2160.77001953125 +2016-10-07,2153.739990234375 +2016-10-10,2163.659912109375 +2016-10-11,2136.72998046875 +2016-10-12,2139.179931640625 +2016-10-13,2132.550048828125 +2016-10-14,2132.97998046875 +2016-10-17,2126.5 +2016-10-18,2139.60009765625 +2016-10-19,2144.2900390625 +2016-10-20,2141.340087890625 +2016-10-21,2141.159912109375 +2016-10-24,2151.330078125 +2016-10-25,2143.159912109375 +2016-10-26,2139.429931640625 +2016-10-27,2133.0400390625 +2016-10-28,2126.409912109375 +2016-10-31,2126.14990234375 +2016-11-01,2111.719970703125 +2016-11-02,2097.93994140625 +2016-11-03,2088.659912109375 +2016-11-04,2085.179931640625 +2016-11-07,2131.52001953125 +2016-11-08,2139.56005859375 +2016-11-09,2163.260009765625 +2016-11-10,2167.47998046875 +2016-11-11,2164.449951171875 +2016-11-14,2164.199951171875 +2016-11-15,2180.389892578125 +2016-11-16,2176.93994140625 +2016-11-17,2187.1201171875 +2016-11-18,2181.89990234375 +2016-11-21,2198.179931640625 +2016-11-22,2202.93994140625 +2016-11-23,2204.719970703125 +2016-11-25,2213.35009765625 +2016-11-28,2201.719970703125 +2016-11-29,2204.659912109375 +2016-11-30,2198.81005859375 +2016-12-01,2191.080078125 +2016-12-02,2191.949951171875 +2016-12-05,2204.7099609375 +2016-12-06,2212.22998046875 +2016-12-07,2241.35009765625 +2016-12-08,2246.18994140625 +2016-12-09,2259.530029296875 +2016-12-12,2256.9599609375 +2016-12-13,2271.719970703125 +2016-12-14,2253.280029296875 +2016-12-15,2262.030029296875 +2016-12-16,2258.070068359375 +2016-12-19,2262.530029296875 +2016-12-20,2270.760009765625 +2016-12-21,2265.179931640625 +2016-12-22,2260.9599609375 +2016-12-23,2263.7900390625 +2016-12-27,2268.8798828125 +2016-12-28,2249.919921875 +2016-12-29,2249.260009765625 +2016-12-30,2238.830078125 +2017-01-03,2257.830078125 +2017-01-04,2270.75 +2017-01-05,2269.0 +2017-01-06,2276.97998046875 +2017-01-09,2268.89990234375 +2017-01-10,2268.89990234375 +2017-01-11,2275.320068359375 +2017-01-12,2270.43994140625 +2017-01-13,2274.639892578125 +2017-01-17,2267.889892578125 +2017-01-18,2271.889892578125 +2017-01-19,2263.68994140625 +2017-01-20,2271.31005859375 +2017-01-23,2265.199951171875 +2017-01-24,2280.070068359375 +2017-01-25,2298.3701171875 +2017-01-26,2296.679931640625 +2017-01-27,2294.68994140625 +2017-01-30,2280.89990234375 +2017-01-31,2278.8701171875 +2017-02-01,2279.550048828125 +2017-02-02,2280.85009765625 +2017-02-03,2297.419921875 +2017-02-06,2292.56005859375 +2017-02-07,2293.080078125 +2017-02-08,2294.669921875 +2017-02-09,2307.8701171875 +2017-02-10,2316.10009765625 +2017-02-13,2328.25 +2017-02-14,2337.580078125 +2017-02-15,2349.25 +2017-02-16,2347.219970703125 +2017-02-17,2351.159912109375 +2017-02-21,2365.3798828125 +2017-02-22,2362.820068359375 +2017-02-23,2363.81005859375 +2017-02-24,2367.340087890625 +2017-02-27,2369.75 +2017-02-28,2363.639892578125 +2017-03-01,2395.9599609375 +2017-03-02,2381.919921875 +2017-03-03,2383.1201171875 +2017-03-06,2375.31005859375 +2017-03-07,2368.389892578125 +2017-03-08,2362.97998046875 +2017-03-09,2364.8701171875 +2017-03-10,2372.60009765625 +2017-03-13,2373.469970703125 +2017-03-14,2365.449951171875 +2017-03-15,2385.260009765625 +2017-03-16,2381.3798828125 +2017-03-17,2378.25 +2017-03-20,2373.469970703125 +2017-03-21,2344.02001953125 +2017-03-22,2348.449951171875 +2017-03-23,2345.9599609375 +2017-03-24,2343.97998046875 +2017-03-27,2341.590087890625 +2017-03-28,2358.570068359375 +2017-03-29,2361.1298828125 +2017-03-30,2368.06005859375 +2017-03-31,2362.719970703125 +2017-04-03,2358.840087890625 +2017-04-04,2360.159912109375 +2017-04-05,2352.949951171875 +2017-04-06,2357.489990234375 +2017-04-07,2355.5400390625 +2017-04-10,2357.159912109375 +2017-04-11,2353.780029296875 +2017-04-12,2344.929931640625 +2017-04-13,2328.949951171875 +2017-04-17,2349.010009765625 +2017-04-18,2342.18994140625 +2017-04-19,2338.169921875 +2017-04-20,2355.840087890625 +2017-04-21,2348.68994140625 +2017-04-24,2374.14990234375 +2017-04-25,2388.610107421875 +2017-04-26,2387.449951171875 +2017-04-27,2388.77001953125 +2017-04-28,2384.199951171875 +2017-05-01,2388.330078125 +2017-05-02,2391.169921875 +2017-05-03,2388.1298828125 +2017-05-04,2389.52001953125 +2017-05-05,2399.2900390625 +2017-05-08,2399.3798828125 +2017-05-09,2396.919921875 +2017-05-10,2399.6298828125 +2017-05-11,2394.43994140625 +2017-05-12,2390.89990234375 +2017-05-15,2402.320068359375 +2017-05-16,2400.669921875 +2017-05-17,2357.030029296875 +2017-05-18,2365.719970703125 +2017-05-19,2381.72998046875 +2017-05-22,2394.02001953125 +2017-05-23,2398.419921875 +2017-05-24,2404.389892578125 +2017-05-25,2415.070068359375 +2017-05-26,2415.820068359375 +2017-05-30,2412.909912109375 +2017-05-31,2411.800048828125 +2017-06-01,2430.06005859375 +2017-06-02,2439.070068359375 +2017-06-05,2436.10009765625 +2017-06-06,2429.330078125 +2017-06-07,2433.139892578125 +2017-06-08,2433.7900390625 +2017-06-09,2431.77001953125 +2017-06-12,2429.389892578125 +2017-06-13,2440.35009765625 +2017-06-14,2437.919921875 +2017-06-15,2432.4599609375 +2017-06-16,2433.14990234375 +2017-06-19,2453.4599609375 +2017-06-20,2437.030029296875 +2017-06-21,2435.610107421875 +2017-06-22,2434.5 +2017-06-23,2438.300048828125 +2017-06-26,2439.070068359375 +2017-06-27,2419.3798828125 +2017-06-28,2440.68994140625 +2017-06-29,2419.699951171875 +2017-06-30,2423.409912109375 +2017-07-03,2429.010009765625 +2017-07-05,2432.5400390625 +2017-07-06,2409.75 +2017-07-07,2425.179931640625 +2017-07-10,2427.429931640625 +2017-07-11,2425.530029296875 +2017-07-12,2443.25 +2017-07-13,2447.830078125 +2017-07-14,2459.27001953125 +2017-07-17,2459.139892578125 +2017-07-18,2460.610107421875 +2017-07-19,2473.830078125 +2017-07-20,2473.449951171875 +2017-07-21,2472.5400390625 +2017-07-24,2469.909912109375 +2017-07-25,2477.1298828125 +2017-07-26,2477.830078125 +2017-07-27,2475.419921875 +2017-07-28,2472.10009765625 +2017-07-31,2470.300048828125 +2017-08-01,2476.35009765625 +2017-08-02,2477.570068359375 +2017-08-03,2472.159912109375 +2017-08-04,2476.830078125 +2017-08-07,2480.909912109375 +2017-08-08,2474.919921875 +2017-08-09,2474.02001953125 +2017-08-10,2438.2099609375 +2017-08-11,2441.320068359375 +2017-08-14,2465.840087890625 +2017-08-15,2464.610107421875 +2017-08-16,2468.110107421875 +2017-08-17,2430.010009765625 +2017-08-18,2425.550048828125 +2017-08-21,2428.3701171875 +2017-08-22,2452.510009765625 +2017-08-23,2444.0400390625 +2017-08-24,2438.969970703125 +2017-08-25,2443.050048828125 +2017-08-28,2444.239990234375 +2017-08-29,2446.300048828125 +2017-08-30,2457.590087890625 +2017-08-31,2471.64990234375 +2017-09-01,2476.550048828125 +2017-09-05,2457.85009765625 +2017-09-06,2465.5400390625 +2017-09-07,2465.10009765625 +2017-09-08,2461.429931640625 +2017-09-11,2488.110107421875 +2017-09-12,2496.47998046875 +2017-09-13,2498.3701171875 +2017-09-14,2495.6201171875 +2017-09-15,2500.22998046875 +2017-09-18,2503.8701171875 +2017-09-19,2506.64990234375 +2017-09-20,2508.239990234375 +2017-09-21,2500.60009765625 +2017-09-22,2502.219970703125 +2017-09-25,2496.659912109375 +2017-09-26,2496.840087890625 +2017-09-27,2507.0400390625 +2017-09-28,2510.06005859375 +2017-09-29,2519.360107421875 +2017-10-02,2529.1201171875 +2017-10-03,2534.580078125 +2017-10-04,2537.739990234375 +2017-10-05,2552.070068359375 +2017-10-06,2549.330078125 +2017-10-09,2544.72998046875 +2017-10-10,2550.639892578125 +2017-10-11,2555.239990234375 +2017-10-12,2550.929931640625 +2017-10-13,2553.169921875 +2017-10-16,2557.639892578125 +2017-10-17,2559.360107421875 +2017-10-18,2561.260009765625 +2017-10-19,2562.10009765625 +2017-10-20,2575.2099609375 +2017-10-23,2564.97998046875 +2017-10-24,2569.1298828125 +2017-10-25,2557.14990234375 +2017-10-26,2560.39990234375 +2017-10-27,2581.070068359375 +2017-10-30,2572.830078125 +2017-10-31,2575.260009765625 +2017-11-01,2579.360107421875 +2017-11-02,2579.85009765625 +2017-11-03,2587.840087890625 +2017-11-06,2591.1298828125 +2017-11-07,2590.639892578125 +2017-11-08,2594.3798828125 +2017-11-09,2584.6201171875 +2017-11-10,2582.300048828125 +2017-11-13,2584.840087890625 +2017-11-14,2578.8701171875 +2017-11-15,2564.6201171875 +2017-11-16,2585.639892578125 +2017-11-17,2578.85009765625 +2017-11-20,2582.139892578125 +2017-11-21,2599.030029296875 +2017-11-22,2597.080078125 +2017-11-24,2602.419921875 +2017-11-27,2601.419921875 +2017-11-28,2627.0400390625 +2017-11-29,2626.070068359375 +2017-11-30,2647.580078125 +2017-12-01,2642.219970703125 +2017-12-04,2639.43994140625 +2017-12-05,2629.570068359375 +2017-12-06,2629.27001953125 +2017-12-07,2636.97998046875 +2017-12-08,2651.5 +2017-12-11,2659.989990234375 +2017-12-12,2664.110107421875 +2017-12-13,2662.85009765625 +2017-12-14,2652.010009765625 +2017-12-15,2675.81005859375 +2017-12-18,2690.159912109375 +2017-12-19,2681.469970703125 +2017-12-20,2679.25 +2017-12-21,2684.570068359375 +2017-12-22,2683.340087890625 +2017-12-26,2680.5 +2017-12-27,2682.6201171875 +2017-12-28,2687.5400390625 +2017-12-29,2673.610107421875 +2018-01-02,2695.81005859375 +2018-01-03,2713.06005859375 +2018-01-04,2723.989990234375 +2018-01-05,2743.14990234375 +2018-01-08,2747.7099609375 +2018-01-09,2751.2900390625 +2018-01-10,2748.22998046875 +2018-01-11,2767.56005859375 +2018-01-12,2786.239990234375 +2018-01-16,2776.419921875 +2018-01-17,2802.56005859375 +2018-01-18,2798.030029296875 +2018-01-19,2810.300048828125 +2018-01-22,2832.969970703125 +2018-01-23,2839.1298828125 +2018-01-24,2837.5400390625 +2018-01-25,2839.25 +2018-01-26,2872.8701171875 +2018-01-29,2853.530029296875 +2018-01-30,2822.429931640625 +2018-01-31,2823.81005859375 +2018-02-01,2821.97998046875 +2018-02-02,2762.1298828125 +2018-02-05,2648.93994140625 +2018-02-06,2695.139892578125 +2018-02-07,2681.659912109375 +2018-02-08,2581.0 +2018-02-09,2619.550048828125 +2018-02-12,2656.0 +2018-02-13,2662.93994140625 +2018-02-14,2698.6298828125 +2018-02-15,2731.199951171875 +2018-02-16,2732.219970703125 +2018-02-20,2716.260009765625 +2018-02-21,2701.330078125 +2018-02-22,2703.9599609375 +2018-02-23,2747.300048828125 +2018-02-26,2779.60009765625 +2018-02-27,2744.280029296875 +2018-02-28,2713.830078125 +2018-03-01,2677.669921875 +2018-03-02,2691.25 +2018-03-05,2720.93994140625 +2018-03-06,2728.1201171875 +2018-03-07,2726.800048828125 +2018-03-08,2738.969970703125 +2018-03-09,2786.570068359375 +2018-03-12,2783.02001953125 +2018-03-13,2765.31005859375 +2018-03-14,2749.47998046875 +2018-03-15,2747.330078125 +2018-03-16,2752.010009765625 +2018-03-19,2712.919921875 +2018-03-20,2716.93994140625 +2018-03-21,2711.929931640625 +2018-03-22,2643.68994140625 +2018-03-23,2588.260009765625 +2018-03-26,2658.550048828125 +2018-03-27,2612.6201171875 +2018-03-28,2605.0 +2018-03-29,2640.8701171875 +2018-04-02,2581.8798828125 +2018-04-03,2614.449951171875 +2018-04-04,2644.68994140625 +2018-04-05,2662.840087890625 +2018-04-06,2604.469970703125 +2018-04-09,2613.159912109375 +2018-04-10,2656.8701171875 +2018-04-11,2642.18994140625 +2018-04-12,2663.989990234375 +2018-04-13,2656.300048828125 +2018-04-16,2677.840087890625 +2018-04-17,2706.389892578125 +2018-04-18,2708.639892578125 +2018-04-19,2693.1298828125 +2018-04-20,2670.139892578125 +2018-04-23,2670.2900390625 +2018-04-24,2634.56005859375 +2018-04-25,2639.39990234375 +2018-04-26,2666.93994140625 +2018-04-27,2669.909912109375 +2018-04-30,2648.050048828125 +2018-05-01,2654.800048828125 +2018-05-02,2635.669921875 +2018-05-03,2629.72998046875 +2018-05-04,2663.419921875 +2018-05-07,2672.6298828125 +2018-05-08,2671.919921875 +2018-05-09,2697.7900390625 +2018-05-10,2723.070068359375 +2018-05-11,2727.719970703125 +2018-05-14,2730.1298828125 +2018-05-15,2711.449951171875 +2018-05-16,2722.4599609375 +2018-05-17,2720.1298828125 +2018-05-18,2712.969970703125 +2018-05-21,2733.010009765625 +2018-05-22,2724.43994140625 +2018-05-23,2733.2900390625 +2018-05-24,2727.760009765625 +2018-05-25,2721.330078125 +2018-05-29,2689.860107421875 +2018-05-30,2724.010009765625 +2018-05-31,2705.27001953125 +2018-06-01,2734.6201171875 +2018-06-04,2746.8701171875 +2018-06-05,2748.800048828125 +2018-06-06,2772.35009765625 +2018-06-07,2770.3701171875 +2018-06-08,2779.030029296875 +2018-06-11,2782.0 +2018-06-12,2786.85009765625 +2018-06-13,2775.6298828125 +2018-06-14,2782.489990234375 +2018-06-15,2779.659912109375 +2018-06-18,2773.75 +2018-06-19,2762.590087890625 +2018-06-20,2767.320068359375 +2018-06-21,2749.760009765625 +2018-06-22,2754.8798828125 +2018-06-25,2717.070068359375 +2018-06-26,2723.06005859375 +2018-06-27,2699.6298828125 +2018-06-28,2716.31005859375 +2018-06-29,2718.3701171875 +2018-07-02,2726.7099609375 +2018-07-03,2713.219970703125 +2018-07-05,2736.610107421875 +2018-07-06,2759.820068359375 +2018-07-09,2784.169921875 +2018-07-10,2793.840087890625 +2018-07-11,2774.02001953125 +2018-07-12,2798.2900390625 +2018-07-13,2801.31005859375 +2018-07-16,2798.429931640625 +2018-07-17,2809.550048828125 +2018-07-18,2815.6201171875 +2018-07-19,2804.489990234375 +2018-07-20,2801.830078125 +2018-07-23,2806.97998046875 +2018-07-24,2820.39990234375 +2018-07-25,2846.070068359375 +2018-07-26,2837.43994140625 +2018-07-27,2818.820068359375 +2018-07-30,2802.60009765625 +2018-07-31,2816.2900390625 +2018-08-01,2813.360107421875 +2018-08-02,2827.219970703125 +2018-08-03,2840.35009765625 +2018-08-06,2850.39990234375 +2018-08-07,2858.449951171875 +2018-08-08,2857.699951171875 +2018-08-09,2853.580078125 +2018-08-10,2833.280029296875 +2018-08-13,2821.929931640625 +2018-08-14,2839.9599609375 +2018-08-15,2818.3701171875 +2018-08-16,2840.68994140625 +2018-08-17,2850.1298828125 +2018-08-20,2857.050048828125 +2018-08-21,2862.9599609375 +2018-08-22,2861.820068359375 +2018-08-23,2856.97998046875 +2018-08-24,2874.68994140625 +2018-08-27,2896.739990234375 +2018-08-28,2897.52001953125 +2018-08-29,2914.0400390625 +2018-08-30,2901.1298828125 +2018-08-31,2901.52001953125 +2018-09-04,2896.719970703125 +2018-09-05,2888.60009765625 +2018-09-06,2878.050048828125 +2018-09-07,2871.679931640625 +2018-09-10,2877.1298828125 +2018-09-11,2887.889892578125 +2018-09-12,2888.919921875 +2018-09-13,2904.179931640625 +2018-09-14,2904.97998046875 +2018-09-17,2888.800048828125 +2018-09-18,2904.31005859375 +2018-09-19,2907.949951171875 +2018-09-20,2930.75 +2018-09-21,2929.669921875 +2018-09-24,2919.3701171875 +2018-09-25,2915.56005859375 +2018-09-26,2905.969970703125 +2018-09-27,2914.0 +2018-09-28,2913.97998046875 +2018-10-01,2924.590087890625 +2018-10-02,2923.429931640625 +2018-10-03,2925.510009765625 +2018-10-04,2901.610107421875 +2018-10-05,2885.570068359375 +2018-10-08,2884.429931640625 +2018-10-09,2880.340087890625 +2018-10-10,2785.679931640625 +2018-10-11,2728.3701171875 +2018-10-12,2767.1298828125 +2018-10-15,2750.7900390625 +2018-10-16,2809.919921875 +2018-10-17,2809.2099609375 +2018-10-18,2768.780029296875 +2018-10-19,2767.780029296875 +2018-10-22,2755.8798828125 +2018-10-23,2740.68994140625 +2018-10-24,2656.10009765625 +2018-10-25,2705.570068359375 +2018-10-26,2658.68994140625 +2018-10-29,2641.25 +2018-10-30,2682.6298828125 +2018-10-31,2711.739990234375 +2018-11-01,2740.3701171875 +2018-11-02,2723.06005859375 +2018-11-05,2738.31005859375 +2018-11-06,2755.449951171875 +2018-11-07,2813.889892578125 +2018-11-08,2806.830078125 +2018-11-09,2781.010009765625 +2018-11-12,2726.219970703125 +2018-11-13,2722.179931640625 +2018-11-14,2701.580078125 +2018-11-15,2730.199951171875 +2018-11-16,2736.27001953125 +2018-11-19,2690.72998046875 +2018-11-20,2641.889892578125 +2018-11-21,2649.929931640625 +2018-11-23,2632.56005859375 +2018-11-26,2673.449951171875 +2018-11-27,2682.169921875 +2018-11-28,2743.7900390625 +2018-11-29,2737.800048828125 +2018-11-30,2760.169921875 +2018-12-03,2790.3701171875 +2018-12-04,2700.06005859375 +2018-12-06,2695.949951171875 +2018-12-07,2633.080078125 +2018-12-10,2637.719970703125 +2018-12-11,2636.780029296875 +2018-12-12,2651.070068359375 +2018-12-13,2650.5400390625 +2018-12-14,2599.949951171875 +2018-12-17,2545.93994140625 +2018-12-18,2546.159912109375 +2018-12-19,2506.9599609375 +2018-12-20,2467.419921875 +2018-12-21,2416.6201171875 +2018-12-24,2351.10009765625 +2018-12-26,2467.699951171875 +2018-12-27,2488.830078125 +2018-12-28,2485.739990234375 +2018-12-31,2506.85009765625 +2019-01-02,2510.030029296875 +2019-01-03,2447.889892578125 +2019-01-04,2531.93994140625 +2019-01-07,2549.68994140625 +2019-01-08,2574.409912109375 +2019-01-09,2584.9599609375 +2019-01-10,2596.639892578125 +2019-01-11,2596.260009765625 +2019-01-14,2582.610107421875 +2019-01-15,2610.300048828125 +2019-01-16,2616.10009765625 +2019-01-17,2635.9599609375 +2019-01-18,2670.7099609375 +2019-01-22,2632.89990234375 +2019-01-23,2638.699951171875 +2019-01-24,2642.330078125 +2019-01-25,2664.760009765625 +2019-01-28,2643.85009765625 +2019-01-29,2640.0 +2019-01-30,2681.050048828125 +2019-01-31,2704.10009765625 +2019-02-01,2706.530029296875 +2019-02-04,2724.8701171875 +2019-02-05,2737.699951171875 +2019-02-06,2731.610107421875 +2019-02-07,2706.050048828125 +2019-02-08,2707.8798828125 +2019-02-11,2709.800048828125 +2019-02-12,2744.72998046875 +2019-02-13,2753.030029296875 +2019-02-14,2745.72998046875 +2019-02-15,2775.60009765625 +2019-02-19,2779.760009765625 +2019-02-20,2784.699951171875 +2019-02-21,2774.8798828125 +2019-02-22,2792.669921875 +2019-02-25,2796.110107421875 +2019-02-26,2793.89990234375 +2019-02-27,2792.3798828125 +2019-02-28,2784.489990234375 +2019-03-01,2803.68994140625 +2019-03-04,2792.81005859375 +2019-03-05,2789.64990234375 +2019-03-06,2771.449951171875 +2019-03-07,2748.929931640625 +2019-03-08,2743.070068359375 +2019-03-11,2783.300048828125 +2019-03-12,2791.52001953125 +2019-03-13,2810.919921875 +2019-03-14,2808.47998046875 +2019-03-15,2822.47998046875 +2019-03-18,2832.93994140625 +2019-03-19,2832.570068359375 +2019-03-20,2824.22998046875 +2019-03-21,2854.8798828125 +2019-03-22,2800.7099609375 +2019-03-25,2798.360107421875 +2019-03-26,2818.4599609375 +2019-03-27,2805.3701171875 +2019-03-28,2815.43994140625 +2019-03-29,2834.39990234375 +2019-04-01,2867.18994140625 +2019-04-02,2867.239990234375 +2019-04-03,2873.39990234375 +2019-04-04,2879.389892578125 +2019-04-05,2892.739990234375 +2019-04-08,2895.77001953125 +2019-04-09,2878.199951171875 +2019-04-10,2888.2099609375 +2019-04-11,2888.320068359375 +2019-04-12,2907.409912109375 +2019-04-15,2905.580078125 +2019-04-16,2907.06005859375 +2019-04-17,2900.449951171875 +2019-04-18,2905.030029296875 +2019-04-22,2907.969970703125 +2019-04-23,2933.679931640625 +2019-04-24,2927.25 +2019-04-25,2926.169921875 +2019-04-26,2939.8798828125 +2019-04-29,2943.030029296875 +2019-04-30,2945.830078125 +2019-05-01,2923.72998046875 +2019-05-02,2917.52001953125 +2019-05-03,2945.639892578125 +2019-05-06,2932.469970703125 +2019-05-07,2884.050048828125 +2019-05-08,2879.419921875 +2019-05-09,2870.719970703125 +2019-05-10,2881.39990234375 +2019-05-13,2811.8701171875 +2019-05-14,2834.409912109375 +2019-05-15,2850.9599609375 +2019-05-16,2876.320068359375 +2019-05-17,2859.530029296875 +2019-05-20,2840.22998046875 +2019-05-21,2864.360107421875 +2019-05-22,2856.27001953125 +2019-05-23,2822.239990234375 +2019-05-24,2826.06005859375 +2019-05-28,2802.389892578125 +2019-05-29,2783.02001953125 +2019-05-30,2788.860107421875 +2019-05-31,2752.06005859375 +2019-06-03,2744.449951171875 +2019-06-04,2803.27001953125 +2019-06-05,2826.14990234375 +2019-06-06,2843.489990234375 +2019-06-07,2873.340087890625 +2019-06-10,2886.72998046875 +2019-06-11,2885.719970703125 +2019-06-12,2879.840087890625 +2019-06-13,2891.639892578125 +2019-06-14,2886.97998046875 +2019-06-17,2889.669921875 +2019-06-18,2917.75 +2019-06-19,2926.4599609375 +2019-06-20,2954.179931640625 +2019-06-21,2950.4599609375 +2019-06-24,2945.35009765625 +2019-06-25,2917.3798828125 +2019-06-26,2913.780029296875 +2019-06-27,2924.919921875 +2019-06-28,2941.760009765625 +2019-07-01,2964.330078125 +2019-07-02,2973.010009765625 +2019-07-03,2995.820068359375 +2019-07-05,2990.409912109375 +2019-07-08,2975.949951171875 +2019-07-09,2979.6298828125 +2019-07-10,2993.070068359375 +2019-07-11,2999.909912109375 +2019-07-12,3013.77001953125 +2019-07-15,3014.300048828125 +2019-07-16,3004.0400390625 +2019-07-17,2984.419921875 +2019-07-18,2995.110107421875 +2019-07-19,2976.610107421875 +2019-07-22,2985.030029296875 +2019-07-23,3005.469970703125 +2019-07-24,3019.56005859375 +2019-07-25,3003.669921875 +2019-07-26,3025.860107421875 +2019-07-29,3020.969970703125 +2019-07-30,3013.179931640625 +2019-07-31,2980.3798828125 +2019-08-01,2953.56005859375 +2019-08-02,2932.050048828125 +2019-08-05,2844.739990234375 +2019-08-06,2881.77001953125 +2019-08-07,2883.97998046875 +2019-08-08,2938.090087890625 +2019-08-09,2918.64990234375 +2019-08-12,2882.699951171875 +2019-08-13,2926.320068359375 +2019-08-14,2840.60009765625 +2019-08-15,2847.60009765625 +2019-08-16,2888.679931640625 +2019-08-19,2923.64990234375 +2019-08-20,2900.510009765625 +2019-08-21,2924.429931640625 +2019-08-22,2922.949951171875 +2019-08-23,2847.110107421875 +2019-08-26,2878.3798828125 +2019-08-27,2869.159912109375 +2019-08-28,2887.93994140625 +2019-08-29,2924.580078125 +2019-08-30,2926.4599609375 +2019-09-03,2906.27001953125 +2019-09-04,2937.780029296875 +2019-09-05,2976.0 +2019-09-06,2978.7099609375 +2019-09-09,2978.429931640625 +2019-09-10,2979.389892578125 +2019-09-11,3000.929931640625 +2019-09-12,3009.570068359375 +2019-09-13,3007.389892578125 +2019-09-16,2997.9599609375 +2019-09-17,3005.699951171875 +2019-09-18,3006.72998046875 +2019-09-19,3006.7900390625 +2019-09-20,2992.070068359375 +2019-09-23,2991.780029296875 +2019-09-24,2966.60009765625 +2019-09-25,2984.8701171875 +2019-09-26,2977.6201171875 +2019-09-27,2961.7900390625 +2019-09-30,2976.739990234375 +2019-10-01,2940.25 +2019-10-02,2887.610107421875 +2019-10-03,2910.6298828125 +2019-10-04,2952.010009765625 +2019-10-07,2938.7900390625 +2019-10-08,2893.06005859375 +2019-10-09,2919.39990234375 +2019-10-10,2938.1298828125 +2019-10-11,2970.27001953125 +2019-10-14,2966.14990234375 +2019-10-15,2995.679931640625 +2019-10-16,2989.68994140625 +2019-10-17,2997.949951171875 +2019-10-18,2986.199951171875 +2019-10-21,3006.719970703125 +2019-10-22,2995.989990234375 +2019-10-23,3004.52001953125 +2019-10-24,3010.2900390625 +2019-10-25,3022.550048828125 +2019-10-28,3039.419921875 +2019-10-29,3036.889892578125 +2019-10-30,3046.77001953125 +2019-10-31,3037.56005859375 +2019-11-01,3066.909912109375 +2019-11-04,3078.27001953125 +2019-11-05,3074.6201171875 +2019-11-06,3076.780029296875 +2019-11-07,3085.179931640625 +2019-11-08,3093.080078125 +2019-11-11,3087.010009765625 +2019-11-12,3091.840087890625 +2019-11-13,3094.0400390625 +2019-11-14,3096.6298828125 +2019-11-15,3120.4599609375 +2019-11-18,3122.030029296875 +2019-11-19,3120.179931640625 +2019-11-20,3108.4599609375 +2019-11-21,3103.5400390625 +2019-11-22,3110.2900390625 +2019-11-25,3133.639892578125 +2019-11-26,3140.52001953125 +2019-11-27,3153.6298828125 +2019-11-29,3140.97998046875 +2019-12-02,3113.8701171875 +2019-12-03,3093.199951171875 +2019-12-04,3112.760009765625 +2019-12-05,3117.429931640625 +2019-12-06,3145.909912109375 +2019-12-09,3135.9599609375 +2019-12-10,3132.52001953125 +2019-12-11,3141.6298828125 +2019-12-12,3168.570068359375 +2019-12-13,3168.800048828125 +2019-12-16,3191.449951171875 +2019-12-17,3192.52001953125 +2019-12-18,3191.139892578125 +2019-12-19,3205.3701171875 +2019-12-20,3221.219970703125 +2019-12-23,3224.010009765625 +2019-12-24,3223.3798828125 +2019-12-26,3239.909912109375 +2019-12-27,3240.02001953125 +2019-12-30,3221.2900390625 +2019-12-31,3230.780029296875 +2020-01-02,3257.85009765625 +2020-01-03,3234.85009765625 +2020-01-06,3246.280029296875 +2020-01-07,3237.179931640625 +2020-01-08,3253.050048828125 +2020-01-09,3274.699951171875 +2020-01-10,3265.35009765625 +2020-01-13,3288.1298828125 +2020-01-14,3283.14990234375 +2020-01-15,3289.2900390625 +2020-01-16,3316.81005859375 +2020-01-17,3329.6201171875 +2020-01-21,3320.7900390625 +2020-01-22,3321.75 +2020-01-23,3325.5400390625 +2020-01-24,3295.469970703125 +2020-01-27,3243.6298828125 +2020-01-28,3276.239990234375 +2020-01-29,3273.39990234375 +2020-01-30,3283.659912109375 +2020-01-31,3225.52001953125 +2020-02-03,3248.919921875 +2020-02-04,3297.590087890625 +2020-02-05,3334.68994140625 +2020-02-06,3345.780029296875 +2020-02-07,3327.7099609375 +2020-02-10,3352.090087890625 +2020-02-11,3357.75 +2020-02-12,3379.449951171875 +2020-02-13,3373.93994140625 +2020-02-14,3380.159912109375 +2020-02-18,3370.2900390625 +2020-02-19,3386.14990234375 +2020-02-20,3373.22998046875 +2020-02-21,3337.75 +2020-02-24,3225.889892578125 +2020-02-25,3128.2099609375 +2020-02-26,3116.389892578125 +2020-02-27,2978.760009765625 +2020-02-28,2954.219970703125 +2020-03-02,3090.22998046875 +2020-03-03,3003.3701171875 +2020-03-04,3130.1201171875 +2020-03-05,3023.93994140625 +2020-03-06,2972.3701171875 +2020-03-09,2746.56005859375 +2020-03-10,2882.22998046875 +2020-03-11,2741.3798828125 +2020-03-12,2480.639892578125 +2020-03-13,2711.02001953125 +2020-03-16,2386.1298828125 +2020-03-17,2529.18994140625 +2020-03-18,2398.10009765625 +2020-03-19,2409.389892578125 +2020-03-20,2304.919921875 +2020-03-23,2237.39990234375 +2020-03-24,2447.330078125 +2020-03-25,2475.56005859375 +2020-03-26,2630.070068359375 +2020-03-27,2541.469970703125 +2020-03-30,2626.64990234375 +2020-03-31,2584.590087890625 +2020-04-01,2470.5 +2020-04-02,2526.89990234375 +2020-04-03,2488.64990234375 +2020-04-06,2663.679931640625 +2020-04-07,2659.409912109375 +2020-04-08,2749.97998046875 +2020-04-09,2789.820068359375 +2020-04-13,2761.6298828125 +2020-04-14,2846.06005859375 +2020-04-15,2783.360107421875 +2020-04-16,2799.550048828125 +2020-04-17,2874.56005859375 +2020-04-20,2823.159912109375 +2020-04-21,2736.56005859375 +2020-04-22,2799.31005859375 +2020-04-23,2797.800048828125 +2020-04-24,2836.739990234375 +2020-04-27,2878.47998046875 +2020-04-28,2863.389892578125 +2020-04-29,2939.510009765625 +2020-04-30,2912.429931640625 +2020-05-01,2830.7099609375 +2020-05-04,2842.739990234375 +2020-05-05,2868.43994140625 +2020-05-06,2848.419921875 +2020-05-07,2881.18994140625 +2020-05-08,2929.800048828125 +2020-05-11,2930.18994140625 +2020-05-12,2870.1201171875 +2020-05-13,2820.0 +2020-05-14,2852.5 +2020-05-15,2863.699951171875 +2020-05-18,2953.909912109375 +2020-05-19,2922.93994140625 +2020-05-20,2971.610107421875 +2020-05-21,2948.510009765625 +2020-05-22,2955.449951171875 +2020-05-26,2991.77001953125 +2020-05-27,3036.1298828125 +2020-05-28,3029.72998046875 +2020-05-29,3044.31005859375 +2020-06-01,3055.72998046875 +2020-06-02,3080.820068359375 +2020-06-03,3122.8701171875 +2020-06-04,3112.35009765625 +2020-06-05,3193.929931640625 +2020-06-08,3232.389892578125 +2020-06-09,3207.179931640625 +2020-06-10,3190.139892578125 +2020-06-11,3002.10009765625 +2020-06-12,3041.31005859375 +2020-06-15,3066.590087890625 +2020-06-16,3124.739990234375 +2020-06-17,3113.489990234375 +2020-06-18,3115.340087890625 +2020-06-19,3097.739990234375 +2020-06-22,3117.860107421875 +2020-06-23,3131.2900390625 +2020-06-24,3050.330078125 +2020-06-25,3083.760009765625 +2020-06-26,3009.050048828125 +2020-06-29,3053.239990234375 +2020-06-30,3100.2900390625 +2020-07-01,3115.860107421875 +2020-07-02,3130.010009765625 +2020-07-06,3179.719970703125 +2020-07-07,3145.320068359375 +2020-07-08,3169.93994140625 +2020-07-09,3152.050048828125 +2020-07-10,3185.0400390625 +2020-07-13,3155.219970703125 +2020-07-14,3197.52001953125 +2020-07-15,3226.56005859375 +2020-07-16,3215.570068359375 +2020-07-17,3224.72998046875 +2020-07-20,3251.840087890625 +2020-07-21,3257.300048828125 +2020-07-22,3276.02001953125 +2020-07-23,3235.659912109375 +2020-07-24,3215.6298828125 +2020-07-27,3239.409912109375 +2020-07-28,3218.43994140625 +2020-07-29,3258.43994140625 +2020-07-30,3246.219970703125 +2020-07-31,3271.1201171875 +2020-08-03,3294.610107421875 +2020-08-04,3306.510009765625 +2020-08-05,3327.77001953125 +2020-08-06,3349.159912109375 +2020-08-07,3351.280029296875 +2020-08-10,3360.469970703125 +2020-08-11,3333.68994140625 +2020-08-12,3380.35009765625 +2020-08-13,3373.429931640625 +2020-08-14,3372.85009765625 +2020-08-17,3381.989990234375 +2020-08-18,3389.780029296875 +2020-08-19,3374.85009765625 +2020-08-20,3385.510009765625 +2020-08-21,3397.159912109375 +2020-08-24,3431.280029296875 +2020-08-25,3443.6201171875 +2020-08-26,3478.72998046875 +2020-08-27,3484.550048828125 +2020-08-28,3508.010009765625 +2020-08-31,3500.31005859375 +2020-09-01,3526.64990234375 +2020-09-02,3580.840087890625 +2020-09-03,3455.06005859375 +2020-09-04,3426.9599609375 +2020-09-08,3331.840087890625 +2020-09-09,3398.9599609375 +2020-09-10,3339.18994140625 +2020-09-11,3340.969970703125 +2020-09-14,3383.5400390625 +2020-09-15,3401.199951171875 +2020-09-16,3385.489990234375 +2020-09-17,3357.010009765625 +2020-09-18,3319.469970703125 +2020-09-21,3281.06005859375 +2020-09-22,3315.570068359375 +2020-09-23,3236.919921875 +2020-09-24,3246.590087890625 +2020-09-25,3298.4599609375 +2020-09-28,3351.60009765625 +2020-09-29,3335.469970703125 +2020-09-30,3363.0 +2020-10-01,3380.800048828125 +2020-10-02,3348.419921875 +2020-10-05,3408.60009765625 +2020-10-06,3360.969970703125 +2020-10-07,3419.43994140625 +2020-10-08,3446.830078125 +2020-10-09,3477.139892578125 +2020-10-12,3534.219970703125 +2020-10-13,3511.929931640625 +2020-10-14,3488.669921875 +2020-10-15,3483.340087890625 +2020-10-16,3483.81005859375 +2020-10-19,3426.919921875 +2020-10-20,3443.1201171875 +2020-10-21,3435.56005859375 +2020-10-22,3453.489990234375 +2020-10-23,3465.389892578125 +2020-10-26,3400.969970703125 +2020-10-27,3390.679931640625 +2020-10-28,3271.030029296875 +2020-10-29,3310.110107421875 +2020-10-30,3269.9599609375 +2020-11-02,3310.239990234375 +2020-11-03,3369.159912109375 +2020-11-04,3443.43994140625 +2020-11-05,3510.449951171875 +2020-11-06,3509.43994140625 +2020-11-09,3550.5 +2020-11-10,3545.530029296875 +2020-11-11,3572.659912109375 +2020-11-12,3537.010009765625 +2020-11-13,3585.14990234375 +2020-11-16,3626.909912109375 +2020-11-17,3609.530029296875 +2020-11-18,3567.7900390625 +2020-11-19,3581.8701171875 +2020-11-20,3557.5400390625 +2020-11-23,3577.590087890625 +2020-11-24,3635.409912109375 +2020-11-25,3629.64990234375 +2020-11-27,3638.35009765625 +2020-11-30,3621.6298828125 +2020-12-01,3662.449951171875 +2020-12-02,3669.010009765625 +2020-12-03,3666.719970703125 +2020-12-04,3699.1201171875 +2020-12-07,3691.9599609375 +2020-12-08,3702.25 +2020-12-09,3672.820068359375 +2020-12-10,3668.10009765625 +2020-12-11,3663.4599609375 +2020-12-14,3647.489990234375 +2020-12-15,3694.6201171875 +2020-12-16,3701.169921875 +2020-12-17,3722.47998046875 +2020-12-18,3709.409912109375 +2020-12-21,3694.919921875 +2020-12-22,3687.260009765625 +2020-12-23,3690.010009765625 +2020-12-24,3703.06005859375 +2020-12-28,3735.360107421875 +2020-12-29,3727.0400390625 +2020-12-30,3732.0400390625 +2020-12-31,3756.070068359375 +2021-01-04,3700.64990234375 +2021-01-05,3726.860107421875 +2021-01-06,3748.139892578125 +2021-01-07,3803.7900390625 +2021-01-08,3824.679931640625 +2021-01-11,3799.610107421875 +2021-01-12,3801.18994140625 +2021-01-13,3809.840087890625 +2021-01-14,3795.5400390625 +2021-01-15,3768.25 +2021-01-19,3798.909912109375 +2021-01-20,3851.85009765625 +2021-01-21,3853.070068359375 +2021-01-22,3841.469970703125 +2021-01-25,3855.360107421875 +2021-01-26,3849.6201171875 +2021-01-27,3750.77001953125 +2021-01-28,3787.3798828125 +2021-01-29,3714.239990234375 +2021-02-01,3773.860107421875 +2021-02-02,3826.31005859375 +2021-02-03,3830.169921875 +2021-02-04,3871.739990234375 +2021-02-05,3886.830078125 +2021-02-08,3915.590087890625 +2021-02-09,3911.22998046875 +2021-02-10,3909.8798828125 +2021-02-11,3916.3798828125 +2021-02-12,3934.830078125 +2021-02-16,3932.590087890625 +2021-02-17,3931.330078125 +2021-02-18,3913.969970703125 +2021-02-19,3906.7099609375 +2021-02-22,3876.5 +2021-02-23,3881.3701171875 +2021-02-24,3925.429931640625 +2021-02-25,3829.340087890625 +2021-02-26,3811.14990234375 +2021-03-01,3901.820068359375 +2021-03-02,3870.2900390625 +2021-03-03,3819.719970703125 +2021-03-04,3768.469970703125 +2021-03-05,3841.93994140625 +2021-03-08,3821.35009765625 +2021-03-09,3875.43994140625 +2021-03-10,3898.81005859375 +2021-03-11,3939.340087890625 +2021-03-12,3943.340087890625 +2021-03-15,3968.93994140625 +2021-03-16,3962.7099609375 +2021-03-17,3974.1201171875 +2021-03-18,3915.4599609375 +2021-03-19,3913.10009765625 +2021-03-22,3940.590087890625 +2021-03-23,3910.52001953125 +2021-03-24,3889.139892578125 +2021-03-25,3909.52001953125 +2021-03-26,3974.5400390625 +2021-03-29,3971.090087890625 +2021-03-30,3958.550048828125 +2021-03-31,3972.889892578125 +2021-04-01,4019.8701171875 +2021-04-05,4077.909912109375 +2021-04-06,4073.93994140625 +2021-04-07,4079.949951171875 +2021-04-08,4097.169921875 +2021-04-09,4128.7998046875 +2021-04-12,4127.990234375 +2021-04-13,4141.58984375 +2021-04-14,4124.66015625 +2021-04-15,4170.419921875 +2021-04-16,4185.47021484375 +2021-04-19,4163.259765625 +2021-04-20,4134.93994140625 +2021-04-21,4173.419921875 +2021-04-22,4134.97998046875 +2021-04-23,4180.169921875 +2021-04-26,4187.6201171875 +2021-04-27,4186.72021484375 +2021-04-28,4183.18017578125 +2021-04-29,4211.47021484375 +2021-04-30,4181.169921875 +2021-05-03,4192.66015625 +2021-05-04,4164.66015625 +2021-05-05,4167.58984375 +2021-05-06,4201.6201171875 +2021-05-07,4232.60009765625 +2021-05-10,4188.43017578125 +2021-05-11,4152.10009765625 +2021-05-12,4063.0400390625 +2021-05-13,4112.5 +2021-05-14,4173.85009765625 +2021-05-17,4163.2900390625 +2021-05-18,4127.830078125 +2021-05-19,4115.68017578125 +2021-05-20,4159.1201171875 +2021-05-21,4155.85986328125 +2021-05-24,4197.0498046875 +2021-05-25,4188.1298828125 +2021-05-26,4195.990234375 +2021-05-27,4200.8798828125 +2021-05-28,4204.10986328125 +2021-06-01,4202.0400390625 +2021-06-02,4208.1201171875 +2021-06-03,4192.85009765625 +2021-06-04,4229.89013671875 +2021-06-07,4226.52001953125 +2021-06-08,4227.259765625 +2021-06-09,4219.5498046875 +2021-06-10,4239.18017578125 +2021-06-11,4247.43994140625 +2021-06-14,4255.14990234375 +2021-06-15,4246.58984375 +2021-06-16,4223.7001953125 +2021-06-17,4221.85986328125 +2021-06-18,4166.4501953125 +2021-06-21,4224.7900390625 +2021-06-22,4246.43994140625 +2021-06-23,4241.83984375 +2021-06-24,4266.490234375 +2021-06-25,4280.7001953125 +2021-06-28,4290.60986328125 +2021-06-29,4291.7998046875 +2021-06-30,4297.5 +2021-07-01,4319.93994140625 +2021-07-02,4352.33984375 +2021-07-06,4343.5400390625 +2021-07-07,4358.1298828125 +2021-07-08,4320.81982421875 +2021-07-09,4369.5498046875 +2021-07-12,4384.6298828125 +2021-07-13,4369.2099609375 +2021-07-14,4374.2998046875 +2021-07-15,4360.02978515625 +2021-07-16,4327.16015625 +2021-07-19,4258.490234375 +2021-07-20,4323.06005859375 +2021-07-21,4358.68994140625 +2021-07-22,4367.47998046875 +2021-07-23,4411.7900390625 +2021-07-26,4422.2998046875 +2021-07-27,4401.4599609375 +2021-07-28,4400.64013671875 +2021-07-29,4419.14990234375 +2021-07-30,4395.259765625 +2021-08-02,4387.16015625 +2021-08-03,4423.14990234375 +2021-08-04,4402.66015625 +2021-08-05,4429.10009765625 +2021-08-06,4436.52001953125 +2021-08-09,4432.35009765625 +2021-08-10,4436.75 +2021-08-11,4442.41015625 +2021-08-12,4460.830078125 +2021-08-13,4468.0 +2021-08-16,4479.7099609375 +2021-08-17,4448.080078125 +2021-08-18,4400.27001953125 +2021-08-19,4405.7998046875 +2021-08-20,4441.669921875 +2021-08-23,4479.52978515625 +2021-08-24,4486.22998046875 +2021-08-25,4496.18994140625 +2021-08-26,4470.0 +2021-08-27,4509.3701171875 +2021-08-30,4528.7900390625 +2021-08-31,4522.68017578125 +2021-09-01,4524.08984375 +2021-09-02,4536.9501953125 +2021-09-03,4535.43017578125 +2021-09-07,4520.02978515625 +2021-09-08,4514.06982421875 +2021-09-09,4493.27978515625 +2021-09-10,4458.580078125 +2021-09-13,4468.72998046875 +2021-09-14,4443.0498046875 +2021-09-15,4480.7001953125 +2021-09-16,4473.75 +2021-09-17,4432.990234375 +2021-09-20,4357.72998046875 +2021-09-21,4354.18994140625 +2021-09-22,4395.64013671875 +2021-09-23,4448.97998046875 +2021-09-24,4455.47998046875 +2021-09-27,4443.10986328125 +2021-09-28,4352.6298828125 +2021-09-29,4359.4599609375 +2021-09-30,4307.5400390625 +2021-10-01,4357.0400390625 +2021-10-04,4300.4599609375 +2021-10-05,4345.72021484375 +2021-10-06,4363.5498046875 +2021-10-07,4399.759765625 +2021-10-08,4391.33984375 +2021-10-11,4361.18994140625 +2021-10-12,4350.64990234375 +2021-10-13,4363.7998046875 +2021-10-14,4438.259765625 +2021-10-15,4471.3701171875 +2021-10-18,4486.4599609375 +2021-10-19,4519.6298828125 +2021-10-20,4536.18994140625 +2021-10-21,4549.77978515625 +2021-10-22,4544.89990234375 +2021-10-25,4566.47998046875 +2021-10-26,4574.7900390625 +2021-10-27,4551.68017578125 +2021-10-28,4596.419921875 +2021-10-29,4605.3798828125 +2021-11-01,4613.669921875 +2021-11-02,4630.64990234375 +2021-11-03,4660.56982421875 +2021-11-04,4680.06005859375 +2021-11-05,4697.52978515625 +2021-11-08,4701.7001953125 +2021-11-09,4685.25 +2021-11-10,4646.7099609375 +2021-11-11,4649.27001953125 +2021-11-12,4682.85009765625 +2021-11-15,4682.7998046875 +2021-11-16,4700.89990234375 +2021-11-17,4688.669921875 +2021-11-18,4704.5400390625 +2021-11-19,4697.9599609375 +2021-11-22,4682.93994140625 +2021-11-23,4690.7001953125 +2021-11-24,4701.4599609375 +2021-11-26,4594.6201171875 +2021-11-29,4655.27001953125 +2021-11-30,4567.0 +2021-12-01,4513.0400390625 +2021-12-02,4577.10009765625 +2021-12-03,4538.43017578125 +2021-12-06,4591.669921875 +2021-12-07,4686.75 +2021-12-08,4701.2099609375 +2021-12-09,4667.4501953125 +2021-12-10,4712.02001953125 +2021-12-13,4668.97021484375 +2021-12-14,4634.08984375 +2021-12-15,4709.85009765625 +2021-12-16,4668.669921875 +2021-12-17,4620.64013671875 +2021-12-20,4568.02001953125 +2021-12-21,4649.22998046875 +2021-12-22,4696.56005859375 +2021-12-23,4725.7900390625 +2021-12-27,4791.18994140625 +2021-12-28,4786.35009765625 +2021-12-29,4793.06005859375 +2021-12-30,4778.72998046875 +2021-12-31,4766.18017578125 diff --git a/posterior_database/data/data-raw/stochastic_volatility/stochastic_volatility.py b/posterior_database/data/data-raw/stochastic_volatility/stochastic_volatility.py new file mode 100644 index 00000000..21455df7 --- /dev/null +++ b/posterior_database/data/data-raw/stochastic_volatility/stochastic_volatility.py @@ -0,0 +1,110 @@ +""" +Generate the data for the `stochastic_volatility` posterior in posteriordb. + +Model: stochastic volatility model of Hoffman & Gelman (2014), "The No-U-Turn +Sampler", pp. 1614-1615. The Stan model receives the raw price series `y` +(length T) and computes the log-returns internally in `transformed data`. + +The paper uses "3000 days of the S&P 500 index" but does not specify exact +dates, a ticker, or a data source. We therefore use a documented modern window +(2010-2022, excluding no period in particular but landing in a relatively calm +regime by construction of the 3000-day truncation) and download the index from +Yahoo Finance via yfinance. The raw download is cached to a CSV so the JSON can +be regenerated identically without re-hitting Yahoo's (unofficial) API. + +Output: data/data/stochastic_volatility.json.zip + -> contains stochastic_volatility.json with keys: + T : int number of trading days (prices) + y : list[float] closing price of the S&P 500 for each day, length T + +Usage: + python stochastic_volatility.py + +Requires: yfinance, pandas +""" + +import json +import os +import zipfile + +import pandas as pd + +# --- Configuration ----------------------------------------------------------- + +TICKER = "^GSPC" # S&P 500 index on Yahoo Finance +START = "2010-01-01" # modern, post-2008-crisis window +END = "2022-01-01" # ends before the 2022 drawdown +N_DAYS = 3000 # number of prices T (Hoffman & Gelman use "3000 days") + +# Paths are written relative to this script's location so it works regardless +# of the current working directory. The script lives in +# data/data-raw/stochastic_volatility/ and writes the zip into data/data/. +HERE = os.path.dirname(os.path.abspath(__file__)) +CSV_PATH = os.path.join(HERE, "sp500_raw.csv") +# data-raw/stochastic_volatility/ -> data-raw/ -> data/ +DATA_DIR = os.path.normpath(os.path.join(HERE, "..", "..", "data")) +JSON_NAME = "stochastic_volatility.json" +ZIP_PATH = os.path.join(DATA_DIR, "stochastic_volatility.json.zip") + + +# --- Step 1: get the raw price series (download once, then cache) ------------ + +def load_prices(): + if os.path.exists(CSV_PATH): + print(f"Reading cached prices from {CSV_PATH}") + df = pd.read_csv(CSV_PATH, parse_dates=["Date"]) + else: + print(f"Downloading {TICKER} from Yahoo Finance ({START} -> {END})") + import yfinance as yf + raw = yf.download( + TICKER, start=START, end=END, progress=False, auto_adjust=False + ) + if raw.empty: + raise RuntimeError( + "Download returned no data. Yahoo's API may be temporarily " + "unavailable; try again or supply sp500_raw.csv manually." + ) + # yfinance can return a MultiIndex column when one ticker is requested; + # flatten it and keep the closing price. + close = raw["Close"] + if isinstance(close, pd.DataFrame): + close = close.iloc[:, 0] + df = close.reset_index() + df.columns = ["Date", "Close"] + df.to_csv(CSV_PATH, index=False) + print(f"Cached raw prices to {CSV_PATH} ({len(df)} rows)") + return df + + +# --- Step 2: build T and y, then write the zipped JSON ----------------------- + +def main(): + df = load_prices() + df = df.dropna(subset=["Close"]).sort_values("Date").reset_index(drop=True) + + if len(df) < N_DAYS: + raise RuntimeError( + f"Only {len(df)} trading days available; need {N_DAYS}. " + "Widen the START/END window." + ) + + # Take the first N_DAYS trading days of the window. + prices = df["Close"].iloc[:N_DAYS].astype(float).tolist() + + data = { + "T": N_DAYS, + "y": prices, + } + + os.makedirs(DATA_DIR, exist_ok=True) + with zipfile.ZipFile(ZIP_PATH, "w", zipfile.ZIP_DEFLATED) as zf: + zf.writestr(JSON_NAME, json.dumps(data)) + + print(f"Wrote {ZIP_PATH}") + print(f" T = {data['T']}") + print(f" y: {len(data['y'])} prices, " + f"range [{min(prices):.2f}, {max(prices):.2f}]") + + +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/posterior_database/data/data/stochastic_volatility.json.zip b/posterior_database/data/data/stochastic_volatility.json.zip new file mode 100644 index 0000000000000000000000000000000000000000..627a0b0b612b2c55c86d1eb10e5c69ba89b79ce9 GIT binary patch literal 12091 zcmZ{qQ*b2=kcH!9V%xTD8#lI{iEY~xJGrrKXM%}s+qSd+?)!E>oT{#V?dqy?K7brJ z1Ud)^2noBmJiFJ7=~|C z-#nWu%bA{)rIB|*Hf~gxbe|iqsSA($Wz)iobGPl4?_A%n=H8cAHsl-qhTF!8@7zj5 zp_0R~l^KkQ>JJZzmsjhvkConlV;GQ2p7#^r?}Yr0`Nb7Rp_lGj4Udm7k?uQ}@7m{u z2iaQffMpo$=a0M>58JDJzL1kjA&%BwWDV_C*4{Tnxh}o z+I>evLKAR1Jmq24P=g)ed+y_;R`&N9SoE8N^MFMD?Pvl05`q4rllx`M2XLGR%i!nz z;Y@4lJk&z%vp>*P^B(MDVIT)2u@%FS`au99gqZu6#C1R@E3Xj=c-ym16oN^{n5;Krh z(I^Td$N@}{0lHr4lwL46HrJt{C=5*iO7S#?cymzJz-rxHu^`J2=A+hzzz=K`UH(B! zh@sPylQ{Y7Z}t$E%h~o~|9=HL%xQ#86 z6>4Q(?p6qgtkWFWY3mG#1k-cyB#uQi$0Kf;9O29nky>OFfdT^Z9`{q;i&zH2+xGr% z*X|vnAY!Fj#;6aEE_cK)i3R4GBLqmWs=j}^S9e!1eO1Z&MjO~T3P@kCV<-XSZ*g1( zTpUGg;@>L4eSrZ{iA~h8ML+-p<)LgnYGuhCsoD3JWG-=DAjzNitdEl!B-Bde7AkQB zYgeQsU#{T!22fx~QDVN~m-`nTOjiUt`_9->z7A*O;wPrfp?d-6; zezzg_q%#X@-S*)*kk>u3o10bD$u*WK!!_voW*)!nfM>y4CrGPiL)^*^eKu>Gz45qF ze*ul)nwuVsT%K}tVpo@o2v-u$IB^aiHtkVUBs6Jbte^Z)p&-E?D!REd^QoIFR}l*N zQAvm1V^tw}ye8LK-rlAv5!FU6@i)L+Fbrcza@0B&eqW)jx>i8_$I8WvKrb~(iq-@b zWSAR(LiZadyks%IP6zw*v(USf_4X04FVx_&ir5eoQhG0e$H0 zw&K;KXuZ!)lNFLO$oCJPbQ?t~Tro072}mErEFKK7;U>Yn)1yWzh?eyO<_GFcE$bqs zL`9Q!0CE&uu1W~6)A-l4urK45-4Uv*{4JIj7;0GBY$=-kDTm|beB8zv2Q3aR8EEQR zBaJJGa}6qffn_yTI`Og`*NWj?=8SL%r)qE{n?RHv+j>fYSp6t!)>0}%i(582{j?st zKm%83A-G^DVVE`w!rW%c4mp98a5#jvs1#M>ay@;N=@V;=c)}kN%{2?|BBQJ3SR1F| z4ot2Kn>#Y3tpRfBnqhKjhGVEoNTvB2|xU zOL_QRd_p)4C=MMq4*x!OIR%jxZY<+|=%%MaTN_lhRO|Wtq4TIfA

ygiNm0_7_Ntl=bQk$EfC5_u%f;*Wh7i?VnPye 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 z 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 bmH!`h2gpG}{qF|oe=Yr=ZvBVIgMj=GivP8` literal 0 HcmV?d00001 diff --git a/posterior_database/data/info/stochastic_volatility.info.json b/posterior_database/data/info/stochastic_volatility.info.json new file mode 100644 index 00000000..2658a109 --- /dev/null +++ b/posterior_database/data/info/stochastic_volatility.info.json @@ -0,0 +1,11 @@ +{ + "name": "stochastic_volatility", + "keywords": ["time_series", "stochastic_volatility", "marginalized"], + "title": "Stochastic Volatility Model with Marginalized Precision", + "description": "Stochastic volatility model from Hoffman & Gelman (2014, NUTS paper, p. 1614-1615). Daily log-returns follow a Student-t distribution with time-varying scale s_i. The log-scale follows a Gaussian random walk with precision tau, which is marginalized analytically. Resulting posterior is (T+1)-dimensional over (s, nu).", + "urls": "https://www.jmlr.org/papers/v15/hoffman14a.html", + "data_file": "data/data/stochastic_volatility.json", + "references": "hoffman2014nuts", + "added_date": "2026-05-21", + "added_by": "Colin Pochart" +} \ No newline at end of file diff --git a/posterior_database/posteriors/stochastic_volatility-stochastic_volatility.json b/posterior_database/posteriors/stochastic_volatility-stochastic_volatility.json new file mode 100644 index 00000000..41641e32 --- /dev/null +++ b/posterior_database/posteriors/stochastic_volatility-stochastic_volatility.json @@ -0,0 +1,15 @@ +{ + "name": "stochastic_volatility-stochastic_volatility", + "keywords": ["stan benchmark", "stochastic volatility", "time series", "nuts paper"], + "urls": "https://arxiv.org/abs/1111.4246", + "model_name": "stochastic_volatility", + "data_name": "stochastic_volatility", + "reference_posterior_name": null, + "references": ["hoffman2014nuts"], + "dimensions": { + "nu": 1, + "s": 3000 + }, + "added_date": "2026-05-28", + "added_by": "Colin Pochart" +} \ No newline at end of file diff --git a/posterior_database/run_reference_stochastic_volatility.py b/posterior_database/run_reference_stochastic_volatility.py new file mode 100644 index 00000000..43f4649c --- /dev/null +++ b/posterior_database/run_reference_stochastic_volatility.py @@ -0,0 +1,278 @@ +""" +Run the HMC reference posterior for `stochastic_volatility-stochastic_volatility` +and export it in posteriordb format. + +Model A (faithful to Hoffman & Gelman 2014): centered parameterization, tau +marginalized analytically, 3001-dimensional posterior over (s, nu). + +This script: + 1. Compiles the Stan model with CmdStanPy. + 2. Runs HMC with the posteriordb-standard sampler config (10 chains, + 20000 iter, 10000 warmup, thin 10, adapt_delta 0.99, max_treedepth 20). + 3. Computes every diagnostic in posteriordb's `checks_made`: + ndraws == 10000, nchains >= 4, R-hat < 1.01, bulk/tail ESS, + E-FMI > 0.2, |lag-1 autocorr| < 0.05, divergences. + 4. Prints a PASS/FAIL summary so you know immediately whether the run + qualifies as a reference posterior. + 5. If it passes (or with --force), writes the two reference files: + reference_posteriors/draws/draws/.json.zip (#7) + reference_posteriors/draws/info/.info.json (#8) + +Expected runtime: hours. A 3001-D centered SV posterior is a hard target +(funnel geometry); divergences and R-hat failures are plausible. Read the +diagnostics before trusting the output. + +Usage: + python run_reference_posterior.py # run, diagnose, write if pass + python run_reference_posterior.py --force # write files even if checks fail + python run_reference_posterior.py --dry-run # show config and paths, no run + +Requires: cmdstanpy, numpy, arviz +Adjust REPO_ROOT / paths below to match your clone if needed. +""" + +import argparse +import json +import os +import platform +import zipfile +from datetime import date + +import numpy as np + +# --- Configuration ----------------------------------------------------------- + +NAME = "stochastic_volatility-stochastic_volatility" +MODEL_NAME = "stochastic_volatility" +DATA_NAME = "stochastic_volatility" +ADDED_BY = "Colin Pochart" + +# Sampler config — identical to the posteriordb standard (cf. diamonds). +CHAINS = 10 +ITER_SAMPLING = 10000 # post-warmup draws per chain, BEFORE thinning +ITER_WARMUP = 10000 +THIN = 10 +SEED = 4711 +ADAPT_DELTA = 0.99 +MAX_TREEDEPTH = 20 +# After thinning: 10000/10 = 1000 draws/chain * 10 chains = 10000 total draws. + +# Paths — edit REPO_ROOT to point at your posterior_database directory. +REPO_ROOT = os.path.normpath( + os.path.join(os.path.dirname(os.path.abspath(__file__)), + "..", "..", "..", "..") +) +# If the auto-detected root is wrong, hardcode it, e.g.: +REPO_ROOT = r"C:\Users\colin\Documents\Projet_stage\posteriordb\posterior_database" + +STAN_FILE = os.path.join(REPO_ROOT, "models", "stan", f"{MODEL_NAME}.stan") +DATA_ZIP = os.path.join(REPO_ROOT, "data", "data", f"{DATA_NAME}.json.zip") +DRAWS_ZIP = os.path.join(REPO_ROOT, "reference_posteriors", "draws", "draws", + f"{NAME}.json.zip") +INFO_JSON = os.path.join(REPO_ROOT, "reference_posteriors", "draws", "info", + f"{NAME}.info.json") + + +# --- Helpers ----------------------------------------------------------------- + +def load_stan_data(): + """Read the {T, y} dict back out of the zipped JSON data file.""" + with zipfile.ZipFile(DATA_ZIP) as zf: + inner = zf.namelist()[0] + return json.loads(zf.read(inner)) + + +def lag1_autocorr(x): + """Lag-1 autocorrelation of a 1D array.""" + x = np.asarray(x, dtype=float) + x = x - x.mean() + denom = np.sum(x * x) + if denom == 0: + return 0.0 + return float(np.sum(x[:-1] * x[1:]) / denom) + + +# --- Main -------------------------------------------------------------------- + +def main(): + ap = argparse.ArgumentParser() + ap.add_argument("--force", action="store_true", + help="write reference files even if checks fail") + ap.add_argument("--dry-run", action="store_true", + help="print config and exit without sampling") + args = ap.parse_args() + + print("=" * 60) + print(f"Reference posterior run: {NAME}") + print(f" stan file : {STAN_FILE}") + print(f" data zip : {DATA_ZIP}") + print(f" draws out : {DRAWS_ZIP}") + print(f" info out : {INFO_JSON}") + print(f" config : {CHAINS} chains, {ITER_SAMPLING} iter " + f"(+{ITER_WARMUP} warmup), thin {THIN}, " + f"adapt_delta {ADAPT_DELTA}, max_treedepth {MAX_TREEDEPTH}") + print("=" * 60) + if args.dry_run: + return + + from cmdstanpy import CmdStanModel + import arviz as az + + data = load_stan_data() + print(f"Loaded data: T = {data['T']}, len(y) = {len(data['y'])}") + + model = CmdStanModel(stan_file=STAN_FILE) + print("Model compiled. Starting sampling (this will take a while)...") + + fit = model.sample( + data=data, + chains=CHAINS, + parallel_chains=CHAINS, + iter_sampling=ITER_SAMPLING, + iter_warmup=ITER_WARMUP, + thin=THIN, + seed=SEED, + adapt_delta=ADAPT_DELTA, + max_treedepth=MAX_TREEDEPTH, + show_progress=True, + ) + + # --- Diagnostics via ArviZ ----------------------------------------------- + idata = az.from_cmdstanpy(fit) + # Model parameters only: nu (scalar) and s[1..T] (vector). Exclude lp__ etc. + param_names = ["nu"] + [f"s[{i}]" for i in range(1, data["T"] + 1)] + + summary = az.summary(idata, var_names=["nu", "s"], + round_to=None, kind="all") + rhat = summary["r_hat"].to_numpy() + ess_bulk = summary["ess_bulk"].to_numpy() + ess_tail = summary["ess_tail"].to_numpy() + + # Per-chain diagnostics from the sampler. + method_vars = fit.method_variables() + divergences = method_vars["divergent__"].sum(axis=0).astype(int).tolist() + + # E-FMI per chain. + try: + efmi = az.bfmi(idata).to_numpy().tolist() + except Exception: + efmi = az.bfmi(idata).tolist() + + # Lag-1 autocorrelation: mean over chains, per parameter. + post = idata.posterior + stacked = {} + nu_draws = post["nu"].to_numpy() # shape (chain, draw) + stacked["nu"] = nu_draws + s_draws = post["s"].to_numpy() # shape (chain, draw, T) + ndraws_total = nu_draws.shape[0] * nu_draws.shape[1] + + lag1 = [] + for c in range(nu_draws.shape[0]): + lag1.append(lag1_autocorr(nu_draws[c])) + mean_lag1_nu = float(np.mean(lag1)) + + # --- Evaluate checks_made ------------------------------------------------- + checks = { + "ndraws_is_10k": ndraws_total == 10000, + "nchains_is_gte_4": CHAINS >= 4, + "ess_within_bounds": bool(np.all(ess_bulk > 400) + and np.all(ess_tail > 400)), + "r_hat_below_1_01": bool(np.all(rhat < 1.01)), + "efmi_above_0_2": bool(np.all(np.array(efmi) > 0.2)), + "abs_mean_lag1_ac_below_0_05": bool(abs(mean_lag1_nu) < 0.05), + } + total_divergences = int(np.sum(divergences)) + + print("\n" + "=" * 60) + print("DIAGNOSTIC SUMMARY") + print(f" total draws : {ndraws_total}") + print(f" max R-hat : {np.max(rhat):.5f} " + f"(need < 1.01)") + print(f" min bulk ESS : {np.min(ess_bulk):.1f}") + print(f" min tail ESS : {np.min(ess_tail):.1f}") + print(f" min E-FMI : {np.min(efmi):.4f} (need > 0.2)") + print(f" total divergences : {total_divergences}") + print(f" divergences/chain : {divergences}") + print(" checks_made:") + for k, v in checks.items(): + print(f" {'PASS' if v else 'FAIL'} {k}") + all_pass = all(checks.values()) and total_divergences == 0 + print(f"\n OVERALL: {'PASS' if all_pass else 'FAIL'}") + print("=" * 60) + + if not all_pass and not args.force: + print("\nChecks did not all pass. No files written.") + print("Options: investigate diagnostics, re-run with more iterations,") + print("or submit the posterior without a reference " + "(reference_posterior_name: null).") + print("Use --force to write the files anyway.") + return + + # --- Export #7: draws json.zip ------------------------------------------- + # Format: list of dicts, each {param_name: [draws...]}. + # Vectors flattened with 1-based indexing: s[1], s[2], ... + chains_out = [] + nchains, ndraws_per_chain = nu_draws.shape + for c in range(nchains): + chain_dict = {"nu": nu_draws[c].tolist()} + for i in range(data["T"]): + chain_dict[f"s[{i + 1}]"] = s_draws[c, :, i].tolist() + chains_out.append(chain_dict) + + os.makedirs(os.path.dirname(DRAWS_ZIP), exist_ok=True) + inner_name = f"{NAME}.json" + with zipfile.ZipFile(DRAWS_ZIP, "w", zipfile.ZIP_DEFLATED) as zf: + zf.writestr(inner_name, json.dumps(chains_out)) + print(f"Wrote draws: {DRAWS_ZIP}") + + # --- Export #8: info.json ------------------------------------------------ + diag_names = ["nu"] + [f"s[{i}]" for i in range(1, data["T"] + 1)] + info = { + "name": NAME, + "inference": { + "method": "stan_sampling", + "method_arguments": { + "chains": CHAINS, + "iter": ITER_SAMPLING + ITER_WARMUP, + "warmup": ITER_WARMUP, + "thin": THIN, + "seed": SEED, + "control": { + "adapt_delta": ADAPT_DELTA, + "max_treedepth": MAX_TREEDEPTH, + }, + }, + }, + "diagnostics": { + "diagnostic_information": {"names": diag_names}, + "ndraws": ndraws_total, + "nchains": CHAINS, + "effective_sample_size_bulk": ess_bulk.tolist(), + "effective_sample_size_tail": ess_tail.tolist(), + "r_hat": rhat.tolist(), + "divergent_transitions": divergences, + "expected_fraction_of_missing_information": list(efmi), + "mean_lag1_ac": [mean_lag1_nu], + }, + "checks_made": checks, + "comments": ("Model A: faithful to Hoffman & Gelman (2014), centered " + "parameterization with tau marginalized analytically."), + "added_by": ADDED_BY, + "added_date": str(date.today()), + "versions": { + "cmdstanpy_run": True, + "python_version": platform.python_version(), + "platform": platform.platform(), + }, + } + os.makedirs(os.path.dirname(INFO_JSON), exist_ok=True) + with open(INFO_JSON, "w") as f: + json.dump(info, f, indent=2) + print(f"Wrote info: {INFO_JSON}") + print("\nDone. Don't forget to set reference_posterior_name in the " + "posterior coupling file to:") + print(f' "{NAME}"') + + +if __name__ == "__main__": + main() \ No newline at end of file From 109fcd9150999f1510b3ee7452bcc7fa3bc33b30 Mon Sep 17 00:00:00 2001 From: Colin Pochart Date: Mon, 1 Jun 2026 10:59:21 +0200 Subject: [PATCH 03/16] dataset T = 3000 to stay loyal to the article --- .../data/data/stochastic_volatility.json.zip | Bin 12091 -> 12102 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/posterior_database/data/data/stochastic_volatility.json.zip b/posterior_database/data/data/stochastic_volatility.json.zip index 627a0b0b612b2c55c86d1eb10e5c69ba89b79ce9..c59cc3abc9fd26040e78735e2794d2f4205e9909 100644 GIT binary patch delta 7816 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 R@Xe)@{VqcW-7WwC007!9coqNv From 66fb3341d4dee1816d8962d5272635a67a251771 Mon Sep 17 00:00:00 2001 From: Colin Pochart Date: Mon, 1 Jun 2026 11:08:12 +0200 Subject: [PATCH 04/16] Add gitignore for local computation scripts --- .gitignore | Bin 241 -> 519 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/.gitignore b/.gitignore index f52c457ae09d5d5089951061aca5f9e9a191bb6a..8eb5791a4abb56d83649a883452f4683525d94b9 100644 GIT binary patch literal 519 zcma)1L2kn!5Zp5oAMpX+P$@Z9k*wYk1`=p(gJ507zwg+Iszk~m2iRd}c7|2cT2|w% zi$RK7toyN-pj97J<6PILUa9$8EiKfi?klCYY^6~B!$g1lID8&e{Kje zD}DseQ-QuvrbbMGDkb1bhCEqxEDbmfj7E2%8BE3NylVsA4#@1&89450hKob@7hdD; ulTZ`q)t$IWQ@qrdyYlw4ZW9WpwIW8&i5??Jk`J3_M1PC_=%qY literal 241 zcmZvW!3u*g5Jd0$DLEwHP|#x$q<2}9rAZsjlB{6<-jq`6!OI-xJ($r;D{JW$y?bHT6b4wQ^$ifN^L0(lL From 1a6cb7011a4514de280c0d338aef0c32cdc033f0 Mon Sep 17 00:00:00 2001 From: Colin Pochart Date: Mon, 1 Jun 2026 11:09:33 +0200 Subject: [PATCH 05/16] Untrack local computation script --- .../run_reference_stochastic_volatility.py | 278 ------------------ 1 file changed, 278 deletions(-) delete mode 100644 posterior_database/run_reference_stochastic_volatility.py diff --git a/posterior_database/run_reference_stochastic_volatility.py b/posterior_database/run_reference_stochastic_volatility.py deleted file mode 100644 index 43f4649c..00000000 --- a/posterior_database/run_reference_stochastic_volatility.py +++ /dev/null @@ -1,278 +0,0 @@ -""" -Run the HMC reference posterior for `stochastic_volatility-stochastic_volatility` -and export it in posteriordb format. - -Model A (faithful to Hoffman & Gelman 2014): centered parameterization, tau -marginalized analytically, 3001-dimensional posterior over (s, nu). - -This script: - 1. Compiles the Stan model with CmdStanPy. - 2. Runs HMC with the posteriordb-standard sampler config (10 chains, - 20000 iter, 10000 warmup, thin 10, adapt_delta 0.99, max_treedepth 20). - 3. Computes every diagnostic in posteriordb's `checks_made`: - ndraws == 10000, nchains >= 4, R-hat < 1.01, bulk/tail ESS, - E-FMI > 0.2, |lag-1 autocorr| < 0.05, divergences. - 4. Prints a PASS/FAIL summary so you know immediately whether the run - qualifies as a reference posterior. - 5. If it passes (or with --force), writes the two reference files: - reference_posteriors/draws/draws/.json.zip (#7) - reference_posteriors/draws/info/.info.json (#8) - -Expected runtime: hours. A 3001-D centered SV posterior is a hard target -(funnel geometry); divergences and R-hat failures are plausible. Read the -diagnostics before trusting the output. - -Usage: - python run_reference_posterior.py # run, diagnose, write if pass - python run_reference_posterior.py --force # write files even if checks fail - python run_reference_posterior.py --dry-run # show config and paths, no run - -Requires: cmdstanpy, numpy, arviz -Adjust REPO_ROOT / paths below to match your clone if needed. -""" - -import argparse -import json -import os -import platform -import zipfile -from datetime import date - -import numpy as np - -# --- Configuration ----------------------------------------------------------- - -NAME = "stochastic_volatility-stochastic_volatility" -MODEL_NAME = "stochastic_volatility" -DATA_NAME = "stochastic_volatility" -ADDED_BY = "Colin Pochart" - -# Sampler config — identical to the posteriordb standard (cf. diamonds). -CHAINS = 10 -ITER_SAMPLING = 10000 # post-warmup draws per chain, BEFORE thinning -ITER_WARMUP = 10000 -THIN = 10 -SEED = 4711 -ADAPT_DELTA = 0.99 -MAX_TREEDEPTH = 20 -# After thinning: 10000/10 = 1000 draws/chain * 10 chains = 10000 total draws. - -# Paths — edit REPO_ROOT to point at your posterior_database directory. -REPO_ROOT = os.path.normpath( - os.path.join(os.path.dirname(os.path.abspath(__file__)), - "..", "..", "..", "..") -) -# If the auto-detected root is wrong, hardcode it, e.g.: -REPO_ROOT = r"C:\Users\colin\Documents\Projet_stage\posteriordb\posterior_database" - -STAN_FILE = os.path.join(REPO_ROOT, "models", "stan", f"{MODEL_NAME}.stan") -DATA_ZIP = os.path.join(REPO_ROOT, "data", "data", f"{DATA_NAME}.json.zip") -DRAWS_ZIP = os.path.join(REPO_ROOT, "reference_posteriors", "draws", "draws", - f"{NAME}.json.zip") -INFO_JSON = os.path.join(REPO_ROOT, "reference_posteriors", "draws", "info", - f"{NAME}.info.json") - - -# --- Helpers ----------------------------------------------------------------- - -def load_stan_data(): - """Read the {T, y} dict back out of the zipped JSON data file.""" - with zipfile.ZipFile(DATA_ZIP) as zf: - inner = zf.namelist()[0] - return json.loads(zf.read(inner)) - - -def lag1_autocorr(x): - """Lag-1 autocorrelation of a 1D array.""" - x = np.asarray(x, dtype=float) - x = x - x.mean() - denom = np.sum(x * x) - if denom == 0: - return 0.0 - return float(np.sum(x[:-1] * x[1:]) / denom) - - -# --- Main -------------------------------------------------------------------- - -def main(): - ap = argparse.ArgumentParser() - ap.add_argument("--force", action="store_true", - help="write reference files even if checks fail") - ap.add_argument("--dry-run", action="store_true", - help="print config and exit without sampling") - args = ap.parse_args() - - print("=" * 60) - print(f"Reference posterior run: {NAME}") - print(f" stan file : {STAN_FILE}") - print(f" data zip : {DATA_ZIP}") - print(f" draws out : {DRAWS_ZIP}") - print(f" info out : {INFO_JSON}") - print(f" config : {CHAINS} chains, {ITER_SAMPLING} iter " - f"(+{ITER_WARMUP} warmup), thin {THIN}, " - f"adapt_delta {ADAPT_DELTA}, max_treedepth {MAX_TREEDEPTH}") - print("=" * 60) - if args.dry_run: - return - - from cmdstanpy import CmdStanModel - import arviz as az - - data = load_stan_data() - print(f"Loaded data: T = {data['T']}, len(y) = {len(data['y'])}") - - model = CmdStanModel(stan_file=STAN_FILE) - print("Model compiled. Starting sampling (this will take a while)...") - - fit = model.sample( - data=data, - chains=CHAINS, - parallel_chains=CHAINS, - iter_sampling=ITER_SAMPLING, - iter_warmup=ITER_WARMUP, - thin=THIN, - seed=SEED, - adapt_delta=ADAPT_DELTA, - max_treedepth=MAX_TREEDEPTH, - show_progress=True, - ) - - # --- Diagnostics via ArviZ ----------------------------------------------- - idata = az.from_cmdstanpy(fit) - # Model parameters only: nu (scalar) and s[1..T] (vector). Exclude lp__ etc. - param_names = ["nu"] + [f"s[{i}]" for i in range(1, data["T"] + 1)] - - summary = az.summary(idata, var_names=["nu", "s"], - round_to=None, kind="all") - rhat = summary["r_hat"].to_numpy() - ess_bulk = summary["ess_bulk"].to_numpy() - ess_tail = summary["ess_tail"].to_numpy() - - # Per-chain diagnostics from the sampler. - method_vars = fit.method_variables() - divergences = method_vars["divergent__"].sum(axis=0).astype(int).tolist() - - # E-FMI per chain. - try: - efmi = az.bfmi(idata).to_numpy().tolist() - except Exception: - efmi = az.bfmi(idata).tolist() - - # Lag-1 autocorrelation: mean over chains, per parameter. - post = idata.posterior - stacked = {} - nu_draws = post["nu"].to_numpy() # shape (chain, draw) - stacked["nu"] = nu_draws - s_draws = post["s"].to_numpy() # shape (chain, draw, T) - ndraws_total = nu_draws.shape[0] * nu_draws.shape[1] - - lag1 = [] - for c in range(nu_draws.shape[0]): - lag1.append(lag1_autocorr(nu_draws[c])) - mean_lag1_nu = float(np.mean(lag1)) - - # --- Evaluate checks_made ------------------------------------------------- - checks = { - "ndraws_is_10k": ndraws_total == 10000, - "nchains_is_gte_4": CHAINS >= 4, - "ess_within_bounds": bool(np.all(ess_bulk > 400) - and np.all(ess_tail > 400)), - "r_hat_below_1_01": bool(np.all(rhat < 1.01)), - "efmi_above_0_2": bool(np.all(np.array(efmi) > 0.2)), - "abs_mean_lag1_ac_below_0_05": bool(abs(mean_lag1_nu) < 0.05), - } - total_divergences = int(np.sum(divergences)) - - print("\n" + "=" * 60) - print("DIAGNOSTIC SUMMARY") - print(f" total draws : {ndraws_total}") - print(f" max R-hat : {np.max(rhat):.5f} " - f"(need < 1.01)") - print(f" min bulk ESS : {np.min(ess_bulk):.1f}") - print(f" min tail ESS : {np.min(ess_tail):.1f}") - print(f" min E-FMI : {np.min(efmi):.4f} (need > 0.2)") - print(f" total divergences : {total_divergences}") - print(f" divergences/chain : {divergences}") - print(" checks_made:") - for k, v in checks.items(): - print(f" {'PASS' if v else 'FAIL'} {k}") - all_pass = all(checks.values()) and total_divergences == 0 - print(f"\n OVERALL: {'PASS' if all_pass else 'FAIL'}") - print("=" * 60) - - if not all_pass and not args.force: - print("\nChecks did not all pass. No files written.") - print("Options: investigate diagnostics, re-run with more iterations,") - print("or submit the posterior without a reference " - "(reference_posterior_name: null).") - print("Use --force to write the files anyway.") - return - - # --- Export #7: draws json.zip ------------------------------------------- - # Format: list of dicts, each {param_name: [draws...]}. - # Vectors flattened with 1-based indexing: s[1], s[2], ... - chains_out = [] - nchains, ndraws_per_chain = nu_draws.shape - for c in range(nchains): - chain_dict = {"nu": nu_draws[c].tolist()} - for i in range(data["T"]): - chain_dict[f"s[{i + 1}]"] = s_draws[c, :, i].tolist() - chains_out.append(chain_dict) - - os.makedirs(os.path.dirname(DRAWS_ZIP), exist_ok=True) - inner_name = f"{NAME}.json" - with zipfile.ZipFile(DRAWS_ZIP, "w", zipfile.ZIP_DEFLATED) as zf: - zf.writestr(inner_name, json.dumps(chains_out)) - print(f"Wrote draws: {DRAWS_ZIP}") - - # --- Export #8: info.json ------------------------------------------------ - diag_names = ["nu"] + [f"s[{i}]" for i in range(1, data["T"] + 1)] - info = { - "name": NAME, - "inference": { - "method": "stan_sampling", - "method_arguments": { - "chains": CHAINS, - "iter": ITER_SAMPLING + ITER_WARMUP, - "warmup": ITER_WARMUP, - "thin": THIN, - "seed": SEED, - "control": { - "adapt_delta": ADAPT_DELTA, - "max_treedepth": MAX_TREEDEPTH, - }, - }, - }, - "diagnostics": { - "diagnostic_information": {"names": diag_names}, - "ndraws": ndraws_total, - "nchains": CHAINS, - "effective_sample_size_bulk": ess_bulk.tolist(), - "effective_sample_size_tail": ess_tail.tolist(), - "r_hat": rhat.tolist(), - "divergent_transitions": divergences, - "expected_fraction_of_missing_information": list(efmi), - "mean_lag1_ac": [mean_lag1_nu], - }, - "checks_made": checks, - "comments": ("Model A: faithful to Hoffman & Gelman (2014), centered " - "parameterization with tau marginalized analytically."), - "added_by": ADDED_BY, - "added_date": str(date.today()), - "versions": { - "cmdstanpy_run": True, - "python_version": platform.python_version(), - "platform": platform.platform(), - }, - } - os.makedirs(os.path.dirname(INFO_JSON), exist_ok=True) - with open(INFO_JSON, "w") as f: - json.dump(info, f, indent=2) - print(f"Wrote info: {INFO_JSON}") - print("\nDone. Don't forget to set reference_posterior_name in the " - "posterior coupling file to:") - print(f' "{NAME}"') - - -if __name__ == "__main__": - main() \ No newline at end of file From 0198ed530d0b5068ed191197998760307ab8061a Mon Sep 17 00:00:00 2001 From: Colin Pochart Date: Mon, 1 Jun 2026 11:11:56 +0200 Subject: [PATCH 06/16] Fix gitignore encoding for local computation scripts --- .gitignore | Bin 519 -> 658 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/.gitignore b/.gitignore index 8eb5791a4abb56d83649a883452f4683525d94b9..cf042a857815dfd7296ceb6713cb8f10352ff2bc 100644 GIT binary patch delta 158 zcmZo?nZ(Nce)s+jWsJ;R47`)e8GGx2Gzb;s7nh_KW#$*frzDmnCM6c9>KB#f#TTWf zr52^;C8x$0m*gjBBo>!sCdZfM=OmV7=46&s>J?OC)tZ~1lA2SjUtE%y2PCj)jL*vl S8k$#<%2kw_q6bpP%LM?sb~?TQ delta 18 ZcmbQl+Rn0(xr~vKVR8*)FEaxd0{|_o1Ni^| From 262dda9b44937362aa37e885711a3abfe9be8187 Mon Sep 17 00:00:00 2001 From: Colin Pochart Date: Mon, 1 Jun 2026 16:24:54 +0200 Subject: [PATCH 07/16] Clean up comments in data generation script --- .../stochastic_volatility.py | 42 +++---------------- 1 file changed, 5 insertions(+), 37 deletions(-) diff --git a/posterior_database/data/data-raw/stochastic_volatility/stochastic_volatility.py b/posterior_database/data/data-raw/stochastic_volatility/stochastic_volatility.py index 21455df7..4aa3a46c 100644 --- a/posterior_database/data/data-raw/stochastic_volatility/stochastic_volatility.py +++ b/posterior_database/data/data-raw/stochastic_volatility/stochastic_volatility.py @@ -1,28 +1,3 @@ -""" -Generate the data for the `stochastic_volatility` posterior in posteriordb. - -Model: stochastic volatility model of Hoffman & Gelman (2014), "The No-U-Turn -Sampler", pp. 1614-1615. The Stan model receives the raw price series `y` -(length T) and computes the log-returns internally in `transformed data`. - -The paper uses "3000 days of the S&P 500 index" but does not specify exact -dates, a ticker, or a data source. We therefore use a documented modern window -(2010-2022, excluding no period in particular but landing in a relatively calm -regime by construction of the 3000-day truncation) and download the index from -Yahoo Finance via yfinance. The raw download is cached to a CSV so the JSON can -be regenerated identically without re-hitting Yahoo's (unofficial) API. - -Output: data/data/stochastic_volatility.json.zip - -> contains stochastic_volatility.json with keys: - T : int number of trading days (prices) - y : list[float] closing price of the S&P 500 for each day, length T - -Usage: - python stochastic_volatility.py - -Requires: yfinance, pandas -""" - import json import os import zipfile @@ -32,16 +7,12 @@ # --- Configuration ----------------------------------------------------------- TICKER = "^GSPC" # S&P 500 index on Yahoo Finance -START = "2010-01-01" # modern, post-2008-crisis window -END = "2022-01-01" # ends before the 2022 drawdown +START = "2010-01-01" +END = "2022-01-01" N_DAYS = 3000 # number of prices T (Hoffman & Gelman use "3000 days") -# Paths are written relative to this script's location so it works regardless -# of the current working directory. The script lives in -# data/data-raw/stochastic_volatility/ and writes the zip into data/data/. HERE = os.path.dirname(os.path.abspath(__file__)) CSV_PATH = os.path.join(HERE, "sp500_raw.csv") -# data-raw/stochastic_volatility/ -> data-raw/ -> data/ DATA_DIR = os.path.normpath(os.path.join(HERE, "..", "..", "data")) JSON_NAME = "stochastic_volatility.json" ZIP_PATH = os.path.join(DATA_DIR, "stochastic_volatility.json.zip") @@ -61,11 +32,9 @@ def load_prices(): ) if raw.empty: raise RuntimeError( - "Download returned no data. Yahoo's API may be temporarily " - "unavailable; try again or supply sp500_raw.csv manually." + "Download returned no data. Yahoo's API may be temporarily unavailable; try again or supply sp500_raw.csv manually." ) - # yfinance can return a MultiIndex column when one ticker is requested; - # flatten it and keep the closing price. + # yfinance can return a MultiIndex column for a single ticker; flatten it. close = raw["Close"] if isinstance(close, pd.DataFrame): close = close.iloc[:, 0] @@ -88,7 +57,6 @@ def main(): "Widen the START/END window." ) - # Take the first N_DAYS trading days of the window. prices = df["Close"].iloc[:N_DAYS].astype(float).tolist() data = { @@ -105,6 +73,6 @@ def main(): print(f" y: {len(data['y'])} prices, " f"range [{min(prices):.2f}, {max(prices):.2f}]") - + if __name__ == "__main__": main() \ No newline at end of file From 560feed6308c79a0fe07d45fb412aed93ce8fc32 Mon Sep 17 00:00:00 2001 From: colinpochart2 Date: Mon, 8 Jun 2026 16:15:35 +0200 Subject: [PATCH 08/16] Update posterior_database/data/info/stochastic_volatility.info.json Co-authored-by: JTorgander <55882444+JTorgander@users.noreply.github.com> --- posterior_database/data/info/stochastic_volatility.info.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/posterior_database/data/info/stochastic_volatility.info.json b/posterior_database/data/info/stochastic_volatility.info.json index 2658a109..9092433b 100644 --- a/posterior_database/data/info/stochastic_volatility.info.json +++ b/posterior_database/data/info/stochastic_volatility.info.json @@ -2,7 +2,7 @@ "name": "stochastic_volatility", "keywords": ["time_series", "stochastic_volatility", "marginalized"], "title": "Stochastic Volatility Model with Marginalized Precision", - "description": "Stochastic volatility model from Hoffman & Gelman (2014, NUTS paper, p. 1614-1615). Daily log-returns follow a Student-t distribution with time-varying scale s_i. The log-scale follows a Gaussian random walk with precision tau, which is marginalized analytically. Resulting posterior is (T+1)-dimensional over (s, nu).", + "description": "Stochastic volatility model from Hoffman & Gelman (2014, NUTS paper, p. 1614-1615). Daily log-returns follow a Student-t distribution with time-varying scale s_i. The log-scale follows a Gaussian random walk with precision tau, which is marginalized analytically. Resulting posterior is T-dimensional over (s, nu), where T is the number of data points.", "urls": "https://www.jmlr.org/papers/v15/hoffman14a.html", "data_file": "data/data/stochastic_volatility.json", "references": "hoffman2014nuts", From bac96c0007a4d4c3677f8f9359f59b43619f29f2 Mon Sep 17 00:00:00 2001 From: Colin Pochart Date: Mon, 8 Jun 2026 17:29:48 +0200 Subject: [PATCH 09/16] Fix posterior dimensionality wording and tidy Stan code - info.json: posterior is T-dimensional over (s, nu), not (T+1) - stochastic_volatility.stan: remove empty functions block and stale comments --- .../models/info/stochastic_volatility.info.json | 2 +- .../models/stan/stochastic_volatility.stan | 10 ++-------- 2 files changed, 3 insertions(+), 9 deletions(-) diff --git a/posterior_database/models/info/stochastic_volatility.info.json b/posterior_database/models/info/stochastic_volatility.info.json index ee8080bf..73665ad6 100644 --- a/posterior_database/models/info/stochastic_volatility.info.json +++ b/posterior_database/models/info/stochastic_volatility.info.json @@ -2,7 +2,7 @@ "name": "stochastic_volatility", "keywords": ["time_series", "stochastic_volatility", "marginalized"], "title": "Stochastic Volatility Model with Marginalized Precision", - "description": "Stochastic volatility model from Hoffman & Gelman (2014, NUTS paper, p. 1614-1615). Daily log-returns follow a Student-t distribution with time-varying scale s_i. The log-scale follows a Gaussian random walk with precision tau, which is marginalized analytically. Resulting posterior is (T+1)-dimensional over (s, nu).", + "description": "Stochastic volatility model from Hoffman & Gelman (2014, NUTS paper, p. 1614-1615). Daily log-returns follow a Student-t distribution with time-varying scale s_i. The log-scale follows a Gaussian random walk with precision tau, which is marginalized analytically. Resulting posterior is T-dimensional over (s, nu), where T is the number of data points.", "urls": "https://www.jmlr.org/papers/v15/hoffman14a.html", "model_implementations": { "stan": { diff --git a/posterior_database/models/stan/stochastic_volatility.stan b/posterior_database/models/stan/stochastic_volatility.stan index d20f650e..738aaddc 100644 --- a/posterior_database/models/stan/stochastic_volatility.stan +++ b/posterior_database/models/stan/stochastic_volatility.stan @@ -1,14 +1,10 @@ -functions { - -} - data { intT; //number of days vector[T] y; //index values of sp500 } transformed data { - vector[T-1] log_returns; // log y_i - log y_{i-1} for i = 2, ..., T + vector[T-1] log_returns; for (i in 2:T) { log_returns[i-1] = log(y[i]) - log(y[i-1]); } @@ -31,9 +27,7 @@ model { for (i in 2:T) { target += student_t_lpdf(log_returns[i-1] | nu, 0, s[i]); } - - // Term from marginalizing out tau analytically: - // target += -((T + 1) / 2.0) * log(0.01 + 0.5 * sum((log s_i - log s_{i-1})^2)) + { real sum_sq = 0; for (i in 2:T) { From cfada71b37f9fb1420eff120224ed49b97bb6318 Mon Sep 17 00:00:00 2001 From: colinpochart2 Date: Wed, 10 Jun 2026 11:18:26 +0200 Subject: [PATCH 10/16] Update posterior_database/models/stan/stochastic_volatility.stan Co-authored-by: JTorgander <55882444+JTorgander@users.noreply.github.com> --- posterior_database/models/stan/stochastic_volatility.stan | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/posterior_database/models/stan/stochastic_volatility.stan b/posterior_database/models/stan/stochastic_volatility.stan index 738aaddc..f2854cd7 100644 --- a/posterior_database/models/stan/stochastic_volatility.stan +++ b/posterior_database/models/stan/stochastic_volatility.stan @@ -12,7 +12,7 @@ transformed data { parameters { real nu; // degrees of freedom of Student-t - vector[T] s; // scale parameters at each day + vector[T-1] s; // scale parameters at each day } model { From fd87ca50dab0c3b6022400cae139e8754f165bb0 Mon Sep 17 00:00:00 2001 From: colinpochart2 Date: Fri, 12 Jun 2026 11:01:23 +0200 Subject: [PATCH 11/16] Update posterior_database/models/stan/stochastic_volatility.stan Co-authored-by: JTorgander <55882444+JTorgander@users.noreply.github.com> --- posterior_database/models/stan/stochastic_volatility.stan | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/posterior_database/models/stan/stochastic_volatility.stan b/posterior_database/models/stan/stochastic_volatility.stan index f2854cd7..5f2357dd 100644 --- a/posterior_database/models/stan/stochastic_volatility.stan +++ b/posterior_database/models/stan/stochastic_volatility.stan @@ -24,8 +24,8 @@ model { // Likelihood: (log y_i - log y_{i-1}) / s_i ~ t_nu // Add -log(s_i) for each term because of the Jacobian of standardization. - for (i in 2:T) { - target += student_t_lpdf(log_returns[i-1] | nu, 0, s[i]); + for (i in 1:(T-1)) { + target += student_t_lpdf(log_returns[i] | nu, 0, s[i]); } { From 02f1c707b03e99460e2efc91097e4ac7f9d7aa72 Mon Sep 17 00:00:00 2001 From: colinpochart2 Date: Fri, 12 Jun 2026 11:01:44 +0200 Subject: [PATCH 12/16] Update posterior_database/posteriors/stochastic_volatility-stochastic_volatility.json Co-authored-by: JTorgander <55882444+JTorgander@users.noreply.github.com> --- .../posteriors/stochastic_volatility-stochastic_volatility.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/posterior_database/posteriors/stochastic_volatility-stochastic_volatility.json b/posterior_database/posteriors/stochastic_volatility-stochastic_volatility.json index 41641e32..6932e9ca 100644 --- a/posterior_database/posteriors/stochastic_volatility-stochastic_volatility.json +++ b/posterior_database/posteriors/stochastic_volatility-stochastic_volatility.json @@ -8,7 +8,7 @@ "references": ["hoffman2014nuts"], "dimensions": { "nu": 1, - "s": 3000 + "s": 2999 }, "added_date": "2026-05-28", "added_by": "Colin Pochart" From 0eaa95b8eded6fdc49f8fc008dd0f778c387f945 Mon Sep 17 00:00:00 2001 From: Colin Pochart Date: Fri, 12 Jun 2026 11:20:08 +0200 Subject: [PATCH 13/16] Clean up .gitignore: remove corrupted UTF-16 lines and dead noncentered rule --- .gitignore | Bin 658 -> 299 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/.gitignore b/.gitignore index cf042a857815dfd7296ceb6713cb8f10352ff2bc..a54da871e20f51f6a75f24461e6170ece961fdce 100644 GIT binary patch literal 299 zcmZvXF%H5o3`O@GB|~}!q%tC;ial}@Ljq}HIW8i%CkP=rbn)=tlfP}2M$I~K0TmOt z2i$NlQ;1axw{1jR?q;pX+i=J8AfU|j*QeuQJRMDtB`N&{ib@saSlE8_87dCoy{(QT zN!`P_2zJmUlswF9OkS%B+0W%QXmvS{XCprK;@?Ty;0t?UAnMbnq+}tzx0=^%8L!Bg V9oqi53s5CG`z#40rYOx&Q*TPxY?1%~ literal 658 zcma)4L2kn!5af*HkNAM!P$@Z9k)qxahD}Y20l_+o-5gRh**{FKWjeW|HZdCG1vong~Rb$qBe?%#Irdo}PF z8rj~UM&?wRicdu^CB3QC8RvAh#b>UYcuY(SGV_pP*H1pUwvp9D*QZN|@Z+#MD0Z-U zXronhL5Hmxa$YtUfb*Ea&mxH`Sdb{fBQ8P$|amFBE428 z#KX#Fs90pr&qNnPE;sb(wGT5n9APja|(ui@I0%GG1>T$V{#N~SJ^}?8-+S1h(-(mIknIl F`3FG(zv2J@ From 4db54f206c94645f9d1db22e19131c942cb76625 Mon Sep 17 00:00:00 2001 From: Colin Pochart Date: Fri, 12 Jun 2026 12:06:27 +0200 Subject: [PATCH 14/16] changes that had not been taken into account --- posterior_database/models/stan/stochastic_volatility.stan | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/posterior_database/models/stan/stochastic_volatility.stan b/posterior_database/models/stan/stochastic_volatility.stan index 5f2357dd..e5299c17 100644 --- a/posterior_database/models/stan/stochastic_volatility.stan +++ b/posterior_database/models/stan/stochastic_volatility.stan @@ -1,12 +1,12 @@ data { intT; //number of days - vector[T] y; //index values of sp500 + vector[T-1] y; //index values of sp500 } transformed data { vector[T-1] log_returns; - for (i in 2:T) { - log_returns[i-1] = log(y[i]) - log(y[i-1]); + for (i in 1:(T-1)) { + log_returns[i] = log(y[i+1]) - log(y[i]); } } From b981665f9b914ba65639d304c8c106f5353d487d Mon Sep 17 00:00:00 2001 From: Colin Pochart Date: Fri, 12 Jun 2026 12:15:21 +0200 Subject: [PATCH 15/16] small change of index --- posterior_database/models/stan/stochastic_volatility.stan | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/posterior_database/models/stan/stochastic_volatility.stan b/posterior_database/models/stan/stochastic_volatility.stan index e5299c17..25d5c566 100644 --- a/posterior_database/models/stan/stochastic_volatility.stan +++ b/posterior_database/models/stan/stochastic_volatility.stan @@ -30,7 +30,7 @@ model { { real sum_sq = 0; - for (i in 2:T) { + for (i in 2:T-1) { sum_sq += square(log(s[i]) - log(s[i-1])); } target += -((T + 1) / 2.0) * log(0.01 + 0.5 * sum_sq); From fa10c41b339028c0af73cb2605314ac470fb11b1 Mon Sep 17 00:00:00 2001 From: Colin Pochart Date: Fri, 12 Jun 2026 12:22:41 +0200 Subject: [PATCH 16/16] small change of index --- posterior_database/models/stan/stochastic_volatility.stan | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/posterior_database/models/stan/stochastic_volatility.stan b/posterior_database/models/stan/stochastic_volatility.stan index 25d5c566..2c93c35c 100644 --- a/posterior_database/models/stan/stochastic_volatility.stan +++ b/posterior_database/models/stan/stochastic_volatility.stan @@ -1,6 +1,6 @@ data { intT; //number of days - vector[T-1] y; //index values of sp500 + vector[T] y; //index values of sp500 } transformed data { @@ -23,7 +23,6 @@ model { target += -0.01 * s[1]; // Likelihood: (log y_i - log y_{i-1}) / s_i ~ t_nu - // Add -log(s_i) for each term because of the Jacobian of standardization. for (i in 1:(T-1)) { target += student_t_lpdf(log_returns[i] | nu, 0, s[i]); }