{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 14,
   "id": "11eac409",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "     Open    High     Low   Close\n",
      "0  156.60  158.57  156.07  157.48\n",
      "1  159.90  160.00  154.63  155.32\n",
      "2  159.26  161.27  159.11  161.06\n",
      "3  158.60  161.83  158.27  160.08\n",
      "4  157.06  158.92  156.67  158.81\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXcAAAD4CAYAAAAXUaZHAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAABKRklEQVR4nO3dd3hUVfrA8e+ZkkwqSQgJgQABDF1AehfFXkCxAGsBe0OQn2tb1l5W1BW7rhXEirrYdVUUsaDSRXoLEEoIAdLbzJzfH3eYyTCTXmYmvJ/n4cm955Z5M8Z37px77nuU1hohhBDNiynQAQghhGh4ktyFEKIZkuQuhBDNkCR3IYRohiS5CyFEM2QJdAAAiYmJOi0tLdBhCCFESFm+fPkBrXUrf9uCIrmnpaWxbNmyQIchhBAhRSm1o7Jt0i0jhBDNkCR3IYRohiS5CyFEMxQUfe5CiOBTXl5OZmYmJSUlgQ7lmGez2UhNTcVqtdb4GEnuQgi/MjMziYmJIS0tDaVUoMM5ZmmtycnJITMzk44dO9b4OOmWEUL4VVJSQsuWLSWxB5hSipYtW9b6G5QkdyFEpSSxB4e6/HeoNrkrpV5XSu1XSv11VPvNSqmNSqm1SqnHKrTfpZTa4tp2eq0jEkKIY4DWmgNFB3BqZ6OcvyZX7nOAMyo2KKVOAsYBvbXWPYEnXO09gIlAT9cxLyilzA0ZsBDi2JCZmcm4ceNIT0+nc+fOTJ8+nbKyMgAWLVrEOeec47X/lClT+PDDDwEYPXq03wcj//jjD0aNGkXXrl3p1q0bV199NUVFRY3/y/hxoOgAGYczyCrY3yjnrza5a60XAwePar4BeFRrXera50h044D3tNalWuvtwBZgUAPGK4Q4BmitGT9+POeddx6bN29m06ZNFBQUMHPmzDqfMysri4suuohZs2axceNG1q9fzxlnnEF+fn4DRl5zh3KND5X8w/ZGOX9d+9y7ACOVUr8rpX5USg10tbcFdlXYL9PV5kMpda1SaplSall2dnYdwxBCNEfff/89NpuNK664AgCz2czs2bN5/fXX63yl/fzzzzN58mSGDh0KGP3YF154IcnJyV77ZWRkMHLkSPr160e/fv349ddfAZgwYQJffvmle78pU6bw0UcfUVRUxMUXX0zv3r2ZMGECgwcPrlE5FXu58S1ElTVOt0xdh0JagHhgCDAQmK+U6gT46/X3O4+f1vpl4GWAAQMGyFx/QgSzW26BVasa9px9+8JTT/ndtHbtWvr37+/VFhsbS/v27dmyZQsAP/30E3379nVv37lzp09XTUV//fUXkydPrjaspKQkvv32W2w2G5s3b2bSpEksW7aMiRMn8v7773PWWWdRVlbGwoULefHFF3n++eeJj4/nzz//5K+//vKKqSpOV2o0NdJN67om90zgv9qYgPUPpZQTSHS1t6uwXyqwp34hCiGONVprvyNEKraPHDmSzz//3L1typQpDfLa5eXlTJ06lVWrVmE2m9m0aRMAZ555JtOmTaO0tJSvv/6aUaNGERERwc8//8z06dMB6NWrF717967R6zgdDrCCyRRcyf1j4GRgkVKqCxAGHAA+Bd5RSj0JtAHSgT8aIE4hRCBVcoXdWHr27MlHH33k1ZaXl8euXbvo3LkzOTk5dTrn8uXLGTduXJX7zZ49m+TkZFavXo3T6cRmswHGU6KjR4/mf//7H++//z6TJk0CjA+c2nIWFlGGMdakUDXODd2aDIV8F1gCdFVKZSqlrgJeBzq5hke+B0zWhrXAfGAd8DVwk9ba0SiRCyGarTFjxlBUVMSbb74JgMPh4NZbb2XKlClERkbW6ZxTp05l7ty5/P777+62t956i3379nntl5ubS0pKCiaTiXnz5uFweFLYxIkTeeONN/jpp584/XRjpPeIESOYP38+AOvWrWPNmjXVxlJQBNjyACix5tXp96lOTUbLTNJap2itrVrrVK31a1rrMq31pVrrXlrrflrr7yvs/7DWurPWuqvW+qtGiVoI0awppViwYAEffPAB6enpdOnSBZvNxiOPPFLjc5x99tmkpqaSmprKRRddRHJyMu+99x5///vf6dq1K927d+enn34iNjbW67gbb7yRuXPnMmTIEDZt2kRUVJR722mnncbixYs55ZRTCAsLc++fnZ1N7969mTVrFr1796ZFixZVxlZmavx6PaouXyka2oABA7RM1iFEcFm/fj3du3cPdBhBz+FwUF5ejs1mY8WaFZxz1jmsW7OWuLj4So85dPAwW0u2uNcHtBlQ7ev4+++hlFqutfZ7sBQOE0KIeigqKuKkk06ivLyckrJS7vjXHWQdPMjusj0U24vplXA8Nlu490EVrqlNqnGqwEhyF0KIeoiJiXGPa9+8Ywe51mwcxVBsLwZg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p6f7HDto0CBSU1MB41tBRkYG0dHRdOrUiY4dOwIwadIk92QeR2Tkbgdg8MjB9GqfzsaSjZx05kn8vvQPUtul0qFDB696NUd8//33XHjhhSQmGv3yCQkJAHz33XesW7fOvV9eXh75+fnExMTU672pNrlrrRcrpdL8bJoN3A58UqFtHPCe1roU2K6U2gIMApbUK0ohREBVdoXdWGpavrey2lh/+9vfGDx4MF988QWnn346r776KieffLLXPuHh4e5ls9mM3W6vsrxvuaOcYnuFya2VItxqpUdMD2LCYrCYjWqQUVFRlcbq7wEnp9PJkiVL3PXiG0qd+tyVUmOB3Vrr1UdtagvsqrCe6Wrzd45rlVLLlFLLsrOz/e0ihDhG1bR876hRo3j77bcB2LRpEzt37qRr165s27aNTp06MW3aNMaOHcuff/5Zo9ft1q0b27ZtIyMjAzBmYzpiddZqNuV4JtteungpBWWFKLti4VcLGT58eJXnHjNmDPPnzycnJwfA3S1z2mmn8dxzz7n3W9VAU17VOrkrpSKBmcA9/jb7afP7Uai1fllrPUBrPaBVq1b+dhFCHKNqWr73xhtvxOFwcPzxxzNhwgTmzJlDeHg477//Pr169aJv375s2LCByy+/vEavGxERwQsvvMAZZ5zBiBEjSE5O9lveN9wZyYknnshll19O3759ueCCCxgwwG9xRreePXsyc+ZMTjzxRPr06cP//d//AcasUMuWLaN379706NGDl156qYbvUtVqVPLX1S3zuda6l1LqeGAhUOTanArsweh+uQJAa/0v13H/A+7TWlfZLSMlf4UIPsdqyd8j5X211tx0002kp6czY8YMlu1eAcooELbyy5WsXrXa64q7sdW25G+tr9y11mu01kla6zStdRpG10s/rfU+4FNgolIqXCnVEUgH/qjtawghRKC88sor9O3bl549e5Kbm8t1110HgHJYoTiO6AO9sVqs1Zwl8GoyFPJdYDSQqJTKBO7VWr/mb1+t9Vql1HxgHWAHbpKRMkKIUDJjxgxmzJjh1Xao8CDaUkqYPZxuvcPo1nsKU6ZMCUyANVST0TK+Az29t6cdtf4w8HD9whJCBIPKRngca7bmbgMgrIlqsR+tLjPmyROqQgi/bDYbOTk5dUoszVWSNa7JX1NrTU5ODjZb7WrSSG0ZIYRfqampZGZmcqwPVc7L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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch 1/150\n",
      "125/125 [==============================] - 3s 21ms/step - loss: 0.0752 - mae: 0.3233\n",
      "Epoch 2/150\n",
      "125/125 [==============================] - 3s 20ms/step - loss: 0.0729 - mae: 0.3162\n",
      "Epoch 3/150\n",
      "125/125 [==============================] - 3s 20ms/step - loss: 0.0706 - mae: 0.3092\n",
      "Epoch 4/150\n",
      "125/125 [==============================] - 3s 20ms/step - loss: 0.0685 - mae: 0.3024\n",
      "Epoch 5/150\n",
      "125/125 [==============================] - 3s 20ms/step - loss: 0.0664 - mae: 0.2958\n",
      "Epoch 6/150\n",
      "125/125 [==============================] - 3s 21ms/step - loss: 0.0644 - mae: 0.2898\n",
      "Epoch 7/150\n",
      "125/125 [==============================] - 3s 21ms/step - loss: 0.0624 - mae: 0.2840\n",
      "Epoch 8/150\n",
      "125/125 [==============================] - 3s 21ms/step - loss: 0.0606 - mae: 0.2786\n",
      "Epoch 9/150\n",
      "125/125 [==============================] - 3s 20ms/step - loss: 0.0589 - mae: 0.2735\n",
      "Epoch 10/150\n",
      "125/125 [==============================] - 3s 22ms/step - loss: 0.0572 - mae: 0.2686: 0s - loss: 0.0563 - mae:\n",
      "Epoch 11/150\n",
      "125/125 [==============================] - 2s 19ms/step - loss: 0.0556 - mae: 0.2639\n",
      "Epoch 12/150\n",
      "125/125 [==============================] - 2s 20ms/step - loss: 0.0541 - mae: 0.2593\n",
      "Epoch 13/150\n",
      "125/125 [==============================] - 2s 19ms/step - loss: 0.0526 - mae: 0.2550\n",
      "Epoch 14/150\n",
      "125/125 [==============================] - 2s 19ms/step - loss: 0.0513 - mae: 0.2510\n",
      "Epoch 15/150\n",
      "125/125 [==============================] - 2s 19ms/step - loss: 0.0499 - mae: 0.2470\n",
      "Epoch 16/150\n",
      "125/125 [==============================] - 2s 19ms/step - loss: 0.0487 - mae: 0.2433\n",
      "Epoch 17/150\n",
      "125/125 [==============================] - 2s 19ms/step - loss: 0.0475 - mae: 0.2399\n",
      "Epoch 18/150\n",
      "125/125 [==============================] - 2s 20ms/step - loss: 0.0463 - mae: 0.2366\n",
      "Epoch 19/150\n",
      "125/125 [==============================] - 2s 20ms/step - loss: 0.0452 - mae: 0.2336\n",
      "Epoch 20/150\n",
      "125/125 [==============================] - 2s 19ms/step - loss: 0.0442 - mae: 0.2307\n",
      "Epoch 21/150\n",
      "125/125 [==============================] - 2s 19ms/step - loss: 0.0432 - mae: 0.2278\n",
      "Epoch 22/150\n",
      "125/125 [==============================] - 2s 19ms/step - loss: 0.0422 - mae: 0.2250: 0s - loss: 0.0444 -\n",
      "Epoch 23/150\n",
      "125/125 [==============================] - 2s 19ms/step - loss: 0.0413 - mae: 0.2225\n",
      "Epoch 24/150\n",
      "125/125 [==============================] - 2s 19ms/step - loss: 0.0405 - mae: 0.2201\n",
      "Epoch 25/150\n",
      "125/125 [==============================] - 2s 20ms/step - loss: 0.0397 - mae: 0.2178\n",
      "Epoch 26/150\n",
      "125/125 [==============================] - 2s 19ms/step - loss: 0.0389 - mae: 0.2156\n",
      "Epoch 27/150\n",
      "125/125 [==============================] - 2s 19ms/step - loss: 0.0381 - mae: 0.2137\n",
      "Epoch 28/150\n",
      "125/125 [==============================] - 2s 19ms/step - loss: 0.0374 - mae: 0.2117\n",
      "Epoch 29/150\n",
      "125/125 [==============================] - 2s 19ms/step - loss: 0.0367 - mae: 0.2099: 1s - loss: 0.0\n",
      "Epoch 30/150\n",
      "125/125 [==============================] - 2s 19ms/step - loss: 0.0361 - mae: 0.2082\n",
      "Epoch 31/150\n",
      "125/125 [==============================] - 2s 20ms/step - loss: 0.0354 - mae: 0.2065\n",
      "Epoch 32/150\n",
      "125/125 [==============================] - 2s 19ms/step - loss: 0.0348 - mae: 0.2050\n",
      "Epoch 33/150\n",
      "125/125 [==============================] - 2s 19ms/step - loss: 0.0343 - mae: 0.2036\n",
      "Epoch 34/150\n",
      "125/125 [==============================] - 2s 19ms/step - loss: 0.0337 - mae: 0.2022\n",
      "Epoch 35/150\n",
      "125/125 [==============================] - 2s 19ms/step - loss: 0.0332 - mae: 0.2009\n",
      "Epoch 36/150\n",
      "125/125 [==============================] - 2s 19ms/step - loss: 0.0327 - mae: 0.1997\n",
      "Epoch 37/150\n",
      "125/125 [==============================] - 2s 19ms/step - loss: 0.0323 - mae: 0.1986\n",
      "Epoch 38/150\n",
      "125/125 [==============================] - 2s 19ms/step - loss: 0.0318 - mae: 0.1975\n",
      "Epoch 39/150\n",
      "125/125 [==============================] - 2s 20ms/step - loss: 0.0314 - mae: 0.1964\n",
      "Epoch 40/150\n",
      "125/125 [==============================] - 2s 20ms/step - loss: 0.0310 - mae: 0.1954\n",
      "Epoch 41/150\n",
      "125/125 [==============================] - 2s 19ms/step - loss: 0.0306 - mae: 0.1944\n",
      "Epoch 42/150\n",
      "125/125 [==============================] - 2s 19ms/step - loss: 0.0302 - mae: 0.1935\n",
      "Epoch 43/150\n",
      "125/125 [==============================] - 2s 19ms/step - loss: 0.0299 - mae: 0.1925\n",
      "Epoch 44/150\n",
      "125/125 [==============================] - 2s 19ms/step - loss: 0.0296 - mae: 0.1917\n",
      "Epoch 45/150\n",
      "125/125 [==============================] - 2s 19ms/step - loss: 0.0292 - mae: 0.1908\n",
      "Epoch 46/150\n",
      "125/125 [==============================] - 2s 19ms/step - loss: 0.0289 - mae: 0.1900\n",
      "Epoch 47/150\n",
      "125/125 [==============================] - 2s 19ms/step - loss: 0.0286 - mae: 0.1892\n",
      "Epoch 48/150\n",
      "125/125 [==============================] - 2s 20ms/step - loss: 0.0284 - mae: 0.1884\n",
      "Epoch 49/150\n",
      "125/125 [==============================] - 2s 19ms/step - loss: 0.0281 - mae: 0.1878\n",
      "Epoch 50/150\n",
      "125/125 [==============================] - 2s 19ms/step - loss: 0.0279 - mae: 0.1871\n",
      "Epoch 51/150\n",
      "125/125 [==============================] - 2s 19ms/step - loss: 0.0276 - mae: 0.1864: 0s - loss: 0.0277 \n",
      "Epoch 52/150\n",
      "125/125 [==============================] - 2s 19ms/step - loss: 0.0274 - mae: 0.1858: 1s - loss\n",
      "Epoch 53/150\n",
      "125/125 [==============================] - 2s 19ms/step - loss: 0.0272 - mae: 0.1852\n",
      "Epoch 54/150\n",
      "125/125 [==============================] - 2s 19ms/step - loss: 0.0270 - mae: 0.1847\n",
      "Epoch 55/150\n",
      "125/125 [==============================] - 2s 19ms/step - loss: 0.0268 - mae: 0.1842\n",
      "Epoch 56/150\n",
      "125/125 [==============================] - 2s 19ms/step - loss: 0.0266 - mae: 0.1836\n",
      "Epoch 57/150\n",
      "125/125 [==============================] - 2s 19ms/step - loss: 0.0264 - mae: 0.1832\n",
      "Epoch 58/150\n",
      "125/125 [==============================] - 2s 19ms/step - loss: 0.0262 - mae: 0.1827\n",
      "Epoch 59/150\n",
      "125/125 [==============================] - 2s 19ms/step - loss: 0.0261 - mae: 0.1823\n",
      "Epoch 60/150\n",
      "125/125 [==============================] - 2s 19ms/step - loss: 0.0259 - mae: 0.1819\n",
      "Epoch 61/150\n",
      "125/125 [==============================] - 2s 19ms/step - loss: 0.0257 - mae: 0.1815\n",
      "Epoch 62/150\n",
      "125/125 [==============================] - 2s 19ms/step - loss: 0.0256 - mae: 0.1811\n",
      "Epoch 63/150\n",
      "125/125 [==============================] - 2s 19ms/step - loss: 0.0255 - mae: 0.1808\n",
      "Epoch 64/150\n",
      "125/125 [==============================] - 2s 19ms/step - loss: 0.0253 - mae: 0.1804\n",
      "Epoch 65/150\n",
      "125/125 [==============================] - 2s 19ms/step - loss: 0.0252 - mae: 0.1801\n",
      "Epoch 66/150\n",
      "125/125 [==============================] - 2s 19ms/step - loss: 0.0251 - mae: 0.1798\n",
      "Epoch 67/150\n",
      "125/125 [==============================] - 3s 21ms/step - loss: 0.0250 - mae: 0.1796\n",
      "Epoch 68/150\n",
      "125/125 [==============================] - 3s 21ms/step - loss: 0.0249 - mae: 0.1793\n",
      "Epoch 69/150\n",
      "125/125 [==============================] - 3s 20ms/step - loss: 0.0248 - mae: 0.1792\n",
      "Epoch 70/150\n",
      "125/125 [==============================] - 3s 20ms/step - loss: 0.0247 - mae: 0.1789\n",
      "Epoch 71/150\n",
      "125/125 [==============================] - 3s 21ms/step - loss: 0.0246 - mae: 0.1788\n",
      "Epoch 72/150\n",
      "125/125 [==============================] - 3s 20ms/step - loss: 0.0245 - mae: 0.1786\n",
      "Epoch 73/150\n",
      "125/125 [==============================] - 3s 20ms/step - loss: 0.0244 - mae: 0.1785: 1s - lo\n",
      "Epoch 74/150\n",
      "125/125 [==============================] - 2s 19ms/step - loss: 0.0243 - mae: 0.1784\n",
      "Epoch 75/150\n",
      "125/125 [==============================] - 2s 19ms/step - loss: 0.0243 - mae: 0.1783\n",
      "Epoch 76/150\n",
      "125/125 [==============================] - 2s 19ms/step - loss: 0.0242 - mae: 0.1782\n",
      "Epoch 77/150\n",
      "125/125 [==============================] - 2s 19ms/step - loss: 0.0241 - mae: 0.1782\n",
      "Epoch 78/150\n",
      "125/125 [==============================] - 2s 19ms/step - loss: 0.0241 - mae: 0.1780\n",
      "Epoch 79/150\n",
      "125/125 [==============================] - 2s 19ms/step - loss: 0.0240 - mae: 0.1780\n",
      "Epoch 80/150\n",
      "125/125 [==============================] - 2s 19ms/step - loss: 0.0240 - mae: 0.1779\n",
      "Epoch 81/150\n",
      "125/125 [==============================] - 2s 19ms/step - loss: 0.0239 - mae: 0.1779\n",
      "Epoch 82/150\n",
      "125/125 [==============================] - 2s 19ms/step - loss: 0.0238 - mae: 0.1778\n",
      "Epoch 83/150\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "125/125 [==============================] - 2s 19ms/step - loss: 0.0238 - mae: 0.1777\n",
      "Epoch 84/150\n",
      "125/125 [==============================] - 2s 19ms/step - loss: 0.0237 - mae: 0.1777\n",
      "Epoch 85/150\n",
      "125/125 [==============================] - 2s 19ms/step - loss: 0.0237 - mae: 0.1777\n",
      "Epoch 86/150\n",
      "125/125 [==============================] - 2s 19ms/step - loss: 0.0236 - mae: 0.1777\n",
      "Epoch 87/150\n",
      "125/125 [==============================] - 2s 19ms/step - loss: 0.0236 - mae: 0.1777\n",
      "Epoch 88/150\n",
      "125/125 [==============================] - 2s 20ms/step - loss: 0.0236 - mae: 0.1777\n",
      "Epoch 89/150\n",
      "125/125 [==============================] - 2s 19ms/step - loss: 0.0235 - mae: 0.1777\n",
      "Epoch 90/150\n",
      "125/125 [==============================] - 2s 19ms/step - loss: 0.0235 - mae: 0.1776\n",
      "Epoch 91/150\n",
      "125/125 [==============================] - 2s 19ms/step - loss: 0.0235 - mae: 0.1777\n",
      "Epoch 92/150\n",
      "125/125 [==============================] - 2s 19ms/step - loss: 0.0234 - mae: 0.1776\n",
      "Epoch 93/150\n",
      "125/125 [==============================] - 3s 20ms/step - loss: 0.0234 - mae: 0.1777\n",
      "Epoch 94/150\n",
      "125/125 [==============================] - 3s 20ms/step - loss: 0.0233 - mae: 0.1777\n",
      "Epoch 95/150\n",
      "125/125 [==============================] - 2s 19ms/step - loss: 0.0233 - mae: 0.1777: 0s - loss: 0.0232\n",
      "Epoch 96/150\n",
      "125/125 [==============================] - 3s 21ms/step - loss: 0.0233 - mae: 0.1777\n",
      "Epoch 97/150\n",
      "125/125 [==============================] - 3s 21ms/step - loss: 0.0233 - mae: 0.1777\n",
      "Epoch 98/150\n",
      "125/125 [==============================] - 3s 21ms/step - loss: 0.0232 - mae: 0.1777\n",
      "Epoch 99/150\n",
      "125/125 [==============================] - 2s 20ms/step - loss: 0.0232 - mae: 0.1777\n",
      "Epoch 100/150\n",
      "125/125 [==============================] - 2s 20ms/step - loss: 0.0232 - mae: 0.1777\n",
      "Epoch 101/150\n",
      "125/125 [==============================] - 2s 20ms/step - loss: 0.0232 - mae: 0.1778\n",
      "Epoch 102/150\n",
      "125/125 [==============================] - 3s 20ms/step - loss: 0.0232 - mae: 0.1778\n",
      "Epoch 103/150\n",
      "125/125 [==============================] - 3s 24ms/step - loss: 0.0231 - mae: 0.1778: 0s - loss: 0.0231 - mae: 0.1\n",
      "Epoch 104/150\n",
      "125/125 [==============================] - 3s 23ms/step - loss: 0.0231 - mae: 0.1778: 1s\n",
      "Epoch 105/150\n",
      "125/125 [==============================] - 3s 23ms/step - loss: 0.0231 - mae: 0.1778\n",
      "Epoch 106/150\n",
      "125/125 [==============================] - 3s 25ms/step - loss: 0.0231 - mae: 0.1778: 0s - loss: 0.0231 - mae: 0.1\n",
      "Epoch 107/150\n",
      "125/125 [==============================] - 3s 23ms/step - loss: 0.0231 - mae: 0.1779\n",
      "Epoch 108/150\n",
      "125/125 [==============================] - 3s 23ms/step - loss: 0.0230 - mae: 0.1779\n",
      "Epoch 109/150\n",
      "125/125 [==============================] - 3s 22ms/step - loss: 0.0230 - mae: 0.1779\n",
      "Epoch 110/150\n",
      "125/125 [==============================] - 3s 24ms/step - loss: 0.0230 - mae: 0.1779\n",
      "Epoch 111/150\n",
      "125/125 [==============================] - 3s 24ms/step - loss: 0.0230 - mae: 0.1780\n",
      "Epoch 112/150\n",
      "125/125 [==============================] - 3s 22ms/step - loss: 0.0230 - mae: 0.1779\n",
      "Epoch 113/150\n",
      "125/125 [==============================] - 3s 23ms/step - loss: 0.0230 - mae: 0.1780\n",
      "Epoch 114/150\n",
      "125/125 [==============================] - 3s 23ms/step - loss: 0.0230 - mae: 0.1780\n",
      "Epoch 115/150\n",
      "125/125 [==============================] - 3s 23ms/step - loss: 0.0230 - mae: 0.1780: 1s \n",
      "Epoch 116/150\n",
      "125/125 [==============================] - 3s 23ms/step - loss: 0.0229 - mae: 0.1780\n",
      "Epoch 117/150\n",
      "125/125 [==============================] - 3s 22ms/step - loss: 0.0229 - mae: 0.1780\n",
      "Epoch 118/150\n",
      "125/125 [==============================] - 3s 24ms/step - loss: 0.0229 - mae: 0.1781\n",
      "Epoch 119/150\n",
      "125/125 [==============================] - 3s 21ms/step - loss: 0.0229 - mae: 0.1781\n",
      "Epoch 120/150\n",
      "125/125 [==============================] - 3s 21ms/step - loss: 0.0229 - mae: 0.1782\n",
      "Epoch 121/150\n",
      "125/125 [==============================] - 3s 21ms/step - loss: 0.0229 - mae: 0.1781\n",
      "Epoch 122/150\n",
      "125/125 [==============================] - 3s 20ms/step - loss: 0.0229 - mae: 0.1782\n",
      "Epoch 123/150\n",
      "125/125 [==============================] - 2s 20ms/step - loss: 0.0229 - mae: 0.1782\n",
      "Epoch 124/150\n",
      "125/125 [==============================] - 3s 20ms/step - loss: 0.0229 - mae: 0.1783\n",
      "Epoch 125/150\n",
      "125/125 [==============================] - 2s 20ms/step - loss: 0.0229 - mae: 0.1782\n",
      "Epoch 126/150\n",
      "125/125 [==============================] - 2s 20ms/step - loss: 0.0229 - mae: 0.1783\n",
      "Epoch 127/150\n",
      "125/125 [==============================] - 3s 20ms/step - loss: 0.0229 - mae: 0.1783\n",
      "Epoch 128/150\n",
      "125/125 [==============================] - 3s 20ms/step - loss: 0.0228 - mae: 0.1783\n",
      "Epoch 129/150\n",
      "125/125 [==============================] - 3s 20ms/step - loss: 0.0228 - mae: 0.1784\n",
      "Epoch 130/150\n",
      "125/125 [==============================] - 3s 21ms/step - loss: 0.0228 - mae: 0.1784\n",
      "Epoch 131/150\n",
      "125/125 [==============================] - 3s 25ms/step - loss: 0.0228 - mae: 0.1784\n",
      "Epoch 132/150\n",
      "125/125 [==============================] - 3s 26ms/step - loss: 0.0228 - mae: 0.1784\n",
      "Epoch 133/150\n",
      "125/125 [==============================] - 4s 34ms/step - loss: 0.0228 - mae: 0.1785\n",
      "Epoch 134/150\n",
      "125/125 [==============================] - 4s 32ms/step - loss: 0.0228 - mae: 0.1785\n",
      "Epoch 135/150\n",
      "125/125 [==============================] - 4s 36ms/step - loss: 0.0228 - mae: 0.1785\n",
      "Epoch 136/150\n",
      "125/125 [==============================] - 4s 33ms/step - loss: 0.0228 - mae: 0.1785\n",
      "Epoch 137/150\n",
      "125/125 [==============================] - 4s 34ms/step - loss: 0.0228 - mae: 0.1786\n",
      "Epoch 138/150\n",
      "125/125 [==============================] - 4s 34ms/step - loss: 0.0228 - mae: 0.1786\n",
      "Epoch 139/150\n",
      "125/125 [==============================] - 4s 31ms/step - loss: 0.0228 - mae: 0.1786: 0s - loss: 0.0226 - m - ETA: 0s - loss: 0.0225 - mae: 0.1\n",
      "Epoch 140/150\n",
      "125/125 [==============================] - 5s 40ms/step - loss: 0.0228 - mae: 0.1787\n",
      "Epoch 141/150\n",
      "125/125 [==============================] - 4s 34ms/step - loss: 0.0228 - mae: 0.1786\n",
      "Epoch 142/150\n",
      "125/125 [==============================] - 5s 37ms/step - loss: 0.0228 - mae: 0.1787: 1\n",
      "Epoch 143/150\n",
      "125/125 [==============================] - 4s 35ms/step - loss: 0.0228 - mae: 0.1787\n",
      "Epoch 144/150\n",
      "125/125 [==============================] - 5s 38ms/step - loss: 0.0228 - mae: 0.1787\n",
      "Epoch 145/150\n",
      "125/125 [==============================] - 5s 38ms/step - loss: 0.0228 - mae: 0.1787\n",
      "Epoch 146/150\n",
      "125/125 [==============================] - 4s 35ms/step - loss: 0.0228 - mae: 0.1788\n",
      "Epoch 147/150\n",
      "125/125 [==============================] - 5s 40ms/step - loss: 0.0228 - mae: 0.1788: 2\n",
      "Epoch 148/150\n",
      "125/125 [==============================] - 4s 33ms/step - loss: 0.0228 - mae: 0.1788\n",
      "Epoch 149/150\n",
      "125/125 [==============================] - 5s 36ms/step - loss: 0.0228 - mae: 0.1789\n",
      "Epoch 150/150\n",
      "125/125 [==============================] - 4s 36ms/step - loss: 0.0228 - mae: 0.1789\n",
      "Train RMSE: 24.57\n",
      "Test RMSE: 41.64\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYUAAAEGCAYAAACKB4k+AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAABW8ElEQVR4nO2dd3gU5fbHPycFUmihIyBNBClJ6CiIVMGGItgLXK/da/1ZQO+1XhU7KtZrw6uieBXL5VJUQKVIL1IFpIUaCARCevb8/pidzW62ZBOy2ZT38zzz7Mw778ycnWzmzFvO94iqYjAYDAYDQES4DTAYDAZDxcE4BYPBYDC4ME7BYDAYDC6MUzAYDAaDC+MUDAaDweAiKtwGnAwNGzbU1q1bh9sMg8FgqFSsWLHikKo28rWvUjuF1q1bs3z58nCbYTAYDJUKEdnpb5/pPjIYDAaDC+MUDAaDweDCOAWDwWAwuKjUYwoGQ1mSl5dHSkoK2dnZ4TbFYCgTYmJiaNGiBdHR0UEfY5yCweAkJSWF2rVr07p1a0Qk3OYYDCeFqnL48GFSUlJo06ZN0MeFrPtIRD4QkYMisq5I+Z0isllE1ovI827lE0Rkq3Pf8FDZZTD4Izs7mwYNGhiHYKgSiAgNGjQoccs3lC2Fj4DJwMd2gYgMAi4GElU1R0QaO8s7AVcCnYFTgB9F5HRVLQihfQaDF8YhGKoSpfk9h6yloKq/AGlFim8DJqpqjrPOQWf5xcDnqpqjqtuBrUDvUNlmMBgMlRVV5VDmIRzqCMn5y3v20enA2SKyRER+FpFezvLmwG63einOMoPB4IPzzz+fo0ePBqzz6KOP8uOPP5bq/PPnz+fCCy8stt7AgQOLDSCdNGkSmZmZpbLDH/Pnz2fRokVles7KwuGsw+w4uoMDGQdCcv7ydgpRQALQF3gAmCZW+8ZXG8dn9h8RuVlElovI8tTU1NBZajBUQFQVh8PB//73P+rVqxew7pNPPsnQoUPLx7AAGKdQtuQV5AFQEKLe9fJ2CinA12qxFHAADZ3lLd3qtQD2+jqBqr6rqj1VtWejRj6lOwyGSsvLL79Mly5d6NKlC5MmTQJgx44dnHHGGdx+++10796d3bt307p1aw4dOgTAU089RceOHRk2bBhXXXUVL774IgDjxo3jP//5D2BJwjz22GN0796drl27smnTJgCWLl3KWWedRbdu3TjrrLPYvHlzQPuysrK48sorSUxM5IorriArK8u177bbbqNnz5507tyZxx57DIDXXnuNvXv3MmjQIAYNGuS3HsD48ePp1KkTiYmJ3H///QCkpqYyevRoevXqRa9evVi4cCE7duzg7bff5pVXXiE5OZlff/31ZG97pcJ2BpESGZLzl/eU1G+AwcB8ETkdqAEcAr4DPhORl7EGmtsDS8vZNoPBxT2z7mH1/tVles7kpslMGjHJ7/4VK1bw4YcfsmTJElSVPn36cM4555CQkMDmzZv58MMPefPNNz2OWb58OV999RWrVq0iPz+f7t2706NHD5/nb9iwIStXruTNN9/kxRdf5L333qNjx4788ssvREVF8eOPP/Lwww/z1Vdf+bXxrbfeIi4ujrVr17J27Vq6d+/u2vf0009Tv359CgoKGDJkCGvXruWuu+7i5ZdfZt68eTRs2NBvvRYtWjB9+nQ2bdqEiLi6xu6++27uvfde+vfvz65duxg+fDgbN27k1ltvpVatWi7nUV0ocBSwP2M/ABESmnf6kDkFEZkKDAQaikgK8BjwAfCBc5pqLjBWrSTR60VkGrAByAfuMDOPDNWNBQsWMGrUKOLj4wG49NJL+fXXXxk5ciStWrWib9++Po+5+OKLiY2NBeCiiy7ye/5LL70UgB49evD1118DkJ6eztixY9myZQsiQl5eXkAbf/nlF+666y4AEhMTSUxMdO2bNm0a7777Lvn5+ezbt48NGzZ47A9Ur1OnTsTExHDjjTdywQUXuMYzfvzxRzZs2OA69tixYxw/fjygjVWZrPzCllmoBppD5hRU9So/u671U/9p4OlQ2WMwlIRAb/Shwno/8o3tKEpyTFFq1qwJQGRkJPn5+QD84x//YNCgQUyfPp0dO3YwcODAYs/ja5rj9u3befHFF1m2bBkJCQmMGzfO5/x4f/WioqJYunQpP/30E59//jmTJ09m7ty5OBwOFi9e7HJ61R331kFGbkZorhGSsxoMhhIzYMAAvvnmGzIzMzlx4gTTp0/n7LPPDnhM//79+f7778nOziYjI4MZM2aU6Jrp6ek0b25N9Pvoo4+CsvHTTz8FYN26daxduxaw3uDj4+OpW7cuBw4cYObMma5jateu7Xq791cvIyOD9PR0zj//fCZNmsTq1asBOPfcc5k8ebLrXHa5+zmrCsE4eHGbk9OufruQ2GGcgsFQQejevTvjxo2jd+/e9OnThxtvvJFu3boFPKZXr16MHDmSpKQkLr30Unr27EndunWDvuaDDz7IhAkT6NevHwUFxffY3nbbbWRkZJCYmMjzzz9P795WOFFSUhLdunWjc+fO3HDDDfTr1891zM0338x5553HoEGD/NY7fvw4F154IYmJiZxzzjm88sorgDVQvXz5chITE+nUqRNvv/02YHWTTZ8+vcoMNGflZbFi3wrSs9MD1lPnpMz6sfVDNqYgJWl+VjR69uypJsmOoazYuHEjZ5xxRrjNKDEZGRnUqlWLzMxMBgwYwLvvvusxAGyo+KSeSGVn+k7qx9bnlFqnsPnwZtrVb0etGrU86mXmZbIhdQPtEtqREJsQ1Ll9/a5FZIWq9vRV3wjiGQyVnJtvvpkNGzaQnZ3N2LFjjUOohNiDxrkFuew+tps8Rx5pWWleTsF+iQ+lHItxCgZDJeezzz4LtwmGk2T3MUvQwX3wODoieLnrssSMKRgMBkMFRIuIOjjUwcZDGwHPAeeyxjgFg8FgCCP+xnWLltvyFhDa7iPjFAwGgyGMFG0RdGrUCfAOTst35JeLPcYpGAwGQxhxbxHUi6lHXHQcURFRXs7C3SmY7iODoRpw9OhRL22jYAm1lPbJ8M0333hIVRg8sVsEp9Y9ldPqnwZYD/2iLYUDJwqlso1TMBiqAYGcQnGBZRVZSts4hcDYD3/3YDQR8WgpqCrHco4VHhTCBIHGKRgMFYTx48ezbds2kpOTeeCBB5g/fz6DBg3i6quvpmvXrgBccskl9OjRg86dO/Puu++6jrWltG2Z7ZtuuonOnTtz7rnnuuStg5HSTk1NZdiwYXTv3p1bbrmFVq1auSS6bQoKChg3bhxdunSha9eurujjbdu2MWLECHr06MHZZ5/Npk2bWLRoEd999x0PPPAAycnJbNu2LeT3sbJhOwX3t39BPLqVirYaQtlSMHEKBoMv7rkHnDo7ZUZyMjhzJPhi4sSJrFu3zqXvM3/+fJYuXcq6deto06YNAB988AH169cnKyuLXr16MXr0aBo0aOBxni1btjB16lT+9a9/cfnll/PVV19x7bXeOpS+pLSfeOIJBg8ezIQJE5g1a5aH47FZvXo1e/bsYd26dQCubqubb76Zt99+m/bt27NkyRJuv/125s6dy8iRI7nwwgsZM2ZMye9ZNcBvS8HNKZzIO+FxjAleMxiqKb1793Y5BLC0gKZPnw7A7t272bJli5dTaNOmDcnJyYAlk71jxw6f5/Ylpb1gwQLX+UeMGEFCgreUQtu2bfnzzz+58847ueCCCzj33HPJyMhg0aJFXHbZZa56OTk5pfvS1Qz74R9Iyygn37qX7RLakZGbQWxU6FRjjVMwGHwR4I2+PHGXzJ4/fz4//vgjixcvJi4ujoEDB/qUp7YlssGSyXbPjuarnruUdjBaaAkJCaxZs4bZs2fzxhtvMG3aNCZNmkS9evVcrRxD8Djw0VLAc0zBnnlUN6Zu0JpHpcWMKRgMFYTi5KDT09NJSEggLi6OTZs28dtvv5W5Df3792fatGkAzJkzhyNHjnjVOXToEA6Hg9GjR/PUU0+xcuVK6tSpQ5s2bfjyyy8By7msWbMmqO9V3fGVSa1o91G+I58IiQiZMqo7xikYDBWEBg0a0K9fP7p06cIDDzzgtX/EiBHk5+eTmJjIP/7xD5+Z2E6Wxx57jDlz5tC9e3dmzpxJs2bNqF27tkedPXv2MHDgQJKTkxk3bhzPPvssAJ9++invv/8+SUlJdO7cmW+//RaAK6+8khdeeIFu3bqZgWYf2LOKoiI8O27yHfnk5OeQ78gnz5HntT9UGOlsg8FJZZXOLktycnKIjIwkKiqKxYsXc9ttt5kuoRCzfK/1DOvWtBuREZEeZQAxUTFER0TjUAdnNCr579NIZxsMhlKza9cuLr/8chwOBzVq1OBf//pXuE2q0ri/lNsOoSjZ+dk4Ih1eMtqhwjgFg8Hgon379qxatSrcZlQb7Omop9Q+JWC93IJcakbWDFinrDBjCgaDwVDOHMs5hkMd5BRYU02DyZ1QM6p8nIJpKRgMBkM5sunQJjJyM2gc35iDJw4C3jEKHRp0YPPhzR5lMZEx5WKfaSkYDAZDOZHvyHdlV0vPTneVx0R5PvB9jS+UV0vBOAWDwWAoJwochcKGdtdRs1rNiK8R71HPdhJN4pu4ysprSqpxCgZDFWX+/PlceOGFAHz33XdMnDjRb93SynY//vjjvPjii0HVXb16Nf/73/9KfA2bWrXKbvbNycqIjxgxgj179jBp0iQyMzODPq5ALacQFx3H/Fnz+fOPP4mN9pasiJAIujXtRos6LTij4Rm0rtfar97Rjh07yjRPt3EKBkMlozgZbV+MHDmS8ePH+91/MrkcguVknUJZUVBQcFIy4llZWaSlpdG8efMSOwWHw5ptFBMVw/xZ89n+x3a/YwWREZGICPE14mkY19DvOcvdKYjI3SJSRyzeF5GVInJuEMd9ICIHRWSdj333i4iKSEO3sgkislVENovI8JJ/FYOhcrNjxw46duzI2LFjSUxMZMyYMa4HTuvWrXnyySfp378/X375JXPmzOHMM8+ke/fuXHbZZWRkWP3Us2bNomPHjvTv398lcgfw0Ucf8be//Q2AAwcOMGrUKJKSkkhKSmLRokVest0AL7zwAr169SIxMZHHHnvMda6nn36aDh06MHToUDZv9hwMtfnyyy/p0qULSUlJDBgwgNzcXB599FG++OILkpOT+eKLL0hLS+OSSy4hMTGRvn37snbtWgAyMjL4y1/+QteuXUlMTOSrr77yOPehQ4c488wzmTFjRqnvn7uM+LJlyzjrrLNISkqid+/eHD9+nIKCAh544AHX93/nnXdc15k/fz4DBw7ktddeY+/evQwaNIhBgwYB+P27jB8/nk6dOtGtWzcmPTmJLau38OsPv/LaP1/jrN5neUV6F71/gF+bxo8fz6+//kpycrJLxvykUNWAC7DG+Tkc+A5IAlYGcdwAoDuwrkh5S2A2sBNo6CzrBKwBagJtgG1AZHHX6NGjhxoMZcWGDRtc63ffrXrOOWW73H134Otv375dAV2wYIGqqv7lL3/RF154QVVVW7Vqpc8995yqqqampurZZ5+tGRkZqqo6ceJEfeKJJzQrK0tbtGihf/zxhzocDr3sssv0ggsuUFXVDz/8UO+44w5VVb388sv1lVdeUVXV/Px8PXr0qG7fvl07d+7ssmX27Nl60003qcPh0IKCAr3gggv0559/1uXLl2uXLl30xIkTmp6eru3atXPZ6E6XLl00JSVFVVWPHDniZYOq6t/+9jd9/PHHVVX1p59+0qSkJFVVffDBB/Vut5uVlpamqqrx8fG6f/9+7d27t86ZM6fU909VdezYsfrll19qTk6OtmnTRpcuXaqqqunp6ZqXl6fvvPOOPvXUU6qqmp2drT169NA///xTVVXvvPNO/emnn1znTU1NDfh3OXz4sJ5++um6Zt8aXbZnmc7dMFczczP1uuuv0w8//dDre/i7f/5smjdvnuvv7Av337UNsFz9PFeD6T6yO7LOBz5U1TUE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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Last Day Value: 82.00276184082031\n",
      "Next Day Value: 26.32845687866211\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "<ipython-input-14-a9f5ab2ab29a>:124: DeprecationWarning: np.asscalar(a) is deprecated since NumPy v1.16, use a.item() instead\n",
      "  print(\"Last Day Value:\", np.asscalar(last_val))\n",
      "<ipython-input-14-a9f5ab2ab29a>:125: DeprecationWarning: np.asscalar(a) is deprecated since NumPy v1.16, use a.item() instead\n",
      "  print(\"Next Day Value:\", np.asscalar(last_val*next_val))\n"
     ]
    }
   ],
   "source": [
    "# IMPORTING IMPORTANT LIBRARIES\n",
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt\n",
    "import numpy as np \n",
    "import math\n",
    "from sklearn.preprocessing import MinMaxScaler\n",
    "from sklearn.metrics import mean_squared_error\n",
    "from tensorflow import keras\n",
    "from tensorflow.keras.models import Sequential\n",
    "from tensorflow.keras.layers import Dense, Activation, Dropout\n",
    "from tensorflow.keras.layers import LSTM\n",
    "import preprocessing \n",
    "import tensorflow as tf\n",
    "\n",
    "\n",
    "np.random.seed(7)\n",
    "\t\n",
    "# IMPORTING DATASET \n",
    "dataset = pd.read_csv('data/apple_share_price.csv', usecols=[1,2,3,4])\n",
    "\n",
    "print(dataset.head())\n",
    "dataset = dataset.reindex(index = dataset.index[::-1])\n",
    "\n",
    "# CREATING OWN INDEX FOR FLEXIBILITY\n",
    "obs = np.arange(1, len(dataset) + 1, 1)\n",
    "\n",
    "# TAKING DIFFERENT INDICATORS FOR PREDICTION\n",
    "OHLC_avg = dataset.mean(axis = 1)\n",
    "HLC_avg = dataset[['High', 'Low', 'Close']].mean(axis = 1)\n",
    "close_val = dataset[['Close']]\n",
    "\n",
    "# PLOTTING ALL INDICATORS IN ONE PLOT\n",
    "plt.plot(obs, OHLC_avg, 'r', label = 'OHLC avg')\n",
    "plt.plot(obs, HLC_avg, 'b', label = 'HLC avg')\n",
    "plt.plot(obs, close_val, 'g', label = 'Closing price')\n",
    "plt.legend(loc = 'upper right')\n",
    "plt.show()\n",
    "\n",
    "# PREPARATION OF TIME SERIES DATASE\n",
    "OHLC_avg = np.reshape(OHLC_avg.values, (len(OHLC_avg),1)) # 1664\n",
    "scaler = MinMaxScaler(feature_range=(0, 1))\n",
    "OHLC_avg = scaler.fit_transform(OHLC_avg)\n",
    "\n",
    "# TRAIN-TEST SPLIT\n",
    "train_OHLC = int(len(OHLC_avg) * 0.75)\n",
    "test_OHLC = len(OHLC_avg) - train_OHLC\n",
    "train_OHLC, test_OHLC = OHLC_avg[0:train_OHLC,:], OHLC_avg[train_OHLC:len(OHLC_avg),:]\n",
    "\n",
    "# TIME-SERIES DATASET (FOR TIME T, VALUES FOR TIME T+1)\n",
    "trainX, trainY = preprocessing.new_dataset(train_OHLC, 1)\n",
    "testX, testY = preprocessing.new_dataset(test_OHLC, 1)\n",
    "\n",
    "# RESHAPING TRAIN AND TEST DATA\n",
    "trainX = np.reshape(trainX, (trainX.shape[0], 1, trainX.shape[1]))\n",
    "testX = np.reshape(testX, (testX.shape[0], 1, testX.shape[1]))\n",
    "step_size = 1\n",
    "\n",
    "# LSTM MODEL\n",
    "model = Sequential()\n",
    "model.add(LSTM(640, input_shape=(1, step_size), return_sequences = True))\n",
    "model.add(Dropout(0.1))\n",
    "model.add(LSTM(160))\n",
    "model.add(Dropout(0.1))\n",
    "model.add(Dense(120))\n",
    "model.add(Activation('relu'))\n",
    "model.add(Dense(1))\n",
    "model.add(Activation('linear'))\n",
    "\n",
    "# MODEL COMPILING AND TRAINING\n",
    "optimizer = tf.keras.optimizers.SGD(lr=1e-5, momentum=0.9)\n",
    "model.compile(loss=tf.keras.losses.Huber(),\n",
    "              optimizer=optimizer,\n",
    "              metrics=[\"mae\"]) # Try SGD, adam, adagrad and compare!!!\n",
    "\n",
    "\n",
    "\n",
    "model.fit(trainX, trainY, epochs=150, batch_size=10, verbose=1)\n",
    "\n",
    "# PREDICTION\n",
    "trainPredict = model.predict(trainX)\n",
    "testPredict = model.predict(testX)\n",
    "\n",
    "# DE-NORMALIZING FOR PLOTTING\n",
    "trainPredict = scaler.inverse_transform(trainPredict)\n",
    "trainY = scaler.inverse_transform([trainY])\n",
    "testPredict = scaler.inverse_transform(testPredict)\n",
    "testY = scaler.inverse_transform([testY])\n",
    "\n",
    "\n",
    "# TRAINING RMSE\n",
    "trainScore = math.sqrt(mean_squared_error(trainY[0], trainPredict[:,0]))\n",
    "print('Train RMSE: %.2f' % (trainScore))\n",
    "\n",
    "# TEST RMSE\n",
    "testScore = math.sqrt(mean_squared_error(testY[0], testPredict[:,0]))\n",
    "print('Test RMSE: %.2f' % (testScore))\n",
    "\n",
    "# CREATING SIMILAR DATASET TO PLOT TRAINING PREDICTIONS\n",
    "trainPredictPlot = np.empty_like(OHLC_avg)\n",
    "trainPredictPlot[:, :] = np.nan\n",
    "trainPredictPlot[step_size:len(trainPredict)+step_size, :] = trainPredict\n",
    "\n",
    "# CREATING SIMILAR DATASSET TO PLOT TEST PREDICTIONS\n",
    "testPredictPlot = np.empty_like(OHLC_avg)\n",
    "testPredictPlot[:, :] = np.nan\n",
    "testPredictPlot[len(trainPredict)+(step_size*2)+1:len(OHLC_avg)-1, :] = testPredict\n",
    "\n",
    "# DE-NORMALIZING MAIN DATASET \n",
    "OHLC_avg = scaler.inverse_transform(OHLC_avg)\n",
    "\n",
    "# PLOT OF MAIN OHLC VALUES, TRAIN PREDICTIONS AND TEST PREDICTIONS\n",
    "plt.plot(OHLC_avg, 'g', label = 'original dataset')\n",
    "plt.plot(trainPredictPlot, 'r', label = 'training set')\n",
    "plt.plot(testPredictPlot, 'b', label = 'predicted stock price/test set')\n",
    "plt.legend(loc = 'upper right')\n",
    "plt.xlabel('Time in Days')\n",
    "plt.ylabel('OHLC Value of Apple Stocks')\n",
    "plt.show()\n",
    "\n",
    "# PREDICT FUTURE VALUES\n",
    "last_val = testPredict[-1]\n",
    "last_val_scaled = last_val/last_val\n",
    "next_val = model.predict(np.reshape(last_val_scaled, (1,1,1)))\n",
    "print(\"Last Day Value:\", np.asscalar(last_val))\n",
    "print(\"Next Day Value:\", np.asscalar(last_val*next_val))\n",
    "# print np.append(last_val, next_val\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "f1cd944f",
   "metadata": {},
   "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.8.8"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
