├── README.md ├── activations.py ├── chart.py ├── chart.pyc ├── dataset.py ├── dataset ├── 000001.csv ├── 000002.csv ├── 000003.csv ├── 000008.csv ├── 000009.csv ├── 000010.csv ├── 000011.csv ├── 000012.csv ├── 000016.csv ├── 000017.csv ├── 000300.csv ├── 000905.csv ├── 399001.csv ├── 399002.csv ├── 399003.csv ├── 399004.csv ├── 399005.csv ├── 399006.csv ├── 399008.csv ├── 399100.csv ├── 399101.csv ├── 399106.csv ├── 399107.csv ├── 399108.csv ├── 399333.csv └── 399606.csv ├── feature.py ├── gossip.py ├── rawdata.py ├── rawdata.pyc ├── renormalization.py ├── toy_stock.csv ├── windpuller.py ├── wx_code.jpg └── zfb_code.jpg /README.md: -------------------------------------------------------------------------------- 1 | 利用LSTM网络和风险估计损失函数做股票交易 2 | === 3 | 4 | ## 收益率 5 | 6 | 首先说一下收益率。离开收益率去谈算法都是在耍流氓。项目利用最近700个交易日做验证,700个交易日之前的所有交易数据作为训练集,也就是说,确保不存在验证信息的泄漏。在上证综合指数上最近700个交易日的复利收益率为200%以上,同期上证指数上涨约50%。在深圳成指近700个交易日的复利收益率也在200%左右。收益为验证收益,并非实际交易数据,且为复利计算,没有扣除交易印花税和佣金。(提醒:项目仅用于学术交流,投资有风险,损失需自负。) 7 | 8 | 9 | ## 创新点 10 | 11 | 问题定义:股票交易问题,已知一只股票的所有历史数据,包括价格、成交量、成交额等信息,在当前环境下,选择一种策略(买、卖、持、等),最大化未来的收益率。 12 | 13 | 对分类的否决。一些方法将该问题转化为分类问题,例如预测未来涨还是跌。对此提出一个极端的例子:假如有一个分类器,能够90%的准确率预测股市的涨跌(事实上70%准确都很困难),那么它10次预测涨,预测对了9次,每次涨0.1%,错的那次跌了10%,那如果我按照这个分类器来操作,预测涨的时候我都持有股票,那我将损失10%-9*0.1%=9.1%。这是不可接受的,也就是说一个90%准确的分类器都不能保证投资人赚钱。 14 | 15 | 对回归的否决:另一些方法将该问题转化为回归问题,也就是不只是预测涨跌,还要估计涨跌率。还是举一个极端的例子对这样的方法提出一些质疑:假如模型对未来的涨跌率预测值为+1%,也就是说预测为涨1%,而实际涨了8%,此时因为采信模型,我们会买入(或持有)股票,第二天我们获利8%,这种情况下在我们的模型的损失函数里却是给我们添加了|1%-8%|^2的损失,实际上模型这个错误犯得影响力很小,因为起码方向对了,可是体现在模型上我们却会惩罚模型参数;而另一种情况,模型预测值为+1%,第二天跌了6%,我们投资损失惨重,此时体现在模型的损失函数里仍然是|1%+6%|^2,两种情况对模型的惩罚程度一样,显然不太合理,我们从内心能够容忍第一种错误,而坚决不能忍第二种错误。 16 | 17 | 采用风险估计损失函数: 18 | 投资决策者并不太关心模型预测的准不准,而只关心策略赚不赚,不准也能赚。可以寻找一种损失函数的定义方法,将其直接定义为我们投资的损失率。令网络输出(p)为当天持有股票到明天的仓位,区间[0.0,1.0],0.0表示我今天不持有任何股票至明天,1.0表示我将所有的钱买股票持有到明天,则0.5表示我用一半的钱买股票并持有到明天,那么当明天来临,股票价格的变化率(r)已经知道,那么前一个交易日的策略的收益或损失率就可以计算了:r*p,例如我今天的网络输出是p=0.4,我将40%的钱买了股票,明天这支股票涨了0.01,那么我就赚了0.01 * 0.4,如果明天跌了0.02,那我就损失了0.02 * 0.4。因此将网络的损失函数定义为: 19 | Loss = -100. * mean(P * R) 20 | P为网络输出的集合,也就是持仓策略的集合,R为相应的第二天的价格变化率的集合。另外,我们知道资金是有使用成本的,如果钱不用来买股票,放在银行里也能得到利息,所以用于买股票的钱是有代价的,该成本(c)应该计算进损失函数,所以我们将损失函数重新定义为: 21 | Loss = -100. * mean(P * (R - c)) 22 | 23 | 24 | 25 | (事实上,由于学识有限,我也不知道是否有人采用过类似的方法,如有雷同,敬请指点。) 26 | 27 | ## 网络结构 28 | 29 | 输入层->LSTM(含DropoutWrapper)->Dense层->激活函数->输出 30 | 31 | ## 环境需要 32 | 33 | ta-lib, ta-lib for python, numpy, tensorflow 34 | 35 | ## 版权声明 36 | 37 | 开源版本对学术应用完全免费,使用时请引用出处;商业应用需要获得授权。 38 | 39 | 40 | ## 致谢 41 | 42 | 感谢chenli0830(李辰)贡献的宝贵代码和慷慨捐赠! 43 | 44 | Thanks to chenli0830(Chen Li) for his valuable source code and donation! 45 | 46 | 47 | 48 | A LSTM model using Risk Estimation loss function for trades in market 49 | === 50 | 51 | ## Introduction 52 | 53 | Could deep learning help us with buying and selling stocks in market? The answer could be 'Yes'. We design a solution, named DeepTrade, including history data representation, neural network construction and trading optimization methods, which could maximizing our profit based on passed experience. 54 | 55 | In our solution, effective representations are extracted from history data (including date/open/high/low/close/volume) first. Then a neural network based on LSTM is constructed to learn useful knowledges to direct our trading behaviors. Meanwhile, a loss function is elaborately designed to ensure the network optimizing our profit and minimizing our risk. Finaly, according the predictions of this neural network, buying and selling plans are carried out. 56 | 57 | ## Feature Representation 58 | 59 | History features are extracted in the order of date. Each day, with open/high/low/close/volume data, invariant features are computed, including rate of price change, MACD, RSI, rate of volume change, BOLL, distance between MA and price, distance between volume MA and volume, cross feature between price and volume. Some of these features could be used directly. Some of them should be normalized. And some should use diffrential values. A fixed length(i.e., 30 days) of feature is extracted for network learning. 60 | 61 | ## Network Construction 62 | 63 |   LSTM network [1] is effective with learning knowleges from time series. A fixed length of history data (i.e., 30 days) is used to plan trade of next day. We make the network output a real value (p) between 0 and 1, which means how much position (percentage of capital) of the stock we should hold to tomorrow. So that if the rate of price change is r next day, out profit will be p*r. If r is negtive, we lost our money. Therefore, we define a Loss Function (called Risk Estimation) for the LSTM network: 64 | 65 | Loss = -100. * mean(P * R) 66 | 67 | P is a set of our output, and R is the set of corresponding rates of price change. Further more, we add a small cost rate (c=0.0002) for money occupied by buying stock to the loss function. Then the loss function with cost rate is defined as follows: 68 | 69 | Loss = -100. * mean(P * (R - c)) 70 | 71 | Both of these two loss functions are evaluated in our experiments. 72 | 73 | Our network includes four layers: LSTM layer, dense connected layer, batch normalization [3] layer, activation layer. LSTM layer is used to learn knowldges from histories. The relu6 function is used as activation to produce output value. 74 | 75 | ## Trading Plans 76 | 77 | Every day, at the time before market close (nearer is better), input history features into the network, then we get an output value p. This p mean an advice of next-day's position (percentage of capital). If p=0, we should sell all we have before close. If p is positive, we should keep a poistion of p to next day, sell the redundant or buy the insufficient. 78 | 79 | ## Experimental Results 80 | 81 |   If the network goes crazy(overfitting), just restart it. Or, a dropout layer [2] is good idea. Also, larger train dataset will help. 82 | 83 | For more demos of the experimental results, visit our website: http://www.deeplearning.xin. 84 | 85 |   [Experimental Results](http://www.deeplearning.xin) 86 | 87 | ## Requirements 88 | 89 | ta-lib, ta-lib for python, numpy, tensorflow 90 | 91 | ## Licence 92 | 93 | The author is Xiaoyu Fang from China. Please quot the source whenever you use it. This project has key update already. Contact happynoom@163.com to buy a licence. 94 | 95 | ## Bug Report 96 | 97 | Contact happynoom@163.com to report any bugs. QQ Group:370191896 98 | 99 | ## Reference 100 | 101 | [1] Gers F A, Schmidhuber J, Cummins F, et al. Learning to Forget: Continual Prediction with LSTM[J]. Neural Computation, 2000, 12(10): 2451-2471. 102 | 103 | [2] Srivastava N, Hinton G E, Krizhevsky A, et al. Dropout: a simple way to prevent neural networks from overfitting[J]. Journal of Machine Learning Research, 2014, 15(1): 1929-1958. 104 | 105 | [3] Ioffe S, Szegedy C. Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift[C]. international conference on machine learning, 2015: 448-456. 106 | 107 | ## keras version repository 108 | https://github.com/happynoom/DeepTrade_keras 109 | 110 | -------------------------------------------------------------------------------- /activations.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | from __future__ import absolute_import 3 | from tensorflow.python.keras.engine.base_layer import Layer 4 | from tensorflow.keras import backend as K 5 | from tensorflow.keras.utils import get_custom_objects 6 | 7 | 8 | class ReLU(Layer): 9 | """Rectified Linear Unit. 10 | 11 | It allows a small gradient when the unit is not active: 12 | `f(x) = alpha * x for x < 0`, 13 | `f(x) = x for x >= 0`. 14 | 15 | # Input shape 16 | Arbitrary. Use the keyword argument `input_shape` 17 | (tuple of integers, does not include the samples axis) 18 | when using this layer as the first layer in a model. 19 | 20 | # Output shape 21 | Same shape as the input. 22 | 23 | # Arguments 24 | alpha: float >= 0. Negative slope coefficient. 25 | 26 | # References 27 | - [Rectifier Nonlinearities Improve Neural Network Acoustic Models](https://web.stanford.edu/~awni/papers/relu_hybrid_icml2013_final.pdf) 28 | """ 29 | 30 | def __init__(self, alpha=0.0, max_value=None, **kwargs): 31 | super(ReLU, self).__init__(**kwargs) 32 | self.supports_masking = True 33 | self.alpha = alpha 34 | self.max_value = max_value 35 | 36 | def call(self, inputs): 37 | return K.relu(inputs, alpha=self.alpha, max_value=self.max_value) 38 | 39 | def get_config(self): 40 | config = {'alpha': self.alpha, 'max_value': self.max_value} 41 | base_config = super(ReLU, self).get_config() 42 | return dict(list(base_config.items()) + list(config.items())) 43 | 44 | 45 | class BiReLU(Layer): 46 | def __init__(self, alpha=0.0, max_value=None, **kwargs): 47 | super(BiReLU, self).__init__(**kwargs) 48 | self.supports_masking = True 49 | self.alpha = alpha 50 | self.max_value = max_value 51 | 52 | def call(self, inputs): 53 | return K.relu(inputs, alpha=self.alpha, max_value=self.max_value) \ 54 | - K.relu(-inputs, alpha=self.alpha, max_value=self.max_value) 55 | 56 | def get_config(self): 57 | config = {'alpha': self.alpha, 'max_value': self.max_value} 58 | base_config = super(BiReLU, self).get_config() 59 | return dict(list(base_config.items()) + list(config.items())) 60 | 61 | 62 | get_custom_objects().update({'ReLU': ReLU}) 63 | get_custom_objects().update({'BiReLU': BiReLU}) 64 | -------------------------------------------------------------------------------- /chart.py: -------------------------------------------------------------------------------- 1 | # coding:UTF-8 2 | # Copyright 2017 The Xiaoyu Fang. All Rights Reserved. 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # ============================================================================== 16 | 17 | import numpy 18 | import talib 19 | import math 20 | 21 | 22 | class ChartFeature(object): 23 | def __init__(self, selector): 24 | self.selector = selector 25 | self.supported = {"ROCP", "OROCP", "HROCP", "LROCP", "MACD", "RSI", "VROCP", "BOLL", "MA", "VMA", 26 | "PRICE_VOLUME", "CROSS_PRICE"} 27 | self.feature = [] 28 | self.prospective = 1 29 | self.recall_period = 2 30 | 31 | def make_label(self, prices): 32 | ratio = 0.5 33 | decay = 0.9 34 | label = 0.0 35 | for i in range(1, len(prices)): 36 | label = label + (prices[i] / prices[0] - 1.0) * ratio 37 | ratio = ratio * decay 38 | 39 | return label / (len(prices) - 1) 40 | 41 | def shift(self, xs, n): 42 | if n > 0: 43 | return numpy.r_[numpy.full(n, numpy.nan), xs[:-n]] 44 | elif n == 0: 45 | return xs 46 | else: 47 | return numpy.r_[xs[-n:], numpy.full(-n, numpy.nan)] 48 | 49 | def moving_extract(self, window=30, open_prices=None, close_prices=None, high_prices=None, low_prices=None, 50 | volumes=None, with_label=True, flatten=True): 51 | self.extract(open_prices=open_prices, close_prices=close_prices, high_prices=high_prices, low_prices=low_prices, 52 | volumes=volumes) 53 | feature_arr = numpy.asarray(self.feature) 54 | p = 0 55 | rows = feature_arr.shape[0] 56 | print("feature dimension: %s" % rows) 57 | if with_label: 58 | moving_features = [] 59 | moving_labels = [] 60 | while p + window < feature_arr.shape[1]: 61 | x = feature_arr[:, p:p + window] 62 | # p_change = (close_prices[p + window] - close_prices[p + window - 1]) / close_prices[p + window - 1] 63 | p_change = self.make_label(close_prices[p + window - 1: p + window + self.prospective]) 64 | # use percent of change as label 65 | y = p_change 66 | if flatten: 67 | x = x.flatten("F") 68 | moving_features.append(numpy.nan_to_num(x)) 69 | moving_labels.append(y) 70 | p += 1 71 | 72 | return numpy.asarray(moving_features), numpy.asarray(moving_labels) 73 | else: 74 | moving_features = [] 75 | while p + window <= feature_arr.shape[1]: 76 | x = feature_arr[:, p:p + window] 77 | if flatten: 78 | x = x.flatten("F") 79 | moving_features.append(numpy.nan_to_num(x)) 80 | p += 1 81 | return moving_features 82 | 83 | def extract(self, open_prices=None, close_prices=None, high_prices=None, low_prices=None, volumes=None): 84 | self.feature = [] 85 | for feature_type in self.selector: 86 | if feature_type in self.supported: 87 | print("extracting feature : %s" % feature_type) 88 | self.extract_by_type(feature_type, open_prices=open_prices, close_prices=close_prices, 89 | high_prices=high_prices, low_prices=low_prices, volumes=volumes) 90 | else: 91 | print("feature type not supported: %s" % feature_type) 92 | self.feature_distribution() 93 | return self.feature 94 | 95 | def feature_distribution(self): 96 | k = 0 97 | for feature_column in self.feature: 98 | fc = numpy.nan_to_num(feature_column) 99 | mean = numpy.mean(fc) 100 | var = numpy.var(fc) 101 | max_value = numpy.max(fc) 102 | min_value = numpy.min(fc) 103 | print("[%s_th feature] mean: %s, var: %s, max: %s, min: %s" % (k, mean, var, max_value, min_value)) 104 | k = k + 1 105 | 106 | def extract_by_type(self, feature_type, open_prices=None, close_prices=None, high_prices=None, low_prices=None, 107 | volumes=None): 108 | if feature_type == 'ROCP': 109 | for i in range(1, self.recall_period): 110 | self.feature.append(talib.ROCP(close_prices, timeperiod=i) / float(i)) 111 | if feature_type == 'OROCP': 112 | for i in range(1, self.recall_period): 113 | self.feature.append(talib.ROCP(open_prices, timeperiod=i) / float(i)) 114 | if feature_type == 'HROCP': 115 | for i in range(1, self.recall_period): 116 | self.feature.append(talib.ROCP(high_prices, timeperiod=i) / float(i)) 117 | if feature_type == 'LROCP': 118 | for i in range(1, self.recall_period): 119 | self.feature.append(talib.ROCP(low_prices, timeperiod=i) / float(i)) 120 | if feature_type == 'MACD': 121 | macd, signal, hist = talib.MACD(close_prices, fastperiod=12, slowperiod=26, signalperiod=9) 122 | norm_signal = numpy.minimum(numpy.maximum(numpy.nan_to_num(signal), -1), 1) 123 | norm_hist = numpy.minimum(numpy.maximum(numpy.nan_to_num(hist), -1), 1) 124 | norm_macd = numpy.minimum(numpy.maximum(numpy.nan_to_num(macd), -1), 1) 125 | 126 | zero = numpy.asarray([0]) 127 | macdrocp = numpy.minimum(numpy.maximum(numpy.concatenate((zero, numpy.diff(numpy.nan_to_num(macd)))), -1), 128 | 1) 129 | signalrocp = numpy.minimum( 130 | numpy.maximum(numpy.concatenate((zero, numpy.diff(numpy.nan_to_num(signal)))), -1), 1) 131 | histrocp = numpy.minimum(numpy.maximum(numpy.concatenate((zero, numpy.diff(numpy.nan_to_num(hist)))), -1), 132 | 1) 133 | 134 | self.feature.append(norm_macd) 135 | self.feature.append(norm_signal) 136 | self.feature.append(norm_hist) 137 | 138 | self.feature.append(macdrocp) 139 | self.feature.append(signalrocp) 140 | self.feature.append(histrocp) 141 | if feature_type == 'RSI': 142 | rsi6 = talib.RSI(close_prices, timeperiod=6) 143 | rsi12 = talib.RSI(close_prices, timeperiod=12) 144 | rsi24 = talib.RSI(close_prices, timeperiod=24) 145 | rsi6rocp = talib.ROCP(rsi6 + 100., timeperiod=1) 146 | rsi12rocp = talib.ROCP(rsi12 + 100., timeperiod=1) 147 | rsi24rocp = talib.ROCP(rsi24 + 100., timeperiod=1) 148 | self.feature.append(rsi6 / 100.0 - 0.5) 149 | self.feature.append(rsi12 / 100.0 - 0.5) 150 | self.feature.append(rsi24 / 100.0 - 0.5) 151 | # self.feature.append(numpy.maximum(rsi6 / 100.0 - 0.8, 0)) 152 | # self.feature.append(numpy.maximum(rsi12 / 100.0 - 0.8, 0)) 153 | # self.feature.append(numpy.maximum(rsi24 / 100.0 - 0.8, 0)) 154 | # self.feature.append(numpy.minimum(rsi6 / 100.0 - 0.2, 0)) 155 | # self.feature.append(numpy.minimum(rsi6 / 100.0 - 0.2, 0)) 156 | # self.feature.append(numpy.minimum(rsi6 / 100.0 - 0.2, 0)) 157 | # self.feature.append(numpy.maximum(numpy.minimum(rsi6 / 100.0 - 0.5, 0.3), -0.3)) 158 | # self.feature.append(numpy.maximum(numpy.minimum(rsi6 / 100.0 - 0.5, 0.3), -0.3)) 159 | # self.feature.append(numpy.maximum(numpy.minimum(rsi6 / 100.0 - 0.5, 0.3), -0.3)) 160 | self.feature.append(rsi6rocp) 161 | self.feature.append(rsi12rocp) 162 | self.feature.append(rsi24rocp) 163 | if feature_type == 'VROCP': 164 | for i in range(1, self.recall_period): 165 | self.feature.append(numpy.arctan(numpy.nan_to_num(talib.ROCP(numpy.maximum(volumes, 1), timeperiod=i)))) 166 | if feature_type == 'BOLL': 167 | upperband, middleband, lowerband = talib.BBANDS(close_prices, timeperiod=5, nbdevup=2, nbdevdn=2, matype=0) 168 | self.feature.append((upperband - close_prices) / close_prices) 169 | self.feature.append((middleband - close_prices) / close_prices) 170 | self.feature.append((lowerband - close_prices) / close_prices) 171 | if feature_type == 'MA': 172 | ma5 = numpy.nan_to_num(talib.MA(close_prices, timeperiod=5)) 173 | ma10 = numpy.nan_to_num(talib.MA(close_prices, timeperiod=10)) 174 | ma20 = numpy.nan_to_num(talib.MA(close_prices, timeperiod=20)) 175 | ma30 = numpy.nan_to_num(talib.MA(close_prices, timeperiod=30)) 176 | ma60 = numpy.nan_to_num(talib.MA(close_prices, timeperiod=60)) 177 | ma90 = numpy.nan_to_num(talib.MA(close_prices, timeperiod=90)) 178 | ma120 = numpy.nan_to_num(talib.MA(close_prices, timeperiod=120)) 179 | ma180 = numpy.nan_to_num(talib.MA(close_prices, timeperiod=180)) 180 | ma360 = numpy.nan_to_num(talib.MA(close_prices, timeperiod=360)) 181 | ma720 = numpy.nan_to_num(talib.MA(close_prices, timeperiod=720)) 182 | ma5rocp = talib.ROCP(ma5, timeperiod=1) 183 | ma10rocp = talib.ROCP(ma10, timeperiod=1) 184 | ma20rocp = talib.ROCP(ma20, timeperiod=1) 185 | ma30rocp = talib.ROCP(ma30, timeperiod=1) 186 | ma60rocp = talib.ROCP(ma60, timeperiod=1) 187 | ma90rocp = talib.ROCP(ma90, timeperiod=1) 188 | ma120rocp = talib.ROCP(ma120, timeperiod=1) 189 | ma180rocp = talib.ROCP(ma180, timeperiod=1) 190 | ma360rocp = talib.ROCP(ma360, timeperiod=1) 191 | ma720rocp = talib.ROCP(ma720, timeperiod=1) 192 | self.feature.append(ma5rocp) 193 | self.feature.append(ma10rocp) 194 | self.feature.append(ma20rocp) 195 | self.feature.append(ma30rocp) 196 | self.feature.append(ma60rocp) 197 | self.feature.append(ma90rocp) 198 | self.feature.append(ma120rocp) 199 | self.feature.append(ma180rocp) 200 | self.feature.append(ma360rocp) 201 | self.feature.append(ma720rocp) 202 | self.feature.append((ma5 - close_prices) / close_prices) 203 | self.feature.append((ma10 - close_prices) / close_prices) 204 | self.feature.append((ma20 - close_prices) / close_prices) 205 | self.feature.append((ma30 - close_prices) / close_prices) 206 | self.feature.append((ma60 - close_prices) / close_prices) 207 | self.feature.append((ma90 - close_prices) / close_prices) 208 | self.feature.append((ma120 - close_prices) / close_prices) 209 | self.feature.append((ma180 - close_prices) / close_prices) 210 | self.feature.append((ma360 - close_prices) / close_prices) 211 | self.feature.append((ma720 - close_prices) / close_prices) 212 | if feature_type == 'VMA': 213 | ma5 = numpy.nan_to_num(talib.MA(volumes, timeperiod=5)) 214 | ma10 = numpy.nan_to_num(talib.MA(volumes, timeperiod=10)) 215 | ma20 = numpy.nan_to_num(talib.MA(volumes, timeperiod=20)) 216 | ma30 = numpy.nan_to_num(talib.MA(volumes, timeperiod=30)) 217 | ma60 = numpy.nan_to_num(talib.MA(volumes, timeperiod=60)) 218 | ma90 = numpy.nan_to_num(talib.MA(volumes, timeperiod=90)) 219 | ma120 = numpy.nan_to_num(talib.MA(volumes, timeperiod=120)) 220 | ma180 = numpy.nan_to_num(talib.MA(volumes, timeperiod=180)) 221 | ma360 = numpy.nan_to_num(talib.MA(volumes, timeperiod=360)) 222 | ma720 = numpy.nan_to_num(talib.MA(volumes, timeperiod=720)) 223 | ma5rocp = numpy.tanh(numpy.nan_to_num(talib.ROCP(ma5, timeperiod=1))) 224 | ma10rocp = numpy.tanh(numpy.nan_to_num(talib.ROCP(ma10, timeperiod=1))) 225 | ma20rocp = numpy.tanh(numpy.nan_to_num(talib.ROCP(ma20, timeperiod=1))) 226 | ma30rocp = numpy.tanh(numpy.nan_to_num(talib.ROCP(ma30, timeperiod=1))) 227 | ma60rocp = numpy.tanh(numpy.nan_to_num(talib.ROCP(ma60, timeperiod=1))) 228 | ma90rocp = numpy.tanh(numpy.nan_to_num(talib.ROCP(ma90, timeperiod=1))) 229 | ma120rocp = numpy.tanh(numpy.nan_to_num(talib.ROCP(ma120, timeperiod=1))) 230 | ma180rocp = numpy.tanh(numpy.nan_to_num(talib.ROCP(ma180, timeperiod=1))) 231 | ma360rocp = numpy.tanh(numpy.nan_to_num(talib.ROCP(ma360, timeperiod=1))) 232 | ma720rocp = numpy.tanh(numpy.nan_to_num(talib.ROCP(ma720, timeperiod=1))) 233 | self.feature.append(ma5rocp) 234 | self.feature.append(ma10rocp) 235 | self.feature.append(ma20rocp) 236 | self.feature.append(ma30rocp) 237 | self.feature.append(ma60rocp) 238 | self.feature.append(ma90rocp) 239 | self.feature.append(ma120rocp) 240 | self.feature.append(ma180rocp) 241 | self.feature.append(ma360rocp) 242 | self.feature.append(ma720rocp) 243 | self.feature.append(numpy.tanh(numpy.nan_to_num((ma5 - volumes) / (volumes + 1)))) 244 | self.feature.append(numpy.tanh(numpy.nan_to_num((ma10 - volumes) / (volumes + 1)))) 245 | self.feature.append(numpy.tanh(numpy.nan_to_num((ma20 - volumes) / (volumes + 1)))) 246 | self.feature.append(numpy.tanh(numpy.nan_to_num((ma30 - volumes) / (volumes + 1)))) 247 | self.feature.append(numpy.tanh(numpy.nan_to_num((ma60 - volumes) / (volumes + 1)))) 248 | self.feature.append(numpy.tanh(numpy.nan_to_num((ma90 - volumes) / (volumes + 1)))) 249 | self.feature.append(numpy.tanh(numpy.nan_to_num((ma120 - volumes) / (volumes + 1)))) 250 | self.feature.append(numpy.tanh(numpy.nan_to_num((ma180 - volumes) / (volumes + 1)))) 251 | self.feature.append(numpy.tanh(numpy.nan_to_num((ma360 - volumes) / (volumes + 1)))) 252 | self.feature.append(numpy.tanh(numpy.nan_to_num((ma720 - volumes) / (volumes + 1)))) 253 | if feature_type == 'PRICE_VOLUME': 254 | rocp = talib.ROCP(close_prices, timeperiod=1) 255 | # norm_volumes = (volumes - numpy.mean(volumes)) / math.sqrt(numpy.var(volumes)) 256 | # vrocp = talib.ROCP(norm_volumes + numpy.max(norm_volumes) - numpy.min(norm_volumes), timeperiod=1) 257 | vrocp = numpy.tanh(numpy.nan_to_num(talib.ROCP(numpy.maximum(volumes, 1), timeperiod=1))) 258 | pv = rocp * vrocp 259 | self.feature.append(pv) 260 | if feature_type == 'CROSS_PRICE': 261 | for i in range(0, self.recall_period - 1): 262 | shift_open = self.shift(open_prices, i) 263 | self.feature.append(numpy.minimum(numpy.maximum(numpy.nan_to_num((close_prices - shift_open) / shift_open), -1), 1)) 264 | self.feature.append(numpy.minimum(numpy.maximum(numpy.nan_to_num((high_prices - shift_open) / shift_open), -1), 1)) 265 | self.feature.append(numpy.minimum(numpy.maximum(numpy.nan_to_num((low_prices - shift_open) / shift_open), -1), 1)) 266 | shift_close = self.shift(close_prices, i) 267 | self.feature.append(numpy.minimum(numpy.maximum(numpy.nan_to_num((open_prices - shift_close) / shift_close), -1), 1)) 268 | self.feature.append(numpy.minimum(numpy.maximum(numpy.nan_to_num((high_prices - shift_close) / shift_close), -1), 1)) 269 | self.feature.append(numpy.minimum(numpy.maximum(numpy.nan_to_num((low_prices - shift_close) / shift_close), -1), 1)) 270 | shift_high = self.shift(high_prices, i) 271 | self.feature.append(numpy.minimum(numpy.maximum(numpy.nan_to_num((close_prices - shift_high) / shift_high), -1), 1)) 272 | self.feature.append(numpy.minimum(numpy.maximum(numpy.nan_to_num((open_prices - shift_high) / shift_high), -1), 1)) 273 | self.feature.append(numpy.minimum(numpy.maximum(numpy.nan_to_num((low_prices - shift_high) / shift_high), -1), 1)) 274 | shift_low = self.shift(low_prices, i) 275 | self.feature.append(numpy.minimum(numpy.maximum(numpy.nan_to_num((close_prices - shift_low) / shift_low), -1), 1)) 276 | self.feature.append(numpy.minimum(numpy.maximum(numpy.nan_to_num((high_prices - shift_low) / shift_low), -1), 1)) 277 | self.feature.append(numpy.minimum(numpy.maximum(numpy.nan_to_num((open_prices - shift_low) / shift_low), -1), 1)) 278 | 279 | 280 | def extract_feature(raw_data, selector, window=30, with_label=True, flatten=True): 281 | chart_feature = ChartFeature(selector) 282 | sorted_data = sorted(raw_data, key=lambda x: x.date) 283 | closes = [] 284 | opens = [] 285 | highs = [] 286 | lows = [] 287 | volumes = [] 288 | for item in sorted_data: 289 | closes.append(item.close) 290 | opens.append(item.open) 291 | highs.append(item.high) 292 | lows.append(item.low) 293 | volumes.append(float(item.volume)) 294 | closes = numpy.asarray(closes) 295 | opens = numpy.asarray(opens) 296 | highs = numpy.asarray(highs) 297 | lows = numpy.asarray(lows) 298 | volumes = numpy.asarray(volumes) 299 | if with_label: 300 | moving_features, moving_labels = chart_feature.moving_extract(window=window, open_prices=opens, 301 | close_prices=closes, 302 | high_prices=highs, low_prices=lows, 303 | volumes=volumes, with_label=with_label, 304 | flatten=flatten) 305 | return moving_features, moving_labels 306 | else: 307 | moving_features = chart_feature.moving_extract(window=window, open_prices=opens, close_prices=closes, 308 | high_prices=highs, low_prices=lows, volumes=volumes, 309 | with_label=with_label, flatten=flatten) 310 | return moving_features 311 | -------------------------------------------------------------------------------- /chart.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/happynoom/DeepTrade/11aa1350bbea240d998b3884d78ab90e2f342bee/chart.pyc -------------------------------------------------------------------------------- /dataset.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright 2016 The TensorFlow Authors. All Rights Reserved. 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # ============================================================================== 16 | 17 | import numpy 18 | 19 | 20 | def dense_to_one_hot(labels_dense, num_classes): 21 | """Convert class labels from scalars to one-hot vectors.""" 22 | num_labels = labels_dense.shape[0] 23 | index_offset = numpy.arange(num_labels) * num_classes 24 | labels_one_hot = numpy.zeros((num_labels, num_classes)) 25 | labels_one_hot.flat[index_offset + labels_dense.ravel().astype(int)] = 1 26 | return labels_one_hot 27 | 28 | 29 | class DataSet(object): 30 | def __init__(self, images, labels): 31 | assert images.shape[0] == labels.shape[0], ( 32 | "images.shape: %s labels.shape: %s" % (images.shape, 33 | labels.shape)) 34 | self._num_examples = images.shape[0] 35 | images = images.astype(numpy.float32) 36 | self._images = images 37 | self._labels = labels 38 | self._epochs_completed = 0 39 | self._index_in_epoch = self._num_examples 40 | 41 | @property 42 | def images(self): 43 | return self._images 44 | 45 | @property 46 | def labels(self): 47 | return self._labels 48 | 49 | @property 50 | def num_examples(self): 51 | return self._num_examples 52 | 53 | @property 54 | def epochs_completed(self): 55 | return self._epochs_completed 56 | 57 | def next_batch(self, batch_size): 58 | """Return the next `batch_size` examples from this data set.""" 59 | start = self._index_in_epoch 60 | self._index_in_epoch += batch_size 61 | if self._index_in_epoch > self._num_examples: 62 | # Finished epoch 63 | self._epochs_completed += 1 64 | # Shuffle the data 65 | perm = numpy.arange(self._num_examples) 66 | numpy.random.shuffle(perm) 67 | numpy.random.shuffle(perm) 68 | numpy.random.shuffle(perm) 69 | numpy.random.shuffle(perm) 70 | numpy.random.shuffle(perm) 71 | self._images = self._images[perm] 72 | self._labels = self._labels[perm] 73 | # Start next epoch 74 | start = 0 75 | self._index_in_epoch = batch_size 76 | assert batch_size <= self._num_examples 77 | end = self._index_in_epoch 78 | return self._images[start:end], self._labels[start:end] 79 | -------------------------------------------------------------------------------- /dataset/000009.csv: -------------------------------------------------------------------------------- 1 | date open high close low volume amount 2 | 2010-11-29 00:00:00 4500.103 4548.664 4527.276 4473.153 3637824000 51929853952 3 | 2010-11-30 00:00:00 4521.28 4533.431 4409.868 4283.992 4664086400 63970738176 4 | 2010-12-01 00:00:00 4392.973 4428.709 4409.052 4372.358 2747311600 38332665856 5 | 2010-12-02 00:00:00 4460.637 4477.239 4427.143 4421.754 3497240000 49073238016 6 | 2010-12-03 00:00:00 4426.757 4433.998 4394.054 4355.914 2791081000 38517231616 7 | 2010-12-06 00:00:00 4397.343 4406.534 4325.282 4300.097 2507385000 35655094272 8 | 2010-12-07 00:00:00 4307.319 4382.069 4378.612 4250.611 2392058400 33589143552 9 | 2010-12-08 00:00:00 4377.639 4422.059 4372.633 4362.069 2553145600 35944378368 10 | 2010-12-09 00:00:00 4352.727 4355.133 4286.647 4285.264 2624736800 35479412736 11 | 2010-12-10 00:00:00 4266.192 4353.989 4348.963 4254.214 2388748800 32537038848 12 | 2010-12-13 00:00:00 4370.777 4471.902 4471.091 4370.777 3583393200 50799738880 13 | 2010-12-14 00:00:00 4488.876 4522.36 4521.572 4472.709 3842294800 55414710272 14 | 2010-12-15 00:00:00 4519.631 4545.626 4509.603 4493.121 3436205600 50524405760 15 | 2010-12-16 00:00:00 4500.365 4520.824 4488.407 4476.081 2740957400 37773082624 16 | 2010-12-17 00:00:00 4483.9 4495.994 4492.764 4460.156 2426862800 33777072128 17 | 2010-12-20 00:00:00 4505.271 4521.703 4438.66 4340.521 3610854400 52830392320 18 | 2010-12-21 00:00:00 4436.966 4487.474 4486.534 4402.84 2983181800 43966062592 19 | 2010-12-22 00:00:00 4486.601 4487.309 4442.32 4425.83 2960926200 42983161856 20 | 2010-12-23 00:00:00 4432.03 4441.15 4356.68 4347.92 2600712400 37276778496 21 | 2010-12-24 00:00:00 4337.505 4337.505 4286.706 4247.211 2270556800 30888265728 22 | 2010-12-27 00:00:00 4286.621 4341.167 4168.64 4152.669 2541291400 35334475776 23 | 2010-12-28 00:00:00 4145.395 4151.084 4078.35 4052.92 2197604400 29149812736 24 | 2010-12-29 00:00:00 4077.386 4142.372 4141.565 4071.794 1645179600 22601566208 25 | 2010-12-30 00:00:00 4140.335 4172.407 4156.218 4111.619 1824437200 25648783360 26 | 2010-12-31 00:00:00 4164.144 4256.909 4256.267 4164.144 2197580400 32263548928 27 | 2011-01-04 00:00:00 4278.041 4307.392 4306.723 4246.617 2929900000 42151882752 28 | 2011-01-05 00:00:00 4287.113 4324.927 4309.798 4266.653 2816230000 41068498944 29 | 2011-01-06 00:00:00 4309.897 4335.279 4291.063 4284.079 2549692200 36817465344 30 | 2011-01-07 00:00:00 4283.266 4320.169 4281.986 4253.182 2527104800 35191320576 31 | 2011-01-10 00:00:00 4280.422 4287.589 4169.485 4159.71 2417074000 34767667200 32 | 2011-01-11 00:00:00 4154.651 4158.481 4144.803 4097.861 2148520200 28788697088 33 | 2011-01-12 00:00:00 4151.715 4171.651 4163.696 4106.476 2002466000 25778130944 34 | 2011-01-13 00:00:00 4180.166 4186.995 4172.514 4154.499 2198494800 27801276416 35 | 2011-01-14 00:00:00 4162.436 4162.436 4089.329 4083.004 2260123200 28558639104 36 | 2011-01-17 00:00:00 4063.02 4065.391 3921.064 3913.386 2486737400 30885890048 37 | 2011-01-18 00:00:00 3903.873 3947.614 3943.958 3887.405 1699132400 20950097920 38 | 2011-01-19 00:00:00 3944.283 4044.082 4043.551 3936.701 2216023600 28351817728 39 | 2011-01-20 00:00:00 4034.452 4035.398 3912.069 3909.531 2521528800 31074453504 40 | 2011-01-21 00:00:00 3896.627 3978.567 3945.161 3889.432 2479610200 30643582976 41 | 2011-01-24 00:00:00 3949.04 3961.064 3869.655 3867.655 2403940000 31125377024 42 | 2011-01-25 00:00:00 3860.771 3862.939 3814.211 3782.096 1985459600 24203468800 43 | 2011-01-26 00:00:00 3811.297 3884.701 3883.889 3811.297 1788032800 22463918080 44 | 2011-01-27 00:00:00 3861.405 3973.036 3960.877 3839.41 2649146400 34004346880 45 | 2011-01-28 00:00:00 3954.713 4013.041 4000.349 3950.101 2307630400 30991417344 46 | 2011-01-31 00:00:00 3997.553 4075.304 4074.694 3993.428 2562298800 35430576128 47 | 2011-02-01 00:00:00 4073.242 4086.237 4078.155 4052.743 2161271400 30419363840 48 | 2011-02-09 00:00:00 4047.088 4104.724 4067.395 4035.153 2561325600 35608125440 49 | 2011-02-10 00:00:00 4060.751 4166.959 4166.569 4054.301 3006919200 40797573120 50 | 2011-02-11 00:00:00 4165.395 4216.802 4203.992 4156.982 3245851800 44321030144 51 | 2011-02-14 00:00:00 4211.041 4295.749 4286.11 4211.041 4147210400 54554808320 52 | 2011-02-15 00:00:00 4288.418 4332.692 4282.895 4276.674 4259707200 58456305664 53 | 2011-02-16 00:00:00 4277.337 4351.434 4350.634 4275.018 3789320800 52644208640 54 | 2011-02-17 00:00:00 4360.212 4382.835 4379.517 4325.891 3995856800 57547472896 55 | 2011-02-18 00:00:00 4370.459 4382.007 4344.548 4323.582 3531186800 50366672896 56 | 2011-02-21 00:00:00 4322.351 4431.899 4431.449 4316.507 3781984400 53449818112 57 | 2011-02-22 00:00:00 4439.721 4441.141 4306.309 4303.151 4849398800 68022820864 58 | 2011-02-23 00:00:00 4287.515 4356.63 4352.994 4287.515 3485512800 46815756288 59 | 2011-02-24 00:00:00 4347.991 4383.247 4380.308 4335.802 3639298000 48473526272 60 | 2011-02-25 00:00:00 4376.229 4390.486 4389.398 4334.686 3285031800 43156914176 61 | 2011-02-28 00:00:00 4390.967 4462.159 4461.441 4372.418 4159284000 55473115136 62 | 2011-03-01 00:00:00 4466.76 4504.627 4488.06 4448.841 4437390400 60231360512 63 | 2011-03-02 00:00:00 4467.829 4484.326 4473.45 4401.487 4129799600 56027955200 64 | 2011-03-03 00:00:00 4472.189 4487.889 4387.244 4380.45 4165444000 54729302016 65 | 2011-03-04 00:00:00 4383.894 4445.361 4445.023 4373.413 3375646400 43526885376 66 | 2011-03-07 00:00:00 4456.731 4505.1 4504.137 4456.731 4624468000 63054258176 67 | 2011-03-08 00:00:00 4501.09 4520.158 4519.503 4477.816 3897225200 53663051776 68 | 2011-03-09 00:00:00 4521.88 4541.35 4537.373 4506.466 4042062400 57200885760 69 | 2011-03-10 00:00:00 4529.755 4530.2 4499.274 4497.359 4106336000 58551980032 70 | 2011-03-11 00:00:00 4475.586 4536.406 4483.111 4471.234 4170995200 58082308096 71 | 2011-03-14 00:00:00 4473.132 4533.125 4532.351 4460.642 4322618400 61343895552 72 | 2011-03-15 00:00:00 4521.117 4521.117 4480.859 4383.827 4939668800 67598270464 73 | 2011-03-16 00:00:00 4473.512 4534.673 4534.082 4470.518 4257783200 60008022016 74 | 2011-03-17 00:00:00 4489.253 4519.838 4440.934 4422.559 4175871600 57496514560 75 | 2011-03-18 00:00:00 4469.795 4492.203 4458.241 4440.591 3029836400 42584182784 76 | 2011-03-21 00:00:00 4458.12 4467.626 4431.408 4410.765 2958489000 41750577152 77 | 2011-03-22 00:00:00 4437.8 4444.188 4433.842 4375.394 3037551200 43045744640 78 | 2011-03-23 00:00:00 4432.717 4491.256 4490.525 4425.435 3423046800 46739603456 79 | 2011-03-24 00:00:00 4491.198 4511.446 4499.389 4481.843 3654920000 50900860928 80 | 2011-03-25 00:00:00 4498.769 4542.783 4536.276 4498.728 4043107200 56277327872 81 | 2011-03-28 00:00:00 4545.661 4554.266 4518.31 4507.275 4732100400 66885459968 82 | 2011-03-29 00:00:00 4509.946 4514.807 4448.494 4441.955 5164249600 68562071552 83 | 2011-03-30 00:00:00 4442.858 4455.136 4420.364 4397.933 4013662800 51539623936 84 | 2011-03-31 00:00:00 4421.454 4430.662 4364.354 4348.767 3525284400 47587676160 85 | 2011-04-01 00:00:00 4362.382 4413.481 4413.481 4347.833 2824534000 38949339136 86 | 2011-04-06 00:00:00 4397.725 4418.266 4411.696 4380.337 3346442400 46374129664 87 | 2011-04-07 00:00:00 4410.792 4441.307 4440.696 4398.822 3516354800 48623607808 88 | 2011-04-08 00:00:00 4436.508 4491.81 4491.41 4429.205 3341246000 47697543168 89 | 2011-04-11 00:00:00 4499.685 4507.13 4466.797 4461.204 4011171600 54879412224 90 | 2011-04-12 00:00:00 4458.639 4500.059 4482.227 4454.01 4411060800 54567575552 91 | 2011-04-13 00:00:00 4468.58 4526.889 4526.302 4447.186 3685265600 47654293504 92 | 2011-04-14 00:00:00 4524.658 4538.174 4521.622 4505.987 3744152800 48527712256 93 | 2011-04-15 00:00:00 4516.065 4528.547 4523.623 4471.104 4028903600 52241334272 94 | 2011-04-18 00:00:00 4510.669 4539.213 4538.405 4503.428 4252047200 55581691904 95 | 2011-04-19 00:00:00 4515.605 4518.698 4485.793 4464.578 4642067200 60765876224 96 | 2011-04-20 00:00:00 4485.814 4526.453 4523.662 4485.814 4080366400 52237910016 97 | 2011-04-21 00:00:00 4538.152 4554.505 4552.114 4529.046 4287838400 56285212672 98 | 2011-04-22 00:00:00 4549.47 4558.377 4530.129 4518.689 3770756400 47785779200 99 | 2011-04-25 00:00:00 4524.717 4524.717 4443.447 4443.447 3691629600 48588820480 100 | 2011-04-26 00:00:00 4424.054 4440.182 4369.145 4347.963 3033222000 39217496064 101 | 2011-04-27 00:00:00 4372.94 4393.064 4322.938 4286.342 3397138400 40802717696 102 | 2011-04-28 00:00:00 4326.925 4339.115 4181.504 4177.551 3137502400 36759400448 103 | 2011-04-29 00:00:00 4176.001 4255.23 4254.639 4167.462 2477635600 28963588096 104 | 2011-05-03 00:00:00 4253.384 4331.57 4331.397 4236.91 3014850800 35506110464 105 | 2011-05-04 00:00:00 4311.057 4315.988 4250.31 4234.453 3504352000 42689847296 106 | 2011-05-05 00:00:00 4231.789 4279.856 4267.177 4224.99 3061495800 35642068992 107 | 2011-05-06 00:00:00 4230.465 4313.341 4292.079 4209.859 3179020800 39416160256 108 | 2011-05-09 00:00:00 4298.478 4335.634 4326.052 4298.478 2871220800 36215398400 109 | 2011-05-10 00:00:00 4329.624 4347.637 4347.339 4310.347 3002407400 37110837248 110 | 2011-05-11 00:00:00 4344.447 4368.468 4350.244 4307.727 3351651400 41545187328 111 | 2011-05-12 00:00:00 4318.471 4352.218 4286.963 4286.562 3467301600 42621378560 112 | 2011-05-13 00:00:00 4284.312 4314.573 4313.748 4238.333 3184140400 38097121280 113 | 2011-05-16 00:00:00 4309.601 4330.739 4301.066 4293.292 2874402200 34962841600 114 | 2011-05-17 00:00:00 4294.424 4310.727 4278.073 4235.604 3261661000 40011362304 115 | 2011-05-18 00:00:00 4266.392 4310.311 4308.265 4260.577 2532107800 31503087616 116 | 2011-05-19 00:00:00 4316.458 4330.717 4288.639 4284.598 2636873800 33122977792 117 | 2011-05-20 00:00:00 4283.365 4289.183 4272.688 4251.41 2327708800 28243804160 118 | 2011-05-23 00:00:00 4262.803 4262.803 4112.528 4110.083 2972515600 35092242432 119 | 2011-05-24 00:00:00 4094.549 4109.43 4106.769 4037.715 2316308600 27920111616 120 | 2011-05-25 00:00:00 4101.295 4123.296 4061.908 4056.445 2250254400 27353952256 121 | 2011-05-26 00:00:00 4081.156 4100.653 4022.837 4022.118 2309088800 27985362944 122 | 2011-05-27 00:00:00 4019.44 4026.238 3911.832 3909.039 2466293600 28379447296 123 | 2011-05-30 00:00:00 3892.2 3923.645 3863.04 3856.006 1845544400 21232396288 124 | 2011-05-31 00:00:00 3868.639 3947.594 3947.236 3860.308 1946351600 22363912192 125 | 2011-06-01 00:00:00 3942.709 3981.159 3978.168 3927.789 1896600200 22072459264 126 | 2011-06-02 00:00:00 3929.885 3945.33 3933.768 3873.777 2305744800 26132279296 127 | 2011-06-03 00:00:00 3929.986 4004.034 3995.649 3928.275 2052186000 24292024320 128 | 2011-06-07 00:00:00 3985.115 4026.557 4025.948 3977.649 1932628000 23007528960 129 | 2011-06-08 00:00:00 4019.691 4041.851 4037.869 3967.991 2065911600 25110454272 130 | 2011-06-09 00:00:00 4030.907 4035.431 3947.868 3946.79 2372469600 27461588992 131 | 2011-06-10 00:00:00 3936.065 3968.155 3967.762 3894.11 2152962800 24627269632 132 | 2011-06-13 00:00:00 3943.166 3965.052 3960.257 3911.163 1743195400 20599951360 133 | 2011-06-14 00:00:00 3955.692 4017.736 4013.489 3950.73 2337566800 28028696576 134 | 2011-06-15 00:00:00 4004.997 4031.041 3978.178 3977.311 2328954400 26979225600 135 | 2011-06-16 00:00:00 3942.274 3945.431 3888.325 3885.008 2132094000 23842596864 136 | 2011-06-17 00:00:00 3882.36 3898.697 3834.314 3828.965 1763102400 19598915584 137 | 2011-06-20 00:00:00 3824.194 3830.5 3792.011 3765.123 1630585400 18242820096 138 | 2011-06-21 00:00:00 3797.129 3840.25 3839.444 3780.195 1827107000 21437073408 139 | 2011-06-22 00:00:00 3842.321 3849.663 3828.76 3810.286 1610947100 18983884800 140 | 2011-06-23 00:00:00 3814.703 3908.738 3901.58 3790.438 2285033600 26390243328 141 | 2011-06-24 00:00:00 3890.259 4014.887 3995.857 3883.298 3637355200 42854416384 142 | 2011-06-27 00:00:00 3996.864 4047.754 4038.835 3995.489 3109528000 38600978432 143 | 2011-06-28 00:00:00 4043.237 4053.324 4047.813 4009.448 2616232000 32431190016 144 | 2011-06-29 00:00:00 4045.305 4055.631 4001.597 4001.368 2776284600 33966168064 145 | 2011-06-30 00:00:00 3997.672 4062.868 4057.672 3997.672 2731616800 33198979072 146 | 2011-07-01 00:00:00 4065.871 4093.366 4071.22 4052.534 2771408600 33133516800 147 | 2011-07-04 00:00:00 4084.962 4169.486 4168.897 4084.962 3727734000 45161463808 148 | 2011-07-05 00:00:00 4170.728 4198.08 4192.54 4159.47 3508134000 44378140672 149 | 2011-07-06 00:00:00 4183.317 4203.084 4202.534 4154.137 3151773200 39496994816 150 | 2011-07-07 00:00:00 4197.721 4245.949 4202.342 4179.976 3613524400 46063325184 151 | 2011-07-08 00:00:00 4197.437 4213.48 4195.37 4168.046 2744140000 35887013888 152 | 2011-07-11 00:00:00 4187.67 4235.731 4232.551 4175.578 2902234000 36606001152 153 | 2011-07-12 00:00:00 4197.324 4207.316 4176.197 4172.842 3069120800 38683516928 154 | 2011-07-13 00:00:00 4172.141 4252.242 4251.933 4172.141 2972677200 38096891904 155 | 2011-07-14 00:00:00 4256.559 4285.925 4285.21 4240.324 3301404000 42573635584 156 | 2011-07-15 00:00:00 4277.156 4322.422 4322.422 4268.77 3602612400 46853701632 157 | 2011-07-18 00:00:00 4325.406 4344.724 4326.305 4308.694 3497271600 45749477376 158 | 2011-07-19 00:00:00 4305.542 4305.64 4276.055 4264.59 2974577600 38130823168 159 | 2011-07-20 00:00:00 4296.21 4309.418 4279.828 4240.852 2783273000 35019616256 160 | 2011-07-21 00:00:00 4276.033 4280.786 4228.43 4227.261 2665301200 34132539392 161 | 2011-07-22 00:00:00 4235.339 4260.714 4245.375 4226.998 2248973200 28203261952 162 | 2011-07-25 00:00:00 4227.935 4227.935 4089.268 4074.826 3375836800 40670404608 163 | 2011-07-26 00:00:00 4080.463 4107.382 4106.437 4061.015 2227553400 27685869568 164 | 2011-07-27 00:00:00 4091.692 4170.821 4168.339 4072.669 2517745600 32195448832 165 | 2011-07-28 00:00:00 4132.538 4144.603 4139.137 4102.025 2450057400 30009649152 166 | 2011-07-29 00:00:00 4136.54 4150.58 4095.415 4082.492 2243079600 27839352832 167 | 2011-08-01 00:00:00 4092.867 4121.198 4106.27 4077.208 1886701200 23177885696 168 | 2011-08-02 00:00:00 4089.079 4089.079 4070.582 4012.182 2288770000 27766202368 169 | 2011-08-03 00:00:00 4033.206 4086.832 4075.143 4021.953 2045450400 24794763264 170 | 2011-08-04 00:00:00 4079.39 4111.706 4095.204 4079.297 1924206800 24562466816 171 | 2011-08-05 00:00:00 3975.251 4044.372 4016.759 3949.305 2307539600 28040376320 172 | 2011-08-08 00:00:00 3961.603 3984.571 3826.856 3759.696 3032784800 34544111616 173 | 2011-08-09 00:00:00 3713.393 3840.354 3818.575 3649.582 2801302400 30925672448 174 | 2011-08-10 00:00:00 3877.936 3911.528 3866.628 3861.11 2727474600 31871541248 175 | 2011-08-11 00:00:00 3786.545 3931.106 3930.698 3775.68 2781629400 31431612416 176 | 2011-08-12 00:00:00 3952.217 3993.622 3967.793 3949.466 2779492800 31177400320 177 | 2011-08-15 00:00:00 3973.815 4019.425 4018.82 3968.098 2717067200 29617364992 178 | 2011-08-16 00:00:00 4021.983 4027.873 3982.798 3970.19 2488088800 27432693760 179 | 2011-08-17 00:00:00 3973.803 3992.542 3971.351 3955.228 2098454400 23032758272 180 | 2011-08-18 00:00:00 3968.185 3970.877 3907.141 3905.766 2275003600 23690981376 181 | 2011-08-19 00:00:00 3830.971 3876.023 3875.486 3819.534 2232385600 24013606912 182 | 2011-08-22 00:00:00 3871.816 3905.068 3845.809 3832.021 1843872800 20520957952 183 | 2011-08-23 00:00:00 3858.609 3905.812 3905.31 3847.208 1831254800 20309530624 184 | 2011-08-24 00:00:00 3922.079 3939.962 3895.894 3887.968 2073597800 23283386368 185 | 2011-08-25 00:00:00 3899.497 3980.098 3979.637 3891.113 2598576400 28103927808 186 | 2011-08-26 00:00:00 3965.391 3997.025 3988.148 3959.183 2305728800 25721980928 187 | 2011-08-29 00:00:00 3967.202 3969.73 3953.772 3941.661 2257725600 25993918464 188 | 2011-08-30 00:00:00 3972.807 3997.536 3921.377 3919.675 2309377600 25641377792 189 | 2011-08-31 00:00:00 3918.251 3933.96 3906.815 3866.966 1892610600 20750221312 190 | 2011-09-01 00:00:00 3910.638 3928.518 3876.884 3862.183 1804905600 19961282560 191 | 2011-09-02 00:00:00 3870.341 3878.894 3832.874 3810.372 1645683300 18088011776 192 | 2011-09-05 00:00:00 3800.297 3800.297 3741.217 3740.713 1753384400 18651293696 193 | 2011-09-06 00:00:00 3714.536 3739.678 3714.305 3697.661 1459478900 15529914368 194 | 2011-09-07 00:00:00 3727.363 3796.323 3795.742 3725.841 1823139000 21087260672 195 | 2011-09-08 00:00:00 3807.558 3811.747 3760.163 3759.419 1817911600 21204813824 196 | 2011-09-09 00:00:00 3760.05 3791.944 3740.759 3723.22 1492429400 17146151936 197 | 2011-09-13 00:00:00 3693.491 3693.491 3682.978 3661.184 1528716100 17146241024 198 | 2011-09-14 00:00:00 3691.018 3720.447 3719.818 3636.35 1598515200 17500538880 199 | 2011-09-15 00:00:00 3722.46 3750.156 3720.916 3714.79 1630298000 17425272832 200 | 2011-09-16 00:00:00 3732.245 3749.589 3721.702 3719.005 1433871600 15798304768 201 | 2011-09-19 00:00:00 3707.006 3707.006 3652.832 3651.487 1332734800 14246998016 202 | 2011-09-20 00:00:00 3644.671 3681.013 3670.579 3624.854 1369789700 15481062400 203 | 2011-09-21 00:00:00 3669.791 3778.182 3774.069 3656.466 2327582400 25999208448 204 | 2011-09-22 00:00:00 3743.74 3756.177 3670.693 3668.836 2016945600 22630338560 205 | 2011-09-23 00:00:00 3612.153 3660.848 3644.505 3598.095 1791686400 19790397440 206 | 2011-09-26 00:00:00 3625.378 3662.144 3591.455 3580.403 1523817700 16627607552 207 | 2011-09-27 00:00:00 3613.966 3632.013 3611.262 3576.776 1557754400 16982344704 208 | 2011-09-28 00:00:00 3628.405 3637.089 3557.42 3546.789 1634935600 17469523968 209 | 2011-09-29 00:00:00 3537.81 3537.81 3456.217 3454.216 1713253200 17316251648 210 | 2011-09-30 00:00:00 3459.921 3474.898 3441.249 3411.629 1290970200 12947546112 211 | 2011-10-10 00:00:00 3449.772 3461.358 3419.257 3409.636 1086513700 11385924608 212 | 2011-10-11 00:00:00 3491.663 3509.551 3409.113 3374.148 1581676300 16308059136 213 | 2011-10-12 00:00:00 3393.073 3522.914 3520.099 3367.7 2191678000 21814781952 214 | 2011-10-13 00:00:00 3512.096 3572.467 3564.47 3501.865 2466758600 24493953024 215 | 2011-10-14 00:00:00 3555.592 3563.018 3544.279 3515.259 1684527600 17621981184 216 | 2011-10-17 00:00:00 3552.919 3578.275 3559.936 3537.114 1576409800 17166214144 217 | 2011-10-18 00:00:00 3540.013 3540.013 3454.251 3449.875 1828438000 19263606784 218 | 2011-10-19 00:00:00 3459.014 3474.637 3435.77 3426.016 1388713200 14671348736 219 | 2011-10-20 00:00:00 3420.999 3420.999 3334.969 3309.642 1657241800 16060902400 220 | 2011-10-21 00:00:00 3332.996 3341.563 3288.013 3283.764 1211695400 12249390080 221 | 2011-10-24 00:00:00 3291.102 3347.54 3347.524 3235.69 1624845800 15973091328 222 | 2011-10-25 00:00:00 3344.556 3439.711 3432.711 3336 2352356800 23767676928 223 | 2011-10-26 00:00:00 3411.333 3502.106 3469.023 3404.135 2779888600 27980724224 224 | 2011-10-27 00:00:00 3477.193 3512.759 3477.082 3464.399 2345421200 22501365760 225 | 2011-10-28 00:00:00 3514.403 3548.728 3548.663 3498.245 2971024600 29538166784 226 | 2011-10-31 00:00:00 3545.194 3564.995 3562.268 3531.073 2472756000 25449822208 227 | 2011-11-01 00:00:00 3532.51 3584.802 3566.9 3521.616 2525763600 25365487616 228 | 2011-11-02 00:00:00 3514.249 3630.471 3629.733 3500.347 3154274000 32341227520 229 | 2011-11-03 00:00:00 3640.32 3693.59 3647.017 3640.32 4197311200 43465437184 230 | 2011-11-04 00:00:00 3665.161 3680.123 3671.885 3640.714 2909485200 30379712512 231 | 2011-11-07 00:00:00 3661.273 3695.124 3658.898 3653.562 2326652800 24156280832 232 | 2011-11-08 00:00:00 3661.48 3669.618 3620.091 3611.66 2240683800 23318534144 233 | 2011-11-09 00:00:00 3628.366 3671.076 3670.899 3591.554 2350890400 25293215744 234 | 2011-11-10 00:00:00 3631.669 3656.566 3618.697 3617.986 2433942800 25799446528 235 | 2011-11-11 00:00:00 3623.899 3643.494 3616.929 3601.839 2102244400 21231532032 236 | 2011-11-14 00:00:00 3642.568 3695.27 3695.017 3642.568 2527529200 26839230464 237 | 2011-11-15 00:00:00 3694.637 3723.595 3723.293 3690.054 2487832000 26377621504 238 | 2011-11-16 00:00:00 3727.035 3727.34 3633.728 3618.574 2935435800 29482612736 239 | 2011-11-17 00:00:00 3635.155 3669.29 3630.224 3621.357 2110371000 21740279808 240 | 2011-11-18 00:00:00 3609.912 3609.912 3539.189 3529.146 2342200800 24214798336 241 | 2011-11-21 00:00:00 3533.518 3540.523 3535.489 3498.966 1567173200 16577598464 242 | 2011-11-22 00:00:00 3507.459 3532.636 3532.065 3484.218 1609711600 16557243392 243 | 2011-11-23 00:00:00 3535.825 3546.37 3516.559 3507.544 1546362100 16648624128 244 | 2011-11-24 00:00:00 3488.182 3529.047 3513.947 3466.202 1587283300 16730542080 245 | 2011-11-25 00:00:00 3509.056 3534.006 3492.987 3481.448 1436021300 15586657280 246 | 2011-11-28 00:00:00 3500.067 3514.653 3499.133 3474.375 1509607500 16723953664 247 | 2011-11-29 00:00:00 3524.337 3553.445 3553.06 3510.033 1815723200 20669904896 248 | 2011-11-30 00:00:00 3546.823 3546.823 3412.287 3377.21 2324812000 23529613312 249 | 2011-12-01 00:00:00 3497.932 3529.209 3475.342 3463.753 2610649200 27538110464 250 | 2011-12-02 00:00:00 3457.027 3457.027 3414.045 3394.422 1817503600 19281989632 251 | 2011-12-05 00:00:00 3409.805 3409.812 3315.423 3308.069 1495438000 15203094528 252 | 2011-12-06 00:00:00 3307.573 3321.13 3311.532 3273.183 1323834900 13267306496 253 | 2011-12-07 00:00:00 3307.528 3333.52 3320.506 3295.413 1277315800 13372875776 254 | 2011-12-08 00:00:00 3314.019 3343.3 3314.798 3260.562 1571687700 16534213632 255 | 2011-12-09 00:00:00 3291.281 3317.249 3282.534 3270.047 1197432900 12629051392 256 | 2011-12-12 00:00:00 3279.062 3289.846 3249.87 3245.635 1159454200 11734533120 257 | 2011-12-13 00:00:00 3234.21 3234.21 3148.777 3140.944 1662817200 15535920128 258 | 2011-12-14 00:00:00 3136.176 3161.298 3095.869 3088.288 1288416100 11940081664 259 | 2011-12-15 00:00:00 3077.376 3077.376 3017.986 3015.815 1615795600 13827628032 260 | 2011-12-16 00:00:00 3018.36 3096.536 3095.612 3009.178 1544650200 13581113344 261 | 2011-12-19 00:00:00 3075.468 3097.505 3096.81 3019.137 1510942500 13883350016 262 | 2011-12-20 00:00:00 3085.923 3127.162 3083.162 3080.909 1542536100 14412551168 263 | 2011-12-21 00:00:00 3103.99 3116.992 3020.263 3019.045 1371027300 12838473728 264 | 2011-12-22 00:00:00 3000.709 3014.983 2990.777 2905.082 1643090900 14091068416 265 | 2011-12-23 00:00:00 2983.678 3045.976 3019.382 2969.692 1567186000 13588570112 266 | 2011-12-26 00:00:00 3010.69 3042.892 3002.392 3000.249 1278267900 11290676224 267 | 2011-12-27 00:00:00 2994.728 2994.728 2930.254 2925.801 1234261000 10942431232 268 | 2011-12-28 00:00:00 2915.528 2922.042 2921.357 2852.771 1334585600 11783389184 269 | 2011-12-29 00:00:00 2909.138 2940.723 2927.581 2899.302 1162620800 10275024896 270 | 2011-12-30 00:00:00 2932.172 2980.271 2978.893 2932.172 1462225100 12971116544 271 | 2012-01-04 00:00:00 2999.508 3007.213 2907.017 2906.476 1308502400 11330751488 272 | 2012-01-05 00:00:00 2890.335 2890.923 2807.866 2803.546 1416693700 12324262912 273 | 2012-01-06 00:00:00 2797.366 2814.398 2814.091 2747.065 1302320200 11007369216 274 | 2012-01-09 00:00:00 2813.783 2925.29 2924.692 2787.758 1861676800 15669946368 275 | 2012-01-10 00:00:00 2922.214 3040.245 3040.237 2913.785 2869544600 24495757312 276 | 2012-01-11 00:00:00 3037.874 3060.217 3041.249 3015.47 2443618600 22019106816 277 | 2012-01-12 00:00:00 3027.038 3068.007 3031.095 3016.752 1941406400 17699000320 278 | 2012-01-13 00:00:00 3030.742 3035.328 2935.565 2914.554 2042662800 18800074752 279 | 2012-01-16 00:00:00 2909.453 2923.048 2849.127 2848.34 1405368500 13013616640 280 | 2012-01-17 00:00:00 2846.28 3005.168 3004.867 2829.883 2364448400 21240068096 281 | 2012-01-18 00:00:00 3009.653 3037.108 2943.063 2930.824 2425774600 22598209536 282 | 2012-01-19 00:00:00 2937.989 2991.049 2975.535 2916.878 1716858000 15781961728 283 | 2012-01-20 00:00:00 2980.819 3025.07 3019.5 2971.305 1654337800 15672073216 284 | 2012-01-30 00:00:00 3025.355 3028.115 2986.741 2985.75 1352211100 12492198912 285 | 2012-01-31 00:00:00 2981.452 2992.747 2992.166 2954.67 1256900600 11564371968 286 | 2012-02-01 00:00:00 2987.42 3014.458 2968.903 2958.345 1301742200 12054303744 287 | 2012-02-02 00:00:00 2972.274 3023.971 3023.738 2968.94 1616267600 15599621120 288 | 2012-02-03 00:00:00 3018.974 3072.116 3066.737 3010.815 2239091600 20462905344 289 | 2012-02-06 00:00:00 3071.194 3099.924 3092.226 3067.718 2211285200 20382021632 290 | 2012-02-07 00:00:00 3077.099 3077.099 3039.187 3019.415 1826980800 16722828288 291 | 2012-02-08 00:00:00 3034.091 3117.196 3116.913 3026.492 2382464600 22287833088 292 | 2012-02-09 00:00:00 3112.707 3159.731 3136.183 3106.995 2902461600 26610483200 293 | 2012-02-10 00:00:00 3129.504 3163.983 3146.773 3123.655 2683737000 23459137536 294 | 2012-02-13 00:00:00 3123.512 3185.71 3172.031 3110.616 2657766600 24025856000 295 | 2012-02-14 00:00:00 3168.895 3178.637 3171.811 3148.716 2267709200 20858542080 296 | 2012-02-15 00:00:00 3166.867 3219.372 3218.583 3154.886 3075475800 27237070848 297 | 2012-02-16 00:00:00 3212.615 3238.181 3212.917 3182.746 2915523800 25941348352 298 | 2012-02-17 00:00:00 3219.883 3230.632 3202.014 3174.991 2172955000 19649789952 299 | 2012-02-20 00:00:00 3239.571 3245.861 3208.421 3206.516 2757640000 25565640704 300 | 2012-02-21 00:00:00 3208.11 3244.886 3244.802 3175.121 2539020800 23838922752 301 | 2012-02-22 00:00:00 3243.31 3303.629 3303.197 3241.055 3542469600 34370310144 302 | 2012-02-23 00:00:00 3301.871 3319.551 3311.249 3280.854 3265888200 31345864704 303 | 2012-02-24 00:00:00 3309.198 3352.889 3351.876 3300.851 3607558800 33607720960 304 | 2012-02-27 00:00:00 3362.123 3409.315 3358.331 3357.823 4135404800 39663230976 305 | 2012-02-28 00:00:00 3345.622 3361.422 3350.378 3310.811 3291052200 31572590592 306 | 2012-02-29 00:00:00 3341.386 3354.647 3311.911 3308.672 2729314000 26529480704 307 | 2012-03-01 00:00:00 3297.923 3346.032 3329.546 3294.723 2355464800 22519164928 308 | 2012-03-02 00:00:00 3333.857 3388.965 3388.702 3333.857 3052596800 29260863488 309 | 2012-03-05 00:00:00 3396.673 3412.812 3391.301 3385.64 3445023200 34261415936 310 | 2012-03-06 00:00:00 3380.627 3380.627 3353.785 3332.134 3236002200 31099230208 311 | 2012-03-07 00:00:00 3318.467 3370.263 3334.462 3309.949 2979809800 28684783616 312 | 2012-03-08 00:00:00 3341.194 3389.849 3381.298 3341.194 3086027600 28975357952 313 | 2012-03-09 00:00:00 3389.049 3434.857 3434.654 3379.362 3334959600 33663098880 314 | 2012-03-12 00:00:00 3438.411 3464.046 3463.119 3435.46 3486232800 37275107328 315 | 2012-03-13 00:00:00 3460.156 3493.955 3493.717 3449.074 3397012800 34565033984 316 | 2012-03-14 00:00:00 3504.602 3519.954 3350.753 3328.662 5561362000 54923657216 317 | 2012-03-15 00:00:00 3343.678 3369.042 3325.046 3276.838 3645664800 36362919936 318 | 2012-03-16 00:00:00 3326.999 3405.819 3405.399 3323.275 3373578800 35167764480 319 | 2012-03-19 00:00:00 3402.301 3437.914 3437.131 3379.905 3347278400 34469875712 320 | 2012-03-20 00:00:00 3426.062 3426.062 3361.955 3360.072 2922190800 28839526400 321 | 2012-03-21 00:00:00 3370.312 3390.388 3369.797 3322.18 2980767800 30069950464 322 | 2012-03-22 00:00:00 3366.23 3378.554 3357.025 3341.001 2540706400 25799868416 323 | 2012-03-23 00:00:00 3343.812 3343.812 3292.089 3278.027 2504656400 24825786368 324 | 2012-03-26 00:00:00 3284.948 3299.713 3290.502 3265.831 1890341200 18652801024 325 | 2012-03-27 00:00:00 3303.04 3317.518 3281.993 3277.333 1931542000 20196980736 326 | 2012-03-28 00:00:00 3269.695 3269.695 3145.39 3138.134 2651841600 24958605312 327 | 2012-03-29 00:00:00 3128.766 3138.104 3091.569 3065.198 2107875200 19731822592 328 | 2012-03-30 00:00:00 3089.387 3108.631 3081.923 3056.159 1804727200 16391642112 329 | 2012-04-05 00:00:00 3082.779 3178.944 3178.352 3078.698 2190572200 20523743232 330 | 2012-04-06 00:00:00 3176.829 3210.991 3200.635 3169.505 2340995600 22416494592 331 | 2012-04-09 00:00:00 3192.763 3209.01 3165.633 3164.722 2069346000 19003729920 332 | 2012-04-10 00:00:00 3150.966 3198.522 3197.889 3094.999 2194142000 20286898176 333 | 2012-04-11 00:00:00 3161.911 3219.982 3212.442 3148.185 2339518000 21759172608 334 | 2012-04-12 00:00:00 3214.881 3274.85 3274.85 3212.304 3013282800 26941501440 335 | 2012-04-13 00:00:00 3281.111 3313.501 3297.556 3270.526 3373389200 30360772608 336 | 2012-04-16 00:00:00 3273.464 3319.074 3306.669 3265.249 3021634000 26252814336 337 | 2012-04-17 00:00:00 3301.458 3319.214 3264.225 3263.125 2998532400 26359975936 338 | 2012-04-18 00:00:00 3271.431 3338.686 3336.109 3265.878 3305870200 29555202048 339 | 2012-04-19 00:00:00 3333.254 3346.939 3327.582 3309.508 2908447200 26968713216 340 | 2012-04-20 00:00:00 3320.105 3359.713 3355.92 3310.903 3316005200 29566861312 341 | 2012-04-23 00:00:00 3353.513 3365.517 3328.827 3315.062 3985825600 36616888320 342 | 2012-04-24 00:00:00 3304.447 3347.448 3311.045 3220.625 4145915600 36479963136 343 | 2012-04-25 00:00:00 3305.453 3368.571 3361.918 3295.865 4289316800 37244342272 344 | 2012-04-26 00:00:00 3368.842 3375.941 3353.256 3337.466 3762703200 33269987328 345 | 2012-04-27 00:00:00 3345.687 3351.916 3324.303 3320.618 2835878800 25449652224 346 | 2012-05-02 00:00:00 3360.62 3387.841 3375.542 3333.947 3698458400 35680919552 347 | 2012-05-03 00:00:00 3368.841 3392.036 3391.214 3360.325 3384965600 33684260864 348 | 2012-05-04 00:00:00 3388.276 3415.21 3413.535 3374.531 3270954000 32365457408 349 | 2012-05-07 00:00:00 3396.151 3433.679 3433.446 3390.291 3343560800 33789302784 350 | 2012-05-08 00:00:00 3431.431 3437.191 3426.579 3399.479 3078768200 30997174272 351 | 2012-05-09 00:00:00 3402.12 3402.12 3364.747 3362.297 2933928000 28997003264 352 | 2012-05-10 00:00:00 3359.687 3382.776 3368.955 3356.467 2457034800 24316153856 353 | 2012-05-11 00:00:00 3365.433 3386.967 3353.111 3352.436 2558195600 25400522752 354 | 2012-05-14 00:00:00 3376.753 3390.174 3347.929 3344.064 2866256400 27602755584 355 | 2012-05-15 00:00:00 3321.272 3340.514 3339.936 3298.969 2554923600 25661650944 356 | 2012-05-16 00:00:00 3332.174 3338.377 3299.894 3299.555 2502459200 24050235392 357 | 2012-05-17 00:00:00 3298.031 3353.64 3348.663 3288.812 3011671200 27021094912 358 | 2012-05-18 00:00:00 3328.691 3341.848 3291.419 3282.398 3179838800 26412050432 359 | 2012-05-21 00:00:00 3287.388 3310.434 3290.632 3258.339 2666088800 22330462208 360 | 2012-05-22 00:00:00 3301.677 3339.006 3338.736 3301.677 2634502800 25286105088 361 | 2012-05-23 00:00:00 3330.562 3341.806 3332.934 3297.502 3024689200 29986023424 362 | 2012-05-24 00:00:00 3326.335 3343.959 3303.409 3294.263 2862368200 27635113984 363 | 2012-05-25 00:00:00 3300.626 3307.261 3265.428 3253.138 2690866600 24827242496 364 | 2012-05-28 00:00:00 3254.139 3321.041 3320.63 3216.601 3478468000 32096440320 365 | 2012-05-29 00:00:00 3321.362 3372.078 3367.096 3316.851 4053340400 38631034880 366 | 2012-05-30 00:00:00 3359.989 3376.659 3365.351 3354.137 3136381200 28712493056 367 | 2012-05-31 00:00:00 3348.965 3378.614 3362.08 3336.943 2865634400 27280046080 368 | 2012-06-01 00:00:00 3360.873 3377.766 3356.355 3339.639 2665059200 25199677440 369 | 2012-06-04 00:00:00 3302.825 3316.708 3246.472 3246.145 2996393800 27402405888 370 | 2012-06-05 00:00:00 3250.011 3272.501 3249.814 3234.824 2245790400 21344151552 371 | 2012-06-06 00:00:00 3255.071 3266.383 3233.769 3219.554 1965372000 18447726592 372 | 2012-06-07 00:00:00 3263.473 3273.803 3211.571 3204.603 1978743600 18216714240 373 | 2012-06-08 00:00:00 3238.389 3242.1 3196.744 3190.583 1909261200 17466017792 374 | 2012-06-11 00:00:00 3197.383 3247.584 3246.546 3188.453 1978031600 18268729344 375 | 2012-06-12 00:00:00 3229.412 3238.819 3223.178 3213.502 1807589600 16573297664 376 | 2012-06-13 00:00:00 3228.216 3289.319 3288.853 3228.216 2543303600 22986201088 377 | 2012-06-14 00:00:00 3282.091 3304.441 3266.587 3265.167 2387874400 23243108352 378 | 2012-06-15 00:00:00 3269.655 3290.714 3265.207 3229.74 2081415800 19842052096 379 | 2012-06-18 00:00:00 3275.456 3302.985 3296.103 3275.229 1979986200 19171817472 380 | 2012-06-19 00:00:00 3293.549 3294.038 3273.48 3268.467 2074975200 20293236736 381 | 2012-06-20 00:00:00 3277.19 3284.571 3254.271 3249.637 1875341800 16773197824 382 | 2012-06-21 00:00:00 3249.073 3249.073 3212.917 3194.436 1935725400 17491515392 383 | 2012-06-25 00:00:00 3201.091 3201.091 3138.413 3137.448 1758077800 15571070976 384 | 2012-06-26 00:00:00 3122.877 3142.627 3134.243 3090.467 1622975300 13703092224 385 | 2012-06-27 00:00:00 3130.002 3155.215 3123.767 3122.086 1531567500 13806157824 386 | 2012-06-28 00:00:00 3131.536 3138.13 3082.335 3081.596 1793888600 15667368960 387 | 2012-06-29 00:00:00 3069.434 3120.151 3117.86 3055.419 1982951200 16638164992 388 | 2012-07-02 00:00:00 3135.935 3157.228 3144.41 3121.212 2032514000 20332058624 389 | 2012-07-03 00:00:00 3141.218 3170.488 3148.213 3134.183 2102698400 20105211904 390 | 2012-07-04 00:00:00 3150.154 3156.311 3132.587 3120.738 1850965000 17879746560 391 | 2012-07-05 00:00:00 3119.909 3119.909 3066.092 3058.017 1959958000 17738864640 392 | 2012-07-06 00:00:00 3079.901 3130.234 3129.144 3053.002 2284915800 22112339968 393 | 2012-07-09 00:00:00 3110.491 3119.777 3059.342 3058.204 2304918000 22759495680 394 | 2012-07-10 00:00:00 3049.329 3059.485 3034.846 3022.631 1830670400 17602953216 395 | 2012-07-11 00:00:00 3028.899 3073.984 3073.719 3025.471 1893416600 19025999872 396 | 2012-07-12 00:00:00 3067.228 3116.009 3107.586 3051.034 2540990000 26100670464 397 | 2012-07-13 00:00:00 3095.204 3117.845 3099.181 3084.897 1964324400 20270286848 398 | 2012-07-16 00:00:00 3098.133 3098.262 3004.888 3001.539 2266325800 22675660800 399 | 2012-07-17 00:00:00 2990.168 3019.61 3019.405 2977.613 1808785200 18036039680 400 | 2012-07-18 00:00:00 3014.307 3036.02 3035.711 2972.932 1992484600 18810281984 401 | 2012-07-19 00:00:00 3027.507 3087.854 3069.391 3019.81 2531214800 22120607744 402 | 2012-07-20 00:00:00 3059.333 3076.706 3044.291 3036.316 2049362000 18549274624 403 | 2012-07-23 00:00:00 3021.418 3023.505 3009.189 2985.78 1629900800 14833826816 404 | 2012-07-24 00:00:00 2991.14 3045.32 3028.797 2986.256 1692262800 15367332864 405 | 2012-07-25 00:00:00 3018.873 3031.872 3003.343 2996.035 1510125600 13650490368 406 | 2012-07-26 00:00:00 3000.157 3022.852 2976.91 2975.907 1515747000 13545366528 407 | 2012-07-27 00:00:00 2985.619 2995.371 2970.032 2953.917 1495825900 14153004032 408 | 2012-07-30 00:00:00 2966.685 2980.354 2925.75 2914.998 1490259500 12886908928 409 | 2012-07-31 00:00:00 2920.862 2925.988 2880.4 2877.353 1498856400 12669972480 410 | 2012-08-01 00:00:00 2875.815 2943.685 2928.325 2875.458 1491192100 13177973760 411 | 2012-08-02 00:00:00 2924.952 2944.839 2915.643 2900.724 1406077800 12171531264 412 | 2012-08-03 00:00:00 2920.002 2965.754 2965.351 2912.662 1426516500 12503623680 413 | 2012-08-06 00:00:00 2956.742 3027.839 3027.72 2953.114 2082897400 17841387520 414 | 2012-08-07 00:00:00 3026.082 3050.1 3049.648 3021.667 2307407200 18904236032 415 | 2012-08-08 00:00:00 3047.593 3055.177 3040.29 3023.029 2192390600 18099677184 416 | 2012-08-09 00:00:00 3033.935 3073.881 3073.494 3017.299 2301400800 20342085632 417 | 2012-08-10 00:00:00 3069.023 3076.164 3070.936 3054.372 2063307600 17447520256 418 | 2012-08-13 00:00:00 3063.417 3063.417 3010.48 3010.03 1939846800 16960681984 419 | 2012-08-14 00:00:00 3007.849 3028.275 3027.924 2964.367 1998354400 17333137408 420 | 2012-08-15 00:00:00 3022.593 3022.593 2993.143 2990.31 1605198000 13648930816 421 | 2012-08-16 00:00:00 2988.718 2998.067 2974.976 2966.983 1364093700 11952509952 422 | 2012-08-17 00:00:00 2971.203 2980.613 2973.251 2942.396 1215321200 10743224320 423 | 2012-08-20 00:00:00 2955.464 2975.204 2969.533 2935.66 1209494200 10171032576 424 | 2012-08-21 00:00:00 2967.638 3018.595 3011.209 2965.918 1674628900 14376396800 425 | 2012-08-22 00:00:00 3012.263 3012.521 2982.134 2969.748 1630999000 13679528960 426 | 2012-08-23 00:00:00 2981.203 3002.254 2997.196 2968.611 1672918800 14259188736 427 | 2012-08-24 00:00:00 2987.517 2987.517 2940.967 2939.47 1668212200 13998119936 428 | 2012-08-27 00:00:00 2928.266 2928.266 2875.133 2873.628 1617524700 12750431232 429 | 2012-08-28 00:00:00 2871.982 2905.278 2889.358 2864.772 1454799800 11584784384 430 | 2012-08-29 00:00:00 2884.343 2901.768 2867.724 2867.327 1501491000 11885077504 431 | 2012-08-30 00:00:00 2864.382 2874.948 2832.244 2794.464 1722084000 14043696128 432 | 2012-08-31 00:00:00 2824.331 2845.76 2838.857 2817.276 1270786900 9975230464 433 | 2012-09-03 00:00:00 2831.538 2884.275 2880.501 2826.918 1487843100 12062974976 434 | 2012-09-04 00:00:00 2881.794 2887.249 2850.105 2845.173 1473826900 11777538048 435 | 2012-09-05 00:00:00 2843.986 2869.322 2860.797 2834.619 1457789400 11054697472 436 | 2012-09-06 00:00:00 2866.88 2889.625 2889.035 2864.698 1521010500 11620450304 437 | 2012-09-07 00:00:00 2910.252 3022.262 2995.883 2910.252 3742820800 29343834112 438 | 2012-09-10 00:00:00 3001.288 3027.365 3018.607 2989.037 3217822400 25883121664 439 | 2012-09-11 00:00:00 3007.047 3007.57 3007.214 2984.471 2476122000 20718020608 440 | 2012-09-12 00:00:00 3016.506 3031.068 3030.32 2997.976 2634149200 22047895552 441 | 2012-09-13 00:00:00 3028.561 3037.479 2995.223 2994.862 2738456800 22720974848 442 | 2012-09-14 00:00:00 3017.365 3028.174 2999.348 2977.606 2733044400 22575906816 443 | 2012-09-17 00:00:00 2996.02 2996.02 2913.421 2913.421 2366039000 19168425984 444 | 2012-09-18 00:00:00 2902.546 2916.775 2898.352 2884.625 1614906400 13265701888 445 | 2012-09-19 00:00:00 2900.08 2922.105 2921.436 2897.447 1504193900 12597342208 446 | 2012-09-20 00:00:00 2915.384 2915.384 2836.869 2834.374 2025297200 16237541376 447 | 2012-09-21 00:00:00 2830.283 2853.22 2826.582 2817.973 1760806400 14228187136 448 | 2012-09-24 00:00:00 2813.103 2856.414 2848.1 2792.299 1756977600 14469558272 449 | 2012-09-25 00:00:00 2839.656 2854.02 2827.371 2818.03 1459650200 11995645952 450 | 2012-09-26 00:00:00 2825.437 2831.859 2772.507 2766.172 1560363000 12299261952 451 | 2012-09-27 00:00:00 2768.701 2846.285 2830.611 2766.174 2035107000 15927684096 452 | 2012-09-28 00:00:00 2816.526 2879.101 2878.8 2810.749 1998148000 16433888256 453 | 2012-10-08 00:00:00 2877.834 2890.877 2863.955 2849.18 1469954600 11974785024 454 | 2012-10-09 00:00:00 2867.39 2935.691 2935.518 2867.39 2298566000 18688198656 455 | 2012-10-10 00:00:00 2927.728 2955.569 2955.442 2918.627 2362892800 18043445248 456 | 2012-10-11 00:00:00 2948.333 2954.997 2914.244 2913.461 2197439200 16587302912 457 | 2012-10-12 00:00:00 2920.373 2943.583 2905.917 2880.77 1944464800 14048994304 458 | 2012-10-15 00:00:00 2903.884 2904.762 2891.957 2866.392 1593190700 11932424192 459 | 2012-10-16 00:00:00 2889.665 2925.859 2904.32 2882.809 1760446000 14674183168 460 | 2012-10-17 00:00:00 2909.554 2919.028 2911.511 2882.764 1656598200 13335512064 461 | 2012-10-18 00:00:00 2914.27 2961.696 2956.921 2913.328 2501718600 19276967936 462 | 2012-10-19 00:00:00 2955.875 2965.614 2949.823 2942.856 2037075600 15375684608 463 | 2012-10-22 00:00:00 2934.466 2961.906 2958.884 2926.798 1707554600 13368457216 464 | 2012-10-23 00:00:00 2957.475 2961.599 2923.868 2920.373 2035203200 15564316672 465 | 2012-10-24 00:00:00 2910.027 2939.54 2924.822 2906.371 2210060800 15063879680 466 | 2012-10-25 00:00:00 2925.167 2946.364 2898.07 2895.125 2552215400 16987285504 467 | 2012-10-26 00:00:00 2892.382 2895.61 2839.156 2822.579 2179066400 15960000512 468 | 2012-10-29 00:00:00 2831.783 2846.807 2835.632 2817.476 1398653800 10695869440 469 | 2012-10-30 00:00:00 2833.923 2858.906 2836.652 2829.832 1575825300 11860772864 470 | 2012-10-31 00:00:00 2832.629 2843.128 2842.988 2814.997 1712338800 13576656896 471 | 2012-11-01 00:00:00 2842.623 2895.659 2890.098 2842.382 2368967800 18057758720 472 | 2012-11-02 00:00:00 2892.258 2909.397 2908.719 2879.664 2317051200 17399564288 473 | 2012-11-05 00:00:00 2905.438 2916.422 2903.063 2890.573 2156721200 17244737536 474 | 2012-11-06 00:00:00 2901.263 2901.667 2882.415 2843.487 2114202400 16762149888 475 | 2012-11-07 00:00:00 2879.109 2890.865 2879.441 2864.65 1657293800 13083953152 476 | 2012-11-08 00:00:00 2858.645 2861.532 2818.2 2817.349 2078477200 15872840704 477 | 2012-11-09 00:00:00 2811.431 2829.467 2813.362 2801.476 1628565700 12781383680 478 | 2012-11-12 00:00:00 2813.763 2828.042 2822.123 2799.862 1644775400 13152954368 479 | 2012-11-13 00:00:00 2820.907 2820.907 2770.006 2764.952 1771688400 13831591936 480 | 2012-11-14 00:00:00 2765.826 2777.235 2776.013 2748.646 1381484700 10963331072 481 | 2012-11-15 00:00:00 2762.907 2773.991 2729.087 2726.928 1453555300 11397642240 482 | 2012-11-16 00:00:00 2724.891 2725.036 2711.792 2691.503 1452393400 11096141824 483 | 2012-11-19 00:00:00 2708.832 2714.597 2714.204 2678.038 1321767200 10705866752 484 | 2012-11-20 00:00:00 2718.15 2724.073 2702.32 2701.723 1234452500 9856899072 485 | 2012-11-21 00:00:00 2701.643 2730.28 2730.28 2667.755 1624175800 12280354816 486 | 2012-11-22 00:00:00 2715.705 2715.705 2695.775 2690.311 1443315900 10827248640 487 | 2012-11-23 00:00:00 2696.449 2722.648 2710.835 2695.901 1625121500 12152464384 488 | 2012-11-26 00:00:00 2707.962 2709.836 2681.886 2678.688 1427542600 10433200128 489 | 2012-11-27 00:00:00 2673.671 2673.671 2600.53 2599.423 1626504500 11334208512 490 | 2012-11-28 00:00:00 2590.653 2590.653 2548.282 2541.653 1426378200 9653318656 491 | 2012-11-29 00:00:00 2548.028 2564.195 2530.14 2527.1 1315568100 8621940736 492 | 2012-11-30 00:00:00 2527.51 2560.584 2559.927 2521.418 1412413500 9273972736 493 | 2012-12-03 00:00:00 2558.769 2564.308 2498.355 2495.956 1482799300 10278932480 494 | 2012-12-04 00:00:00 2488.982 2528.369 2525.606 2465.461 1716282200 11586844672 495 | 2012-12-05 00:00:00 2519.484 2627.891 2612.505 2513.014 2957058800 20072493056 496 | 2012-12-06 00:00:00 2610.185 2622.777 2612.011 2593.784 2318338400 16270385152 497 | 2012-12-07 00:00:00 2608.876 2671.328 2667.296 2603.638 3090032000 21497051136 498 | 2012-12-10 00:00:00 2667.772 2707.966 2704.687 2659.373 3120825800 22104803328 499 | 2012-12-11 00:00:00 2696.434 2716.282 2689.465 2684.4 2626872400 19197704192 500 | 2012-12-12 00:00:00 2686.678 2701.398 2689.739 2665.745 2077712400 14824534016 501 | 2012-12-13 00:00:00 2683.526 2693.656 2655.554 2653.781 1965999400 13532368896 502 | 2012-12-14 00:00:00 2651.691 2761.641 2760.104 2651.679 3962476000 27716546560 503 | 2012-12-17 00:00:00 2764.715 2789.61 2784.485 2761.291 3938108800 29447231488 504 | 2012-12-18 00:00:00 2780.91 2809.206 2777.296 2763.899 3219299600 23915233280 505 | 2012-12-19 00:00:00 2778.255 2799.043 2787.445 2771.247 2636829200 20058380288 506 | 2012-12-20 00:00:00 2780.16 2797.375 2794.336 2756.616 2672617600 19755327488 507 | 2012-12-21 00:00:00 2795.479 2827.434 2788.804 2776.7 2844500600 21355710464 508 | 2012-12-24 00:00:00 2783.758 2803.776 2800.592 2780.457 2180041800 17060545536 509 | 2012-12-25 00:00:00 2795.11 2872.133 2865.831 2785.648 3920254800 28840736768 510 | 2012-12-26 00:00:00 2863.82 2897.403 2897.329 2861.612 3343861200 25249056768 511 | 2012-12-27 00:00:00 2900.851 2914.066 2876.289 2874.434 3503359200 26459734016 512 | 2012-12-28 00:00:00 2872.695 2909.393 2908.841 2868.411 2978993000 23171266560 513 | 2012-12-31 00:00:00 2913.951 2944.869 2944.818 2905.89 3421823200 27369957376 514 | 2013-01-04 00:00:00 2962.8 2969.779 2926.077 2902.378 3613199200 27204573184 515 | 2013-01-07 00:00:00 2921.46 2954.454 2954.023 2916.947 3235366800 25352380416 516 | 2013-01-08 00:00:00 2954.577 2987.876 2985.666 2938.969 3756466400 30332528640 517 | 2013-01-09 00:00:00 2980.431 3007.614 2989.928 2961.407 3784771600 30103275520 518 | 2013-01-10 00:00:00 2988.833 3019.188 3007.209 2983.643 3442130000 27077857280 519 | 2013-01-11 00:00:00 3009.625 3012.784 2938.884 2931.996 3708731200 28968230912 520 | 2013-01-14 00:00:00 2931.654 3036.629 3035.722 2930.813 4163052800 33328023552 521 | 2013-01-15 00:00:00 3040.835 3098.244 3089.129 3039.705 5248777600 42371506176 522 | 2013-01-16 00:00:00 3085.13 3100.777 3086.721 3037.891 4574026800 37595455488 523 | 2013-01-17 00:00:00 3082.055 3090.228 3050.791 3041.556 3558478000 29518843904 524 | 2013-01-18 00:00:00 3057.674 3098.203 3094.428 3048.763 3456321200 28474245120 525 | 2013-01-21 00:00:00 3103.329 3124.13 3123.749 3086.786 3749769600 30691678208 526 | 2013-01-22 00:00:00 3121.247 3121.247 3076.707 3057.303 4008984000 33167278080 527 | 2013-01-23 00:00:00 3067.012 3093.246 3090.616 3048.874 3380883600 27873101824 528 | 2013-01-24 00:00:00 3091.273 3124.523 3034.741 3014.043 4379001600 35813728256 529 | 2013-01-25 00:00:00 3031.649 3049.428 3033.297 3021.388 2680914400 23098640384 530 | 2013-01-28 00:00:00 3032.903 3105.146 3104.485 3032.755 3397038000 29559418880 531 | 2013-01-29 00:00:00 3105.01 3127.053 3121.931 3099.258 3697778400 30776305664 532 | 2013-01-30 00:00:00 3125.15 3138.055 3137.845 3104.368 4088947200 32494692352 533 | 2013-01-31 00:00:00 3137.178 3139.902 3127.414 3113.16 3610271600 29721976832 534 | 2013-02-01 00:00:00 3117.976 3153.799 3153.359 3111.389 3739019200 30686529536 535 | 2013-02-04 00:00:00 3159.379 3168.416 3152.006 3131.702 4433460400 37285687296 536 | 2013-02-05 00:00:00 3137.516 3190.309 3189.94 3131.336 3889505600 31935062016 537 | 2013-02-06 00:00:00 3190.692 3208.091 3200.099 3189.295 3155132000 26306668544 538 | 2013-02-07 00:00:00 3195.952 3213.401 3209.136 3180.844 2923391600 25111175168 539 | 2013-02-08 00:00:00 3206.718 3263.892 3255.43 3206.66 2921261400 25542049792 540 | 2013-02-18 00:00:00 3266.737 3273.036 3261.382 3241.235 3346018000 28373184512 541 | 2013-02-19 00:00:00 3259.876 3264.312 3202.265 3191.481 3699108800 29856829440 542 | 2013-02-20 00:00:00 3198.65 3260.542 3260.382 3197.474 3304932800 28398874624 543 | 2013-02-21 00:00:00 3241.503 3241.503 3187.509 3164.763 3967218000 33169451008 544 | 2013-02-22 00:00:00 3181.913 3205.318 3177.741 3171.816 2805399200 24439953408 545 | 2013-02-25 00:00:00 3180.524 3215.894 3209.786 3180.524 2698506400 22888501248 546 | 2013-02-26 00:00:00 3198.045 3220.779 3166.477 3164.075 3292292000 28378935296 547 | 2013-02-27 00:00:00 3169.94 3197.383 3172.96 3144.65 2769534000 24603592704 548 | 2013-02-28 00:00:00 3179.595 3232.139 3231.617 3168.919 3334098400 29328488448 549 | 2013-03-01 00:00:00 3230.409 3260.773 3260.503 3220.044 3547895600 31566231552 550 | 2013-03-04 00:00:00 3233.872 3233.872 3153.811 3133.21 4560335600 39139139584 551 | 2013-03-05 00:00:00 3150.635 3213.777 3213.652 3140.46 3505449200 30446737408 552 | 2013-03-06 00:00:00 3220.271 3259.297 3258.261 3217.901 4096396400 35544649728 553 | 2013-03-07 00:00:00 3255.037 3263.681 3231.549 3199.381 4054078000 35519393792 554 | 2013-03-08 00:00:00 3232.154 3243.825 3206.688 3201.638 2748849400 23937021952 555 | 2013-03-11 00:00:00 3204.848 3220.275 3205.079 3188.769 2410415200 20457369600 556 | 2013-03-12 00:00:00 3204.856 3224.683 3140.971 3103.089 3384656400 28479256576 557 | 2013-03-13 00:00:00 3134.449 3135.557 3112.416 3085.458 2472142200 20578187264 558 | 2013-03-14 00:00:00 3105.962 3138.204 3125.947 3103.04 2330707600 18713483264 559 | 2013-03-15 00:00:00 3129.25 3175.5 3130.387 3095.343 3045517800 25539880960 560 | 2013-03-18 00:00:00 3121.322 3136.607 3095.831 3092.382 2685106400 22633721856 561 | 2013-03-19 00:00:00 3095.99 3108.954 3107.945 3063.334 2516347600 21212235776 562 | 2013-03-20 00:00:00 3106.029 3182.965 3182.965 3103.067 3434765600 28685096960 563 | 2013-03-21 00:00:00 3183.761 3223.95 3217.069 3179.119 3660162800 32638089216 564 | 2013-03-22 00:00:00 3212.685 3228.692 3223.308 3200.85 3146661000 26932404224 565 | 2013-03-25 00:00:00 3227.669 3237.448 3219.246 3203.212 2871676000 24984827904 566 | 2013-03-26 00:00:00 3206.44 3206.539 3193.319 3162.253 2840267400 24847785984 567 | 2013-03-27 00:00:00 3191.083 3225.266 3203.677 3183.126 2693114800 24605573120 568 | 2013-03-28 00:00:00 3181.852 3181.852 3122.199 3121.878 3067730400 25602164736 569 | 2013-03-29 00:00:00 3124.785 3137.798 3121.454 3109.371 2342204400 20386426880 570 | 2013-04-01 00:00:00 3120.557 3147.679 3133.972 3119.673 2431071800 21271793664 571 | 2013-04-02 00:00:00 3134.595 3158.004 3100.571 3092.003 2728478200 24350732288 572 | 2013-04-03 00:00:00 3104.067 3110.87 3075.249 3062.342 2618306000 23031140352 573 | 2013-04-08 00:00:00 3038.447 3077.801 3076.811 3007.29 2670820000 23054362624 574 | 2013-04-09 00:00:00 3077.303 3106.443 3096.922 3077.303 2706573400 23025188864 575 | 2013-04-10 00:00:00 3093.822 3101.854 3093.115 3067.79 2705045200 23535591424 576 | 2013-04-11 00:00:00 3098.635 3106.805 3082.144 3078.484 2413603400 20714674176 577 | 2013-04-12 00:00:00 3078.674 3090.936 3059.843 3056.962 2107262400 18135547904 578 | 2013-04-15 00:00:00 3049.874 3049.874 3014.947 3007.285 2237636800 18857525248 579 | 2013-04-16 00:00:00 2989.199 3036.835 3036.311 2980.195 2114091600 17907353600 580 | 2013-04-17 00:00:00 3035.501 3049.577 3049.354 3017.423 1922977600 16722834432 581 | 2013-04-18 00:00:00 3033.361 3064.705 3056.428 3022.578 2120344200 18486661120 582 | 2013-04-19 00:00:00 3057.574 3125.144 3119.818 3057.355 3029937600 25902790656 583 | 2013-04-22 00:00:00 3109.475 3131.814 3131.372 3107.341 2901282000 25560467456 584 | 2013-04-23 00:00:00 3129.05 3129.05 3044.582 3042.068 2956148000 25153871872 585 | 2013-04-24 00:00:00 3046.333 3104.721 3096.505 3042.569 2810890000 24706594816 586 | 2013-04-25 00:00:00 3089.148 3101.783 3052.576 3052.542 3076184000 28030646272 587 | 2013-04-26 00:00:00 3052.592 3061.676 3003.792 2995.665 2365694600 20967307264 588 | 2013-05-02 00:00:00 2992.152 3017.021 3010.871 2984.417 2039420400 18569728000 589 | 2013-05-03 00:00:00 3014.709 3072.52 3062.819 3014.709 2493556800 22707488768 590 | 2013-05-06 00:00:00 3070.006 3114.603 3113.787 3070.006 2909287200 26463791104 591 | 2013-05-07 00:00:00 3108.589 3125.679 3122.444 3096.55 2747375200 24897900544 592 | 2013-05-08 00:00:00 3127.183 3143.901 3143.49 3117.048 2801956000 25168666624 593 | 2013-05-09 00:00:00 3139.357 3142.133 3137.76 3108.87 3225677800 29916450816 594 | 2013-05-10 00:00:00 3134.139 3165.027 3164.517 3129.424 3196300800 29758457856 595 | 2013-05-13 00:00:00 3166.743 3172.494 3172.201 3151.768 3084769400 28289802240 596 | 2013-05-14 00:00:00 3167.417 3167.417 3137.616 3117.704 2762382800 24611784704 597 | 2013-05-15 00:00:00 3130.771 3158.203 3157.872 3127.677 2538387200 23254827008 598 | 2013-05-16 00:00:00 3151.068 3196.822 3194.129 3135.936 3535199600 33445040128 599 | 2013-05-17 00:00:00 3189.42 3236.378 3233.193 3187.543 3953192000 34714963968 600 | 2013-05-20 00:00:00 3236.413 3256.502 3253.489 3218.785 4402258400 41674092544 601 | 2013-05-21 00:00:00 3249.634 3290.377 3290.173 3244.773 4366676400 40509820928 602 | 2013-05-22 00:00:00 3286.78 3299.276 3276.236 3260.37 4598965600 41871417344 603 | 2013-05-23 00:00:00 3264.214 3292.584 3246.91 3241.481 4115650800 36397834240 604 | 2013-05-24 00:00:00 3246.808 3285.613 3285.443 3244.104 3504577200 31157870592 605 | 2013-05-27 00:00:00 3284.654 3308.813 3308.668 3282.235 3684314400 34515013632 606 | 2013-05-28 00:00:00 3311.43 3328.329 3327.398 3275.829 4095801600 38701084672 607 | 2013-05-29 00:00:00 3329.929 3354.021 3351.751 3327.143 4036704400 37672824832 608 | 2013-05-30 00:00:00 3339.627 3362.678 3358.718 3332.648 3939806800 37514354688 609 | 2013-05-31 00:00:00 3360.427 3377.442 3344.336 3342.664 3908011200 38069067776 610 | 2013-06-03 00:00:00 3339.541 3359.535 3335.902 3327.353 3547766400 34384916480 611 | 2013-06-04 00:00:00 3327.966 3327.966 3269.384 3245.636 3545700000 33157443584 612 | 2013-06-05 00:00:00 3263.196 3278.486 3276.096 3247.72 2641357200 25384306688 613 | 2013-06-06 00:00:00 3263.783 3267.058 3222.441 3219.181 2676523400 25344468992 614 | 2013-06-07 00:00:00 3222.088 3230.397 3162.05 3146.666 2876951600 26272632832 615 | 2013-06-13 00:00:00 3125.332 3125.332 3069.646 3021.092 2543540800 21976166400 616 | 2013-06-14 00:00:00 3072.623 3115.507 3112.382 3071.655 2395947600 22329745408 617 | 2013-06-17 00:00:00 3115.35 3131.097 3114.562 3087.485 2414012400 23068545024 618 | 2013-06-18 00:00:00 3116.252 3129.306 3126.872 3086.242 2187609200 20619898880 619 | 2013-06-19 00:00:00 3111.606 3111.606 3105.968 3054.459 2395808200 20879321088 620 | 2013-06-20 00:00:00 3087.921 3089.083 3013.326 3011.559 2388994400 21000194048 621 | 2013-06-21 00:00:00 2967.474 3015.164 3001.894 2928.096 2259800000 19571744768 622 | 2013-06-24 00:00:00 2996.044 2996.044 2835.114 2811.463 2932591600 24173987840 623 | 2013-06-25 00:00:00 2810.851 2840.696 2821.171 2634.676 3788302400 29782288384 624 | 2013-06-26 00:00:00 2822.045 2858.674 2857.557 2800.65 2893704000 24412266496 625 | 2013-06-27 00:00:00 2863.376 2901.247 2817.907 2816.449 3212913200 27526791168 626 | 2013-06-28 00:00:00 2799.868 2864.06 2824.135 2772.465 2691879200 22500440064 627 | 2013-07-01 00:00:00 2815.101 2876.076 2875.497 2802.426 2495546000 21296635904 628 | 2013-07-02 00:00:00 2875.328 2916.765 2915.931 2867.975 2820444200 26035572736 629 | 2013-07-03 00:00:00 2904.757 2915.246 2908.271 2857.595 2968533600 25654511616 630 | 2013-07-04 00:00:00 2893.638 2957.407 2927.397 2880.115 3144522400 26277767168 631 | 2013-07-05 00:00:00 2925.811 2955.679 2919.309 2918.443 2954476800 24997193728 632 | 2013-07-08 00:00:00 2882.582 2882.582 2815.965 2815.552 2789224000 23404476416 633 | 2013-07-09 00:00:00 2809.656 2835.11 2833.679 2798.397 2232152000 19164450816 634 | 2013-07-10 00:00:00 2833.183 2911.029 2910.872 2830.803 2961521200 24824020992 635 | 2013-07-11 00:00:00 2912.353 3015.71 2993.189 2911.832 4387871600 36366962688 636 | 2013-07-12 00:00:00 2991.895 3015.351 2964.83 2964.244 3509803600 31883128832 637 | 2013-07-15 00:00:00 2973.178 3020.583 3015.532 2971.245 3169909800 28918196224 638 | 2013-07-16 00:00:00 3014.371 3043.613 3043.613 2992.152 3213691600 28893454336 639 | 2013-07-17 00:00:00 3037.292 3055.277 3004.684 2997.302 3377013200 31022499840 640 | 2013-07-18 00:00:00 2995.303 3011.117 2990.759 2967.587 3150259000 27559790592 641 | 2013-07-19 00:00:00 2989.622 3009.182 2922.032 2921.597 3432015200 30393024512 642 | 2013-07-22 00:00:00 2906.914 2970.002 2968.98 2895.737 2845658800 26698954752 643 | 2013-07-23 00:00:00 2974.161 3038.942 3038.82 2974.161 3671982800 33479245824 644 | 2013-07-24 00:00:00 3031.312 3050.102 3045.22 2997.558 3713486000 34787917824 645 | 2013-07-25 00:00:00 3042.941 3052.683 3001.796 2996.132 3449047200 32322631680 646 | 2013-07-26 00:00:00 2988.948 3010.784 2990.588 2960.173 2719203800 25260875776 647 | 2013-07-29 00:00:00 2975.404 2978.974 2944.369 2937.588 2627333400 22962937856 648 | 2013-07-30 00:00:00 2946.946 2962.64 2938.397 2890.583 2568850400 22981459968 649 | 2013-07-31 00:00:00 2946.218 2966.618 2944.782 2934.16 2286169200 20465152000 650 | 2013-08-01 00:00:00 2950.237 3017.838 3017.553 2946.63 3072177800 27340226560 651 | 2013-08-02 00:00:00 3027.648 3046.401 3024.418 3020.209 3183309200 28113016832 652 | 2013-08-05 00:00:00 3023.908 3078.175 3077.615 3022.931 3041040200 27586969600 653 | 2013-08-06 00:00:00 3072.451 3117.589 3113.939 3065.116 3740099200 32133990400 654 | 2013-08-07 00:00:00 3107.304 3118.598 3087.795 3081.123 3717364800 32700319744 655 | 2013-08-08 00:00:00 3081.198 3113.973 3096.428 3075.202 3049589800 27268098048 656 | 2013-08-09 00:00:00 3100.17 3121.204 3106.757 3064.557 3240345600 28391847936 657 | 2013-08-12 00:00:00 3113.787 3161.266 3160.954 3113.326 3999191200 33757771776 658 | 2013-08-13 00:00:00 3162.205 3176.13 3175.477 3156.144 3792826400 31229554688 659 | 2013-08-14 00:00:00 3176.298 3187.41 3166.183 3153.148 3846460000 32139587584 660 | 2013-08-15 00:00:00 3162.223 3169.621 3124.946 3122.61 3477620400 30285627392 661 | 2013-08-16 00:00:00 3107.62 3171.827 3065.915 3063.345 3979715600 32799660032 662 | 2013-08-19 00:00:00 3051.417 3120.312 3119.854 3048.701 3119277400 25168726016 663 | 2013-08-20 00:00:00 3116.224 3139.838 3109.072 3094.289 3659379200 29738299392 664 | 2013-08-21 00:00:00 3108.946 3123.14 3122.472 3089.103 3140310000 25952432128 665 | 2013-08-22 00:00:00 3116.52 3137.001 3123.519 3110.776 3168478200 26939205632 666 | 2013-08-23 00:00:00 3135.035 3143.174 3114.807 3063.473 3985065200 34659516416 667 | 2013-08-26 00:00:00 3120.203 3191.294 3190.952 3117.039 4110736000 34675699712 668 | 2013-08-27 00:00:00 3191.087 3217.204 3216.451 3186.347 4541685600 37844766720 669 | 2013-08-28 00:00:00 3199.17 3240.978 3215.362 3178.857 5699474400 46284931072 670 | 2013-08-29 00:00:00 3218.512 3225.672 3217.866 3195.983 5146048800 39459774464 671 | 2013-08-30 00:00:00 3223.915 3260.464 3220.026 3202.824 7045176000 52847546368 672 | 2013-09-02 00:00:00 3234.112 3238.788 3213.072 3168.932 6148895600 45821091840 673 | 2013-09-03 00:00:00 3206.953 3249.567 3248.911 3197.197 4961212400 38677827584 674 | 2013-09-04 00:00:00 3251.378 3275.41 3264.36 3243.699 5239418400 41617113088 675 | 2013-09-05 00:00:00 3260.588 3278.958 3265.478 3244.771 5153124800 42620383232 676 | 2013-09-06 00:00:00 3262.128 3306.117 3300.314 3260.48 5373110400 45599576064 677 | 2013-09-09 00:00:00 3308.999 3342.653 3340.688 3301.821 6438326800 54050766848 678 | 2013-09-10 00:00:00 3340.721 3395.914 3395.421 3338.296 7836830400 62314840064 679 | 2013-09-11 00:00:00 3404.261 3407.706 3378.529 3356.206 7943422400 60392267776 680 | 2013-09-12 00:00:00 3368.88 3394.543 3388.119 3358.885 5860043600 44734124032 681 | 2013-09-13 00:00:00 3387.158 3396.916 3377.305 3361.301 5632229600 44502097920 682 | 2013-09-16 00:00:00 3379.677 3401.655 3388.322 3374.275 4664154400 40391471104 683 | 2013-09-17 00:00:00 3385.813 3385.813 3321.167 3320.142 4946880800 42493710336 684 | 2013-09-18 00:00:00 3318.137 3357.352 3355.299 3314.47 3838201600 35066736640 685 | 2013-09-23 00:00:00 3363.329 3426.077 3425.431 3363.176 4621754800 43458117632 686 | 2013-09-24 00:00:00 3423.073 3450.154 3441.413 3394.748 5619223200 51584737280 687 | 2013-09-25 00:00:00 3439.604 3473.84 3433.613 3424.275 5871642000 54363070464 688 | 2013-09-26 00:00:00 3418.548 3418.548 3346.169 3344.032 4791532400 43940999168 689 | 2013-09-27 00:00:00 3340.669 3380.828 3366.417 3340.669 3938699200 37672853504 690 | 2013-09-30 00:00:00 3377.471 3413.409 3412.281 3377.471 3233520800 32581701632 691 | 2013-10-08 00:00:00 3414.751 3459.219 3457.534 3404.652 4159306000 40291651584 692 | 2013-10-09 00:00:00 3452.998 3506.264 3505.548 3442.603 4824794800 44449509376 693 | 2013-10-10 00:00:00 3516.121 3521.457 3484.739 3475.964 5438837200 50924175360 694 | 2013-10-11 00:00:00 3501.794 3557.122 3556.691 3501.437 5859199600 54422478848 695 | 2013-10-14 00:00:00 3564.85 3602.324 3597.179 3556.18 6044442000 57821118464 696 | 2013-10-15 00:00:00 3600.082 3615.977 3613.364 3582.679 5750769200 54870147072 697 | 2013-10-16 00:00:00 3601.608 3601.608 3510.487 3489.325 5948101600 55870959616 698 | 2013-10-17 00:00:00 3522.726 3541.684 3489.346 3477.884 4917899600 46157602816 699 | 2013-10-18 00:00:00 3484.034 3511.581 3505.678 3474.185 3757824800 35382251520 700 | 2013-10-21 00:00:00 3514.335 3598.226 3597.739 3510.505 5157700400 48537890816 701 | 2013-10-22 00:00:00 3597.903 3613.062 3558.853 3546.527 5768684800 55802052608 702 | 2013-10-23 00:00:00 3557.263 3573.087 3466.157 3449.283 5501379600 49394966528 703 | 2013-10-24 00:00:00 3456.042 3478.205 3446.725 3437.479 3696634000 33950871552 704 | 2013-10-25 00:00:00 3448.484 3455.99 3378.449 3355.427 4010744000 36727361536 705 | 2013-10-28 00:00:00 3377.154 3383.859 3368.936 3348.076 3348574800 29194872832 706 | 2013-10-29 00:00:00 3362.713 3383.782 3289.908 3205.093 4724074800 38951485440 707 | 2013-10-30 00:00:00 3278.823 3350.26 3349.82 3274.993 4160961600 33602961408 708 | 2013-10-31 00:00:00 3341.995 3341.995 3302.664 3298.352 3706882800 30840317952 709 | 2013-11-01 00:00:00 3289.669 3305.875 3288.329 3252.831 3073527000 26119163904 710 | 2013-11-04 00:00:00 3291.304 3318.395 3299.212 3288.723 2578637600 22910238720 711 | 2013-11-05 00:00:00 3289.835 3338.417 3338.213 3260.618 3204970200 27577896960 712 | 2013-11-06 00:00:00 3325.943 3356.637 3302.801 3302.149 3653338400 30945959936 713 | 2013-11-07 00:00:00 3289.614 3302.567 3262.568 3255.645 2795694800 23939231744 714 | 2013-11-08 00:00:00 3250.414 3260.272 3213.849 3208.333 2910497800 24905369600 715 | 2013-11-11 00:00:00 3206.051 3236.93 3224.878 3186.944 2350702800 20348030976 716 | 2013-11-12 00:00:00 3223.757 3253.036 3252.675 3211.173 2744696600 22737303552 717 | 2013-11-13 00:00:00 3242.71 3243.12 3191.394 3190.812 2815056800 23228981248 718 | 2013-11-14 00:00:00 3182.935 3233.927 3233.402 3165.717 2892791400 24430987264 719 | 2013-11-15 00:00:00 3235.502 3331.282 3303.685 3235.502 4176350000 37070237696 720 | 2013-11-18 00:00:00 3325.097 3381.023 3380.947 3318.684 4788300800 41634390016 721 | 2013-11-19 00:00:00 3383.588 3393.86 3381.478 3362.711 3923687200 35526959104 722 | 2013-11-20 00:00:00 3386.95 3414.782 3414.635 3371.452 3979794800 33810958336 723 | 2013-11-21 00:00:00 3402.935 3421.063 3408.972 3380.182 4619714800 38006992896 724 | 2013-11-22 00:00:00 3409.336 3420.087 3388.126 3381.043 3693972800 32137373696 725 | 2013-11-25 00:00:00 3382.452 3417.302 3388.196 3372.211 3709380800 31365189632 726 | 2013-11-26 00:00:00 3388.637 3407.744 3399.422 3379.548 3749423200 29456594944 727 | 2013-11-27 00:00:00 3396.52 3437.093 3436.358 3387.875 4072603200 34878373888 728 | 2013-11-28 00:00:00 3442.233 3481.192 3462.666 3440.92 4524150400 38177861632 729 | 2013-11-29 00:00:00 3464.997 3477.948 3476.69 3454.529 3751298400 34527240192 730 | 2013-12-02 00:00:00 3417.806 3450.856 3342.637 3310.786 5339355200 45666217984 731 | 2013-12-03 00:00:00 3328.504 3415.692 3412.731 3325.222 3947977600 34233270272 732 | 2013-12-04 00:00:00 3408.777 3505.236 3484.987 3403.629 5474522000 46980997120 733 | 2013-12-05 00:00:00 3485.669 3496.207 3484.259 3466.262 4432294400 37696704512 734 | 2013-12-06 00:00:00 3479.52 3491.838 3472.138 3461.998 3405305200 30277033984 735 | 2013-12-09 00:00:00 3480.198 3496.067 3488.585 3472.548 3166983400 28668764160 736 | 2013-12-10 00:00:00 3491.904 3518.574 3498.022 3484.251 4301566800 37406830592 737 | 2013-12-11 00:00:00 3484.106 3484.106 3454.919 3428.301 3672267200 31577587712 738 | 2013-12-12 00:00:00 3449.815 3485.773 3464.219 3448.25 3029897200 27285612544 739 | 2013-12-13 00:00:00 3448.422 3477.609 3466.025 3437.817 3015026000 25958834176 740 | 2013-12-16 00:00:00 3468.115 3470.909 3395.77 3395.77 3432093600 28211945472 741 | 2013-12-17 00:00:00 3394.016 3404.714 3380.819 3370.343 2581879200 21316608000 742 | 2013-12-18 00:00:00 3381.31 3399.13 3376.655 3367.951 2090380800 17098734592 743 | 2013-12-19 00:00:00 3384.22 3397.427 3343.808 3340.612 2170792800 17760139264 744 | 2013-12-20 00:00:00 3342.677 3356.461 3295.446 3285.982 2475073800 19661867008 745 | 2013-12-23 00:00:00 3295.368 3303.029 3290.622 3244.038 2136241800 18528669696 746 | 2013-12-24 00:00:00 3294.199 3338.305 3309.585 3282.759 2269783600 20008683520 747 | 2013-12-25 00:00:00 3307.387 3339.412 3338.817 3297.852 2106280600 19275350016 748 | 2013-12-26 00:00:00 3338.14 3338.14 3276.446 3274.142 2535903200 22060140544 749 | 2013-12-27 00:00:00 3271.627 3332.149 3325.924 3268.562 2350191600 20466587648 750 | 2013-12-30 00:00:00 3339.585 3348.097 3333.124 3327.429 2214622000 19553400832 751 | 2013-12-31 00:00:00 3327.508 3353.239 3352.493 3316.903 2298018200 20790654976 752 | 2014-01-02 00:00:00 3345.218 3360.822 3359.931 3337.457 2132719600 19587110912 753 | 2014-01-03 00:00:00 3351.729 3351.729 3313.773 3305.217 2707069000 23236100096 754 | 2014-01-06 00:00:00 3305.373 3305.373 3213.958 3213.19 2600228000 21073377280 755 | 2014-01-07 00:00:00 3202.637 3244.462 3236.061 3193.67 1904046400 17015107584 756 | 2014-01-08 00:00:00 3238.262 3261.794 3233.352 3225.215 2171787400 19415791616 757 | 2014-01-09 00:00:00 3230.92 3258.997 3200.446 3199.451 2417502800 20638040064 758 | 2014-01-10 00:00:00 3193.698 3195.818 3152.901 3143.962 2498756000 19363864576 759 | 2014-01-13 00:00:00 3152.572 3174.969 3134.94 3117.345 2048076800 17059590144 760 | 2014-01-14 00:00:00 3132.059 3187.91 3187.504 3124.823 2220721200 17187586048 761 | 2014-01-15 00:00:00 3183.361 3195.537 3194.396 3171.321 2100794600 17411526656 762 | 2014-01-16 00:00:00 3195.156 3223.549 3206.66 3188.606 2245371600 18641561600 763 | 2014-01-17 00:00:00 3198.127 3198.127 3157.985 3155.51 2029114200 16771891200 764 | 2014-01-20 00:00:00 3153.063 3164.68 3142.28 3126.901 1870380800 16099811328 765 | 2014-01-21 00:00:00 3141.955 3182.978 3182.489 3141.955 1922443600 16789340160 766 | 2014-01-22 00:00:00 3187.922 3265.349 3265.003 3187.922 3093208600 26194776064 767 | 2014-01-23 00:00:00 3264.214 3283.427 3269.61 3257.827 2681591800 24343072768 768 | 2014-01-24 00:00:00 3264.986 3313.772 3310.024 3259.932 2973971400 27103811584 769 | 2014-01-27 00:00:00 3296.848 3322.72 3297.904 3282.954 2757365600 25872809984 770 | 2014-01-28 00:00:00 3299.569 3316.193 3295.889 3274.124 2196909400 21061482496 771 | 2014-01-29 00:00:00 3297.306 3322.673 3320.838 3297.272 2083130000 20334108672 772 | 2014-01-30 00:00:00 3315.873 3321.841 3302.38 3296.963 1936455200 18575859712 773 | 2014-02-07 00:00:00 3282.531 3356.221 3356.196 3272.274 2456564000 22857758720 774 | 2014-02-10 00:00:00 3364.579 3446.165 3445.89 3364.579 4022911200 37302181888 775 | 2014-02-11 00:00:00 3449.686 3472.879 3463.672 3420.23 4397870800 40889458688 776 | 2014-02-12 00:00:00 3466.843 3498.373 3498.037 3454.918 4173452000 37989019648 777 | 2014-02-13 00:00:00 3496.722 3505.468 3456.239 3455.752 4542262400 40593207296 778 | 2014-02-14 00:00:00 3455.204 3515.217 3515.217 3453.013 3836882800 34049318912 779 | 2014-02-17 00:00:00 3528.428 3575.842 3575.616 3525.291 4923641600 44307603456 780 | 2014-02-18 00:00:00 3576.34 3580.12 3569.565 3552.86 4809016800 43921838080 781 | 2014-02-19 00:00:00 3566.468 3588.304 3575.134 3546.449 4556265200 41182924800 782 | 2014-02-20 00:00:00 3583.21 3596.514 3542.423 3535.362 4969175200 43079958528 783 | 2014-02-21 00:00:00 3540.096 3543.55 3513.402 3481.776 3936059600 33566394368 784 | 2014-02-24 00:00:00 3496.446 3496.446 3486.854 3444.277 3966000400 35787202560 785 | 2014-02-25 00:00:00 3491.408 3513.978 3374.975 3358.815 4737521600 44423204864 786 | 2014-02-26 00:00:00 3360.303 3392.686 3391.856 3316.786 3611310400 31460825088 787 | 2014-02-27 00:00:00 3395.886 3443.463 3365.42 3362.595 4026998000 35164041216 788 | 2014-02-28 00:00:00 3359.347 3392.864 3392.224 3312.748 3601756800 30812704768 789 | 2014-03-03 00:00:00 3390.068 3468.944 3468.794 3383.981 4275945600 37109157888 790 | 2014-03-04 00:00:00 3453.822 3466.657 3461.903 3420.761 3804125200 34250086400 791 | 2014-03-05 00:00:00 3468.51 3474.68 3441.86 3435.731 3696638400 31991324672 792 | 2014-03-06 00:00:00 3434.93 3447.078 3439.889 3393.153 3640330400 31515484160 793 | 2014-03-07 00:00:00 3436.33 3454.766 3426.441 3407.985 3458729600 29661014016 794 | 2014-03-10 00:00:00 3400.371 3400.371 3303.277 3296.34 3715823200 30751199232 795 | 2014-03-11 00:00:00 3295.838 3329.646 3311.95 3279.003 3015328000 25667969024 796 | 2014-03-12 00:00:00 3303.333 3327.916 3306.165 3253.822 3116283200 24778629120 797 | 2014-03-13 00:00:00 3302.676 3340.822 3340.382 3300.003 2880005200 23432009728 798 | 2014-03-14 00:00:00 3322.662 3336.497 3321.082 3294.97 2783859600 22837291008 799 | 2014-03-17 00:00:00 3323.346 3381.281 3381.111 3319.467 2793389200 24786495488 800 | 2014-03-18 00:00:00 3383.821 3414.299 3397.384 3380.655 3215941400 28765630464 801 | 2014-03-19 00:00:00 3388.975 3398.465 3398.239 3359.215 3093569600 26341777408 802 | 2014-03-20 00:00:00 3391.879 3415.609 3321.44 3320.895 3629977600 29331795968 803 | 2014-03-21 00:00:00 3306.911 3395.433 3395.274 3291.861 4064448800 31305136128 804 | 2014-03-24 00:00:00 3397.288 3440.924 3431.546 3393.454 4016451200 31316170752 805 | 2014-03-25 00:00:00 3428.284 3456.903 3442.983 3421.739 4211018800 32311941120 806 | 2014-03-26 00:00:00 3449.094 3454.434 3441.132 3429.058 3578198800 27376924672 807 | 2014-03-27 00:00:00 3437.903 3448.612 3403.884 3403.56 3851174400 31307841536 808 | 2014-03-28 00:00:00 3399.287 3420.736 3351.503 3343.133 4112862000 31447187456 809 | 2014-03-31 00:00:00 3350.24 3360.859 3323.381 3303.075 3169059600 23657193472 810 | 2014-04-01 00:00:00 3319.687 3365.817 3365.609 3317.728 2730026800 20783024128 811 | 2014-04-02 00:00:00 3366.143 3376.578 3366.474 3355.026 3225981800 23318204416 812 | 2014-04-03 00:00:00 3368.564 3374.133 3351.944 3337.132 3428578800 24081635328 813 | 2014-04-04 00:00:00 3345.797 3383.071 3382.411 3339.314 2830359200 21741674496 814 | 2014-04-08 00:00:00 3374.296 3429.283 3429.283 3368.837 3497483200 27254953984 815 | 2014-04-09 00:00:00 3436.73 3455.912 3455.107 3431.589 3361513600 27011354624 816 | 2014-04-10 00:00:00 3460.715 3488.996 3478.377 3452.145 4264935600 33378066432 817 | 2014-04-11 00:00:00 3467.296 3481.885 3474.023 3455.313 3784356000 30335610880 818 | 2014-04-14 00:00:00 3471.712 3496.839 3496.446 3469.932 3501283200 28315193344 819 | 2014-04-15 00:00:00 3493.775 3493.775 3465.06 3458.148 3363539600 28624365568 820 | 2014-04-16 00:00:00 3455.96 3473.727 3469.361 3441.944 2863399200 23716632576 821 | 2014-04-17 00:00:00 3472.84 3481.231 3462.125 3460.344 3200388800 25171347456 822 | 2014-04-18 00:00:00 3454.909 3477.105 3476.351 3444.25 2908711600 23413211136 823 | 2014-04-21 00:00:00 3457.019 3481.701 3418.952 3416.919 3346446400 28767279104 824 | 2014-04-22 00:00:00 3410.609 3428.444 3412.384 3361.797 3443353600 28747567104 825 | 2014-04-23 00:00:00 3406.997 3420.484 3400.248 3386.324 2533478000 22012825600 826 | 2014-04-24 00:00:00 3397.2 3401.584 3364.179 3364.036 2630588800 21522401280 827 | 2014-04-25 00:00:00 3362.455 3371.963 3306.961 3304.287 2962993600 23342925824 828 | 2014-04-28 00:00:00 3294.068 3294.068 3212.577 3207.47 3007270800 23224616960 829 | 2014-04-29 00:00:00 3209.594 3260.557 3259.97 3209.374 2347379000 18288596992 830 | 2014-04-30 00:00:00 3256.961 3286.218 3282.282 3249.017 2373721600 18626488320 831 | 2014-05-05 00:00:00 3278.245 3307.017 3306.548 3262.919 2647067200 20084398080 832 | 2014-05-06 00:00:00 3300.977 3328.043 3316.214 3296.285 2463095200 19749265408 833 | 2014-05-07 00:00:00 3307.677 3307.677 3267.229 3265.623 2509466000 20061542400 834 | 2014-05-08 00:00:00 3257.972 3310.301 3273.245 3254.492 2534687600 19811012608 835 | 2014-05-09 00:00:00 3271.76 3275.226 3246.759 3221.087 2640519600 20510881792 836 | 2014-05-12 00:00:00 3269.775 3331.278 3331.183 3262.868 3722105200 27818909696 837 | 2014-05-13 00:00:00 3331.848 3336.209 3322.149 3304.945 3214004800 25082732544 838 | 2014-05-14 00:00:00 3316.677 3325.328 3311.61 3306.708 2356636600 18384453632 839 | 2014-05-15 00:00:00 3306.348 3307.069 3252.906 3250.06 2592252400 20868132864 840 | 2014-05-16 00:00:00 3247.667 3255 3251.517 3217.712 2301721600 17799649280 841 | 2014-05-19 00:00:00 3245.915 3245.915 3225.693 3203.622 1971002800 15599719424 842 | 2014-05-20 00:00:00 3239.103 3259.207 3226.617 3219.003 2016441600 16969365504 843 | 2014-05-21 00:00:00 3217.879 3252.871 3252.427 3196.833 2021706800 15955662848 844 | 2014-05-22 00:00:00 3250.694 3278.479 3244.065 3241.993 2577920800 20575213568 845 | 2014-05-23 00:00:00 3238.827 3266.606 3266.554 3233.189 2158362000 18085083136 846 | 2014-05-26 00:00:00 3276.162 3302.667 3302.047 3276.162 2419197400 21545410560 847 | 2014-05-27 00:00:00 3300.981 3305.809 3288.296 3285.131 2249777600 19474010112 848 | 2014-05-28 00:00:00 3288.911 3323.401 3322.372 3282.248 2809810800 24157276160 849 | 2014-05-29 00:00:00 3322.161 3328.94 3292.085 3291.836 2882595600 26374252544 850 | 2014-05-30 00:00:00 3287.982 3308.228 3298.804 3274.304 2666976800 23426508800 851 | 2014-06-03 00:00:00 3301.928 3311.894 3288.612 3287.878 2407384400 20544980992 852 | 2014-06-04 00:00:00 3288.039 3288.508 3262.401 3237.115 2486746800 21423392768 853 | 2014-06-05 00:00:00 3257.329 3293.351 3292.755 3253.543 2215962200 19371014144 854 | 2014-06-06 00:00:00 3292.286 3292.593 3279.388 3262.791 2244329200 19373312000 855 | 2014-06-09 00:00:00 3271.347 3289.767 3261.93 3258.674 2085060200 18344865792 856 | 2014-06-10 00:00:00 3264.504 3299.768 3299.21 3254.178 2390996400 21103847424 857 | 2014-06-11 00:00:00 3299.617 3321.252 3320.048 3293.422 2504313600 22984271872 858 | 2014-06-12 00:00:00 3314.794 3322.245 3316.817 3301.417 2780528200 24536301568 859 | 2014-06-13 00:00:00 3309.736 3348.528 3344.984 3308.392 3117249600 27887595520 860 | 2014-06-16 00:00:00 3345.975 3364.508 3364.345 3345.828 2969700000 25416777728 861 | 2014-06-17 00:00:00 3357.489 3357.489 3334.787 3330.868 3069310600 24194234368 862 | 2014-06-18 00:00:00 3331.989 3333.114 3315.469 3313.896 2979087600 25324992512 863 | 2014-06-19 00:00:00 3312.105 3319.478 3239.636 3226.271 3254410800 26878539776 864 | 2014-06-20 00:00:00 3233.393 3263.395 3263.23 3230.655 2237718800 18197815296 865 | 2014-06-23 00:00:00 3261.891 3287.487 3278.065 3261.891 2294105000 19455854592 866 | 2014-06-24 00:00:00 3275.869 3302.171 3301.315 3274.827 2375435800 20898924544 867 | 2014-06-25 00:00:00 3298.433 3298.433 3283.933 3272.308 2255401200 18830206976 868 | 2014-06-26 00:00:00 3283.686 3318.931 3316.211 3283.572 2794424400 23595862016 869 | 2014-06-27 00:00:00 3314.179 3350.708 3337.95 3306.831 3436319600 27681708032 870 | 2014-06-30 00:00:00 3340.993 3368.476 3367.91 3340.51 3384652000 29401737216 871 | 2014-07-01 00:00:00 3370.369 3381.781 3381.527 3356.577 3427900400 29727969280 872 | 2014-07-02 00:00:00 3380.966 3405.121 3404.748 3370.277 4014104000 31691448320 873 | 2014-07-03 00:00:00 3404.258 3439.312 3435.545 3397.827 4623350800 35354742784 874 | 2014-07-04 00:00:00 3431.58 3433.443 3419.664 3410.72 4042082000 31747336192 875 | 2014-07-07 00:00:00 3416.681 3425.7 3418.187 3398.73 3399862000 28740519936 876 | 2014-07-08 00:00:00 3417.636 3438.641 3437.969 3395.154 3549126400 30381084672 877 | 2014-07-09 00:00:00 3433.072 3439.448 3386.624 3384.457 4055479200 34372812800 878 | 2014-07-10 00:00:00 3382.614 3411.033 3391.778 3378.935 3581705600 30507552768 879 | 2014-07-11 00:00:00 3386.804 3423.973 3421.324 3386.597 3572948800 30237505536 880 | 2014-07-14 00:00:00 3425.157 3471.954 3471.954 3425.157 3937684800 34104442880 881 | 2014-07-15 00:00:00 3471.132 3476.716 3472.754 3450.222 4049788000 35082162176 882 | 2014-07-16 00:00:00 3471.778 3485.503 3460.69 3446.919 4850969600 38071963648 883 | 2014-07-17 00:00:00 3458.279 3458.279 3442.109 3416.899 3904563200 29470457856 884 | 2014-07-18 00:00:00 3429.873 3465.769 3446.189 3424.035 3548904400 26819710976 885 | 2014-07-21 00:00:00 3442.78 3452.138 3431.117 3419.828 3241677800 25928740864 886 | 2014-07-22 00:00:00 3426.813 3481.542 3480.064 3425.782 4108148400 32817659904 887 | 2014-07-23 00:00:00 3479.083 3491.367 3464.465 3450.148 4678202000 35739611136 888 | 2014-07-24 00:00:00 3460.807 3475.859 3468.597 3431.197 4953448800 36157919232 889 | 2014-07-25 00:00:00 3466.384 3503.144 3503.144 3463.636 4604966400 34733039616 890 | 2014-07-28 00:00:00 3512.159 3562.098 3561.628 3512.013 6540593600 48372875264 891 | 2014-07-29 00:00:00 3564.478 3594.529 3583.651 3555.223 6210590400 49172197376 892 | 2014-07-30 00:00:00 3575.451 3596.01 3590.749 3568.401 5590225200 45196169216 893 | 2014-07-31 00:00:00 3585.629 3622.847 3622.26 3580.821 4868009600 39690518528 894 | 2014-08-01 00:00:00 3612.119 3642.665 3587.103 3583.885 6207838400 48750383104 895 | 2014-08-04 00:00:00 3590.063 3646.531 3646.118 3589.727 5343325200 42688802816 896 | 2014-08-05 00:00:00 3648.688 3660.349 3659.465 3631.794 5880450400 45505318912 897 | 2014-08-06 00:00:00 3650.051 3684.599 3678.167 3629.148 5810310000 44758253568 898 | 2014-08-07 00:00:00 3676.73 3689.347 3640.355 3637.583 5503796400 43427213312 899 | 2014-08-08 00:00:00 3639.097 3663.726 3658.53 3634.639 4204894800 35686526976 900 | 2014-08-11 00:00:00 3664.056 3715.607 3715.33 3664.056 4979967600 42381750272 901 | 2014-08-12 00:00:00 3715.408 3731.043 3730.639 3706.956 5076631200 44905209856 902 | 2014-08-13 00:00:00 3729.786 3738.16 3728.964 3685.107 5754107200 47012900864 903 | 2014-08-14 00:00:00 3724.855 3745.719 3701.611 3696.565 5796232800 48659857408 904 | 2014-08-15 00:00:00 3700.669 3744.499 3740.029 3694.849 5038371200 44645588992 905 | 2014-08-18 00:00:00 3747.815 3784.984 3784.435 3747.815 5567164800 49145925632 906 | 2014-08-19 00:00:00 3791.055 3800.447 3799.585 3767.163 5946947200 52055109632 907 | 2014-08-20 00:00:00 3797.391 3817.004 3798.67 3784.784 6107925600 48296505344 908 | 2014-08-21 00:00:00 3797.657 3797.682 3793.692 3748.481 5589351200 45666603008 909 | 2014-08-22 00:00:00 3791.738 3819.878 3815.75 3780.423 5669548400 48680771584 910 | 2014-08-25 00:00:00 3817.123 3820.796 3796.871 3784.05 5709683600 47337840640 911 | 2014-08-26 00:00:00 3788.475 3799.262 3723.705 3709.142 5732224000 46645821440 912 | 2014-08-27 00:00:00 3718.965 3743.544 3731.49 3718.802 4145460800 35057905664 913 | 2014-08-28 00:00:00 3735.56 3739.335 3697.353 3688.319 4095026400 34798702592 914 | 2014-08-29 00:00:00 3696.089 3733.888 3733.888 3687.612 3181826000 28065941504 915 | 2014-09-01 00:00:00 3740.686 3793.532 3793.327 3740.686 4484887200 39395397632 916 | 2014-09-02 00:00:00 3802.042 3857.167 3856.77 3801.101 6857455200 59711705088 917 | 2014-09-03 00:00:00 3863.32 3883.295 3881.164 3855.234 7306376000 61739286528 918 | 2014-09-04 00:00:00 3882.634 3915.989 3915.955 3870.553 7124597600 61403967488 919 | 2014-09-05 00:00:00 3920.766 3939.102 3938.743 3909.947 7505870400 60528259072 920 | 2014-09-09 00:00:00 3944.586 3970.883 3969.92 3923.264 7063411200 59001307136 921 | 2014-09-10 00:00:00 3958.01 3981.054 3978.094 3936.07 7019516000 56798121984 922 | 2014-09-11 00:00:00 3973.934 4022.99 3967.996 3946.113 7600100800 63470649344 923 | 2014-09-12 00:00:00 3961.424 4017.698 4017.698 3953.386 7249683200 55410221056 924 | 2014-09-15 00:00:00 4021.449 4064.067 4063.462 4015.067 8010520800 63093317632 925 | 2014-09-16 00:00:00 4067.041 4077.641 3942.161 3939.584 10403189600 79114354688 926 | 2014-09-17 00:00:00 3943.8 3979.98 3979.203 3905.31 7795705600 54248079360 927 | 2014-09-18 00:00:00 3973.045 4010.922 4010.251 3960.913 6809577600 50229297152 928 | 2014-09-19 00:00:00 4011.279 4051.347 4047.682 4001.009 6409738800 49700102144 929 | 2014-09-22 00:00:00 4042.278 4042.278 3996.867 3984.822 6411876400 51558158336 930 | 2014-09-23 00:00:00 3993.436 4049.355 4048.814 3992.853 5991142000 49117118464 931 | 2014-09-24 00:00:00 4040.6 4105.82 4105.24 4029.139 7865293600 62523940864 932 | 2014-09-25 00:00:00 4116.787 4147.391 4110.382 4094.349 8422547200 66813538304 933 | 2014-09-26 00:00:00 4101.256 4136.156 4134.535 4089.488 7093555200 56321843200 934 | 2014-09-29 00:00:00 4147.88 4170.931 4168.661 4144.36 7139954400 59292020736 935 | 2014-09-30 00:00:00 4174.618 4194.709 4189.904 4161.054 6771713600 57460359168 936 | 2014-10-08 00:00:00 4200.951 4253.283 4252.88 4183.074 7246765600 63110467584 937 | 2014-10-09 00:00:00 4258.176 4275.656 4270.231 4214.131 8886719200 74898038784 938 | 2014-10-10 00:00:00 4256.093 4269.996 4249.26 4223.194 7733529600 66975105024 939 | 2014-10-13 00:00:00 4234.734 4255.493 4254.989 4188.873 6956178400 60476792832 940 | 2014-10-14 00:00:00 4251.694 4285.271 4243.239 4215.819 6872948800 60557414400 941 | 2014-10-15 00:00:00 4246.221 4276.471 4275.869 4215.468 7011377600 60885753856 942 | 2014-10-16 00:00:00 4253.904 4302.179 4214.477 4214.408 8202538400 72100986880 943 | 2014-10-17 00:00:00 4201.316 4216.756 4158.615 4090.928 6737896800 58170486784 944 | 2014-10-20 00:00:00 4168.094 4214.834 4213.875 4165.134 5318707200 47453233152 945 | 2014-10-21 00:00:00 4212.314 4226.087 4173.395 4168.718 5623659200 48668528640 946 | 2014-10-22 00:00:00 4172.015 4192.521 4125.493 4120.578 4959070000 45513064448 947 | 2014-10-23 00:00:00 4115.529 4128.196 4058.947 4041.833 5249597600 46464532480 948 | 2014-10-24 00:00:00 4058.13 4095.581 4072.939 4055.232 4261864400 37731479552 949 | 2014-10-27 00:00:00 4063.492 4107.109 4106.381 4043.904 4238626000 38407331840 950 | 2014-10-28 00:00:00 4115.334 4213.562 4213.018 4115.332 6389648800 57785454592 951 | 2014-10-29 00:00:00 4224.121 4297.407 4281.7 4218.194 9292385600 80759136256 952 | 2014-10-30 00:00:00 4278.9 4325.692 4308.876 4267.678 10212536800 79970820096 953 | 2014-10-31 00:00:00 4312.548 4327.673 4310.821 4272.891 9196914400 72485617664 954 | 2014-11-03 00:00:00 4320.185 4366.54 4364.99 4318.842 9925380800 77212295168 955 | 2014-11-04 00:00:00 4363.47 4380.004 4356.707 4331.355 10586896000 78974238720 956 | 2014-11-05 00:00:00 4357.644 4363.369 4341.237 4329.371 8481440000 63993405440 957 | 2014-11-06 00:00:00 4337.477 4368.766 4367.48 4306.323 7281864000 60241903616 958 | 2014-11-07 00:00:00 4375.131 4396.568 4328.166 4308.908 8860966400 73959874560 959 | 2014-11-10 00:00:00 4342.981 4402.175 4401.606 4328.85 8376057600 68177453056 960 | 2014-11-11 00:00:00 4412.564 4415.855 4283.821 4243.428 10493284800 84620713984 961 | 2014-11-12 00:00:00 4267.276 4361.321 4361.205 4254.361 6984430400 59335389184 962 | 2014-11-13 00:00:00 4361.571 4363.076 4329.484 4293.214 7985142400 68200583168 963 | 2014-11-14 00:00:00 4312.221 4325.89 4314.363 4280.326 5617450800 48861618176 964 | 2014-11-17 00:00:00 4340.301 4378.513 4350.838 4308.174 5739234400 51892809728 965 | 2014-11-18 00:00:00 4347.939 4363.767 4357.507 4332.339 5401698800 47411884032 966 | 2014-11-19 00:00:00 4355.545 4377.04 4359.532 4342.264 5410213200 49641807872 967 | 2014-11-20 00:00:00 4348.936 4369.189 4358.084 4335.975 5172960000 48318119936 968 | 2014-11-21 00:00:00 4354.347 4398.52 4398.267 4351.706 5799132000 53586501632 969 | 2014-11-24 00:00:00 4444.566 4484.843 4470.233 4419.008 9549316800 84197883904 970 | 2014-11-25 00:00:00 4477.648 4549.197 4548.369 4465.909 9281206400 84477378560 971 | 2014-11-26 00:00:00 4556.955 4573.051 4572.228 4526.489 9452672800 88481685504 972 | 2014-11-27 00:00:00 4582.907 4595.477 4594.905 4553.081 10364783200 92848316416 973 | 2014-11-28 00:00:00 4600.093 4604.2 4596.278 4544.899 11003285600 97305075712 974 | 2014-12-01 00:00:00 4603.664 4610.604 4585.952 4562.757 10831948000 93616291840 975 | 2014-12-02 00:00:00 4576.887 4657.996 4654.054 4569.287 10417734400 90093469696 976 | 2014-12-03 00:00:00 4664.401 4701.933 4701.28 4621.641 13528068800 120106508288 977 | 2014-12-04 00:00:00 4704.275 4805.842 4804.934 4700.779 13607139200 126745559040 978 | 2014-12-05 00:00:00 4814.445 4817.142 4706.648 4571.051 15474036800 144931700736 979 | 2014-12-08 00:00:00 4692.96 4824.135 4810.039 4659.575 14522627200 134309404672 980 | 2014-12-09 00:00:00 4798.267 4902.538 4634.869 4611.821 19453596800 170743595008 981 | 2014-12-10 00:00:00 4623.954 4812.98 4812.072 4590.711 12690926400 111047827456 982 | 2014-12-11 00:00:00 4814.27 4900.254 4898.625 4786.092 13879036800 121667387392 983 | 2014-12-12 00:00:00 4912.648 4932.541 4927.517 4877.257 11973206400 107696119808 984 | 2014-12-15 00:00:00 4918.588 5014.973 5007.87 4899.151 11758832800 113291870208 985 | 2014-12-16 00:00:00 5012.693 5027.561 5021.379 4966.792 11479047200 109070860288 986 | 2014-12-17 00:00:00 5010.301 5010.301 4967.099 4903.87 11741184000 108484657152 987 | 2014-12-18 00:00:00 4961.783 5021.701 4983.932 4953.273 10445273600 98604400640 988 | 2014-12-19 00:00:00 4972.315 5026.369 5025.448 4893.876 13884332800 126963916800 989 | 2014-12-22 00:00:00 5033.658 5049.138 4867.646 4829.998 15515793600 138418126848 990 | 2014-12-23 00:00:00 4841.029 4870.337 4736.504 4728.478 9408476800 84051263488 991 | 2014-12-24 00:00:00 4747.793 4789.116 4787.25 4731.539 8490728000 76364824576 992 | 2014-12-25 00:00:00 4799.344 4898.937 4898.053 4792.31 8533281600 79531581440 993 | 2014-12-26 00:00:00 4904.911 4946.306 4943.053 4881.382 9866531200 93057417216 994 | 2014-12-29 00:00:00 4948.039 4948.039 4910.801 4868.349 10948911200 102151520256 995 | 2014-12-30 00:00:00 4896.008 4907.437 4817.037 4799.878 8437265600 82263744512 996 | 2014-12-31 00:00:00 4822.068 4867.037 4866.709 4792.567 7968938400 75125809152 997 | 2015-01-05 00:00:00 4881.153 4988.671 4982.541 4871.448 12240336800 108550029312 998 | 2015-01-06 00:00:00 4965.909 5040.358 5039.223 4929.575 12228580000 115860529152 999 | 2015-01-07 00:00:00 5021.951 5058.731 5057.458 4998.718 9652396800 91238776832 1000 | 2015-01-08 00:00:00 5050.794 5062.246 4993.748 4977.868 9655233600 91493548032 1001 | 2015-01-09 00:00:00 4969.669 5039.972 4936.352 4936.32 8511829600 81471668224 1002 | 2015-01-12 00:00:00 4903.87 4903.87 4829.443 4798.903 7309415200 68826308608 1003 | 2015-01-13 00:00:00 4827.127 4892.73 4884.548 4826.62 5462106400 55760384000 1004 | 2015-01-14 00:00:00 4888.607 4891.784 4849.539 4821.527 5334038400 54066446336 1005 | 2015-01-15 00:00:00 4849.657 4928.223 4927.689 4849.256 5667057200 56475750400 1006 | 2015-01-16 00:00:00 4937.932 4975.427 4974.387 4923.909 6907746400 70163013632 1007 | 2015-01-19 00:00:00 4808.859 4896.049 4707.017 4659.069 9205735200 88745975808 1008 | 2015-01-20 00:00:00 4728.651 4866.918 4866.041 4728.651 7246668800 73926770688 1009 | 2015-01-21 00:00:00 4879.247 5007.043 5006.541 4878.734 8522744000 90333995008 1010 | 2015-01-22 00:00:00 5013.16 5086.911 5081.762 5003.726 8383464000 89588776960 1011 | 2015-01-23 00:00:00 5094.969 5099.29 5050.527 5026.465 8552099200 88110366720 1012 | 2015-01-26 00:00:00 5059.079 5171.095 5170.4 5052.803 8710251200 92500885504 1013 | 2015-01-27 00:00:00 5181.445 5202.466 5193.264 5092.891 9751907200 102669975552 1014 | 2015-01-28 00:00:00 5171.733 5217.562 5168.585 5147.981 8872244000 91970215936 1015 | 2015-01-29 00:00:00 5121.256 5166.024 5138.93 5105.777 7792528800 79054258176 1016 | 2015-01-30 00:00:00 5144.994 5166.415 5057.852 5057.312 6955013600 73005858816 1017 | 2015-02-02 00:00:00 4985.791 5043.373 4999.837 4952.672 6116554000 62685192192 1018 | 2015-02-03 00:00:00 5017.407 5080.824 5079.742 5016.336 5864708400 63061266432 1019 | 2015-02-04 00:00:00 5094.158 5103.745 5053.01 5048.55 6509556800 70889259008 1020 | 2015-02-05 00:00:00 5107.124 5111.054 5000.054 4999.218 6679824800 72662482944 1021 | 2015-02-06 00:00:00 4985.803 5000.237 4890.965 4864.373 6027335200 61592109056 1022 | 2015-02-09 00:00:00 4880.679 4899.709 4859.813 4846.454 4343968400 44575178752 1023 | 2015-02-10 00:00:00 4857.853 4931.627 4930.571 4854.838 4056364000 42396446720 1024 | 2015-02-11 00:00:00 4938.917 4978.958 4976.246 4938.543 4329479600 47450406912 1025 | 2015-02-12 00:00:00 4981.372 5019.96 5009.863 4969.837 4648428800 51153293312 1026 | 2015-02-13 00:00:00 5035.908 5105.898 5083.488 5035.908 6634276000 69921488896 1027 | 2015-02-16 00:00:00 5099.834 5167.26 5166.812 5097.567 6106631200 68874592256 1028 | 2015-02-17 00:00:00 5187.746 5223.185 5220.154 5182.874 6478660400 70869934080 1029 | 2015-02-25 00:00:00 5235.535 5268.344 5234.889 5207.248 6963553600 75434393600 1030 | 2015-02-26 00:00:00 5232.273 5308.375 5307.166 5224.613 7724684800 81370865664 1031 | 2015-02-27 00:00:00 5312.946 5350.696 5345.858 5306.228 7895584000 86743154688 1032 | 2015-03-02 00:00:00 5388.927 5447.352 5446.739 5362.959 10098027200 113527193600 1033 | 2015-03-03 00:00:00 5435.955 5499.577 5425.293 5409.056 11624028800 130906136576 1034 | 2015-03-04 00:00:00 5425.559 5496.82 5495.944 5421.602 9427448000 109148971008 1035 | 2015-03-05 00:00:00 5494.793 5507.889 5496.745 5456.177 9853027200 115327516672 1036 | 2015-03-06 00:00:00 5495.635 5513.687 5450.476 5429.757 9132024800 104609742848 1037 | 2015-03-09 00:00:00 5434.514 5524.385 5524.03 5400.102 7967008800 90149527552 1038 | 2015-03-10 00:00:00 5523.789 5587.961 5565.589 5516.554 8401117600 97358602240 1039 | 2015-03-11 00:00:00 5564.336 5576.755 5552.191 5527.396 8246042400 94776074240 1040 | 2015-03-12 00:00:00 5564.527 5593.337 5572.658 5534.297 8717172800 100298465280 1041 | 2015-03-13 00:00:00 5587.364 5648.453 5647.873 5587.364 8133491200 95103508480 1042 | 2015-03-16 00:00:00 5684.024 5819.996 5819.18 5684.024 11739810400 138438983680 1043 | 2015-03-17 00:00:00 5848.431 5928.207 5910.416 5828.038 15010636800 172421824512 1044 | 2015-03-18 00:00:00 5915.796 6020.221 6019.213 5909.371 14804870400 169345613824 1045 | 2015-03-19 00:00:00 6016.125 6071.047 6069.959 5967.31 15237776000 175612575744 1046 | 2015-03-20 00:00:00 6075.017 6128.959 6108.034 6060.046 13212007200 156866969600 1047 | 2015-03-23 00:00:00 6147.743 6246.281 6245.087 6142.461 14970628800 180698890240 1048 | 2015-03-24 00:00:00 6259.066 6286.307 6280.589 6055.864 18427235200 218965196800 1049 | 2015-03-25 00:00:00 6268.182 6344.279 6304.494 6212.781 14498233600 183532421120 1050 | 2015-03-26 00:00:00 6268.815 6341.726 6287.448 6200.365 14222918400 179123699712 1051 | 2015-03-27 00:00:00 6280.016 6343.914 6333.13 6256.674 10818819200 137016672256 1052 | 2015-03-30 00:00:00 6359.958 6449.862 6441.126 6359.958 14199331200 176176922624 1053 | 2015-03-31 00:00:00 6464.659 6473.903 6395.578 6377.552 13662012800 173742882816 1054 | 2015-04-01 00:00:00 6399.644 6552.881 6549.409 6398.74 12339227200 163565633536 1055 | 2015-04-02 00:00:00 6575.457 6678.817 6678.153 6568.443 14400123200 191284822016 1056 | 2015-04-03 00:00:00 6644.512 6777.815 6777.233 6610.651 14281329600 187631599616 1057 | 2015-04-07 00:00:00 6811.669 6937.446 6936.805 6811.669 15608515200 205080199168 1058 | 2015-04-08 00:00:00 6966.274 6982.682 6889.364 6770.165 16390710400 220152594432 1059 | 2015-04-09 00:00:00 6902.735 6903.625 6812.231 6595.346 15231828800 204844875776 1060 | 2015-04-10 00:00:00 6790.982 7003.713 6995.816 6762.377 12715555200 174521696256 1061 | 2015-04-13 00:00:00 7048.715 7208.427 7194.062 7040.171 15314859200 215106387968 1062 | 2015-04-14 00:00:00 7199.21 7312.924 7232.711 7148.079 16528742400 223850479616 1063 | 2015-04-15 00:00:00 7212.493 7212.493 6982.747 6954.561 15341190400 205107462144 1064 | 2015-04-16 00:00:00 6908.247 7149.549 7102.856 6813.979 13608276800 180957839360 1065 | 2015-04-17 00:00:00 7163.584 7239.643 7202.461 7123.807 17498291200 233801596928 1066 | 2015-04-20 00:00:00 7178.059 7301.324 7091.804 7050.171 21301619200 282882113536 1067 | 2015-04-21 00:00:00 7092.125 7306.966 7305.738 7077.189 16851740800 226494300160 1068 | 2015-04-22 00:00:00 7360.83 7519.312 7512.993 7360.83 18076729600 246268018688 1069 | 2015-04-23 00:00:00 7551.789 7613.135 7579.801 7463.607 19273961600 264637104128 1070 | 2015-04-24 00:00:00 7469.164 7608.561 7574.839 7409.647 17209848000 243038633984 1071 | 2015-04-27 00:00:00 7628.635 7723.897 7689.128 7581.044 17533171200 247594598400 1072 | 2015-04-28 00:00:00 7689.216 7695.329 7474.305 7398.911 18262899200 253103570944 1073 | 2015-04-29 00:00:00 7441.731 7626.055 7597.862 7391.756 13494913600 188570435584 1074 | 2015-04-30 00:00:00 7608.076 7691.725 7588.027 7588.027 13812384000 199448248320 1075 | 2015-05-04 00:00:00 7588.349 7672.491 7663.529 7498.75 13387332000 186342588416 1076 | 2015-05-05 00:00:00 7666.306 7666.306 7339.396 7304.804 14105819200 188445425664 1077 | 2015-05-06 00:00:00 7353.331 7447.695 7192.27 7115.232 11719094400 157004398592 1078 | 2015-05-07 00:00:00 7150.725 7189.583 6989.307 6981.804 10476520000 135840432128 1079 | 2015-05-08 00:00:00 7056.037 7222.202 7221.345 7029.877 10639761600 143490744320 1080 | 2015-05-11 00:00:00 7299.374 7532.667 7531.314 7242.027 13257077600 190020698112 1081 | 2015-05-12 00:00:00 7581.579 7730.539 7729.113 7552.029 14903942400 219981168640 1082 | 2015-05-13 00:00:00 7722.033 7845.698 7765.312 7657.162 15754849600 237649149952 1083 | 2015-05-14 00:00:00 7756.516 7802.468 7784.449 7668.532 13615936000 199955333120 1084 | 2015-05-15 00:00:00 7758.703 7775.214 7692.43 7589.551 12589628000 191526584320 1085 | 2015-05-18 00:00:00 7653.13 7830.049 7776.853 7619.38 11641338400 181324742656 1086 | 2015-05-19 00:00:00 7789.728 7980.838 7979.655 7788.779 12556423200 190714216448 1087 | 2015-05-20 00:00:00 8014.411 8213.468 8088.396 8010.434 16042028800 246218686464 1088 | 2015-05-21 00:00:00 8114.346 8341.738 8340 8088.344 15547638400 243104759808 1089 | 2015-05-22 00:00:00 8451.246 8526.508 8520.567 8295.646 19544670400 295383662592 1090 | 2015-05-25 00:00:00 8502.077 8843.773 8842.103 8475.307 21304344000 328348762112 1091 | 2015-05-26 00:00:00 8920.588 9125.748 9124.707 8813.901 22600105600 357029642240 1092 | 2015-05-27 00:00:00 9169.552 9315.457 9286.488 8986.542 21636094400 351491391488 1093 | 2015-05-28 00:00:00 9307.861 9433.595 8697.684 8688.296 25065358400 393084829696 1094 | 2015-05-29 00:00:00 8663.483 8933.14 8773.78 8278.414 18924275200 288919945216 1095 | 2015-06-01 00:00:00 8846.309 9263.809 9262.298 8844.588 17525561600 279678681088 1096 | 2015-06-02 00:00:00 9349.255 9584.189 9582.154 9277.454 19894169600 322879520768 1097 | 2015-06-03 00:00:00 9633.199 9672.393 9590.927 9342.413 18962177600 317369188352 1098 | 2015-06-04 00:00:00 9600.922 9643.196 9610.935 8952.323 19066512000 309641478144 1099 | 2015-06-05 00:00:00 9747.678 9895.351 9829.324 9574.62 23280272000 382035787776 1100 | 2015-06-08 00:00:00 9856.769 9872.011 9795.144 9628.62 22514248000 366778580992 1101 | 2015-06-09 00:00:00 9794.377 9857.895 9825.619 9649.831 18358724800 305868505088 1102 | 2015-06-10 00:00:00 9740.489 10079.59 9963.563 9609.974 17571008000 303911239680 1103 | 2015-06-11 00:00:00 9957.432 10110.92 10108.96 9898.283 17307524800 302179516416 1104 | 2015-06-12 00:00:00 10145.64 10307.63 10251.38 10105.77 19532513600 333284540416 1105 | 2015-06-15 00:00:00 10282.06 10303.98 10095.07 10049 17539155200 310593847296 1106 | 2015-06-16 00:00:00 9968.451 9968.451 9636.493 9549.187 14753284800 254095228928 1107 | 2015-06-17 00:00:00 9603.368 9865.674 9843.268 9272.927 13957161600 234905600000 1108 | 2015-06-18 00:00:00 9830.724 9951.415 9555.297 9540.418 13049171200 221886971904 1109 | 2015-06-19 00:00:00 9303.53 9423.184 8850.143 8838.34 11193548800 182612639744 1110 | 2015-06-23 00:00:00 8807.407 8928.426 8906.487 8227.526 11682225600 180627603456 1111 | 2015-06-24 00:00:00 8992.782 9184.759 9182.505 8878.429 13944865600 225710931968 1112 | 2015-06-25 00:00:00 9212.031 9246.744 8840.809 8718.748 14402080000 235287986176 1113 | 2015-06-26 00:00:00 8536.153 8563.037 8083.652 8053.071 12702083200 188714188800 1114 | 2015-06-29 00:00:00 8274.362 8291.162 7568.366 7396.807 15650785600 219719761920 1115 | 2015-06-30 00:00:00 7406.293 7976.378 7971.066 6997.447 16590924800 226830368768 1116 | 2015-07-01 00:00:00 7874.564 8135.172 7471.347 7456.689 14348723200 208199254016 1117 | 2015-07-02 00:00:00 7450.16 7497.08 6922.012 6876.9 12936375200 169858580480 1118 | 2015-07-03 00:00:00 6630.262 6983.976 6438.231 6354.526 12970524800 153366052864 1119 | 2015-07-06 00:00:00 6909.379 6909.379 6234.735 5999.036 17732899200 197516722176 1120 | 2015-07-07 00:00:00 5972.015 6022.178 5790.622 5771.966 10798430400 106189684736 1121 | 2015-07-08 00:00:00 5450.015 5603.538 5487.504 5447.999 13992094400 141481410560 1122 | 2015-07-09 00:00:00 5359.135 5782.953 5781.884 5359.135 11046165600 105671360512 1123 | 2015-07-10 00:00:00 5958.129 6128.85 6127.287 5939.445 7806632000 86295003136 1124 | 2015-07-13 00:00:00 6467.333 6603.215 6599.592 6398.401 12190496000 145532420096 1125 | 2015-07-14 00:00:00 6765.877 6985.217 6762.894 6677.732 15846340800 201465315328 1126 | 2015-07-15 00:00:00 6738.154 6741.517 6299.777 6288.449 16200150400 187426914304 1127 | 2015-07-16 00:00:00 6163.091 6591.382 6442.649 5969.412 12839388000 147940737024 1128 | 2015-07-17 00:00:00 6481.52 6887.065 6837.654 6474.557 12820652800 158598365184 1129 | 2015-07-20 00:00:00 6863.212 7076.765 6981.604 6787.709 15460044800 198691389440 1130 | 2015-07-21 00:00:00 6882.358 7162.614 7107.341 6803.86 14183361600 184662081536 1131 | 2015-07-22 00:00:00 7098.504 7238.451 7204.997 6959.797 15134515200 201346351104 1132 | 2015-07-23 00:00:00 7207.288 7444.562 7418.724 7179.021 15572121600 209337024512 1133 | 2015-07-24 00:00:00 7431.791 7549.941 7303.995 7221.79 17784568000 243849822208 1134 | 2015-07-27 00:00:00 7118.119 7341.247 6701.598 6693.815 15152448000 202876796928 1135 | 2015-07-28 00:00:00 6381.272 6778.094 6510.515 6185.964 14999024000 184831393792 1136 | 2015-07-29 00:00:00 6616.479 6876.994 6874.245 6376.091 11668003200 149207941120 1137 | 2015-07-30 00:00:00 6843.602 7033.09 6715.742 6658.876 13047211200 173619150848 1138 | 2015-07-31 00:00:00 6605.011 6755.753 6587.391 6493.465 9473314400 124109004800 1139 | 2015-08-03 00:00:00 6485.105 6532.384 6370.491 6226.32 9603516800 116189306880 1140 | 2015-08-04 00:00:00 6385.567 6759.787 6759.743 6371.664 10557528800 129642004480 1141 | 2015-08-05 00:00:00 6756.419 6871.855 6687.948 6612.269 11517222400 146198183936 1142 | 2015-08-06 00:00:00 6527.293 6742.238 6662.378 6501.117 8313645600 106904821760 1143 | 2015-08-07 00:00:00 6734.865 6879.809 6879.352 6726.361 10482000000 136760098816 1144 | 2015-08-10 00:00:00 6971.37 7292.394 7260.337 6958.382 14213750400 189780672512 1145 | 2015-08-11 00:00:00 7267.48 7412.193 7316.702 7217.317 15864777600 216327766016 1146 | 2015-08-12 00:00:00 7218.571 7369.866 7248.446 7197.732 13145311200 181022359552 1147 | 2015-08-13 00:00:00 7199.913 7468.551 7466.646 7176.667 13294151200 185750503424 1148 | 2015-08-14 00:00:00 7529.399 7620.501 7524.248 7449.879 15035497600 214487318528 1149 | 2015-08-17 00:00:00 7497.607 7738.661 7738.317 7473.655 14839988800 208617783296 1150 | 2015-08-18 00:00:00 7755.212 7763.465 7116.394 7097.808 16907929600 228414734336 1151 | 2015-08-19 00:00:00 6835.884 7354.595 7296.398 6664.156 14861763200 192941096960 1152 | 2015-08-20 00:00:00 7200.431 7322.408 7016.242 7015.294 12561256000 165828018176 1153 | 2015-08-21 00:00:00 6872.197 6981.817 6641.887 6591.302 11536729600 144147333120 1154 | 2015-08-24 00:00:00 6323.546 6363.092 6080.548 6076.902 7856785600 89015705600 1155 | 2015-08-25 00:00:00 5611.072 5785.963 5592.681 5585.115 8455200800 90531946496 1156 | 2015-08-26 00:00:00 5594.742 5795.97 5378.545 5303.632 12421809600 126011457536 1157 | 2015-08-27 00:00:00 5481.537 5630.782 5627.64 5283.2 10239498400 104213143552 1158 | 2015-08-28 00:00:00 5715.97 5997.808 5995.838 5679.291 12134838400 131951157248 1159 | 2015-08-31 00:00:00 5950.635 5950.635 5809.655 5787.24 10480219200 115362463744 1160 | 2015-09-01 00:00:00 5742.474 5742.474 5457.546 5434.066 9483360000 92322078720 1161 | 2015-09-02 00:00:00 5187.684 5585.473 5367.671 5171.405 9866583200 98423447552 1162 | 2015-09-07 00:00:00 5436.801 5610.384 5410.292 5362.432 8125368000 84560371712 1163 | 2015-09-08 00:00:00 5376.706 5659.725 5650.057 5310.094 7327496000 75941249024 1164 | 2015-09-09 00:00:00 5689.559 5866.348 5813.721 5661.652 11900830400 130936717312 1165 | 2015-09-10 00:00:00 5701.847 5829.122 5707.86 5678.477 8659636000 96105889792 1166 | 2015-09-11 00:00:00 5695.686 5796.115 5782.937 5667.938 8076584800 91420254208 1167 | 2015-09-14 00:00:00 5839.254 5856.018 5378 5353.021 10257390400 112815341568 1168 | 2015-09-15 00:00:00 5240.507 5359.513 5103.855 5084.333 7972880000 79307472896 1169 | 2015-09-16 00:00:00 5126.385 5503.226 5480.282 5112.522 8877455200 90525270016 1170 | 2015-09-17 00:00:00 5464.183 5636.027 5365.289 5364.104 10629539200 114164940800 1171 | 2015-09-18 00:00:00 5415.35 5474.565 5443.328 5345.44 7187716800 75279605760 1172 | 2015-09-21 00:00:00 5382.009 5631.517 5626.468 5363.913 8235780000 89118212096 1173 | 2015-09-22 00:00:00 5633.592 5723.653 5665.048 5586.746 9109499200 100553728000 1174 | 2015-09-23 00:00:00 5566.505 5656.841 5571.644 5524.626 8089843200 87720706048 1175 | 2015-09-24 00:00:00 5592.433 5661.566 5660.362 5567.224 7624005600 81368989696 1176 | 2015-09-25 00:00:00 5635.689 5681.987 5494.533 5452.656 7818488800 84211392512 1177 | 2015-09-28 00:00:00 5508.467 5572.856 5571.638 5402.6 5304493600 57536897024 1178 | 2015-09-29 00:00:00 5473.805 5530.761 5453.695 5422.316 5251944800 55134339072 1179 | 2015-09-30 00:00:00 5487.148 5514.78 5470.164 5429.133 4311347600 46486642688 1180 | 2015-10-08 00:00:00 5650.848 5719.146 5682.129 5611.972 7289872000 79071256576 1181 | 2015-10-09 00:00:00 5683.56 5787.423 5766.327 5666.593 7915497600 85866536960 1182 | 2015-10-12 00:00:00 5797.059 6047.662 5981.471 5791.196 12761177600 147544489984 1183 | 2015-10-13 00:00:00 5928.263 6059.688 6047.899 5908.971 10450643200 119722188800 1184 | 2015-10-14 00:00:00 6022.803 6073.321 5968.071 5958.758 9808227200 113789747200 1185 | 2015-10-15 00:00:00 5946.375 6152.356 6151.557 5946.371 10549320000 123842060288 1186 | 2015-10-16 00:00:00 6199.418 6275.413 6271.101 6121.532 13188400000 156035776512 1187 | 2015-10-19 00:00:00 6292.717 6329.952 6267.106 6182.077 13483595200 160955629568 1188 | 2015-10-20 00:00:00 6250.288 6358.788 6358.273 6213.946 11077776000 134871678976 1189 | 2015-10-21 00:00:00 6360.06 6381.413 5949.338 5927.714 13810787200 161679507456 1190 | 2015-10-22 00:00:00 5946.368 6162.699 6155.367 5924.876 10285595200 123497365504 1191 | 2015-10-23 00:00:00 6192.109 6338.155 6312.488 6162.919 11702642400 147588792320 1192 | 2015-10-26 00:00:00 6390.618 6402.625 6355.896 6278.355 12114753600 154546470912 1193 | 2015-10-27 00:00:00 6307.39 6410.848 6382.555 6116.823 10971171200 137482977280 1194 | 2015-10-28 00:00:00 6350.197 6419.478 6234.907 6211.687 10017080800 124161990656 1195 | 2015-10-29 00:00:00 6287.863 6361.524 6303.078 6224.082 8246176000 105405497344 1196 | 2015-10-30 00:00:00 6287.303 6354.981 6278.586 6194.897 7871729600 101556330496 1197 | 2015-11-02 00:00:00 6167.105 6326.692 6168.094 6144.12 7844000800 101763162112 1198 | 2015-11-03 00:00:00 6178.985 6212.971 6151.299 6092.463 6537351200 84960534528 1199 | 2015-11-04 00:00:00 6173.434 6449.399 6448.776 6173.434 10807096800 138369105920 1200 | 2015-11-05 00:00:00 6449.901 6561.253 6484.955 6426.406 15082177600 190499782656 1201 | 2015-11-06 00:00:00 6488.217 6627.459 6618.882 6487.018 12212978400 155903967232 1202 | 2015-11-09 00:00:00 6593.361 6733.743 6687.506 6530.722 13938614400 179879215104 1203 | 2015-11-10 00:00:00 6650.85 6755.336 6701.381 6625.377 13103956800 172459442176 1204 | 2015-11-11 00:00:00 6702.648 6772.67 6771.024 6669.817 11524764000 150816342016 1205 | 2015-11-12 00:00:00 6779.187 6814.116 6767.265 6679.288 11849837600 158819926016 1206 | 2015-11-13 00:00:00 6695.707 6768.59 6684.776 6613.709 11283969600 152787550208 1207 | 2015-11-16 00:00:00 6569.502 6801.762 6799.818 6562.548 8999310400 122994302976 1208 | 2015-11-17 00:00:00 6855.969 6897.094 6759.196 6747.701 12091756800 165236981760 1209 | 2015-11-18 00:00:00 6765.093 6797.502 6653.729 6630.208 9100948000 119899004928 1210 | 2015-11-19 00:00:00 6676.522 6797.279 6796.013 6647.845 8229574400 112824557568 1211 | 2015-11-20 00:00:00 6807.86 6895.905 6872.996 6797.414 10854368800 147539591168 1212 | 2015-11-23 00:00:00 6881.714 6933.29 6825.303 6795.134 11100354400 143140241408 1213 | 2015-11-24 00:00:00 6818.924 6857.397 6856.258 6720.234 8391788800 109109714944 1214 | 2015-11-25 00:00:00 6856.39 6945.219 6944.166 6851.782 9176334400 128896663552 1215 | 2015-11-26 00:00:00 6969.782 6994.868 6911.829 6898.297 10208868800 142402256896 1216 | 2015-11-27 00:00:00 6877.634 6896.114 6468.821 6413.394 11372528000 151964925952 1217 | 2015-11-30 00:00:00 6470.557 6540.396 6480.017 6154.012 9359192000 122777026560 1218 | 2015-12-01 00:00:00 6475.099 6566.132 6507.03 6429.02 7823806400 105130483712 1219 | 2015-12-02 00:00:00 6495.096 6511.038 6505.174 6314.323 7372381600 93657497600 1220 | 2015-12-03 00:00:00 6509.248 6628.663 6627.003 6507.062 6662296000 87575748608 1221 | 2015-12-04 00:00:00 6596.116 6645.918 6573.844 6530.801 7111506400 94567718912 1222 | 2015-12-07 00:00:00 6586.055 6647.73 6646.62 6550.681 6598097600 89763323904 1223 | 2015-12-08 00:00:00 6613.329 6613.329 6474.134 6472.109 6853153600 93809172480 1224 | 2015-12-09 00:00:00 6447.708 6497.731 6456.26 6408.647 5529019600 78848118001 1225 | 2015-12-10 00:00:00 6452.05 6511.474 6439.853 6424.273 5723516800 83164618752 1226 | 2015-12-11 00:00:00 6418.25 6437.571 6390.906 6358.913 5063726000 69732106240 1227 | 2015-12-14 00:00:00 6334.977 6527.368 6525.672 6323.775 5233175200 71297024000 1228 | 2015-12-15 00:00:00 6526.116 6593.004 6568.076 6525.108 5432389600 77720002560 1229 | 2015-12-16 00:00:00 6585.401 6621.465 6585.482 6563.821 5512258800 79275098112 1230 | 2015-12-17 00:00:00 6618.9 6743.752 6742.812 6618.9 8063239200 115579682816 1231 | 2015-12-18 00:00:00 6735.766 6765.342 6722.3 6686.591 7146446400 104647114752 1232 | 2015-12-21 00:00:00 6710.062 6834.76 6825.168 6702.027 7667682400 109712875520 1233 | 2015-12-22 00:00:00 6847.199 6870.78 6869.91 6786.448 7193257500 108159266270 1234 | 2015-12-23 00:00:00 6873.692 6895.642 6804.835 6791.077 7729197600 116160249856 1235 | 2015-12-24 00:00:00 6797.879 6815.507 6790.48 6690.32 5947070000 86969294848 1236 | 2015-12-25 00:00:00 6797.796 6844.156 6832.309 6786.595 5488657400 79462782238 1237 | 2015-12-28 00:00:00 6857.154 6881.501 6680.401 6680.232 7816693400 114945095227 1238 | 2015-12-29 00:00:00 6669.136 6753.064 6751.208 6633.161 5541345300 80227398428 1239 | 2015-12-30 00:00:00 6766.884 6806.997 6802.834 6736.094 5844610500 89171436688 1240 | 2015-12-31 00:00:00 6801.586 6821.938 6712.757 6710.987 5347847900 81054031358 1241 | 2016-01-04 00:00:00 6706.606 6715.844 6160.651 6160.463 5209279900 71831307406 1242 | 2016-01-05 00:00:00 5902.005 6215.727 6114.547 5875.789 7568347800 97530066707 1243 | 2016-01-06 00:00:00 6136.341 6270.986 6269.695 6116.807 6725587900 85078413541 1244 | 2016-01-07 00:00:00 6160.515 6160.515 5740.389 5733.617 2076760500 23702327711 1245 | 2016-01-08 00:00:00 5888.484 5945.217 5847.362 5555.722 7750438800 91109565884 1246 | 2016-01-11 00:00:00 5739.283 5809.448 5452.517 5450.949 7928535600 86806723229 1247 | 2016-01-12 00:00:00 5452.884 5507.781 5445.885 5329.669 6195922800 66364417937 1248 | 2016-01-13 00:00:00 5475.68 5534.489 5268.395 5268.395 5795300500 61569627683 1249 | 2016-01-14 00:00:00 5103.496 5440.998 5429.349 5090.536 6243123800 64515195826 1250 | 2016-01-15 00:00:00 5387.7 5428.141 5212.135 5174.187 5912810700 62409046052 1251 | 2016-01-18 00:00:00 5105.586 5336.409 5274.117 5098.499 4810540000 52345914972 1252 | 2016-01-19 00:00:00 5268.015 5478.736 5472.598 5261.407 5735264900 63854317952 1253 | 2016-01-20 00:00:00 5444.151 5516.775 5432.372 5383.336 5973059000 67949506097 1254 | 2016-01-21 00:00:00 5340.06 5462.059 5205.75 5205.18 5401754000 59784613383 1255 | 2016-01-22 00:00:00 5261.582 5311.03 5281.7 5129.817 4557560400 49776034505 1256 | 2016-01-25 00:00:00 5315.728 5377.036 5344.43 5283.334 4429028900 48539089226 1257 | 2016-01-26 00:00:00 5271.965 5284.462 4943.74 4931.514 5770789000 61997611234 1258 | 2016-01-27 00:00:00 4938.163 4966.991 4877.569 4645.211 5882303400 60121659774 1259 | 2016-01-28 00:00:00 4805.873 4872.465 4657.409 4650.998 4584042600 47621219126 1260 | 2016-01-29 00:00:00 4643.717 4857.672 4817.773 4622.854 4939734400 51634193280 1261 | 2016-02-01 00:00:00 4809.127 4836.331 4751.176 4682.093 4491030500 47991695907 1262 | 2016-02-02 00:00:00 4757.794 4911.837 4905.858 4757.794 4339591800 48104230536 1263 | 2016-02-03 00:00:00 4844.449 4935.425 4917.509 4804.054 4175377100 44474033566 1264 | 2016-02-04 00:00:00 4936.04 5038.056 5021.18 4936.04 4949118900 54796179649 1265 | 2016-02-05 00:00:00 5028.327 5041.401 4978.318 4975.923 3886347000 43473850862 1266 | 2016-02-15 00:00:00 4816.394 4998.094 4970.694 4810.301 3472064100 38642141341 1267 | 2016-02-16 00:00:00 4992.704 5172.907 5163.119 4992.704 5455319000 60798321389 1268 | 2016-02-17 00:00:00 5152.679 5238.357 5232.156 5132.09 6127399200 69573367441 1269 | 2016-02-18 00:00:00 5265.797 5286.965 5230.378 5216.509 6315598400 71766272923 1270 | 2016-02-19 00:00:00 5211.365 5265.899 5243.45 5192.825 4659924600 55621255412 1271 | 2016-02-22 00:00:00 5306.238 5362.748 5354.372 5286.539 6414148400 70009606309 1272 | 2016-02-23 00:00:00 5352.316 5365.919 5321.151 5245.843 5736696100 65132911972 1273 | 2016-02-24 00:00:00 5296.478 5379.293 5378.498 5247.034 6309453100 71855710890 1274 | 2016-02-25 00:00:00 5363.359 5363.39 4961.568 4936.995 7876195800 85447321332 1275 | 2016-02-26 00:00:00 5003.221 5036.224 4998.461 4876.014 5814111200 61915078821 1276 | 2016-02-29 00:00:00 4973.026 4973.026 4737.82 4680.096 5935946100 60393822850 1277 | 2016-03-01 00:00:00 4745.928 4860.873 4836.272 4683.121 5229828700 53975889348 1278 | 2016-03-02 00:00:00 4828.83 5084.435 5076.921 4825.765 7174886100 73251110380 1279 | 2016-03-03 00:00:00 5079.59 5169.866 5099.05 5069.83 7737096900 79629585649 1280 | 2016-03-04 00:00:00 5081.703 5118.404 4961.912 4889.849 6801565100 69068340562 1281 | 2016-03-07 00:00:00 5015.204 5097.071 5083.411 5014.427 5848534100 57789425510 1282 | 2016-03-08 00:00:00 5086.675 5096.705 5096.381 4904.427 6645053600 65886394936 1283 | 2016-03-09 00:00:00 4977.674 5035.326 4961.953 4937.133 4844742900 49035560995 1284 | 2016-03-10 00:00:00 4967.828 5001.568 4887.909 4881.323 4110046200 43644997822 1285 | 2016-03-11 00:00:00 4844.702 4909.368 4880.482 4818.578 3445745500 36336692219 1286 | 2016-03-14 00:00:00 4930.507 5083.392 5034.449 4930.507 5376274400 59486968676 1287 | 2016-03-15 00:00:00 5019.962 5038.103 5007.342 4961.407 4212810000 47125192491 1288 | 2016-03-16 00:00:00 5015.949 5035.963 4935.83 4908.068 3610132400 40125626078 1289 | 2016-03-17 00:00:00 4954.51 5089.967 5075.912 4946.499 5302931900 60273379083 1290 | 2016-03-18 00:00:00 5097.109 5254.058 5240.511 5095.158 8014237700 92484596626 1291 | 2016-03-21 00:00:00 5295.044 5376.604 5375.656 5286.458 8726578400 100981668521 1292 | 2016-03-22 00:00:00 5335.205 5392.936 5348.954 5303.574 7051350000 88402681348 1293 | 2016-03-23 00:00:00 5326.748 5386.572 5386.188 5313.087 5927951500 76268800394 1294 | 2016-03-24 00:00:00 5338.739 5386.225 5297.314 5291.49 6466681700 83372783837 1295 | 2016-03-25 00:00:00 5290.371 5355.174 5354.508 5278.071 4879389900 62335051849 1296 | 2016-03-28 00:00:00 5386.515 5426.762 5323.738 5305.282 5974676600 75803767564 1297 | 2016-03-29 00:00:00 5317.331 5327.156 5227.707 5188.223 5430391700 63495286396 1298 | 2016-03-30 00:00:00 5274.445 5409.488 5408.368 5274.445 6302188100 75132692149 1299 | 2016-03-31 00:00:00 5428.259 5468.981 5422.171 5402.2 6654933700 81606499975 1300 | 2016-04-01 00:00:00 5401.056 5425.746 5400.075 5313.273 5994906200 68111559932 1301 | 2016-04-05 00:00:00 5405.983 5537.586 5533.403 5388.926 7194389800 85714086547 1302 | 2016-04-06 00:00:00 5508.572 5553.919 5552.652 5488.702 6858265100 83191271693 1303 | 2016-04-07 00:00:00 5562.617 5572.155 5466.271 5465.42 6951128800 82598100793 1304 | 2016-04-08 00:00:00 5419.249 5437.977 5415.193 5348.455 5685058100 67676168123 1305 | 2016-04-11 00:00:00 5455.153 5549.154 5525.045 5455.153 6753755200 82100989422 1306 | 2016-04-12 00:00:00 5515.729 5529.214 5483.859 5424.035 5704587000 70358477783 1307 | 2016-04-13 00:00:00 5515.511 5625.783 5559.916 5515.511 8878818900 101242377889 1308 | 2016-04-14 00:00:00 5584.998 5613.677 5612.378 5548.021 6290569900 75256780160 1309 | 2016-04-15 00:00:00 5613.174 5624.931 5603.692 5570.448 5664091900 69238809614 1310 | 2016-04-18 00:00:00 5566.413 5566.413 5506.202 5473.241 5525506700 65095334980 1311 | 2016-04-19 00:00:00 5529.004 5546.518 5529.777 5484.819 4838173200 59180479905 1312 | 2016-04-20 00:00:00 5549.054 5561.248 5286.204 5191.957 8007471600 93768370158 1313 | 2016-04-21 00:00:00 5264.559 5344.15 5248.6 5236.341 5697412000 65583331078 1314 | 2016-04-22 00:00:00 5210.811 5273.987 5272.35 5189.921 4061122700 45873900781 1315 | 2016-04-25 00:00:00 5258.561 5268.071 5251.061 5178.492 3975761100 46319852777 1316 | 2016-04-26 00:00:00 5243.066 5303.577 5303.27 5225.534 3620595400 43213917208 1317 | 2016-04-27 00:00:00 5303.678 5334.339 5273.075 5262.984 3956845200 47904803078 1318 | 2016-04-28 00:00:00 5268.934 5280.435 5248.101 5167.744 4175338800 48828563291 1319 | 2016-04-29 00:00:00 5225.407 5270.165 5244.966 5213.538 3190493000 39102708894 1320 | 2016-05-03 00:00:00 5252.637 5395.407 5394.542 5224.919 5000310100 61498412447 1321 | 2016-05-04 00:00:00 5375.213 5433.716 5400.677 5365.36 4704794000 59009026049 1322 | 2016-05-05 00:00:00 5394.3 5428.577 5427.455 5367.881 4056712100 51798702292 1323 | 2016-05-06 00:00:00 5430.835 5446.214 5212.655 5212.638 6010843300 73049130092 1324 | 2016-05-09 00:00:00 5170.323 5170.323 5022.495 4997.053 5146777800 55967625795 1325 | 2016-05-10 00:00:00 5009.165 5043.466 5023.27 4988.665 3149423200 36069265910 1326 | 2016-05-11 00:00:00 5047.549 5079.488 5017.716 4987.849 3509287700 42771734790 1327 | 2016-05-12 00:00:00 4954.147 5009.24 5007.662 4870.197 3710681000 41644490296 1328 | 2016-05-13 00:00:00 4992.992 5053.892 4992.25 4958.492 3262662800 37590175955 1329 | 2016-05-16 00:00:00 4973.586 5065.756 5064.76 4939.858 3437579200 40093159442 1330 | 2016-05-17 00:00:00 5067.202 5089.48 5041.373 5019.266 3740865500 44835629480 1331 | 2016-05-18 00:00:00 5003.22 5003.394 4909.376 4853.874 3851367500 43524190138 1332 | 2016-05-19 00:00:00 4910.1 4987.494 4929.19 4910.1 3308948500 37464904772 1333 | 2016-05-20 00:00:00 4892.074 4984.143 4983.355 4873.019 3390898000 39293279727 1334 | 2016-05-23 00:00:00 4990.986 5044.463 5044.047 4990.986 3745681800 44855529586 1335 | 2016-05-24 00:00:00 5034.423 5034.931 4985.89 4954.312 3471098600 38975658262 1336 | 2016-05-25 00:00:00 5013.806 5034.174 4963.237 4943.525 3248158000 37642063810 1337 | 2016-05-26 00:00:00 4958.174 4982.132 4979.676 4861.681 3620468000 40235117825 1338 | 2016-05-27 00:00:00 4970.243 5011.113 4981.082 4953.455 3309018100 38572374654 1339 | 2016-05-30 00:00:00 4956.33 5002.946 4964.471 4912.625 2846559400 33850422701 1340 | 2016-05-31 00:00:00 4968.183 5158.941 5158.624 4968.183 5834910800 67887418366 1341 | 2016-06-01 00:00:00 5164.666 5205.869 5179.369 5154.855 5614135300 68664342689 1342 | 2016-06-02 00:00:00 5175.741 5217.422 5216.535 5168.512 4931852800 58468312849 1343 | 2016-06-03 00:00:00 5218.661 5254.047 5234.016 5191.656 5220419700 65319918103 1344 | 2016-06-06 00:00:00 5247.009 5262.664 5242.837 5212.422 4366740300 56053743018 1345 | 2016-06-07 00:00:00 5241.427 5243.357 5241.309 5210.105 4063851400 50951088579 1346 | 2016-06-08 00:00:00 5233.906 5244.743 5218.534 5178.431 4340257000 54198497068 1347 | 2016-06-13 00:00:00 5155.104 5192.53 4994.88 4993.476 5049000000 62381503541 1348 | 2016-06-14 00:00:00 4976.333 5019.319 5014.352 4961.514 3467577900 42143734712 1349 | 2016-06-15 00:00:00 4964.695 5179.74 5167.852 4954.922 5176010200 65912964298 1350 | 2016-06-16 00:00:00 5159.913 5188.087 5150.782 5133.252 5477993100 72079244346 1351 | 2016-06-17 00:00:00 5157.654 5215.308 5184.951 5144.169 5414857900 65464987926 1352 | 2016-06-20 00:00:00 5186.479 5211.759 5204.956 5138.605 4439288400 56206805304 1353 | 2016-06-21 00:00:00 5230.748 5261.888 5157.591 5133.481 5068172900 64452625594 1354 | 2016-06-22 00:00:00 5144.279 5227.899 5227.182 5137.252 4119984700 50586503552 1355 | 2016-06-23 00:00:00 5218.272 5226.909 5198.59 5160.45 4437945500 55069926329 1356 | 2016-06-24 00:00:00 5190.618 5225.89 5137.827 5015.337 5899483700 70522776740 1357 | 2016-06-27 00:00:00 5103.181 5255.884 5255.807 5102.507 5026467200 64657200429 1358 | 2016-06-28 00:00:00 5232.658 5303.072 5301.147 5225.083 5473407600 70123927775 1359 | 2016-06-29 00:00:00 5311.918 5327.606 5316.251 5294.543 5605331400 67785480489 1360 | 2016-06-30 00:00:00 5323.063 5335.723 5310.993 5286.764 4585233300 56643126630 1361 | 2016-07-01 00:00:00 5315.77 5341.678 5305.988 5292.866 4303153000 54586305158 1362 | 2016-07-04 00:00:00 5286.003 5429.253 5424.382 5282.513 6569377400 78440758610 1363 | 2016-07-05 00:00:00 5432.342 5469.447 5461.001 5430.19 7070798100 87127401867 1364 | 2016-07-06 00:00:00 5446.526 5498.323 5497.177 5429.062 6340118700 79252889482 1365 | 2016-07-07 00:00:00 5491.315 5523.881 5504.797 5456.406 6896938800 90548980888 1366 | 2016-07-08 00:00:00 5491.645 5507.483 5475.638 5463.209 5363176900 67674795769 1367 | 2016-07-11 00:00:00 5492.377 5556.457 5492.137 5483.441 6467360400 84591708194 1368 | 2016-07-12 00:00:00 5488.858 5573.876 5573.544 5446.822 7477123400 91099269469 1369 | 2016-07-13 00:00:00 5583.29 5612.07 5605.686 5564.994 7222062200 85007950802 1370 | 2016-07-14 00:00:00 5594.923 5605.281 5604.113 5562.9 5460373800 68407802330 1371 | 2016-07-15 00:00:00 5605.134 5612.428 5595.11 5567.497 5138343200 64528858829 1372 | 2016-07-18 00:00:00 5582.045 5599.426 5566.957 5536.112 4948390000 63578832787 1373 | 2016-07-19 00:00:00 5563.389 5576.742 5576.506 5518.68 4608080800 58985956556 1374 | 2016-07-20 00:00:00 5573.146 5590.124 5566.084 5548.568 4233959200 54847236030 1375 | 2016-07-21 00:00:00 5564.958 5628.377 5598.516 5561.922 5333509600 68835313730 1376 | 2016-07-22 00:00:00 5597.196 5606.113 5557.425 5552.782 5068238800 66104624850 1377 | 2016-07-25 00:00:00 5552.807 5598.771 5569.09 5542.179 4679199000 59735451001 1378 | 2016-07-26 00:00:00 5569.261 5645.139 5644.275 5569.261 4825663800 60001867962 1379 | 2016-07-27 00:00:00 5648.268 5672.829 5453.052 5374.512 8812615700 104123071923 1380 | 2016-07-28 00:00:00 5443.708 5497.3 5489.772 5400.793 5939990300 71904216844 1381 | 2016-07-29 00:00:00 5484.433 5501.169 5446.548 5430.074 4827905700 56906764806 1382 | 2016-08-01 00:00:00 5424.043 5424.043 5349.88 5297.445 4485472800 52872880782 1383 | 2016-08-02 00:00:00 5345.821 5418.034 5417.229 5345.821 3719998000 43184696565 1384 | 2016-08-03 00:00:00 5406.653 5449.176 5448.215 5394.095 4598016200 53112525153 1385 | 2016-08-04 00:00:00 5444.373 5477.297 5470.922 5422.459 4107172900 49181447800 1386 | 2016-08-05 00:00:00 5464.805 5493.286 5449.92 5448.985 4279614500 50619391085 1387 | 2016-08-08 00:00:00 5441.843 5533.327 5532.607 5416.892 4713271100 54796019374 1388 | 2016-08-09 00:00:00 5525.785 5583.374 5582.629 5521.077 5196543100 60060605637 1389 | 2016-08-10 00:00:00 5574.501 5602.647 5560.717 5555.988 5086017100 58591404356 1390 | 2016-08-11 00:00:00 5548.568 5563.421 5479.47 5478.418 4481412100 51575826380 1391 | 2016-08-12 00:00:00 5475.554 5542.906 5542.611 5463.923 4447316000 48238891666 1392 | 2016-08-15 00:00:00 5551.725 5666.018 5661.473 5537.934 7445101700 82156522623 1393 | 2016-08-16 00:00:00 5665.581 5692.762 5676.305 5663.115 6694315100 78247649117 1394 | 2016-08-17 00:00:00 5667.859 5697.457 5688.897 5648.333 5682016900 65523899377 1395 | 2016-08-18 00:00:00 5685.65 5712.98 5680.792 5660.991 6350544000 71933056525 1396 | 2016-08-19 00:00:00 5673.263 5693.372 5683.879 5641.657 5119054300 58081077447 1397 | 2016-08-22 00:00:00 5684.151 5691.821 5619.984 5618.373 5197476700 59218693085 1398 | 2016-08-23 00:00:00 5612.614 5643.723 5627.065 5585.799 4497870900 50831426196 1399 | 2016-08-24 00:00:00 5630.019 5649.559 5626.951 5607.988 4042935800 47551529742 1400 | 2016-08-25 00:00:00 5599.069 5599.069 5587.902 5527.807 4723755800 54044240055 1401 | 2016-08-26 00:00:00 5596.28 5648.539 5609.726 5595.615 4362869200 52624393345 1402 | 2016-08-29 00:00:00 5610.449 5629.853 5617.022 5596.179 4215506600 49127395464 1403 | 2016-08-30 00:00:00 5615.877 5644.824 5617.806 5605.705 3898427400 46604989776 1404 | 2016-08-31 00:00:00 5614.233 5631.432 5627.039 5590.148 3688254900 43920247244 1405 | 2016-09-01 00:00:00 5625.965 5638.925 5579.582 5578.673 4432958600 49701048199 1406 | 2016-09-02 00:00:00 5571.803 5595.198 5558.173 5529.902 4173047700 46372437217 1407 | 2016-09-05 00:00:00 5570.441 5609.419 5585.223 5566.358 3950405100 45425657923 1408 | 2016-09-06 00:00:00 5584.909 5668.688 5667.713 5541.391 5190903200 60694603791 1409 | 2016-09-07 00:00:00 5665.889 5703.142 5669.524 5659.659 5913338000 65287039322 1410 | 2016-09-08 00:00:00 5666.501 5694.189 5693.322 5658.802 4830367400 55716895110 1411 | 2016-09-09 00:00:00 5691.286 5705.639 5653.844 5653.51 5049038600 58791499347 1412 | 2016-09-12 00:00:00 5563.74 5582.303 5497.644 5491.472 5792730400 65420547158 1413 | 2016-09-13 00:00:00 5524.143 5537.601 5524.436 5490.63 4226799600 49035271280 1414 | 2016-09-14 00:00:00 5495.991 5526.701 5494.317 5476.59 3699929700 42880570921 1415 | 2016-09-19 00:00:00 5504.422 5556.543 5555.93 5504.422 3504850900 40893121073 1416 | 2016-09-20 00:00:00 5555.117 5557.375 5554.478 5534.715 3647140000 41330874438 1417 | 2016-09-21 00:00:00 5553.993 5569.948 5554.088 5546.352 3340241100 39803360102 1418 | 2016-09-22 00:00:00 5582.317 5601.936 5579.688 5572.297 3913172600 45510722174 1419 | 2016-09-23 00:00:00 5586.938 5592.117 5561.809 5561.192 3911256300 46554386287 1420 | 2016-09-26 00:00:00 5553.955 5554.67 5445.997 5441.889 4288065600 48138671063 1421 | 2016-09-27 00:00:00 5433.853 5484.753 5483.93 5410.487 3527461800 39491168012 1422 | 2016-09-28 00:00:00 5495.628 5495.628 5475.885 5465.851 2871643900 33362771681 1423 | 2016-09-29 00:00:00 5482.09 5512.533 5487.603 5482.09 3119177400 35413097039 1424 | 2016-09-30 00:00:00 5480.458 5514.524 5505.961 5477.241 2745707600 30950060036 1425 | 2016-10-10 00:00:00 5537.13 5615.146 5614.496 5526.625 4516418600 52614554339 1426 | 2016-10-11 00:00:00 5617.588 5655.458 5654.639 5611.123 4720119200 54661881269 1427 | 2016-10-12 00:00:00 5636.865 5650.215 5649.457 5625.824 4041948200 46727089675 1428 | 2016-10-13 00:00:00 5648.65 5667.297 5656.445 5638.999 4258718600 49119878126 1429 | 2016-10-14 00:00:00 5649.986 5650.85 5646.489 5604.805 4160938800 48625729971 1430 | 2016-10-17 00:00:00 5654.592 5664.694 5597.117 5582.787 4621960100 53848375613 1431 | 2016-10-18 00:00:00 5594.09 5678.175 5678.175 5594.09 4863108300 55257560960 1432 | 2016-10-19 00:00:00 5686.687 5697.847 5672.681 5654.012 5117653800 57758493030 1433 | 2016-10-20 00:00:00 5672.805 5682.108 5679.11 5655.041 4679488600 54430938082 1434 | 2016-10-21 00:00:00 5672.83 5679.648 5654.065 5608.603 4914318100 54558730053 1435 | 2016-10-24 00:00:00 5653.383 5715.124 5708.487 5646.93 5993547700 62471066540 1436 | 2016-10-25 00:00:00 5710.114 5731.847 5731.293 5704.249 5483371700 58630778687 1437 | 2016-10-26 00:00:00 5728.927 5729.291 5703.011 5683.861 5091459500 58182723148 1438 | 2016-10-27 00:00:00 5696.622 5701.599 5697.132 5669.867 4056665100 46518605792 1439 | 2016-10-28 00:00:00 5695.702 5712.97 5651.46 5649.51 4327823000 50607379462 1440 | 2016-10-31 00:00:00 5640.652 5649.733 5643.265 5608.331 3951891300 47385145115 1441 | 2016-11-01 00:00:00 5649.72 5689.249 5688.896 5642.636 4146398700 49824510506 1442 | 2016-11-02 00:00:00 5678.722 5689.214 5650.237 5645.148 4747982500 56089396449 1443 | 2016-11-03 00:00:00 5633.592 5706.851 5678.09 5630.171 5313258600 60592895747 1444 | 2016-11-04 00:00:00 5675.391 5692.977 5651.27 5640.959 4504033800 52598745925 1445 | 2016-11-07 00:00:00 5651.858 5680.667 5666.39 5635.028 4386194800 48212639202 1446 | 2016-11-08 00:00:00 5683.175 5704.586 5694.879 5670.182 4580167700 51120755599 1447 | 2016-11-09 00:00:00 5693.017 5695.322 5652.175 5588.161 5785061900 63032139795 1448 | 2016-11-10 00:00:00 5690.927 5728.774 5727.078 5690.927 5715275200 62584328923 1449 | 2016-11-11 00:00:00 5729.827 5773.369 5771.001 5721.38 7341408500 79562517902 1450 | 2016-11-14 00:00:00 5757.954 5806.259 5803.676 5754.806 8532365000 87748072474 1451 | 2016-11-15 00:00:00 5810.703 5822.042 5821.224 5788.628 7206639700 74903910522 1452 | 2016-11-16 00:00:00 5824.799 5835.131 5824.636 5803.201 6790296300 70569239545 1453 | 2016-11-17 00:00:00 5816.187 5828.277 5822.828 5786.171 6521977900 64693984845 1454 | 2016-11-18 00:00:00 5816.386 5828.545 5791.321 5781.462 5719054400 60153322433 1455 | 2016-11-21 00:00:00 5785.738 5827.776 5806.021 5785.738 5817704800 63970116237 1456 | 2016-11-22 00:00:00 5818.62 5854.792 5853.975 5813.614 6614993900 71685363162 1457 | 2016-11-23 00:00:00 5856.95 5864.378 5820.466 5806.483 6176549100 67829623773 1458 | 2016-11-24 00:00:00 5824.826 5840.699 5809.139 5795.381 6040555900 65966704820 1459 | 2016-11-25 00:00:00 5806.46 5833.843 5833.619 5729.631 5868658300 64349481918 1460 | 2016-11-28 00:00:00 5847.443 5866.614 5850.151 5830.189 6515989800 69893007664 1461 | 2016-11-29 00:00:00 5838.219 5863.299 5816.216 5812.968 6992085300 75944196229 1462 | 2016-11-30 00:00:00 5799.807 5799.923 5775.052 5758.591 5619898200 60276654222 1463 | 2016-12-01 00:00:00 5779.574 5808.357 5807.306 5779.574 4965476300 54299001906 1464 | 2016-12-02 00:00:00 5800.995 5806.54 5710.635 5710.11 5491884000 59303404452 1465 | 2016-12-05 00:00:00 5655.927 5707.946 5676.785 5644.726 4481645500 48613170599 1466 | 2016-12-06 00:00:00 5685.873 5703.776 5683.788 5678.301 3511779600 38936587461 1467 | 2016-12-07 00:00:00 5687.287 5750.742 5750.045 5678.69 4097887700 45811233305 1468 | 2016-12-08 00:00:00 5754.713 5758.695 5723.371 5718.52 3905701100 45020679659 1469 | 2016-12-09 00:00:00 5716.951 5736.385 5718.735 5705.478 4023059000 47227935338 1470 | 2016-12-12 00:00:00 5719.93 5724.367 5489.627 5481.142 6102590000 67639379803 1471 | 2016-12-13 00:00:00 5476.667 5530.183 5522.68 5443.256 4047378200 45347779106 1472 | 2016-12-14 00:00:00 5515.2 5551.636 5501.187 5479.108 4395425200 49584479924 1473 | 2016-12-15 00:00:00 5481.37 5555.066 5527.64 5476.17 3996307500 44357706701 1474 | 2016-12-16 00:00:00 5525.453 5564.024 5560.882 5520.863 3629661700 40677569096 1475 | 2016-12-19 00:00:00 5559.298 5578.708 5575.097 5543.66 3761590100 41846140011 1476 | 2016-12-20 00:00:00 5570.31 5570.804 5551.377 5527.333 3668796100 38283982417 1477 | 2016-12-21 00:00:00 5556.267 5610.542 5609.333 5556.267 4160765800 44929359157 1478 | 2016-12-22 00:00:00 5603.319 5618.728 5611.867 5584.869 4042004000 42495380571 1479 | 2016-12-23 00:00:00 5607.267 5608.119 5549.4 5545.17 3623258500 41012979175 1480 | 2016-12-26 00:00:00 5532.777 5561.792 5561.309 5476.438 3485903900 37470206717 1481 | 2016-12-27 00:00:00 5558.004 5578.2 5564.943 5555.731 3264665200 36150784266 1482 | 2016-12-28 00:00:00 5564.341 5570.679 5543.608 5533.249 3074160500 34427858683 1483 | 2016-12-29 00:00:00 5536.308 5557.117 5529.551 5517.266 2948707200 33542611412 1484 | 2016-12-30 00:00:00 5531.072 5551.447 5542.389 5526.002 2888456500 33244507817 1485 | 2017-01-03 00:00:00 5548.69 5599.758 5599.562 5548.69 3340691100 36762118247 1486 | 2017-01-04 00:00:00 5598.22 5658.489 5657.882 5592.163 4228833800 48867000839 1487 | 2017-01-05 00:00:00 5655.904 5676.578 5666.123 5649.938 4086585900 47013949009 1488 | 2017-01-06 00:00:00 5665.486 5672.053 5647.961 5640.666 4360533700 49422472777 1489 | 2017-01-09 00:00:00 5639.355 5693.425 5692.966 5638.035 4420652700 50334224221 1490 | 2017-01-10 00:00:00 5689.38 5699.322 5667.098 5662.942 4417900200 49533322461 1491 | 2017-01-11 00:00:00 5657.637 5675.396 5619.649 5615.921 4187766300 46829849073 1492 | 2017-01-12 00:00:00 5614.139 5624.506 5567.079 5562.712 3465503700 38192917779 1493 | 2017-01-13 00:00:00 5564.729 5570.691 5514.939 5482.748 3632998800 40240906108 1494 | 2017-01-16 00:00:00 5500.141 5500.462 5412.002 5281.92 5616518200 59355156422 1495 | 2017-01-17 00:00:00 5386.398 5439.618 5439.141 5344.642 3236076500 34926791043 1496 | 2017-01-18 00:00:00 5430.745 5465.22 5441.262 5414.69 2902015500 32295030493 1497 | 2017-01-19 00:00:00 5433.225 5446.756 5418.661 5410.109 2595537300 28492550203 1498 | 2017-01-20 00:00:00 5413.286 5484.23 5479.147 5412.837 2737031300 30795760108 1499 | 2017-01-23 00:00:00 5485.532 5528.944 5516.389 5485.498 3062483200 33431835962 1500 | 2017-01-24 00:00:00 5513.046 5516.252 5507.571 5497.876 2767867000 29053222500 1501 | 2017-01-25 00:00:00 5498.366 5518.33 5514.403 5491.853 2495761100 27786243507 1502 | 2017-01-26 00:00:00 5520.062 5540.999 5540.49 5520.062 2302938500 25038799825 1503 | 2017-02-03 00:00:00 5544.693 5549.567 5532.159 5517.51 2229061000 25189003345 1504 | 2017-02-06 00:00:00 5532.125 5582.808 5582.693 5528.683 2939593700 33049561348 1505 | 2017-02-07 00:00:00 5578.432 5590.767 5581.513 5550.273 3179887900 36042378328 1506 | 2017-02-08 00:00:00 5575.73 5605.059 5604.971 5542.329 3180661800 35342754743 1507 | 2017-02-09 00:00:00 5602.128 5636.144 5632.07 5598.365 4128099900 42831947224 1508 | 2017-02-10 00:00:00 5633.687 5660.738 5648.819 5630.834 5647907000 54234734939 1509 | 2017-02-13 00:00:00 5651.669 5679.865 5679.691 5647.447 5101399000 52056185212 1510 | 2017-02-14 00:00:00 5676.048 5676.727 5674.15 5651.484 4355548200 45093886641 1511 | 2017-02-15 00:00:00 5670.372 5683.716 5630.726 5620.546 5473072400 54543800825 1512 | 2017-02-16 00:00:00 5625.151 5675.143 5673.081 5624.793 4701502000 48285309503 1513 | 2017-02-17 00:00:00 5670.889 5674.433 5625 5618.156 4952925000 50651956684 1514 | 2017-02-20 00:00:00 5626.152 5697.714 5697.33 5626.152 5105628900 53905967400 1515 | 2017-02-21 00:00:00 5697.747 5734.14 5733.748 5693.129 4963182700 52635679243 1516 | 2017-02-22 00:00:00 5733.707 5764.288 5764.288 5728.977 5405323400 57775449647 1517 | 2017-02-23 00:00:00 5760.044 5769.104 5754.357 5725.877 5503046200 59796467823 1518 | 2017-02-24 00:00:00 5749.077 5762.709 5761.141 5731.773 4512142100 50262591052 1519 | 2017-02-27 00:00:00 5759.134 5765.156 5717.701 5712.254 4439559800 51972923974 1520 | 2017-02-28 00:00:00 5716.238 5740.474 5740.109 5709.563 3514202100 41073209487 1521 | 2017-03-01 00:00:00 5733.835 5767.244 5748.346 5730.852 4070989900 46949382411 1522 | 2017-03-02 00:00:00 5757.124 5764.368 5721.719 5717.907 4294444800 48913601979 1523 | 2017-03-03 00:00:00 5707.611 5730.365 5726.669 5689.284 3668430400 43520733208 1524 | 2017-03-06 00:00:00 5732.818 5778.201 5777.509 5732.818 3869143900 47769941836 1525 | 2017-03-07 00:00:00 5777.087 5787.034 5786.516 5757.668 4084460300 49725465553 1526 | 2017-03-08 00:00:00 5787.068 5787.372 5769.201 5752.647 3993692400 46506372321 1527 | 2017-03-09 00:00:00 5760.285 5760.285 5711.601 5701.014 3979067100 43670550628 1528 | 2017-03-10 00:00:00 5710.902 5729.715 5717.68 5708.808 3404602000 40374907967 1529 | 2017-03-13 00:00:00 5713.526 5764.787 5764.119 5687.78 3809839300 45288016226 1530 | 2017-03-14 00:00:00 5763.512 5774.891 5750.628 5740.735 3347937500 40310320193 1531 | 2017-03-15 00:00:00 5744.664 5752.332 5745.637 5729.083 3283860200 39261803097 1532 | 2017-03-16 00:00:00 5753.125 5795.157 5794.56 5753.125 4110051700 48543471990 1533 | 2017-03-17 00:00:00 5797.709 5807.448 5748.675 5745.135 4321271300 52219261160 1534 | 2017-03-20 00:00:00 5749.152 5770.716 5770.388 5729.609 3841266000 46327833666 1535 | 2017-03-21 00:00:00 5768.065 5790.302 5790.151 5761.078 3587357500 45981049746 1536 | 2017-03-22 00:00:00 5764.268 5790.186 5780.585 5743.6 4179546100 51704565862 1537 | 2017-03-23 00:00:00 5782.588 5807.145 5786.508 5734.418 4639320900 57292674704 1538 | 2017-03-24 00:00:00 5786.058 5826.824 5823.128 5776.243 5237619400 59981954140 1539 | 2017-03-27 00:00:00 5824.153 5842.365 5813.424 5805.558 4957156300 57124179324 1540 | 2017-03-28 00:00:00 5808.186 5816.322 5800.713 5785.443 4070463900 47140313312 1541 | 2017-03-29 00:00:00 5803.038 5821.998 5787.024 5761.255 5908372300 59819339783 1542 | 2017-03-30 00:00:00 5773.986 5780.232 5700.16 5688.173 7019750400 68107080391 1543 | 2017-03-31 00:00:00 5698.122 5723.309 5718.764 5689.246 4958229000 51593556582 1544 | 2017-04-05 00:00:00 5751.185 5831.918 5831.595 5751.185 6327841800 68795143920 1545 | 2017-04-06 00:00:00 5840.111 5857.435 5848.012 5826.407 6424193300 64399815882 1546 | 2017-04-07 00:00:00 5849.393 5889.002 5879.985 5842.676 6314325200 70192835021 1547 | 2017-04-10 00:00:00 5882.008 5890.933 5872.703 5860.918 6162493900 72440396305 1548 | 2017-04-11 00:00:00 5876.725 5930.436 5928.224 5842.616 7892168600 90343619578 1549 | 2017-04-12 00:00:00 5936.22 5936.987 5891.337 5885.82 7753017300 83689209951 1550 | 2017-04-13 00:00:00 5882.127 5927.675 5919.264 5877.267 6811705700 70508060526 1551 | 2017-04-14 00:00:00 5917.83 5918.476 5840.099 5835.009 5630729200 60601361274 1552 | 2017-04-17 00:00:00 5825.381 5826.092 5781.743 5752.698 6850445800 70211349467 1553 | 2017-04-18 00:00:00 5774.982 5806.229 5745.993 5745.422 6152963600 64105800884 1554 | 2017-04-19 00:00:00 5720.872 5725.094 5677.309 5628.377 6622402700 67227985138 1555 | 2017-04-20 00:00:00 5670.877 5699.822 5683.674 5639.741 5863615700 63221348426 1556 | 2017-04-21 00:00:00 5677.846 5692.418 5633.321 5628.152 4903735900 50926647973 1557 | 2017-04-24 00:00:00 5619.932 5619.932 5491.721 5489.831 5172006000 51590289157 1558 | 2017-04-25 00:00:00 5491.257 5545.17 5511.957 5479.697 5012281700 50481651521 1559 | 2017-04-26 00:00:00 5510.472 5546.185 5535.479 5509.289 5284918900 56292797621 1560 | 2017-04-27 00:00:00 5524.253 5558.823 5547.815 5428.88 6940099900 71102539328 1561 | 2017-04-28 00:00:00 5530.33 5560.027 5559.618 5525.734 4985923200 51865758225 1562 | 2017-05-02 00:00:00 5542.228 5548.064 5543.375 5520.093 5210583200 53893785391 1563 | 2017-05-03 00:00:00 5531.977 5545.386 5517.599 5500.083 5035242900 52619249289 1564 | 2017-05-04 00:00:00 5501.378 5542.974 5496.151 5472.857 5564117400 56737003278 1565 | 2017-05-05 00:00:00 5475.796 5481.757 5408.704 5407.279 4669220100 49336031189 1566 | 2017-05-08 00:00:00 5396.457 5398.24 5301.102 5300.525 4462602800 45184966656 1567 | 2017-05-09 00:00:00 5286.917 5335.53 5334.014 5261.332 3615295100 37504971992 1568 | 2017-05-10 00:00:00 5334.001 5353.273 5225.296 5224.567 4180516400 41806254712 1569 | 2017-05-11 00:00:00 5200.709 5217.446 5211.361 5090.233 4994175300 47554852366 1570 | 2017-05-12 00:00:00 5200.773 5238.999 5215.769 5174.506 4234866800 40489467579 1571 | 2017-05-15 00:00:00 5225.509 5249.496 5235.826 5225.509 3516365700 37114901690 1572 | 2017-05-16 00:00:00 5225.197 5333.615 5333.19 5193.21 5292203100 51890055364 1573 | 2017-05-17 00:00:00 5328.624 5369.893 5347.873 5325.099 5372424700 53884828382 1574 | 2017-05-18 00:00:00 5305.903 5348.207 5308.451 5291.425 4537971500 46703134838 1575 | 2017-05-19 00:00:00 5303.036 5318.989 5311.53 5282.478 4061174700 41308950098 1576 | 2017-05-22 00:00:00 5298.991 5316.129 5231.915 5216.924 4557351600 45175215136 1577 | 2017-05-23 00:00:00 5223.531 5226.165 5115.279 5111.081 4647489600 47127708361 1578 | 2017-05-24 00:00:00 5093.322 5142.979 5142.198 5034.74 3904614200 39312230432 1579 | 2017-05-25 00:00:00 5133.467 5197.02 5191.774 5091.192 4493524100 44836643403 1580 | 2017-05-26 00:00:00 5185.097 5211.553 5180.979 5178.659 3846532800 40209720425 1581 | 2017-05-31 00:00:00 5225.845 5245.164 5170.31 5166.693 3580932700 38358002584 1582 | 2017-06-01 00:00:00 5161.16 5162.249 5077.995 5075.905 3927733900 39387729769 1583 | 2017-06-02 00:00:00 5062.928 5135.361 5129.453 5037.242 3822853600 37932723116 1584 | 2017-06-05 00:00:00 5133.553 5173.946 5164.797 5133.553 3434423200 34403950229 1585 | 2017-06-06 00:00:00 5157.34 5193.813 5193.092 5147.834 3314061900 32622667692 1586 | 2017-06-07 00:00:00 5190.354 5293.288 5293.093 5187.871 5235781900 52733966265 1587 | 2017-06-08 00:00:00 5289.412 5314.766 5304.496 5284.119 4288591100 45992992381 1588 | 2017-06-09 00:00:00 5298.907 5316.482 5312.785 5282.223 3999225900 42069432824 1589 | -------------------------------------------------------------------------------- /feature.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright 2017 The Xiaoyu Fang. All Rights Reserved. 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # ============================================================================== 16 | 17 | import os 18 | from rawdata import RawData, read_sample_data 19 | from dataset import DataSet 20 | from chart import extract_feature 21 | import numpy 22 | import pickle 23 | 24 | 25 | def extract_from_file(filepath, output_prefix, window=30): 26 | days_for_test = 700 27 | # input_shape = [30, 61] # [length of time series, length of feature] 28 | # input_shape[0] 29 | fp = open("%s_feature" % output_prefix, "w") 30 | # lp = open("%s_label.%s" % (output_prefix, window), "w") 31 | # fpt = open("%s_feature.test.%s" % (output_prefix, window), "w") 32 | # lpt = open("%s_label.test.%s" % (output_prefix, window), "w") 33 | 34 | selector = ["ROCP", "OROCP", "HROCP", "LROCP", "MACD", "RSI", "VROCP", "BOLL", "MA", "VMA", "PRICE_VOLUME", "CROSS_PRICE"] 35 | 36 | raw_data = read_sample_data(filepath) 37 | moving_features, moving_labels = extract_feature(raw_data=raw_data, selector=selector, window=window, 38 | with_label=True, flatten=False) 39 | print("feature extraction done, start writing to file...") 40 | train_end_test_begin = moving_features.shape[0] - days_for_test 41 | if train_end_test_begin < 0: 42 | train_end_test_begin = 0 43 | train_set = {"code": output_prefix, "feature": moving_features[:train_end_test_begin], 44 | "label": moving_labels[:train_end_test_begin]} 45 | pickle.dump(train_set, fp, 2) 46 | test_set = {"code": output_prefix, "feature": moving_features[train_end_test_begin:], 47 | "label": moving_labels[train_end_test_begin:]} 48 | pickle.dump(test_set, fp, 2) 49 | ''' 50 | for i in range(0, train_end_test_begin): 51 | for item in moving_features[i]: 52 | fp.write("%s\t" % item) 53 | fp.write("\n") 54 | for i in range(0, train_end_test_begin): 55 | lp.write("%s\n" % moving_labels[i]) 56 | # test set 57 | for i in range(train_end_test_begin, moving_features.shape[0]): 58 | for item in moving_features[i]: 59 | fpt.write("%s\t" % item) 60 | fpt.write("\n") 61 | for i in range(train_end_test_begin, moving_features.shape[0]): 62 | lpt.write("%s\n" % moving_labels[i]) 63 | ''' 64 | fp.close() 65 | # lp.close() 66 | # fpt.close() 67 | # lpt.close() 68 | 69 | 70 | if __name__ == '__main__': 71 | days_for_test = 700 72 | # input_shape = [30, 61] # [length of time series, length of feature] 73 | window = 30 # input_shape[0] 74 | fp = open("ultimate_feature", "wb") 75 | # lp = open("ultimate_label.%s" % window, "wb") 76 | # fpt = open("ultimate_feature.test.%s" % window, "wb") 77 | # lpt = open("ultimate_label.test.%s" % window, "wb") 78 | 79 | selector = ["ROCP", "OROCP", "HROCP", "LROCP", "MACD", "RSI", "VROCP", "BOLL", "MA", "VMA", "PRICE_VOLUME", "CROSS_PRICE"] 80 | dataset_dir = "./dataset" 81 | for filename in os.listdir(dataset_dir): 82 | #if filename != '000001.csv': 83 | # continue 84 | print("processing file: " + filename) 85 | filepath = dataset_dir + "/" + filename 86 | raw_data = read_sample_data(filepath) 87 | moving_features, moving_labels = extract_feature(raw_data=raw_data, selector=selector, window=window, 88 | with_label=True, flatten=False) 89 | print("feature extraction done, start writing to file...") 90 | train_end_test_begin = moving_features.shape[0] - days_for_test 91 | if train_end_test_begin < 0: 92 | train_end_test_begin = 0 93 | 94 | train_set = {"code": filename[:filename.rfind(".")], "feature": moving_features[:train_end_test_begin], 95 | "label": moving_labels[:train_end_test_begin]} 96 | pickle.dump(train_set, fp, 2) 97 | test_set = {"code": filename[:filename.rfind(".")], "feature": moving_features[train_end_test_begin:], 98 | "label": moving_labels[train_end_test_begin:]} 99 | pickle.dump(test_set, fp, 2) 100 | ''' 101 | for i in range(0, train_end_test_begin): 102 | for item in moving_features[i]: 103 | fp.write("%s\t" % item) 104 | fp.write("\n") 105 | for i in range(0, train_end_test_begin): 106 | lp.write("%s\n" % moving_labels[i]) 107 | # test set 108 | for i in range(train_end_test_begin, moving_features.shape[0]): 109 | for item in moving_features[i]: 110 | fpt.write("%s\t" % item) 111 | fpt.write("\n") 112 | for i in range(train_end_test_begin, moving_features.shape[0]): 113 | lpt.write("%s\n" % moving_labels[i]) 114 | ''' 115 | fp.close() 116 | # lp.close() 117 | # fpt.close() 118 | # lpt.close() 119 | -------------------------------------------------------------------------------- /gossip.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright 2017 The Xiaoyu Fang. All Rights Reserved. 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # ============================================================================== 16 | import sys 17 | import numpy 18 | from tensorflow.keras.callbacks import TensorBoard, ModelCheckpoint 19 | 20 | from windpuller import WindPuller, risk_estimation, pairwise_logit 21 | from dataset import DataSet 22 | from feature import extract_from_file 23 | import pickle 24 | 25 | 26 | def read_ultimate(path, input_shape): 27 | ultimate_features = numpy.loadtxt(path + "ultimate_feature." + str(input_shape[0])) 28 | ultimate_features = numpy.reshape(ultimate_features, [-1, input_shape[0], input_shape[1]]) 29 | ultimate_labels = numpy.loadtxt(path + "ultimate_label." + str(input_shape[0])) 30 | # ultimate_labels = numpy.reshape(ultimate_labels, [-1, 1]) 31 | train_set = DataSet(ultimate_features, ultimate_labels) 32 | test_features = numpy.loadtxt(path + "ultimate_feature.test." + str(input_shape[0])) 33 | test_features = numpy.reshape(test_features, [-1, input_shape[0], input_shape[1]]) 34 | test_labels = numpy.loadtxt(path + "ultimate_label.test." + str(input_shape[0])) 35 | # test_labels = numpy.reshape(test_labels, [-1, 1]) 36 | test_set = DataSet(test_features, test_labels) 37 | return train_set, test_set 38 | 39 | 40 | ''' 41 | def read_feature(path, input_shape, prefix): 42 | ultimate_features = numpy.loadtxt("%s/%s_feature.%s" % (path, prefix, str(input_shape[0]))) 43 | ultimate_features = numpy.reshape(ultimate_features, [-1, input_shape[0], input_shape[1]]) 44 | ultimate_labels = numpy.loadtxt("%s/%s_label.%s" % (path, prefix, str(input_shape[0]))) 45 | # ultimate_labels = numpy.reshape(ultimate_labels, [-1, 1]) 46 | train_set = DataSet(ultimate_features, ultimate_labels) 47 | test_features = numpy.loadtxt("%s/%s_feature.test.%s" % (path, prefix, str(input_shape[0]))) 48 | test_features = numpy.reshape(test_features, [-1, input_shape[0], input_shape[1]]) 49 | test_labels = numpy.loadtxt("%s/%s_label.test.%s" % (path, prefix, str(input_shape[0]))) 50 | # test_labels = numpy.reshape(test_labels, [-1, 1]) 51 | test_set = DataSet(test_features, test_labels) 52 | return train_set, test_set 53 | ''' 54 | 55 | 56 | def read_feature(path): 57 | train_features = [] 58 | train_labels = [] 59 | test_features = [] 60 | test_labels = [] 61 | with open(path, "rb") as fp: 62 | while True: 63 | try: 64 | train_map = pickle.load(fp) 65 | test_map = pickle.load(fp) 66 | train_features.extend(train_map["feature"]) 67 | train_labels.extend(train_map["label"]) 68 | test_features.extend(test_map["feature"]) 69 | test_labels.extend(test_map["label"]) 70 | print("read %s successfully. " % train_map["code"]) 71 | except Exception as e: 72 | break 73 | return DataSet(numpy.transpose(numpy.asarray(train_features), [0, 2, 1]), numpy.asarray(train_labels)), \ 74 | DataSet(numpy.transpose(numpy.asarray(test_features), [0, 2, 1]), numpy.asarray(test_labels)) 75 | 76 | 77 | def read_separate_feature(path): 78 | train_sets = {} 79 | test_sets = {} 80 | with open(path, "rb") as fp: 81 | while True: 82 | try: 83 | train_map = pickle.load(fp) 84 | test_map = pickle.load(fp) 85 | train_sets[train_map["code"]] = DataSet(numpy.transpose(numpy.asarray(train_map["feature"]), [0, 2, 1]), 86 | numpy.asarray(train_map["label"])) 87 | test_sets[test_map["code"]] = DataSet(numpy.transpose(numpy.asarray(test_map["feature"]), [0, 2, 1]), 88 | numpy.asarray(test_map["label"])) 89 | print("read %s successfully. " % train_map["code"]) 90 | except Exception as e: 91 | break 92 | return train_sets, test_sets 93 | 94 | 95 | def calculate_cumulative_return(labels, pred): 96 | cr = [] 97 | if len(labels) <= 0: 98 | return cr 99 | cr.append(1. * (1. + labels[0] * pred[0])) 100 | for l in range(1, len(labels)): 101 | cr.append(cr[l - 1] * (1 + labels[l] * pred[l])) 102 | for i in range(len(cr)): 103 | cr[i] = cr[i] - 1 104 | return cr 105 | 106 | 107 | def turnover(pred): 108 | t = 0.0 109 | for l in range(1, len(pred)): 110 | t = t + abs(pred[l] - pred[l - 1]) 111 | return t 112 | 113 | 114 | def evaluate_model(model_path, code, input_shape=[30, 61]): 115 | extract_from_file("dataset/%s.csv" % code, code) 116 | train_set, test_set = read_feature("./%s_feature" % code) 117 | saved_wp = WindPuller.load_model(model_path) 118 | scores = saved_wp.evaluate(test_set.images, test_set.labels, verbose=0) 119 | print('Test loss:', scores[0]) 120 | print('test accuracy:', scores[1]) 121 | pred = saved_wp.predict(test_set.images, 1024) 122 | cr = calculate_cumulative_return(test_set.labels, pred) 123 | print("changeRate\tpositionAdvice\tprincipal\tcumulativeReturn") 124 | for i in range(len(test_set.labels)): 125 | print(str(test_set.labels[i]) + "\t" + str(pred[i]) + "\t" + str(cr[i] + 1.) + "\t" + str(cr[i])) 126 | print("turnover: %s " % turnover(pred)) 127 | 128 | 129 | def make_model(nb_epochs=100, batch_size=128, lr=0.01, n_layers=1, n_hidden=14, rate_dropout=0.3, loss=risk_estimation): 130 | train_set, test_set = read_feature("./ultimate_feature") # read_ultimate("./", input_shape) 131 | input_shape = [train_set.images.shape[1], train_set.images.shape[2]] 132 | model_path = 'model.%s' % input_shape[0] 133 | wp = WindPuller(input_shape=input_shape, lr=lr, n_layers=n_layers, n_hidden=n_hidden, rate_dropout=rate_dropout, 134 | loss=loss) 135 | wp.build_model() 136 | wp.fit(train_set.images, train_set.labels, batch_size=batch_size, 137 | nb_epoch=nb_epochs, shuffle=True, verbose=1, 138 | validation_data=(test_set.images, test_set.labels), 139 | callbacks=[TensorBoard(histogram_freq=10), 140 | ModelCheckpoint(filepath=model_path + '.best.checkpoints', save_best_only=True, mode='min')]) 141 | scores = wp.evaluate(test_set.images, test_set.labels, verbose=0) 142 | print('Test loss:', scores[0]) 143 | print('Test accuracy:', scores[1]) 144 | 145 | wp.model.save(model_path) 146 | saved_wp = wp.load_model(model_path) 147 | scores = saved_wp.evaluate(test_set.images, test_set.labels, verbose=0) 148 | print('Test loss:', scores[0]) 149 | print('test accuracy:', scores[1]) 150 | pred = saved_wp.predict(test_set.images, 1024) 151 | # print(pred) 152 | # print(test_set.labels) 153 | pred = numpy.reshape(pred, [-1]) 154 | result = numpy.array([pred, test_set.labels]).transpose() 155 | with open('output.' + str(input_shape[0]), 'w') as fp: 156 | for i in range(result.shape[0]): 157 | for val in result[i]: 158 | fp.write(str(val) + "\t") 159 | fp.write('\n') 160 | 161 | 162 | def make_separate_model(nb_epochs=100, batch_size=128, lr=0.01, n_layers=1, n_hidden=14, rate_dropout=0.3, input_shape=[30, 73]): 163 | train_sets, test_sets = read_separate_feature("./ultimate_feature") 164 | 165 | wp = WindPuller(input_shape=input_shape, lr=lr, n_layers=n_layers, n_hidden=n_hidden, rate_dropout=rate_dropout) 166 | wp.build_model() 167 | for code, train_set in train_sets.items(): 168 | test_set = test_sets[code] 169 | input_shape = [train_set.images.shape[1], train_set.images.shape[2]] 170 | print(input_shape) 171 | model_path = 'model.%s' % code 172 | 173 | print(train_set.images.shape) 174 | wp.fit(train_set.images, train_set.labels, batch_size=batch_size, 175 | nb_epoch=nb_epochs, shuffle=False, verbose=1, 176 | validation_data=(test_set.images, test_set.labels), 177 | callbacks=[TensorBoard(histogram_freq=1000), 178 | ModelCheckpoint(filepath=model_path + '.best.checkpoints', save_best_only=True, mode='min')]) 179 | scores = wp.evaluate(test_set.images, test_set.labels, verbose=0) 180 | print('Test loss:', scores[0]) 181 | print('Test accuracy:', scores[1]) 182 | 183 | wp.model.save(model_path) 184 | saved_wp = wp.load_model(model_path) 185 | scores = saved_wp.evaluate(test_set.images, test_set.labels, verbose=0) 186 | print('Test loss:', scores[0]) 187 | print('test accuracy:', scores[1]) 188 | pred = saved_wp.predict(test_set.images, 1024) 189 | # print(pred) 190 | # print(test_set.labels) 191 | pred = numpy.reshape(pred, [-1]) 192 | result = numpy.array([pred, test_set.labels]).transpose() 193 | with open('output.' + str(input_shape[0]), 'w') as fp: 194 | for i in range(result.shape[0]): 195 | for val in result[i]: 196 | fp.write(str(val) + "\t") 197 | fp.write('\n') 198 | 199 | 200 | if __name__ == '__main__': 201 | operation = "train" 202 | # input_shape = [30, 102] 203 | if len(sys.argv) > 1: 204 | operation = sys.argv[1] 205 | if operation == "train": 206 | # make_separate_model(10000, 512, lr=0.0005, n_hidden=14, rate_dropout=0.5, input_shape=[30, 73]) 207 | make_model(30000, 512, lr=0.0004, n_hidden=14, rate_dropout=0.5) 208 | # make_model(30000, 512, lr=0.01, n_hidden=64, rate_dropout=0.5, loss=pairwise_logit) 209 | elif operation == "predict": 210 | evaluate_model("model.30.best.checkpoints", "000001") 211 | else: 212 | print("Usage: gossip.py [train | predict]") 213 | -------------------------------------------------------------------------------- /rawdata.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright 2017 The Xiaoyu Fang. All Rights Reserved. 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # ============================================================================== 16 | 17 | 18 | class RawData(object): 19 | def __init__(self, date, open, high, close, low, volume): 20 | self.date = date 21 | self.open = open 22 | self.high = high 23 | self.close = close 24 | self.low = low 25 | self.volume = volume 26 | 27 | 28 | def read_sample_data(path): 29 | print("reading histories...") 30 | raw_data = [] 31 | separator = "\t" 32 | with open(path, "r") as fp: 33 | for line in fp: 34 | if line.startswith("date"): # ignore label line 35 | continue 36 | l = line[:-1] 37 | fields = l.split(separator) 38 | if len(fields) > 5: 39 | raw_data.append(RawData(fields[0], float(fields[1]), float(fields[2]), float(fields[3]), float(fields[4]), float(fields[5]))) 40 | sorted_data = sorted(raw_data, key=lambda x: x.date) 41 | print("got %s records." % len(sorted_data)) 42 | return sorted_data 43 | -------------------------------------------------------------------------------- /rawdata.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/happynoom/DeepTrade/11aa1350bbea240d998b3884d78ab90e2f342bee/rawdata.pyc -------------------------------------------------------------------------------- /renormalization.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | from tensorflow.python.keras.engine.base_layer import Layer 3 | from tensorflow.python.keras.engine.input_spec import InputSpec 4 | from tensorflow.keras import initializers, regularizers 5 | from tensorflow.keras import backend as K 6 | from tensorflow.python.keras.utils.generic_utils import get_custom_objects 7 | 8 | import numpy as np 9 | 10 | 11 | class BatchRenormalization(Layer): 12 | """Batch renormalization layer (Sergey Ioffe, 2017). Source code original 13 | link: https://github.com/titu1994/BatchRenormalization 14 | Normalize the activations of the previous layer at each batch, 15 | i.e. applies a transformation that maintains the mean activation 16 | close to 0 and the activation standard deviation close to 1. 17 | # Arguments 18 | epsilon: small float > 0. Fuzz parameter. 19 | Theano expects epsilon >= 1e-5. 20 | mode: integer, 0, 1 or 2. 21 | - 0: feature-wise normalization. 22 | Each feature map in the input will 23 | be normalized separately. The axis on which 24 | to normalize is specified by the `axis` argument. 25 | Note that if the input is a 4D image tensor 26 | using Theano conventions (samples, channels, rows, cols) 27 | then you should set `axis` to `1` to normalize along 28 | the channels axis. 29 | During training and testing we use running averages 30 | computed during the training phase to normalize the data 31 | - 1: sample-wise normalization. This mode assumes a 2D input. 32 | - 2: feature-wise normalization, like mode 0, but 33 | using per-batch statistics to normalize the data during both 34 | testing and training. 35 | axis: integer, axis along which to normalize in mode 0. For instance, 36 | if your input tensor has shape (samples, channels, rows, cols), 37 | set axis to 1 to normalize per feature map (channels axis). 38 | momentum: momentum in the computation of the 39 | exponential average of the mean and standard deviation 40 | of the data, for feature-wise normalization. 41 | r_max_value: Upper limit of the value of r_max. 42 | d_max_value: Upper limit of the value of d_max. 43 | t_delta: At each iteration, increment the value of t by t_delta. 44 | weights: Initialization weights. 45 | List of 2 Numpy arrays, with shapes: 46 | `[(input_shape,), (input_shape,)]` 47 | Note that the order of this list is [gamma, beta, mean, std] 48 | beta_init: name of initialization function for shift parameter 49 | (see [initializers](../initializers.md)), or alternatively, 50 | Theano/TensorFlow function to use for weights initialization. 51 | This parameter is only relevant if you don't pass a `weights` argument. 52 | gamma_init: name of initialization function for scale parameter (see 53 | [initializers](../initializers.md)), or alternatively, 54 | Theano/TensorFlow function to use for weights initialization. 55 | This parameter is only relevant if you don't pass a `weights` argument. 56 | gamma_regularizer: instance of [WeightRegularizer](../regularizers.md) 57 | (eg. L1 or L2 regularization), applied to the gamma vector. 58 | beta_regularizer: instance of [WeightRegularizer](../regularizers.md), 59 | applied to the beta vector. 60 | # Input shape 61 | Arbitrary. Use the keyword argument `input_shape` 62 | (tuple of integers, does not include the samples axis) 63 | when using this layer as the first layer in a model. 64 | # Output shape 65 | Same shape as input. 66 | # References 67 | - [Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift](https://arxiv.org/abs/1502.03167) 68 | """ 69 | 70 | def __init__(self, epsilon=1e-3, mode=0, axis=-1, momentum=0.99, 71 | r_max_value=3., d_max_value=5., t_delta=1., weights=None, beta_init='zero', 72 | gamma_init='one', gamma_regularizer=None, beta_regularizer=None, 73 | **kwargs): 74 | self.supports_masking = True 75 | self.beta_init = initializers.get(beta_init) 76 | self.gamma_init = initializers.get(gamma_init) 77 | self.epsilon = epsilon 78 | self.mode = mode 79 | self.axis = axis 80 | self.momentum = momentum 81 | self.gamma_regularizer = regularizers.get(gamma_regularizer) 82 | self.beta_regularizer = regularizers.get(beta_regularizer) 83 | self.initial_weights = weights 84 | self.r_max_value = r_max_value 85 | self.d_max_value = d_max_value 86 | self.t_delta = t_delta 87 | if self.mode == 0: 88 | self.uses_learning_phase = True 89 | super(BatchRenormalization, self).__init__(**kwargs) 90 | 91 | def build(self, input_shape): 92 | self.input_spec = [InputSpec(shape=input_shape)] 93 | shape = (input_shape[self.axis],) 94 | 95 | self.gamma = self.add_weight(shape, 96 | initializer=self.gamma_init, 97 | regularizer=self.gamma_regularizer, 98 | name='{}_gamma'.format(self.name)) 99 | self.beta = self.add_weight(shape, 100 | initializer=self.beta_init, 101 | regularizer=self.beta_regularizer, 102 | name='{}_beta'.format(self.name)) 103 | self.running_mean = self.add_weight(shape, initializer='zero', 104 | name='{}_running_mean'.format(self.name), 105 | trainable=False) 106 | # Note: running_std actually holds the running variance, not the running std. 107 | self.running_std = self.add_weight(shape, initializer='one', 108 | name='{}_running_std'.format(self.name), 109 | trainable=False) 110 | 111 | self.r_max = K.variable(np.ones((1,)), name='{}_r_max'.format(self.name)) 112 | 113 | self.d_max = K.variable(np.zeros((1,)), name='{}_d_max'.format(self.name)) 114 | 115 | self.t = K.variable(np.zeros((1,)), name='{}_t'.format(self.name)) 116 | 117 | if self.initial_weights is not None: 118 | self.set_weights(self.initial_weights) 119 | del self.initial_weights 120 | self.built = True 121 | 122 | def call(self, x, mask=None): 123 | if self.mode == 0 or self.mode == 2: 124 | assert self.built, 'Layer must be built before being called' 125 | input_shape = K.int_shape(x) 126 | 127 | reduction_axes = list(range(len(input_shape))) 128 | del reduction_axes[self.axis] 129 | broadcast_shape = [1] * len(input_shape) 130 | broadcast_shape[self.axis] = input_shape[self.axis] 131 | 132 | # mean_batch, var_batch = K.moments(x, reduction_axes, shift=None, keep_dims=False) 133 | normed, mean_batch, var_batch = K.normalize_batch_in_training( 134 | x, self.gamma, self.beta, reduction_axes, 135 | epsilon=self.epsilon) 136 | 137 | std_batch = (K.sqrt(var_batch + self.epsilon)) 138 | 139 | r_max_value = K.get_value(self.r_max) 140 | r = std_batch / (K.sqrt(self.running_std + self.epsilon)) 141 | r = K.stop_gradient(K.clip(r, 1 / r_max_value, r_max_value)) 142 | 143 | d_max_value = K.get_value(self.d_max) 144 | d = (mean_batch - self.running_mean) / K.sqrt(self.running_std + self.epsilon) 145 | d = K.stop_gradient(K.clip(d, -d_max_value, d_max_value)) 146 | 147 | if sorted(reduction_axes) == range(K.ndim(x))[:-1]: 148 | x_normed_batch = (x - mean_batch) / std_batch 149 | x_normed = (x_normed_batch * r + d) * self.gamma + self.beta 150 | else: 151 | # need broadcasting 152 | broadcast_mean = K.reshape(mean_batch, broadcast_shape) 153 | broadcast_std = K.reshape(std_batch, broadcast_shape) 154 | broadcast_r = K.reshape(r, broadcast_shape) 155 | broadcast_d = K.reshape(d, broadcast_shape) 156 | broadcast_beta = K.reshape(self.beta, broadcast_shape) 157 | broadcast_gamma = K.reshape(self.gamma, broadcast_shape) 158 | 159 | x_normed_batch = (x - broadcast_mean) / broadcast_std 160 | x_normed = (x_normed_batch * broadcast_r + broadcast_d) * broadcast_gamma + broadcast_beta 161 | 162 | # explicit update to moving mean and standard deviation 163 | self.add_update([K.moving_average_update(self.running_mean, mean_batch, self.momentum), 164 | K.moving_average_update(self.running_std, std_batch ** 2, self.momentum)], x) 165 | 166 | # update r_max and d_max 167 | t_val = K.get_value(self.t) 168 | r_val = self.r_max_value / (1 + (self.r_max_value - 1) * np.exp(-t_val)) 169 | d_val = self.d_max_value / (1 + ((self.d_max_value / 1e-3) - 1) * np.exp(-(2 * t_val))) 170 | t_val += float(self.t_delta) 171 | 172 | self.add_update([K.update(self.r_max, r_val), 173 | K.update(self.d_max, d_val), 174 | K.update(self.t, t_val)], x) 175 | 176 | if self.mode == 0: 177 | if sorted(reduction_axes) == range(K.ndim(x))[:-1]: 178 | x_normed_running = K.batch_normalization( 179 | x, self.running_mean, self.running_std, 180 | self.beta, self.gamma, 181 | epsilon=self.epsilon) 182 | else: 183 | # need broadcasting 184 | broadcast_running_mean = K.reshape(self.running_mean, broadcast_shape) 185 | broadcast_running_std = K.reshape(self.running_std, broadcast_shape) 186 | broadcast_beta = K.reshape(self.beta, broadcast_shape) 187 | broadcast_gamma = K.reshape(self.gamma, broadcast_shape) 188 | x_normed_running = K.batch_normalization( 189 | x, broadcast_running_mean, broadcast_running_std, 190 | broadcast_beta, broadcast_gamma, 191 | epsilon=self.epsilon) 192 | 193 | # pick the normalized form of x corresponding to the training phase 194 | # for batch renormalization, inference time remains same as batchnorm 195 | x_normed = K.in_train_phase(x_normed, x_normed_running) 196 | 197 | elif self.mode == 1: 198 | # sample-wise normalization 199 | m = K.mean(x, axis=self.axis, keepdims=True) 200 | std = K.sqrt(K.var(x, axis=self.axis, keepdims=True) + self.epsilon) 201 | x_normed_batch = (x - m) / (std + self.epsilon) 202 | 203 | r_max_value = K.get_value(self.r_max) 204 | r = std / (self.running_std + self.epsilon) 205 | r = K.stop_gradient(K.clip(r, 1 / r_max_value, r_max_value)) 206 | 207 | d_max_value = K.get_value(self.d_max) 208 | d = (m - self.running_mean) / (self.running_std + self.epsilon) 209 | d = K.stop_gradient(K.clip(d, -d_max_value, d_max_value)) 210 | 211 | x_normed = ((x_normed_batch * r) + d) * self.gamma + self.beta 212 | 213 | # update r_max and d_max 214 | t_val = K.get_value(self.t) 215 | r_val = self.r_max_value / (1 + (self.r_max_value - 1) * np.exp(-t_val)) 216 | d_val = self.d_max_value / (1 + ((self.d_max_value / 1e-3) - 1) * np.exp(-(2 * t_val))) 217 | t_val += float(self.t_delta) 218 | 219 | self.add_update([K.update(self.r_max, r_val), 220 | K.update(self.d_max, d_val), 221 | K.update(self.t, t_val)], x) 222 | 223 | return x_normed 224 | 225 | def get_config(self): 226 | config = {'epsilon': self.epsilon, 227 | 'mode': self.mode, 228 | 'axis': self.axis, 229 | 'gamma_regularizer': regularizers.serialize(self.gamma_regularizer), 230 | 'beta_regularizer': regularizers.serialize(self.beta_regularizer), 231 | 'momentum': self.momentum, 232 | 'r_max_value': self.r_max_value, 233 | 'd_max_value': self.d_max_value, 234 | 't_delta': self.t_delta} 235 | base_config = super(BatchRenormalization, self).get_config() 236 | return dict(list(base_config.items()) + list(config.items())) 237 | 238 | get_custom_objects().update({'BatchRenormalization': BatchRenormalization}) 239 | -------------------------------------------------------------------------------- /windpuller.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright 2017 The Xiaoyu Fang. All Rights Reserved. 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # ============================================================================== 16 | from tensorflow.keras.layers import Dense, LSTM, Activation, BatchNormalization, Dropout, LocallyConnected1D, \ 17 | GaussianNoise 18 | from tensorflow.keras import initializers 19 | from activations import ReLU 20 | from activations import BiReLU 21 | 22 | from renormalization import BatchRenormalization 23 | from tensorflow.keras.models import Sequential 24 | from tensorflow.keras.optimizers import SGD, RMSprop 25 | from tensorflow.keras.models import load_model 26 | from tensorflow.keras.initializers import Constant 27 | from tensorflow.keras import regularizers 28 | import tensorflow.keras.backend as K 29 | 30 | 31 | def risk_estimation(y_true, y_pred): 32 | return -100. * K.mean(y_true * y_pred) 33 | 34 | 35 | def pairwise_logit(y_true, y_pred): 36 | loss_mat = K.log(1 + K.exp(K.sign(K.transpose(y_true) - y_true) * (y_pred - K.transpose(y_pred)))) 37 | return K.mean(K.mean(loss_mat)) 38 | 39 | 40 | class WindPuller(object): 41 | def __init__(self, input_shape = None, lr=0.01, n_layers=2, n_hidden=8, rate_dropout=0.2, loss=risk_estimation): 42 | self.input_shape = input_shape 43 | self.lr = lr 44 | self.n_layers = n_layers 45 | self.n_hidden = n_hidden 46 | self.rate_dropout = rate_dropout 47 | self.loss = loss 48 | self.model = None 49 | 50 | def build_model(self): 51 | print("initializing..., learing rate %s, n_layers %s, n_hidden %s, dropout rate %s." % ( 52 | self.lr, self.n_layers, self.n_hidden, self.rate_dropout)) 53 | self.model = Sequential() 54 | self.model.add(GaussianNoise(stddev=0.01, input_shape=self.input_shape)) 55 | # self.model.add(LocallyConnected1D(self.input_shape[1] * 2, 3)) 56 | # self.model.add(Dropout(rate=0.5)) 57 | for i in range(0, self.n_layers - 1): 58 | self.model.add(LSTM(self.n_hidden * 4, return_sequences=True, activation='tanh', 59 | recurrent_activation='hard_sigmoid', kernel_initializer='glorot_uniform', 60 | recurrent_initializer='orthogonal', bias_initializer='zeros', 61 | dropout=self.rate_dropout, recurrent_dropout=self.rate_dropout)) 62 | self.model.add(LSTM(self.n_hidden, return_sequences=False, activation='tanh', 63 | recurrent_activation='hard_sigmoid', kernel_initializer='glorot_uniform', 64 | recurrent_initializer='orthogonal', bias_initializer='zeros', 65 | dropout=self.rate_dropout, recurrent_dropout=self.rate_dropout)) 66 | self.model.add(Dense(1, kernel_initializer=initializers.glorot_uniform())) 67 | # self.model.add(BatchNormalization(axis=-1, moving_mean_initializer=Constant(value=0.5), 68 | # moving_variance_initializer=Constant(value=0.25))) 69 | if self.loss == risk_estimation: 70 | self.model.add(BatchNormalization(axis=-1, beta_initializer='ones')) 71 | self.model.add(ReLU(alpha=0.0, max_value=1.0)) 72 | opt = RMSprop(lr=self.lr) 73 | self.model.compile(loss=self.loss, 74 | optimizer=opt, 75 | metrics=['accuracy']) 76 | 77 | def fit(self, x, y, batch_size=32, nb_epoch=100, verbose=1, callbacks=None, 78 | validation_split=0., validation_data=None, shuffle=True, 79 | class_weight=None, sample_weight=None, initial_epoch=0, **kwargs): 80 | self.model.fit(x, y, batch_size, nb_epoch, verbose, callbacks, 81 | validation_split, validation_data, shuffle, class_weight, sample_weight, 82 | initial_epoch, **kwargs) 83 | 84 | def save(self, path): 85 | self.model.save(path) 86 | 87 | @staticmethod 88 | def load_model(path): 89 | wp = WindPuller() 90 | wp.model = load_model(path, custom_objects={'risk_estimation': risk_estimation}) 91 | return wp 92 | 93 | def evaluate(self, x, y, batch_size=32, verbose=1, 94 | sample_weight=None, **kwargs): 95 | return self.model.evaluate(x, y, batch_size, verbose, 96 | sample_weight) 97 | 98 | def predict(self, x, batch_size=32, verbose=0): 99 | return self.model.predict(x, batch_size, verbose) 100 | -------------------------------------------------------------------------------- /wx_code.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/happynoom/DeepTrade/11aa1350bbea240d998b3884d78ab90e2f342bee/wx_code.jpg -------------------------------------------------------------------------------- /zfb_code.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/happynoom/DeepTrade/11aa1350bbea240d998b3884d78ab90e2f342bee/zfb_code.jpg --------------------------------------------------------------------------------