{
  "nbformat": 4,
  "nbformat_minor": 0,
  "metadata": {
    "kernelspec": {
      "name": "python3",
      "display_name": "Python 3"
    },
    "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.6.7"
    },
    "colab": {
      "provenance": [],
      "include_colab_link": true
    },
    "accelerator": "GPU"
  },
  "cells": [
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "view-in-github",
        "colab_type": "text"
      },
      "source": [
        "<a href=\"https://colab.research.google.com/github/Sahel-Eskandar/DataScience-Projects/blob/main/12_StockPrice.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "FZ_KCD5lnU18"
      },
      "source": [
        "# Stock Price Prediction\n",
        "\n",
        "Sahel Eskandar\n",
        "\n",
        "Notes have been added before each section and explained the code.\n",
        "\n",
        "Another model created for tuning hyperparameters in the next notebook."
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "G_4g6uI2tZj4"
      },
      "source": [
        "Model in this notebook without hyperparameter tuning"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "RVIf7RxrtX6U"
      },
      "source": [
        "Epoch 10/10\n",
        " - 18s - loss: 0.0104 - val_loss: 0.1616"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "2E-KExc_WFTU",
        "outputId": "37474c12-359d-47b2-d9bf-bf1b4678d7c4",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 121
        }
      },
      "source": [
        "import os, sys\n",
        "from google.colab import drive\n",
        "drive.mount('/content/drive')\n",
        "nb_path = '/content/notebooks'\n",
        "#os.symlink('/content/drive/My Drive/Colab Notebooks', nb_path)\n",
        "sys.path.insert(0,nb_path)"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "Go to this URL in a browser: https://accounts.google.com/o/oauth2/auth?client_id=947318989803-6bn6qk8qdgf4n4g3pfee6491hc0brc4i.apps.googleusercontent.com&redirect_uri=urn%3aietf%3awg%3aoauth%3a2.0%3aoob&response_type=code&scope=email%20https%3a%2f%2fwww.googleapis.com%2fauth%2fdocs.test%20https%3a%2f%2fwww.googleapis.com%2fauth%2fdrive%20https%3a%2f%2fwww.googleapis.com%2fauth%2fdrive.photos.readonly%20https%3a%2f%2fwww.googleapis.com%2fauth%2fpeopleapi.readonly\n",
            "\n",
            "Enter your authorization code:\n",
            "··········\n",
            "Mounted at /content/drive\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "QXF4pYObPrM5"
      },
      "source": [
        "## Importing libraries"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "IJwzHGtwlJIC"
      },
      "source": [
        "import numpy as np  \n",
        "import matplotlib.pyplot as plt  \n",
        "import pandas as pd  \n",
        "import tqdm\n",
        "from sklearn.preprocessing import MinMaxScaler\n",
        "from sklearn.model_selection import train_test_split"
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "6ObKA2iuPcM8"
      },
      "source": [
        "## Reading and Visualising data"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "27p8vT4FbCd6"
      },
      "source": [
        "OUTPUT_PATH='/content/drive/My Drive/App'\n",
        "INPUT_PATH='/content/drive/My Drive/App/inputs/AAPL.csv'"
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "BtmG1AzNlJIP"
      },
      "source": [
        "data=pd.read_csv(INPUT_PATH)"
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "2UBI3hOOlJIU",
        "outputId": "8d1b7f2f-fcd5-4f3c-dc4e-87155f5ac0d8",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 195
        }
      },
      "source": [
        "data.head()"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/html": [
              "<div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\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>2009-12-01</td>\n",
              "      <td>1.502857</td>\n",
              "      <td>1.560714</td>\n",
              "      <td>1.500000</td>\n",
              "      <td>1.550714</td>\n",
              "      <td>1.034021</td>\n",
              "      <td>90384000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>1</th>\n",
              "      <td>2009-12-02</td>\n",
              "      <td>1.542857</td>\n",
              "      <td>1.564286</td>\n",
              "      <td>1.529286</td>\n",
              "      <td>1.538571</td>\n",
              "      <td>1.025924</td>\n",
              "      <td>51324000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>2</th>\n",
              "      <td>2009-12-03</td>\n",
              "      <td>1.538571</td>\n",
              "      <td>1.560000</td>\n",
              "      <td>1.497143</td>\n",
              "      <td>1.502143</td>\n",
              "      <td>1.001633</td>\n",
              "      <td>47824000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>3</th>\n",
              "      <td>2009-12-04</td>\n",
              "      <td>1.495714</td>\n",
              "      <td>1.512143</td>\n",
              "      <td>1.483571</td>\n",
              "      <td>1.510714</td>\n",
              "      <td>1.007349</td>\n",
              "      <td>44485000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>4</th>\n",
              "      <td>2009-12-05</td>\n",
              "      <td>1.492857</td>\n",
              "      <td>1.510714</td>\n",
              "      <td>1.480714</td>\n",
              "      <td>1.489286</td>\n",
              "      <td>0.993060</td>\n",
              "      <td>46544400</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "</div>"
            ],
            "text/plain": [
              "         Date      Open      High       Low     Close  Adj Close    Volume\n",
              "0  2009-12-01  1.502857  1.560714  1.500000  1.550714   1.034021  90384000\n",
              "1  2009-12-02  1.542857  1.564286  1.529286  1.538571   1.025924  51324000\n",
              "2  2009-12-03  1.538571  1.560000  1.497143  1.502143   1.001633  47824000\n",
              "3  2009-12-04  1.495714  1.512143  1.483571  1.510714   1.007349  44485000\n",
              "4  2009-12-05  1.492857  1.510714  1.480714  1.489286   0.993060  46544400"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 5
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "lFoQvGB-lJIb",
        "outputId": "fdd9f20d-31f3-4ab5-9f8e-4ff8987b322c",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 295
        }
      },
      "source": [
        "plt.figure()\n",
        "plt.plot(data[\"Open\"])\n",
        "plt.plot(data[\"High\"])\n",
        "plt.plot(data[\"Low\"])\n",
        "plt.plot(data[\"Close\"])\n",
        "plt.title('Stock price history')\n",
        "plt.ylabel('Price')\n",
        "plt.xlabel('Date')\n",
        "plt.legend(['Open','High','Low','Close'], loc='upper left')\n",
        "plt.show()"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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\n",
            "text/plain": [
              "<Figure size 432x288 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": []
          }
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "OBw6xKX-lJIl",
        "outputId": "e7325ded-9106-4b39-a935-1e82e6ac936c",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 295
        }
      },
      "source": [
        "plt.figure()\n",
        "plt.plot(data[\"Volume\"])\n",
        "plt.title('Stock volume history')\n",
        "plt.ylabel('Volume')\n",
        "plt.xlabel('Date')\n",
        "plt.show()"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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\nYII=\n",
            "text/plain": [
              "<Figure size 432x288 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": []
          }
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "C8KJE-y9P1Pt"
      },
      "source": [
        "## Checking for null values"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "DwpW5v0ylJIo",
        "outputId": "ff7d791d-e74e-429c-d09d-515e3f5521c1",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 168
        }
      },
      "source": [
        "print(\"checking if any null values are present\\n\", data.isna().sum())"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "checking if any null values are present\n",
            " Date         0\n",
            "Open         0\n",
            "High         0\n",
            "Low          0\n",
            "Close        0\n",
            "Adj Close    0\n",
            "Volume       0\n",
            "dtype: int64\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "sjNrplb618ZP"
      },
      "source": [
        "Cutting dataset from the beginning for training and leaving the end for testing\n"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "N719yoWQlJIy",
        "outputId": "f5bf1dea-00fb-4435-c5c0-8bfa9e017126",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 229
        }
      },
      "source": [
        "print(\"data base:\", len(data))\n",
        "db = data.iloc[:,1:2].values\n",
        "data_train=db[0:3083,:]\n",
        "print(\"data_train:\", len(data_train))\n",
        "data.head()"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "data base: 3853\n",
            "data_train: 3083\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "execute_result",
          "data": {
            "text/html": [
              "<div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\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>2009-12-01</td>\n",
              "      <td>1.502857</td>\n",
              "      <td>1.560714</td>\n",
              "      <td>1.500000</td>\n",
              "      <td>1.550714</td>\n",
              "      <td>1.034021</td>\n",
              "      <td>90384000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>1</th>\n",
              "      <td>2009-12-02</td>\n",
              "      <td>1.542857</td>\n",
              "      <td>1.564286</td>\n",
              "      <td>1.529286</td>\n",
              "      <td>1.538571</td>\n",
              "      <td>1.025924</td>\n",
              "      <td>51324000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>2</th>\n",
              "      <td>2009-12-03</td>\n",
              "      <td>1.538571</td>\n",
              "      <td>1.560000</td>\n",
              "      <td>1.497143</td>\n",
              "      <td>1.502143</td>\n",
              "      <td>1.001633</td>\n",
              "      <td>47824000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>3</th>\n",
              "      <td>2009-12-04</td>\n",
              "      <td>1.495714</td>\n",
              "      <td>1.512143</td>\n",
              "      <td>1.483571</td>\n",
              "      <td>1.510714</td>\n",
              "      <td>1.007349</td>\n",
              "      <td>44485000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>4</th>\n",
              "      <td>2009-12-05</td>\n",
              "      <td>1.492857</td>\n",
              "      <td>1.510714</td>\n",
              "      <td>1.480714</td>\n",
              "      <td>1.489286</td>\n",
              "      <td>0.993060</td>\n",
              "      <td>46544400</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "</div>"
            ],
            "text/plain": [
              "         Date      Open      High       Low     Close  Adj Close    Volume\n",
              "0  2009-12-01  1.502857  1.560714  1.500000  1.550714   1.034021  90384000\n",
              "1  2009-12-02  1.542857  1.564286  1.529286  1.538571   1.025924  51324000\n",
              "2  2009-12-03  1.538571  1.560000  1.497143  1.502143   1.001633  47824000\n",
              "3  2009-12-04  1.495714  1.512143  1.483571  1.510714   1.007349  44485000\n",
              "4  2009-12-05  1.492857  1.510714  1.480714  1.489286   0.993060  46544400"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 9
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "EfPsqTakPQa5"
      },
      "source": [
        "## Normalizing and arranging data for time steps"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "fCoh1tr6mlt9"
      },
      "source": [
        "Scale data to a range of 0 to 1 and then the scale has been kept for final prediction inverse"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "Bo7DVhl803DW"
      },
      "source": [
        "from sklearn.preprocessing import MinMaxScaler\n",
        "\n",
        "scale= MinMaxScaler(feature_range=(0,1))\n",
        "\n",
        "data_train_scaled= scale.fit_transform(data_train)"
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "Ak1dPP86lJIx"
      },
      "source": [
        "\n",
        "Predict the opening stock price of the data based on the opening stock prices for the past 60 days. So, we set time steps to 60 days and cut each 60 days in one data and assume day of 60 as our output"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "m4LVVsjeQTMs"
      },
      "source": [
        "X_train = []\n",
        "y_train = []\n",
        "for i in range(60, 2035):\n",
        "    X_train.append(data_train_scaled[i-60:i, 0])\n",
        "    y_train.append(data_train_scaled[i, 0])\n",
        "\n",
        "X_train, y_train = np.array(X_train), np.array(y_train)\n",
        "X_train = np.reshape(X_train, (X_train.shape[0], X_train.shape[1], 1))"
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "XHQgEz75nuj9"
      },
      "source": [
        "## Creating LSTM Model "
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "gQelmtPylJI3"
      },
      "source": [
        "Add 3 LSTM layer and a dense layer a last layer of the model"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "hdbSHutXDiQv",
        "outputId": "60cdd889-6988-49cc-ee30-d0c03e0cc25d",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 79
        }
      },
      "source": [
        "from keras.models import Sequential\n",
        "from keras.layers import LSTM\n",
        "from keras.layers import Dropout\n",
        "from keras.layers import Dense "
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "Using TensorFlow backend.\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "display_data",
          "data": {
            "text/html": [
              "<p style=\"color: red;\">\n",
              "The default version of TensorFlow in Colab will soon switch to TensorFlow 2.x.<br>\n",
              "We recommend you <a href=\"https://www.tensorflow.org/guide/migrate\" target=\"_blank\">upgrade</a> now \n",
              "or ensure your notebook will continue to use TensorFlow 1.x via the <code>%tensorflow_version 1.x</code> magic:\n",
              "<a href=\"https://colab.research.google.com/notebooks/tensorflow_version.ipynb\" target=\"_blank\">more info</a>.</p>\n"
            ],
            "text/plain": [
              "<IPython.core.display.HTML object>"
            ]
          },
          "metadata": {
            "tags": []
          }
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "pfkjMbXMlJI4",
        "outputId": "6e5a23ea-8610-4359-cdf4-81e2a50c1ba5",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 1000
        }
      },
      "source": [
        "model = Sequential()\n",
        "\n",
        "model.add(LSTM(units=50,return_sequences=True,input_shape=(X_train.shape[1], 1)))\n",
        "model.add(Dropout(0.2))\n",
        "\n",
        "model.add(LSTM(units=50,return_sequences=True))\n",
        "model.add(Dropout(0.2))\n",
        "\n",
        "model.add(LSTM(units=50,return_sequences=True))\n",
        "model.add(Dropout(0.2))\n",
        "\n",
        "model.add(LSTM(units=50))\n",
        "model.add(Dropout(0.2))\n",
        "\n",
        "model.add(Dense(units=1))\n",
        "\n",
        "model.compile(optimizer='adam',loss='mean_squared_error')\n",
        "\n",
        "model.fit(X_train,y_train,epochs=40,batch_size=32)"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "WARNING:tensorflow:From /usr/local/lib/python3.6/dist-packages/keras/backend/tensorflow_backend.py:66: The name tf.get_default_graph is deprecated. Please use tf.compat.v1.get_default_graph instead.\n",
            "\n",
            "WARNING:tensorflow:From /usr/local/lib/python3.6/dist-packages/keras/backend/tensorflow_backend.py:541: The name tf.placeholder is deprecated. Please use tf.compat.v1.placeholder instead.\n",
            "\n",
            "WARNING:tensorflow:From /usr/local/lib/python3.6/dist-packages/keras/backend/tensorflow_backend.py:4432: The name tf.random_uniform is deprecated. Please use tf.random.uniform instead.\n",
            "\n",
            "WARNING:tensorflow:From /usr/local/lib/python3.6/dist-packages/keras/backend/tensorflow_backend.py:148: The name tf.placeholder_with_default is deprecated. Please use tf.compat.v1.placeholder_with_default instead.\n",
            "\n",
            "WARNING:tensorflow:From /usr/local/lib/python3.6/dist-packages/keras/backend/tensorflow_backend.py:3733: calling dropout (from tensorflow.python.ops.nn_ops) with keep_prob is deprecated and will be removed in a future version.\n",
            "Instructions for updating:\n",
            "Please use `rate` instead of `keep_prob`. Rate should be set to `rate = 1 - keep_prob`.\n",
            "WARNING:tensorflow:From /usr/local/lib/python3.6/dist-packages/keras/optimizers.py:793: The name tf.train.Optimizer is deprecated. Please use tf.compat.v1.train.Optimizer instead.\n",
            "\n",
            "WARNING:tensorflow:From /tensorflow-1.15.0/python3.6/tensorflow_core/python/ops/math_grad.py:1424: where (from tensorflow.python.ops.array_ops) is deprecated and will be removed in a future version.\n",
            "Instructions for updating:\n",
            "Use tf.where in 2.0, which has the same broadcast rule as np.where\n",
            "WARNING:tensorflow:From /usr/local/lib/python3.6/dist-packages/keras/backend/tensorflow_backend.py:1033: The name tf.assign_add is deprecated. Please use tf.compat.v1.assign_add instead.\n",
            "\n",
            "WARNING:tensorflow:From /usr/local/lib/python3.6/dist-packages/keras/backend/tensorflow_backend.py:1020: The name tf.assign is deprecated. Please use tf.compat.v1.assign instead.\n",
            "\n",
            "WARNING:tensorflow:From /usr/local/lib/python3.6/dist-packages/keras/backend/tensorflow_backend.py:3005: The name tf.Session is deprecated. Please use tf.compat.v1.Session instead.\n",
            "\n",
            "Epoch 1/40\n",
            "WARNING:tensorflow:From /usr/local/lib/python3.6/dist-packages/keras/backend/tensorflow_backend.py:190: The name tf.get_default_session is deprecated. Please use tf.compat.v1.get_default_session instead.\n",
            "\n",
            "WARNING:tensorflow:From /usr/local/lib/python3.6/dist-packages/keras/backend/tensorflow_backend.py:197: The name tf.ConfigProto is deprecated. Please use tf.compat.v1.ConfigProto instead.\n",
            "\n",
            "WARNING:tensorflow:From /usr/local/lib/python3.6/dist-packages/keras/backend/tensorflow_backend.py:207: The name tf.global_variables is deprecated. Please use tf.compat.v1.global_variables instead.\n",
            "\n",
            "WARNING:tensorflow:From /usr/local/lib/python3.6/dist-packages/keras/backend/tensorflow_backend.py:216: The name tf.is_variable_initialized is deprecated. Please use tf.compat.v1.is_variable_initialized instead.\n",
            "\n",
            "WARNING:tensorflow:From /usr/local/lib/python3.6/dist-packages/keras/backend/tensorflow_backend.py:223: The name tf.variables_initializer is deprecated. Please use tf.compat.v1.variables_initializer instead.\n",
            "\n",
            "1975/1975 [==============================] - 32s 16ms/step - loss: 0.0030\n",
            "Epoch 2/40\n",
            "1975/1975 [==============================] - 21s 11ms/step - loss: 6.1083e-04\n",
            "Epoch 3/40\n",
            "1975/1975 [==============================] - 21s 11ms/step - loss: 4.9703e-04\n",
            "Epoch 4/40\n",
            "1975/1975 [==============================] - 21s 11ms/step - loss: 4.6679e-04\n",
            "Epoch 5/40\n",
            "1975/1975 [==============================] - 21s 10ms/step - loss: 4.5108e-04\n",
            "Epoch 6/40\n",
            "1975/1975 [==============================] - 22s 11ms/step - loss: 4.0864e-04\n",
            "Epoch 7/40\n",
            "1975/1975 [==============================] - 22s 11ms/step - loss: 4.9298e-04\n",
            "Epoch 8/40\n",
            "1975/1975 [==============================] - 22s 11ms/step - loss: 4.2031e-04\n",
            "Epoch 9/40\n",
            "1975/1975 [==============================] - 22s 11ms/step - loss: 3.7070e-04\n",
            "Epoch 10/40\n",
            "1975/1975 [==============================] - 22s 11ms/step - loss: 3.3629e-04\n",
            "Epoch 11/40\n",
            "1975/1975 [==============================] - 23s 11ms/step - loss: 3.8887e-04\n",
            "Epoch 12/40\n",
            "1975/1975 [==============================] - 24s 12ms/step - loss: 3.3549e-04\n",
            "Epoch 13/40\n",
            "1975/1975 [==============================] - 23s 12ms/step - loss: 3.3134e-04\n",
            "Epoch 14/40\n",
            "1975/1975 [==============================] - 23s 12ms/step - loss: 3.1698e-04\n",
            "Epoch 15/40\n",
            "1975/1975 [==============================] - 23s 11ms/step - loss: 3.0420e-04\n",
            "Epoch 16/40\n",
            "1975/1975 [==============================] - 23s 12ms/step - loss: 2.9147e-04\n",
            "Epoch 17/40\n",
            "1975/1975 [==============================] - 23s 11ms/step - loss: 2.9539e-04\n",
            "Epoch 18/40\n",
            "1975/1975 [==============================] - 23s 12ms/step - loss: 3.1290e-04\n",
            "Epoch 19/40\n",
            "1975/1975 [==============================] - 23s 11ms/step - loss: 2.9077e-04\n",
            "Epoch 20/40\n",
            "1975/1975 [==============================] - 23s 11ms/step - loss: 2.6102e-04\n",
            "Epoch 21/40\n",
            "1975/1975 [==============================] - 22s 11ms/step - loss: 2.5477e-04\n",
            "Epoch 22/40\n",
            "1975/1975 [==============================] - 23s 12ms/step - loss: 2.6930e-04\n",
            "Epoch 23/40\n",
            "1975/1975 [==============================] - 23s 11ms/step - loss: 2.4939e-04\n",
            "Epoch 24/40\n",
            "1975/1975 [==============================] - 23s 12ms/step - loss: 2.4303e-04\n",
            "Epoch 25/40\n",
            "1975/1975 [==============================] - 23s 12ms/step - loss: 2.7892e-04\n",
            "Epoch 26/40\n",
            "1975/1975 [==============================] - 23s 12ms/step - loss: 2.9041e-04\n",
            "Epoch 27/40\n",
            "1975/1975 [==============================] - 23s 11ms/step - loss: 2.4221e-04\n",
            "Epoch 28/40\n",
            "1975/1975 [==============================] - 23s 12ms/step - loss: 2.3745e-04\n",
            "Epoch 29/40\n",
            "1975/1975 [==============================] - 22s 11ms/step - loss: 2.1408e-04\n",
            "Epoch 30/40\n",
            "1975/1975 [==============================] - 23s 12ms/step - loss: 2.4045e-04\n",
            "Epoch 31/40\n",
            "1975/1975 [==============================] - 22s 11ms/step - loss: 2.7693e-04\n",
            "Epoch 32/40\n",
            "1975/1975 [==============================] - 23s 12ms/step - loss: 2.2457e-04\n",
            "Epoch 33/40\n",
            "1975/1975 [==============================] - 23s 11ms/step - loss: 2.6060e-04\n",
            "Epoch 34/40\n",
            "1975/1975 [==============================] - 23s 12ms/step - loss: 2.4028e-04\n",
            "Epoch 35/40\n",
            "1975/1975 [==============================] - 23s 12ms/step - loss: 1.8855e-04\n",
            "Epoch 36/40\n",
            "1975/1975 [==============================] - 23s 12ms/step - loss: 2.0191e-04\n",
            "Epoch 37/40\n",
            "1975/1975 [==============================] - 23s 12ms/step - loss: 2.2780e-04\n",
            "Epoch 38/40\n",
            "1975/1975 [==============================] - 23s 12ms/step - loss: 2.4713e-04\n",
            "Epoch 39/40\n",
            "1975/1975 [==============================] - 24s 12ms/step - loss: 2.3709e-04\n",
            "Epoch 40/40\n",
            "1975/1975 [==============================] - 22s 11ms/step - loss: 2.2759e-04\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "<keras.callbacks.History at 0x7f541b569dd8>"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 13
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "CInyUXdO1rhk"
      },
      "source": [
        "## **Test Dataset**"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "VUJ5oPOYmVez"
      },
      "source": [
        "From the data set, 20 % portion of data from the end were put aside for testing and evaluating the model."
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "-TjfCFZY8zM0",
        "outputId": "c5fc1460-b9de-41b8-bdf3-cad4841228c2",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 34
        }
      },
      "source": [
        "data_test=db[3083:3853,:]\n",
        "print(\"data_test:\", len(data_test))\n",
        "\n",
        "data_test_scaled=scale.fit_transform(data_test)"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "data_test: 770\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "HK4RGSdol8KQ"
      },
      "source": [
        "Because our model predicts price for 60 days ahead. so to compare the predicted value with the real one, we consider real data series from day 60 to the end "
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "D7QwCFcCl7bd",
        "outputId": "ed23f279-81f3-4834-875d-3c3cdc15c67c",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 34
        }
      },
      "source": [
        "real_stock_price = db[3143:3853,:]\n",
        "print(\"real_stock_price:\", len(real_stock_price))"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "real_stock_price: 710\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "P32MkhmODj--",
        "outputId": "ae497d24-c08a-4fb4-bf3f-072d786d8fdf",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 34
        }
      },
      "source": [
        "X_test = []\n",
        "y_test = []\n",
        "for i in range(60,len(data_test_scaled)):\n",
        "    X_test.append(data_test_scaled[i-60:i, 0])\n",
        "    y_test.append(data_test_scaled[i, 0])\n",
        "X_test, y_test = np.array(X_test), np.array(y_test)\n",
        "\n",
        "X_test = np.reshape(X_test, (X_test.shape[0], X_test.shape[1], 1))\n",
        "print(\"X_test:\", len(X_test))"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "X_test: 710\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "7ezQ5YK4sWUO"
      },
      "source": [
        "## **Predicting values** "
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "raDMNlsz8xUJ"
      },
      "source": [
        "predicted_stock_price = model.predict(X_test)\n",
        "predicted_stock_price.shape\n",
        "\n",
        "predicted_stock_price = scale.inverse_transform(predicted_stock_price)"
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "WJDBlnrO9qJs",
        "outputId": "9f29c7fc-59c5-4968-b1d1-14bd52ebf855",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 295
        }
      },
      "source": [
        "plt.plot(real_stock_price, color = 'black', label = 'Stock Price')\n",
        "plt.plot(predicted_stock_price, color = 'r', label = 'Predicted Stock Price')\n",
        "plt.title('Assignment 2 Stock Price Prediction')\n",
        "plt.xlabel('Time')\n",
        "plt.ylabel('Stock Price')\n",
        "plt.legend()\n",
        "plt.show()"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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\nAAAASUVORK5CYII=\n",
            "text/plain": [
              "<Figure size 432x288 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": []
          }
        }
      ]
    }
  ]
}