chore: 添加Stock-Prediction-Models项目文件
添加了Stock-Prediction-Models项目的多个文件,包括数据集、模型代码、README文档和CSS样式文件。这些文件用于股票预测模型的训练和展示,涵盖了LSTM、GRU等深度学习模型的应用。
This commit is contained in:
1 parent
f57150dae8
commit
2757a4d0d2
200 files changed
+79402
No files matched your search
+41
@@ -0,0 +1,41 @@
|
||||
import tensorflow as tf
|
||||
import numpy as np
|
||||
import time
|
||||
|
||||
def reducedimension(input_, dimension = 2, learning_rate = 0.01, hidden_layer = 256, epoch = 20):
|
||||
|
||||
input_size = input_.shape[1]
|
||||
X = tf.placeholder("float", [None, input_size])
|
||||
|
||||
weights = {
|
||||
'encoder_h1': tf.Variable(tf.random_normal([input_size, hidden_layer])),
|
||||
'encoder_h2': tf.Variable(tf.random_normal([hidden_layer, dimension])),
|
||||
'decoder_h1': tf.Variable(tf.random_normal([dimension, hidden_layer])),
|
||||
'decoder_h2': tf.Variable(tf.random_normal([hidden_layer, input_size])),
|
||||
}
|
||||
|
||||
biases = {
|
||||
'encoder_b1': tf.Variable(tf.random_normal([hidden_layer])),
|
||||
'encoder_b2': tf.Variable(tf.random_normal([dimension])),
|
||||
'decoder_b1': tf.Variable(tf.random_normal([hidden_layer])),
|
||||
'decoder_b2': tf.Variable(tf.random_normal([input_size])),
|
||||
}
|
||||
|
||||
first_layer_encoder = tf.nn.sigmoid(tf.add(tf.matmul(X, weights['encoder_h1']), biases['encoder_b1']))
|
||||
second_layer_encoder = tf.nn.sigmoid(tf.add(tf.matmul(first_layer_encoder, weights['encoder_h2']), biases['encoder_b2']))
|
||||
first_layer_decoder = tf.nn.sigmoid(tf.add(tf.matmul(second_layer_encoder, weights['decoder_h1']), biases['decoder_b1']))
|
||||
second_layer_decoder = tf.nn.sigmoid(tf.add(tf.matmul(first_layer_decoder, weights['decoder_h2']), biases['decoder_b2']))
|
||||
cost = tf.reduce_mean(tf.pow(X - second_layer_decoder, 2))
|
||||
optimizer = tf.train.RMSPropOptimizer(learning_rate).minimize(cost)
|
||||
sess = tf.InteractiveSession()
|
||||
sess.run(tf.global_variables_initializer())
|
||||
|
||||
for i in range(epoch):
|
||||
last_time = time.time()
|
||||
_, loss = sess.run([optimizer, cost], feed_dict={X: input_})
|
||||
if (i + 1) % 10 == 0:
|
||||
print('epoch:', i + 1, 'loss:', loss, 'time:', time.time() - last_time)
|
||||
|
||||
vectors = sess.run(second_layer_encoder, feed_dict={X: input_})
|
||||
tf.reset_default_graph()
|
||||
return vectors
|
||||
+19
@@ -0,0 +1,19 @@
|
||||
import tensorflow as tf
|
||||
import numpy as np
|
||||
|
||||
class Model:
|
||||
def __init__(self, learning_rate, num_layers, size, size_layer, output_size, forget_bias = 0.1):
|
||||
|
||||
def lstm_cell(size_layer):
|
||||
return tf.nn.rnn_cell.LSTMCell(size_layer, state_is_tuple = False)
|
||||
rnn_cells = tf.nn.rnn_cell.MultiRNNCell([lstm_cell(size_layer) for _ in range(num_layers)], state_is_tuple = False)
|
||||
self.X = tf.placeholder(tf.float32, (None, None, size))
|
||||
self.Y = tf.placeholder(tf.float32, (None, output_size))
|
||||
drop = tf.contrib.rnn.DropoutWrapper(rnn_cells, output_keep_prob = forget_bias)
|
||||
self.hidden_layer = tf.placeholder(tf.float32, (None, num_layers * 2 * size_layer))
|
||||
self.outputs, self.last_state = tf.nn.dynamic_rnn(drop, self.X, initial_state = self.hidden_layer, dtype = tf.float32)
|
||||
rnn_W = tf.Variable(tf.random_normal((size_layer, output_size)))
|
||||
rnn_B = tf.Variable(tf.random_normal([output_size]))
|
||||
self.logits = tf.matmul(self.outputs[-1], rnn_W) + rnn_B
|
||||
self.cost = tf.reduce_mean(tf.square(self.Y - self.logits))
|
||||
self.optimizer = tf.train.AdamOptimizer(learning_rate).minimize(self.cost)
|
||||
+644
@@ -0,0 +1,644 @@
|
||||
{
|
||||
"cells": [
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 1,
|
||||
"metadata": {
|
||||
"collapsed": true
|
||||
},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"import tensorflow as tf\n",
|
||||
"import numpy as np\n",
|
||||
"import matplotlib.pyplot as plt\n",
|
||||
"import seaborn as sns\n",
|
||||
"import pandas as pd\n",
|
||||
"from sklearn.preprocessing import MinMaxScaler\n",
|
||||
"import model\n",
|
||||
"import time\n",
|
||||
"from datetime import datetime\n",
|
||||
"from datetime import timedelta\n",
|
||||
"sns.set()"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 2,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/html": [
|
||||
"<div>\n",
|
||||
"<style>\n",
|
||||
" .dataframe thead tr:only-child th {\n",
|
||||
" text-align: right;\n",
|
||||
" }\n",
|
||||
"\n",
|
||||
" .dataframe thead th {\n",
|
||||
" text-align: left;\n",
|
||||
" }\n",
|
||||
"\n",
|
||||
" .dataframe tbody tr th {\n",
|
||||
" vertical-align: top;\n",
|
||||
" }\n",
|
||||
"</style>\n",
|
||||
"<table border=\"1\" class=\"dataframe\">\n",
|
||||
" <thead>\n",
|
||||
" <tr style=\"text-align: right;\">\n",
|
||||
" <th></th>\n",
|
||||
" <th>Date</th>\n",
|
||||
" <th>Open</th>\n",
|
||||
" <th>High</th>\n",
|
||||
" <th>Low</th>\n",
|
||||
" <th>Close</th>\n",
|
||||
" <th>Adj Close</th>\n",
|
||||
" <th>Volume</th>\n",
|
||||
" </tr>\n",
|
||||
" </thead>\n",
|
||||
" <tbody>\n",
|
||||
" <tr>\n",
|
||||
" <th>0</th>\n",
|
||||
" <td>2016-11-02</td>\n",
|
||||
" <td>778.200012</td>\n",
|
||||
" <td>781.650024</td>\n",
|
||||
" <td>763.450012</td>\n",
|
||||
" <td>768.700012</td>\n",
|
||||
" <td>768.700012</td>\n",
|
||||
" <td>1872400</td>\n",
|
||||
" </tr>\n",
|
||||
" <tr>\n",
|
||||
" <th>1</th>\n",
|
||||
" <td>2016-11-03</td>\n",
|
||||
" <td>767.250000</td>\n",
|
||||
" <td>769.950012</td>\n",
|
||||
" <td>759.030029</td>\n",
|
||||
" <td>762.130005</td>\n",
|
||||
" <td>762.130005</td>\n",
|
||||
" <td>1943200</td>\n",
|
||||
" </tr>\n",
|
||||
" <tr>\n",
|
||||
" <th>2</th>\n",
|
||||
" <td>2016-11-04</td>\n",
|
||||
" <td>750.659973</td>\n",
|
||||
" <td>770.359985</td>\n",
|
||||
" <td>750.560974</td>\n",
|
||||
" <td>762.020020</td>\n",
|
||||
" <td>762.020020</td>\n",
|
||||
" <td>2134800</td>\n",
|
||||
" </tr>\n",
|
||||
" <tr>\n",
|
||||
" <th>3</th>\n",
|
||||
" <td>2016-11-07</td>\n",
|
||||
" <td>774.500000</td>\n",
|
||||
" <td>785.190002</td>\n",
|
||||
" <td>772.549988</td>\n",
|
||||
" <td>782.520020</td>\n",
|
||||
" <td>782.520020</td>\n",
|
||||
" <td>1585100</td>\n",
|
||||
" </tr>\n",
|
||||
" <tr>\n",
|
||||
" <th>4</th>\n",
|
||||
" <td>2016-11-08</td>\n",
|
||||
" <td>783.400024</td>\n",
|
||||
" <td>795.632996</td>\n",
|
||||
" <td>780.190002</td>\n",
|
||||
" <td>790.510010</td>\n",
|
||||
" <td>790.510010</td>\n",
|
||||
" <td>1350800</td>\n",
|
||||
" </tr>\n",
|
||||
" </tbody>\n",
|
||||
"</table>\n",
|
||||
"</div>"
|
||||
],
|
||||
"text/plain": [
|
||||
" Date Open High Low Close Adj Close \\\n",
|
||||
"0 2016-11-02 778.200012 781.650024 763.450012 768.700012 768.700012 \n",
|
||||
"1 2016-11-03 767.250000 769.950012 759.030029 762.130005 762.130005 \n",
|
||||
"2 2016-11-04 750.659973 770.359985 750.560974 762.020020 762.020020 \n",
|
||||
"3 2016-11-07 774.500000 785.190002 772.549988 782.520020 782.520020 \n",
|
||||
"4 2016-11-08 783.400024 795.632996 780.190002 790.510010 790.510010 \n",
|
||||
"\n",
|
||||
" Volume \n",
|
||||
"0 1872400 \n",
|
||||
"1 1943200 \n",
|
||||
"2 2134800 \n",
|
||||
"3 1585100 \n",
|
||||
"4 1350800 "
|
||||
]
|
||||
},
|
||||
"execution_count": 2,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"df = pd.read_csv('GOOG-year.csv')\n",
|
||||
"date_ori = pd.to_datetime(df.iloc[:, 0]).tolist()\n",
|
||||
"df.head()"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 3,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"minmax = MinMaxScaler().fit(df.iloc[:, 3].values.reshape((-1,1)))\n",
|
||||
"close_normalize = minmax.transform(df.iloc[:, 3].values.reshape((-1,1))).reshape((-1))"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 4,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"(252,)"
|
||||
]
|
||||
},
|
||||
"execution_count": 4,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"close_normalize.shape"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 5,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"class encoder:\n",
|
||||
" def __init__(self, input_, dimension = 2, learning_rate = 0.01, hidden_layer = 256, epoch = 20):\n",
|
||||
" input_size = input_.shape[1]\n",
|
||||
" self.X = tf.placeholder(\"float\", [None, input_.shape[1]])\n",
|
||||
" \n",
|
||||
" weights = {\n",
|
||||
" 'encoder_h1': tf.Variable(tf.random_normal([input_size, hidden_layer])),\n",
|
||||
" 'encoder_h2': tf.Variable(tf.random_normal([hidden_layer, dimension])),\n",
|
||||
" 'decoder_h1': tf.Variable(tf.random_normal([dimension, hidden_layer])),\n",
|
||||
" 'decoder_h2': tf.Variable(tf.random_normal([hidden_layer, input_size])),\n",
|
||||
" }\n",
|
||||
" \n",
|
||||
" biases = {\n",
|
||||
" 'encoder_b1': tf.Variable(tf.random_normal([hidden_layer])),\n",
|
||||
" 'encoder_b2': tf.Variable(tf.random_normal([dimension])),\n",
|
||||
" 'decoder_b1': tf.Variable(tf.random_normal([hidden_layer])),\n",
|
||||
" 'decoder_b2': tf.Variable(tf.random_normal([input_size])),\n",
|
||||
" }\n",
|
||||
" \n",
|
||||
" first_layer_encoder = tf.nn.sigmoid(tf.add(tf.matmul(self.X, weights['encoder_h1']), biases['encoder_b1']))\n",
|
||||
" self.second_layer_encoder = tf.nn.sigmoid(tf.add(tf.matmul(first_layer_encoder, weights['encoder_h2']), biases['encoder_b2']))\n",
|
||||
" first_layer_decoder = tf.nn.sigmoid(tf.add(tf.matmul(self.second_layer_encoder, weights['decoder_h1']), biases['decoder_b1']))\n",
|
||||
" second_layer_decoder = tf.nn.sigmoid(tf.add(tf.matmul(first_layer_decoder, weights['decoder_h2']), biases['decoder_b2']))\n",
|
||||
" self.cost = tf.reduce_mean(tf.pow(self.X - second_layer_decoder, 2))\n",
|
||||
" self.optimizer = tf.train.RMSPropOptimizer(learning_rate).minimize(self.cost)\n",
|
||||
" self.sess = tf.InteractiveSession()\n",
|
||||
" self.sess.run(tf.global_variables_initializer())\n",
|
||||
" \n",
|
||||
" for i in range(epoch):\n",
|
||||
" last_time = time.time()\n",
|
||||
" _, loss = self.sess.run([self.optimizer, self.cost], feed_dict={self.X: input_})\n",
|
||||
" if (i + 1) % 10 == 0:\n",
|
||||
" print('epoch:', i + 1, 'loss:', loss, 'time:', time.time() - last_time)\n",
|
||||
" \n",
|
||||
" def encode(self, input_):\n",
|
||||
" return self.sess.run(self.second_layer_encoder, feed_dict={self.X: input_})"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 6,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"epoch: 10 loss: 0.150638 time: 0.0008144378662109375\n",
|
||||
"epoch: 20 loss: 0.0652009 time: 0.0007433891296386719\n",
|
||||
"epoch: 30 loss: 0.0556741 time: 0.0007736682891845703\n",
|
||||
"epoch: 40 loss: 0.0430575 time: 0.0007085800170898438\n",
|
||||
"epoch: 50 loss: 0.0287333 time: 0.0006804466247558594\n",
|
||||
"epoch: 60 loss: 0.0152949 time: 0.0007014274597167969\n",
|
||||
"epoch: 70 loss: 0.0436488 time: 0.0006766319274902344\n",
|
||||
"epoch: 80 loss: 0.0830372 time: 0.0007102489471435547\n",
|
||||
"epoch: 90 loss: 0.0531746 time: 0.0007026195526123047\n",
|
||||
"epoch: 100 loss: 0.0455618 time: 0.0006778240203857422\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"(252, 32)"
|
||||
]
|
||||
},
|
||||
"execution_count": 6,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"tf.reset_default_graph()\n",
|
||||
"Encoder=encoder(close_normalize.reshape((-1,1)), 32, 0.01, 128, 100)\n",
|
||||
"thought_vector = Encoder.encode(close_normalize.reshape((-1,1)))\n",
|
||||
"thought_vector.shape"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 7,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"from sklearn.ensemble import *\n",
|
||||
"ada = AdaBoostRegressor(n_estimators=500, learning_rate=0.1)\n",
|
||||
"bagging = BaggingRegressor(n_estimators=500)\n",
|
||||
"et = ExtraTreesRegressor(n_estimators=500)\n",
|
||||
"gb = GradientBoostingRegressor(n_estimators=500, learning_rate=0.1)\n",
|
||||
"rf = RandomForestRegressor(n_estimators=500)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 8,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"RandomForestRegressor(bootstrap=True, criterion='mse', max_depth=None,\n",
|
||||
" max_features='auto', max_leaf_nodes=None,\n",
|
||||
" min_impurity_decrease=0.0, min_impurity_split=None,\n",
|
||||
" min_samples_leaf=1, min_samples_split=2,\n",
|
||||
" min_weight_fraction_leaf=0.0, n_estimators=500, n_jobs=1,\n",
|
||||
" oob_score=False, random_state=None, verbose=0, warm_start=False)"
|
||||
]
|
||||
},
|
||||
"execution_count": 8,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"ada.fit(thought_vector[:-1, :], close_normalize[1:])\n",
|
||||
"bagging.fit(thought_vector[:-1, :], close_normalize[1:])\n",
|
||||
"et.fit(thought_vector[:-1, :], close_normalize[1:])\n",
|
||||
"gb.fit(thought_vector[:-1, :], close_normalize[1:])\n",
|
||||
"rf.fit(thought_vector[:-1, :], close_normalize[1:])"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 9,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"image/png": "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 truncated
|
||||
"text/plain": [
|
||||
"<matplotlib.figure.Figure at 0x7f3d2b075dd8>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
"output_type": "display_data"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"plt.bar(np.arange(32), ada.feature_importances_)\n",
|
||||
"plt.title('ada boost important feature')\n",
|
||||
"plt.show()"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 10,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"image/png": "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 truncated
|
||||
"text/plain": [
|
||||
"<matplotlib.figure.Figure at 0x7f3d2a6b7048>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
"output_type": "display_data"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"plt.bar(np.arange(32), et.feature_importances_)\n",
|
||||
"plt.title('et important feature')\n",
|
||||
"plt.show()"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 11,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"image/png": "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 truncated
|
||||
"text/plain": [
|
||||
"<matplotlib.figure.Figure at 0x7f3d2a3a2470>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
"output_type": "display_data"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"plt.bar(np.arange(32), gb.feature_importances_)\n",
|
||||
"plt.title('gb important feature')\n",
|
||||
"plt.show()"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 12,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAXoAAAEICAYAAABRSj9aAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3X90U+X9B/B32rtECm1JsdwUqHVKFLQFURgVgUBqjLZA\nKU03PepkWjkbCi24IuKxX+1gQ8xWWvUoWGDHM/WMIoXRMHtKK9SxOtANMjqZoHSk0gaECAW0adL7\n/YNjJPZH0jZpmuv79VeS+9znfp6H+M71yc2tQpIkCUREJFsRoS6AiIiCi0FPRCRzDHoiIplj0BMR\nyRyDnohI5hj0REQyx6CngPv888+RmZmJSZMm4c033+y0PTc3FxUVFSGobHB4++23MW3aNEyaNAkO\nhyPU5dAPgILX0VOgrVq1CsOGDcOqVatCXYpPDz/8MObNm4ecnJyA9KfX67F69WpMmzaty+3t7e24\n4447sHXrVowbN65fx2pqakJaWhoaGhogCEK/+iJ54xk9BYzL5QIAnDp1ClqtNsTV9EySJHR0dAz4\ncc+ePYu2tjaMHTt2wI/9faGaAxp4PKOnftHr9bj//vuxa9cunDhxArfffjsOHjwIQRAgCAK2b9+O\nH//4x177XH0WvX37dmzduhUTJkzA9u3bERsbi5deegmNjY0oKSmB0+nEihUrkJWVBQBYuXIllEol\nbDYbDh06hFtvvRUvvvgiRo8eDQD45z//iTVr1qCxsRHXX389nn32Wdx+++2e495+++34xz/+gf/8\n5z8wGAzYvXu3p9asrCwUFhZi9erVqK6uRmtrK66//nqsWrUKkydPBgC8/PLLOH78OFQqFaqrqzFq\n1CisXbsWKSkpKCgowK5du6BUKhEZGYnFixfj8ccf94z7xIkTyMrKwtdff42oqCikpKTgzTffxGef\nfYbVq1ejoaEBarUaeXl5SE9PBwDs3bsX69evx8mTJxEdHQ2TyYQlS5YAAGbNmoXm5mZERUUBADZv\n3oy//e1v+N///gez2Qyg81n/9+dg165diIuLw+9+9zvU1dVBoVBgwYIFWLp0KSIjI4P1tqGBJhH1\nw+zZs6V58+ZJp06dkr7++mtJkiTpoYcekrZu3drtPldvf/fdd6Xx48dL27Ztk1wul/SHP/xB0ul0\n0vPPPy+1tbVJH3zwgXTbbbdJFy9elCRJkp5++mnptttukw4cOCC1tbVJv/nNb6T7779fkiRJcjgc\n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 truncated
|
||||
"text/plain": [
|
||||
"<matplotlib.figure.Figure at 0x7f3d2ab3ba20>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
"output_type": "display_data"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"plt.bar(np.arange(32), rf.feature_importances_)\n",
|
||||
"plt.title('rf important feature')\n",
|
||||
"plt.show()"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 13,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"ada_pred=ada.predict(thought_vector)\n",
|
||||
"bagging_pred=bagging.predict(thought_vector)\n",
|
||||
"et_pred=et.predict(thought_vector)\n",
|
||||
"gb_pred=gb.predict(thought_vector)\n",
|
||||
"rf_pred=rf.predict(thought_vector)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 14,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"ada_actual = np.hstack([close_normalize[0],ada_pred[:-1]])\n",
|
||||
"bagging_actual = np.hstack([close_normalize[0],bagging_pred[:-1]])\n",
|
||||
"et_actual = np.hstack([close_normalize[0],et_pred[:-1]])\n",
|
||||
"gb_actual = np.hstack([close_normalize[0],gb_pred[:-1]])\n",
|
||||
"rf_actual = np.hstack([close_normalize[0],rf_pred[:-1]])\n",
|
||||
"stack_predict = np.vstack([ada_actual,bagging_actual,et_actual,gb_actual,rf_actual,close_normalize]).T\n",
|
||||
"corr_df = pd.DataFrame(stack_predict)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 15,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"image/png": "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 truncated
|
||||
"text/plain": [
|
||||
"<matplotlib.figure.Figure at 0x7f3d2a3aa780>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
"output_type": "display_data"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"sns.heatmap(corr_df.corr(), annot=True)\n",
|
||||
"plt.show()"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"# Wow, I do not expect this heatmap. Totally a heat!"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 16,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"XGBRegressor(base_score=0.5, colsample_bylevel=1, colsample_bytree=1, gamma=0,\n",
|
||||
" learning_rate=0.05, max_delta_step=0, max_depth=7,\n",
|
||||
" min_child_weight=1, missing=None, n_estimators=10000, nthread=-1,\n",
|
||||
" objective='reg:logistic', reg_alpha=0, reg_lambda=1,\n",
|
||||
" scale_pos_weight=1, seed=0, silent=True, subsample=1)"
|
||||
]
|
||||
},
|
||||
"execution_count": 16,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"import xgboost as xgb\n",
|
||||
"params_xgd = {\n",
|
||||
" 'max_depth': 7,\n",
|
||||
" 'objective': 'reg:logistic',\n",
|
||||
" 'learning_rate': 0.05,\n",
|
||||
" 'n_estimators': 10000\n",
|
||||
" }\n",
|
||||
"train_Y = close_normalize[1:]\n",
|
||||
"clf = xgb.XGBRegressor(**params_xgd)\n",
|
||||
"clf.fit(stack_predict[:-1,:],train_Y, eval_set=[(stack_predict[:-1,:],train_Y)], \n",
|
||||
" eval_metric='rmse', early_stopping_rounds=20, verbose=False)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 17,
|
||||
"metadata": {
|
||||
"collapsed": true
|
||||
},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"xgb_pred = clf.predict(stack_predict)\n",
|
||||
"xgb_actual = np.hstack([close_normalize[0],xgb_pred[:-1]])\n",
|
||||
"date_original=pd.Series(date_ori).dt.strftime(date_format='%Y-%m-%d').tolist()"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 18,
|
||||
"metadata": {
|
||||
"collapsed": true
|
||||
},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"def reverse_close(array):\n",
|
||||
" return minmax.inverse_transform(array.reshape((-1,1))).reshape((-1))"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 25,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"image/png": "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 truncated
|
||||
"text/plain": [
|
||||
"<matplotlib.figure.Figure at 0x7f3d2811e208>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
"output_type": "display_data"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"plt.figure(figsize = (15,6))\n",
|
||||
"x_range = np.arange(df.Close.shape[0])\n",
|
||||
"plt.plot(x_range, df.Close, label = 'Real Close')\n",
|
||||
"plt.plot(x_range, reverse_close(ada_pred), label = 'ada Close')\n",
|
||||
"plt.plot(x_range, reverse_close(bagging_pred), label = 'bagging Close')\n",
|
||||
"plt.plot(x_range, reverse_close(et_pred), label = 'et Close')\n",
|
||||
"plt.plot(x_range, reverse_close(gb_pred), label = 'gb Close')\n",
|
||||
"plt.plot(x_range, reverse_close(rf_pred), label = 'rf Close')\n",
|
||||
"plt.plot(x_range, reverse_close(xgb_pred), label = 'xgb stacked Close')\n",
|
||||
"plt.legend()\n",
|
||||
"plt.xticks(x_range[::50], date_original[::50])\n",
|
||||
"plt.title('stacked')\n",
|
||||
"plt.show()"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 20,
|
||||
"metadata": {
|
||||
"collapsed": true
|
||||
},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"ada_list = ada_pred.tolist()\n",
|
||||
"bagging_list = bagging_pred.tolist()\n",
|
||||
"et_list = et_pred.tolist()\n",
|
||||
"gb_list = gb_pred.tolist()\n",
|
||||
"rf_list = rf_pred.tolist()\n",
|
||||
"xgb_list = xgb_pred.tolist()\n",
|
||||
"def predict(count, history = 5):\n",
|
||||
" for i in range(count):\n",
|
||||
" roll = np.array(xgb_list[-history:])\n",
|
||||
" thought_vector = Encoder.encode(roll.reshape((-1,1)))\n",
|
||||
" ada_pred=ada.predict(thought_vector)\n",
|
||||
" bagging_pred=bagging.predict(thought_vector)\n",
|
||||
" et_pred=et.predict(thought_vector)\n",
|
||||
" gb_pred=gb.predict(thought_vector)\n",
|
||||
" rf_pred=rf.predict(thought_vector)\n",
|
||||
" ada_list.append(ada_pred[-1])\n",
|
||||
" bagging_list.append(bagging_pred[-1])\n",
|
||||
" et_list.append(et_pred[-1])\n",
|
||||
" gb_list.append(gb_pred[-1])\n",
|
||||
" rf_list.append(rf_pred[-1])\n",
|
||||
" ada_actual = np.hstack([xgb_list[-history],ada_pred[:-1]])\n",
|
||||
" bagging_actual = np.hstack([xgb_list[-history],bagging_pred[:-1]])\n",
|
||||
" et_actual = np.hstack([xgb_list[-history],et_pred[:-1]])\n",
|
||||
" gb_actual = np.hstack([xgb_list[-history],gb_pred[:-1]])\n",
|
||||
" rf_actual = np.hstack([xgb_list[-history],rf_pred[:-1]])\n",
|
||||
" stack_predict = np.vstack([ada_actual,bagging_actual,et_actual,gb_actual,rf_actual,xgb_list[-history:]]).T\n",
|
||||
" xgb_pred = clf.predict(stack_predict)\n",
|
||||
" xgb_list.append(xgb_pred[-1])\n",
|
||||
" date_ori.append(date_ori[-1]+timedelta(days=1))"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 21,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"predict(30, history = 5)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 29,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"image/png": "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 truncated
|
||||
"text/plain": [
|
||||
"<matplotlib.figure.Figure at 0x7f3d281b4978>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
"output_type": "display_data"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"plt.figure(figsize = (15,6))\n",
|
||||
"x_range = np.arange(df.Close.shape[0])\n",
|
||||
"x_range_future = np.arange(len(xgb_list))\n",
|
||||
"plt.plot(x_range, df.Close, label = 'Real Close')\n",
|
||||
"plt.plot(x_range_future, reverse_close(np.array(ada_list)), label = 'ada Close')\n",
|
||||
"plt.plot(x_range_future, reverse_close(np.array(bagging_list)), label = 'bagging Close')\n",
|
||||
"plt.plot(x_range_future, reverse_close(np.array(et_list)), label = 'et Close')\n",
|
||||
"plt.plot(x_range_future, reverse_close(np.array(gb_list)), label = 'gb Close')\n",
|
||||
"plt.plot(x_range_future, reverse_close(np.array(rf_list)), label = 'rf Close')\n",
|
||||
"plt.plot(x_range_future, reverse_close(np.array(xgb_list)), label = 'xgb stacked Close')\n",
|
||||
"plt.legend()\n",
|
||||
"plt.xticks(x_range_future[::50], pd.Series(date_ori).dt.strftime(date_format='%Y-%m-%d').tolist()[::50])\n",
|
||||
"plt.title('stacked')\n",
|
||||
"plt.show()"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {
|
||||
"collapsed": true
|
||||
},
|
||||
"outputs": [],
|
||||
"source": []
|
||||
}
|
||||
],
|
||||
"metadata": {
|
||||
"kernelspec": {
|
||||
"display_name": "Python 3",
|
||||
"language": "python",
|
||||
"name": "python3"
|
||||
},
|
||||
"language_info": {
|
||||
"codemirror_mode": {
|
||||
"name": "ipython",
|
||||
"version": 3
|
||||
},
|
||||
"file_extension": ".py",
|
||||
"mimetype": "text/x-python",
|
||||
"name": "python",
|
||||
"nbconvert_exporter": "python",
|
||||
"pygments_lexer": "ipython3",
|
||||
"version": "3.5.2"
|
||||
}
|
||||
},
|
||||
"nbformat": 4,
|
||||
"nbformat_minor": 2
|
||||
}
|
||||
+797
@@ -0,0 +1,797 @@
|
||||
{
|
||||
"cells": [
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 1,
|
||||
"metadata": {
|
||||
"collapsed": true
|
||||
},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"import tensorflow as tf\n",
|
||||
"from sklearn.model_selection import KFold, cross_val_score, train_test_split\n",
|
||||
"from sklearn.metrics import mean_squared_error\n",
|
||||
"import xgboost as xgb\n",
|
||||
"import numpy as np\n",
|
||||
"import matplotlib.pyplot as plt\n",
|
||||
"from sklearn.preprocessing import MinMaxScaler\n",
|
||||
"import seaborn as sns\n",
|
||||
"import pandas as pd\n",
|
||||
"import autoencoder\n",
|
||||
"import model\n",
|
||||
"from datetime import datetime\n",
|
||||
"from datetime import timedelta\n",
|
||||
"sns.set()"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"## Deep Feed-forward Auto-Encoder Neural Network to reduce dimension + Deep Recurrent Neural Network + ARIMA + Extreme Boosting Gradient Regressor"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"### Our target is Close market"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 2,
|
||||
"metadata": {
|
||||
"collapsed": true
|
||||
},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"google = pd.read_csv('GOOG.csv')\n",
|
||||
"eur_myr = pd.read_csv('eur-myr.csv')\n",
|
||||
"usd_myr = pd.read_csv('usd-myr.csv')\n",
|
||||
"oil = pd.read_csv('oil.csv')"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 3,
|
||||
"metadata": {
|
||||
"collapsed": true
|
||||
},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"google['oil_price'] = oil['Price']\n",
|
||||
"google['oil_open'] = oil['Open']\n",
|
||||
"google['oil_high'] = oil['High']\n",
|
||||
"google['oil_low'] = oil['Low']\n",
|
||||
"google['eur_myr'] = eur_myr['Unnamed: 1']\n",
|
||||
"google['usd_myr'] = usd_myr['Unnamed: 1']"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 4,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/html": [
|
||||
"<div>\n",
|
||||
"<style>\n",
|
||||
" .dataframe thead tr:only-child th {\n",
|
||||
" text-align: right;\n",
|
||||
" }\n",
|
||||
"\n",
|
||||
" .dataframe thead th {\n",
|
||||
" text-align: left;\n",
|
||||
" }\n",
|
||||
"\n",
|
||||
" .dataframe tbody tr th {\n",
|
||||
" vertical-align: top;\n",
|
||||
" }\n",
|
||||
"</style>\n",
|
||||
"<table border=\"1\" class=\"dataframe\">\n",
|
||||
" <thead>\n",
|
||||
" <tr style=\"text-align: right;\">\n",
|
||||
" <th></th>\n",
|
||||
" <th>Date</th>\n",
|
||||
" <th>Open</th>\n",
|
||||
" <th>High</th>\n",
|
||||
" <th>Low</th>\n",
|
||||
" <th>Close</th>\n",
|
||||
" <th>Adj Close</th>\n",
|
||||
" <th>Volume</th>\n",
|
||||
" <th>oil_price</th>\n",
|
||||
" <th>oil_open</th>\n",
|
||||
" <th>oil_high</th>\n",
|
||||
" <th>oil_low</th>\n",
|
||||
" <th>eur_myr</th>\n",
|
||||
" <th>usd_myr</th>\n",
|
||||
" </tr>\n",
|
||||
" </thead>\n",
|
||||
" <tbody>\n",
|
||||
" <tr>\n",
|
||||
" <th>0</th>\n",
|
||||
" <td>2017-10-02</td>\n",
|
||||
" <td>959.979980</td>\n",
|
||||
" <td>962.539978</td>\n",
|
||||
" <td>947.840027</td>\n",
|
||||
" <td>953.270020</td>\n",
|
||||
" <td>953.270020</td>\n",
|
||||
" <td>1283400</td>\n",
|
||||
" <td>54.27</td>\n",
|
||||
" <td>54.26</td>\n",
|
||||
" <td>54.39</td>\n",
|
||||
" <td>54.22</td>\n",
|
||||
" <td>4.9260</td>\n",
|
||||
" <td>4.226</td>\n",
|
||||
" </tr>\n",
|
||||
" <tr>\n",
|
||||
" <th>1</th>\n",
|
||||
" <td>2017-10-03</td>\n",
|
||||
" <td>954.000000</td>\n",
|
||||
" <td>958.000000</td>\n",
|
||||
" <td>949.140015</td>\n",
|
||||
" <td>957.789978</td>\n",
|
||||
" <td>957.789978</td>\n",
|
||||
" <td>888300</td>\n",
|
||||
" <td>54.24</td>\n",
|
||||
" <td>54.59</td>\n",
|
||||
" <td>55.22</td>\n",
|
||||
" <td>53.89</td>\n",
|
||||
" <td>4.9232</td>\n",
|
||||
" <td>4.232</td>\n",
|
||||
" </tr>\n",
|
||||
" <tr>\n",
|
||||
" <th>2</th>\n",
|
||||
" <td>2017-10-04</td>\n",
|
||||
" <td>957.000000</td>\n",
|
||||
" <td>960.390015</td>\n",
|
||||
" <td>950.690002</td>\n",
|
||||
" <td>951.679993</td>\n",
|
||||
" <td>951.679993</td>\n",
|
||||
" <td>952400</td>\n",
|
||||
" <td>54.38</td>\n",
|
||||
" <td>54.08</td>\n",
|
||||
" <td>54.85</td>\n",
|
||||
" <td>53.93</td>\n",
|
||||
" <td>4.9255</td>\n",
|
||||
" <td>4.231</td>\n",
|
||||
" </tr>\n",
|
||||
" <tr>\n",
|
||||
" <th>3</th>\n",
|
||||
" <td>2017-10-05</td>\n",
|
||||
" <td>955.489990</td>\n",
|
||||
" <td>970.909973</td>\n",
|
||||
" <td>955.179993</td>\n",
|
||||
" <td>969.960022</td>\n",
|
||||
" <td>969.960022</td>\n",
|
||||
" <td>1213800</td>\n",
|
||||
" <td>54.15</td>\n",
|
||||
" <td>54.16</td>\n",
|
||||
" <td>54.46</td>\n",
|
||||
" <td>53.75</td>\n",
|
||||
" <td>4.9239</td>\n",
|
||||
" <td>4.238</td>\n",
|
||||
" </tr>\n",
|
||||
" <tr>\n",
|
||||
" <th>4</th>\n",
|
||||
" <td>2017-10-06</td>\n",
|
||||
" <td>966.700012</td>\n",
|
||||
" <td>979.460022</td>\n",
|
||||
" <td>963.359985</td>\n",
|
||||
" <td>978.890015</td>\n",
|
||||
" <td>978.890015</td>\n",
|
||||
" <td>1173900</td>\n",
|
||||
" <td>53.90</td>\n",
|
||||
" <td>52.80</td>\n",
|
||||
" <td>54.20</td>\n",
|
||||
" <td>52.25</td>\n",
|
||||
" <td>4.9251</td>\n",
|
||||
" <td>4.241</td>\n",
|
||||
" </tr>\n",
|
||||
" </tbody>\n",
|
||||
"</table>\n",
|
||||
"</div>"
|
||||
],
|
||||
"text/plain": [
|
||||
" Date Open High Low Close Adj Close \\\n",
|
||||
"0 2017-10-02 959.979980 962.539978 947.840027 953.270020 953.270020 \n",
|
||||
"1 2017-10-03 954.000000 958.000000 949.140015 957.789978 957.789978 \n",
|
||||
"2 2017-10-04 957.000000 960.390015 950.690002 951.679993 951.679993 \n",
|
||||
"3 2017-10-05 955.489990 970.909973 955.179993 969.960022 969.960022 \n",
|
||||
"4 2017-10-06 966.700012 979.460022 963.359985 978.890015 978.890015 \n",
|
||||
"\n",
|
||||
" Volume oil_price oil_open oil_high oil_low eur_myr usd_myr \n",
|
||||
"0 1283400 54.27 54.26 54.39 54.22 4.9260 4.226 \n",
|
||||
"1 888300 54.24 54.59 55.22 53.89 4.9232 4.232 \n",
|
||||
"2 952400 54.38 54.08 54.85 53.93 4.9255 4.231 \n",
|
||||
"3 1213800 54.15 54.16 54.46 53.75 4.9239 4.238 \n",
|
||||
"4 1173900 53.90 52.80 54.20 52.25 4.9251 4.241 "
|
||||
]
|
||||
},
|
||||
"execution_count": 4,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"date_ori = pd.to_datetime(google.iloc[:, 0]).tolist()\n",
|
||||
"google.head()"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 5,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/html": [
|
||||
"<div>\n",
|
||||
"<style>\n",
|
||||
" .dataframe thead tr:only-child th {\n",
|
||||
" text-align: right;\n",
|
||||
" }\n",
|
||||
"\n",
|
||||
" .dataframe thead th {\n",
|
||||
" text-align: left;\n",
|
||||
" }\n",
|
||||
"\n",
|
||||
" .dataframe tbody tr th {\n",
|
||||
" vertical-align: top;\n",
|
||||
" }\n",
|
||||
"</style>\n",
|
||||
"<table border=\"1\" class=\"dataframe\">\n",
|
||||
" <thead>\n",
|
||||
" <tr style=\"text-align: right;\">\n",
|
||||
" <th></th>\n",
|
||||
" <th>0</th>\n",
|
||||
" <th>1</th>\n",
|
||||
" <th>2</th>\n",
|
||||
" <th>3</th>\n",
|
||||
" <th>4</th>\n",
|
||||
" <th>5</th>\n",
|
||||
" <th>6</th>\n",
|
||||
" <th>7</th>\n",
|
||||
" <th>8</th>\n",
|
||||
" <th>9</th>\n",
|
||||
" <th>10</th>\n",
|
||||
" <th>11</th>\n",
|
||||
" </tr>\n",
|
||||
" </thead>\n",
|
||||
" <tbody>\n",
|
||||
" <tr>\n",
|
||||
" <th>0</th>\n",
|
||||
" <td>0.094605</td>\n",
|
||||
" <td>0.050227</td>\n",
|
||||
" <td>0.000000</td>\n",
|
||||
" <td>0.021539</td>\n",
|
||||
" <td>0.021539</td>\n",
|
||||
" <td>0.092326</td>\n",
|
||||
" <td>0.978389</td>\n",
|
||||
" <td>0.938202</td>\n",
|
||||
" <td>0.847145</td>\n",
|
||||
" <td>1.000000</td>\n",
|
||||
" <td>0.033373</td>\n",
|
||||
" <td>0.523804</td>\n",
|
||||
" </tr>\n",
|
||||
" <tr>\n",
|
||||
" <th>1</th>\n",
|
||||
" <td>0.000000</td>\n",
|
||||
" <td>0.000000</td>\n",
|
||||
" <td>0.018810</td>\n",
|
||||
" <td>0.082769</td>\n",
|
||||
" <td>0.082769</td>\n",
|
||||
" <td>0.000000</td>\n",
|
||||
" <td>0.972495</td>\n",
|
||||
" <td>1.000000</td>\n",
|
||||
" <td>1.000000</td>\n",
|
||||
" <td>0.935547</td>\n",
|
||||
" <td>0.000000</td>\n",
|
||||
" <td>0.714279</td>\n",
|
||||
" </tr>\n",
|
||||
" <tr>\n",
|
||||
" <th>2</th>\n",
|
||||
" <td>0.047461</td>\n",
|
||||
" <td>0.026441</td>\n",
|
||||
" <td>0.041238</td>\n",
|
||||
" <td>0.000000</td>\n",
|
||||
" <td>0.000000</td>\n",
|
||||
" <td>0.014979</td>\n",
|
||||
" <td>1.000000</td>\n",
|
||||
" <td>0.904495</td>\n",
|
||||
" <td>0.931860</td>\n",
|
||||
" <td>0.943359</td>\n",
|
||||
" <td>0.027411</td>\n",
|
||||
" <td>0.682536</td>\n",
|
||||
" </tr>\n",
|
||||
" <tr>\n",
|
||||
" <th>3</th>\n",
|
||||
" <td>0.023572</td>\n",
|
||||
" <td>0.142825</td>\n",
|
||||
" <td>0.106207</td>\n",
|
||||
" <td>0.247630</td>\n",
|
||||
" <td>0.247630</td>\n",
|
||||
" <td>0.076062</td>\n",
|
||||
" <td>0.954813</td>\n",
|
||||
" <td>0.919476</td>\n",
|
||||
" <td>0.860036</td>\n",
|
||||
" <td>0.908203</td>\n",
|
||||
" <td>0.008343</td>\n",
|
||||
" <td>0.904755</td>\n",
|
||||
" </tr>\n",
|
||||
" <tr>\n",
|
||||
" <th>4</th>\n",
|
||||
" <td>0.200918</td>\n",
|
||||
" <td>0.237416</td>\n",
|
||||
" <td>0.224569</td>\n",
|
||||
" <td>0.368600</td>\n",
|
||||
" <td>0.368600</td>\n",
|
||||
" <td>0.066738</td>\n",
|
||||
" <td>0.905698</td>\n",
|
||||
" <td>0.664794</td>\n",
|
||||
" <td>0.812155</td>\n",
|
||||
" <td>0.615234</td>\n",
|
||||
" <td>0.022643</td>\n",
|
||||
" <td>1.000000</td>\n",
|
||||
" </tr>\n",
|
||||
" </tbody>\n",
|
||||
"</table>\n",
|
||||
"</div>"
|
||||
],
|
||||
"text/plain": [
|
||||
" 0 1 2 3 4 5 6 \\\n",
|
||||
"0 0.094605 0.050227 0.000000 0.021539 0.021539 0.092326 0.978389 \n",
|
||||
"1 0.000000 0.000000 0.018810 0.082769 0.082769 0.000000 0.972495 \n",
|
||||
"2 0.047461 0.026441 0.041238 0.000000 0.000000 0.014979 1.000000 \n",
|
||||
"3 0.023572 0.142825 0.106207 0.247630 0.247630 0.076062 0.954813 \n",
|
||||
"4 0.200918 0.237416 0.224569 0.368600 0.368600 0.066738 0.905698 \n",
|
||||
"\n",
|
||||
" 7 8 9 10 11 \n",
|
||||
"0 0.938202 0.847145 1.000000 0.033373 0.523804 \n",
|
||||
"1 1.000000 1.000000 0.935547 0.000000 0.714279 \n",
|
||||
"2 0.904495 0.931860 0.943359 0.027411 0.682536 \n",
|
||||
"3 0.919476 0.860036 0.908203 0.008343 0.904755 \n",
|
||||
"4 0.664794 0.812155 0.615234 0.022643 1.000000 "
|
||||
]
|
||||
},
|
||||
"execution_count": 5,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"minmax = MinMaxScaler().fit(google.iloc[:, 4].values.reshape((-1,1)))\n",
|
||||
"df_log = MinMaxScaler().fit_transform(google.iloc[:, 1:].astype('float32'))\n",
|
||||
"df_log = pd.DataFrame(df_log)\n",
|
||||
"df_log.head()"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 6,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"epoch: 10 loss: 0.272533 time: 0.0006597042083740234\n",
|
||||
"epoch: 20 loss: 0.272347 time: 0.0007002353668212891\n",
|
||||
"epoch: 30 loss: 0.272032 time: 0.0006601810455322266\n",
|
||||
"epoch: 40 loss: 0.271498 time: 0.0006575584411621094\n",
|
||||
"epoch: 50 loss: 0.270591 time: 0.0006284713745117188\n",
|
||||
"epoch: 60 loss: 0.26905 time: 0.0006418228149414062\n",
|
||||
"epoch: 70 loss: 0.266411 time: 0.0006747245788574219\n",
|
||||
"epoch: 80 loss: 0.261816 time: 0.0007426738739013672\n",
|
||||
"epoch: 90 loss: 0.253563 time: 0.0006310939788818359\n",
|
||||
"epoch: 100 loss: 0.238662 time: 0.0006124973297119141\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"thought_vector = autoencoder.reducedimension(df_log.values, 4, 0.001, 128, 100)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 7,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"(23, 4)"
|
||||
]
|
||||
},
|
||||
"execution_count": 7,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"thought_vector.shape"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 8,
|
||||
"metadata": {
|
||||
"collapsed": true
|
||||
},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"num_layers = 1\n",
|
||||
"size_layer = 128\n",
|
||||
"timestamp = 5\n",
|
||||
"epoch = 500\n",
|
||||
"dropout_rate = 0.1"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 9,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"WARNING:tensorflow:<tensorflow.python.ops.rnn_cell_impl.LSTMCell object at 0x7ff23c502128>: Using a concatenated state is slower and will soon be deprecated. Use state_is_tuple=True.\n",
|
||||
"epoch: 100 avg loss: 0.226264208555\n",
|
||||
"epoch: 200 avg loss: 0.0964816752821\n",
|
||||
"epoch: 300 avg loss: 0.0767136435024\n",
|
||||
"epoch: 400 avg loss: 0.0496228779666\n",
|
||||
"epoch: 500 avg loss: 0.0471770029981\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"tf.reset_default_graph()\n",
|
||||
"modelnn = model.Model(0.01, num_layers, thought_vector.shape[1], size_layer, 1, dropout_rate)\n",
|
||||
"sess = tf.InteractiveSession()\n",
|
||||
"sess.run(tf.global_variables_initializer())\n",
|
||||
"for i in range(epoch):\n",
|
||||
" init_value = np.zeros((1, num_layers * 2 * size_layer))\n",
|
||||
" total_loss = 0\n",
|
||||
" for k in range(0, (thought_vector.shape[0] // timestamp) * timestamp, timestamp):\n",
|
||||
" batch_x = np.expand_dims(thought_vector[k: k + timestamp, :], axis = 0)\n",
|
||||
" batch_y = df_log.values[k + 1: k + timestamp + 1, 3].reshape([-1, 1])\n",
|
||||
" last_state, _, loss = sess.run([modelnn.last_state, \n",
|
||||
" modelnn.optimizer, \n",
|
||||
" modelnn.cost], feed_dict={modelnn.X: batch_x, \n",
|
||||
" modelnn.Y: batch_y, \n",
|
||||
" modelnn.hidden_layer: init_value})\n",
|
||||
" init_value = last_state\n",
|
||||
" total_loss += loss\n",
|
||||
" total_loss /= (thought_vector.shape[0] // timestamp)\n",
|
||||
" if (i + 1) % 100 == 0:\n",
|
||||
" print('epoch:', i + 1, 'avg loss:', total_loss)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 10,
|
||||
"metadata": {
|
||||
"collapsed": true
|
||||
},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"output_predict = np.zeros(((thought_vector.shape[0] // timestamp) * timestamp, 1))\n",
|
||||
"init_value = np.zeros((1, num_layers * 2 * size_layer))\n",
|
||||
"for k in range(0, (thought_vector.shape[0] // timestamp) * timestamp, timestamp):\n",
|
||||
" out_logits, last_state = sess.run([modelnn.logits, modelnn.last_state], feed_dict = {modelnn.X:np.expand_dims(thought_vector[k: k + timestamp, :], axis = 0),\n",
|
||||
" modelnn.hidden_layer: init_value})\n",
|
||||
" init_value = last_state\n",
|
||||
" output_predict[k: k + timestamp, :] = out_logits"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 11,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"Mean Square Error: 0.0510127100734\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"print('Mean Square Error:', np.mean(np.square(output_predict[:, 0] - df_log.iloc[1: (thought_vector.shape[0] // timestamp) * timestamp + 1, 0].values)))"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"Import ARIMA model using stats model"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 12,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stderr",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"/usr/local/lib/python3.5/dist-packages/statsmodels/compat/pandas.py:56: FutureWarning: The pandas.core.datetools module is deprecated and will be removed in a future version. Please use the pandas.tseries module instead.\n",
|
||||
" from pandas.core import datetools\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"-7.7935465732797873"
|
||||
]
|
||||
},
|
||||
"execution_count": 12,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"import statsmodels.api as sm\n",
|
||||
"from itertools import product\n",
|
||||
"from scipy import stats\n",
|
||||
" \n",
|
||||
"Qs = range(0, 1)\n",
|
||||
"qs = range(0, 2)\n",
|
||||
"Ps = range(0, 2)\n",
|
||||
"ps = range(0, 2)\n",
|
||||
"D=1\n",
|
||||
"parameters = product(ps, qs, Ps, Qs)\n",
|
||||
"parameters_list = list(parameters)\n",
|
||||
"best_aic = float(\"inf\")\n",
|
||||
"for param in parameters_list:\n",
|
||||
" try:\n",
|
||||
" arima=sm.tsa.statespace.SARIMAX(df_log.iloc[:,3].values, order=(param[0], D, param[1]), seasonal_order=(param[2], D, param[3], 1)).fit(disp=-1)\n",
|
||||
" except:\n",
|
||||
" continue\n",
|
||||
" aic = arima.aic\n",
|
||||
" if aic < best_aic and aic:\n",
|
||||
" best_arima = arima\n",
|
||||
" best_aic = aic\n",
|
||||
" \n",
|
||||
"best_aic"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 13,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"def reverse_close(array):\n",
|
||||
" return minmax.inverse_transform(array.reshape((-1,1))).reshape((-1))"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 14,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"image/png": "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 truncated
|
||||
"text/plain": [
|
||||
"<matplotlib.figure.Figure at 0x7ff202441d68>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
"output_type": "display_data"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"pred_arima = best_arima.predict()\n",
|
||||
"x_range = np.arange(df_log.shape[0])\n",
|
||||
"fig = plt.figure(figsize = (15,6))\n",
|
||||
"ax = plt.subplot(111)\n",
|
||||
"ax.plot(x_range, reverse_close(df_log.iloc[:,3].values), label = 'true Close')\n",
|
||||
"ax.plot(x_range, reverse_close(pred_arima), label = 'predict Close using Arima')\n",
|
||||
"box = ax.get_position()\n",
|
||||
"ax.set_position([box.x0, box.y0 + box.height * 0.1, box.width, box.height * 0.9])\n",
|
||||
"ax.legend(loc = 'upper center', bbox_to_anchor= (0.5, -0.05), fancybox = True, shadow = True, ncol = 5)\n",
|
||||
"plt.xticks(x_range[::5], date_ori[::5])\n",
|
||||
"plt.title('overlap market Close')\n",
|
||||
"plt.show()"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 15,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"boundary = (thought_vector.shape[0] // timestamp) * timestamp\n",
|
||||
"stack_predict = np.vstack([pred_arima[:boundary], output_predict.reshape((-1))]).T"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 16,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"where_below_0 = np.where(stack_predict < 0)\n",
|
||||
"where_higher_1 = np.where(stack_predict > 1)\n",
|
||||
"stack_predict[where_below_0[0], where_below_0[1]] = 0\n",
|
||||
"stack_predict[where_higher_1[0], where_higher_1[1]] = 1"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 17,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"corr_df = pd.DataFrame(np.hstack([stack_predict, df_log.values[:boundary, 3].reshape((-1,1))]))"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 18,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"image/png": "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 truncated
|
||||
"text/plain": [
|
||||
"<matplotlib.figure.Figure at 0x7ff23f578e80>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
"output_type": "display_data"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"sns.heatmap(corr_df.corr(), annot= True)\n",
|
||||
"plt.show()"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"ARIMA able to predict data that correlate 0.61 originally from original Close\n",
|
||||
"\n",
|
||||
"Deep Recurrent Neural Network able to predict data that correlate 0.48 originally from original Close"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 19,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"XGBRegressor(base_score=0.5, colsample_bylevel=1, colsample_bytree=1, gamma=0,\n",
|
||||
" learning_rate=0.05, max_delta_step=0, max_depth=7,\n",
|
||||
" min_child_weight=1, missing=None, n_estimators=10000, nthread=-1,\n",
|
||||
" objective='reg:logistic', reg_alpha=0, reg_lambda=1,\n",
|
||||
" scale_pos_weight=1, seed=0, silent=True, subsample=1)"
|
||||
]
|
||||
},
|
||||
"execution_count": 19,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"params_xgd = {\n",
|
||||
" 'max_depth': 7,\n",
|
||||
" 'objective': 'reg:logistic',\n",
|
||||
" 'learning_rate': 0.05,\n",
|
||||
" 'n_estimators': 10000\n",
|
||||
" }\n",
|
||||
"train_Y = df_log.values[:boundary, 3]\n",
|
||||
"clf = xgb.XGBRegressor(**params_xgd)\n",
|
||||
"clf.fit(stack_predict,train_Y, eval_set=[(stack_predict,train_Y)], \n",
|
||||
" eval_metric='rmse', early_stopping_rounds=20, verbose=False)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 20,
|
||||
"metadata": {
|
||||
"collapsed": true
|
||||
},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"stacked = clf.predict(stack_predict)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 25,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"image/png": "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 truncated
|
||||
"text/plain": [
|
||||
"<matplotlib.figure.Figure at 0x7ff1e0fb2a58>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
"output_type": "display_data"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"plt.figure(figsize = (15,6))\n",
|
||||
"x_range = np.arange(boundary)\n",
|
||||
"plt.plot(x_range, reverse_close(train_Y), label = 'Real Close')\n",
|
||||
"plt.plot(x_range, reverse_close(pred_arima[:boundary]), label = 'ARIMA Close')\n",
|
||||
"plt.plot(x_range, reverse_close(output_predict), label = 'RNN Close')\n",
|
||||
"plt.plot(x_range, reverse_close(stacked), label = 'Stacked Close')\n",
|
||||
"plt.legend()\n",
|
||||
"plt.xticks(x_range[::5], date_ori[:boundary][::5])\n",
|
||||
"plt.title('stacked RNN + ARIMA with XGB')\n",
|
||||
"plt.show()"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"# Pretty insane i can say!"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 26,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"image/png": "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 truncated
|
||||
"text/plain": [
|
||||
"<matplotlib.figure.Figure at 0x7ff2000e1be0>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
"output_type": "display_data"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"from xgboost import plot_importance\n",
|
||||
"plot_importance(clf)\n",
|
||||
"plt.show()"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"## Arima is more important than RNN"
|
||||
]
|
||||
}
|
||||
],
|
||||
"metadata": {
|
||||
"kernelspec": {
|
||||
"display_name": "Python 3",
|
||||
"language": "python",
|
||||
"name": "python3"
|
||||
},
|
||||
"language_info": {
|
||||
"codemirror_mode": {
|
||||
"name": "ipython",
|
||||
"version": 3
|
||||
},
|
||||
"file_extension": ".py",
|
||||
"mimetype": "text/x-python",
|
||||
"name": "python",
|
||||
"nbconvert_exporter": "python",
|
||||
"pygments_lexer": "ipython3",
|
||||
"version": "3.5.2"
|
||||
}
|
||||
},
|
||||
"nbformat": 4,
|
||||
"nbformat_minor": 2
|
||||
}
|
||||
Reference in new issue
Block a user