From 2bf9c95ba59a1f0b691e3d779793d0a217ccd8b6 Mon Sep 17 00:00:00 2001 From: Siraj Date: Fri, 24 Feb 2017 18:31:14 -0800 Subject: [PATCH] Add files via upload --- lstm.py | 109 ++ sp500.csv | 4171 +++++++++++++++++++++++++++++++++++++++++++++++ stockdemo.ipynb | 175 ++ 3 files changed, 4455 insertions(+) create mode 100644 lstm.py create mode 100644 sp500.csv create mode 100644 stockdemo.ipynb diff --git a/lstm.py b/lstm.py new file mode 100644 index 0000000..a45d65e --- /dev/null +++ b/lstm.py @@ -0,0 +1,109 @@ +import time +import warnings +import numpy as np +from numpy import newaxis +from keras.layers.core import Dense, Activation, Dropout +from keras.layers.recurrent import LSTM +from keras.models import Sequential +import matplotlib.pyplot as plt + + +warnings.filterwarnings("ignore") + +def plot_results_multiple(predicted_data, true_data, prediction_len): + fig = plt.figure(facecolor='white') + ax = fig.add_subplot(111) + ax.plot(true_data, label='True Data') + print 'yo' + #Pad the list of predictions to shift it in the graph to it's correct start + for i, data in enumerate(predicted_data): + padding = [None for p in xrange(i * prediction_len)] + plt.plot(padding + data, label='Prediction') + plt.legend() + plt.show() + +def load_data(filename, seq_len, normalise_window): + f = open(filename, 'rb').read() + data = f.split('\n') + + sequence_length = seq_len + 1 + result = [] + for index in range(len(data) - sequence_length): + result.append(data[index: index + sequence_length]) + + if normalise_window: + result = normalise_windows(result) + + result = np.array(result) + + row = round(0.9 * result.shape[0]) + train = result[:int(row), :] + np.random.shuffle(train) + x_train = train[:, :-1] + y_train = train[:, -1] + x_test = result[int(row):, :-1] + y_test = result[int(row):, -1] + + x_train = np.reshape(x_train, (x_train.shape[0], x_train.shape[1], 1)) + x_test = np.reshape(x_test, (x_test.shape[0], x_test.shape[1], 1)) + + return [x_train, y_train, x_test, y_test] + +def normalise_windows(window_data): + normalised_data = [] + for window in window_data: + normalised_window = [((float(p) / float(window[0])) - 1) for p in window] + normalised_data.append(normalised_window) + return normalised_data + +def build_model(layers): + model = Sequential() + + model.add(LSTM( + input_dim=layers[0], + output_dim=layers[1], + return_sequences=True)) + model.add(Dropout(0.2)) + + model.add(LSTM( + layers[2], + return_sequences=False)) + model.add(Dropout(0.2)) + + model.add(Dense( + output_dim=layers[3])) + model.add(Activation("linear")) + + start = time.time() + model.compile(loss="mse", optimizer="rmsprop") + print "Compilation Time : ", time.time() - start + return model + +def predict_point_by_point(model, data): + #Predict each timestep given the last sequence of true data, in effect only predicting 1 step ahead each time + predicted = model.predict(data) + predicted = np.reshape(predicted, (predicted.size,)) + return predicted + +def predict_sequence_full(model, data, window_size): + #Shift the window by 1 new prediction each time, re-run predictions on new window + curr_frame = data[0] + predicted = [] + for i in xrange(len(data)): + predicted.append(model.predict(curr_frame[newaxis,:,:])[0,0]) + curr_frame = curr_frame[1:] + curr_frame = np.insert(curr_frame, [window_size-1], predicted[-1], axis=0) + return predicted + +def predict_sequences_multiple(model, data, window_size, prediction_len): + #Predict sequence of 50 steps before shifting prediction run forward by 50 steps + prediction_seqs = [] + for i in xrange(len(data)/prediction_len): + curr_frame = data[i*prediction_len] + predicted = [] + for j in xrange(prediction_len): + predicted.append(model.predict(curr_frame[newaxis,:,:])[0,0]) + curr_frame = curr_frame[1:] + curr_frame = np.insert(curr_frame, [window_size-1], predicted[-1], axis=0) + prediction_seqs.append(predicted) + return prediction_seqs \ No newline at end of file diff --git a/sp500.csv b/sp500.csv new file mode 100644 index 0000000..f770a07 --- /dev/null +++ b/sp500.csv @@ -0,0 +1,4171 @@ +1455.219971 +1399.420044 +1402.109985 +1403.449951 +1441.469971 +1457.599976 +1438.560059 +1432.25 +1449.680054 +1465.150024 +1455.140015 +1455.900024 +1445.569946 +1441.359985 +1401.530029 +1410.030029 +1404.089966 +1398.560059 +1360.160034 +1394.459961 +1409.280029 +1409.119995 +1424.969971 +1424.369995 +1424.23999 +1441.719971 +1411.709961 +1416.829956 +1387.119995 +1389.939941 +1402.050049 +1387.670044 +1388.26001 +1346.089966 +1352.170044 +1360.689941 +1353.430054 +1333.359985 +1348.050049 +1366.420044 +1379.189941 +1381.76001 +1409.170044 +1391.280029 +1355.619995 +1366.699951 +1401.689941 +1395.069946 +1383.619995 +1359.150024 +1392.140015 +1458.469971 +1464.469971 +1456.630005 +1493.869995 +1500.640015 +1527.349976 +1527.459961 +1523.859985 +1507.72998 +1508.52002 +1487.920044 +1498.579956 +1505.969971 +1494.72998 +1487.369995 +1501.339966 +1516.349976 +1504.459961 +1500.589966 +1467.170044 +1440.51001 +1356.560059 +1401.439941 +1441.609985 +1427.469971 +1434.540039 +1429.859985 +1477.439941 +1460.98999 +1464.920044 +1452.430054 +1468.25 +1446.290039 +1415.099976 +1409.569946 +1432.630005 +1424.170044 +1412.140015 +1383.050049 +1407.810059 +1420.959961 +1452.359985 +1466.040039 +1447.800049 +1437.209961 +1406.949951 +1400.719971 +1373.859985 +1399.050049 +1381.52002 +1378.02002 +1422.449951 +1420.599976 +1448.810059 +1477.26001 +1467.630005 +1457.839966 +1471.359985 +1461.670044 +1456.949951 +1446 +1469.439941 +1470.540039 +1478.72998 +1464.459961 +1486 +1475.949951 +1479.130005 +1452.180054 +1441.47998 +1455.310059 +1450.550049 +1454.819946 +1442.390015 +1454.599976 +1469.540039 +1446.22998 +1456.670044 +1478.900024 +1475.619995 +1480.880005 +1492.920044 +1495.839966 +1509.97998 +1510.48999 +1493.73999 +1481.959961 +1495.569946 +1480.189941 +1464.290039 +1474.469971 +1452.420044 +1449.619995 +1419.890015 +1430.829956 +1438.099976 +1438.699951 +1452.560059 +1462.930054 +1479.319946 +1482.800049 +1472.869995 +1460.25 +1471.839966 +1491.560059 +1484.430054 +1479.849976 +1496.069946 +1491.719971 +1499.47998 +1498.130005 +1505.969971 +1508.310059 +1506.449951 +1514.089966 +1509.839966 +1502.589966 +1517.680054 +1520.77002 +1507.079956 +1492.25 +1502.51001 +1494.5 +1489.26001 +1481.98999 +1484.910034 +1480.869995 +1465.810059 +1444.51001 +1459.900024 +1451.339966 +1449.050049 +1448.719971 +1439.030029 +1427.209961 +1426.569946 +1458.290039 +1436.51001 +1436.22998 +1426.459961 +1434.319946 +1436.280029 +1408.98999 +1402.030029 +1387.02002 +1364.589966 +1329.780029 +1374.170044 +1374.619995 +1349.969971 +1342.130005 +1388.76001 +1396.930054 +1395.780029 +1398.130005 +1364.900024 +1364.439941 +1379.579956 +1398.660034 +1429.400024 +1421.219971 +1428.319946 +1426.689941 +1432.189941 +1431.869995 +1409.280029 +1400.140015 +1365.97998 +1351.26001 +1382.949951 +1389.810059 +1372.319946 +1367.719971 +1342.619995 +1347.349976 +1322.359985 +1341.77002 +1348.969971 +1336.089966 +1341.930054 +1314.949951 +1315.22998 +1324.969971 +1376.540039 +1351.459961 +1343.550049 +1369.890015 +1380.199951 +1371.180054 +1359.98999 +1340.930054 +1312.150024 +1322.73999 +1305.599976 +1264.73999 +1274.859985 +1305.949951 +1315.189941 +1328.920044 +1334.219971 +1320.280029 +1283.27002 +1347.560059 +1333.339966 +1298.349976 +1295.859985 +1300.800049 +1313.27002 +1326.819946 +1318.550049 +1326.650024 +1329.469971 +1347.969971 +1342.540039 +1342.900024 +1360.400024 +1364.300049 +1357.51001 +1354.949951 +1364.170044 +1373.72998 +1366.01001 +1373.469971 +1349.469971 +1354.310059 +1352.26001 +1340.890015 +1332.530029 +1314.76001 +1330.310059 +1318.800049 +1315.920044 +1326.609985 +1301.530029 +1278.939941 +1255.27002 +1252.819946 +1245.859985 +1267.650024 +1257.939941 +1239.939941 +1241.22998 +1234.180054 +1241.410034 +1253.800049 +1261.890015 +1264.73999 +1233.420044 +1180.160034 +1197.660034 +1166.709961 +1173.560059 +1150.530029 +1170.810059 +1142.619995 +1122.140015 +1117.579956 +1139.829956 +1152.689941 +1182.170044 +1153.290039 +1147.949951 +1160.329956 +1145.869995 +1106.459961 +1103.25 +1151.439941 +1128.430054 +1137.589966 +1168.380005 +1165.890015 +1183.5 +1179.680054 +1191.810059 +1238.160034 +1253.689941 +1242.97998 +1224.359985 +1209.469971 +1228.75 +1234.52002 +1253.050049 +1249.459961 +1266.439941 +1267.430054 +1248.579956 +1266.609985 +1263.51001 +1261.199951 +1255.540039 +1255.180054 +1245.670044 +1248.920044 +1249.439941 +1284.98999 +1288.48999 +1291.959961 +1312.829956 +1309.380005 +1289.050049 +1293.170044 +1277.890015 +1267.930054 +1248.079956 +1255.819946 +1260.670044 +1267.109985 +1283.569946 +1270.030029 +1276.959961 +1264.959961 +1254.390015 +1255.849976 +1241.599976 +1219.869995 +1214.359985 +1208.430054 +1212.579956 +1223.140015 +1237.040039 +1225.349976 +1218.599976 +1216.76001 +1211.069946 +1226.199951 +1224.380005 +1236.719971 +1234.449951 +1219.23999 +1190.589966 +1198.780029 +1181.52002 +1180.180054 +1208.140015 +1215.680054 +1202.449951 +1214.439941 +1207.709961 +1215.02002 +1210.849976 +1191.030029 +1171.650024 +1190.48999 +1202.930054 +1205.819946 +1204.52002 +1211.22998 +1215.930054 +1220.75 +1214.349976 +1200.47998 +1204.400024 +1183.530029 +1183.430054 +1190.160034 +1191.290039 +1186.72998 +1178.02002 +1181.660034 +1161.969971 +1171.410034 +1157.26001 +1165.310059 +1162.089966 +1184.930054 +1179.209961 +1161.51001 +1148.560059 +1129.030029 +1133.579956 +1132.939941 +1131.73999 +1106.400024 +1085.780029 +1092.540039 +1038.77002 +1032.73999 +1016.099976 +984.539978 +965.799988 +1003.450012 +1012.27002 +1007.039978 +1018.609985 +1040.939941 +1038.550049 +1051.329956 +1072.280029 +1069.630005 +1071.380005 +1062.439941 +1056.75 +1080.98999 +1097.430054 +1091.650024 +1089.97998 +1097.540039 +1077.089966 +1068.609985 +1073.47998 +1089.900024 +1084.780029 +1085.199951 +1100.089966 +1104.609985 +1078.300049 +1059.790039 +1059.780029 +1084.099976 +1087.199951 +1102.839966 +1118.859985 +1115.800049 +1118.540039 +1120.310059 +1118.329956 +1139.089966 +1141.209961 +1142.23999 +1138.650024 +1151.060059 +1142.660034 +1137.030029 +1150.339966 +1157.420044 +1149.5 +1128.52002 +1140.199951 +1139.449951 +1129.900024 +1144.800049 +1170.349976 +1167.099976 +1158.310059 +1139.930054 +1136.76001 +1137.069946 +1119.380005 +1123.089966 +1134.359985 +1142.920044 +1149.560059 +1139.930054 +1144.890015 +1144.650024 +1149.369995 +1157.130005 +1161.02002 +1148.079956 +1154.670044 +1165.27002 +1172.51001 +1164.890015 +1160.709961 +1155.140015 +1156.550049 +1145.599976 +1138.410034 +1146.189941 +1127.569946 +1138.880005 +1127.579956 +1119.310059 +1128.180054 +1132.150024 +1133.280029 +1133.060059 +1100.640015 +1113.569946 +1130.199951 +1122.199951 +1094.439941 +1090.02002 +1083.51001 +1080.170044 +1096.219971 +1111.939941 +1107.5 +1118.51001 +1116.47998 +1104.180054 +1083.339966 +1097.97998 +1080.949951 +1089.839966 +1109.430054 +1109.380005 +1109.890015 +1106.72998 +1131.780029 +1153.839966 +1146.140015 +1162.77002 +1157.540039 +1164.310059 +1168.26001 +1165.579956 +1154.089966 +1153.040039 +1166.160034 +1165.550049 +1170.290039 +1151.849976 +1153.589966 +1148.699951 +1131.869995 +1138.48999 +1144.579956 +1147.390015 +1146.540039 +1136.76001 +1125.400024 +1126.339966 +1122.72998 +1125.290039 +1117.800049 +1130.469971 +1103.689941 +1111.01001 +1102.550049 +1128.369995 +1126.069946 +1124.469971 +1125.170044 +1107.829956 +1100.959961 +1093.140015 +1091.47998 +1076.319946 +1065.449951 +1076.920044 +1086.459961 +1084.560059 +1073.430054 +1052.670044 +1049.48999 +1088.849976 +1073.01001 +1054.98999 +1074.560059 +1097.280029 +1091.069946 +1098.22998 +1106.589966 +1091.880005 +1079.880005 +1086.02002 +1097.079956 +1083.819946 +1074.550049 +1067.660034 +1064.660034 +1067.140015 +1040.680054 +1040.689941 +1049.900024 +1029.150024 +1027.530029 +1030.73999 +1013.599976 +1020.26001 +1009.559998 +1007.27002 +1036.170044 +1037.140015 +1019.98999 +1006.289978 +989.140015 +992.719971 +976.140015 +973.530029 +990.640015 +989.820007 +968.650024 +948.090027 +953.98999 +989.030029 +976.97998 +952.830017 +920.469971 +927.369995 +921.390015 +917.929993 +900.940002 +906.039978 +881.559998 +847.75 +819.849976 +797.700012 +843.429993 +838.679993 +852.840027 +898.960022 +902.780029 +911.619995 +884.659973 +864.23999 +834.599976 +859.570007 +876.77002 +905.460022 +908.640015 +903.799988 +884.210022 +919.619995 +930.25 +928.77002 +950.700012 +937.429993 +949.359985 +962.700012 +940.859985 +947.950012 +934.820007 +917.869995 +917.799988 +916.070007 +878.02002 +893.400024 +879.150024 +893.919983 +902.960022 +909.580017 +909.450012 +886.909973 +889.809998 +891.099976 +873.52002 +869.460022 +843.320007 +845.390015 +833.700012 +819.289978 +839.659973 +854.950012 +827.369995 +815.280029 +847.909973 +827.909973 +818.950012 +800.580017 +785.280029 +798.549988 +776.76001 +803.919983 +835.320007 +841.440002 +881.27002 +860.02002 +879.200012 +884.390015 +899.719971 +890.159973 +896.140015 +882.5 +897.650024 +890.22998 +882.150024 +890.710022 +885.76001 +900.960022 +908.349976 +915.390015 +923.76001 +902.650024 +894.73999 +876.190002 +882.950012 +882.530029 +904.27002 +909.830017 +900.359985 +896.73999 +914.150024 +933.76001 +930.549988 +932.869995 +913.309998 +938.869995 +936.309998 +934.530029 +920.75 +917.580017 +906.549988 +912.22998 +892 +904.450012 +904.960022 +901.580017 +889.47998 +910.400024 +902.98999 +891.119995 +884.25 +895.76001 +897.380005 +892.469971 +889.659973 +875.400024 +879.390015 +879.820007 +909.030029 +908.590027 +929.01001 +922.929993 +909.929993 +927.570007 +927.570007 +926.26001 +931.659973 +918.219971 +914.599976 +901.780029 +887.619995 +878.359985 +887.340027 +861.400024 +847.47998 +858.539978 +864.359985 +844.609985 +855.700012 +860.320007 +848.200012 +843.590027 +838.150024 +829.690002 +835.969971 +829.200012 +818.679993 +817.369995 +834.890015 +851.169983 +845.130005 +837.099976 +848.169983 +832.580017 +838.570007 +827.549988 +837.280029 +841.150024 +834.809998 +821.98999 +829.849976 +822.099976 +828.890015 +807.47998 +800.72998 +804.190002 +831.900024 +833.27002 +862.789978 +866.450012 +874.02002 +875.669983 +895.789978 +864.22998 +874.73999 +869.950012 +868.52002 +863.5 +848.179993 +858.47998 +880.900024 +876.450012 +878.849976 +879.929993 +878.289978 +865.98999 +871.580017 +868.299988 +885.22998 +890.809998 +879.909973 +893.580017 +892.01001 +911.369995 +919.02002 +911.429993 +898.809998 +914.840027 +917.840027 +916.919983 +916.299988 +930.080017 +926.549988 +934.390015 +929.619995 +920.27002 +933.409973 +945.109985 +942.299988 +939.280029 +946.669983 +944.299988 +920.77002 +919.72998 +923.419983 +931.869995 +933.219971 +951.47998 +953.219971 +949.640015 +963.590027 +967 +971.559998 +986.23999 +990.140015 +987.76001 +975.929993 +984.840027 +997.47998 +998.51001 +988.609985 +1010.73999 +1011.659973 +1010.090027 +994.700012 +995.690002 +981.640015 +983.450012 +975.320007 +985.820007 +976.219971 +974.5 +982.320007 +993.75 +985.700012 +1004.419983 +1007.840027 +1002.210022 +988.700012 +998.140015 +1003.859985 +1000.419983 +994.090027 +981.72998 +993.320007 +978.799988 +988.109985 +988.609985 +981.599976 +998.679993 +996.52002 +989.280029 +987.48999 +990.309998 +980.150024 +982.820007 +965.460022 +967.080017 +974.119995 +977.590027 +980.590027 +990.349976 +984.030029 +990.51001 +990.669983 +999.73999 +1002.349976 +1000.299988 +1003.27002 +993.059998 +993.710022 +996.72998 +996.789978 +1002.840027 +1008.01001 +1021.98999 +1026.27002 +1027.969971 +1021.390015 +1031.640015 +1023.169983 +1010.919983 +1016.419983 +1018.630005 +1014.809998 +1029.319946 +1025.969971 +1039.579956 +1036.300049 +1022.820007 +1029.030029 +1009.380005 +1003.27002 +996.849976 +1006.580017 +995.969971 +1018.219971 +1020.23999 +1029.849976 +1034.349976 +1039.25 +1033.780029 +1038.72998 +1038.060059 +1045.349976 +1049.47998 +1046.76001 +1050.069946 +1039.319946 +1044.680054 +1046.030029 +1030.359985 +1033.77002 +1028.910034 +1031.130005 +1046.790039 +1048.109985 +1046.939941 +1050.709961 +1059.02002 +1053.25 +1051.810059 +1058.050049 +1053.209961 +1047.109985 +1046.569946 +1058.530029 +1058.410034 +1050.349976 +1043.630005 +1034.150024 +1042.439941 +1033.650024 +1035.280029 +1052.079956 +1053.890015 +1058.449951 +1058.199951 +1070.119995 +1066.619995 +1064.72998 +1069.719971 +1061.5 +1069.300049 +1060.180054 +1059.050049 +1071.209961 +1074.140015 +1068.040039 +1075.130005 +1076.47998 +1089.180054 +1088.660034 +1092.939941 +1096.02002 +1094.040039 +1095.890015 +1109.47998 +1109.640015 +1111.920044 +1108.47998 +1122.219971 +1123.670044 +1126.329956 +1131.920044 +1121.859985 +1127.22998 +1121.219971 +1130.52002 +1132.050049 +1139.829956 +1138.77002 +1147.619995 +1143.939941 +1141.550049 +1155.369995 +1144.050049 +1128.47998 +1134.109985 +1131.130005 +1135.26001 +1136.030029 +1126.52002 +1128.589966 +1142.76001 +1139.810059 +1145.540039 +1157.76001 +1152.109985 +1145.810059 +1156.98999 +1151.819946 +1147.060059 +1144.109985 +1140.98999 +1139.089966 +1143.670044 +1144.910034 +1144.939941 +1155.969971 +1149.099976 +1151.030029 +1154.869995 +1156.859985 +1147.199951 +1140.579956 +1123.890015 +1106.780029 +1120.569946 +1104.48999 +1110.699951 +1123.75 +1122.319946 +1109.780029 +1095.400024 +1093.949951 +1091.329956 +1109.189941 +1108.060059 +1122.469971 +1127 +1126.209961 +1132.170044 +1141.810059 +1150.569946 +1148.160034 +1140.530029 +1139.319946 +1145.199951 +1129.439941 +1128.170044 +1128.839966 +1134.609985 +1135.819946 +1118.150024 +1124.089966 +1139.930054 +1140.599976 +1135.530029 +1138.109985 +1122.410034 +1113.890015 +1107.300049 +1117.48999 +1119.550049 +1121.530029 +1113.98999 +1098.699951 +1087.119995 +1095.449951 +1097.280029 +1096.439941 +1095.699951 +1084.099976 +1091.48999 +1088.680054 +1089.189941 +1093.560059 +1095.410034 +1113.050049 +1114.939941 +1121.280029 +1120.680054 +1121.199951 +1124.98999 +1116.640015 +1122.5 +1140.420044 +1142.180054 +1131.329956 +1136.469971 +1125.290039 +1132.01001 +1133.560059 +1132.050049 +1135.02002 +1130.300049 +1134.410034 +1144.060059 +1140.650024 +1134.430054 +1133.349976 +1136.199951 +1140.839966 +1128.939941 +1125.380005 +1116.209961 +1118.329956 +1109.109985 +1112.810059 +1114.349976 +1115.140015 +1111.469971 +1106.689941 +1101.390015 +1100.900024 +1108.670044 +1093.880005 +1096.839966 +1086.199951 +1084.069946 +1094.829956 +1095.420044 +1100.430054 +1101.719971 +1106.619995 +1099.689941 +1098.630005 +1080.699951 +1063.969971 +1065.219971 +1079.040039 +1075.790039 +1063.22998 +1064.800049 +1079.339966 +1081.709961 +1095.170044 +1091.22998 +1098.349976 +1095.680054 +1096.189941 +1104.959961 +1105.089966 +1107.77002 +1099.150024 +1104.23999 +1105.910034 +1118.310059 +1113.630005 +1121.300049 +1116.27002 +1118.380005 +1123.920044 +1125.819946 +1128.329956 +1120.369995 +1123.5 +1128.550049 +1122.199951 +1129.300049 +1113.560059 +1108.359985 +1110.109985 +1103.52002 +1110.060059 +1114.800049 +1114.579956 +1131.5 +1135.170044 +1134.47998 +1142.050049 +1130.650024 +1122.140015 +1124.390015 +1121.839966 +1113.650024 +1103.290039 +1108.199951 +1114.02002 +1103.22998 +1103.660034 +1106.48999 +1095.73999 +1094.800049 +1111.089966 +1125.400024 +1127.439941 +1130.199951 +1130.51001 +1130.560059 +1143.199951 +1161.670044 +1166.170044 +1164.890015 +1164.079956 +1162.910034 +1173.47998 +1184.170044 +1183.810059 +1175.430054 +1181.939941 +1183.550049 +1170.339966 +1177.23999 +1176.939941 +1181.76001 +1182.650024 +1178.569946 +1173.819946 +1191.369995 +1190.329956 +1191.170044 +1190.25 +1177.069946 +1182.810059 +1189.23999 +1188 +1198.680054 +1203.380005 +1205.719971 +1203.209961 +1194.199951 +1194.650024 +1205.449951 +1209.569946 +1210.130005 +1204.920044 +1213.540039 +1213.449951 +1213.550049 +1211.920044 +1202.079956 +1188.050049 +1183.73999 +1187.890015 +1186.189941 +1190.25 +1182.98999 +1187.699951 +1177.449951 +1184.52002 +1195.97998 +1184.630005 +1175.410034 +1167.869995 +1163.75 +1168.410034 +1174.069946 +1174.550049 +1171.359985 +1181.27002 +1189.410034 +1193.189941 +1189.890015 +1203.030029 +1201.719971 +1202.300049 +1191.98999 +1197.01001 +1205.300049 +1206.140015 +1210.119995 +1210.339966 +1200.75 +1201.589966 +1184.160034 +1190.800049 +1200.199951 +1211.369995 +1203.599976 +1210.410034 +1210.079956 +1210.469971 +1222.119995 +1225.310059 +1219.430054 +1207.01001 +1209.25 +1200.079956 +1206.829956 +1197.75 +1188.069946 +1190.209961 +1189.650024 +1183.780029 +1171.709961 +1172.530029 +1171.420044 +1174.280029 +1165.359985 +1181.410034 +1180.589966 +1172.920044 +1176.119995 +1181.390015 +1184.069946 +1191.140015 +1181.199951 +1181.209961 +1187.76001 +1173.790039 +1162.050049 +1142.619995 +1145.97998 +1152.780029 +1137.5 +1159.949951 +1152.119995 +1162.099976 +1151.829956 +1156.380005 +1143.219971 +1156.849976 +1162.160034 +1161.170044 +1175.650024 +1172.630005 +1171.349976 +1178.839966 +1166.219971 +1171.109985 +1159.359985 +1154.050049 +1165.689941 +1173.800049 +1185.560059 +1191.079956 +1189.280029 +1193.859985 +1194.069946 +1190.01001 +1197.619995 +1198.780029 +1191.5 +1202.219971 +1204.290039 +1196.02002 +1197.51001 +1197.26001 +1194.670044 +1200.930054 +1198.109985 +1200.819946 +1203.910034 +1206.579956 +1210.959961 +1216.959961 +1216.099976 +1213.609985 +1213.880005 +1200.72998 +1191.569946 +1190.689941 +1201.569946 +1199.849976 +1191.329956 +1194.439941 +1204.98999 +1194.939941 +1197.869995 +1211.859985 +1219.439941 +1222.209961 +1223.290039 +1226.5 +1227.920044 +1221.130005 +1229.349976 +1235.199951 +1227.040039 +1233.680054 +1229.030029 +1231.160034 +1236.790039 +1243.719971 +1234.180054 +1235.349976 +1244.119995 +1245.040039 +1235.859985 +1226.420044 +1223.130005 +1231.380005 +1229.130005 +1237.810059 +1230.390015 +1233.869995 +1219.339966 +1220.23999 +1219.02002 +1219.709961 +1221.72998 +1217.589966 +1209.589966 +1212.369995 +1205.099976 +1212.280029 +1208.410034 +1220.329956 +1221.589966 +1218.02002 +1233.390015 +1236.359985 +1231.670044 +1241.47998 +1240.560059 +1231.199951 +1227.160034 +1227.72998 +1237.910034 +1231.02002 +1221.339966 +1210.199951 +1214.619995 +1215.290039 +1215.630005 +1215.660034 +1216.890015 +1227.680054 +1228.810059 +1226.699951 +1214.469971 +1196.390015 +1191.48999 +1195.900024 +1187.329956 +1184.869995 +1177.680054 +1176.839966 +1186.569946 +1190.099976 +1178.140015 +1195.76001 +1177.800049 +1179.589966 +1199.380005 +1196.540039 +1191.380005 +1178.900024 +1198.410034 +1207.01001 +1202.76001 +1214.76001 +1219.939941 +1220.140015 +1222.810059 +1218.589966 +1220.650024 +1230.959961 +1234.719971 +1233.76001 +1229.01001 +1231.209961 +1242.800049 +1248.27002 +1254.849976 +1261.22998 +1265.609985 +1268.25 +1257.459961 +1257.47998 +1249.47998 +1264.670044 +1265.079956 +1262.089966 +1263.699951 +1257.369995 +1255.839966 +1259.369995 +1260.430054 +1267.430054 +1272.73999 +1270.939941 +1267.319946 +1259.920044 +1259.619995 +1262.790039 +1268.119995 +1268.660034 +1256.540039 +1258.170044 +1254.420044 +1248.290039 +1268.800049 +1273.459961 +1273.47998 +1285.449951 +1290.150024 +1289.689941 +1294.180054 +1286.060059 +1287.609985 +1282.930054 +1277.930054 +1285.040039 +1261.48999 +1263.819946 +1266.859985 +1264.680054 +1273.829956 +1283.719971 +1285.189941 +1280.079956 +1282.459961 +1270.839966 +1264.030029 +1265.02002 +1254.780029 +1265.650024 +1263.780029 +1266.98999 +1262.859985 +1275.530029 +1280 +1289.380005 +1287.23999 +1283.030029 +1292.670044 +1287.790039 +1289.430054 +1294.119995 +1280.660034 +1291.23999 +1289.140015 +1287.22998 +1278.26001 +1275.880005 +1278.469971 +1272.22998 +1281.420044 +1284.130005 +1297.47998 +1303.02002 +1305.329956 +1307.25 +1305.079956 +1297.22998 +1305.040039 +1301.670044 +1302.949951 +1301.609985 +1293.22998 +1302.890015 +1300.25 +1294.869995 +1297.810059 +1305.930054 +1311.560059 +1309.040039 +1295.5 +1296.619995 +1286.569946 +1288.119995 +1289.119995 +1285.329956 +1307.280029 +1309.930054 +1311.459961 +1311.280029 +1308.109985 +1301.73999 +1305.410034 +1309.719971 +1310.609985 +1305.189941 +1313.209961 +1308.119995 +1312.25 +1325.76001 +1324.660034 +1325.140015 +1322.849976 +1305.920044 +1291.23999 +1294.5 +1292.079956 +1270.319946 +1261.810059 +1267.030029 +1262.069946 +1256.579956 +1258.569946 +1272.880005 +1280.160034 +1259.869995 +1270.089966 +1285.709961 +1288.219971 +1265.290039 +1263.849976 +1256.150024 +1257.930054 +1252.300049 +1237.439941 +1223.689941 +1230.040039 +1256.160034 +1251.540039 +1240.130005 +1240.119995 +1252.199951 +1245.599976 +1244.5 +1250.560059 +1239.199951 +1246 +1272.869995 +1270.199951 +1280.189941 +1270.910034 +1274.079956 +1265.47998 +1267.339966 +1272.430054 +1258.599976 +1242.280029 +1236.199951 +1234.48999 +1236.859985 +1259.810059 +1249.130005 +1240.290039 +1260.910034 +1268.880005 +1268.400024 +1263.199951 +1278.550049 +1276.660034 +1270.920044 +1277.410034 +1280.27002 +1279.359985 +1275.77002 +1271.47998 +1265.949951 +1271.810059 +1266.73999 +1268.209961 +1285.579956 +1295.430054 +1297.47998 +1302.300049 +1297.52002 +1298.819946 +1292.98999 +1296.060059 +1295.089966 +1301.780029 +1304.280029 +1305.369995 +1303.819946 +1311.01001 +1313.25 +1300.26001 +1294.02002 +1298.920044 +1299.540039 +1313 +1318.069946 +1316.280029 +1319.660034 +1321.180054 +1317.640015 +1325.180054 +1318.030029 +1314.780029 +1326.369995 +1336.349976 +1336.589966 +1338.880005 +1335.849976 +1331.319946 +1334.109985 +1350.199951 +1353.219971 +1349.589966 +1350.660034 +1353.420044 +1349.949951 +1362.829956 +1365.619995 +1369.060059 +1364.050049 +1365.800049 +1366.959961 +1368.599976 +1377.02002 +1377.380005 +1382.219971 +1389.079956 +1377.339966 +1377.930054 +1377.939941 +1367.810059 +1367.339966 +1364.300049 +1379.780029 +1382.839966 +1385.719971 +1378.329956 +1380.900024 +1384.420044 +1393.219971 +1396.569946 +1399.76001 +1401.199951 +1400.5 +1402.810059 +1406.089966 +1400.949951 +1381.959961 +1386.719971 +1399.47998 +1400.630005 +1396.709961 +1409.119995 +1414.76001 +1412.900024 +1407.290039 +1409.839966 +1413.040039 +1411.560059 +1413.209961 +1425.48999 +1427.089966 +1422.47998 +1425.550049 +1423.530029 +1418.300049 +1410.76001 +1416.900024 +1426.839966 +1424.72998 +1418.300049 +1416.599976 +1418.339966 +1409.709961 +1412.839966 +1412.109985 +1414.849976 +1423.819946 +1430.72998 +1431.900024 +1430.619995 +1426.369995 +1430.5 +1422.949951 +1427.98999 +1440.130005 +1423.900024 +1422.180054 +1420.619995 +1428.819946 +1438.23999 +1445.939941 +1448.390015 +1446.98999 +1448 +1450.02002 +1448.310059 +1438.060059 +1433.369995 +1444.26001 +1455.300049 +1456.810059 +1455.540039 +1459.680054 +1457.630005 +1456.380005 +1451.189941 +1449.369995 +1399.040039 +1406.819946 +1403.170044 +1387.170044 +1374.119995 +1395.410034 +1391.969971 +1401.890015 +1402.839966 +1406.599976 +1377.949951 +1387.170044 +1392.280029 +1386.949951 +1402.060059 +1410.939941 +1435.040039 +1434.540039 +1436.109985 +1437.5 +1428.609985 +1417.22998 +1422.530029 +1420.859985 +1424.550049 +1437.77002 +1439.369995 +1443.76001 +1444.609985 +1448.390015 +1438.869995 +1447.800049 +1452.849976 +1468.329956 +1471.47998 +1472.5 +1470.72998 +1484.349976 +1480.930054 +1480.410034 +1495.420044 +1494.25 +1494.069946 +1482.369995 +1486.300049 +1495.920044 +1502.390015 +1505.619995 +1509.47998 +1507.719971 +1512.579956 +1491.469971 +1505.849976 +1503.150024 +1501.189941 +1514.140015 +1512.75 +1522.75 +1525.099976 +1524.119995 +1522.280029 +1507.51001 +1515.72998 +1518.109985 +1530.22998 +1530.619995 +1536.339966 +1539.180054 +1530.949951 +1517.380005 +1490.719971 +1507.670044 +1509.119995 +1493 +1515.670044 +1522.969971 +1532.910034 +1531.050049 +1533.699951 +1512.839966 +1522.189941 +1502.560059 +1497.73999 +1492.890015 +1506.339966 +1505.709961 +1503.349976 +1519.430054 +1524.869995 +1525.400024 +1530.439941 +1531.849976 +1510.119995 +1518.76001 +1547.699951 +1552.5 +1549.52002 +1549.369995 +1546.170044 +1553.079956 +1534.099976 +1541.569946 +1511.040039 +1518.089966 +1482.660034 +1458.949951 +1473.910034 +1455.27002 +1465.810059 +1472.199951 +1433.060059 +1467.670044 +1476.709961 +1497.48999 +1453.089966 +1453.640015 +1452.920044 +1426.540039 +1406.699951 +1411.27002 +1445.939941 +1445.550049 +1447.119995 +1464.069946 +1462.5 +1479.369995 +1466.790039 +1432.359985 +1463.76001 +1457.640015 +1473.98999 +1489.420044 +1472.290039 +1478.550049 +1453.550049 +1451.699951 +1471.48999 +1471.560059 +1483.949951 +1484.25 +1476.650024 +1519.780029 +1529.030029 +1518.75 +1525.75 +1517.72998 +1517.209961 +1525.420044 +1531.380005 +1526.75 +1547.040039 +1546.630005 +1539.589966 +1542.839966 +1557.589966 +1552.579956 +1565.150024 +1562.469971 +1554.410034 +1561.800049 +1548.709961 +1538.530029 +1541.23999 +1540.079956 +1500.630005 +1506.329956 +1519.589966 +1515.880005 +1514.400024 +1535.280029 +1540.97998 +1531.02002 +1549.380005 +1508.439941 +1509.650024 +1502.170044 +1520.27002 +1475.619995 +1474.77002 +1453.699951 +1439.180054 +1481.050049 +1470.579956 +1451.150024 +1458.73999 +1433.27002 +1439.699951 +1416.77002 +1440.699951 +1407.219971 +1428.22998 +1469.02002 +1469.719971 +1481.140015 +1472.420044 +1462.790039 +1485.01001 +1507.339966 +1504.660034 +1515.959961 +1477.650024 +1486.589966 +1488.410034 +1467.949951 +1445.900024 +1454.97998 +1453 +1460.119995 +1484.459961 +1496.449951 +1497.660034 +1476.27002 +1478.48999 +1468.359985 +1447.160034 +1447.160034 +1411.630005 +1416.180054 +1390.189941 +1409.130005 +1420.329956 +1401.02002 +1416.25 +1380.949951 +1373.199951 +1333.25 +1325.189941 +1310.5 +1338.599976 +1352.069946 +1330.609985 +1353.959961 +1362.300049 +1355.810059 +1378.550049 +1395.420044 +1380.819946 +1336.640015 +1326.449951 +1336.910034 +1331.290039 +1339.130005 +1348.859985 +1367.209961 +1348.859985 +1349.98999 +1348.780029 +1360.030029 +1342.530029 +1353.109985 +1371.800049 +1381.290039 +1380.02002 +1367.680054 +1330.630005 +1331.339966 +1326.75 +1333.699951 +1304.339966 +1293.369995 +1273.369995 +1320.650024 +1308.77002 +1315.47998 +1288.140015 +1276.599976 +1330.73999 +1298.420044 +1329.51001 +1349.880005 +1352.98999 +1341.130005 +1325.76001 +1315.219971 +1322.699951 +1370.180054 +1367.530029 +1369.310059 +1370.400024 +1372.540039 +1365.540039 +1354.48999 +1360.550049 +1332.829956 +1328.319946 +1334.430054 +1364.709961 +1365.560059 +1390.329956 +1388.170044 +1375.939941 +1379.930054 +1388.819946 +1397.839966 +1396.369995 +1390.939941 +1385.589966 +1409.339966 +1413.900024 +1407.48999 +1418.26001 +1392.569946 +1397.680054 +1388.280029 +1403.579956 +1403.040039 +1408.660034 +1423.569946 +1425.349976 +1426.630005 +1413.400024 +1390.709961 +1394.349976 +1375.930054 +1385.349976 +1390.839966 +1398.26001 +1400.380005 +1385.670044 +1377.650024 +1377.199951 +1404.050049 +1360.680054 +1361.76001 +1358.439941 +1335.48999 +1339.869995 +1360.030029 +1360.140015 +1350.930054 +1337.810059 +1342.829956 +1317.930054 +1318 +1314.290039 +1321.969971 +1283.150024 +1278.380005 +1280 +1284.910034 +1261.52002 +1262.900024 +1252.310059 +1273.699951 +1244.689941 +1253.390015 +1239.48999 +1228.300049 +1214.910034 +1245.359985 +1260.319946 +1260.680054 +1260 +1277 +1282.189941 +1252.540039 +1257.76001 +1234.369995 +1263.199951 +1284.26001 +1267.380005 +1260.310059 +1249.01001 +1284.880005 +1289.189941 +1266.069946 +1296.319946 +1305.319946 +1289.589966 +1285.829956 +1292.930054 +1298.199951 +1278.599976 +1266.689941 +1274.540039 +1277.719971 +1292.199951 +1266.839966 +1271.51001 +1281.660034 +1300.680054 +1282.829956 +1277.579956 +1274.97998 +1236.829956 +1242.310059 +1267.790039 +1224.51001 +1232.040039 +1249.050049 +1251.699951 +1192.699951 +1213.599976 +1156.390015 +1206.51001 +1255.079956 +1207.089966 +1188.219971 +1185.869995 +1209.180054 +1213.27002 +1106.420044 +1166.359985 +1161.060059 +1114.280029 +1099.22998 +1056.890015 +996.22998 +984.940002 +909.919983 +899.219971 +1003.349976 +998.01001 +907.840027 +946.429993 +940.549988 +985.400024 +955.049988 +896.780029 +908.109985 +876.77002 +848.919983 +940.51001 +930.090027 +954.090027 +968.75 +966.299988 +1005.75 +952.77002 +904.880005 +930.98999 +919.210022 +898.950012 +852.299988 +911.289978 +873.289978 +850.75 +859.119995 +806.580017 +752.440002 +800.030029 +851.809998 +857.390015 +887.679993 +896.23999 +816.210022 +848.809998 +870.73999 +845.219971 +876.070007 +909.700012 +888.669983 +899.23999 +873.590027 +879.72998 +868.570007 +913.179993 +904.419983 +885.280029 +887.880005 +871.630005 +863.159973 +868.150024 +872.799988 +869.419983 +890.640015 +903.25 +931.799988 +927.450012 +934.700012 +906.650024 +909.72998 +890.349976 +870.26001 +871.789978 +842.619995 +843.73999 +850.119995 +805.219971 +840.23999 +827.5 +831.950012 +836.570007 +845.710022 +874.090027 +845.140015 +825.880005 +825.440002 +838.51001 +832.22998 +845.849976 +868.599976 +869.890015 +827.159973 +833.73999 +835.190002 +826.840027 +789.169983 +788.419983 +778.940002 +770.049988 +743.330017 +773.140015 +764.900024 +752.830017 +735.090027 +700.820007 +696.330017 +712.869995 +682.549988 +683.380005 +676.530029 +719.599976 +721.359985 +750.73999 +756.549988 +753.890015 +778.119995 +794.349976 +784.039978 +768.539978 +822.919983 +806.119995 +813.880005 +832.859985 +815.940002 +787.530029 +797.869995 +811.080017 +834.380005 +842.5 +835.47998 +815.549988 +825.159973 +856.559998 +858.72998 +841.5 +852.059998 +865.299988 +869.599976 +832.390015 +850.080017 +843.549988 +851.919983 +866.22998 +857.51001 +855.159973 +873.640015 +872.809998 +877.52002 +907.23999 +903.799988 +919.530029 +907.390015 +929.22998 +909.23999 +908.349976 +883.919983 +893.070007 +882.880005 +909.710022 +908.130005 +903.469971 +888.330017 +887 +910.330017 +893.059998 +906.830017 +919.140015 +942.869995 +944.73999 +931.76001 +942.460022 +940.090027 +939.140015 +942.429993 +939.150024 +944.890015 +946.210022 +923.719971 +911.969971 +910.710022 +918.369995 +921.22998 +893.039978 +895.099976 +900.940002 +920.26001 +918.900024 +927.22998 +919.320007 +923.330017 +896.419983 +898.719971 +881.030029 +879.559998 +882.679993 +879.130005 +901.049988 +905.840027 +932.679993 +940.73999 +940.380005 +951.130005 +954.580017 +954.070007 +976.289978 +979.26001 +982.179993 +979.619995 +975.150024 +986.75 +987.47998 +1002.630005 +1005.650024 +1002.719971 +997.080017 +1010.47998 +1007.099976 +994.349976 +1005.809998 +1012.72998 +1004.090027 +979.72998 +989.669983 +996.460022 +1007.369995 +1026.130005 +1025.569946 +1028 +1028.119995 +1030.97998 +1028.930054 +1020.619995 +998.039978 +994.75 +1003.23999 +1016.400024 +1025.390015 +1033.369995 +1044.140015 +1042.72998 +1049.339966 +1052.630005 +1068.76001 +1065.48999 +1068.300049 +1064.660034 +1071.660034 +1060.869995 +1050.780029 +1044.380005 +1062.97998 +1060.609985 +1057.079956 +1029.849976 +1025.209961 +1040.459961 +1054.719971 +1057.579956 +1065.47998 +1071.48999 +1076.189941 +1073.189941 +1092.02002 +1096.560059 +1087.680054 +1097.910034 +1091.060059 +1081.400024 +1092.910034 +1079.599976 +1066.949951 +1063.410034 +1042.630005 +1066.109985 +1036.189941 +1042.880005 +1045.410034 +1046.5 +1066.630005 +1069.300049 +1093.079956 +1093.01001 +1098.51001 +1087.23999 +1093.47998 +1109.300049 +1110.319946 +1109.800049 +1094.900024 +1091.380005 +1106.23999 +1105.650024 +1110.630005 +1091.48999 +1095.630005 +1108.859985 +1109.23999 +1099.920044 +1105.97998 +1103.25 +1091.939941 +1095.949951 +1102.349976 +1106.410034 +1114.109985 +1107.930054 +1109.180054 +1096.079956 +1102.469971 +1114.050049 +1118.02002 +1120.589966 +1126.47998 +1127.780029 +1126.199951 +1126.420044 +1115.099976 +1132.98999 +1136.52002 +1137.140015 +1141.689941 +1144.97998 +1146.97998 +1136.219971 +1145.680054 +1148.459961 +1136.030029 +1150.22998 +1138.040039 +1116.47998 +1091.76001 +1096.780029 +1092.170044 +1097.5 +1084.530029 +1073.869995 +1089.189941 +1103.319946 +1097.280029 +1063.109985 +1066.189941 +1056.73999 +1070.52002 +1068.130005 +1078.469971 +1075.51001 +1094.869995 +1099.51001 +1106.75 +1109.170044 +1108.01001 +1094.599976 +1105.23999 +1102.939941 +1104.48999 +1115.709961 +1118.310059 +1118.790039 +1122.969971 +1138.699951 +1138.5 +1140.449951 +1145.609985 +1150.23999 +1149.98999 +1150.51001 +1159.459961 +1166.209961 +1165.829956 +1159.900024 +1165.810059 +1174.170044 +1167.719971 +1165.72998 +1166.589966 +1173.219971 +1173.27002 +1169.430054 +1178.099976 +1187.439941 +1189.439941 +1182.449951 +1186.439941 +1194.369995 +1196.47998 +1197.300049 +1210.650024 +1211.670044 +1192.130005 +1197.52002 +1207.170044 +1205.939941 +1208.670044 +1217.280029 +1212.050049 +1183.709961 +1191.359985 +1206.780029 +1186.689941 +1202.26001 +1173.599976 +1165.869995 +1128.150024 +1110.880005 +1159.72998 +1155.790039 +1171.670044 +1157.439941 +1135.680054 +1136.939941 +1120.800049 +1115.050049 +1071.589966 +1087.689941 +1073.650024 +1074.030029 +1067.949951 +1103.060059 +1089.410034 +1070.709961 +1098.380005 +1102.829956 +1064.880005 +1050.469971 +1062 +1055.689941 +1086.839966 +1091.599976 +1089.630005 +1115.22998 +1114.609985 +1116.040039 +1117.51001 +1113.199951 +1095.310059 +1092.040039 +1073.689941 +1076.76001 +1074.569946 +1041.23999 +1030.709961 +1027.369995 +1022.580017 +1028.060059 +1060.27002 +1070.25 +1077.959961 +1078.75 +1095.339966 +1095.170044 +1096.47998 +1064.880005 +1071.25 +1083.47998 +1069.589966 +1093.670044 +1102.660034 +1115.01001 +1113.839966 +1106.130005 +1101.530029 +1101.599976 +1125.859985 +1120.459961 +1127.23999 +1125.810059 +1121.640015 +1127.790039 +1121.060059 +1089.469971 +1083.609985 +1079.25 +1079.380005 +1092.540039 +1094.160034 +1075.630005 +1071.689941 +1067.359985 +1051.869995 +1055.329956 +1047.219971 +1064.589966 +1048.920044 +1049.329956 +1080.290039 +1090.099976 +1104.51001 +1091.839966 +1098.869995 +1104.180054 +1109.550049 +1121.900024 +1121.099976 +1125.069946 +1124.660034 +1125.589966 +1142.709961 +1139.780029 +1134.280029 +1124.829956 +1148.670044 +1142.160034 +1147.699951 +1144.72998 +1141.199951 +1146.23999 +1137.030029 +1160.75 +1159.969971 +1158.060059 +1165.150024 +1165.319946 +1169.77002 +1178.099976 +1173.810059 +1176.189941 +1184.709961 +1165.900024 +1178.170044 +1180.26001 +1183.079956 +1185.619995 +1185.640015 +1182.449951 +1183.780029 +1183.26001 +1184.380005 +1193.569946 +1197.959961 +1221.060059 +1225.849976 +1223.25 +1213.400024 +1218.709961 +1213.540039 +1199.209961 +1197.75 +1178.339966 +1178.589966 +1196.689941 +1199.72998 +1197.839966 +1180.72998 +1198.349976 +1189.400024 +1187.76001 +1180.550049 +1206.069946 +1221.530029 +1224.709961 +1223.119995 +1223.75 +1228.280029 +1233 +1240.400024 +1240.459961 +1241.589966 +1235.22998 +1242.869995 +1243.910034 +1247.079956 +1254.599976 +1258.839966 +1256.77002 +1257.540039 +1258.51001 +1259.780029 +1257.880005 +1257.640015 +1271.869995 +1270.199951 +1276.560059 +1273.849976 +1271.5 +1269.75 +1274.47998 +1285.959961 +1283.76001 +1293.23999 +1295.02002 +1281.920044 +1280.26001 +1283.349976 +1290.839966 +1291.180054 +1296.630005 +1299.540039 +1276.339966 +1286.119995 +1307.589966 +1304.030029 +1307.099976 +1310.869995 +1319.050049 +1324.569946 +1320.880005 +1321.869995 +1329.150024 +1332.319946 +1328.01001 +1336.319946 +1340.430054 +1343.01001 +1315.439941 +1307.400024 +1306.099976 +1319.880005 +1327.219971 +1306.329956 +1308.439941 +1330.969971 +1321.150024 +1310.130005 +1321.819946 +1320.02002 +1295.109985 +1304.280029 +1296.390015 +1281.869995 +1256.880005 +1273.719971 +1279.209961 +1298.380005 +1293.77002 +1297.540039 +1309.660034 +1313.800049 +1310.189941 +1319.439941 +1328.26001 +1325.829956 +1332.410034 +1332.869995 +1332.630005 +1335.540039 +1333.51001 +1328.170044 +1324.459961 +1314.160034 +1314.410034 +1314.52002 +1319.680054 +1305.140015 +1312.619995 +1330.359985 +1337.380005 +1335.25 +1347.23999 +1355.660034 +1360.47998 +1363.609985 +1361.219971 +1356.619995 +1347.319946 +1335.099976 +1340.199951 +1346.290039 +1357.160034 +1342.079956 +1348.650024 +1337.77002 +1329.469971 +1328.97998 +1340.680054 +1343.599976 +1333.27002 +1317.369995 +1316.280029 +1320.469971 +1325.689941 +1331.099976 +1345.199951 +1314.550049 +1312.939941 +1300.160034 +1286.170044 +1284.939941 +1279.560059 +1289 +1270.97998 +1271.829956 +1287.869995 +1265.420044 +1267.640015 +1271.5 +1278.359985 +1295.52002 +1287.140015 +1283.5 +1268.449951 +1280.099976 +1296.670044 +1307.410034 +1320.640015 +1339.670044 +1337.880005 +1339.219971 +1353.219971 +1343.800049 +1319.48999 +1313.640015 +1317.719971 +1308.869995 +1316.140015 +1305.439941 +1326.72998 +1325.839966 +1343.800049 +1345.02002 +1337.430054 +1331.939941 +1304.890015 +1300.670044 +1292.280029 +1286.939941 +1254.050049 +1260.339966 +1200.069946 +1199.380005 +1119.459961 +1172.530029 +1120.76001 +1172.640015 +1178.810059 +1204.48999 +1192.76001 +1193.890015 +1140.650024 +1123.530029 +1123.819946 +1162.349976 +1177.599976 +1159.27002 +1176.800049 +1210.079956 +1212.920044 +1218.890015 +1204.420044 +1173.969971 +1165.23999 +1198.619995 +1185.900024 +1154.22998 +1162.27002 +1172.869995 +1188.680054 +1209.109985 +1216.01001 +1204.089966 +1202.089966 +1166.76001 +1129.560059 +1136.430054 +1162.949951 +1175.380005 +1151.060059 +1160.400024 +1131.420044 +1099.22998 +1123.949951 +1144.030029 +1164.969971 +1155.459961 +1194.890015 +1195.540039 +1207.25 +1203.660034 +1224.579956 +1200.859985 +1225.380005 +1209.880005 +1215.390015 +1238.25 +1254.189941 +1229.050049 +1242 +1284.589966 +1285.089966 +1253.300049 +1218.280029 +1237.900024 +1261.150024 +1253.22998 +1261.119995 +1275.920044 +1229.099976 +1239.699951 +1263.849976 +1251.780029 +1257.810059 +1236.910034 +1216.130005 +1215.650024 +1192.97998 +1188.040039 +1161.790039 +1158.670044 +1192.550049 +1195.189941 +1246.959961 +1244.579956 +1244.280029 +1257.079956 +1258.469971 +1261.01001 +1234.349976 +1255.189941 +1236.469971 +1225.72998 +1211.819946 +1215.75 +1219.660034 +1205.349976 +1241.300049 +1243.719971 +1254 +1265.329956 +1265.430054 +1249.640015 +1263.02002 +1257.599976 +1277.060059 +1277.300049 +1281.060059 +1277.810059 +1280.699951 +1292.079956 +1292.47998 +1295.5 +1289.089966 +1293.670044 +1308.040039 +1314.5 +1315.380005 +1316 +1314.650024 +1326.060059 +1318.430054 +1316.329956 +1313.01001 +1312.410034 +1324.089966 +1325.540039 +1344.900024 +1344.329956 +1347.050049 +1349.959961 +1351.949951 +1342.640015 +1351.77002 +1350.5 +1343.22998 +1358.040039 +1361.22998 +1362.209961 +1357.660034 +1363.459961 +1365.73999 +1367.589966 +1372.180054 +1365.680054 +1374.089966 +1369.630005 +1364.329956 +1343.359985 +1352.630005 +1365.910034 +1370.869995 +1371.089966 +1395.949951 +1394.280029 +1402.599976 +1404.170044 +1409.75 +1405.52002 +1402.890015 +1392.780029 +1397.109985 +1416.51001 +1412.52002 +1405.540039 +1403.280029 +1408.469971 +1419.040039 +1413.380005 +1398.959961 +1398.079956 +1382.199951 +1358.589966 +1368.709961 +1387.569946 +1370.26001 +1369.569946 +1390.780029 +1385.140015 +1376.920044 +1378.530029 +1366.939941 +1371.969971 +1390.689941 +1399.97998 +1403.359985 +1397.910034 +1405.819946 +1402.310059 +1391.569946 +1369.099976 +1369.579956 +1363.719971 +1354.579956 +1357.98999 +1353.390015 +1338.349976 +1330.660034 +1324.800049 +1304.859985 +1295.219971 +1315.98999 +1316.630005 +1318.859985 +1320.680054 +1317.819946 +1332.420044 +1313.319946 +1310.329956 +1278.040039 +1278.180054 +1285.5 +1315.130005 +1314.98999 +1325.660034 +1308.930054 +1324.180054 +1314.880005 +1329.099976 +1342.839966 +1344.780029 +1357.97998 +1355.689941 +1325.51001 +1335.02002 +1313.719971 +1319.98999 +1331.849976 +1329.040039 +1362.160034 +1365.51001 +1374.02002 +1367.579956 +1354.680054 +1352.459961 +1341.469971 +1341.449951 +1334.76001 +1356.780029 +1353.640015 +1363.670044 +1372.780029 +1376.51001 +1362.660034 +1350.52002 +1338.310059 +1337.890015 +1360.02002 +1385.969971 +1385.300049 +1379.319946 +1375.319946 +1365 +1390.98999 +1394.22998 +1401.349976 +1402.219971 +1402.800049 +1405.869995 +1404.109985 +1403.930054 +1405.530029 +1415.51001 +1418.160034 +1418.130005 +1413.170044 +1413.48999 +1402.079956 +1411.130005 +1410.439941 +1409.300049 +1410.48999 +1399.47998 +1406.579956 +1404.939941 +1403.439941 +1432.119995 +1437.920044 +1429.079956 +1433.560059 +1436.560059 +1459.98999 +1465.77002 +1461.189941 +1459.319946 +1461.050049 +1460.26001 +1460.150024 +1456.890015 +1441.589966 +1433.319946 +1447.150024 +1440.670044 +1444.48999 +1445.75 +1450.98999 +1461.400024 +1460.930054 +1455.880005 +1441.47998 +1432.560059 +1432.839966 +1428.589966 +1440.130005 +1454.920044 +1460.910034 +1457.339966 +1433.189941 +1433.819946 +1413.109985 +1408.75 +1412.969971 +1411.939941 +1412.160034 +1427.589966 +1414.199951 +1417.26001 +1428.390015 +1394.530029 +1377.51001 +1379.849976 +1380.030029 +1374.530029 +1355.48999 +1353.329956 +1359.880005 +1386.890015 +1387.810059 +1391.030029 +1409.150024 +1406.290039 +1398.939941 +1409.930054 +1415.949951 +1416.180054 +1409.459961 +1407.050049 +1409.280029 +1413.939941 +1418.069946 +1418.550049 +1427.839966 +1428.47998 +1419.449951 +1413.579956 +1430.359985 +1446.790039 +1435.810059 +1443.689941 +1430.150024 +1426.660034 +1419.829956 +1418.099976 +1402.430054 +1426.189941 +1462.420044 +1459.369995 +1466.469971 +1461.890015 +1457.150024 +1461.02002 +1472.119995 +1472.050049 +1470.680054 +1472.339966 +1472.630005 +1480.939941 +1485.97998 +1492.560059 +1494.810059 +1494.819946 +1502.959961 +1500.180054 +1507.839966 +1501.959961 +1498.109985 +1513.170044 +1495.709961 +1511.290039 +1512.119995 +1509.390015 +1517.930054 +1517.01001 +1519.430054 +1520.329956 +1521.380005 +1519.790039 +1530.939941 +1511.949951 +1502.420044 +1515.599976 +1487.849976 +1496.939941 +1515.98999 +1514.680054 +1518.199951 +1525.199951 +1539.790039 +1541.459961 +1544.26001 +1551.180054 +1556.219971 +1552.47998 +1554.52002 +1563.22998 +1560.699951 +1552.099976 +1548.339966 +1558.709961 +1545.800049 +1556.890015 +1551.689941 +1563.77002 +1562.849976 +1569.189941 +1562.170044 +1570.25 +1553.689941 +1559.97998 +1553.280029 +1563.069946 +1568.609985 +1587.72998 +1593.369995 +1588.849976 +1552.359985 +1574.569946 +1552.01001 +1541.609985 +1555.25 +1562.5 +1578.780029 +1578.790039 +1585.160034 +1582.23999 +1593.609985 +1597.569946 +1582.699951 +1597.589966 +1614.420044 +1617.5 +1625.959961 +1632.689941 +1626.670044 +1633.699951 +1633.77002 +1650.339966 +1658.780029 +1650.469971 +1667.469971 +1666.290039 +1669.160034 +1655.349976 +1650.51001 +1649.599976 +1660.060059 +1648.359985 +1654.410034 +1630.73999 +1640.420044 +1631.380005 +1608.900024 +1622.560059 +1643.380005 +1642.810059 +1626.130005 +1612.52002 +1636.359985 +1626.72998 +1639.040039 +1651.810059 +1628.930054 +1588.189941 +1592.430054 +1573.089966 +1588.030029 +1603.26001 +1613.199951 +1606.280029 +1614.959961 +1614.079956 +1615.410034 +1631.890015 +1640.459961 +1652.319946 +1652.619995 +1675.02002 +1680.189941 +1682.5 +1676.26001 +1680.910034 +1689.369995 +1692.089966 +1695.530029 +1692.390015 +1685.939941 +1690.25 +1691.650024 +1685.329956 +1685.959961 +1685.72998 +1706.869995 +1709.670044 +1707.140015 +1697.369995 +1690.910034 +1697.47998 +1691.420044 +1689.469971 +1694.160034 +1685.390015 +1661.319946 +1655.829956 +1646.060059 +1652.349976 +1642.800049 +1656.959961 +1663.5 +1656.780029 +1630.47998 +1634.959961 +1638.170044 +1632.969971 +1639.77002 +1653.079956 +1655.079956 +1655.170044 +1671.709961 +1683.98999 +1689.130005 +1683.420044 +1687.98999 +1697.599976 +1704.76001 +1725.52002 +1722.339966 +1709.910034 +1701.839966 +1697.420044 +1692.77002 +1698.670044 +1691.75 +1681.550049 +1695 +1693.869995 +1678.660034 +1690.5 +1676.119995 +1655.449951 +1656.400024 +1692.560059 +1703.199951 +1710.140015 +1698.060059 +1721.540039 +1733.150024 +1744.5 +1744.660034 +1754.670044 +1746.380005 +1752.069946 +1759.77002 +1762.109985 +1771.949951 +1763.310059 +1756.540039 +1761.640015 +1767.930054 +1762.969971 +1770.48999 +1747.150024 +1770.609985 +1771.890015 +1767.689941 +1782 +1790.619995 +1798.180054 +1791.530029 +1787.869995 +1781.369995 +1795.849976 +1804.76001 +1802.47998 +1802.75 +1807.22998 +1805.810059 +1800.900024 +1795.150024 +1792.810059 +1785.030029 +1805.089966 +1808.369995 +1802.619995 +1782.219971 +1775.5 +1775.319946 +1786.540039 +1781 +1810.650024 +1809.599976 +1818.319946 +1827.98999 +1833.319946 +1842.02002 +1841.400024 +1841.069946 +1848.359985 +1831.97998 +1831.369995 +1826.77002 +1837.880005 +1837.48999 +1838.130005 +1842.369995 +1819.199951 +1838.880005 +1848.380005 +1845.890015 +1838.699951 +1843.800049 +1844.859985 +1828.459961 +1790.290039 +1781.560059 +1792.5 +1774.199951 +1794.189941 +1782.589966 +1741.890015 +1755.199951 +1751.640015 +1773.430054 +1797.02002 +1799.839966 +1819.75 +1819.26001 +1829.829956 +1838.630005 +1840.76001 +1828.75 +1839.780029 +1836.25 +1847.609985 +1845.119995 +1845.160034 +1854.290039 +1859.449951 +1845.72998 +1873.910034 +1873.810059 +1877.030029 +1878.040039 +1877.170044 +1867.630005 +1868.199951 +1846.339966 +1841.130005 +1858.829956 +1872.25 +1860.77002 +1872.01001 +1866.52002 +1857.439941 +1865.619995 +1852.560059 +1849.040039 +1857.619995 +1872.339966 +1885.52002 +1890.900024 +1888.77002 +1865.089966 +1845.040039 +1851.959961 +1872.180054 +1833.079956 +1815.689941 +1830.609985 +1842.97998 +1862.310059 +1864.849976 +1871.890015 +1879.550049 +1875.390015 +1878.609985 +1863.400024 +1869.430054 +1878.329956 +1883.949951 +1883.680054 +1881.140015 +1884.660034 +1867.719971 +1878.209961 +1875.630005 +1878.47998 +1896.650024 +1897.449951 +1888.530029 +1870.849976 +1877.859985 +1885.079956 +1872.829956 +1888.030029 +1892.48999 +1900.530029 +1911.910034 +1909.780029 +1920.030029 +1923.569946 +1924.969971 +1924.23999 +1927.880005 +1940.459961 +1949.439941 +1951.27002 +1950.790039 +1943.890015 +1930.109985 +1936.160034 +1937.780029 +1941.98999 +1956.97998 +1959.47998 +1962.869995 +1962.609985 +1949.97998 +1959.530029 +1957.219971 +1960.959961 +1960.22998 +1973.319946 +1974.619995 +1985.439941 +1977.650024 +1963.709961 +1972.829956 +1964.680054 +1967.569946 +1977.099976 +1973.280029 +1981.569946 +1958.119995 +1978.219971 +1973.630005 +1983.530029 +1987.01001 +1987.97998 +1978.339966 +1978.910034 +1969.949951 +1970.069946 +1930.670044 +1925.150024 +1938.98999 +1920.209961 +1920.23999 +1909.569946 +1931.589966 +1936.920044 +1933.75 +1946.719971 +1955.180054 +1955.060059 +1971.73999 +1981.599976 +1986.51001 +1992.369995 +1988.400024 +1997.920044 +2000.02002 +2000.119995 +1996.73999 +2003.369995 +2002.280029 +2000.719971 +1997.650024 +2007.709961 +2001.540039 +1988.439941 +1995.689941 +1997.449951 +1985.540039 +1984.130005 +1998.97998 +2001.569946 +2011.359985 +2010.400024 +1994.290039 +1982.77002 +1998.300049 +1965.98999 +1982.849976 +1977.800049 +1972.290039 +1946.160034 +1946.170044 +1967.900024 +1964.819946 +1935.099976 +1968.890015 +1928.209961 +1906.130005 +1874.73999 +1877.699951 +1862.48999 +1862.76001 +1886.76001 +1904.01001 +1941.280029 +1927.109985 +1950.819946 +1964.579956 +1961.630005 +1985.050049 +1982.300049 +1994.650024 +2018.050049 +2017.810059 +2012.099976 +2023.569946 +2031.209961 +2031.920044 +2038.26001 +2039.680054 +2038.25 +2039.329956 +2039.819946 +2041.319946 +2051.800049 +2048.719971 +2052.75 +2063.5 +2069.409912 +2067.030029 +2072.830078 +2067.560059 +2053.439941 +2066.550049 +2074.330078 +2071.919922 +2075.370117 +2060.310059 +2059.820068 +2026.140015 +2035.329956 +2002.329956 +1989.630005 +1972.73999 +2012.890015 +2061.22998 +2070.649902 +2078.540039 +2082.169922 +2081.879883 +2088.77002 +2090.570068 +2080.350098 +2058.899902 +2058.199951 +2020.579956 +2002.609985 +2025.900024 +2062.139893 +2044.810059 +2028.26001 +2023.030029 +2011.27002 +1992.670044 +2019.420044 +2022.550049 +2032.119995 +2063.149902 +2051.820068 +2057.090088 +2029.550049 +2002.160034 +2021.25 +1994.98999 +2020.849976 +2050.030029 +2041.51001 +2062.52002 +2055.469971 +2046.73999 +2068.590088 +2068.530029 +2088.47998 +2096.98999 +2100.340088 +2099.679932 +2097.449951 +2110.300049 +2109.659912 +2115.47998 +2113.860107 +2110.73999 +2104.5 +2117.389893 +2107.780029 +2098.530029 +2101.040039 +2071.26001 +2079.429932 +2044.160034 +2040.23999 +2065.949951 +2053.399902 +2081.189941 +2074.280029 +2099.5 +2089.27002 +2108.100098 +2104.419922 +2091.5 +2061.050049 +2056.149902 +2061.02002 +2086.23999 +2067.889893 +2059.689941 +2066.959961 +2080.620117 +2076.330078 +2081.899902 +2091.179932 +2102.060059 +2092.429932 +2095.840088 +2106.629883 +2104.98999 +2081.179932 +2100.399902 +2097.290039 +2107.959961 +2112.929932 +2117.689941 +2108.919922 +2114.76001 +2106.850098 +2085.51001 +2108.290039 +2114.48999 +2089.459961 +2080.149902 +2088 +2116.100098 +2105.330078 +2099.120117 +2098.47998 +2121.100098 +2122.72998 +2129.199951 +2127.830078 +2125.850098 +2130.820068 +2126.060059 +2104.199951 +2123.47998 +2120.790039 +2107.389893 +2111.72998 +2109.600098 +2114.070068 +2095.840088 +2092.830078 +2079.280029 +2080.149902 +2105.199951 +2108.860107 +2094.110107 +2084.429932 +2096.290039 +2100.439941 +2121.23999 +2109.98999 +2122.850098 +2124.199951 +2108.580078 +2102.310059 +2101.48999 +2057.639893 +2063.110107 +2077.419922 +2076.780029 +2068.76001 +2081.340088 +2046.680054 +2051.310059 +2076.620117 +2099.600098 +2108.949951 +2107.399902 +2124.290039 +2126.639893 +2128.280029 +2119.209961 +2114.149902 +2102.149902 +2079.649902 +2067.639893 +2093.25 +2108.570068 +2108.629883 +2103.840088 +2098.040039 +2093.320068 +2099.840088 +2083.560059 +2077.570068 +2104.179932 +2084.070068 +2086.050049 +2083.389893 +2091.540039 +2102.439941 +2096.919922 +2079.610107 +2035.72998 +1970.890015 +1893.209961 +1867.609985 +1940.51001 +1987.660034 +1988.869995 +1972.180054 +1913.849976 +1948.859985 +1951.130005 +1921.219971 +1969.410034 +1942.040039 +1952.290039 +1961.050049 +1953.030029 +1978.089966 +1995.310059 +1990.199951 +1958.030029 +1966.969971 +1942.73999 +1938.76001 +1932.23999 +1931.339966 +1881.77002 +1884.089966 +1920.030029 +1923.819946 +1951.359985 +1987.050049 +1979.920044 +1995.829956 +2013.430054 +2014.890015 +2017.459961 +2003.689941 +1994.23999 +2023.859985 +2033.109985 +2033.660034 +2030.77002 +2018.939941 +2052.51001 +2075.149902 +2071.179932 +2065.889893 +2090.350098 +2089.409912 +2079.360107 +2104.050049 +2109.790039 +2102.310059 +2099.929932 +2099.199951 +2078.580078 +2081.719971 +2075 +2045.969971 +2023.040039 +2053.189941 +2050.439941 +2083.580078 +2081.23999 +2089.169922 +2086.590088 +2089.139893 +2088.870117 +2090.110107 +2080.409912 +2102.629883 +2079.51001 +2049.620117 +2091.689941 +2077.070068 +2063.590088 +2047.619995 +2052.22998 +2012.369995 +2021.939941 +2043.410034 +2073.070068 +2041.890015 +2005.550049 +2021.150024 +2038.969971 +2064.290039 +2060.98999 +2056.5 +2078.360107 +2063.360107 +2043.939941 +2012.660034 +2016.709961 +1990.26001 +1943.089966 +1922.030029 +1923.670044 +1938.680054 +1890.280029 +1921.839966 +1880.329956 +1881.329956 +1859.329956 +1868.98999 +1906.900024 +1877.079956 +1903.630005 +1882.949951 +1893.359985 +1940.23999 +1939.380005 +1903.030029 +1912.530029 +1915.449951 +1880.050049 +1853.439941 +1852.209961 +1851.859985 +1829.079956 +1864.780029 +1895.579956 +1926.819946 +1917.829956 +1917.780029 +1945.5 +1921.27002 +1929.800049 +1951.699951 +1948.050049 +1932.22998 +1978.349976 +1986.449951 +1993.400024 +1999.98999 +2001.76001 +1979.26001 +1989.26001 +1989.569946 +2022.189941 +2019.640015 +2015.930054 +2027.219971 +2040.589966 +2049.580078 +2051.600098 +2049.800049 +2036.709961 +2035.939941 +2037.050049 +2055.01001 +2063.949951 +2059.73999 +2072.780029 +2066.129883 +2045.170044 +2066.659912 +2041.910034 +2047.599976 +2041.98999 +2061.719971 +2082.419922 +2082.780029 +2080.72998 +2094.340088 +2100.800049 +2102.399902 +2091.47998 +2091.580078 +2087.790039 +2091.699951 +2095.149902 +2075.810059 +2065.300049 +2081.429932 +2063.370117 +2051.120117 +2050.629883 +2057.139893 +2058.689941 +2084.389893 +2064.459961 +2064.110107 +2046.609985 +2066.659912 +2047.209961 +2047.630005 +2040.040039 +2052.320068 +2048.040039 +2076.060059 +2090.540039 +2090.100098 +2099.060059 +2096.949951 +2099.330078 +2105.26001 +2099.129883 +2109.409912 +2112.129883 +2119.120117 +2115.47998 +2096.070068 +2079.060059 +2075.320068 +2071.5 +2077.98999 +2071.219971 +2083.25 +2088.899902 +2085.449951 +2113.320068 +2037.410034 +2000.540039 +2036.089966 +2070.77002 +2098.860107 +2102.949951 +2088.550049 +2099.72998 +2097.899902 +2129.899902 +2137.159912 +2152.139893 +2152.429932 +2163.75 +2161.73999 +2166.889893 +2163.780029 +2173.02002 +2165.169922 +2175.030029 +2168.47998 +2169.179932 +2166.580078 +2170.060059 +2173.600098 +2170.840088 diff --git a/stockdemo.ipynb b/stockdemo.ipynb new file mode 100644 index 0000000..06506a6 --- /dev/null +++ b/stockdemo.ipynb @@ -0,0 +1,175 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Using TensorFlow backend.\n" + ] + } + ], + "source": [ + "from keras.layers.core import Dense, Activation, Dropout\n", + "from keras.layers.recurrent import LSTM\n", + "from keras.models import Sequential\n", + "import lstm, time #helper libraries" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "#Step 1 Load Data\n", + "X_train, y_train, X_test, y_test = lstm.load_data('sp500.csv', 50, True)" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "compilation time : 0.0409510135651\n" + ] + } + ], + "source": [ + "#Step 2 Build Model\n", + "model = Sequential()\n", + "\n", + "model.add(LSTM(\n", + " input_dim=1,\n", + " output_dim=50,\n", + " return_sequences=True))\n", + "model.add(Dropout(0.2))\n", + "\n", + "model.add(LSTM(\n", + " 100,\n", + " return_sequences=False))\n", + "model.add(Dropout(0.2))\n", + "\n", + "model.add(Dense(\n", + " output_dim=1))\n", + "model.add(Activation('linear'))\n", + "\n", + "start = time.time()\n", + "model.compile(loss='mse', optimizer='rmsprop')\n", + "print 'compilation time : ', time.time() - start" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train on 3523 samples, validate on 186 samples\n", + "Epoch 1/1\n", + "3523/3523 [==============================] - 8s - loss: 0.0098 - val_loss: 0.0011\n" + ] + }, + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#Step 3 Train the model\n", + "model.fit(\n", + " X_train,\n", + " y_train,\n", + " batch_size=512,\n", + " nb_epoch=1,\n", + " validation_split=0.05)" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "yo\n" + ] + }, + { + "data": { + "image/png": "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\nIkRERKSa/wOTJqGGxV9uoQAAAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "#Step 4 - Plot the predictions!\n", + "predictions = lstm.predict_sequences_multiple(model, X_test, 50, 50)\n", + "lstm.plot_results_multiple(predictions, y_test, 50)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.12" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +}