From 8182e313306abda4e5389d1b77ac93b6b0d415fc Mon Sep 17 00:00:00 2001
From: Michael <99460271+PastaSauce0@users.noreply.github.com>
Date: Wed, 29 Jun 2022 17:30:10 -0500
Subject: [PATCH 1/3] Add files via upload
fixed high error on model
---
SAmodel.ipynb | 2300 +++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 2300 insertions(+)
create mode 100644 SAmodel.ipynb
diff --git a/SAmodel.ipynb b/SAmodel.ipynb
new file mode 100644
index 0000000..740b24e
--- /dev/null
+++ b/SAmodel.ipynb
@@ -0,0 +1,2300 @@
+{
+ "cells": [
+ {
+ "cell_type": "code",
+ "execution_count": 46,
+ "id": "02d5c824",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "#michael is sus\n",
+ "\n",
+ "import numpy as np\n",
+ "import pandas as pd\n",
+ "import matplotlib.pyplot as plt\n",
+ "import seaborn as sns\n",
+ "from scipy import stats as stat"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 47,
+ "id": "739f5bb1",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "company_tweet = pd.read_csv('Data/Tweets/Company_Tweet.csv')\n",
+ "tweet = pd.read_csv('Data/Tweets/Tweet.csv')\n",
+ "company = pd.read_csv('Data/Tweets/Company.csv')\n",
+ "company_value = pd.read_csv('Data/CompanyStocks/CompanyValues.csv')"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 48,
+ "id": "44331cca",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "tweet = tweet.dropna()\n",
+ "#merge company tweets and tweets on id\n",
+ "tweet_df = pd.merge(company_tweet , tweet , on=\"tweet_id\", how= \"inner\")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 49,
+ "id": "e2db79a1",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "tweet count: 485118\n"
+ ]
+ }
+ ],
+ "source": [
+ "#create variable 'total_engagement'\n",
+ "tweet_df[\"total_engangement\"] = tweet_df[\"comment_num\"] + tweet_df[\"retweet_num\"] + tweet_df[\"like_num\"]\n",
+ "#remove tweets below certain engagement\n",
+ "engagement_threshold = 40\n",
+ "tweet_df = tweet_df[tweet_df[\"total_engangement\"] > engagement_threshold]\n",
+ "tweet_df.head()\n",
+ "print('tweet count: ', tweet_df.size)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 50,
+ "id": "a2d24286",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "#convert original time on tweet_df to date time\n",
+ "tweet_df['post_date'] = pd.to_datetime(tweet_df['post_date'], unit='s')\n",
+ "tweet_df['day_date'] = pd.to_datetime(tweet_df['post_date'].apply(lambda date: date.date()))"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 51,
+ "id": "b7d9b90f",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "#order chronilogically\n",
+ "tweet_df = tweet_df.sort_values(by=\"day_date\")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 52,
+ "id": "b5663fea",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "
\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " ticker_symbol | \n",
+ " day_date | \n",
+ " close_value | \n",
+ " volume | \n",
+ " open_value | \n",
+ " high_value | \n",
+ " low_value | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 9675 | \n",
+ " GOOG | \n",
+ " 2018-09-26 | \n",
+ " 1180.49 | \n",
+ " 1346434 | \n",
+ " 1185.15 | \n",
+ " 1194.23 | \n",
+ " 1174.765 | \n",
+ "
\n",
+ " \n",
+ " | 709 | \n",
+ " AAPL | \n",
+ " 2017-08-03 | \n",
+ " 155.57 | \n",
+ " 26604140 | \n",
+ " 157.05 | \n",
+ " 157.21 | \n",
+ " 155.020 | \n",
+ "
\n",
+ " \n",
+ " | 741 | \n",
+ " AAPL | \n",
+ " 2017-06-19 | \n",
+ " 146.34 | \n",
+ " 32203640 | \n",
+ " 143.66 | \n",
+ " 146.74 | \n",
+ " 143.660 | \n",
+ "
\n",
+ " \n",
+ " | 15798 | \n",
+ " TSLA | \n",
+ " 2015-02-09 | \n",
+ " 217.48 | \n",
+ " 3469776 | \n",
+ " 215.38 | \n",
+ " 217.93 | \n",
+ " 211.990 | \n",
+ "
\n",
+ " \n",
+ " | 2926 | \n",
+ " AAPL | \n",
+ " 2018-08-11 | \n",
+ " 207.53 | \n",
+ " 24592460 | \n",
+ " 207.36 | \n",
+ " 209.10 | \n",
+ " 206.670 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " ticker_symbol day_date close_value volume open_value high_value \\\n",
+ "9675 GOOG 2018-09-26 1180.49 1346434 1185.15 1194.23 \n",
+ "709 AAPL 2017-08-03 155.57 26604140 157.05 157.21 \n",
+ "741 AAPL 2017-06-19 146.34 32203640 143.66 146.74 \n",
+ "15798 TSLA 2015-02-09 217.48 3469776 215.38 217.93 \n",
+ "2926 AAPL 2018-08-11 207.53 24592460 207.36 209.10 \n",
+ "\n",
+ " low_value \n",
+ "9675 1174.765 \n",
+ "709 155.020 \n",
+ "741 143.660 \n",
+ "15798 211.990 \n",
+ "2926 206.670 "
+ ]
+ },
+ "execution_count": 52,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "#convert time value on company stock data to date time\n",
+ "stock_df = company_value\n",
+ "stock_df['day_date'] = pd.to_datetime(stock_df['day_date'])\n",
+ "stock_df.sample(5)\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 53,
+ "id": "54424f6d",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "#drop un-needed features\n",
+ "tweet_df = tweet_df.drop(['tweet_id', 'post_date', 'comment_num', 'retweet_num', 'like_num'], axis=1)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 54,
+ "id": "6c34fc0b",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Start day: 2015-01-01 00:00:00\n",
+ "End day: 2019-12-31 00:00:00\n"
+ ]
+ }
+ ],
+ "source": [
+ "#remove any stock data that is outside of the tweet data\n",
+ "start_day = min(tweet_df['day_date'])\n",
+ "print(f\"Start day: {start_day}\")\n",
+ "\n",
+ "end_day = max(tweet_df['day_date'])\n",
+ "print(f\"End day: {end_day}\")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 55,
+ "id": "cead02c6",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "stock_df = stock_df[(stock_df['day_date'] >= start_day) & (stock_df['day_date'] <= end_day)]"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 56,
+ "id": "d12c51e9",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " ticker_symbol | \n",
+ " day_date | \n",
+ " close_value | \n",
+ " volume | \n",
+ " open_value | \n",
+ " high_value | \n",
+ " low_value | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 2517 | \n",
+ " AAPL | \n",
+ " 2015-01-01 | \n",
+ " 110.38 | \n",
+ " 41304780 | \n",
+ " 112.82 | \n",
+ " 113.13 | \n",
+ " 110.21 | \n",
+ "
\n",
+ " \n",
+ " | 10810 | \n",
+ " GOOG | \n",
+ " 2015-01-01 | \n",
+ " 526.40 | \n",
+ " 1367110 | \n",
+ " 531.25 | \n",
+ " 532.60 | \n",
+ " 525.80 | \n",
+ "
\n",
+ " \n",
+ " | 8687 | \n",
+ " GOOGL | \n",
+ " 2015-01-01 | \n",
+ " 530.66 | \n",
+ " 1235889 | \n",
+ " 537.74 | \n",
+ " 538.40 | \n",
+ " 530.20 | \n",
+ "
\n",
+ " \n",
+ " | 16960 | \n",
+ " TSLA | \n",
+ " 2015-01-01 | \n",
+ " 222.41 | \n",
+ " 2392947 | \n",
+ " 223.09 | \n",
+ " 225.68 | \n",
+ " 222.25 | \n",
+ "
\n",
+ " \n",
+ " | 5602 | \n",
+ " AMZN | \n",
+ " 2015-01-01 | \n",
+ " 310.35 | \n",
+ " 2048676 | \n",
+ " 311.55 | \n",
+ " 312.98 | \n",
+ " 310.01 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " ticker_symbol day_date close_value volume open_value high_value \\\n",
+ "2517 AAPL 2015-01-01 110.38 41304780 112.82 113.13 \n",
+ "10810 GOOG 2015-01-01 526.40 1367110 531.25 532.60 \n",
+ "8687 GOOGL 2015-01-01 530.66 1235889 537.74 538.40 \n",
+ "16960 TSLA 2015-01-01 222.41 2392947 223.09 225.68 \n",
+ "5602 AMZN 2015-01-01 310.35 2048676 311.55 312.98 \n",
+ "\n",
+ " low_value \n",
+ "2517 110.21 \n",
+ "10810 525.80 \n",
+ "8687 530.20 \n",
+ "16960 222.25 \n",
+ "5602 310.01 "
+ ]
+ },
+ "execution_count": 56,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "#sort stock data chronilogically\n",
+ "stock_df = stock_df.sort_values(by=\"day_date\")\n",
+ "stock_df.head()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 57,
+ "id": "c3a20efb",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " ticker_symbol | \n",
+ " writer | \n",
+ " body | \n",
+ " total_engangement | \n",
+ " day_date | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 40 | \n",
+ " AAPL | \n",
+ " CNBC | \n",
+ " This is Wall Street's top pick in 2015. Hint: ... | \n",
+ " 64 | \n",
+ " 2015-01-01 | \n",
+ "
\n",
+ " \n",
+ " | 47 | \n",
+ " AAPL | \n",
+ " WSJ | \n",
+ " See how tech companies like Apple, Twitter and... | \n",
+ " 347 | \n",
+ " 2015-01-01 | \n",
+ "
\n",
+ " \n",
+ " | 239 | \n",
+ " AAPL | \n",
+ " greatspoke | \n",
+ " Top Stock Analyst Releases Report on Top Stock... | \n",
+ " 433 | \n",
+ " 2015-01-01 | \n",
+ "
\n",
+ " \n",
+ " | 240 | \n",
+ " AAPL | \n",
+ " greatspoke | \n",
+ " Analyst Report on Top Stock Market Options for... | \n",
+ " 433 | \n",
+ " 2015-01-01 | \n",
+ "
\n",
+ " \n",
+ " | 241 | \n",
+ " AMZN | \n",
+ " greatspoke | \n",
+ " Analyst Report on Top Stock Market Options for... | \n",
+ " 433 | \n",
+ " 2015-01-01 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " ticker_symbol writer \\\n",
+ "40 AAPL CNBC \n",
+ "47 AAPL WSJ \n",
+ "239 AAPL greatspoke \n",
+ "240 AAPL greatspoke \n",
+ "241 AMZN greatspoke \n",
+ "\n",
+ " body total_engangement \\\n",
+ "40 This is Wall Street's top pick in 2015. Hint: ... 64 \n",
+ "47 See how tech companies like Apple, Twitter and... 347 \n",
+ "239 Top Stock Analyst Releases Report on Top Stock... 433 \n",
+ "240 Analyst Report on Top Stock Market Options for... 433 \n",
+ "241 Analyst Report on Top Stock Market Options for... 433 \n",
+ "\n",
+ " day_date \n",
+ "40 2015-01-01 \n",
+ "47 2015-01-01 \n",
+ "239 2015-01-01 \n",
+ "240 2015-01-01 \n",
+ "241 2015-01-01 "
+ ]
+ },
+ "execution_count": 57,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "tweet_df.head()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 58,
+ "id": "a5de8780",
+ "metadata": {
+ "scrolled": true
+ },
+ "outputs": [],
+ "source": [
+ "APPL_df = stock_df.loc[stock_df['ticker_symbol'] == 'AAPL']\n",
+ "\n",
+ "GOOG_df = stock_df.loc[stock_df['ticker_symbol'] == 'GOOG']\n",
+ "GOOGL_df = stock_df.loc[stock_df['ticker_symbol'] == 'GOOGL']\n",
+ "\n",
+ "\n",
+ "TSLA_df = stock_df.loc[stock_df['ticker_symbol'] == 'TSLA']\n",
+ "AMZN_df = stock_df.loc[stock_df['ticker_symbol'] == 'AMZN']\n",
+ "MSFT_df = stock_df.loc[stock_df['ticker_symbol'] == 'MSFT']"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 59,
+ "id": "95202d0f",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " ticker_symbol | \n",
+ " day_date | \n",
+ " close_value | \n",
+ " volume | \n",
+ " open_value | \n",
+ " high_value | \n",
+ " low_value | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 8687 | \n",
+ " GOOGL | \n",
+ " 2015-01-01 | \n",
+ " 530.66 | \n",
+ " 1235889 | \n",
+ " 537.74 | \n",
+ " 538.4000 | \n",
+ " 530.20 | \n",
+ "
\n",
+ " \n",
+ " | 7530 | \n",
+ " GOOGL | \n",
+ " 2015-01-02 | \n",
+ " 529.55 | \n",
+ " 1325271 | \n",
+ " 532.60 | \n",
+ " 535.8000 | \n",
+ " 527.88 | \n",
+ "
\n",
+ " \n",
+ " | 8688 | \n",
+ " GOOGL | \n",
+ " 2015-01-03 | \n",
+ " 529.55 | \n",
+ " 1325271 | \n",
+ " 532.60 | \n",
+ " 535.8000 | \n",
+ " 527.88 | \n",
+ "
\n",
+ " \n",
+ " | 8689 | \n",
+ " GOOGL | \n",
+ " 2015-01-04 | \n",
+ " 529.55 | \n",
+ " 1325271 | \n",
+ " 532.60 | \n",
+ " 535.8000 | \n",
+ " 527.88 | \n",
+ "
\n",
+ " \n",
+ " | 7529 | \n",
+ " GOOGL | \n",
+ " 2015-01-05 | \n",
+ " 519.46 | \n",
+ " 2054120 | \n",
+ " 527.15 | \n",
+ " 527.9899 | \n",
+ " 517.75 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " ticker_symbol day_date close_value volume open_value high_value \\\n",
+ "8687 GOOGL 2015-01-01 530.66 1235889 537.74 538.4000 \n",
+ "7530 GOOGL 2015-01-02 529.55 1325271 532.60 535.8000 \n",
+ "8688 GOOGL 2015-01-03 529.55 1325271 532.60 535.8000 \n",
+ "8689 GOOGL 2015-01-04 529.55 1325271 532.60 535.8000 \n",
+ "7529 GOOGL 2015-01-05 519.46 2054120 527.15 527.9899 \n",
+ "\n",
+ " low_value \n",
+ "8687 530.20 \n",
+ "7530 527.88 \n",
+ "8688 527.88 \n",
+ "8689 527.88 \n",
+ "7529 517.75 "
+ ]
+ },
+ "execution_count": 59,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "#there are two types of google stocks, one has voting power in the company while the other doesnt\n",
+ "GOOGL_df.head()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 60,
+ "id": "35df177f",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "APPL_tweet = tweet_df.loc[tweet_df['ticker_symbol'] == 'AAPL']"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 61,
+ "id": "d50e68eb",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Requirement already satisfied: nltk in c:\\users\\michael\\anaconda3\\envs\\tensorflow-session\\lib\\site-packages (3.7)\n",
+ "Requirement already satisfied: click in c:\\users\\michael\\anaconda3\\envs\\tensorflow-session\\lib\\site-packages (from nltk) (8.0.3)\n",
+ "Requirement already satisfied: joblib in c:\\users\\michael\\anaconda3\\envs\\tensorflow-session\\lib\\site-packages (from nltk) (1.1.0)\n",
+ "Requirement already satisfied: regex>=2021.8.3 in c:\\users\\michael\\anaconda3\\envs\\tensorflow-session\\lib\\site-packages (from nltk) (2022.6.2)\n",
+ "Requirement already satisfied: tqdm in c:\\users\\michael\\anaconda3\\envs\\tensorflow-session\\lib\\site-packages (from nltk) (4.64.0)\n",
+ "Requirement already satisfied: colorama in c:\\users\\michael\\anaconda3\\envs\\tensorflow-session\\lib\\site-packages (from click->nltk) (0.4.4)\n",
+ "Note: you may need to restart the kernel to use updated packages.\n"
+ ]
+ }
+ ],
+ "source": [
+ "pip install nltk"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 62,
+ "id": "ff638169",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "import nltk \n",
+ "# from nltk.corpus import twitter_samples \n",
+ "# from nltk.corpus import stopwords \n",
+ "# from nltk.stem import PorterStemmer\n",
+ "# from nltk.tokenize import TweetTokenizer \n",
+ "\n",
+ "import random \n",
+ "import re \n",
+ "import string\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 63,
+ "id": "1e71d34b",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "def remove_special_character(tweet):\n",
+ "# print(tweet)\n",
+ " # remove the old style retweet text \"RT\"\n",
+ " tweet = re.sub(r'^RT[\\s]+', '', tweet)\n",
+ "\n",
+ " # remove hyperlinks\n",
+ " tweet = re.sub(r'https?:\\/\\/.*[\\r\\n]*', '', tweet)\n",
+ "\n",
+ " # remove hashtags. only removing the hash # sign from the word\n",
+ " tweet = re.sub(r'#', '', tweet)\n",
+ "\n",
+ " # remove single numeric terms in the tweet. \n",
+ " tweet = re.sub(r'[0-9]', '', tweet)\n",
+ " \n",
+ " return tweet"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 64,
+ "id": "9eaa0f2b",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " ticker_symbol | \n",
+ " writer | \n",
+ " body | \n",
+ " total_engangement | \n",
+ " day_date | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 3713184 | \n",
+ " TSLA | \n",
+ " orthereaboot | \n",
+ " details in this $tsla story must all be read. ... | \n",
+ " 49 | \n",
+ " 2018-06-01 | \n",
+ "
\n",
+ " \n",
+ " | 4246304 | \n",
+ " TSLA | \n",
+ " GerberKawasaki | \n",
+ " it’s possible that tesla just expanded the mar... | \n",
+ " 235 | \n",
+ " 2019-11-22 | \n",
+ "
\n",
+ " \n",
+ " | 1362371 | \n",
+ " AAPL | \n",
+ " DanielEran | \n",
+ " apple music hits record.m streams in hours. s... | \n",
+ " 129 | \n",
+ " 2018-06-30 | \n",
+ "
\n",
+ " \n",
+ " | 2426824 | \n",
+ " AMZN | \n",
+ " Sandro_power | \n",
+ " waiting for confirmation in this chop has lead... | \n",
+ " 157 | \n",
+ " 2018-06-25 | \n",
+ "
\n",
+ " \n",
+ " | 3882781 | \n",
+ " TSLA | \n",
+ " ValueAnalyst1 | \n",
+ " if you're surprised by macquarie's $ price tar... | \n",
+ " 69 | \n",
+ " 2018-10-08 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " ticker_symbol writer \\\n",
+ "3713184 TSLA orthereaboot \n",
+ "4246304 TSLA GerberKawasaki \n",
+ "1362371 AAPL DanielEran \n",
+ "2426824 AMZN Sandro_power \n",
+ "3882781 TSLA ValueAnalyst1 \n",
+ "\n",
+ " body total_engangement \\\n",
+ "3713184 details in this $tsla story must all be read. ... 49 \n",
+ "4246304 it’s possible that tesla just expanded the mar... 235 \n",
+ "1362371 apple music hits record.m streams in hours. s... 129 \n",
+ "2426824 waiting for confirmation in this chop has lead... 157 \n",
+ "3882781 if you're surprised by macquarie's $ price tar... 69 \n",
+ "\n",
+ " day_date \n",
+ "3713184 2018-06-01 \n",
+ "4246304 2019-11-22 \n",
+ "1362371 2018-06-30 \n",
+ "2426824 2018-06-25 \n",
+ "3882781 2018-10-08 "
+ ]
+ },
+ "execution_count": 64,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "tweet_df[\"body\"] = tweet_df[\"body\"].apply(lambda tweet: remove_special_character(tweet))\n",
+ "tweet_df[\"body\"] = tweet_df[\"body\"].str.lower()\n",
+ "tweet_df.sample(5)\n",
+ "\n",
+ "# ?? why is the body text so fucked up ??"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 65,
+ "id": "3186dcf3",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Requirement already satisfied: vaderSentiment in c:\\users\\michael\\anaconda3\\envs\\tensorflow-session\\lib\\site-packages (3.3.2)\n",
+ "Requirement already satisfied: requests in c:\\users\\michael\\anaconda3\\envs\\tensorflow-session\\lib\\site-packages (from vaderSentiment) (2.27.1)\n",
+ "Requirement already satisfied: certifi>=2017.4.17 in c:\\users\\michael\\anaconda3\\envs\\tensorflow-session\\lib\\site-packages (from requests->vaderSentiment) (2022.6.15)\n",
+ "Requirement already satisfied: urllib3<1.27,>=1.21.1 in c:\\users\\michael\\anaconda3\\envs\\tensorflow-session\\lib\\site-packages (from requests->vaderSentiment) (1.26.8)\n",
+ "Requirement already satisfied: charset-normalizer~=2.0.0 in c:\\users\\michael\\anaconda3\\envs\\tensorflow-session\\lib\\site-packages (from requests->vaderSentiment) (2.0.4)\n",
+ "Requirement already satisfied: idna<4,>=2.5 in c:\\users\\michael\\anaconda3\\envs\\tensorflow-session\\lib\\site-packages (from requests->vaderSentiment) (3.3)\n",
+ "Note: you may need to restart the kernel to use updated packages.\n"
+ ]
+ }
+ ],
+ "source": [
+ "pip install vaderSentiment"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 66,
+ "id": "3eec5c71",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "from vaderSentiment.vaderSentiment import SentimentIntensityAnalyzer\n",
+ "vanderSentimentAnalyzer = SentimentIntensityAnalyzer()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 67,
+ "id": "6ce92ec7",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "def getVanderScore(tweet): \n",
+ " vs = vanderSentimentAnalyzer.polarity_scores(tweet)\n",
+ " score = vs['compound']\n",
+ " return score"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 68,
+ "id": "50ebb47a",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "tweet_df['vander_score'] = tweet_df['body'].apply(lambda tweet: getVanderScore(tweet))\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 69,
+ "id": "ff79fd77",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "#create a weighted scored based off engagement and sentiment analysis score\n",
+ "tweet_df['summarative_score'] = tweet_df['total_engangement'] * tweet_df['vander_score'] * 0.01\n",
+ "tweet_df = tweet_df.drop(['total_engangement', 'vander_score'], axis=1)\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 70,
+ "id": "ca069cd4",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "#sum or avg the summarative_scores for one date\n",
+ "APPL_tweet = tweet_df.loc[tweet_df['ticker_symbol'] == 'AAPL']\n",
+ "\n",
+ "GOOG_tweet = tweet_df.loc[tweet_df['ticker_symbol'] == 'GOOG']\n",
+ "GOOGL_tweet = tweet_df.loc[tweet_df['ticker_symbol'] == 'GOOGL']\n",
+ "\n",
+ "\n",
+ "TSLA_tweet = tweet_df.loc[tweet_df['ticker_symbol'] == 'TSLA']\n",
+ "AMZN_tweet = tweet_df.loc[tweet_df['ticker_symbol'] == 'AMZN']\n",
+ "MSFT_tweet = tweet_df.loc[tweet_df['ticker_symbol'] == 'MSFT']"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 71,
+ "id": "a065ab1e",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " ticker_symbol | \n",
+ " writer | \n",
+ " body | \n",
+ " day_date | \n",
+ " summarative_score | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 1850635 | \n",
+ " GOOG | \n",
+ " WSJ | \n",
+ " google now controls or occupies a strip of man... | \n",
+ " 2015-01-04 | \n",
+ " 0.000000 | \n",
+ "
\n",
+ " \n",
+ " | 4040 | \n",
+ " GOOG | \n",
+ " DanielEran | \n",
+ " despite lawsuit, $aapl ios is far more storag... | \n",
+ " 2015-01-05 | \n",
+ " 0.410522 | \n",
+ "
\n",
+ " \n",
+ " | 1854377 | \n",
+ " GOOG | \n",
+ " WSJ | \n",
+ " google is exploring how to use frequencies to ... | \n",
+ " 2015-01-20 | \n",
+ " 0.000000 | \n",
+ "
\n",
+ " \n",
+ " | 1854055 | \n",
+ " GOOG | \n",
+ " WSJ | \n",
+ " google is close to investing $ billion in spac... | \n",
+ " 2015-01-20 | \n",
+ " 1.547000 | \n",
+ "
\n",
+ " \n",
+ " | 1854431 | \n",
+ " GOOG | \n",
+ " The_Real_Fly | \n",
+ " obama is long $ebay, $goog and $tsla | \n",
+ " 2015-01-21 | \n",
+ " 0.000000 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " ticker_symbol writer \\\n",
+ "1850635 GOOG WSJ \n",
+ "4040 GOOG DanielEran \n",
+ "1854377 GOOG WSJ \n",
+ "1854055 GOOG WSJ \n",
+ "1854431 GOOG The_Real_Fly \n",
+ "\n",
+ " body day_date \\\n",
+ "1850635 google now controls or occupies a strip of man... 2015-01-04 \n",
+ "4040 despite lawsuit, $aapl ios is far more storag... 2015-01-05 \n",
+ "1854377 google is exploring how to use frequencies to ... 2015-01-20 \n",
+ "1854055 google is close to investing $ billion in spac... 2015-01-20 \n",
+ "1854431 obama is long $ebay, $goog and $tsla 2015-01-21 \n",
+ "\n",
+ " summarative_score \n",
+ "1850635 0.000000 \n",
+ "4040 0.410522 \n",
+ "1854377 0.000000 \n",
+ "1854055 1.547000 \n",
+ "1854431 0.000000 "
+ ]
+ },
+ "execution_count": 71,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "GOOG_tweet.head()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 72,
+ "id": "9d38c41b",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "APPL_tweet = APPL_tweet.groupby('day_date')['summarative_score'].sum()\n",
+ "GOOG_tweet = GOOG_tweet.groupby('day_date')['summarative_score'].sum()\n",
+ "GOOGL_tweet = GOOGL_tweet.groupby('day_date')['summarative_score'].sum()\n",
+ "TSLA_tweet = TSLA_tweet.groupby('day_date')['summarative_score'].sum()\n",
+ "AMZN_tweet = AMZN_tweet.groupby('day_date')['summarative_score'].sum()\n",
+ "MSFT_tweet = MSFT_tweet.groupby('day_date')['summarative_score'].sum()\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 73,
+ "id": "88884fb3",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " ticker_symbol | \n",
+ " day_date | \n",
+ " close_value | \n",
+ " volume | \n",
+ " open_value | \n",
+ " high_value | \n",
+ " low_value | \n",
+ " summarative_score | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " AAPL | \n",
+ " 2015-01-01 | \n",
+ " 110.38 | \n",
+ " 41304780 | \n",
+ " 112.82 | \n",
+ " 113.13 | \n",
+ " 110.21 | \n",
+ " 3.911989 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " AAPL | \n",
+ " 2015-01-02 | \n",
+ " 109.33 | \n",
+ " 53143770 | \n",
+ " 111.39 | \n",
+ " 111.44 | \n",
+ " 107.35 | \n",
+ " 2.044350 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " AAPL | \n",
+ " 2015-01-03 | \n",
+ " 109.33 | \n",
+ " 53143770 | \n",
+ " 111.39 | \n",
+ " 111.44 | \n",
+ " 107.35 | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " AAPL | \n",
+ " 2015-01-04 | \n",
+ " 109.33 | \n",
+ " 53143770 | \n",
+ " 111.39 | \n",
+ " 111.44 | \n",
+ " 107.35 | \n",
+ " 1.740136 | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " AAPL | \n",
+ " 2015-01-05 | \n",
+ " 106.25 | \n",
+ " 64210880 | \n",
+ " 108.29 | \n",
+ " 108.65 | \n",
+ " 105.41 | \n",
+ " 0.866415 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " ticker_symbol day_date close_value volume open_value high_value \\\n",
+ "0 AAPL 2015-01-01 110.38 41304780 112.82 113.13 \n",
+ "1 AAPL 2015-01-02 109.33 53143770 111.39 111.44 \n",
+ "2 AAPL 2015-01-03 109.33 53143770 111.39 111.44 \n",
+ "3 AAPL 2015-01-04 109.33 53143770 111.39 111.44 \n",
+ "4 AAPL 2015-01-05 106.25 64210880 108.29 108.65 \n",
+ "\n",
+ " low_value summarative_score \n",
+ "0 110.21 3.911989 \n",
+ "1 107.35 2.044350 \n",
+ "2 107.35 NaN \n",
+ "3 107.35 1.740136 \n",
+ "4 105.41 0.866415 "
+ ]
+ },
+ "execution_count": 73,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "APPL_df = APPL_df.merge(APPL_tweet, how = 'outer', on = 'day_date')\n",
+ "GOOG_df = APPL_df.merge(GOOG_tweet, how = 'outer', on = 'day_date')\n",
+ "GOOGL_df = APPL_df.merge(GOOGL_tweet, how = 'outer', on = 'day_date')\n",
+ "TSLA_df = APPL_df.merge(TSLA_tweet, how = 'outer', on = 'day_date')\n",
+ "AMZN_df = APPL_df.merge(AMZN_tweet, how = 'outer', on = 'day_date')\n",
+ "MSFT_df = APPL_df.merge(MSFT_tweet, how = 'outer', on = 'day_date')\n",
+ "\n",
+ "APPL_df.head()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 74,
+ "id": "7f188ccd",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " ticker_symbol | \n",
+ " day_date | \n",
+ " close_value | \n",
+ " volume | \n",
+ " open_value | \n",
+ " high_value | \n",
+ " low_value | \n",
+ " summarative_score_x | \n",
+ " summarative_score_y | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " AAPL | \n",
+ " 2015-01-01 | \n",
+ " 110.38 | \n",
+ " 41304780 | \n",
+ " 112.82 | \n",
+ " 113.13 | \n",
+ " 110.21 | \n",
+ " 3.911989 | \n",
+ " 0.000000 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " AAPL | \n",
+ " 2015-01-02 | \n",
+ " 109.33 | \n",
+ " 53143770 | \n",
+ " 111.39 | \n",
+ " 111.44 | \n",
+ " 107.35 | \n",
+ " 2.044350 | \n",
+ " 0.000000 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " AAPL | \n",
+ " 2015-01-03 | \n",
+ " 109.33 | \n",
+ " 53143770 | \n",
+ " 111.39 | \n",
+ " 111.44 | \n",
+ " 107.35 | \n",
+ " 0.000000 | \n",
+ " 0.000000 | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " AAPL | \n",
+ " 2015-01-04 | \n",
+ " 109.33 | \n",
+ " 53143770 | \n",
+ " 111.39 | \n",
+ " 111.44 | \n",
+ " 107.35 | \n",
+ " 1.740136 | \n",
+ " 0.000000 | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " AAPL | \n",
+ " 2015-01-05 | \n",
+ " 106.25 | \n",
+ " 64210880 | \n",
+ " 108.29 | \n",
+ " 108.65 | \n",
+ " 105.41 | \n",
+ " 0.866415 | \n",
+ " 0.410522 | \n",
+ "
\n",
+ " \n",
+ " | ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ "
\n",
+ " \n",
+ " | 1821 | \n",
+ " AAPL | \n",
+ " 2019-12-27 | \n",
+ " 289.80 | \n",
+ " 36592940 | \n",
+ " 291.12 | \n",
+ " 293.97 | \n",
+ " 288.12 | \n",
+ " 0.115701 | \n",
+ " 1.539251 | \n",
+ "
\n",
+ " \n",
+ " | 1822 | \n",
+ " AAPL | \n",
+ " 2019-12-28 | \n",
+ " 289.80 | \n",
+ " 36592940 | \n",
+ " 291.12 | \n",
+ " 293.97 | \n",
+ " 288.12 | \n",
+ " 0.411740 | \n",
+ " 0.116788 | \n",
+ "
\n",
+ " \n",
+ " | 1823 | \n",
+ " AAPL | \n",
+ " 2019-12-29 | \n",
+ " 289.80 | \n",
+ " 36592940 | \n",
+ " 291.12 | \n",
+ " 293.97 | \n",
+ " 288.12 | \n",
+ " 2.102808 | \n",
+ " 2.693193 | \n",
+ "
\n",
+ " \n",
+ " | 1824 | \n",
+ " AAPL | \n",
+ " 2019-12-30 | \n",
+ " 291.52 | \n",
+ " 36059610 | \n",
+ " 289.46 | \n",
+ " 292.69 | \n",
+ " 285.22 | \n",
+ " 7.807207 | \n",
+ " 0.000000 | \n",
+ "
\n",
+ " \n",
+ " | 1825 | \n",
+ " AAPL | \n",
+ " 2019-12-31 | \n",
+ " 293.65 | \n",
+ " 25247630 | \n",
+ " 289.93 | \n",
+ " 293.68 | \n",
+ " 289.52 | \n",
+ " 1.383618 | \n",
+ " 1.688742 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
1826 rows × 9 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " ticker_symbol day_date close_value volume open_value high_value \\\n",
+ "0 AAPL 2015-01-01 110.38 41304780 112.82 113.13 \n",
+ "1 AAPL 2015-01-02 109.33 53143770 111.39 111.44 \n",
+ "2 AAPL 2015-01-03 109.33 53143770 111.39 111.44 \n",
+ "3 AAPL 2015-01-04 109.33 53143770 111.39 111.44 \n",
+ "4 AAPL 2015-01-05 106.25 64210880 108.29 108.65 \n",
+ "... ... ... ... ... ... ... \n",
+ "1821 AAPL 2019-12-27 289.80 36592940 291.12 293.97 \n",
+ "1822 AAPL 2019-12-28 289.80 36592940 291.12 293.97 \n",
+ "1823 AAPL 2019-12-29 289.80 36592940 291.12 293.97 \n",
+ "1824 AAPL 2019-12-30 291.52 36059610 289.46 292.69 \n",
+ "1825 AAPL 2019-12-31 293.65 25247630 289.93 293.68 \n",
+ "\n",
+ " low_value summarative_score_x summarative_score_y \n",
+ "0 110.21 3.911989 0.000000 \n",
+ "1 107.35 2.044350 0.000000 \n",
+ "2 107.35 0.000000 0.000000 \n",
+ "3 107.35 1.740136 0.000000 \n",
+ "4 105.41 0.866415 0.410522 \n",
+ "... ... ... ... \n",
+ "1821 288.12 0.115701 1.539251 \n",
+ "1822 288.12 0.411740 0.116788 \n",
+ "1823 288.12 2.102808 2.693193 \n",
+ "1824 285.22 7.807207 0.000000 \n",
+ "1825 289.52 1.383618 1.688742 \n",
+ "\n",
+ "[1826 rows x 9 columns]"
+ ]
+ },
+ "execution_count": 74,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "APPL_df.replace(to_replace = np.nan, value = 0)\n",
+ "GOOG_df.replace(to_replace = np.nan, value = 0)\n",
+ "GOOGL_df.replace(to_replace = np.nan, value = 0)\n",
+ "AMZN_df.replace(to_replace = np.nan, value = 0)\n",
+ "TSLA_df.replace(to_replace = np.nan, value = 0)\n",
+ "MSFT_df.replace(to_replace = np.nan, value = 0)\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "f780fcd2",
+ "metadata": {},
+ "source": [
+ "# # LSTM MODEL: "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 75,
+ "id": "a1c4face",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "#pip install tensorflow==2.9.1\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 76,
+ "id": "6fa7f52a",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "#here we will do the LSTM model\n",
+ "\n",
+ "#/-\\|/-\\|\n",
+ "import math\n",
+ "import tensorflow \n",
+ "from tensorflow import keras as ks\n",
+ "from tensorflow.keras import layers\n",
+ "from sklearn.model_selection import train_test_split\n",
+ "from sklearn.preprocessing import MinMaxScaler\n",
+ "from keras.models import Sequential\n",
+ "from keras.layers import CuDNNLSTM, Dense, Dropout, LSTM\n",
+ "from keras.layers import Dense, LSTM\n",
+ "\n",
+ "from keras.optimizers import Adam\n",
+ "\n",
+ "plt.style.use('fivethirtyeight')\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 77,
+ "id": "8841bc93",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " ticker_symbol | \n",
+ " day_date | \n",
+ " close_value | \n",
+ " volume | \n",
+ " open_value | \n",
+ " high_value | \n",
+ " low_value | \n",
+ " summarative_score | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " AAPL | \n",
+ " 2015-01-01 | \n",
+ " 110.38 | \n",
+ " 41304780 | \n",
+ " 112.82 | \n",
+ " 113.13 | \n",
+ " 110.210 | \n",
+ " 3.911989 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " AAPL | \n",
+ " 2015-01-02 | \n",
+ " 109.33 | \n",
+ " 53143770 | \n",
+ " 111.39 | \n",
+ " 111.44 | \n",
+ " 107.350 | \n",
+ " 2.044350 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " AAPL | \n",
+ " 2015-01-03 | \n",
+ " 109.33 | \n",
+ " 53143770 | \n",
+ " 111.39 | \n",
+ " 111.44 | \n",
+ " 107.350 | \n",
+ " 0.000000 | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " AAPL | \n",
+ " 2015-01-04 | \n",
+ " 109.33 | \n",
+ " 53143770 | \n",
+ " 111.39 | \n",
+ " 111.44 | \n",
+ " 107.350 | \n",
+ " 1.740136 | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " AAPL | \n",
+ " 2015-01-05 | \n",
+ " 106.25 | \n",
+ " 64210880 | \n",
+ " 108.29 | \n",
+ " 108.65 | \n",
+ " 105.410 | \n",
+ " 0.866415 | \n",
+ "
\n",
+ " \n",
+ " | 5 | \n",
+ " AAPL | \n",
+ " 2015-01-06 | \n",
+ " 106.26 | \n",
+ " 65682250 | \n",
+ " 106.54 | \n",
+ " 107.43 | \n",
+ " 104.630 | \n",
+ " 0.000000 | \n",
+ "
\n",
+ " \n",
+ " | 6 | \n",
+ " AAPL | \n",
+ " 2015-01-07 | \n",
+ " 107.75 | \n",
+ " 39983350 | \n",
+ " 107.20 | \n",
+ " 108.20 | \n",
+ " 106.695 | \n",
+ " -0.120208 | \n",
+ "
\n",
+ " \n",
+ " | 7 | \n",
+ " AAPL | \n",
+ " 2015-01-08 | \n",
+ " 111.89 | \n",
+ " 59168760 | \n",
+ " 109.23 | \n",
+ " 112.15 | \n",
+ " 108.700 | \n",
+ " 0.887594 | \n",
+ "
\n",
+ " \n",
+ " | 8 | \n",
+ " AAPL | \n",
+ " 2015-01-09 | \n",
+ " 112.01 | \n",
+ " 53645730 | \n",
+ " 112.67 | \n",
+ " 113.25 | \n",
+ " 110.210 | \n",
+ " 0.000000 | \n",
+ "
\n",
+ " \n",
+ " | 9 | \n",
+ " AAPL | \n",
+ " 2015-01-10 | \n",
+ " 112.01 | \n",
+ " 53645730 | \n",
+ " 112.67 | \n",
+ " 113.25 | \n",
+ " 110.210 | \n",
+ " 0.000000 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " ticker_symbol day_date close_value volume open_value high_value \\\n",
+ "0 AAPL 2015-01-01 110.38 41304780 112.82 113.13 \n",
+ "1 AAPL 2015-01-02 109.33 53143770 111.39 111.44 \n",
+ "2 AAPL 2015-01-03 109.33 53143770 111.39 111.44 \n",
+ "3 AAPL 2015-01-04 109.33 53143770 111.39 111.44 \n",
+ "4 AAPL 2015-01-05 106.25 64210880 108.29 108.65 \n",
+ "5 AAPL 2015-01-06 106.26 65682250 106.54 107.43 \n",
+ "6 AAPL 2015-01-07 107.75 39983350 107.20 108.20 \n",
+ "7 AAPL 2015-01-08 111.89 59168760 109.23 112.15 \n",
+ "8 AAPL 2015-01-09 112.01 53645730 112.67 113.25 \n",
+ "9 AAPL 2015-01-10 112.01 53645730 112.67 113.25 \n",
+ "\n",
+ " low_value summarative_score \n",
+ "0 110.210 3.911989 \n",
+ "1 107.350 2.044350 \n",
+ "2 107.350 0.000000 \n",
+ "3 107.350 1.740136 \n",
+ "4 105.410 0.866415 \n",
+ "5 104.630 0.000000 \n",
+ "6 106.695 -0.120208 \n",
+ "7 108.700 0.887594 \n",
+ "8 110.210 0.000000 \n",
+ "9 110.210 0.000000 "
+ ]
+ },
+ "execution_count": 77,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "APPL_df = APPL_df.fillna(0)\n",
+ "APPL_df.head(10)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 78,
+ "id": "d59318a2",
+ "metadata": {
+ "scrolled": true
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "(1826, 1)\n",
+ " close_value\n",
+ "0 NaN\n",
+ "1 NaN\n",
+ "2 NaN\n",
+ "3 110.38\n",
+ "4 109.33\n",
+ "... ...\n",
+ "1821 284.27\n",
+ "1822 284.27\n",
+ "1823 289.91\n",
+ "1824 289.80\n",
+ "1825 289.80\n",
+ "\n",
+ "[1826 rows x 1 columns]\n",
+ "(1823, 5)\n",
+ " volume open_value high_value low_value summarative_score\n",
+ "3 53143770 111.39 111.44 107.350 1.740136\n",
+ "4 64210880 108.29 108.65 105.410 0.866415\n",
+ "5 65682250 106.54 107.43 104.630 0.000000\n",
+ "6 39983350 107.20 108.20 106.695 -0.120208\n",
+ "7 59168760 109.23 112.15 108.700 0.887594\n",
+ "... ... ... ... ... ...\n",
+ "1821 36592940 291.12 293.97 288.120 0.115701\n",
+ "1822 36592940 291.12 293.97 288.120 0.411740\n",
+ "1823 36592940 291.12 293.97 288.120 2.102808\n",
+ "1824 36059610 289.46 292.69 285.220 7.807207\n",
+ "1825 25247630 289.93 293.68 289.520 1.383618\n",
+ "\n",
+ "[1823 rows x 5 columns]\n",
+ " close_value\n",
+ "3 109.33\n",
+ "4 106.25\n",
+ "5 106.26\n",
+ "6 107.75\n",
+ "7 111.89\n",
+ "... ...\n",
+ "1821 289.80\n",
+ "1822 289.80\n",
+ "1823 289.80\n",
+ "1824 291.52\n",
+ "1825 293.65\n",
+ "\n",
+ "[1823 rows x 1 columns]\n"
+ ]
+ }
+ ],
+ "source": [
+ "forecast_out= 3\n",
+ "x1 = APPL_df.iloc[: , 3:]\n",
+ "x3 = APPL_df['PrevNClose'] = APPL_df[['close_value']].shift(forecast_out)\n",
+ "print(x3.shape)\n",
+ "print(x3)\n",
+ "\n",
+ "\n",
+ "X = pd.concat([x1,x3] , axis = 1)\n",
+ "X.pop(\"close_value\")\n",
+ "#X = X.drop(labels = None, axis = 0, index = 'close_value')\n",
+ "X= X[forecast_out:]\n",
+ "\n",
+ "print(X.shape)\n",
+ "print(X)\n",
+ "\n",
+ "y = APPL_df[['close_value']]\n",
+ "y = y[forecast_out:]\n",
+ "print(y)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 79,
+ "id": "7c7d42f9",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "(1458, 5)\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Split Train and Test\n",
+ "x_train, x_test, y_train, y_test = train_test_split(X, y, test_size = 0.2)\n",
+ "\n",
+ "x_train, y_train = np.array(x_train), np.array(y_train)\n",
+ "\n",
+ "x_train = np.reshape(x_train, (x_train.shape[0], x_train.shape[1]))\n",
+ "\n",
+ "print(x_train.shape)\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 80,
+ "id": "1642cba5",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "[[0.41983046 0.2066428 0.19738013 0.1912089 0.32252406]\n",
+ " [0.09712986 0.02729714 0.02370242 0.02671411 0.30643867]\n",
+ " [0.39344474 0.3334825 0.32733564 0.30192462 0.31454042]\n",
+ " ...\n",
+ " [0.10110693 0.50303302 0.49594661 0.50005012 0.3198676 ]\n",
+ " [0.06080742 0.32851034 0.32491349 0.32924018 0.31507312]\n",
+ " [0.3176094 0.09561456 0.10123579 0.09372494 0.3396114 ]]\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Scale Features: https://towardsdatascience.com/what-and-why-behind-fit-transform-vs-transform-in-scikit-learn-78f915cf96fe\n",
+ "scaler = MinMaxScaler(feature_range = (0,1))\n",
+ "x_train = scaler.fit_transform(x_train)\n",
+ "\n",
+ "print(x_train)\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 81,
+ "id": "a45cda28",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "[[0.0649375 0.29755672 0.2907569 0.29636839 0.5051896 ]\n",
+ " [0.12502528 0.04753105 0.03847511 0.04527993 0.4516996 ]\n",
+ " [0.12586565 0.37275434 0.37189249 0.37361061 0.51879139]\n",
+ " ...\n",
+ " [0.25711298 0.06349451 0.06091473 0.06095375 0.47735509]\n",
+ " [0.20007031 0.20316189 0.19620796 0.20201813 0.47735509]\n",
+ " [0.14085687 0.6592239 0.65195905 0.64366132 0.597537 ]]\n"
+ ]
+ }
+ ],
+ "source": [
+ "scaler2 = MinMaxScaler().fit(x_test)\n",
+ "#print(scaler2)\n",
+ "#print(scaler2.data_min_)\n",
+ "#print(scaler2.feature_range)\n",
+ "x_test = scaler2.transform(x_test)\n",
+ "\n",
+ "print(x_test)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 82,
+ "id": "9e15a358",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "\n",
+ "model = Sequential()\n",
+ "model.add(LSTM(50, return_sequences = True, input_shape = ( x_train.shape[1],1 )))\n",
+ "model.add(LSTM(50, return_sequences = False))\n",
+ "model.add(Dense(25))\n",
+ "model.add(Dense(1))\n",
+ "\n",
+ "\n",
+ "#model.add(LSTM(50, activation='relu', input_shape=(n_steps, n_features)))\n",
+ "#model.add(Dense(1))\n",
+ "#model.compile(optimizer='adam', loss='mse')\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 83,
+ "id": "1245cc83",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Epoch 1/10\n",
+ "1458/1458 [==============================] - 4s 2ms/step - loss: 2594.4519\n",
+ "Epoch 2/10\n",
+ "1458/1458 [==============================] - 2s 2ms/step - loss: 26.5219\n",
+ "Epoch 3/10\n",
+ "1458/1458 [==============================] - 2s 2ms/step - loss: 15.3390\n",
+ "Epoch 4/10\n",
+ "1458/1458 [==============================] - 2s 2ms/step - loss: 13.0718\n",
+ "Epoch 5/10\n",
+ "1458/1458 [==============================] - 2s 2ms/step - loss: 14.4478\n",
+ "Epoch 6/10\n",
+ "1458/1458 [==============================] - 2s 2ms/step - loss: 9.9245\n",
+ "Epoch 7/10\n",
+ "1458/1458 [==============================] - 2s 2ms/step - loss: 12.0595\n",
+ "Epoch 8/10\n",
+ "1458/1458 [==============================] - 2s 2ms/step - loss: 8.3023\n",
+ "Epoch 9/10\n",
+ "1458/1458 [==============================] - 2s 2ms/step - loss: 7.3430\n",
+ "Epoch 10/10\n",
+ "1458/1458 [==============================] - 2s 2ms/step - loss: 7.2350\n"
+ ]
+ },
+ {
+ "data": {
+ "text/plain": [
+ ""
+ ]
+ },
+ "execution_count": 83,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "#Compile model\n",
+ "model.compile(optimizer = 'adam', loss = 'mean_squared_error')\n",
+ "\n",
+ "#Train model\n",
+ "#xt_small = x_train[:1000]\n",
+ "#yt_small = y_train[:1000]\n",
+ "#model.fit(x_train, y_train, batch_size =1 , epochs = 3)\n",
+ "model.fit(x_train, y_train, batch_size =1 , epochs = 10)\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 84,
+ "id": "2955d23b",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "[[0.0649375 0.29755672 0.2907569 0.29636839 0.5051896 ]\n",
+ " [0.12502528 0.04753105 0.03847511 0.04527993 0.4516996 ]\n",
+ " [0.12586565 0.37275434 0.37189249 0.37361061 0.51879139]\n",
+ " ...\n",
+ " [0.25711298 0.06349451 0.06091473 0.06095375 0.47735509]\n",
+ " [0.20007031 0.20316189 0.19620796 0.20201813 0.47735509]\n",
+ " [0.14085687 0.6592239 0.65195905 0.64366132 0.597537 ]]\n",
+ "(365, 5)\n",
+ "12/12 [==============================] - 1s 1ms/step\n",
+ "[[153.44536 ]\n",
+ " [100.6794 ]\n",
+ " [169.52762 ]\n",
+ " [247.31453 ]\n",
+ " [ 99.07609 ]\n",
+ " [165.71384 ]\n",
+ " [290.66968 ]\n",
+ " [212.78305 ]\n",
+ " [222.1732 ]\n",
+ " [134.07729 ]\n",
+ " [118.20917 ]\n",
+ " [156.29805 ]\n",
+ " [ 99.903496]\n",
+ " [180.68861 ]\n",
+ " [116.64232 ]\n",
+ " [236.13422 ]\n",
+ " [209.36421 ]\n",
+ " [160.11752 ]\n",
+ " [145.27502 ]\n",
+ " [175.86302 ]\n",
+ " [156.57556 ]\n",
+ " [225.1938 ]\n",
+ " [114.4746 ]\n",
+ " [133.28473 ]\n",
+ " [176.48117 ]\n",
+ " [119.28124 ]\n",
+ " [111.01346 ]\n",
+ " [120.23252 ]\n",
+ " [178.9067 ]\n",
+ " [179.1313 ]\n",
+ " [158.38997 ]\n",
+ " [202.64075 ]\n",
+ " [178.50583 ]\n",
+ " [133.30733 ]\n",
+ " [163.88637 ]\n",
+ " [269.12766 ]\n",
+ " [183.52017 ]\n",
+ " [131.48462 ]\n",
+ " [198.3397 ]\n",
+ " [165.94165 ]\n",
+ " [175.07935 ]\n",
+ " [277.05005 ]\n",
+ " [177.27461 ]\n",
+ " [213.23253 ]\n",
+ " [185.06819 ]\n",
+ " [120.866135]\n",
+ " [197.58133 ]\n",
+ " [ 98.31387 ]\n",
+ " [210.7736 ]\n",
+ " [180.83841 ]\n",
+ " [117.126076]\n",
+ " [116.25329 ]\n",
+ " [154.35501 ]\n",
+ " [174.37701 ]\n",
+ " [211.05077 ]\n",
+ " [126.907104]\n",
+ " [141.08833 ]\n",
+ " [113.536514]\n",
+ " [166.75052 ]\n",
+ " [195.1105 ]\n",
+ " [162.1904 ]\n",
+ " [145.27502 ]\n",
+ " [109.40643 ]\n",
+ " [135.09918 ]\n",
+ " [ 96.14814 ]\n",
+ " [268.0747 ]\n",
+ " [121.61155 ]\n",
+ " [120.39701 ]\n",
+ " [177.66966 ]\n",
+ " [140.43846 ]\n",
+ " [155.31676 ]\n",
+ " [183.10136 ]\n",
+ " [ 98.81902 ]\n",
+ " [ 93.83604 ]\n",
+ " [135.12946 ]\n",
+ " [105.91551 ]\n",
+ " [180.48431 ]\n",
+ " [152.90083 ]\n",
+ " [178.82587 ]\n",
+ " [169.95824 ]\n",
+ " [131.58636 ]\n",
+ " [120.20743 ]\n",
+ " [180.92854 ]\n",
+ " [119.28124 ]\n",
+ " [116.02889 ]\n",
+ " [114.028915]\n",
+ " [111.21311 ]\n",
+ " [162.1837 ]\n",
+ " [199.89172 ]\n",
+ " [148.05687 ]\n",
+ " [227.86221 ]\n",
+ " [179.55304 ]\n",
+ " [130.64508 ]\n",
+ " [112.75732 ]\n",
+ " [180.25156 ]\n",
+ " [180.73682 ]\n",
+ " [193.07127 ]\n",
+ " [180.49509 ]\n",
+ " [162.66296 ]\n",
+ " [195.5655 ]\n",
+ " [142.98506 ]\n",
+ " [212.43396 ]\n",
+ " [244.2419 ]\n",
+ " [193.36273 ]\n",
+ " [102.131096]\n",
+ " [102.13013 ]\n",
+ " [109.37776 ]\n",
+ " [151.02501 ]\n",
+ " [169.64761 ]\n",
+ " [148.3262 ]\n",
+ " [109.26821 ]\n",
+ " [127.31563 ]\n",
+ " [133.0341 ]\n",
+ " [124.38099 ]\n",
+ " [116.113945]\n",
+ " [280.12515 ]\n",
+ " [131.25182 ]\n",
+ " [154.928 ]\n",
+ " [158.0555 ]\n",
+ " [101.79277 ]\n",
+ " [113.71819 ]\n",
+ " [137.36644 ]\n",
+ " [218.99535 ]\n",
+ " [184.82835 ]\n",
+ " [143.16681 ]\n",
+ " [194.40372 ]\n",
+ " [111.62428 ]\n",
+ " [144.97652 ]\n",
+ " [113.27439 ]\n",
+ " [176.8633 ]\n",
+ " [119.838875]\n",
+ " [210.07382 ]\n",
+ " [117.27257 ]\n",
+ " [113.5 ]\n",
+ " [ 92.75892 ]\n",
+ " [109.893105]\n",
+ " [193.90573 ]\n",
+ " [159.45013 ]\n",
+ " [ 96.65689 ]\n",
+ " [291.13696 ]\n",
+ " [161.02539 ]\n",
+ " [114.644615]\n",
+ " [193.68915 ]\n",
+ " [117.27257 ]\n",
+ " [147.53761 ]\n",
+ " [118.52135 ]\n",
+ " [119.35713 ]\n",
+ " [179.34981 ]\n",
+ " [116.06958 ]\n",
+ " [159.46223 ]\n",
+ " [181.70476 ]\n",
+ " [119.73834 ]\n",
+ " [233.91078 ]\n",
+ " [130.50883 ]\n",
+ " [ 97.867004]\n",
+ " [130.6992 ]\n",
+ " [202.91708 ]\n",
+ " [130.73964 ]\n",
+ " [179.75136 ]\n",
+ " [151.58493 ]\n",
+ " [175.40123 ]\n",
+ " [211.42917 ]\n",
+ " [148.24008 ]\n",
+ " [131.95552 ]\n",
+ " [102.75988 ]\n",
+ " [111.77587 ]\n",
+ " [116.86387 ]\n",
+ " [175.81178 ]\n",
+ " [132.10315 ]\n",
+ " [111.52997 ]\n",
+ " [154.94807 ]\n",
+ " [163.26173 ]\n",
+ " [277.13675 ]\n",
+ " [114.21553 ]\n",
+ " [130.34616 ]\n",
+ " [208.72498 ]\n",
+ " [156.50745 ]\n",
+ " [111.73634 ]\n",
+ " [109.833595]\n",
+ " [184.16905 ]\n",
+ " [206.17068 ]\n",
+ " [112.922195]\n",
+ " [136.69093 ]\n",
+ " [161.82797 ]\n",
+ " [179.06589 ]\n",
+ " [183.60443 ]\n",
+ " [106.76151 ]\n",
+ " [139.38962 ]\n",
+ " [160.23288 ]\n",
+ " [131.21495 ]\n",
+ " [212.15536 ]\n",
+ " [110.93606 ]\n",
+ " [176.01639 ]\n",
+ " [247.4372 ]\n",
+ " [113.59766 ]\n",
+ " [159.59229 ]\n",
+ " [155.70937 ]\n",
+ " [133.98395 ]\n",
+ " [163.29327 ]\n",
+ " [124.80917 ]\n",
+ " [258.50992 ]\n",
+ " [111.223694]\n",
+ " [131.2277 ]\n",
+ " [121.99064 ]\n",
+ " [180.6714 ]\n",
+ " [ 95.26941 ]\n",
+ " [194.05547 ]\n",
+ " [186.06456 ]\n",
+ " [170.5033 ]\n",
+ " [158.53156 ]\n",
+ " [178.1016 ]\n",
+ " [112.08679 ]\n",
+ " [215.70517 ]\n",
+ " [177.37094 ]\n",
+ " [112.29997 ]\n",
+ " [100.91607 ]\n",
+ " [156.29805 ]\n",
+ " [163.19467 ]\n",
+ " [208.45341 ]\n",
+ " [110.8626 ]\n",
+ " [190.85063 ]\n",
+ " [197.5045 ]\n",
+ " [124.03017 ]\n",
+ " [130.5248 ]\n",
+ " [222.50983 ]\n",
+ " [244.45647 ]\n",
+ " [131.01648 ]\n",
+ " [227.07942 ]\n",
+ " [117.46457 ]\n",
+ " [100.035126]\n",
+ " [165.53131 ]\n",
+ " [272.70102 ]\n",
+ " [132.24606 ]\n",
+ " [148.32591 ]\n",
+ " [227.60098 ]\n",
+ " [151.98686 ]\n",
+ " [147.57916 ]\n",
+ " [118.34882 ]\n",
+ " [172.35896 ]\n",
+ " [222.24715 ]\n",
+ " [227.4979 ]\n",
+ " [197.91475 ]\n",
+ " [119.89308 ]\n",
+ " [106.417946]\n",
+ " [121.877335]\n",
+ " [132.2201 ]\n",
+ " [277.6709 ]\n",
+ " [115.94205 ]\n",
+ " [186.81047 ]\n",
+ " [287.26978 ]\n",
+ " [225.86668 ]\n",
+ " [129.91447 ]\n",
+ " [116.31825 ]\n",
+ " [125.82978 ]\n",
+ " [106.59641 ]\n",
+ " [194.29893 ]\n",
+ " [128.90425 ]\n",
+ " [272.74182 ]\n",
+ " [220.38681 ]\n",
+ " [ 99.66627 ]\n",
+ " [109.04491 ]\n",
+ " [165.33424 ]\n",
+ " [ 98.82957 ]\n",
+ " [189.86296 ]\n",
+ " [145.27502 ]\n",
+ " [180.00047 ]\n",
+ " [210.4763 ]\n",
+ " [175.98729 ]\n",
+ " [122.47076 ]\n",
+ " [189.9607 ]\n",
+ " [104.62157 ]\n",
+ " [176.95424 ]\n",
+ " [ 95.53222 ]\n",
+ " [136.61339 ]\n",
+ " [178.36009 ]\n",
+ " [148.9838 ]\n",
+ " [179.73837 ]\n",
+ " [110.10982 ]\n",
+ " [202.27785 ]\n",
+ " [117.67624 ]\n",
+ " [183.85083 ]\n",
+ " [ 96.70974 ]\n",
+ " [165.00102 ]\n",
+ " [ 96.92838 ]\n",
+ " [158.7888 ]\n",
+ " [196.62285 ]\n",
+ " [133.1243 ]\n",
+ " [179.60744 ]\n",
+ " [120.55434 ]\n",
+ " [195.57155 ]\n",
+ " [183.5063 ]\n",
+ " [130.0208 ]\n",
+ " [ 96.55971 ]\n",
+ " [190.8079 ]\n",
+ " [178.89992 ]\n",
+ " [137.0467 ]\n",
+ " [268.89984 ]\n",
+ " [ 98.5477 ]\n",
+ " [116.034645]\n",
+ " [215.70403 ]\n",
+ " [210.22185 ]\n",
+ " [184.62904 ]\n",
+ " [182.24028 ]\n",
+ " [147.60245 ]\n",
+ " [197.167 ]\n",
+ " [121.32798 ]\n",
+ " [204.0617 ]\n",
+ " [200.86038 ]\n",
+ " [110.1091 ]\n",
+ " [146.66602 ]\n",
+ " [198.46884 ]\n",
+ " [131.25546 ]\n",
+ " [118.70054 ]\n",
+ " [182.16139 ]\n",
+ " [209.45108 ]\n",
+ " [209.66048 ]\n",
+ " [237.73216 ]\n",
+ " [ 97.8733 ]\n",
+ " [237.063 ]\n",
+ " [210.0653 ]\n",
+ " [145.56285 ]\n",
+ " [110.216064]\n",
+ " [287.9586 ]\n",
+ " [111.88695 ]\n",
+ " [232.57532 ]\n",
+ " [168.83618 ]\n",
+ " [ 96.24086 ]\n",
+ " [115.41236 ]\n",
+ " [226.18663 ]\n",
+ " [144.55916 ]\n",
+ " [205.18484 ]\n",
+ " [141.4894 ]\n",
+ " [100.61288 ]\n",
+ " [164.26497 ]\n",
+ " [111.03798 ]\n",
+ " [175.10551 ]\n",
+ " [159.05553 ]\n",
+ " [178.61716 ]\n",
+ " [226.61708 ]\n",
+ " [124.630394]\n",
+ " [180.31488 ]\n",
+ " [120.83274 ]\n",
+ " [ 98.85147 ]\n",
+ " [115.50898 ]\n",
+ " [213.15591 ]\n",
+ " [111.07554 ]\n",
+ " [116.53827 ]\n",
+ " [181.58908 ]\n",
+ " [168.05028 ]\n",
+ " [169.43211 ]\n",
+ " [170.4125 ]\n",
+ " [161.92015 ]\n",
+ " [213.74722 ]\n",
+ " [129.10258 ]\n",
+ " [175.96854 ]\n",
+ " [ 95.354195]\n",
+ " [216.48798 ]\n",
+ " [109.38489 ]\n",
+ " [ 97.58468 ]\n",
+ " [198.50113 ]\n",
+ " [209.74837 ]\n",
+ " [114.65814 ]\n",
+ " [104.77926 ]\n",
+ " [133.95699 ]\n",
+ " [226.75476 ]]\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Test Dataset\n",
+ "#x_test= np.array(x_test)\n",
+ "#x_test = np.reshape(x_test, (x_test.shape[0], x_test.shape[1]))\n",
+ "print(x_test)\n",
+ "print(x_test.shape)\n",
+ "\n",
+ "\n",
+ "predictions = model.predict(x_test)\n",
+ "#print(predictions.shape)\n",
+ "\n",
+ "print(predictions)\n",
+ "\n",
+ "#pred = np.zeros(predictions.shape)\n",
+ "#pred = np.array(pred)\n",
+ "#pred = np.concatenate( [pred, pred, pred, pred, predictions] , axis = 1)\n",
+ "\n",
+ "#predictions = scaler.inverse_transform(predictions)\n",
+ "#predictions = scaler.inverse_transform(predictions)\n",
+ "#predictions = predictions[:, 4]\n",
+ "#print(predictions)\n",
+ "\n",
+ "#predictions = np.reshape(predictions, (y_test.shape[0], y_test.shape[1]))\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 85,
+ "id": "22cab242",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "close_value 5.568855\n",
+ "dtype: float64\n"
+ ]
+ }
+ ],
+ "source": [
+ "rmse = np.sqrt( np.mean(( predictions - y_test) ** 2))\n",
+ "print(rmse)"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3 (ipykernel)",
+ "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.12"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 5
+}
From 6ef8ff115c71c3d9061c5a53dea3b347427fa3a3 Mon Sep 17 00:00:00 2001
From: Michael <99460271+PastaSauce0@users.noreply.github.com>
Date: Mon, 4 Jul 2022 17:02:50 -0500
Subject: [PATCH 2/3] Add files via upload
---
SAmodel_basic.ipynb | 2329 +++++++++++++++++++++++++++++++++++++++++++
1 file changed, 2329 insertions(+)
create mode 100644 SAmodel_basic.ipynb
diff --git a/SAmodel_basic.ipynb b/SAmodel_basic.ipynb
new file mode 100644
index 0000000..d6adb1a
--- /dev/null
+++ b/SAmodel_basic.ipynb
@@ -0,0 +1,2329 @@
+{
+ "cells": [
+ {
+ "cell_type": "code",
+ "execution_count": 1692,
+ "id": "02d5c824",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "#michael is sus\n",
+ "\n",
+ "import numpy as np\n",
+ "import pandas as pd\n",
+ "import matplotlib.pyplot as plt\n",
+ "import seaborn as sns\n",
+ "from scipy import stats as stat"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1693,
+ "id": "739f5bb1",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "company_tweet = pd.read_csv('Data/Tweets/Company_Tweet.csv')\n",
+ "tweet = pd.read_csv('Data/Tweets/Tweet.csv')\n",
+ "company = pd.read_csv('Data/Tweets/Company.csv')\n",
+ "company_value = pd.read_csv('Data/CompanyStocks/CompanyValues.csv')"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1694,
+ "id": "44331cca",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "tweet = tweet.dropna()\n",
+ "#merge company tweets and tweets on id\n",
+ "tweet_df = pd.merge(company_tweet , tweet , on=\"tweet_id\", how= \"inner\")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1695,
+ "id": "e2db79a1",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "tweet count: 485118\n"
+ ]
+ }
+ ],
+ "source": [
+ "#create variable 'total_engagement'\n",
+ "tweet_df[\"total_engangement\"] = tweet_df[\"comment_num\"] + tweet_df[\"retweet_num\"] + tweet_df[\"like_num\"]\n",
+ "#remove tweets below certain engagement\n",
+ "engagement_threshold = 40\n",
+ "tweet_df = tweet_df[tweet_df[\"total_engangement\"] > engagement_threshold]\n",
+ "tweet_df.head()\n",
+ "print('tweet count: ', tweet_df.size)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1696,
+ "id": "a2d24286",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "#convert original time on tweet_df to date time\n",
+ "tweet_df['post_date'] = pd.to_datetime(tweet_df['post_date'], unit='s')\n",
+ "tweet_df['day_date'] = pd.to_datetime(tweet_df['post_date'].apply(lambda date: date.date()))"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1697,
+ "id": "b7d9b90f",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "#order chronilogically\n",
+ "tweet_df = tweet_df.sort_values(by=\"day_date\")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1698,
+ "id": "b5663fea",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " ticker_symbol | \n",
+ " day_date | \n",
+ " close_value | \n",
+ " volume | \n",
+ " open_value | \n",
+ " high_value | \n",
+ " low_value | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 10984 | \n",
+ " GOOG | \n",
+ " 2016-07-10 | \n",
+ " 705.63 | \n",
+ " 1573909 | \n",
+ " 699.50 | \n",
+ " 705.71 | \n",
+ " 696.435 | \n",
+ "
\n",
+ " \n",
+ " | 12261 | \n",
+ " MSFT | \n",
+ " 2016-11-22 | \n",
+ " 61.12 | \n",
+ " 23205870 | \n",
+ " 60.98 | \n",
+ " 61.26 | \n",
+ " 60.805 | \n",
+ "
\n",
+ " \n",
+ " | 7639 | \n",
+ " GOOGL | \n",
+ " 2014-07-29 | \n",
+ " 593.95 | \n",
+ " 1364289 | \n",
+ " 597.70 | \n",
+ " 598.49 | \n",
+ " 592.170 | \n",
+ "
\n",
+ " \n",
+ " | 2643 | \n",
+ " AAPL | \n",
+ " 2016-02-07 | \n",
+ " 94.02 | \n",
+ " 46315620 | \n",
+ " 96.52 | \n",
+ " 96.92 | \n",
+ " 93.690 | \n",
+ "
\n",
+ " \n",
+ " | 15927 | \n",
+ " TSLA | \n",
+ " 2014-08-05 | \n",
+ " 238.49 | \n",
+ " 5374539 | \n",
+ " 237.47 | \n",
+ " 242.99 | \n",
+ " 235.690 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " ticker_symbol day_date close_value volume open_value high_value \\\n",
+ "10984 GOOG 2016-07-10 705.63 1573909 699.50 705.71 \n",
+ "12261 MSFT 2016-11-22 61.12 23205870 60.98 61.26 \n",
+ "7639 GOOGL 2014-07-29 593.95 1364289 597.70 598.49 \n",
+ "2643 AAPL 2016-02-07 94.02 46315620 96.52 96.92 \n",
+ "15927 TSLA 2014-08-05 238.49 5374539 237.47 242.99 \n",
+ "\n",
+ " low_value \n",
+ "10984 696.435 \n",
+ "12261 60.805 \n",
+ "7639 592.170 \n",
+ "2643 93.690 \n",
+ "15927 235.690 "
+ ]
+ },
+ "execution_count": 1698,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "#convert time value on company stock data to date time\n",
+ "stock_df = company_value\n",
+ "stock_df['day_date'] = pd.to_datetime(stock_df['day_date'])\n",
+ "stock_df.sample(5)\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1699,
+ "id": "54424f6d",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "#drop un-needed features\n",
+ "tweet_df = tweet_df.drop(['tweet_id', 'post_date', 'comment_num', 'retweet_num', 'like_num'], axis=1)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1700,
+ "id": "6c34fc0b",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Start day: 2015-01-01 00:00:00\n",
+ "End day: 2019-12-31 00:00:00\n"
+ ]
+ }
+ ],
+ "source": [
+ "#remove any stock data that is outside of the tweet data\n",
+ "start_day = min(tweet_df['day_date'])\n",
+ "print(f\"Start day: {start_day}\")\n",
+ "\n",
+ "end_day = max(tweet_df['day_date'])\n",
+ "print(f\"End day: {end_day}\")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1701,
+ "id": "cead02c6",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "stock_df = stock_df[(stock_df['day_date'] >= start_day) & (stock_df['day_date'] <= end_day)]"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1702,
+ "id": "d12c51e9",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " ticker_symbol | \n",
+ " day_date | \n",
+ " close_value | \n",
+ " volume | \n",
+ " open_value | \n",
+ " high_value | \n",
+ " low_value | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 2517 | \n",
+ " AAPL | \n",
+ " 2015-01-01 | \n",
+ " 110.38 | \n",
+ " 41304780 | \n",
+ " 112.82 | \n",
+ " 113.13 | \n",
+ " 110.21 | \n",
+ "
\n",
+ " \n",
+ " | 10810 | \n",
+ " GOOG | \n",
+ " 2015-01-01 | \n",
+ " 526.40 | \n",
+ " 1367110 | \n",
+ " 531.25 | \n",
+ " 532.60 | \n",
+ " 525.80 | \n",
+ "
\n",
+ " \n",
+ " | 8687 | \n",
+ " GOOGL | \n",
+ " 2015-01-01 | \n",
+ " 530.66 | \n",
+ " 1235889 | \n",
+ " 537.74 | \n",
+ " 538.40 | \n",
+ " 530.20 | \n",
+ "
\n",
+ " \n",
+ " | 16960 | \n",
+ " TSLA | \n",
+ " 2015-01-01 | \n",
+ " 222.41 | \n",
+ " 2392947 | \n",
+ " 223.09 | \n",
+ " 225.68 | \n",
+ " 222.25 | \n",
+ "
\n",
+ " \n",
+ " | 5602 | \n",
+ " AMZN | \n",
+ " 2015-01-01 | \n",
+ " 310.35 | \n",
+ " 2048676 | \n",
+ " 311.55 | \n",
+ " 312.98 | \n",
+ " 310.01 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " ticker_symbol day_date close_value volume open_value high_value \\\n",
+ "2517 AAPL 2015-01-01 110.38 41304780 112.82 113.13 \n",
+ "10810 GOOG 2015-01-01 526.40 1367110 531.25 532.60 \n",
+ "8687 GOOGL 2015-01-01 530.66 1235889 537.74 538.40 \n",
+ "16960 TSLA 2015-01-01 222.41 2392947 223.09 225.68 \n",
+ "5602 AMZN 2015-01-01 310.35 2048676 311.55 312.98 \n",
+ "\n",
+ " low_value \n",
+ "2517 110.21 \n",
+ "10810 525.80 \n",
+ "8687 530.20 \n",
+ "16960 222.25 \n",
+ "5602 310.01 "
+ ]
+ },
+ "execution_count": 1702,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "#sort stock data chronilogically\n",
+ "stock_df = stock_df.sort_values(by=\"day_date\")\n",
+ "stock_df.head()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1703,
+ "id": "c3a20efb",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " ticker_symbol | \n",
+ " writer | \n",
+ " body | \n",
+ " total_engangement | \n",
+ " day_date | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 40 | \n",
+ " AAPL | \n",
+ " CNBC | \n",
+ " This is Wall Street's top pick in 2015. Hint: ... | \n",
+ " 64 | \n",
+ " 2015-01-01 | \n",
+ "
\n",
+ " \n",
+ " | 47 | \n",
+ " AAPL | \n",
+ " WSJ | \n",
+ " See how tech companies like Apple, Twitter and... | \n",
+ " 347 | \n",
+ " 2015-01-01 | \n",
+ "
\n",
+ " \n",
+ " | 239 | \n",
+ " AAPL | \n",
+ " greatspoke | \n",
+ " Top Stock Analyst Releases Report on Top Stock... | \n",
+ " 433 | \n",
+ " 2015-01-01 | \n",
+ "
\n",
+ " \n",
+ " | 240 | \n",
+ " AAPL | \n",
+ " greatspoke | \n",
+ " Analyst Report on Top Stock Market Options for... | \n",
+ " 433 | \n",
+ " 2015-01-01 | \n",
+ "
\n",
+ " \n",
+ " | 241 | \n",
+ " AMZN | \n",
+ " greatspoke | \n",
+ " Analyst Report on Top Stock Market Options for... | \n",
+ " 433 | \n",
+ " 2015-01-01 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " ticker_symbol writer \\\n",
+ "40 AAPL CNBC \n",
+ "47 AAPL WSJ \n",
+ "239 AAPL greatspoke \n",
+ "240 AAPL greatspoke \n",
+ "241 AMZN greatspoke \n",
+ "\n",
+ " body total_engangement \\\n",
+ "40 This is Wall Street's top pick in 2015. Hint: ... 64 \n",
+ "47 See how tech companies like Apple, Twitter and... 347 \n",
+ "239 Top Stock Analyst Releases Report on Top Stock... 433 \n",
+ "240 Analyst Report on Top Stock Market Options for... 433 \n",
+ "241 Analyst Report on Top Stock Market Options for... 433 \n",
+ "\n",
+ " day_date \n",
+ "40 2015-01-01 \n",
+ "47 2015-01-01 \n",
+ "239 2015-01-01 \n",
+ "240 2015-01-01 \n",
+ "241 2015-01-01 "
+ ]
+ },
+ "execution_count": 1703,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "tweet_df.head()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1704,
+ "id": "a5de8780",
+ "metadata": {
+ "scrolled": true
+ },
+ "outputs": [],
+ "source": [
+ "APPL_df = stock_df.loc[stock_df['ticker_symbol'] == 'AAPL']\n",
+ "\n",
+ "GOOG_df = stock_df.loc[stock_df['ticker_symbol'] == 'GOOG']\n",
+ "GOOGL_df = stock_df.loc[stock_df['ticker_symbol'] == 'GOOGL']\n",
+ "\n",
+ "\n",
+ "TSLA_df = stock_df.loc[stock_df['ticker_symbol'] == 'TSLA']\n",
+ "AMZN_df = stock_df.loc[stock_df['ticker_symbol'] == 'AMZN']\n",
+ "MSFT_df = stock_df.loc[stock_df['ticker_symbol'] == 'MSFT']"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1705,
+ "id": "95202d0f",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " ticker_symbol | \n",
+ " day_date | \n",
+ " close_value | \n",
+ " volume | \n",
+ " open_value | \n",
+ " high_value | \n",
+ " low_value | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 8687 | \n",
+ " GOOGL | \n",
+ " 2015-01-01 | \n",
+ " 530.66 | \n",
+ " 1235889 | \n",
+ " 537.74 | \n",
+ " 538.4000 | \n",
+ " 530.20 | \n",
+ "
\n",
+ " \n",
+ " | 7530 | \n",
+ " GOOGL | \n",
+ " 2015-01-02 | \n",
+ " 529.55 | \n",
+ " 1325271 | \n",
+ " 532.60 | \n",
+ " 535.8000 | \n",
+ " 527.88 | \n",
+ "
\n",
+ " \n",
+ " | 8688 | \n",
+ " GOOGL | \n",
+ " 2015-01-03 | \n",
+ " 529.55 | \n",
+ " 1325271 | \n",
+ " 532.60 | \n",
+ " 535.8000 | \n",
+ " 527.88 | \n",
+ "
\n",
+ " \n",
+ " | 8689 | \n",
+ " GOOGL | \n",
+ " 2015-01-04 | \n",
+ " 529.55 | \n",
+ " 1325271 | \n",
+ " 532.60 | \n",
+ " 535.8000 | \n",
+ " 527.88 | \n",
+ "
\n",
+ " \n",
+ " | 7529 | \n",
+ " GOOGL | \n",
+ " 2015-01-05 | \n",
+ " 519.46 | \n",
+ " 2054120 | \n",
+ " 527.15 | \n",
+ " 527.9899 | \n",
+ " 517.75 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " ticker_symbol day_date close_value volume open_value high_value \\\n",
+ "8687 GOOGL 2015-01-01 530.66 1235889 537.74 538.4000 \n",
+ "7530 GOOGL 2015-01-02 529.55 1325271 532.60 535.8000 \n",
+ "8688 GOOGL 2015-01-03 529.55 1325271 532.60 535.8000 \n",
+ "8689 GOOGL 2015-01-04 529.55 1325271 532.60 535.8000 \n",
+ "7529 GOOGL 2015-01-05 519.46 2054120 527.15 527.9899 \n",
+ "\n",
+ " low_value \n",
+ "8687 530.20 \n",
+ "7530 527.88 \n",
+ "8688 527.88 \n",
+ "8689 527.88 \n",
+ "7529 517.75 "
+ ]
+ },
+ "execution_count": 1705,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "#there are two types of google stocks, one has voting power in the company while the other doesnt\n",
+ "GOOGL_df.head()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1706,
+ "id": "35df177f",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "APPL_tweet = tweet_df.loc[tweet_df['ticker_symbol'] == 'AAPL']"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1707,
+ "id": "d50e68eb",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Requirement already satisfied: nltk in c:\\users\\michael\\anaconda3\\envs\\tensorflow-session\\lib\\site-packages (3.7)\n",
+ "Requirement already satisfied: regex>=2021.8.3 in c:\\users\\michael\\anaconda3\\envs\\tensorflow-session\\lib\\site-packages (from nltk) (2022.6.2)\n",
+ "Requirement already satisfied: joblib in c:\\users\\michael\\anaconda3\\envs\\tensorflow-session\\lib\\site-packages (from nltk) (1.1.0)\n",
+ "Requirement already satisfied: tqdm in c:\\users\\michael\\anaconda3\\envs\\tensorflow-session\\lib\\site-packages (from nltk) (4.64.0)\n",
+ "Requirement already satisfied: click in c:\\users\\michael\\anaconda3\\envs\\tensorflow-session\\lib\\site-packages (from nltk) (8.0.3)\n",
+ "Requirement already satisfied: colorama in c:\\users\\michael\\anaconda3\\envs\\tensorflow-session\\lib\\site-packages (from click->nltk) (0.4.4)\n",
+ "Note: you may need to restart the kernel to use updated packages.\n"
+ ]
+ }
+ ],
+ "source": [
+ "pip install nltk"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1708,
+ "id": "ff638169",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "import nltk \n",
+ "# from nltk.corpus import twitter_samples \n",
+ "# from nltk.corpus import stopwords \n",
+ "# from nltk.stem import PorterStemmer\n",
+ "# from nltk.tokenize import TweetTokenizer \n",
+ "\n",
+ "import random \n",
+ "import re \n",
+ "import string\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1709,
+ "id": "1e71d34b",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "def remove_special_character(tweet):\n",
+ "# print(tweet)\n",
+ " # remove the old style retweet text \"RT\"\n",
+ " tweet = re.sub(r'^RT[\\s]+', '', tweet)\n",
+ "\n",
+ " # remove hyperlinks\n",
+ " tweet = re.sub(r'https?:\\/\\/.*[\\r\\n]*', '', tweet)\n",
+ "\n",
+ " # remove hashtags. only removing the hash # sign from the word\n",
+ " tweet = re.sub(r'#', '', tweet)\n",
+ "\n",
+ " # remove single numeric terms in the tweet. \n",
+ " tweet = re.sub(r'[0-9]', '', tweet)\n",
+ " \n",
+ " return tweet"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1710,
+ "id": "9eaa0f2b",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " ticker_symbol | \n",
+ " writer | \n",
+ " body | \n",
+ " total_engangement | \n",
+ " day_date | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 4058511 | \n",
+ " TSLA | \n",
+ " evdefender | \n",
+ " tesla has logged (zero) autonomous miles in t... | \n",
+ " 45 | \n",
+ " 2019-04-13 | \n",
+ "
\n",
+ " \n",
+ " | 3862160 | \n",
+ " TSLA | \n",
+ " WintonCapPtnrs | \n",
+ " to be % clear, musk's actions were so egregiou... | \n",
+ " 56 | \n",
+ " 2018-09-28 | \n",
+ "
\n",
+ " \n",
+ " | 4016207 | \n",
+ " TSLA | \n",
+ " PlugInFUD | \n",
+ " elmer terminal surmising:elon literally announ... | \n",
+ " 76 | \n",
+ " 2019-03-07 | \n",
+ "
\n",
+ " \n",
+ " | 3906405 | \n",
+ " TSLA | \n",
+ " TESLAcharts | \n",
+ " amazingly, twitter is free...$tsla | \n",
+ " 120 | \n",
+ " 2018-10-27 | \n",
+ "
\n",
+ " \n",
+ " | 1389960 | \n",
+ " AAPL | \n",
+ " JamarlinMartin | \n",
+ " ghogh episode with liz burr.\"the black folks ... | \n",
+ " 50 | \n",
+ " 2018-08-07 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " ticker_symbol writer \\\n",
+ "4058511 TSLA evdefender \n",
+ "3862160 TSLA WintonCapPtnrs \n",
+ "4016207 TSLA PlugInFUD \n",
+ "3906405 TSLA TESLAcharts \n",
+ "1389960 AAPL JamarlinMartin \n",
+ "\n",
+ " body total_engangement \\\n",
+ "4058511 tesla has logged (zero) autonomous miles in t... 45 \n",
+ "3862160 to be % clear, musk's actions were so egregiou... 56 \n",
+ "4016207 elmer terminal surmising:elon literally announ... 76 \n",
+ "3906405 amazingly, twitter is free...$tsla 120 \n",
+ "1389960 ghogh episode with liz burr.\"the black folks ... 50 \n",
+ "\n",
+ " day_date \n",
+ "4058511 2019-04-13 \n",
+ "3862160 2018-09-28 \n",
+ "4016207 2019-03-07 \n",
+ "3906405 2018-10-27 \n",
+ "1389960 2018-08-07 "
+ ]
+ },
+ "execution_count": 1710,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "tweet_df[\"body\"] = tweet_df[\"body\"].apply(lambda tweet: remove_special_character(tweet))\n",
+ "tweet_df[\"body\"] = tweet_df[\"body\"].str.lower()\n",
+ "tweet_df.sample(5)\n",
+ "\n",
+ "# ?? why is the body text so fucked up ??"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1711,
+ "id": "3186dcf3",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Requirement already satisfied: vaderSentiment in c:\\users\\michael\\anaconda3\\envs\\tensorflow-session\\lib\\site-packages (3.3.2)\n",
+ "Requirement already satisfied: requests in c:\\users\\michael\\anaconda3\\envs\\tensorflow-session\\lib\\site-packages (from vaderSentiment) (2.27.1)\n",
+ "Requirement already satisfied: charset-normalizer~=2.0.0 in c:\\users\\michael\\anaconda3\\envs\\tensorflow-session\\lib\\site-packages (from requests->vaderSentiment) (2.0.4)\n",
+ "Requirement already satisfied: certifi>=2017.4.17 in c:\\users\\michael\\anaconda3\\envs\\tensorflow-session\\lib\\site-packages (from requests->vaderSentiment) (2022.6.15)\n",
+ "Requirement already satisfied: idna<4,>=2.5 in c:\\users\\michael\\anaconda3\\envs\\tensorflow-session\\lib\\site-packages (from requests->vaderSentiment) (3.3)\n",
+ "Requirement already satisfied: urllib3<1.27,>=1.21.1 in c:\\users\\michael\\anaconda3\\envs\\tensorflow-session\\lib\\site-packages (from requests->vaderSentiment) (1.26.8)\n",
+ "Note: you may need to restart the kernel to use updated packages.\n"
+ ]
+ }
+ ],
+ "source": [
+ "pip install vaderSentiment"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1712,
+ "id": "3eec5c71",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "from vaderSentiment.vaderSentiment import SentimentIntensityAnalyzer\n",
+ "vanderSentimentAnalyzer = SentimentIntensityAnalyzer()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1713,
+ "id": "6ce92ec7",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "def getVanderScore(tweet): \n",
+ " vs = vanderSentimentAnalyzer.polarity_scores(tweet)\n",
+ " score = vs['compound']\n",
+ " return score"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1714,
+ "id": "50ebb47a",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "tweet_df['vander_score'] = tweet_df['body'].apply(lambda tweet: getVanderScore(tweet))\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1715,
+ "id": "ff79fd77",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "#create a weighted scored based off engagement and sentiment analysis score\n",
+ "tweet_df['summarative_score'] = tweet_df['total_engangement'] * tweet_df['vander_score'] * 0.01\n",
+ "tweet_df = tweet_df.drop(['total_engangement', 'vander_score'], axis=1)\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1716,
+ "id": "ca069cd4",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "#sum or avg the summarative_scores for one date\n",
+ "APPL_tweet = tweet_df.loc[tweet_df['ticker_symbol'] == 'AAPL']\n",
+ "\n",
+ "GOOG_tweet = tweet_df.loc[tweet_df['ticker_symbol'] == 'GOOG']\n",
+ "GOOGL_tweet = tweet_df.loc[tweet_df['ticker_symbol'] == 'GOOGL']\n",
+ "\n",
+ "\n",
+ "TSLA_tweet = tweet_df.loc[tweet_df['ticker_symbol'] == 'TSLA']\n",
+ "AMZN_tweet = tweet_df.loc[tweet_df['ticker_symbol'] == 'AMZN']\n",
+ "MSFT_tweet = tweet_df.loc[tweet_df['ticker_symbol'] == 'MSFT']"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1717,
+ "id": "a065ab1e",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " ticker_symbol | \n",
+ " writer | \n",
+ " body | \n",
+ " day_date | \n",
+ " summarative_score | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 1850635 | \n",
+ " GOOG | \n",
+ " WSJ | \n",
+ " google now controls or occupies a strip of man... | \n",
+ " 2015-01-04 | \n",
+ " 0.000000 | \n",
+ "
\n",
+ " \n",
+ " | 4040 | \n",
+ " GOOG | \n",
+ " DanielEran | \n",
+ " despite lawsuit, $aapl ios is far more storag... | \n",
+ " 2015-01-05 | \n",
+ " 0.410522 | \n",
+ "
\n",
+ " \n",
+ " | 1854377 | \n",
+ " GOOG | \n",
+ " WSJ | \n",
+ " google is exploring how to use frequencies to ... | \n",
+ " 2015-01-20 | \n",
+ " 0.000000 | \n",
+ "
\n",
+ " \n",
+ " | 1854055 | \n",
+ " GOOG | \n",
+ " WSJ | \n",
+ " google is close to investing $ billion in spac... | \n",
+ " 2015-01-20 | \n",
+ " 1.547000 | \n",
+ "
\n",
+ " \n",
+ " | 1854431 | \n",
+ " GOOG | \n",
+ " The_Real_Fly | \n",
+ " obama is long $ebay, $goog and $tsla | \n",
+ " 2015-01-21 | \n",
+ " 0.000000 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " ticker_symbol writer \\\n",
+ "1850635 GOOG WSJ \n",
+ "4040 GOOG DanielEran \n",
+ "1854377 GOOG WSJ \n",
+ "1854055 GOOG WSJ \n",
+ "1854431 GOOG The_Real_Fly \n",
+ "\n",
+ " body day_date \\\n",
+ "1850635 google now controls or occupies a strip of man... 2015-01-04 \n",
+ "4040 despite lawsuit, $aapl ios is far more storag... 2015-01-05 \n",
+ "1854377 google is exploring how to use frequencies to ... 2015-01-20 \n",
+ "1854055 google is close to investing $ billion in spac... 2015-01-20 \n",
+ "1854431 obama is long $ebay, $goog and $tsla 2015-01-21 \n",
+ "\n",
+ " summarative_score \n",
+ "1850635 0.000000 \n",
+ "4040 0.410522 \n",
+ "1854377 0.000000 \n",
+ "1854055 1.547000 \n",
+ "1854431 0.000000 "
+ ]
+ },
+ "execution_count": 1717,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "GOOG_tweet.head()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1718,
+ "id": "9d38c41b",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "APPL_tweet = APPL_tweet.groupby('day_date')['summarative_score'].sum()\n",
+ "GOOG_tweet = GOOG_tweet.groupby('day_date')['summarative_score'].sum()\n",
+ "GOOGL_tweet = GOOGL_tweet.groupby('day_date')['summarative_score'].sum()\n",
+ "TSLA_tweet = TSLA_tweet.groupby('day_date')['summarative_score'].sum()\n",
+ "AMZN_tweet = AMZN_tweet.groupby('day_date')['summarative_score'].sum()\n",
+ "MSFT_tweet = MSFT_tweet.groupby('day_date')['summarative_score'].sum()\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1719,
+ "id": "88884fb3",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " ticker_symbol | \n",
+ " day_date | \n",
+ " close_value | \n",
+ " volume | \n",
+ " open_value | \n",
+ " high_value | \n",
+ " low_value | \n",
+ " summarative_score | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " AAPL | \n",
+ " 2015-01-01 | \n",
+ " 110.38 | \n",
+ " 41304780 | \n",
+ " 112.82 | \n",
+ " 113.13 | \n",
+ " 110.21 | \n",
+ " 3.911989 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " AAPL | \n",
+ " 2015-01-02 | \n",
+ " 109.33 | \n",
+ " 53143770 | \n",
+ " 111.39 | \n",
+ " 111.44 | \n",
+ " 107.35 | \n",
+ " 2.044350 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " AAPL | \n",
+ " 2015-01-03 | \n",
+ " 109.33 | \n",
+ " 53143770 | \n",
+ " 111.39 | \n",
+ " 111.44 | \n",
+ " 107.35 | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " AAPL | \n",
+ " 2015-01-04 | \n",
+ " 109.33 | \n",
+ " 53143770 | \n",
+ " 111.39 | \n",
+ " 111.44 | \n",
+ " 107.35 | \n",
+ " 1.740136 | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " AAPL | \n",
+ " 2015-01-05 | \n",
+ " 106.25 | \n",
+ " 64210880 | \n",
+ " 108.29 | \n",
+ " 108.65 | \n",
+ " 105.41 | \n",
+ " 0.866415 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " ticker_symbol day_date close_value volume open_value high_value \\\n",
+ "0 AAPL 2015-01-01 110.38 41304780 112.82 113.13 \n",
+ "1 AAPL 2015-01-02 109.33 53143770 111.39 111.44 \n",
+ "2 AAPL 2015-01-03 109.33 53143770 111.39 111.44 \n",
+ "3 AAPL 2015-01-04 109.33 53143770 111.39 111.44 \n",
+ "4 AAPL 2015-01-05 106.25 64210880 108.29 108.65 \n",
+ "\n",
+ " low_value summarative_score \n",
+ "0 110.21 3.911989 \n",
+ "1 107.35 2.044350 \n",
+ "2 107.35 NaN \n",
+ "3 107.35 1.740136 \n",
+ "4 105.41 0.866415 "
+ ]
+ },
+ "execution_count": 1719,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "APPL_df = APPL_df.merge(APPL_tweet, how = 'outer', on = 'day_date')\n",
+ "GOOG_df = APPL_df.merge(GOOG_tweet, how = 'outer', on = 'day_date')\n",
+ "GOOGL_df = APPL_df.merge(GOOGL_tweet, how = 'outer', on = 'day_date')\n",
+ "TSLA_df = APPL_df.merge(TSLA_tweet, how = 'outer', on = 'day_date')\n",
+ "AMZN_df = APPL_df.merge(AMZN_tweet, how = 'outer', on = 'day_date')\n",
+ "MSFT_df = APPL_df.merge(MSFT_tweet, how = 'outer', on = 'day_date')\n",
+ "\n",
+ "APPL_df.head()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1720,
+ "id": "7f188ccd",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "#APPL_df = APPL_df.replace(to_replace = np.nan, value = 0)\n",
+ "#GOOG_df.replace(to_replace = np.nan, value = 0)\n",
+ "#GOOGL_df.replace(to_replace = np.nan, value = 0)\n",
+ "#AMZN_df.replace(to_replace = np.nan, value = 0)\n",
+ "#TSLA_df.replace(to_replace = np.nan, value = 0)\n",
+ "#MSFT_df.replace(to_replace = np.nan, value = 0)\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1721,
+ "id": "2830b2bf",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ ""
+ ]
+ },
+ "execution_count": 1721,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "#stock prices over time\n",
+ "APPL_df.set_index('day_date')['close_value'].plot()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1722,
+ "id": "689b5a05",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " ticker_symbol | \n",
+ " day_date | \n",
+ " close_value | \n",
+ " volume | \n",
+ " open_value | \n",
+ " high_value | \n",
+ " low_value | \n",
+ " summarative_score | \n",
+ " returns | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " AAPL | \n",
+ " 2015-01-01 | \n",
+ " 110.38 | \n",
+ " 41304780 | \n",
+ " 112.82 | \n",
+ " 113.13 | \n",
+ " 110.21 | \n",
+ " 3.911989 | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " AAPL | \n",
+ " 2015-01-02 | \n",
+ " 109.33 | \n",
+ " 53143770 | \n",
+ " 111.39 | \n",
+ " 111.44 | \n",
+ " 107.35 | \n",
+ " 2.044350 | \n",
+ " -0.009513 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " AAPL | \n",
+ " 2015-01-03 | \n",
+ " 109.33 | \n",
+ " 53143770 | \n",
+ " 111.39 | \n",
+ " 111.44 | \n",
+ " 107.35 | \n",
+ " NaN | \n",
+ " 0.000000 | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " AAPL | \n",
+ " 2015-01-04 | \n",
+ " 109.33 | \n",
+ " 53143770 | \n",
+ " 111.39 | \n",
+ " 111.44 | \n",
+ " 107.35 | \n",
+ " 1.740136 | \n",
+ " 0.000000 | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " AAPL | \n",
+ " 2015-01-05 | \n",
+ " 106.25 | \n",
+ " 64210880 | \n",
+ " 108.29 | \n",
+ " 108.65 | \n",
+ " 105.41 | \n",
+ " 0.866415 | \n",
+ " -0.028172 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " ticker_symbol day_date close_value volume open_value high_value \\\n",
+ "0 AAPL 2015-01-01 110.38 41304780 112.82 113.13 \n",
+ "1 AAPL 2015-01-02 109.33 53143770 111.39 111.44 \n",
+ "2 AAPL 2015-01-03 109.33 53143770 111.39 111.44 \n",
+ "3 AAPL 2015-01-04 109.33 53143770 111.39 111.44 \n",
+ "4 AAPL 2015-01-05 106.25 64210880 108.29 108.65 \n",
+ "\n",
+ " low_value summarative_score returns \n",
+ "0 110.21 3.911989 NaN \n",
+ "1 107.35 2.044350 -0.009513 \n",
+ "2 107.35 NaN 0.000000 \n",
+ "3 107.35 1.740136 0.000000 \n",
+ "4 105.41 0.866415 -0.028172 "
+ ]
+ },
+ "execution_count": 1722,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "# turn stock prices --> stock returns\n",
+ "APPL_df['returns'] = APPL_df['close_value'].pct_change()\n",
+ "APPL_df.replace(to_replace = np.nan, value = 0)\n",
+ "\n",
+ "APPL_df.head()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1723,
+ "id": "378cfd65",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ ""
+ ]
+ },
+ "execution_count": 1723,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "\n",
+ "APPL_df.set_index('day_date')['returns'].plot()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "f780fcd2",
+ "metadata": {},
+ "source": [
+ "# # LSTM MODEL: "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1724,
+ "id": "a1c4face",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "#pip install tensorflow==2.9.1\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1725,
+ "id": "6fa7f52a",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "#here we will do the LSTM model\n",
+ "\n",
+ "#/-\\|/-\\|\n",
+ "import math\n",
+ "import tensorflow as tf\n",
+ "from tensorflow import keras\n",
+ "from tensorflow.keras import layers\n",
+ "from sklearn.model_selection import train_test_split\n",
+ "from sklearn.preprocessing import MinMaxScaler\n",
+ "from keras.models import Sequential\n",
+ "from keras.layers import CuDNNLSTM, Dense, Dropout, LSTM\n",
+ "from keras.layers import Dense, LSTM\n",
+ "\n",
+ "from keras.optimizers import Adam\n",
+ "\n",
+ "plt.style.use('fivethirtyeight')\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1726,
+ "id": "a45cda28",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "#scaler = MinMaxScaler().fit(x_test)\n",
+ "#print(scaler2)\n",
+ "#print(scaler2.data_min_)\n",
+ "#print(scaler2.feature_range)\n",
+ "#x_test = scaler2.transform(x_test)\n",
+ "\n",
+ "#print(x_test)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1727,
+ "id": "1642cba5",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "#Scale Features: https://towardsdatascience.com/what-and-why-behind-fit-transform-vs-transform-in-scikit-learn-78f915cf96fe\n",
+ "#scaler = MinMaxScaler(feature_range = (0,1))\n",
+ "#x_train = scaler.fit_transform(x_train)\n",
+ "\n",
+ "#print(x_train)\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1728,
+ "id": "8841bc93",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "0 AAPL\n",
+ "1 AAPL\n",
+ "2 AAPL\n",
+ "3 AAPL\n",
+ "4 AAPL\n",
+ " ... \n",
+ "1821 AAPL\n",
+ "1822 AAPL\n",
+ "1823 AAPL\n",
+ "1824 AAPL\n",
+ "1825 AAPL\n",
+ "Name: ticker_symbol, Length: 1826, dtype: object"
+ ]
+ },
+ "execution_count": 1728,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "APPL_df = APPL_df.fillna(0)\n",
+ "APPL_df.pop('ticker_symbol')\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1729,
+ "id": "ece488e1",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " day_date | \n",
+ " close_value | \n",
+ " volume | \n",
+ " open_value | \n",
+ " high_value | \n",
+ " low_value | \n",
+ " summarative_score | \n",
+ " returns | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " 2015-01-01 | \n",
+ " 110.38 | \n",
+ " 41304780 | \n",
+ " 112.82 | \n",
+ " 113.13 | \n",
+ " 110.21 | \n",
+ " 3.911989 | \n",
+ " 0.000000 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " 2015-01-02 | \n",
+ " 109.33 | \n",
+ " 53143770 | \n",
+ " 111.39 | \n",
+ " 111.44 | \n",
+ " 107.35 | \n",
+ " 2.044350 | \n",
+ " -0.009513 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 2015-01-03 | \n",
+ " 109.33 | \n",
+ " 53143770 | \n",
+ " 111.39 | \n",
+ " 111.44 | \n",
+ " 107.35 | \n",
+ " 0.000000 | \n",
+ " 0.000000 | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " 2015-01-04 | \n",
+ " 109.33 | \n",
+ " 53143770 | \n",
+ " 111.39 | \n",
+ " 111.44 | \n",
+ " 107.35 | \n",
+ " 1.740136 | \n",
+ " 0.000000 | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " 2015-01-05 | \n",
+ " 106.25 | \n",
+ " 64210880 | \n",
+ " 108.29 | \n",
+ " 108.65 | \n",
+ " 105.41 | \n",
+ " 0.866415 | \n",
+ " -0.028172 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " day_date close_value volume open_value high_value low_value \\\n",
+ "0 2015-01-01 110.38 41304780 112.82 113.13 110.21 \n",
+ "1 2015-01-02 109.33 53143770 111.39 111.44 107.35 \n",
+ "2 2015-01-03 109.33 53143770 111.39 111.44 107.35 \n",
+ "3 2015-01-04 109.33 53143770 111.39 111.44 107.35 \n",
+ "4 2015-01-05 106.25 64210880 108.29 108.65 105.41 \n",
+ "\n",
+ " summarative_score returns \n",
+ "0 3.911989 0.000000 \n",
+ "1 2.044350 -0.009513 \n",
+ "2 0.000000 0.000000 \n",
+ "3 1.740136 0.000000 \n",
+ "4 0.866415 -0.028172 "
+ ]
+ },
+ "execution_count": 1729,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "APPL_df.head()\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1730,
+ "id": "d59318a2",
+ "metadata": {
+ "scrolled": true
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " volume open_value high_value low_value summarative_score\n",
+ "0 41304780 112.82 113.13 110.21 3.911989\n",
+ "1 53143770 111.39 111.44 107.35 2.044350\n",
+ "2 53143770 111.39 111.44 107.35 0.000000\n",
+ "3 53143770 111.39 111.44 107.35 1.740136\n",
+ "4 64210880 108.29 108.65 105.41 0.866415\n",
+ "... ... ... ... ... ...\n",
+ "1821 36592940 291.12 293.97 288.12 0.115701\n",
+ "1822 36592940 291.12 293.97 288.12 0.411740\n",
+ "1823 36592940 291.12 293.97 288.12 2.102808\n",
+ "1824 36059610 289.46 292.69 285.22 7.807207\n",
+ "1825 25247630 289.93 293.68 289.52 1.383618\n",
+ "\n",
+ "[1826 rows x 5 columns]\n",
+ "0 0.000000\n",
+ "1 -0.009513\n",
+ "2 0.000000\n",
+ "3 0.000000\n",
+ "4 -0.028172\n",
+ " ... \n",
+ "1821 -0.000379\n",
+ "1822 0.000000\n",
+ "1823 0.000000\n",
+ "1824 0.005935\n",
+ "1825 0.007307\n",
+ "Name: returns, Length: 1826, dtype: float64\n"
+ ]
+ }
+ ],
+ "source": [
+ "#forecast_out= 3\n",
+ "#x1 = APPL_df.iloc[: , 3:]\n",
+ "#APPL_df['PrevNClose'] = APPL_df[['close_value']].shift(forecast_out)\n",
+ "#x3 = APPL_df['PrevNClose']\n",
+ "#print(x3.shape)\n",
+ "#print(x3)\n",
+ "\n",
+ "\n",
+ "#X = pd.concat([x1, x3] , axis = 1)\n",
+ "#X.pop(\"close_value\")\n",
+ "#X.pop(\"summarative_score\")\n",
+ "#X = X.drop(labels = None, axis = 0, index = 'close_value')\n",
+ "#X= X[forecast_out:]\n",
+ "y = APPL_df['returns']\n",
+ "X = APPL_df.drop(['returns', 'close_value', 'day_date'], axis=1)\n",
+ "\n",
+ "\n",
+ "\n",
+ "#print(X.shape)\n",
+ "print(X)\n",
+ "print(y)\n",
+ "#y = APPL_df[['close_value']]\n",
+ "#y = y[forecast_out:]\n",
+ "#print(y)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1731,
+ "id": "7c7d42f9",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "(1460, 5)\n",
+ "(1460,)\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Split Train and Test\n",
+ "x_train, x_test, y_train, y_test = train_test_split(X, y, test_size = 0.2, random_state=123, shuffle = False)\n",
+ "\n",
+ "x_train = x_train.to_numpy()\n",
+ "x_test = x_test.to_numpy()\n",
+ "\n",
+ "y_train = y_train.to_numpy()\n",
+ "y_test = y_test.to_numpy()\n",
+ "\n",
+ "#x_train = np.reshape(x_train, (x_train.shape[0], x_train.shape[1]))\n",
+ "\n",
+ "\n",
+ "print(x_train.shape)\n",
+ "print(y_train.shape)\n",
+ "\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1732,
+ "id": "17398c30",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "numpy.ndarray"
+ ]
+ },
+ "execution_count": 1732,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "type(x_train)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1733,
+ "id": "cd9e7e58",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "#print(x_train.count)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1734,
+ "id": "6857988c",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "from keras.preprocessing.sequence import TimeseriesGenerator\n",
+ "window_length = 7\n",
+ "batch_size = 32\n",
+ "num_features = 5\n",
+ "\n",
+ "#TimeseriesGenerator(x_train, y_train, length=window_length, sampling_rate=1, batch_size=batch_size)[0]"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1735,
+ "id": "7e9c2f03",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "train_generator = TimeseriesGenerator(x_train, y_train,\n",
+ " length=window_length,\n",
+ " sampling_rate=1,\n",
+ " batch_size=batch_size)\n",
+ "\n",
+ "test_generator = TimeseriesGenerator(x_test, y_test,\n",
+ " length=window_length,\n",
+ " sampling_rate=1,\n",
+ " batch_size=batch_size)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1736,
+ "id": "79cc572a",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "46\n"
+ ]
+ }
+ ],
+ "source": [
+ "print(len(train_generator))"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1795,
+ "id": "9e15a358",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "model = tf.keras.Sequential()\n",
+ "model.add(tf.keras.layers.LSTM(128, input_shape= (window_length, num_features), return_sequences=True))\n",
+ "model.add(Dropout(rate = 0.2))\n",
+ "\n",
+ "model.add(LSTM(units = 50, return_sequences = True))\n",
+ "model.add(Dropout(rate = 0.2))\n",
+ "##add 3rd lstm layer\n",
+ "model.add(LSTM(units = 50, return_sequences = True))\n",
+ "model.add(Dropout(rate = 0.2))\n",
+ "##add 4th lstm layer\n",
+ "model.add(LSTM(units = 50, return_sequences = False))\n",
+ "model.add(Dropout(rate = 0.2))\n",
+ "\n",
+ "#model.add(tf.keras.layers.LSTM(80, input_shape= (window_length, num_features), return_sequences=True))\n",
+ "\n",
+ "#model.add(tf.keras.layers.Dropout(0.3)) \n",
+ "#model.add(tf.keras.layers.LSTM(32, return_sequences=False))\n",
+ "#model.add(tf.keras.layers.Dropout(0.3)) \n",
+ "model.add(tf.keras.layers.Dense(1))\n",
+ "\n",
+ "\n",
+ "\n",
+ "#model.compile(optimizer='adam', loss='mse')\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1796,
+ "id": "b0543c24",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Model: \"sequential_64\"\n",
+ "_________________________________________________________________\n",
+ " Layer (type) Output Shape Param # \n",
+ "=================================================================\n",
+ " lstm_153 (LSTM) (None, 7, 128) 68608 \n",
+ " \n",
+ " dropout_81 (Dropout) (None, 7, 128) 0 \n",
+ " \n",
+ " lstm_154 (LSTM) (None, 7, 50) 35800 \n",
+ " \n",
+ " dropout_82 (Dropout) (None, 7, 50) 0 \n",
+ " \n",
+ " lstm_155 (LSTM) (None, 7, 50) 20200 \n",
+ " \n",
+ " dropout_83 (Dropout) (None, 7, 50) 0 \n",
+ " \n",
+ " lstm_156 (LSTM) (None, 50) 20200 \n",
+ " \n",
+ " dropout_84 (Dropout) (None, 50) 0 \n",
+ " \n",
+ " dense_71 (Dense) (None, 1) 51 \n",
+ " \n",
+ "=================================================================\n",
+ "Total params: 144,859\n",
+ "Trainable params: 144,859\n",
+ "Non-trainable params: 0\n",
+ "_________________________________________________________________\n"
+ ]
+ }
+ ],
+ "source": [
+ "model.summary()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1797,
+ "id": "862a99e5",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "from keras.callbacks import EarlyStopping\n",
+ "early_stopping = EarlyStopping(monitor='val_loss', patience=10, mode='min')\n",
+ "\n",
+ "model.compile(loss=tf.losses.MeanSquaredError(),\n",
+ " optimizer=tf.optimizers.Adam(),\n",
+ " metrics=[tf.metrics.MeanAbsoluteError()])\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1798,
+ "id": "25932133",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Epoch 1/150\n",
+ "46/46 [==============================] - 7s 44ms/step - loss: 7.8674e-04 - mean_absolute_error: 0.0199 - val_loss: 1.6584e-04 - val_mean_absolute_error: 0.0081\n",
+ "Epoch 2/150\n",
+ "46/46 [==============================] - 1s 18ms/step - loss: 2.4384e-04 - mean_absolute_error: 0.0114 - val_loss: 1.7121e-04 - val_mean_absolute_error: 0.0085\n",
+ "Epoch 3/150\n",
+ "46/46 [==============================] - 1s 18ms/step - loss: 2.0831e-04 - mean_absolute_error: 0.0102 - val_loss: 1.7464e-04 - val_mean_absolute_error: 0.0088\n",
+ "Epoch 4/150\n",
+ "46/46 [==============================] - 1s 18ms/step - loss: 2.0402e-04 - mean_absolute_error: 0.0100 - val_loss: 1.7761e-04 - val_mean_absolute_error: 0.0089\n",
+ "Epoch 5/150\n",
+ "46/46 [==============================] - 1s 18ms/step - loss: 1.9629e-04 - mean_absolute_error: 0.0098 - val_loss: 1.6930e-04 - val_mean_absolute_error: 0.0084\n",
+ "Epoch 6/150\n",
+ "46/46 [==============================] - 1s 18ms/step - loss: 1.8874e-04 - mean_absolute_error: 0.0094 - val_loss: 1.7105e-04 - val_mean_absolute_error: 0.0085\n",
+ "Epoch 7/150\n",
+ "46/46 [==============================] - 1s 18ms/step - loss: 1.9112e-04 - mean_absolute_error: 0.0094 - val_loss: 1.7252e-04 - val_mean_absolute_error: 0.0086\n",
+ "Epoch 8/150\n",
+ "46/46 [==============================] - 1s 18ms/step - loss: 1.9500e-04 - mean_absolute_error: 0.0095 - val_loss: 1.6889e-04 - val_mean_absolute_error: 0.0084\n",
+ "Epoch 9/150\n",
+ "46/46 [==============================] - 1s 18ms/step - loss: 1.7942e-04 - mean_absolute_error: 0.0090 - val_loss: 1.7525e-04 - val_mean_absolute_error: 0.0088\n",
+ "Epoch 10/150\n",
+ "46/46 [==============================] - 1s 18ms/step - loss: 1.8892e-04 - mean_absolute_error: 0.0092 - val_loss: 1.6692e-04 - val_mean_absolute_error: 0.0082\n",
+ "Epoch 11/150\n",
+ "46/46 [==============================] - 1s 18ms/step - loss: 1.7968e-04 - mean_absolute_error: 0.0089 - val_loss: 1.6798e-04 - val_mean_absolute_error: 0.0083\n"
+ ]
+ }
+ ],
+ "source": [
+ "history = model.fit(train_generator, epochs=150,\n",
+ " validation_data=test_generator,\n",
+ " shuffle=False,\n",
+ " callbacks=[early_stopping])"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1799,
+ "id": "82ddd005",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "(array([[[ 3.4499390e+07, 1.5853000e+02, 1.5936000e+02, 1.5648000e+02,\n",
+ " 5.1809400e-01],\n",
+ " [ 3.4499390e+07, 1.5853000e+02, 1.5936000e+02, 1.5648000e+02,\n",
+ " 2.4025500e+00],\n",
+ " [ 3.5637070e+07, 1.5489000e+02, 1.5885000e+02, 1.5423000e+02,\n",
+ " -7.7482780e+00],\n",
+ " ...,\n",
+ " [ 5.7423650e+07, 1.4453000e+02, 1.4854990e+02, 1.4380000e+02,\n",
+ " -6.5565440e+00],\n",
+ " [ 5.7423650e+07, 1.4453000e+02, 1.4854990e+02, 1.4380000e+02,\n",
+ " 4.1472900e-01],\n",
+ " [ 5.7423650e+07, 1.4453000e+02, 1.4854990e+02, 1.4380000e+02,\n",
+ " 1.0976500e+00]],\n",
+ " \n",
+ " [[ 3.4499390e+07, 1.5853000e+02, 1.5936000e+02, 1.5648000e+02,\n",
+ " 2.4025500e+00],\n",
+ " [ 3.5637070e+07, 1.5489000e+02, 1.5885000e+02, 1.5423000e+02,\n",
+ " -7.7482780e+00],\n",
+ " [ 9.1106840e+07, 1.4398000e+02, 1.4572000e+02, 1.4200000e+02,\n",
+ " -1.1396768e+01],\n",
+ " ...,\n",
+ " [ 5.7423650e+07, 1.4453000e+02, 1.4854990e+02, 1.4380000e+02,\n",
+ " 4.1472900e-01],\n",
+ " [ 5.7423650e+07, 1.4453000e+02, 1.4854990e+02, 1.4380000e+02,\n",
+ " 1.0976500e+00],\n",
+ " [ 5.4571440e+07, 1.4870000e+02, 1.4883000e+02, 1.4590000e+02,\n",
+ " -3.1257200e-01]],\n",
+ " \n",
+ " [[ 3.5637070e+07, 1.5489000e+02, 1.5885000e+02, 1.5423000e+02,\n",
+ " -7.7482780e+00],\n",
+ " [ 9.1106840e+07, 1.4398000e+02, 1.4572000e+02, 1.4200000e+02,\n",
+ " -1.1396768e+01],\n",
+ " [ 5.7423650e+07, 1.4453000e+02, 1.4854990e+02, 1.4380000e+02,\n",
+ " -6.5565440e+00],\n",
+ " ...,\n",
+ " [ 5.7423650e+07, 1.4453000e+02, 1.4854990e+02, 1.4380000e+02,\n",
+ " 1.0976500e+00],\n",
+ " [ 5.4571440e+07, 1.4870000e+02, 1.4883000e+02, 1.4590000e+02,\n",
+ " -3.1257200e-01],\n",
+ " [ 4.0622910e+07, 1.4956000e+02, 1.5182000e+02, 1.4852000e+02,\n",
+ " 1.0026230e+00]],\n",
+ " \n",
+ " ...,\n",
+ " \n",
+ " [[ 3.9914850e+07, 1.5625000e+02, 1.5813000e+02, 1.5411000e+02,\n",
+ " 8.0842980e+00],\n",
+ " [ 6.0800480e+07, 1.6325000e+02, 1.6615000e+02, 1.6023000e+02,\n",
+ " 2.8547080e+00],\n",
+ " [ 4.0613260e+07, 1.6611000e+02, 1.6900000e+02, 1.6456000e+02,\n",
+ " -4.5639870e+00],\n",
+ " ...,\n",
+ " [ 3.2644590e+07, 1.6696000e+02, 1.6898000e+02, 1.6593000e+02,\n",
+ " 0.0000000e+00],\n",
+ " [ 3.2644590e+07, 1.6696000e+02, 1.6898000e+02, 1.6593000e+02,\n",
+ " 3.0998100e-01],\n",
+ " [ 3.1384720e+07, 1.6741000e+02, 1.7165500e+02, 1.6728000e+02,\n",
+ " 1.7626040e+00]],\n",
+ " \n",
+ " [[ 6.0800480e+07, 1.6325000e+02, 1.6615000e+02, 1.6023000e+02,\n",
+ " 2.8547080e+00],\n",
+ " [ 4.0613260e+07, 1.6611000e+02, 1.6900000e+02, 1.6456000e+02,\n",
+ " -4.5639870e+00],\n",
+ " [ 3.2644590e+07, 1.6696000e+02, 1.6898000e+02, 1.6593000e+02,\n",
+ " -1.0218260e+00],\n",
+ " ...,\n",
+ " [ 3.2644590e+07, 1.6696000e+02, 1.6898000e+02, 1.6593000e+02,\n",
+ " 3.0998100e-01],\n",
+ " [ 3.1384720e+07, 1.6741000e+02, 1.7165500e+02, 1.6728000e+02,\n",
+ " 1.7626040e+00],\n",
+ " [ 3.6054570e+07, 1.7286000e+02, 1.7508000e+02, 1.7235010e+02,\n",
+ " -7.0669300e-01]],\n",
+ " \n",
+ " [[ 4.0613260e+07, 1.6611000e+02, 1.6900000e+02, 1.6456000e+02,\n",
+ " -4.5639870e+00],\n",
+ " [ 3.2644590e+07, 1.6696000e+02, 1.6898000e+02, 1.6593000e+02,\n",
+ " -1.0218260e+00],\n",
+ " [ 3.2644590e+07, 1.6696000e+02, 1.6898000e+02, 1.6593000e+02,\n",
+ " 0.0000000e+00],\n",
+ " ...,\n",
+ " [ 3.1384720e+07, 1.6741000e+02, 1.7165500e+02, 1.6728000e+02,\n",
+ " 1.7626040e+00],\n",
+ " [ 3.6054570e+07, 1.7286000e+02, 1.7508000e+02, 1.7235010e+02,\n",
+ " -7.0669300e-01],\n",
+ " [ 2.8204640e+07, 1.7465000e+02, 1.7557000e+02, 1.7285310e+02,\n",
+ " 6.7752000e-02]]]),\n",
+ " array([-0.00222582, 0.01906307, 0.01698176, 0.00319614, -0.00981795,\n",
+ " 0. , 0. , -0.0150371 , 0.02046667, 0.01221663,\n",
+ " 0.00593778, 0.00615937, 0. , 0. , 0. ,\n",
+ " -0.02244612, 0.00404436, -0.0079262 , 0.03313687, 0. ,\n",
+ " 0. , -0.00925456, -0.01036468, 0.06833463, 0.00720121,\n",
+ " 0.00048065, 0. , 0. , 0.028405 , 0.01710949,\n",
+ " 0.00034447, -0.01893939]))"
+ ]
+ },
+ "execution_count": 1799,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "test_generator[0]"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1800,
+ "id": "6bb67030",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "image/png": "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5vTp00ydOpWBAwdy1113sWjRIhwNfEPuxspqtXL//fezc+dOZd3x48d58sknuf322/nd737HV199VW+vJ+HYgBYsWEBOTg6LFi1i8uTJrFixgi1btgS6WQFhs9n405/+hF6vZ9myZUybNo0vvviCV199NdBNC7idO3fy4YcfBroZjcKCBQv4/PPPmT17NnPmzOHrr7/mjTfeCHSzAmbWrFkUFhby2muv8cILL7Bp0yZWr14d6Gb5XWVlJX/96185ePCgss7lcvH0008TFhbGm2++yV133cWkSZM4duxYvbymhGMDMZvNbNiwgYkTJ9K9e3f69u1Lamoq69atC3TTAmLv3r0cPXqUqVOn0qFDB5KSknj88cf5+OOPA920gDKbzcyYMYOEhIRANyXgysrKeP/995kyZQoJCQnEx8czfvx4fvjhh0A3LWC+/PJL7r//fjp16sQNN9zA4MGD2bVrV6Cb5VcHDx5k7Nix/Pzzz17rd+3axZEjR5g8eTIdO3bk4YcfJj4+vt4+aEo4NpD8/HysVqvXH73ExETy8vKw2xvX3eD9oX379sybN4+goCBlnUqlwtaIbqQaCK+++ipJSUkkJSUFuikB991332EwGOjdu7eyLiUlhfnz5wewVYEVFhbGxx9/jMVioaioiK+//ppu3boFull+9d1333HTTTexfPlyr/V79uyhS5cuBAcHK+sSEhLIzc2tl9eVcGwgxcXFhIaGYjAYlHURERHYbDZKSkoC17AAadGihdcfPafTybp160hMTAxcowIsJyeHTz/9lD/+8Y+BbkqjcOzYMVq3bs3mzZsZOXIkd999N/Pnz7+qP0BNmjSJ3bt38+tf/5q77rqLli1bMn78+EA3y6+GDx/OU089hdFo9FpfXFxMVFSU17qIiAgKCwvr5XUlHBuIxWJBr9d7rfMsX80TDDzmzZvHjz/+yBNPPBHopgSE1Wrl73//O+np6YSGhga6OY1CeXk5v/zyC++++y6TJ0/mmWee4bPPPmPhwoWBblrAHD16lK5du/Laa68xb948jh8/zoIFCwLdrEbBYrGg0+m81un1+nr7MCXh2ED0er1PCHqWa38Cupq4XC5eeeUV1q1bx4svvkinTp0C3aSAWLZsGW3btmXgwIGBbkqjodVqKS8vZ9q0aSQmJtKnTx+eeuop/vnPf+J0OgPdPL/7+eefmTt3Ln/9619JSEigT58+PPvss6xbtw6TyRTo5gWcwWDwCUKr1Vpvf1+19bIX4SM6OpqysjJsNpvy6cZkMqHX66/akYLT6eTFF1/k448/Zvr06fTt2zfQTQqYzZs3YzKZlD6w2Ww4nU769u3LF198EeDWBUZkZCQajYZrr71WWde+fXsqKys5deoULVu2DGDr/O/7778nKCiImJgYZV23bt1wOBycOHHiquuP2qKiosjPz/dad/LkyXrrFwnHBtKlSxd0Oh05OTn06tULgOzsbLp164ZWe3V2+7x589i8eTMvvfQSycnJgW5OQP3jH//wmpj1zjvv8P333zNt2rQAtiqwevbsicPhYP/+/XTu3BmAQ4cOERwcTFhYWIBb539RUVGUlZVRUFCgBORPP/0EQJs2bQLYssYhLi6ON998E7PZTLNmzQD35J24uLh62b8cVm0gRqORIUOGMGvWLPbu3cu2bdvIzMxk5MiRgW5aQOTm5rJmzRoee+wxunfvTnFxsfJzNWrdujVt27ZVfpo3b47BYKBt27aBblrAtGvXjttvv51p06bx/fff8+2337Jo0SLuueeeq/IDZVxcHF26dGHatGnk5+eTm5vL9OnTufPOOwkPDw908wIuKSmJVq1a8cILL3DgwAHeeust9uzZw7Bhw+pl/3LLqgZksViYOXMmW7duJTg4mFGjRjFq1KhANysg5s+fz9tvv33Wsq+++uqq/ONX06uvvkp2djb/+Mc/At2UgCovL2fOnDl89tlnaDQa7rrrLp588smr9vejqKiIOXPmsGvXLnQ6Hf379yctLe2qnbfQu3dvFi1apMx8P3r0KC+++CJ79+6lTZs2pKenc/PNN9fLa0k4CiGEELXIYVUhhBCiFglHIYQQohYJRyGEEKIWCUchhBCiFglHIYQQohYJRyGEEKIWCUchxGVbunQpvXv3vipvxyaaJglHIYQQohYJRyGEEKIWCUchrmAfffQRDzzwALfeeispKSksXrxYuY3P0qVLSUlJ4csvv+S+++4jOTmZMWPGsHPnTq99nDlzhnnz5vHb3/6W2267jZEjR7J+/XqvOi6Xi7Vr1zJy5EiSk5MZNmwYb7zxBg6Hw6vejh07GD16NLfddhv33HMP77zzToO+fyEaytV5wUIhmoBVq1axcOFCfvvb35KWlsaBAwd4/fXX+fnnn5kxYwYApaWlPP/88zzyyCNce+21rF69mgkTJrBs2TJ69OiBxWJh/PjxFBcXM27cOK699lo+//xzpk+frqwD97Vf33rrLe677z769OlDfn4+r732GmazmbS0NKVNf/vb3xg/fjzXXHMN77//PnPnzqV9+/b06dMnIH0kxKWScBTiCnTmzBlef/11hg4dyuTJkwG49dZbiY6OZurUqeTk5ABQWVnJpEmTSElJAeCmm25i2LBhvPXWW7z00kts3LiRAwcO8I9//IOkpCRlPw6HgzfffJMRI0ag0+nIzMxk+PDhPP300wD06dOHiooKvvnmG68bEU+ZMoXbb78dgPj4eAYOHMjOnTslHMUVRw6rCnEFys3NxWKx0LdvX+x2u/KTnJyMWq1mx44dAGg0Gu644w5lO6PRyK233sru3bsB2L17N9HR0Uowetx1111YrVZyc3PJzc3FbrfTv39/rzr/93//x/Lly1Grq/+M1NxPcHAwLVq0oKysrN7fvxANTUaOQlyBSktLAZSRXG1FRUVERkYSHh7uc7uniIgIJbBOnz5NRESEz/aeu6mXlZWh0WiU7S6k9q2U1Gq118hSiCuFhKMQV6CQkBAAMjIyuO6663zKw8PD2bhxI6dPn8bpdHqN7kwmEy1atAAgNDRUubt8TUVFRcp+XC73Xe1KSkq86hQXF3Pw4EHi4+Pr4R0J0bjIYVUhrkBxcXHo9XoKCgro0aOH8hMcHMz8+fM5dOgQADabjS+//FLZzmKx8NVXX3HjjTcC7sOghYWFymFWj48//hiNRkNcXBxxcXFotVq2bt3qVWfdunXnHLkKcaWTkaMQV6Dw8HBGjx7N66+/TllZGTfeeCMnT55k2bJlVFZW0r17d/bu3QvAiy++yOOPP05ERARvv/02ZrOZRx99FICUlBTWrVvHpEmTGD9+PG3atGHbtm189NFHPPLII4SFhQFw//33s3r1avR6PTfeeCP79u0jMzOThx9++Kq9K71o2iQchbhCPfbYY0RGRrJu3TrWrl1L8+bN6dWrF//3f//ndX7w2WefZd68eRQXFxMfH8/SpUtp37494D5H+Nprr7F48WKWL1/OmTNnaNeuHVOmTGHYsGHKPp588klatmzJBx98wNq1a2nVqhVpaWncf//9/n7bQviFqqSkxBXoRggh6t/SpUtZtmwZX331lc+kHCHE+ck5RyGEEKIWCUchhBCiFjmsKoQQQtQiI0chhBCiFglHIYQQohYJRyGEEKIWCUchhBCiFglHIYQQohYJRyGEEKKW/wf1TMZ5XFoPagAAAABJRU5ErkJggg==\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "plt.plot(history.history[\"loss\"])\n",
+ "plt.plot(history.history[\"val_loss\"])\n",
+ "plt.title(\"model loss\")\n",
+ "plt.ylabel(\"loss\")\n",
+ "plt.xlabel(\"epoch\")\n",
+ "plt.legend([\"train\", \"val\"], loc=\"upper left\")\n",
+ "plt.show()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1801,
+ "id": "b3e84181",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "[0.00016798394790384918, 0.008299259468913078]"
+ ]
+ },
+ "execution_count": 1801,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "model.evaluate(test_generator, verbose=0) "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1802,
+ "id": "e1bdf2d1",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "C:\\Users\\Michael\\AppData\\Local\\Temp/ipykernel_6820/2533966764.py:1: UserWarning: `Model.predict_generator` is deprecated and will be removed in a future version. Please use `Model.predict`, which supports generators.\n",
+ " predictions=model.predict_generator(test_generator)\n"
+ ]
+ }
+ ],
+ "source": [
+ "predictions=model.predict_generator(test_generator)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1803,
+ "id": "2f581253",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "359"
+ ]
+ },
+ "execution_count": 1803,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "y_test.shape[0] - window_length\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1808,
+ "id": "aca42ac0",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "array([-0.00113081, -0.00113081, -0.00113081, -0.00113081, -0.00113081,\n",
+ " -0.00113081, -0.00113081, -0.00113081, -0.00113081, -0.00113081,\n",
+ " -0.00113081, -0.00113081, -0.00113081, -0.00113081, -0.00113081,\n",
+ " -0.00113081, -0.00113081, -0.00113081, -0.00113081, -0.00113081,\n",
+ " -0.00113081, -0.00113081, -0.00113081, -0.00113081, -0.00113081,\n",
+ " -0.00113081, -0.00113081, -0.00113081, -0.00113081, -0.00113081,\n",
+ " -0.00113081, -0.00113081, -0.00113081, -0.00113081, -0.00113081,\n",
+ " -0.00113081, -0.00113081, -0.00113081, -0.00113081, -0.00113081,\n",
+ " -0.00113081, -0.00113081, -0.00113081, -0.00113081, -0.00113081,\n",
+ " -0.00113081, -0.00113081, -0.00113081, -0.00113081, -0.00113081,\n",
+ " -0.00113081, -0.00113081, -0.00113081, -0.00113081, -0.00113081,\n",
+ " -0.00113081, -0.00113081, -0.00113081, -0.00113081, -0.00113081,\n",
+ " -0.00113081, -0.00113081, -0.00113081, -0.00113081, -0.00113081,\n",
+ " -0.00113081, -0.00113081, -0.00113081, -0.00113081, -0.00113081,\n",
+ " -0.00113081, -0.00113081, -0.00113081, -0.00113081, -0.00113081,\n",
+ " -0.00113081, -0.00113081, -0.00113081, -0.00113081, -0.00113081,\n",
+ " -0.00113081, -0.00113081, -0.00113081, -0.00113081, -0.00113081,\n",
+ " -0.00113081, -0.00113081, -0.00113081, -0.00113081, -0.00113081,\n",
+ " -0.00113081, -0.00113081, -0.00113081, -0.00113081, -0.00113081,\n",
+ " -0.00113081, -0.00113081, -0.00113081, -0.00113081, -0.00113081,\n",
+ " -0.00113081, -0.00113081, -0.00113081, -0.00113081, -0.00113081,\n",
+ " -0.00113081, -0.00113081, -0.00113081, -0.00113081, -0.00113081,\n",
+ " -0.00113081, -0.00113081, -0.00113081, -0.00113081, -0.00113081,\n",
+ " -0.00113081, -0.00113081, -0.00113081, -0.00113081, -0.00113081,\n",
+ " -0.00113081, -0.00113081, -0.00113081, -0.00113081, -0.00113081,\n",
+ " -0.00113081, -0.00113081, -0.00113081, -0.00113081, -0.00113081,\n",
+ " -0.00113081, -0.00113081, -0.00113081, -0.00113081, -0.00113081,\n",
+ " -0.00113081, -0.00113081, -0.00113081, -0.00113081, -0.00113081,\n",
+ " -0.00113081, -0.00113081, -0.00113081, -0.00113081, -0.00113081,\n",
+ " -0.00113081, -0.00113081, -0.00113081, -0.00113081, -0.00113081,\n",
+ " -0.00113081, -0.00113081, -0.00113081, -0.00113081, -0.00113081,\n",
+ " -0.00113081, -0.00113081, -0.00113081, -0.00113081, -0.00113081,\n",
+ " -0.00113081, -0.00113081, -0.00113081, -0.00113081, -0.00113081,\n",
+ " -0.00113081, -0.00113081, -0.00113081, -0.00113081, -0.00113081,\n",
+ " -0.00113081, -0.00113081, -0.00113081, -0.00113081, -0.00113081,\n",
+ " -0.00113081, -0.00113081, -0.00113081, -0.00113081, -0.00113081,\n",
+ " -0.00113081, -0.00113081, -0.00113081, -0.00113081, -0.00113081,\n",
+ " -0.00113081, -0.00113081, -0.00113081, -0.00113081, -0.00113081,\n",
+ " -0.00113081, -0.00113081, -0.00113081, -0.00113081, -0.00113081,\n",
+ " -0.00113081, -0.00113081, -0.00113081, -0.00113081, -0.00113081,\n",
+ " -0.00113081, -0.00113081, -0.00113081, -0.00113081, -0.00113081,\n",
+ " -0.00113081, -0.00113081, -0.00113081, -0.00113081, -0.00113081,\n",
+ " -0.00113081, -0.00113081, -0.00113081, -0.00113081, -0.00113081,\n",
+ " -0.00113081, -0.00113081, -0.00113081, -0.00113081, -0.00113081,\n",
+ " -0.00113081, -0.00113081, -0.00113081, -0.00113081, -0.00113081,\n",
+ " -0.00113081, -0.00113081, -0.00113081, -0.00113081, -0.00113081,\n",
+ " -0.00113081, -0.00113081, -0.00113081, -0.00113081, -0.00113081,\n",
+ " -0.00113081, -0.00113081, -0.00113081, -0.00113081, -0.00113081,\n",
+ " -0.00113081, -0.00113081, -0.00113081, -0.00113081, -0.00113081,\n",
+ " -0.00113081, -0.00113081, -0.00113081, -0.00113081, -0.00113081,\n",
+ " -0.00113081, -0.00113081, -0.00113081, -0.00113081, -0.00113081,\n",
+ " -0.00113081, -0.00113081, -0.00113081, -0.00113081, -0.00113081,\n",
+ " -0.00113081, -0.00113081, -0.00113081, -0.00113081, -0.00113081,\n",
+ " -0.00113081, -0.00113081, -0.00113081, -0.00113081, -0.00113081,\n",
+ " -0.00113081, -0.00113081, -0.00113081, -0.00113081, -0.00113081,\n",
+ " -0.00113081, -0.00113081, -0.00113081, -0.00113081, -0.00113081,\n",
+ " -0.00113081, -0.00113081, -0.00113081, -0.00113081, -0.00113081,\n",
+ " -0.00113081, -0.00113081, -0.00113081, -0.00113081, -0.00113081,\n",
+ " -0.00113081, -0.00113081, -0.00113081, -0.00113081, -0.00113081,\n",
+ " -0.00113081, -0.00113081, -0.00113081, -0.00113081, -0.00113081,\n",
+ " -0.00113081, -0.00113081, -0.00113081, -0.00113081, -0.00113081,\n",
+ " -0.00113081, -0.00113081, -0.00113081, -0.00113081, -0.00113081,\n",
+ " -0.00113081, -0.00113081, -0.00113081, -0.00113081, -0.00113081,\n",
+ " -0.00113081, -0.00113081, -0.00113081, -0.00113081, -0.00113081,\n",
+ " -0.00113081, -0.00113081, -0.00113081, -0.00113081, -0.00113081,\n",
+ " -0.00113081, -0.00113081, -0.00113081, -0.00113081, -0.00113081,\n",
+ " -0.00113081, -0.00113081, -0.00113081, -0.00113081, -0.00113081,\n",
+ " -0.00113081, -0.00113081, -0.00113081, -0.00113081, -0.00113081,\n",
+ " -0.00113081, -0.00113081, -0.00113081, -0.00113081, -0.00113081,\n",
+ " -0.00113081, -0.00113081, -0.00113081, -0.00113081, -0.00113081,\n",
+ " -0.00113081, -0.00113081, -0.00113081, -0.00113081, -0.00113081,\n",
+ " -0.00113081, -0.00113081, -0.00113081, -0.00113081], dtype=float32)"
+ ]
+ },
+ "execution_count": 1808,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "predictions"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1804,
+ "id": "b6a6cb02",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "predictions = predictions.flatten()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1805,
+ "id": "fa58a51d",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "1.0"
+ ]
+ },
+ "execution_count": 1805,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "predictions.shape[0] / 359"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1806,
+ "id": "cc0157f2",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "image/png": "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iBFaNxRNmjTBW2+9pdWMg82JEyegVCoxZswYJjACQEBAAKZOnYrc3FxIpVKtolBjzp07h7y8PIwaNYoJjADA5XIxefJknDx5EocOHUJMTAy43H8Ly9555x2tY23Xrh14PB7zdF9KJpPhn3/+YSoBicVibNy4ER4eHhQYKzEKjqRKKC1SLS1KLVUaHA8dOoTo6Gitd0gFBQXYvHkz85nD4cDd3R116tTB6NGjMWzYMHh5eRncVymhUAhfX19069YN7777Ll555RVrHhoAsNbeLN3PrVu3tKazvRe8efMmgOKn2wsXLmjNe/nyJQAw7yFv376ttf2yTHkiNra+JTVbS9PVqlUrvXmenp4IDg7GlStX8PTpU9StW5eZV79+fa1leTwexGKxVgWtgQMH4quvvsKECRPQqFEjtGvXDu3bt0fr1q3B59PlszKjb5dUehKJBKdPnwYApuKKroyMDJw/fx4dOnRgptWqVcui95Hr16+3e1MDtneYNWrUAAAUFhZqTReJRHrLFhQUAIBeg/uy8vLytJYt+9RVytvbu9y0lm6ntJiyokrTY2h7pU+nUqlUazrbUx+Hw9H63L9/f1SvXh179uzB33//jXv37mHXrl3w9fXFxIkT8eabb1rjEIgTouBIKr1Tp05BIpGgefPmWsVupZ49e4Y///wTCQkJWsHRlehe+IF/g4aPj0+567u5uYHL5eLs2bOswbOs0qfl0u2XxdYukW1fAFBUVMQE8FIymQwCgUCr+LM8pUE6KyuLdX5pMDYlH9h07NgRHTt2REFBAa5cuYLff/8dv/76KxYuXIiGDRsiLCzMou0S50bBkVR6pcWcU6ZMYX2iy83NRd++ffHHH38gMzOTaW7hSkqLRctKTEwEAISGhpa7ftOmTXH79m3cunVL72J/69YtHD16FG3btkXbtm2Z95dJSUlo166d3rLladKkCc6ePYsbN26gXr16WvPWrl2LH374Ad999x3rjQyb0ven165d06sgVdqjkY+PD3x9fU3aXim5XI4dO3ZALBZj2LBh8PT0RKdOndCpUyc0adIEy5cvx7Vr1yg4VlLUlINUaunp6bh69Spq1qzJ+k4KKH6i6NChA1QqFX7++Wc7p9A6zp49q1UJKCcnB99++y34fD569+5d7vql7/pWrFih9UQolUqxdOlS7Ny5ExKJBADwf//3f6hevTr2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\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "plt.plot(APPL_df['returns'].to_numpy(), color = 'red', label = 'real price')\n",
+ "#plt.plot(predictions, color = 'blue', label = 'predicted price')\n",
+ "plt.title('APPL predictions')\n",
+ "plt.xlabel('TIME')\n",
+ "plt.ylabel('PRICE')\n",
+ "plt.legend()\n",
+ "plt.show()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1807,
+ "id": "93425a11",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "No artists with labels found to put in legend. Note that artists whose label start with an underscore are ignored when legend() is called with no argument.\n"
+ ]
+ },
+ {
+ "data": {
+ "image/png": "iVBORw0KGgoAAAANSUhEUgAAAbkAAAExCAYAAADht9ydAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/YYfK9AAAACXBIWXMAAAsTAAALEwEAmpwYAAAqOUlEQVR4nO3de1hUdf4H8DcCwyiIOiGp5DVEMEXUDczfCgaiiP7yloLilUVE1gtoYZh5aU2RTfG2P/ISGqK2Wpu0aAV4w1IjFRmURFyoRDQFQgQZBoTfHz4z6zhcZhAPzPH9eh6fx/Od7znz4SPPvD3XMSouLq4BERGRCLVq7gKIiIieF4YcERGJFkOOiIhEiyFHRESixZAjIiLRYsgREZFoMeSoRXrvvffg7OyMefPm1TnH2dlZ64+LiwuGDRuGiRMnYt26dbhz547GOmvWrKl1vaFDh2LUqFFYuHAhzpw5o7HOxYsX4ezsjDVr1jyXn1VoCQkJcHZ2RlxcnHosKCgIzs7OKC4u1nt7FRUV2Ldvn8bYzp074ezsjOPHjz9ruUTPxKS5CyB6WklJCb7//ntIpVKkpaXh119/Rffu3Wuda2FhAV9fX42xiooKXL16FUeOHEFKSgo+++wzvPzyyxpzxowZg86dO6uXq6qqUFBQgKSkJPz4449Yvnw5xo8f3+Q/W0s1duxYDBo0CFKpVO91g4KCkJOTgxkzZqjHBg8eDADo2bNnk9VI1BgMOWpxEhMToVQqERAQgN27dyM+Ph6LFi2qdW7btm0RGBhY62vr16/HV199hV27dmHFihUar40dO1b9QfykcePGITAwEFu2bIGXl1ejPvQN0dixYxu9blFRkdbY4MGDa+0vkdB4uJJanGPHjsHMzAwzZ86ETCbD0aNHUVlZqfd2pk+fDgA4e/aszusMGDAAjo6OKCsrw+XLl/V+TyJqWbgnRy3Kr7/+iitXruCNN96AVCqFh4cHDh8+jNOnT2PEiBF6batjx44AoPd5psauV5eLFy9i/vz5WLZsGQBg//79uHfvHmxsbPD222/j7bffVs/Nz8/H+PHjMXv2bCgUCsTHx8PU1BQhISHqva2TJ0/iwIEDyM7OBgDY29tj5syZGDp0qNZ7nzlzBnv37sWNGzdgbm6OsWPHahymVQkKCsKlS5eQmJiI9u3ba6x/8OBBZGVlwcjICLa2tpg9ezaGDBmirlXF2dkZgwYNwieffIKdO3di9+7dWL9+PTw8PNRzMjMzsWfPHqSlpaG8vBydO3fGyJEjMWPGDLRu3Vo9b82aNTh69CgSExOxa9cunDx5EiUlJejevTv8/Pzg7e2tUX9iYiIOHz6M3NxcKJVKdO/eHaNHj4aPjw+MjY31+NciseGeHLUoR48eBQB4enoCAEaNGgUAiI+P13tbeXl5AABra2tB1mtIfHw8/v73v8Pe3h7jxo1DeXk5IiMjsWnTJq25X3/9NRITEzFhwgQ4OTmhf//+AIDdu3dj2bJl+P333zF69Gj87//+L/Ly8hASEoIvvvhCYxtHjhzBO++8g99++w1eXl5wdnbGoUOHsHPnTp3q3bdvH5YuXYobN25g+PDh8PLyQm5uLhYvXozjx4+jbdu2CAgIgIWFBUxMTBAQEFDvYc9Tp07hL3/5C86ePQtnZ2dMmjQJUqkUu3fvxrx58/Dw4UOtdRYtWoSUlBS8+eab8Pb2xs2bN7F69WqcPn1aPee7777DihUrUFRUBG9vb0yaNAkVFRXYvHkztmzZotPPSuLFPTlqMWpqavDtt9/CzMwMw4cPBwA4OjrCxsYGqampyM/PR5cuXXTaVnV1NXbt2gUAcHd317mGU6dO4dq1a+jYsaM6WJrKtWvXsGbNGowePRoAMG/ePMybNw///Oc/4e3tDXt7e/XcoqIi7Nu3D3369FGPZWZmYteuXXBycsLmzZvRpk0b9XYCAwOxadMmDB06FF26dEFJSQm2bNkCmUyGTz/9VN23GzduYO7cuQ3WmpeXh+joaHTv3h3R0dGwsrICAMyYMQPTpk3Dli1bEB8fj8DAQBw9ehSPHj2q89woAJSWlmLt2rWQSqX4v//7Pzg4OAB4/O+0YcMGfPXVV/jkk0+wZMkSrXX/+c9/qn9WNzc3hIaG4quvvoKbmxuAx3vGrVu3RmxsLMzNzdU98fX1xZEjR7Bw4UKYmpo2+DOTODHkqMW4cOEC7ty5A3d3d1hYWKjHvby88Omnn+Lrr79GUFCQxjoPHjzQ2jMpKSnBTz/9hNzcXHTr1g1z5szReq+EhARcvHhRvVxZWYkbN27g/PnzMDY2xrJly5r8g7Fv377qgAOg3hN677338O2332qEnI2NjUbAAY/37mpqarBw4UL1hz7w+ArT2bNnY8WKFfjmm2/Ue0tlZWWYOXOmxn8MbG1tMWHCBI3bB2qTnJyMqqoq+Pv7qwMOAF5++WWEhobi/v37UCgUGocY65OSkoKSkhLMnj1bHXAA0KpVKyxcuBDHjx9HQkICQkJC0KrVfw8wTZ48WeNnHTJkCIyNjdV72yoVFRW4du2a+mIXqVSKnTt3wtzcnAH3gmPIUYuhOlSpOkSpogq5hIQEzJ07V+McS2lpKXbv3q1eNjIyQps2bWBjY4M5c+bAz88Pbdu2rfO9VCQSCWQyGTw8PDB16lS89tprTfmjAUCtVxuq3icrK0tjvLbzZj///DOAx3ub586d03jtjz/+AAD1ebrr169rbP9Juuyh1rd+Y67EVNU1cOBArdcsLCzQu3dvXLx4Efn5+XjllVfUr3Xr1k1jrrGxMaRSqcaFSJMmTcJHH32E+fPno1evXhgyZAiGDh2KQYMGwcSEH3EvOv4GUItQXl6OkydPAoD6Ao2n3b17F2fPnsWwYcPUY507d27U+bro6GjBL3Gv7RzfSy+9BAAoKyvTGDczM9OaW1paCgBaN14/qaSkRGPuk3tBKpaWlg3WqtqO6vDfs1LVU9f2VHuLCoVCY7y2vTAjIyON5XHjxqFDhw74/PPPkZaWhpycHBw4cAAymQzBwcF46623muJHIAPFkKMW4cSJEygvL4e9vb3G4SyV27dv4/z584iPj9cIOUPy9Ac48N8P/3bt2jW4fuvWrdGqVSucPn261hB8kmrvVbX9J9V2X1tt7wUADx8+VAexSkVFBUxNTTUOKzZEFbYFBQW1vq4KVV36UBtXV1e4urqitLQUFy9exPfff49vv/0Wa9euRY8ePeDo6Nio7ZLhY8hRi6A6fLh48eJa97Du37+PMWPG4IcffsC9e/fUl/kbEtXhxielp6cDAPr169fg+nZ2drh+/TqysrK0PrSzsrLw3XffwcXFBS4uLurze3K5HEOGDNGa2xBbW1ucPn0aV69eRdeuXTVe+8c//oEvvvgCn376aa3/IamN6vzi5cuXtS4EUj2hpl27dpDJZDptT0WpVGLfvn2QSqXw8/ODhYUF3Nzc4ObmBltbW2zcuBGXL19myL3AeAsBNbvff/8dly5dgrW1da3nbIDH/8MfNmwYHj16hH//+98CV9g0Tp8+rXGxS3FxMXbs2AETExN4eXk1uL7qXNjmzZs19tAUCgU2bNiAuLg4lJeXAwD+53/+Bx06dMChQ4eQm5urnnvz5k18+eWXDb7XqFGj0KpVK+zdu1d9vg94/G/1zTffoEOHDurgMjExQVVVFWpqaurcnpubG9q2bYuvvvoKmZmZ6vHq6mps2bIFJSUl8PLy0vueNolEgm+//Ra7du3CrVu3NF7Lz88HUPv5TXpxcE+Omt2xY8dQXV2t/mCty1tvvYXjx4/j66+/rvWKyeft3LlzWld3qtjZ2dV6+fuTWrdujYULF8Ld3R3t2rXD6dOncffuXSxevLjOZ3M+adCgQZg2bRoOHDgAHx8f/PnPf4aZmRlSUlKQn5+PUaNGqS+rb9OmDZYvX4733nsP/v7+cHd3R6tWrXDixAnIZDKtc4BP69GjB+bOnYsdO3bAz88Pw4YNg7GxMZKSklBaWootW7ao/606deqEmzdv4oMPPkD//v3h4+OjtT1zc3OsXLkS4eHhmDt3Ltzc3GBlZYW0tDRkZWXB3t4e8+fPb7AHtVmwYAHCwsIwY8YMuLu7o3379rh+/TrOnz8PBwcHvPnmm43aLokDQ46a3bFjxwBA4/L62ri4uODll19Gfn4+UlNThShNQ1FRkU7ns+oyevRodOnSBYcOHcIff/wBW1tbvPPOO+p7AnUREhICe3t7fPHFF/juu+9gZGSErl27Yvr06Rg/frzGRRlubm74xz/+gd27d+P48eOQSCQYPXo0hg4dipCQkAbf6y9/+Qu6d++OgwcP4ptvvgHw+GrLgIAAjUPKCxYswN/+9jecPHkS165dqzXkVPXs3r0bMTExSE1NRUVFBWxsbDB//nz4+flBIpHo3Ient7tt2zbs27cPP/zwA0pKStCpUyfMnj0bs2bN4hWWLzij4uLiuo8xENEzUz3Wa/LkyXj33XebuxyiF0qznZNTKpXw9fWt93/k169fh7+/P4YNG4aZM2dqHMsnIiJqSLOEXEVFBVasWIGcnJw655SXlyMkJAT9+vVDbGwsnJycEBoa2uC5BCIiIhXBQy4nJwf+/v5aj+V5WlJSEkxMTBASEoKePXsiNDQUFhYWSEpKEqhSIiIydIKH3OXLl+Hi4oKYmJh65125cgWOjo7qK7iMjIzg6OiIjIwMIcokajKDBw9Gamoqz8cRNQPBLzuaOHGiTvMKCgq0LquWyWTqZ+oRERE1pMXeDK5QKLSeWyeRSBr1DdFERPRiarEhZ2ZmphVoSqUSUqm0mSoiIiJD02JDrmPHjigsLNQYKyws1HpYLOlH9ZUn1DD2Sj/sl+7YK+G02JDr168f5HK5+nl4NTU1yMjIaPJvayYiIvFqUSFXUFCg/joSd3d3lJeX4+OPP0ZOTg6ioqJQVlYGT0/PZq6SiIgMRYsKOW9vbyQnJwN4/G3BUVFRkMvlmDlzJuRyOaKioprsSxyJiEj8mvXJpU8/0uvp5b59+9b7LchERET1aVF7ckRERE2JIUdERKLFkCMiItFiyBERkWgx5IiISLQYckREJFoMOSIiEi2GHBERiRZDjoiIRIshR0REosWQIyIi0WLIERGRaDHkiIhItBhyREQkWgw5IiISLYYcERGJFkOOiIhEiyFHRESixZAjIiLRYsgREZFoMeSIiEi0GHJERCRaDDkiIhIthhwREYkWQ46IiESLIUdERKLFkCMiItFiyBERkWgx5IiISLQYckREJFoMOSIiEi2GHBERiRZDjoiIRIshR0REoiV4yCmVSqxbtw4eHh7w8vJCbGxsnXPT0tIwc+ZMuLq6ws/PD+fPnxewUiIiMnSCh9zWrVshl8uxfft2hIeHY8+ePUhMTNSaV1RUhKVLl8LDwwMHDhzAiBEj8O677+L27dtCl0xERAZK0JArLy9HfHw8lixZAgcHB7i5uWH69Ok4fPiw1tz09HQAwKxZs/DKK69gzpw5MDMzw5UrV4QsmYiIDJigIZednQ2lUokBAwaox5ycnJCZmYmqqiqNue3atUNpaSmSk5NRU1ODU6dO4eHDh7C1tRWyZCIiMmAmQr5ZQUEBLC0tYWZmph6TyWSorKxEcXExrKys1OMDBw7E5MmT8f777+ODDz7Ao0eP8P7776Nnz55ClkxERAZM0JBTKBSQSCQaY6plpVKpMV5eXo78/Hz4+/tj+PDh+PHHH7Fp0yb06tUL/fv3F6xmIiIyXIKGnEQi0Qoz1bJUKtUYj4uLQ2VlJebNmwcA6NOnD3JychATE4OoqKhat5+dnf0cqhYf9kl37JV+2C/dsVcN69279zNvQ9CQs7a2xoMHD1BZWQlTU1MAQGFhISQSCSwtLTXmZmZmolevXhpjDg4O+Ne//lXn9puiIWKXnZ3NPumIvdIP+6U79ko4gl54YmdnB1NTU8jlcvVYeno67O3tYWKimbdWVla4ceOGxlhubi5sbGwEqZWIiAyfoCEnlUrh7e2NyMhIXL16FSkpKYiLi4OPjw+AxxemKBQKAMCECROQlpaG2NhY3Lp1C/Hx8UhISMDUqVOFLJmIiAyY4DeDh4aGwsHBAcHBwYiIiEBAQAA8PT0BAN7e3khOTgYAvPbaa/j444+RnJyMadOm4fPPP8eHH36I119/XeiSiYjIQBkVFxfXNHcRJByeC9Ade6Uf9kt37JVw+IBmIiISLYYcERGJFkOOiIhEiyFHRESixZAjIiLRYsgREZFoMeSIiEi0GHJERCRaDDkiIhIthhwREYkWQ46IiESLIUdERKLFkCMiItFiyBERkWgx5IiISLQYckREJFoMOSIiEi2GHBERiRZDjoiIRIshR0REosWQIyIi0WLIERGRaDHkiIhItBhyREQkWgw5IiISLYYcERGJFkOOiIhEiyFHRESixZAjIiLRYsgREZFoMeSIiEi0GHJERCRaDDkiIhIthhwREYkWQ46IiERL8JBTKpVYt24dPDw84OXlhdjY2Drn/vLLL5g/fz6GDRuGSZMm4cSJEwJWSkREhk7wkNu6dSvkcjm2b9+O8PBw7NmzB4mJiVrzHj58iAULFsDa2hr79+/HlClTsGLFCuTk5AhdMhERGShBQ668vBzx8fFYsmQJHBwc4ObmhunTp+Pw4cNac48dOwZjY2N88MEH6NatG3x8fODi4oKMjAwhSyYiIgNmIuSbZWdnQ6lUYsCAAeoxJycnxMTEoKqqCiYm/y3nwoULcHV11RiLiooSslwiIjJwgu7JFRQUwNLSEmZmZuoxmUyGyspKFBcXa8zNy8tDhw4dsGHDBowePRozZszAmTNnhCyXiIgMnKB7cgqFAhKJRGNMtaxUKjXGHz58iLi4OLz99tvYvHkzzp8/j7CwMMTExMDBwaHW7WdnZz+fwkWGfdIde6Uf9kt37FXDevfu/czbqDfk7ty5AysrK41DhrUpLCxESkoKJkyYUO88iUSiFWaqZalUqjFubGyMV199FcHBwQCAPn364PLlyzhy5EidIdcUDRG77Oxs9klH7JV+2C/dsVfCqfdw5fjx45GZmalerqmpQXh4OPLz8zXm5eXlYcOGDQ2+mbW1NR48eIDKykr1WGFhISQSCSwtLTXmWllZoUePHhpj3bt3x507dxp8HyIiIqCBkKupqdFYrq6uxokTJ1BSUtKoN7Ozs4OpqSnkcrl6LD09Hfb29lp7i/3790dWVpbGWG5uLjp37tyo9yYiohePoBeeSKVSeHt7IzIyElevXkVKSgri4uLg4+MD4PGFKQqFAgAwceJE/Pbbb9i2bRvy8vJw8OBBpKamNnhIlIiISEXwm8FDQ0Ph4OCA4OBgREREICAgAJ6engAAb29vJCcnAwA6deqEbdu24eLFi/D19cWRI0ewYcMG9OnTR+iSiYjIQAl6dSXweG9u9erVWL16tdZrqampGsv9+/fH3r17hSmMiIhEhw9oJiIi0WpwT666uhrV1dXqvz89BgCPHj16TuURERE1XoMhFxQUpDXm7+//XIohIiJqSvWGXEBAgFB1EBERNbl6Q27u3LlC1UFERNTkdLrwpKamptYbwM+dO6dxbo6IiKglaTDk5HI5Jk2ahIMHD2qMFxYWIiQkBBMmTNB6MgkREVFLUG/I/frrr1i8eDGMjIzw2muvabzWtm1brFy5EsbGxggKCtJ6niUREVFzqzfkPvvsM1hbW+Ozzz7Dn//8Z43XJBIJxowZgz179sDS0pI3bRMRUYtTb8hdunQJU6dOhYWFRZ1z2rVrh6lTp+LixYtNXhwREdGzqDfkCgsLYWNj0+BGevXqhbt37zZZUURERE2h3pCTyWS4d+9egxspKipC+/btm6omIiKiJlFvyA0ePBj//ve/G9zI0aNH+e0ARETU4tQbclOmTEF6ejo2btyIiooKrdeVSiU2bdqEn376CZMnT35uRRIRETVGvU88sbe3xzvvvIO///3vSExMxOuvv44uXbrg0aNHuH37Ni5evIj79+8jKCgILi4uQtVMRESkkwYf0Dxx4kT07t0b+/btQ0pKinqPrk2bNhgyZAj8/PzQr1+/514oERGRvnT60tT+/fsjMjISAFBcXAxjY2O0bdv2uRZGRET0rPT+ZnBeRUlERIai3pDbsWOHzhsyMjJCYGDgMxdERETUVOoNuZiYGJ03xJAjIqKWpt6Q+/HHH4Wqg4iIqMnp9H1yREREhkinkFMoFFAoFHW+npGRgVmzZjVZUURERE2h3sOVCoUCH330EZKTkwEAb775JlauXAmpVAoA+OOPP7B9+3YcO3YMRkZGz79aIiIiPdS7J7djxw4kJibCw8MDb731Fs6cOYOdO3cCAE6cOIEpU6YgISEB/fr14/fJERFRi1PvnlxKSgqmTJmCpUuXAgAcHBywa9cu9OrVC2vXrkX79u2xcuVKjBkzRpBiiYiI9FHvnty9e/fg7OysXnZ1dUVBQQEiIyPh4eGBQ4cOMeCIiKjFqndPrqKiAu3atVMvW1paAnh8bm7NmjXPtzIiIqJnpNctBKqLSyZOnPhciiEiImpKjbpPzszMrKnrICIianINPqC5uroa1dXV6r8/PfakVq14bzkREbUcDYZcUFCQ1pi/v7/WmJGREc6dO9c0VRERETWBekMuICBAqDqIiIiaXL0hN3fuXADA1atXcfv2bXTt2hV9+vQRpDAiIqJnVW/IlZSUYOnSpcjIyFCPOTo6Yu3atbC2tn7uxRERET2Leq8U+eSTT3Dt2jXMnTsXUVFRWLx4MX755ResX7++0W+oVCqxbt06eHh4wMvLC7GxsQ2uc//+fXh5eSEhIaHR70tERC+eevfkzp49i6CgIPj5+QEA3njjDVhbW2PFihVQKBTqBzXrY+vWrZDL5di+fTvu3r2L1atXo1OnThg5cmSd62zatAlFRUV6vxcREb3Y6t2TKygogL29vcbYoEGDUF1djdu3b+v9ZuXl5YiPj8eSJUvg4OAANzc3TJ8+HYcPH65znbNnzyIzMxMdOnTQ+/2IiOjFVm/IVVZWwtTUVGNM9WgvpVKp95tlZ2dDqVRiwIAB6jEnJydkZmaiqqpKa35ZWRkiIiIQHh6uVQcREVFDGn33dk1Njd7rFBQUwNLSUuOJKTKZDJWVlSguLtaav23bNrzxxhsYNGhQY8skIqIXWIM3g9elMV+SqlAoIJFINMZUy0/vGV66dAnff/89Pv/8c523n52drXdNLyL2SXfslX7YL92xVw3r3bv3M2+jwZDbsGEDzM3NtcbXrl2L1q1bq5eNjIywY8eOerclkUi0wky1/ORFLKpvJF+6dCksLCwaKlGtKRoidtnZ2eyTjtgr/bBfumOvhFNvyA0cOLDWPbbGHj60trbGgwcPNM71FRYWQiKRqM/1AUBmZiZu3ryJ1atXY/Xq1QAeB19ERAQyMjIQHh7eqPcnIqIXS70h98knnzTpm9nZ2cHU1BRyuRyDBw8GAKSnp8Pe3h4mJv8tpW/fvvjyyy811g0MDMTUqVMxduzYJq2JiIjEq9Hn5BpDKpXC29sbkZGRWLlyJQoLCxEXF4fly5cDeHxhioWFBaRSKbp27aqxrrGxMWQyGWQymZAlExGRARP8u3FCQ0Ph4OCA4OBgREREICAgAJ6engAAb29vJCcnC10SERGJlFFxcbH+9wKQweIJb92xV/phv3THXgmH33JKRESixZAjIiLRYsgREZFoMeSIiEi0GHJERCRaDDkiIhIthhwREYkWQ46IiESLIUdERKLFkCMiItFiyBERkWgx5IiISLQYckREJFoMOSIiEi2GHBERiRZDjoiIRIshR0REosWQIyIi0WLIERGRaDHkiIhItBhyREQkWgw5IiISLYYcERGJFkOOiIhEiyFHRESixZAjIiLRYsgREZFoMeSIiEi0GHJERCRaDDkiIhIthhwREYkWQ46IiESLIUdERKLFkCMiItESPOSUSiXWrVsHDw8PeHl5ITY2ts65SUlJ8PX1haurK6ZNm4YzZ84IWCkRERk6wUNu69atkMvl2L59O8LDw7Fnzx4kJiZqzUtLS8OqVavg6+uL/fv3Y9y4cQgLC0NWVpbQJRMRkYESNOTKy8sRHx+PJUuWwMHBAW5ubpg+fToOHz6sNffo0aNwd3fH+PHj0bVrV/j4+OBPf/oTkpKShCyZiIgMmImQb5adnQ2lUokBAwaox5ycnBATE4OqqiqYmPy3nClTpmgsqyiVSkFqJSIiwyfonlxBQQEsLS1hZmamHpPJZKisrERxcbHGXDs7O/Tq1Uu9/J///AcXLlzAwIEDhSqXiIgMnKAhp1AoIJFINMZUy/XtoRUVFSEsLAxOTk5wc3N7rjUSEZF4CHq4UiKRaIWZalkqlda6zu+//45FixbB2NgY69evR6tWdedydnZ20xUrYuyT7tgr/bBfumOvGta7d+9n3oagIWdtbY0HDx6gsrISpqamAIDCwkJIJBJYWlpqzb916xaCg4MhlUoRHR2N9u3b17v9pmiI2GVnZ7NPOmKv9MN+6Y69Eo6ghyvt7OxgamoKuVyuHktPT4e9vb3WRSb379/HggULYGFhgR07duCll14SslQiIhIBQUNOKpXC29sbkZGRuHr1KlJSUhAXFwcfHx8Ajy9MUSgUAIDo6GgUFxdj1apVqKqqQkFBAQoKClBaWipkyUREZMAEPVwJAKGhoYiIiEBwcDDMzc0REBAAT09PAIC3tzdWrlyJsWPH4vjx4ygrK8P06dM11vfy8sKHH34odNlERGSAjIqLi2uauwgSDs8F6I690g/7pTv2Sjh8QDMREYkWQ46IiESLIUdERKLFkCMiItFiyBERkWgx5IiISLQYckREJFoMOSIiEi2GHBERiRZDjoiIRIshR0REosWQIyIi0WLIERGRaDHkiIhItBhyREQkWgw5IiISLYYcERGJFkOOiIhEiyFHRESixZAjIiLRYsgREZFoMeSIiEi0GHJERCRaDDkiIhIthhwREYkWQ46IiESLIUdERKLFkCMiItFiyBERkWgx5IiISLQYckREJFoMOSIiEi2GHBERiRZDjoiIRIshR0REoiV4yCmVSqxbtw4eHh7w8vJCbGxsnXOvX78Of39/DBs2DDNnzkRmZqaAlRIRkaETPOS2bt0KuVyO7du3Izw8HHv27EFiYqLWvPLycoSEhKBfv36IjY2Fk5MTQkNDUVZWJnTJRERkoAQNufLycsTHx2PJkiVwcHCAm5sbpk+fjsOHD2vNTUpKgomJCUJCQtCzZ0+EhobCwsICSUlJQpZMREQGTNCQy87OhlKpxIABA9RjTk5OyMzMRFVVlcbcK1euwNHREa1aPS7RyMgIjo6OyMjIELJkIiIyYIKGXEFBASwtLWFmZqYek8lkqKysRHFxsdbcjh07aozJZDLcvXtXiFJFq3fv3s1dgsFgr/TDfumOvRKOoCGnUCggkUg0xlTLSqVSa66pqanW3MrKyudbJBERiYagISeRSLTCTLUslUo1xs3MzLQCTalUas0jIiKqi6AhZ21tjQcPHmiEV2FhISQSCSwtLTXmduzYEYWFhRpjhYWFeOmllwSplYiIDJ+gIWdnZwdTU1PI5XL1WHp6Ouzt7WFiYqIxt1+/fpDL5aipqQEA1NTUICMjA/379xeyZCIiMmCChpxUKoW3tzciIyNx9epVpKSkIC4uDj4+PgAeX2yiUCgAAO7u7igvL8fHH3+MrKwsTJs2DXl5eYiOjuYN5PXQ52b7pKQk+Pr6wtXVFdOmTcOZM2cErLT56dMrlfv378PLywsJCQkCVNiy6NOvX375BfPnz8ewYcMwadIknDhxQsBKm58+vUpLS8PMmTPh6uoKPz8/nD9/XsBKWw6lUglfX1+kpqbWOacxn++C3wweGhoKBwcHBAcHIyIiAgEBAfD09AQAeHt7Izk5GQBgYWGBqKgoyOVyzJo1C3l5eVi1ahWWL1/OG8jroevN9mlpaVi1ahV8fX2xf/9+jBs3DmFhYcjKymqGqpuHrr160qZNm1BUVCRQhS2Lrv16+PAhFixYAGtra+zfvx9TpkzBihUrkJOT0wxVNw9de1VUVISlS5fCw8MDBw4cwIgRI/Duu+/i9u3bzVB186moqGjwd6Sxn++Ch5xUKsXq1atx+vRpHDt2DH5+furXUlNTMXbsWPVy3759sXPnTpiammLjxo3w9vbmDeT10Odm+6NHj8Ld3R3jx49H165d4ePjgz/96U/sVS29Ujl79iwyMzPRoUMHASttGfTp17Fjx2BsbIwPPvgA3bp1g4+PD1xcXF6Ye1z16VV6ejoAYNasWXjllVcwZ84cmJmZ4cqVK0KX3WxycnLg7++PvLy8euc19vO9xT+gmTeQ606fXk2ZMgX+/v5a23j66lex0qdXAFBWVoaIiAiEh4dr3dryItCnXxcuXICrq6vGefaoqCiMGzdOsHqbkz69ateuHUpLS5GcnIyamhqcOnUKDx8+hK2trdBlN5vLly/DxcUFMTEx9c5r7Od7iw853kCuO316ZWdnh169eqmX//Of/+DChQsYOHCgUOU2K316BQDbtm3DG2+8gUGDBglYZcuhT7/y8vLQoUMHbNiwAaNHj8aMGTNeqPO9+vRq4MCBmDx5Mt5//30MHToUYWFhWLZsGXr27Clw1c1n4sSJWLRoUYO3hzX2873FhxxvINedPr16UlFREcLCwuDk5AQ3N7fnWmNLoU+vLl26hO+//x4LFy4UrL6WRp9+PXz4EHFxcWjbti02b96MESNGICwsDD///LNg9TYnfXpVXl6O/Px8+Pv7Y+/evViwYAE2bdr0whx90kdjP99N6n21BeAN5LrTp1cqv//+OxYtWgRjY2OsX79efShA7HTtlUKhwEcffYSlS5fCwsJC0BpbEn1+t4yNjfHqq68iODgYANCnTx9cvnwZR44cgYODgzAFNyN9ehUXF4fKykrMmzcPwONe5eTkICYmBlFRUcIUbCAa+/ne4j/ReAO57vTpFQDcunULgYGBAIDo6Gi0b99eqFKbna69yszMxM2bN7F69Wq4ubnBzc0N9+7dQ0REBNavX98cpTcLfX63rKys0KNHD42x7t27486dO0KU2uz06VVmZqbGaQMAcHBwQH5+viC1GpLGfr63+JDjDeS606dX9+/fx4IFC2BhYYEdO3a8MP8RUNG1V3379sWXX36JuLg49R+ZTIbAwED1/75fBPr8bvXv31/rVpTc3Fx07txZkFqbmz69srKywo0bNzTGcnNzYWNjI0ithqSxn+8tPuQaewN5Tk4OoqKiUFZWpr4PT+z06VV0dDSKi4uxatUqVFVVoaCgAAUFBSgtLW3OH0EwuvZKKpWia9euGn+MjY0hk8kgk8ma+acQjj6/WxMnTsRvv/2Gbdu2IS8vDwcPHkRqaiomTJjQnD+CYPTp1YQJE5CWlobY2FjcunUL8fHxSEhIwNSpU5vzR2gxmuLz3ai4uLhGiGKfhUKhQEREBE6ePAlzc3P4+fmp769zdnbGypUr1ffXZWZmYv369cjNzYWtrS2WLVv2QpwHUNG1V56enrh//77W+l5eXvjwww+FLrtZ6PN79aSxY8ciKCio1tfETJ9+ZWRkYOPGjbhx4wZsbGzw17/+Fa6urs1ZvqD06dUPP/yAHTt24Ndff0WXLl0wd+5cuLu7N2f5zcbZ2Rnbt2+Hs7OzevlZP98NIuSIiIgao8UfriQiImoshhwREYkWQ46IiESLIUdERKLFkCMiItFiyBERkWi1+GdXEhm6NWvW4OjRo/XO6dy5M6KjozF+/HgsX74c48ePBwCMGzcOt2/fxvDhwxEZGVnrusuWLcPJkycxZswYrFq1CgAQFBSES5cu1ft+8fHxjfuBiAwIQ47oOZszZ47Gd6nt3bsXP//8MzZs2KAee/qp9U9q1aoVzp07h7KyMpibm2u8VlpairNnz9a6nq2tLcLCwmp9rb73IxIThhzRc9atWzd069ZNvdyhQweYmprCyclJY15dD+V1dHREeno6zpw5Ay8vL43XTp06BQsLi1q/IcHc3FzrPYheNDwnR9TCderUCf369UNycrLWa4mJiRgxYgSMjY2boTKilo8hR2QARo4cifPnz2s8QPuPP/7ATz/9hFGjRtW5XlVVVa1/VE9yJxI7hhyRAfDw8EBVVRVSUlLUY8nJyeq9vNqkp6dj6NChtf45fPiwUKUTNSuekyMyAFZWVhg4cCCSk5Ph7e0N4PGhypEjR9a5Tu/evfH+++/X+tqL8t1uRAw5IgPh6emJjRs3orS0FKWlpZDL5QgPD69zfps2bdC3b18BKyRqeXi4kshAuLu7o7q6GqdOnUJSUhJeffVV9OrVq7nLImrRuCdHZCDat2+P119/HSdOnEBhYWG9F5wQ0WMMOSIDMnLkSKxbtw6PHj1CREREvXPLyspw+fLlOl+3t7eHVCpt4gqJWhaGHJEBGT58OCIiIvDaa681ePHIjRs3EBgYWOfrhw4dQo8ePZq4QqKWxai4uJg3zBARkSjxwhMiIhIthhwREYkWQ46IiESLIUdERKLFkCMiItFiyBERkWgx5IiISLQYckREJFoMOSIiEq3/B+WBr35xo4zqAAAAAElFTkSuQmCC\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "#plt.plot(APPL_df['returns'].to_numpy(), color = 'red', label = 'real price')\n",
+ "#plt.plot(predictions.flatten(), color = 'blue', label = 'predicted price')\n",
+ "plt.title('APPL predictions')\n",
+ "plt.xlabel('TIME')\n",
+ "plt.ylabel('PRICE')\n",
+ "plt.legend()\n",
+ "plt.show()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "87ad91d3",
+ "metadata": {},
+ "outputs": [],
+ "source": []
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3 (ipykernel)",
+ "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.12"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 5
+}
From ecd07fb1e6d51668d1c8938ec193eecfbf8786ac Mon Sep 17 00:00:00 2001
From: Michael <99460271+PastaSauce0@users.noreply.github.com>
Date: Mon, 8 Aug 2022 17:23:34 -0500
Subject: [PATCH 3/3] mae loss: 2
---
SAmodel_basic_prices.ipynb | 4069 ++++++++++++++++++++++++++++++++++++
1 file changed, 4069 insertions(+)
create mode 100644 SAmodel_basic_prices.ipynb
diff --git a/SAmodel_basic_prices.ipynb b/SAmodel_basic_prices.ipynb
new file mode 100644
index 0000000..7677fe8
--- /dev/null
+++ b/SAmodel_basic_prices.ipynb
@@ -0,0 +1,4069 @@
+{
+ "cells": [
+ {
+ "cell_type": "code",
+ "execution_count": 3120,
+ "id": "02d5c824",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "#michael is sus\n",
+ "import numpy as np\n",
+ "import pandas as pd\n",
+ "import matplotlib.pyplot as plt\n",
+ "import seaborn as sns\n",
+ "from scipy import stats as stat"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3121,
+ "id": "739f5bb1",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "company_tweet = pd.read_csv('Data/Tweets/Company_Tweet.csv')\n",
+ "tweet = pd.read_csv('Data/Tweets/Tweet.csv')\n",
+ "company = pd.read_csv('Data/Tweets/Company.csv')\n",
+ "company_value = pd.read_csv('Data/CompanyStocks/CompanyValues.csv')"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3122,
+ "id": "44331cca",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "tweet = tweet.dropna()\n",
+ "#merge company tweets and tweets on id\n",
+ "tweet_df = pd.merge(company_tweet , tweet , on=\"tweet_id\", how= \"inner\")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3123,
+ "id": "e2db79a1",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "tweet count: 485118\n"
+ ]
+ }
+ ],
+ "source": [
+ "#create variable 'total_engagement'\n",
+ "tweet_df[\"total_engangement\"] = tweet_df[\"comment_num\"] + tweet_df[\"retweet_num\"] + tweet_df[\"like_num\"]\n",
+ "#remove tweets below certain engagement\n",
+ "engagement_threshold = 40\n",
+ "tweet_df = tweet_df[tweet_df[\"total_engangement\"] > engagement_threshold]\n",
+ "tweet_df.head()\n",
+ "print('tweet count: ', tweet_df.size)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3124,
+ "id": "a2d24286",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "#convert original time on tweet_df to date time\n",
+ "tweet_df['post_date'] = pd.to_datetime(tweet_df['post_date'], unit='s')\n",
+ "tweet_df['day_date'] = pd.to_datetime(tweet_df['post_date'].apply(lambda date: date.date()))"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3125,
+ "id": "b7d9b90f",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "#order chronilogically\n",
+ "tweet_df = tweet_df.sort_values(by=\"day_date\")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3126,
+ "id": "b5663fea",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " ticker_symbol | \n",
+ " day_date | \n",
+ " close_value | \n",
+ " volume | \n",
+ " open_value | \n",
+ " high_value | \n",
+ " low_value | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 14181 | \n",
+ " MSFT | \n",
+ " 2017-07-08 | \n",
+ " 69.46 | \n",
+ " 15910410 | \n",
+ " 68.70 | \n",
+ " 69.84 | \n",
+ " 68.7000 | \n",
+ "
\n",
+ " \n",
+ " | 15505 | \n",
+ " TSLA | \n",
+ " 2016-04-08 | \n",
+ " 250.07 | \n",
+ " 7352707 | \n",
+ " 260.50 | \n",
+ " 260.82 | \n",
+ " 248.0201 | \n",
+ "
\n",
+ " \n",
+ " | 6893 | \n",
+ " GOOGL | \n",
+ " 2017-07-14 | \n",
+ " 976.91 | \n",
+ " 1071565 | \n",
+ " 974.00 | \n",
+ " 977.54 | \n",
+ " 970.1500 | \n",
+ "
\n",
+ " \n",
+ " | 17492 | \n",
+ " TSLA | \n",
+ " 2019-09-07 | \n",
+ " 227.45 | \n",
+ " 4189372 | \n",
+ " 227.20 | \n",
+ " 229.64 | \n",
+ " 225.1700 | \n",
+ "
\n",
+ " \n",
+ " | 13018 | \n",
+ " MSFT | \n",
+ " 2013-11-20 | \n",
+ " 37.08 | \n",
+ " 32229950 | \n",
+ " 36.92 | \n",
+ " 37.41 | \n",
+ " 36.8600 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " ticker_symbol day_date close_value volume open_value high_value \\\n",
+ "14181 MSFT 2017-07-08 69.46 15910410 68.70 69.84 \n",
+ "15505 TSLA 2016-04-08 250.07 7352707 260.50 260.82 \n",
+ "6893 GOOGL 2017-07-14 976.91 1071565 974.00 977.54 \n",
+ "17492 TSLA 2019-09-07 227.45 4189372 227.20 229.64 \n",
+ "13018 MSFT 2013-11-20 37.08 32229950 36.92 37.41 \n",
+ "\n",
+ " low_value \n",
+ "14181 68.7000 \n",
+ "15505 248.0201 \n",
+ "6893 970.1500 \n",
+ "17492 225.1700 \n",
+ "13018 36.8600 "
+ ]
+ },
+ "execution_count": 3126,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "#convert time value on company stock data to date time\n",
+ "stock_df = company_value\n",
+ "stock_df['day_date'] = pd.to_datetime(stock_df['day_date'])\n",
+ "stock_df.sample(5)\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3127,
+ "id": "54424f6d",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "#drop un-needed features\n",
+ "tweet_df = tweet_df.drop(['tweet_id', 'post_date', 'comment_num', 'retweet_num', 'like_num'], axis=1)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3128,
+ "id": "6c34fc0b",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Start day: 2015-01-01 00:00:00\n",
+ "End day: 2019-12-31 00:00:00\n"
+ ]
+ }
+ ],
+ "source": [
+ "#remove any stock data that is outside of the tweet data\n",
+ "start_day = min(tweet_df['day_date'])\n",
+ "print(f\"Start day: {start_day}\")\n",
+ "\n",
+ "end_day = max(tweet_df['day_date'])\n",
+ "print(f\"End day: {end_day}\")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3129,
+ "id": "cead02c6",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "stock_df = stock_df[(stock_df['day_date'] >= start_day) & (stock_df['day_date'] <= end_day)]"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3130,
+ "id": "d12c51e9",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " ticker_symbol | \n",
+ " day_date | \n",
+ " close_value | \n",
+ " volume | \n",
+ " open_value | \n",
+ " high_value | \n",
+ " low_value | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 2517 | \n",
+ " AAPL | \n",
+ " 2015-01-01 | \n",
+ " 110.38 | \n",
+ " 41304780 | \n",
+ " 112.82 | \n",
+ " 113.13 | \n",
+ " 110.21 | \n",
+ "
\n",
+ " \n",
+ " | 10810 | \n",
+ " GOOG | \n",
+ " 2015-01-01 | \n",
+ " 526.40 | \n",
+ " 1367110 | \n",
+ " 531.25 | \n",
+ " 532.60 | \n",
+ " 525.80 | \n",
+ "
\n",
+ " \n",
+ " | 8687 | \n",
+ " GOOGL | \n",
+ " 2015-01-01 | \n",
+ " 530.66 | \n",
+ " 1235889 | \n",
+ " 537.74 | \n",
+ " 538.40 | \n",
+ " 530.20 | \n",
+ "
\n",
+ " \n",
+ " | 16960 | \n",
+ " TSLA | \n",
+ " 2015-01-01 | \n",
+ " 222.41 | \n",
+ " 2392947 | \n",
+ " 223.09 | \n",
+ " 225.68 | \n",
+ " 222.25 | \n",
+ "
\n",
+ " \n",
+ " | 5602 | \n",
+ " AMZN | \n",
+ " 2015-01-01 | \n",
+ " 310.35 | \n",
+ " 2048676 | \n",
+ " 311.55 | \n",
+ " 312.98 | \n",
+ " 310.01 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " ticker_symbol day_date close_value volume open_value high_value \\\n",
+ "2517 AAPL 2015-01-01 110.38 41304780 112.82 113.13 \n",
+ "10810 GOOG 2015-01-01 526.40 1367110 531.25 532.60 \n",
+ "8687 GOOGL 2015-01-01 530.66 1235889 537.74 538.40 \n",
+ "16960 TSLA 2015-01-01 222.41 2392947 223.09 225.68 \n",
+ "5602 AMZN 2015-01-01 310.35 2048676 311.55 312.98 \n",
+ "\n",
+ " low_value \n",
+ "2517 110.21 \n",
+ "10810 525.80 \n",
+ "8687 530.20 \n",
+ "16960 222.25 \n",
+ "5602 310.01 "
+ ]
+ },
+ "execution_count": 3130,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "#sort stock data chronilogically\n",
+ "stock_df = stock_df.sort_values(by=\"day_date\")\n",
+ "stock_df.head()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3131,
+ "id": "c3a20efb",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " ticker_symbol | \n",
+ " writer | \n",
+ " body | \n",
+ " total_engangement | \n",
+ " day_date | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 40 | \n",
+ " AAPL | \n",
+ " CNBC | \n",
+ " This is Wall Street's top pick in 2015. Hint: ... | \n",
+ " 64 | \n",
+ " 2015-01-01 | \n",
+ "
\n",
+ " \n",
+ " | 47 | \n",
+ " AAPL | \n",
+ " WSJ | \n",
+ " See how tech companies like Apple, Twitter and... | \n",
+ " 347 | \n",
+ " 2015-01-01 | \n",
+ "
\n",
+ " \n",
+ " | 239 | \n",
+ " AAPL | \n",
+ " greatspoke | \n",
+ " Top Stock Analyst Releases Report on Top Stock... | \n",
+ " 433 | \n",
+ " 2015-01-01 | \n",
+ "
\n",
+ " \n",
+ " | 240 | \n",
+ " AAPL | \n",
+ " greatspoke | \n",
+ " Analyst Report on Top Stock Market Options for... | \n",
+ " 433 | \n",
+ " 2015-01-01 | \n",
+ "
\n",
+ " \n",
+ " | 241 | \n",
+ " AMZN | \n",
+ " greatspoke | \n",
+ " Analyst Report on Top Stock Market Options for... | \n",
+ " 433 | \n",
+ " 2015-01-01 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " ticker_symbol writer \\\n",
+ "40 AAPL CNBC \n",
+ "47 AAPL WSJ \n",
+ "239 AAPL greatspoke \n",
+ "240 AAPL greatspoke \n",
+ "241 AMZN greatspoke \n",
+ "\n",
+ " body total_engangement \\\n",
+ "40 This is Wall Street's top pick in 2015. Hint: ... 64 \n",
+ "47 See how tech companies like Apple, Twitter and... 347 \n",
+ "239 Top Stock Analyst Releases Report on Top Stock... 433 \n",
+ "240 Analyst Report on Top Stock Market Options for... 433 \n",
+ "241 Analyst Report on Top Stock Market Options for... 433 \n",
+ "\n",
+ " day_date \n",
+ "40 2015-01-01 \n",
+ "47 2015-01-01 \n",
+ "239 2015-01-01 \n",
+ "240 2015-01-01 \n",
+ "241 2015-01-01 "
+ ]
+ },
+ "execution_count": 3131,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "tweet_df.head()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3132,
+ "id": "a5de8780",
+ "metadata": {
+ "scrolled": true
+ },
+ "outputs": [],
+ "source": [
+ "\n",
+ "\n",
+ "APPL_df = stock_df.loc[stock_df['ticker_symbol'] == 'AAPL']\n",
+ "\n",
+ "GOOG_df = stock_df.loc[stock_df['ticker_symbol'] == 'GOOG']\n",
+ "GOOGL_df = stock_df.loc[stock_df['ticker_symbol'] == 'GOOGL']\n",
+ "\n",
+ "TSLA_df = stock_df.loc[stock_df['ticker_symbol'] == 'TSLA']\n",
+ "AMZN_df = stock_df.loc[stock_df['ticker_symbol'] == 'AMZN']\n",
+ "MSFT_df = stock_df.loc[stock_df['ticker_symbol'] == 'MSFT']"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3133,
+ "id": "95202d0f",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " ticker_symbol | \n",
+ " day_date | \n",
+ " close_value | \n",
+ " volume | \n",
+ " open_value | \n",
+ " high_value | \n",
+ " low_value | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 8687 | \n",
+ " GOOGL | \n",
+ " 2015-01-01 | \n",
+ " 530.66 | \n",
+ " 1235889 | \n",
+ " 537.74 | \n",
+ " 538.4000 | \n",
+ " 530.20 | \n",
+ "
\n",
+ " \n",
+ " | 7530 | \n",
+ " GOOGL | \n",
+ " 2015-01-02 | \n",
+ " 529.55 | \n",
+ " 1325271 | \n",
+ " 532.60 | \n",
+ " 535.8000 | \n",
+ " 527.88 | \n",
+ "
\n",
+ " \n",
+ " | 8688 | \n",
+ " GOOGL | \n",
+ " 2015-01-03 | \n",
+ " 529.55 | \n",
+ " 1325271 | \n",
+ " 532.60 | \n",
+ " 535.8000 | \n",
+ " 527.88 | \n",
+ "
\n",
+ " \n",
+ " | 8689 | \n",
+ " GOOGL | \n",
+ " 2015-01-04 | \n",
+ " 529.55 | \n",
+ " 1325271 | \n",
+ " 532.60 | \n",
+ " 535.8000 | \n",
+ " 527.88 | \n",
+ "
\n",
+ " \n",
+ " | 7529 | \n",
+ " GOOGL | \n",
+ " 2015-01-05 | \n",
+ " 519.46 | \n",
+ " 2054120 | \n",
+ " 527.15 | \n",
+ " 527.9899 | \n",
+ " 517.75 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " ticker_symbol day_date close_value volume open_value high_value \\\n",
+ "8687 GOOGL 2015-01-01 530.66 1235889 537.74 538.4000 \n",
+ "7530 GOOGL 2015-01-02 529.55 1325271 532.60 535.8000 \n",
+ "8688 GOOGL 2015-01-03 529.55 1325271 532.60 535.8000 \n",
+ "8689 GOOGL 2015-01-04 529.55 1325271 532.60 535.8000 \n",
+ "7529 GOOGL 2015-01-05 519.46 2054120 527.15 527.9899 \n",
+ "\n",
+ " low_value \n",
+ "8687 530.20 \n",
+ "7530 527.88 \n",
+ "8688 527.88 \n",
+ "8689 527.88 \n",
+ "7529 517.75 "
+ ]
+ },
+ "execution_count": 3133,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "#there are two types of google stocks, one has voting power in the company while the other doesnt\n",
+ "GOOGL_df.head()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3134,
+ "id": "35df177f",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "APPL_tweet = tweet_df.loc[tweet_df['ticker_symbol'] == 'AAPL']"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3135,
+ "id": "d50e68eb",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Requirement already satisfied: nltk in c:\\anaconda\\envs\\tensorflow-session\\lib\\site-packages (3.7)\n",
+ "Requirement already satisfied: joblib in c:\\anaconda\\envs\\tensorflow-session\\lib\\site-packages (from nltk) (1.1.0)\n",
+ "Requirement already satisfied: tqdm in c:\\anaconda\\envs\\tensorflow-session\\lib\\site-packages (from nltk) (4.64.0)\n",
+ "Requirement already satisfied: click in c:\\anaconda\\envs\\tensorflow-session\\lib\\site-packages (from nltk) (8.0.3)\n",
+ "Requirement already satisfied: regex>=2021.8.3 in c:\\anaconda\\envs\\tensorflow-session\\lib\\site-packages (from nltk) (2022.6.2)\n",
+ "Requirement already satisfied: colorama in c:\\anaconda\\envs\\tensorflow-session\\lib\\site-packages (from click->nltk) (0.4.4)\n",
+ "Note: you may need to restart the kernel to use updated packages.\n"
+ ]
+ }
+ ],
+ "source": [
+ "pip install nltk"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3136,
+ "id": "ff638169",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "import nltk \n",
+ "# from nltk.corpus import twitter_samples \n",
+ "# from nltk.corpus import stopwords \n",
+ "# from nltk.stem import PorterStemmer\n",
+ "# from nltk.tokenize import TweetTokenizer \n",
+ "\n",
+ "import random \n",
+ "import re \n",
+ "import string\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3137,
+ "id": "1e71d34b",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "def remove_special_character(tweet):\n",
+ "# print(tweet)\n",
+ " # remove the old style retweet text \"RT\"\n",
+ " tweet = re.sub(r'^RT[\\s]+', '', tweet)\n",
+ "\n",
+ " # remove hyperlinks\n",
+ " tweet = re.sub(r'https?:\\/\\/.*[\\r\\n]*', '', tweet)\n",
+ "\n",
+ " # remove hashtags. only removing the hash # sign from the word\n",
+ " tweet = re.sub(r'#', '', tweet)\n",
+ "\n",
+ " # remove single numeric terms in the tweet. \n",
+ " tweet = re.sub(r'[0-9]', '', tweet)\n",
+ " \n",
+ " return tweet"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3138,
+ "id": "9eaa0f2b",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " ticker_symbol | \n",
+ " writer | \n",
+ " body | \n",
+ " total_engangement | \n",
+ " day_date | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 1705767 | \n",
+ " TSLA | \n",
+ " ValueAnalyst1 | \n",
+ " $tsla pt lowered to $ from $ at ubs on ive lea... | \n",
+ " 109 | \n",
+ " 2019-06-28 | \n",
+ "
\n",
+ " \n",
+ " | 3767235 | \n",
+ " TSLA | \n",
+ " OMillionaires | \n",
+ " implied move on $tsla next week -> | \n",
+ " 68 | \n",
+ " 2018-07-27 | \n",
+ "
\n",
+ " \n",
+ " | 4156736 | \n",
+ " TSLA | \n",
+ " TESLAcharts | \n",
+ " why won’t anybody team up with $tsla? | \n",
+ " 68 | \n",
+ " 2019-07-19 | \n",
+ "
\n",
+ " \n",
+ " | 3324118 | \n",
+ " MSFT | \n",
+ " TheVoz4Real | \n",
+ " the banks will commence earnings season | \n",
+ " 53 | \n",
+ " 2019-07-15 | \n",
+ "
\n",
+ " \n",
+ " | 1317190 | \n",
+ " AAPL | \n",
+ " JeffMacke | \n",
+ " the buyback is big enough to buy % of jeff bez... | \n",
+ " 92 | \n",
+ " 2018-05-01 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " ticker_symbol writer \\\n",
+ "1705767 TSLA ValueAnalyst1 \n",
+ "3767235 TSLA OMillionaires \n",
+ "4156736 TSLA TESLAcharts \n",
+ "3324118 MSFT TheVoz4Real \n",
+ "1317190 AAPL JeffMacke \n",
+ "\n",
+ " body total_engangement \\\n",
+ "1705767 $tsla pt lowered to $ from $ at ubs on ive lea... 109 \n",
+ "3767235 implied move on $tsla next week -> 68 \n",
+ "4156736 why won’t anybody team up with $tsla? 68 \n",
+ "3324118 the banks will commence earnings season 53 \n",
+ "1317190 the buyback is big enough to buy % of jeff bez... 92 \n",
+ "\n",
+ " day_date \n",
+ "1705767 2019-06-28 \n",
+ "3767235 2018-07-27 \n",
+ "4156736 2019-07-19 \n",
+ "3324118 2019-07-15 \n",
+ "1317190 2018-05-01 "
+ ]
+ },
+ "execution_count": 3138,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "tweet_df[\"body\"] = tweet_df[\"body\"].apply(lambda tweet: remove_special_character(tweet))\n",
+ "tweet_df[\"body\"] = tweet_df[\"body\"].str.lower()\n",
+ "tweet_df.sample(5)\n",
+ "\n",
+ "# ?? why is the body text so fucked up ??"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3139,
+ "id": "3186dcf3",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Requirement already satisfied: vaderSentiment in c:\\anaconda\\envs\\tensorflow-session\\lib\\site-packages (3.3.2)\n",
+ "Requirement already satisfied: requests in c:\\anaconda\\envs\\tensorflow-session\\lib\\site-packages (from vaderSentiment) (2.27.1)\n",
+ "Requirement already satisfied: urllib3<1.27,>=1.21.1 in c:\\anaconda\\envs\\tensorflow-session\\lib\\site-packages (from requests->vaderSentiment) (1.26.8)\n",
+ "Requirement already satisfied: idna<4,>=2.5 in c:\\anaconda\\envs\\tensorflow-session\\lib\\site-packages (from requests->vaderSentiment) (3.3)\n",
+ "Requirement already satisfied: charset-normalizer~=2.0.0 in c:\\anaconda\\envs\\tensorflow-session\\lib\\site-packages (from requests->vaderSentiment) (2.0.4)\n",
+ "Requirement already satisfied: certifi>=2017.4.17 in c:\\anaconda\\envs\\tensorflow-session\\lib\\site-packages (from requests->vaderSentiment) (2021.10.8)\n",
+ "Note: you may need to restart the kernel to use updated packages.\n"
+ ]
+ }
+ ],
+ "source": [
+ "pip install vaderSentiment"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3140,
+ "id": "3eec5c71",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "from vaderSentiment.vaderSentiment import SentimentIntensityAnalyzer\n",
+ "vanderSentimentAnalyzer = SentimentIntensityAnalyzer()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3141,
+ "id": "6ce92ec7",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "def getVanderScore(tweet): \n",
+ " vs = vanderSentimentAnalyzer.polarity_scores(tweet)\n",
+ " score = vs['compound']\n",
+ " return score"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3142,
+ "id": "50ebb47a",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "tweet_df['vander_score'] = tweet_df['body'].apply(lambda tweet: getVanderScore(tweet))\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3143,
+ "id": "ff79fd77",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "#create a weighted scored based off engagement and sentiment analysis score\n",
+ "tweet_df['summarative_score'] = tweet_df['total_engangement'] * tweet_df['vander_score'] * 0.01\n",
+ "tweet_df = tweet_df.drop(['total_engangement', 'vander_score'], axis=1)\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3144,
+ "id": "ca069cd4",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "#sum or avg the summarative_scores for one date\n",
+ "APPL_tweet = tweet_df.loc[tweet_df['ticker_symbol'] == 'AAPL']\n",
+ "\n",
+ "GOOG_tweet = tweet_df.loc[tweet_df['ticker_symbol'] == 'GOOG']\n",
+ "GOOGL_tweet = tweet_df.loc[tweet_df['ticker_symbol'] == 'GOOGL']\n",
+ "\n",
+ "\n",
+ "TSLA_tweet = tweet_df.loc[tweet_df['ticker_symbol'] == 'TSLA']\n",
+ "AMZN_tweet = tweet_df.loc[tweet_df['ticker_symbol'] == 'AMZN']\n",
+ "MSFT_tweet = tweet_df.loc[tweet_df['ticker_symbol'] == 'MSFT']"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3145,
+ "id": "a065ab1e",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " ticker_symbol | \n",
+ " writer | \n",
+ " body | \n",
+ " day_date | \n",
+ " summarative_score | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 1850635 | \n",
+ " GOOG | \n",
+ " WSJ | \n",
+ " google now controls or occupies a strip of man... | \n",
+ " 2015-01-04 | \n",
+ " 0.000000 | \n",
+ "
\n",
+ " \n",
+ " | 4040 | \n",
+ " GOOG | \n",
+ " DanielEran | \n",
+ " despite lawsuit, $aapl ios is far more storag... | \n",
+ " 2015-01-05 | \n",
+ " 0.410522 | \n",
+ "
\n",
+ " \n",
+ " | 1854377 | \n",
+ " GOOG | \n",
+ " WSJ | \n",
+ " google is exploring how to use frequencies to ... | \n",
+ " 2015-01-20 | \n",
+ " 0.000000 | \n",
+ "
\n",
+ " \n",
+ " | 1854055 | \n",
+ " GOOG | \n",
+ " WSJ | \n",
+ " google is close to investing $ billion in spac... | \n",
+ " 2015-01-20 | \n",
+ " 1.547000 | \n",
+ "
\n",
+ " \n",
+ " | 1854431 | \n",
+ " GOOG | \n",
+ " The_Real_Fly | \n",
+ " obama is long $ebay, $goog and $tsla | \n",
+ " 2015-01-21 | \n",
+ " 0.000000 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " ticker_symbol writer \\\n",
+ "1850635 GOOG WSJ \n",
+ "4040 GOOG DanielEran \n",
+ "1854377 GOOG WSJ \n",
+ "1854055 GOOG WSJ \n",
+ "1854431 GOOG The_Real_Fly \n",
+ "\n",
+ " body day_date \\\n",
+ "1850635 google now controls or occupies a strip of man... 2015-01-04 \n",
+ "4040 despite lawsuit, $aapl ios is far more storag... 2015-01-05 \n",
+ "1854377 google is exploring how to use frequencies to ... 2015-01-20 \n",
+ "1854055 google is close to investing $ billion in spac... 2015-01-20 \n",
+ "1854431 obama is long $ebay, $goog and $tsla 2015-01-21 \n",
+ "\n",
+ " summarative_score \n",
+ "1850635 0.000000 \n",
+ "4040 0.410522 \n",
+ "1854377 0.000000 \n",
+ "1854055 1.547000 \n",
+ "1854431 0.000000 "
+ ]
+ },
+ "execution_count": 3145,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "GOOG_tweet.head()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3146,
+ "id": "9d38c41b",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "APPL_tweet = APPL_tweet.groupby('day_date')['summarative_score'].sum()\n",
+ "GOOG_tweet = GOOG_tweet.groupby('day_date')['summarative_score'].sum()\n",
+ "GOOGL_tweet = GOOGL_tweet.groupby('day_date')['summarative_score'].sum()\n",
+ "TSLA_tweet = TSLA_tweet.groupby('day_date')['summarative_score'].sum()\n",
+ "AMZN_tweet = AMZN_tweet.groupby('day_date')['summarative_score'].sum()\n",
+ "MSFT_tweet = MSFT_tweet.groupby('day_date')['summarative_score'].sum()\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3147,
+ "id": "88884fb3",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " ticker_symbol | \n",
+ " day_date | \n",
+ " close_value | \n",
+ " volume | \n",
+ " open_value | \n",
+ " high_value | \n",
+ " low_value | \n",
+ " summarative_score | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " AAPL | \n",
+ " 2015-01-01 | \n",
+ " 110.38 | \n",
+ " 41304780 | \n",
+ " 112.82 | \n",
+ " 113.13 | \n",
+ " 110.21 | \n",
+ " 3.911989 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " AAPL | \n",
+ " 2015-01-02 | \n",
+ " 109.33 | \n",
+ " 53143770 | \n",
+ " 111.39 | \n",
+ " 111.44 | \n",
+ " 107.35 | \n",
+ " 2.044350 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " AAPL | \n",
+ " 2015-01-03 | \n",
+ " 109.33 | \n",
+ " 53143770 | \n",
+ " 111.39 | \n",
+ " 111.44 | \n",
+ " 107.35 | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " AAPL | \n",
+ " 2015-01-04 | \n",
+ " 109.33 | \n",
+ " 53143770 | \n",
+ " 111.39 | \n",
+ " 111.44 | \n",
+ " 107.35 | \n",
+ " 1.740136 | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " AAPL | \n",
+ " 2015-01-05 | \n",
+ " 106.25 | \n",
+ " 64210880 | \n",
+ " 108.29 | \n",
+ " 108.65 | \n",
+ " 105.41 | \n",
+ " 0.866415 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " ticker_symbol day_date close_value volume open_value high_value \\\n",
+ "0 AAPL 2015-01-01 110.38 41304780 112.82 113.13 \n",
+ "1 AAPL 2015-01-02 109.33 53143770 111.39 111.44 \n",
+ "2 AAPL 2015-01-03 109.33 53143770 111.39 111.44 \n",
+ "3 AAPL 2015-01-04 109.33 53143770 111.39 111.44 \n",
+ "4 AAPL 2015-01-05 106.25 64210880 108.29 108.65 \n",
+ "\n",
+ " low_value summarative_score \n",
+ "0 110.21 3.911989 \n",
+ "1 107.35 2.044350 \n",
+ "2 107.35 NaN \n",
+ "3 107.35 1.740136 \n",
+ "4 105.41 0.866415 "
+ ]
+ },
+ "execution_count": 3147,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "APPL_df = APPL_df.merge(APPL_tweet, how = 'outer', on = 'day_date')\n",
+ "GOOG_df = APPL_df.merge(GOOG_tweet, how = 'outer', on = 'day_date')\n",
+ "GOOGL_df = APPL_df.merge(GOOGL_tweet, how = 'outer', on = 'day_date')\n",
+ "TSLA_df = APPL_df.merge(TSLA_tweet, how = 'outer', on = 'day_date')\n",
+ "AMZN_df = APPL_df.merge(AMZN_tweet, how = 'outer', on = 'day_date')\n",
+ "MSFT_df = APPL_df.merge(MSFT_tweet, how = 'outer', on = 'day_date')\n",
+ "\n",
+ "APPL_df.head()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3148,
+ "id": "7f188ccd",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "#APPL_df = APPL_df.replace(to_replace = np.nan, value = 0)\n",
+ "#GOOG_df.replace(to_replace = np.nan, value = 0)\n",
+ "#GOOGL_df.replace(to_replace = np.nan, value = 0)\n",
+ "#AMZN_df.replace(to_replace = np.nan, value = 0)\n",
+ "#TSLA_df.replace(to_replace = np.nan, value = 0)\n",
+ "#MSFT_df.replace(to_replace = np.nan, value = 0)\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3149,
+ "id": "2830b2bf",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ ""
+ ]
+ },
+ "execution_count": 3149,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "iVBORw0KGgoAAAANSUhEUgAAAaQAAAEgCAYAAAD7bQf7AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/YYfK9AAAACXBIWXMAAAsTAAALEwEAmpwYAABJI0lEQVR4nO3deVxU9foH8M8wMww7wzJsyiKCokhhbqnJxY0y9zLRiop2rZv9fkmK3myxRH9qXeuaS3az1K67iWVaqZiaWzfRFEQUl0QEWQYYmBmGmfP7AxmZOWc2mBlm4Hm/Xr1eceZw5syJzjPf73m+z8OTSqUMCCGEkHbm0t4nQAghhAAUkAghhDgICkiEEEIcAgUkQgghDoECEiGEEIdAAYkQQohDoIBECCHEIZgMSF988QWGDBmC8PBwhIeHY/To0di/f7/2dYZhkJWVhbi4OISEhGDs2LHIz8/XOYZSqURGRgaio6MRFhaGadOmobi42PqfhhBCiNMyGZDCwsLw/vvv4/Dhwzh06BCSkpLw1FNP4fz58wCAFStWYOXKlViyZAkOHjwIiUSCyZMno7a2VnuMzMxM7NmzB19++SX27t2L2tpapKamQq1W2+6TEUIIcSq81lRqiIqKwrvvvovnnnsOcXFxeOmllzB79mwAgFwuR2xsLBYuXIj09HRUV1cjJiYGK1euxNSpUwEAN2/eREJCArZv346RI0da9xN1MoWFhYiNjW3v03AadL3MR9fKfHStrMOiZ0hqtRo7duxAXV0dBg4ciOvXr6O0tBQjRozQ7uPu7o4hQ4bg5MmTAIDc3FyoVCqdfbp27YqePXtq9yGEEEIE5ux04cIFpKSkQKFQwNPTExs3bkR8fLw2oEgkEp39JRIJSkpKAABlZWXg8/kICAhg7VNWVmb0fQsLC83+IJ0ZXSfL0PUyH10r89G1Ms3UKNKsgBQbG4sjR46guroa2dnZmDFjBr7//nvt6zweT2d/hmFY2/SZsw8NgU2jqQLL0PUyH10r89G1sg6zpuxcXV0RHR2Nvn374t1330VCQgI+//xzBAcHAwBrpFNeXq4dNQUFBUGtVqOiosLgPoQQQkir1iFpNBo0NDQgMjISwcHBOHTokPY1hUKB48ePY9CgQQCAxMRECIVCnX2Ki4tRUFCg3YcQQggxOWX33nvvISUlBV26dIFMJsP27dtx9OhRbN26FTweDzNmzMDy5csRGxuLmJgYLFu2DJ6enpgyZQoAwNfXF2lpaViwYAEkEgn8/Pwwf/58xMfHIzk52dafjxBCiJMwGZBKS0vx8ssvo6ysDD4+PoiPj9dJ1541axbkcjkyMjIglUrRr18/7Ny5E97e3tpjLFq0CHw+H+np6VAoFEhKSsLq1avB5/Nt98kIIYQ4lVatQyKOgx6mWoaul/noWpmPrpVpqT+XY8voQKP7UC07QgghNsUwDA6XKE3uRwGJEEKITd2QqaEwo1IcBSRCCCE29VxOpVn7UUAihBBiU2X1GrP2o4BECCHEppQa83LnKCARQgixKUUjBSRCCCEOQK6mgEQIIaSdqTQMzIxHFJAIIYTYzu93GszelwISIYQQm/ntNgUkQgghDqCmwbyUb4ACEiGEEBuRNzJYcV5m9v4UkAghhNjEgt+rLdqfAhIhhBCb+CK/zqL9KSARQghxCBSQCCGEWJ2GsbzVHgUkQgghVldvZrmgliggEUIIsbpzFSqdnwNEpsMNBSRCCCFWt+e6XOdnoRnRhgISIYQQq1PoFbC7LTe9QJYCEiGEEKurVekGpBVDxCZ/hwISIYQQqyqtV2N7ke6UXaAbPUMihBBiZy8crmRt83algEQIIcSONAyDoxwVvrt68k3+LgUkQgghVlGn0mDOCe76deYEJIG1T4gQQkjnIlVq8NZxKXZclRvcx5XPM3kcCkiEEELa5H9+k2LXNcPByFw0ZUcIIaTVpEqNyWD0WDd3s45FAYkQQkirfZ5nugHf3ERvs45FAYkQQkir/V9urdHXA91c0EMsNOtYFJAIIYTYjIfAdDJDMwpIhBBCWqVBbbrFhMaCLhQUkAghhLRKvlRleicLUEAihBDSKgtO15jcx5y2E80oIBFCCGmVotpGk/uIzWjM14wCEiGEEIvJVBr8JVPrbMt+JBDv9fPR2fau3s/GUKUGQgghFvvXefb6o6RQEfr4CXDkthKnyhowJdodSaEis49JAYkQQojFFhtYf+TvxseOlMBWHZOm7AghhFjkpoz97OiJaPPKAxlDAYkQQohFbss1rG3/96C4zcelgEQIIcQi8kb2alc/C7LpDDF5hI8//hjDhw9HeHg4unfvjtTUVOTl5ensM2PGDIjFYp1/Ro0apbOPUqlERkYGoqOjERYWhmnTpqG4uLjNH4AQQoh9KfUqNIwIMz9xwRiTAeno0aN44YUXsH//fmRnZ0MgEGDSpEmoqqrS2S85ORkFBQXaf7Zt26bzemZmJvbs2YMvv/wSe/fuRW1tLVJTU6FW66YNEkIIcWwKvYAkMqP5njlMZtnt3LlT5+c1a9YgIiICJ06cwJgxY+6dkEiE4OBgzmNUV1djw4YNWLlyJYYPH649TkJCAnJycjBy5Mi2fAZCCCF2pD9CcrNSQLJ40k8mk0Gj0UAsFutsP378OGJiYtCvXz+88cYbuHPnjva13NxcqFQqjBgxQruta9eu6NmzJ06ePNn6syeEEGJ3GwrrdX4W8a1zXIvXIc2dOxcJCQkYOHCgdtuoUaMwfvx4REZG4saNG/jwww8xYcIE5OTkQCQSoaysDHw+HwEBATrHkkgkKCsrM/hehYWFlp5ep0TXyTJ0vcxH18p8neVaaRgg55aHzjZlXQ0KCytM/m5sbKzR1y0KSPPmzcOJEyewb98+8Pn3QuLjjz+u/ff4+HgkJiYiISEB+/fvx4QJEwwej2EY8HiGh3qmTp40/U9A18l8dL3MR9fKfJ3pWlUo1MCx2zrbAsVixMaK23xss6fsMjMzsWPHDmRnZyMqKsrovqGhoQgLC0NRUREAICgoCGq1GhUVuhG0vLwcEonE8rMmhBDSLjZcqje9UyuZFZDmzJmD7du3Izs7Gz169DC5f0VFBUpKSrRJDomJiRAKhTh06JB2n+LiYhQUFGDQoEGtPHVCCCH2dqaigbXNgh58Rpmcsps9eza2bNmCjRs3QiwWo7S0FADg6ekJLy8vyGQyLF68GBMmTEBwcDBu3LiBDz74ABKJBOPGjQMA+Pr6Ii0tDQsWLIBEIoGfnx/mz5+P+Ph4JCcnW+mjEEIIsbV6lbXCD5vJgLRu3ToAwMSJE3W2z5kzB5mZmeDz+cjLy8PmzZtRXV2N4OBgDBs2DF999RW8vb21+y9atAh8Ph/p6elQKBRISkrC6tWrdZ5FEUIIcWwVSnbZIGsxGZCkUqnR193d3Vlrlbi4ublh6dKlWLp0qdknRwghxHGoNQwKpOzCql7CdlqHRAghpHOqatCgjqOO3ZhwN6scnwISIYQQs9yuZ0/XzevrjYFBrlY5PjXoI4QQYpaNhXWsbW8nmt+i3BQaIRFCCDHLDZlti2FTQCKEEGKWCC/drOhhIdaZqmtGAYkQQohJGy7VYXWe7pTdxKi2ty1viQISIYQQo36+qcDfj0lZ2z2F1g0hFJAIIYQYdbxUybk92tu6hQ0oIBFCCDFKzrH2CAAGWCnduxkFJEJIp1Or0iD7mhwFUlV7n4pTUHIk133Q3wcuRtoHtQatQyKEdCqKRgbDdpfhWq0aQhdgR0ogkkJF7X1aDk2uZo+QXojztPr70AiJENKpbL5Sj2u1TV/5VRrgH6eq2/mMHJ9SLyB9keRn9YQGgAISIaST2feXQufnc5U0bWeKQi8guQmsO1XXjAISIaTDuiFrxKoLMhy7rQTDNN1UVRrb9fPpqBR6SQ1ufNsEJHqGRAjpkA7fUmLi/nLtz98M98eEKHfW9BMx7Xa9blaDryuNkAghxCyNGkYnGAHAM4cq8WelCjUN7IB0lqMtN2mys6geeXo9kPxEtgkdFJAIIR1OUQ27iRwADM8u43xmRIkNhr333xrWNgpIhBBiJkNttg2s78SR2zRCMoSrwrevq21CBz1DIoR0OJUK7oBETDtYrEC+tBGPhruhoJo7A1HoQkkNhBBiFkMjJGPmnJAi3IuPZ3p4wlPAA99GN11HtqOoHi8crgIAzG+HaUwKSISQDqeqFQFpTX5Ta4V/nK5BnFiALaMCEOnduW6R312Tm9zn9Xgvm70/PUMihHQ4bZ2yuyhtxJp8mZXOxnnsua4wuc97/a3XslwfBSRCSIdT2YoRkr7PL9SZ3qkTEthwKpMCEiGkw7FGQCL217kmSAkhHRrDMLgobcQPN0xPPRHHQyMkQkiH8dGZWgz+rqy9T6PDejjczabHp4BECOkQ1BoGn1/ofIkI1iRxMx4S3rdhQgNAU3aEkA5C1sig3lApBmIWYw1gi6aHwN+Nb9P3pxESIaRDqG3gTmQYIBFCmt4FZx4PxuguIkyIdMNXyX52PjvHxzAM5/qtSVHuuJUWavNgBNAIiRDSQcgMjI7SejS12u7mI8C2lEDt9vScKruclyO5VtuI767KcV+AECO6ND0PUjQyUDMMbsjUULWIRx4CHm6lhdn1/CggEUI6hFqOthJPxXrgmbsBSd+bCV7455/O8cxJ3sjgUrUKMT6CVrcOlyo1GLa7DLWqpuv0zXB/VDdo8D+/SSHi81CnF9BNPU+yBQpIhJAOoValO93kKeDhs6Fig/u/Fu+F/CoV8qSNSIv1wKIztTqvu9uoK6qlzleqMH7fHVQpGXgJeNj5cAAGBoksPs7afJk2GAHAzCNVcOXz0MgAjRyjyz7+wjadd2tQQCKEdAgtb7YAMDxMBBcjT+kl7nxsGX1vCk8/IDUyjpEg8eSBClQpm85F1shg5QVZqwLSf8t1K3fLGhnD/TgAZNzvbfF7tBUlNRBCnF6dSsNK+fa2sGfPlGh3nZ9VGuCbS+1bPkitYVj9iHZfa92i3//esaznU2Kga6vepy0oIBFCnJpKw6DLxhKcLNO94fpb2NX0733YVazfOCZty6m1WancOiWQvrlUh3ILCs76urbPdCUFJEKIU3vqQAXn9sHBln3D5xuY3lNp2mfqTt7I4MM/2O3DLcUwDN7/3bLjVHMkiNgDBSRCiNPSMAx+uqnkfC0xwLKH8gIDd8OKduo++6/ztfj2cj1ru4fAstFLmVzTqoaF7YECEiHEaRmb0uriadlCzgADU3wyVfvczA/e4g608kYGjAUJF2udqK8TZdkRQpyWUs19Y/5sqBg8Y3VwOEjcuQOYTNU+01fHS7mTEBgADRpAZCTeVirU2FBYj93X5PhDL7vOkVFAIoQ4La7nO2ceD0Y3n9bd2jwF7AWin56X4d/J/q06XmvdrlcbfV3eyEBkYJ0UwzB47KcK5Fa0PhC9wZHgYQ80ZUcIcVoNevft3mJBq4ORIVz13Wxt/qlqo68rDIwMAeC6TN2mYAQAL/Xirm5haxSQCCFOS3+EJGxjdQWuKcD2SIA+UGx8rdEJA9N5AHClprFN7138dCjCvdpn8sxkQPr4448xfPhwhIeHo3v37khNTUVeXp7OPgzDICsrC3FxcQgJCcHYsWORn5+vs49SqURGRgaio6MRFhaGadOmobi42LqfhhDSqejnG1i4FpaFq3CBvTta/PdOA6Qm0q6NtWgvakNA8hDwWl0rzxpMvvPRo0fxwgsvYP/+/cjOzoZAIMCkSZNQVXWvUu6KFSuwcuVKLFmyBAcPHoREIsHkyZNRW3uvFEdmZib27NmDL7/8Env37kVtbS1SU1OhVhufKyWEEEMa9EZIApe2jWee7eHB2mbPdUh7rssx8vs7JvcrlXPfNwurVcg4YXy6zxA+D1ib1L5tOUwGpJ07d+Lpp59G7969ER8fjzVr1qC8vBwnTpwA0DQ6WrVqFd58801MnDgRvXv3xqpVqyCTybB9+3YAQHV1NTZs2IAPPvgAw4cPR2JiItasWYMLFy4gJyfHph+QENJx6QcL1zYGpNc5HuY32jEgpR2sNGu/So61UduL6jFgp+H27QsH+GBmPPezoed7euLcEyEYF+nO+bq9WDxRKJPJoNFoIBaLAQDXr19HaWkpRowYod3H3d0dQ4YMwcmTJ5Geno7c3FyoVCqdfbp27YqePXvi5MmTGDlyJOd7FRYWWnp6nRJdJ8vQ9TKfo1+ra5UuANy0P6sU9W0+56W9+MjIv1e8VCZXmHVM61wr9giNS3FFNQoL742kGAZ48Zjh34320OAR0W18Wy4AoFvBIshVgxmSO6i/dQe2/q8dGxtr9HWLA9LcuXORkJCAgQMHAgBKS0sBABKJRGc/iUSCkpISAEBZWRn4fD4CAgJY+5SVGY7opk6eNP1PQNfJfHS9zOcM16rguhzIuzeqEHt7IjY2ok3HlPs3APn3bvYuQpHJY1rjWjEMAxy9xdo+NsINXTz5WJt/r9Dr3jsCfDsuUvvz5WoVAMP30s+TgxAbLEKISgZc1Z3S+/2JLvBp68M3K7HoLObNm4cTJ05gw4YN4PN1V2XpL0JjGMbkwjRz9iGEEEOsPWUHAEK9YzTaKes7x0Blhg8H+GJshBtru7RFYsOtesMnmTNeggeDm0Z8XFmEjhKMAAsCUmZmJnbs2IHs7GxERUVptwcHBwMAa6RTXl6uHTUFBQVBrVajoqLC4D6EEGIJhmGw94ZuerQ17q36SWa2TGpQaxgsP1uL8T/ewdRf2EViK58LQzcfAWJ92XX5bsjuZdMdvc0dzADgvhY1/ertnTJoIbP+882ZMwfbt29HdnY2evToofNaZGQkgoODcejQIe02hUKB48ePY9CgQQCAxMRECIVCnX2Ki4tRUFCg3YcQQoCm3kb/PFeLzJNSFFYbXuC5sbAe24rkOtvaug4JYGfqXZfZLhN4718KLPyjBkduN7BS2AcHu2obDIZx1OVrHrkdLFbg/3JrWa8DwJokP50mhXIHD0gmnyHNnj0bW7ZswcaNGyEWi7XPjDw9PeHl5QUej4cZM2Zg+fLliI2NRUxMDJYtWwZPT09MmTIFAODr64u0tDQsWLAAEokEfn5+mD9/PuLj45GcnGzTD0gIcS7v/bcGX9x9XvLDDQWOTwriXBuzqZBdCdsaIyT9YtpqBphzQoolD4rbfnA9bxrpt/TJEN336y8R4vc79wJ0c0fbzVfY1wFo6mk0US9rrt5IhQdHYDIgrVu3DgAwceJEne1z5sxBZmYmAGDWrFmQy+XIyMiAVCpFv379sHPnTnh732uBu2jRIvD5fKSnp0OhUCApKQmrV69mPYsihHRejRoG/2kRaG7I1Bi/rxwHxkl0njerNQxOlLGrFeg//2kNruC3Nr8OcxK94e9m3fuVobYQPAAxeiWQDD3b2npFd5TY7OexErjpR1fHjkemA5JUKjV5EB6Ph8zMTG2A4uLm5oalS5di6dKlFp0gIaTzKK5TQ6Y3rfRHuQonyxq0D+a/LqjDrN+knL9vjYAk5uiWygAoV2isHpAMkbi7sKYO9Wcjm6f4gtxdUKbXhmPRQF/0ELOfO73UyxNfXLyXrfdmQvsUUTXEcdIrCCGdTn6VCsvO1uLw3QwzQ0VBJ+4vBwC8c7raYDACrDNlZyjzt8GONVaDOFph6He0XZXX1OdIPxgBwJhwdlYeAPQQCzG/rzdCPVwwsosIM3o7VkCi9hOEkHZRXKdG8p4yKO/mDOxMCcCrv1Zx7qtUN03nfXbeeLO520Ya9rWVLbLtfIQ81HD0WwrzYEfWC1W6wXrfXwqcLGVn1+15JNBoxfOMRB9kJPq04mxtj0ZIhJB2sb6gThuMAOCxnyogN/LQ/fc7hitcN+sttt13bEPNANsiwUCb9W7e7M9RzlEuKJOjTcWwUBFrm7OggEQIaRfG1s5weWRvudHXQ9xdMLW7eaV3WsMWU3bHbnMH2cndzKspp98N1lM/icHJ0JQdIaRdhHvycbyNx3illyeSQkW4XNOIiVHuCPawXdKBtafsLkoNr7FqTuCw1Ny+3qZ3cmAUkAgh7UK/VXhrvN7Hy27N5OSNDBrUDFytsPgWAN79vYZze5R364Oqh5OPkGjKjhDSLoyNEAAg0sv4jXnRQF+bBaP3+rEf+j99sBJB39zCe7+3rt+QvpI67goQiwf5tvqY7lYKlu2FAhIhxO6u1jTiSg33DTnBX4jX4r2w+5FAo8cYH8md2mwNrxhJh/7nnzJcq21bm3AAqNWvFQTgg/4+SOnK/bk+Gmg6ULVnt1droCk7Qojd/fNPdu219cn+GBDkii4t6rYNCXbFb6XcD/7DbPi8yF3Aw7Tu7thsoApC9jU53kho2/OaO3op6lefDIWfyHBAeaaHBz76o8ZogVSuRb3OxLnDKSHEYTSoGcw7JUXS7jIsya1p6u9jQK3e2hs/EQ+TurnrBCMABkdJD4W4gm+FqgzGGHtW1NauOfWNGp2KFEIX08HEW+iC/4z0N7qPsYDmDGiERAixiu1F9fj8QlNZmnOVKgyQuGJEF+7pJ/01PZkGFmpylQLqFyjE58P82ni2phnrreTSxoikX10hyI1vVm+4h0KMZ985e0By7rMnhNicUs3geKkS9SY61c08KtX5OesMdxYZ0DSaaimSYyFos6nR99bk9AsU4sD4IETYIbPO2OOYtt44z+mVSNIfGRrCd+GhbyD3YlrA+QMSjZAIIQZdkqrw6I/l2ioBpx8L0mkWp2EYZJyoxpctCnY2O32HnUVXVNMIX1ceFHoBSWTkfvzPoWL0FAshb2QwI96zlZ/EcsZHSG079nWZblLEfQYqNnC5z1+IM+Xsayt0oYWxhJAObOUFmU7JmgE7y1D1XJh2eulgsZIzGDW7KWtE17ujmbknpVidVwcBD9B/Li8y8rzGQ+CCt+63/4JPY83+2hqQSvVajodakKAR4MY9CvJ1dTFr2s+ROff4jhBiNqlSw5oqa+lCpQq/liihuZuMUKzg4etL7OZv/23x7ZyrJ1FLS882ZdOVK9TapntcSWIiGycotIax2S/9ytuWqtarQ+RvwVTbKAPP5dycfA0SQAGJkE7hs/O1iPlPCcI33cIP19mpzBsu1eGh3WWYsK8czx6qBAB8fZN7AuXrgnsjIv0bq74bd9t/36hVw1htUmtVP7AmY+e0qdDwqNCUK9WN2KDX7ZbVSM+IIQYSGzpCQKIpO0I6uFqVBov+qEUjAzSqgacOVqJfoBByNYOHu7ph/gM+mH+6WttMdM91BcRfFQPgfq7RcnDQPOox5NDdPkemFpKGcrRbaG9cPYmaWTKiaSm/SoXB35WxtltaYeFiagjittzW2cY4ejtYM1BAIqSDu1zdyGrr0DztllclQ5gnHzUN5t/MpHfbbpvKumtW36jBK0e4+xwBTQkNAXbqxGqJx7q5Y4aB89ZfR8VFqtTg5V8r8dNNJfoFCrE2yZ8zGAHGkzq4hHA8czJU+cKZON7XEkKIVR03UOmgWcYJy2qzSRsYKNUMZh2TmrX/CzlV4KiSoyW2RptXGzCWaMHVm0jfxsI6/HSzaYT433IV+u0sNbivu5Nnx1mLY/4lEEKsZh5HE7e2uF2vxqd/1mJbEXdZHX0//qUw+rojPj8yRT9tncuKP413t23JWPAzJN6v401wUUAipANrnl6zpkvVjZytxAPdXFD1XBgGB7tadDxHzLAz5WadGhcqjVcr5yqeakiggVRuY74dGaCTfv6/9xkuCOssKCAR0oGVydv+XOH5nuzFqDUcz1D4PIDH48HHwik4V8d7fKT1aIThiuIpP9xBjZEsQ3PLC3Xx4CPGx/LRTqS3AJ8NFeM+fyGmRrvjjT7O3ZwPoKQGQjo0mRkP3015sZcn/l1gOs25uWWDr9CyEU9rpqvs5aMBvqhSavBnhUqnGCrQ1GBw51U5nuMI2ADg6gKwV3Hd81g3d/gIeVg2WNzqBa1PxXriqVj7Va+wNQpIhHRgS86y2zxYKsjdBSldRdoH9IY0j6S8LR0hOfCUXTcfAX58VAKGYeC3/hbr9ZsGmuwBQLA7H9IG7nT3PY8EYlho69qUd2Q0ZUdIB7bfREKBKb6uPIhdXfBavPHpoJOTgyC+uzbHpwONkJoZGsEYe/ZjqEX7tyP9KRgZQAGJkE5KP/lgcLArcqcEo6dv08QJn8dgQT8fCFx48DXRq8ejRdqypc+QLA1g7aWPP3uhsKE25LUqDWv0NCjIFdeeDMWjEe6cv0Noyo6QTiXMwwUbRgQgwV8IVz4P8kYGR0qU6O4jQPe7gejE5CD8VadG1c2ruD+uKwAgxtf4raJllWlvCwOMpQGsvawe5oeHdusubF1xXobZiezRI1cFi+xHAp1iNNienOMvgRACoKnqwY6ieqzOk6FAajztmMtXyf7oJ3HVrv1xF/CQEu6mDUZA0/RUhJcALYsBeBlrDoSmStPNLB4hOUnb7T7+QryZwE6t3nKZnbpwtET3eRuf5xxTk+2NAhIhToJhGKQdrMQLh6sw92Q1/pZdhj+NrIVRadjPMAYEWbZGqKX/4bgZA01Tbi3biXNVXugtFuBfD4m5f99JRkgAEO7FzlE/z/HfoKRed7pu4QBfm51TR+I8fwmEdHJ7ritwoPjeN2+FGvjuquHEYv1v6WJXXptab3sYKG8j1is0OjDIVee5UA9fAY5NCsJTMR6cv+8sz5AAYFp39mfgqtTdoPdlYHRXSmIwBz1DIsSBXahU4Y1jVVCoGVyoYqcQLz8nw9OxnujGsbBSv2RPW3v4GJpy0h81iEUu2DdWgk2F9XDn85Ae56nNUuNqzudMIyRPjqnLcI526vpFGoQOnNruSJznL4GQTmbblXoM3V2G/5arOINRs9RfKnR+ZhgG6/JlWKv3YL3eQBqyuQzVnONKfe7tJ8RHA33xj34+6OJ5L2C908+HtW+wkTYPjuiVXroLURUc17VRb4REtVPNQwGJEAf10q+GWza0dKm6Eel3m+oBwMbCeszmqOC95MG2PccwVHPOksZwM+N1n0PFiQV4KKT1z7Xag34LcTlXQNLbJKARklloyo4QB6Q0o5p0S7uuyTG7UoV4fyE+OcddncGrjV/Tg9y5v79aEpCELjxUPBuGE2UNkKkYDA1x5ZwGc2T6rSLq1Rro54/oJ5Q42UdsN3SZCHFAxUZK0hiy/G4gKqrl/l1L2mRzSQ7jfjBvaToz34WHoSEiPBzuZjKd3BHpd3f9/EIdBh9zx8uHK6HSMLgha0SVUm/KjkZIZqEREiE2UK5Qo1HD3dnTFIZhkJzN3VnUlDojLQ8sbZOtz9BIxpIRUkfA1UxPAx62FsnRoAG+u8buE+WEcbddUEAixMoWnK7Gp3f7BU2NdseqYX7Yf1OBXVfliPUV4PU+XvAQGL5DnatUcbZ3aOYvckElR5+jkno1umwsMfh7htK226qzLfg0dh25ghEACNqY4dhZUEAixIrK5Gqd5nVbi+Q4X6lCnvRellzWmVqUPRtmMBX4JxMFUT8a6IvHu7kj60wNPmnRldRUq/JYE+V/WsvLidYRWUNr2o3TCMk8dJkIsaJjt5XQH9u0DEYAwAA4WGy4lUN1g+HR0WdDxUjt7g5XPk/bf8hc/m5tT6/+ex/2e6Z0NdzEriNy51t+22xtv6POhgISIVb0+lGpWfsZKvnz4w05/nWB3R6czwPOPxGMtB6e2moL+unHhngLefjr6VCz9jVlgd46op6+AvTyY1fB7shsNfVJaMqOEKsy1ANHn6HiBK8e4V579NNYCbrqVQQQuvDgJ+KxMrqaSdO7mHUulhC68PDzWAmW5NbA380F7/fvfDXaLJ2ye78/ezEw4WbWV6xjx45h2rRp6NWrF8RiMTZt2qTz+owZMyAWi3X+GTVqlM4+SqUSGRkZiI6ORlhYGKZNm4bi4mLrfRJC2pmao5ipIQqOdUbfX5dzTtc918MD/STci0cDRNzTcJ8OFZt9LpYaEOSK7SmBWJvkj9BWZBE6O0tHSLMSjDc3JPeYFZDq6urQu3dvLF68GO7u3M2lkpOTUVBQoP1n27ZtOq9nZmZiz549+PLLL7F3717U1tYiNTUVarXl6y0IcUTmjo4A9sLXWpUGTx+s5NzXUMkegLui9zfD/ZEWy13IlLSdJWnu8/tSMLKEWVN2KSkpSElJAQDMnDmTcx+RSITg4GDO16qrq7FhwwasXLkSw4cPBwCsWbMGCQkJyMnJwciRI1tz7oQ4lFojqdoTIt2Qff1e9tylat1EhyVnuKsrAMbTqp+M9UCW3u9OiKKOpLZkbv+mn8dK2tTuozOy2jOk48ePIyYmBr6+vhg6dCjeeecdSCQSAEBubi5UKhVGjBih3b9r167o2bMnTp48aTAgFRYWWuv0OjS6Tpax1fX6/JoQAPsB/1A/NXryawDcuzntua7Qnke9GvjXBcMjmht3pCgs5F4oO9EDWCt0R4Wq6SY5PUxl1c9Hf1uGGB+BdvfQQFx9HYXskoKdWmxsrNHXrRKQRo0ahfHjxyMyMhI3btzAhx9+iAkTJiAnJwcikQhlZWXg8/kICAjQ+T2JRIKyMsMr0k2dPGm6YdB1Mp8tr9dXR9nPRIcEu+KTIWLkSxuBIt0puS7dusND4ILjpUoA5QaPOz5OgthowzfAo13V+DK/DgFuLnixl6fVWh3Q35ZhAwrKcPqO4eaICwcHIjaCRqqWskpAevzxx7X/Hh8fj8TERCQkJGD//v2YMGGCwd9jGIby80mHcIEjjXtad3esTvIHAIR6sh/+h21oqqowNdrwjSvUwwWPRhhf5xPqwcc/ONo6ENsx1sNpYX8fPErBqFVssg4pNDQUYWFhKCoqAgAEBQVBrVajokK3b0t5ebl2Wo8QZ/JnpQrnK1XQME3PjX6/w66S8GzPe31zvI0s1d9apFtuZkZvT/z4aCCWDPJFzvggo2WGSPvoG2j42VBaD0+DrxHjbPKXXlFRgZKSEm2SQ2JiIoRCIQ4dOqTdp7i4GAUFBRg0aJAtToEQm8ivUkH8VTGG7S7DQ7vL8NEfNbgjV2PWb1LWvvcHtG7BaLiXAIODRXiltxeCO2FatTN4MsYDnma2dCfmM2vKTiaTaUc7Go0GN2/exLlz5+Dn5wc/Pz8sXrwYEyZMQHBwMG7cuIEPPvgAEokE48aNAwD4+voiLS0NCxYsgEQigZ+fH+bPn4/4+HgkJyfb7MMRYk135GqM/v6Ozrbl52TYfJldUHN0FxFrZOPGBxRmrHIwNUVH2l+0jwAHxkvw4K7WVWUn3MwK5WfOnEFSUhKSkpIgl8uRlZWFpKQkLFq0CHw+H3l5eXjyySfRv39/zJgxAzExMfjpp5/g7X0vB3/RokUYN24c0tPT8cgjj8DT0xObN28Gn0/fAIlz2PeXAjKOtUbF9ewow/UMYfUwf5PvIXblIcqbCqg4gzixEMOcrNutozPrL3/YsGGQSqUGX9+5c6fJY7i5uWHp0qVYunSp2SdHiKP45aYCfz8mNXv/fhL2dF1SqOmb17P0/MGpWLAWmpiBJjsJMUDeyOCSVIUfrssx5ecK079w16dDxbgvgB18/EQu8DfxfGFuX8qWcyYT9RYhD6URU5tQQCKEw5cXZQjdcAsDd5XhKQMlfbi8GOeJZwyMcng8HuYk3pvGjvbm4/RjQXgxzhPjItzwyzhJq3rtkPbzVKwHYnyaJpp8XHlYPEjcvifk5GiymhAObx1v3RL7jwYar379Sm8vPBLuhtv1atwf4Ao3AQ/LBotb9V6k/XkLXZAzQYLvc6/ib/FRnbLYrDXRCIkQPbc5khT0LR/si6tPhuLNhKaGdW58YFdKgFntvCO9BRgULIIbjYY6BC+hC/qJNRSMrIBGSIS0UFqvRtyW20b3OTBOom0H8V5/X7zXCXsCEWILFJAIuatWpUFPI8FobqI3Mu73Bt9KteIIIbooIBFy17RfuDPpXorzxFJ6zkOIzTn9M6TmWmKEtAXDMDjPUSA1wouPeQ9QKjYh9uC0AalAqsKAnaUI+eYWss7UmPU7ikYG/5dbgzeOVSGv6t7NJ/uaHBknpPj0z1rIVBqzjtWoYcBQMOwwrtQ0stqHP9vDA+eeCIEf1SYjxC6cdspu+dlaFN7turkktxaPdXNHT7HxYpZLcmvwyZ8yAMCe63LkTQ3FDzfkePFwlXafBb/XoPSZMIPZUjKVBs8crMTBW0okhYrw7Uh/eBmp5EwcH8Mw6L9TtyaZv8gFK4b6tdMZEdI5Oe2dVL9k/8oLMpO/0xyMAKBKyeDHG3LsusoujPnhH4ZHXN9dk+PgLSUA4NcSJf5zud7cUyYO6nCJkrVtLBU4JcTunDYg6fvmkvHAoFSzp9cKaxrxww0Fa/tn52XY/xd7OwDMO6m7YDLjBPUodna/3GQHpKRQUTucCSGdm1MGpDI598LFLVfq8d87DcgtZzdL23CpjrUt60ytwfdI/aUCv+p9c2YYBjUqem7UkWgYBv/SG11HefPxWDfq+EmIvTnlM6QRe+5wbn/l13vPguYkeiOzrw+qlBrwecAvxexvwaZM2Feu/ff1yf5IDGxdwzXiuF7IqWJt+2a4P601IqQdOF1AKq1X42ad6dIuS3JrseeaHHnSRqu873M5lUjtzv7WHOvrdJeQtFDO0TGvhy998SCkPTjdlN1rR9nfaA2xNBjd52/8RrTlCjsBwukuINFRrtBN808KpRpzhLQXp7qfqjQMZ0aUNUzr7o7DEyQW/15BtXVGYKR96E/NfdCfFsES0l6cKiCVKzTQX7c6Mco66bnx/kLweDwUTgux+Hd/ucmdkUccn0ov+9Kcat2EENtwqoCkn10XJxZg1TDrLF6cGu0BAJC48yFN74ILU0MwNdq8TCtLuoka06hhDGYQEttQaiggEeIonCog6c/3S9xc4CFo20eI8RHgVloogvV6mXTx5GPt3/zxfE/u7p/6rtW2beruWm0jHthRih6bb+OpAxVUo88OFI0MrtXqfgFwdar/IwjpWJwqRaxMrhuQgtybgoiPKw81DYZv4KuG+YEH4HJNI0aEidBf4opb9WqoNUB3E1ly7/X3gSsfWJ3HXsfU0vM5lTg4Psi8D8Jh5XkZbsiabo4/3FDg3d9rsHAA9dmxFYZhMH4fe/kAjZAIaT9O9X3wjzu6C14l7k2nv9hI2+hXe3tieowHpsV44B8P+GBIiAiufB6ivAUmgxEA+Li6YPEgselzK1fhL1nrRkk3ZI344qJuwPvsvAxFNZQwYQvXahuRdrASp++wq3u7UkAipN04zQhpe1E966YtcWsaIU2IcseGwnocL21AYoAQO1MC4C5wgZphbFb4dHQXEX7WW2ybsK0U20YHYHRX8xMtGtQMHtheyvnaAztK4SHgIbOvN4QuPPgIeRgX6Q4fmldqtU+vCrHhKPf1DnZ3gRelfBPSbpwiIH1+QYZ5p9g145pHSF5CF/wwJhA1DQy8hbwWqbzWu7n4CHk6ZYNejfdiBSQAmHtSitFdzc/Ue/uEFI1GHhfVNzJ45/S9Yq+Zp6px9clQuPA6342TYRhcrVVjVZ4MASIXzErwhrsFAeRMeQM2FBtea7ZooC9VaCCkHTlFQOIKRkBTQkIzFx4PYpHtbiafDvVDek4lGAB9/IUYHibC+Eg37Lmum/J9pUaNv2SNCPcy79KuN1EUVl91A4OtV+SYFuNh0e85M6lSg6hvS1jbS+rVJltE/CVrxLeX63G+UsX6b9XSzpQAjOhCFb4JaU9OEZC4dPfhY0CQq93eb1I3d0R5S3BDpsborm5w4fEMTp2N+7EcRyYGwcfVBWoNg5UXZPittAHjIt3wdOy9rL3WNvj7o7yhUwWkB3dxT7F9faneaEC6UKnC0N1lBl9v9v2YQDwUQtW9CWlvDv8wwtBNO/sRCYR2nl5JDHTFhCh37TSRj5D7/a/L1Nh8t0/SsnO1WPB7Dfb9pcDrR6WYfVyq/UxyjpYY5libbzzjz1kxTFPwHvJdKSbuK4eisakrb1WDeV18W7pW22gyGK0YIsadZ8MoGBHiIBw+IHHdi9Yn+6OLJ5/9gp3xjTzHaS5xpN/iYt3FOvitv4XiOjVqjaSqd0ZnK1SYf6oaeVWNOFyiRMiGW1jwew2URtYKyw08gEs0kCjSLNZXgGd7etr9Sw0hxDCHD0j1HDecSQ7Sq0amX8eohR9uKPDWcanB15edrWnTYlqFsUwIJ8XVIuSz88Y7AW8qZI8Wzeniu/IhsdnnRQixD4cOSNdrG1kJDR4OlJY7NtJ4YPzyouGptZ9vKjHTgsrl+k7dYTchtAaGYXBRqsLNVq6pagtFK6YwZ5+ohlqv/M+bv7Gva48Wa87m9fXGwCCapiPE0Th0UsP9HNMuXCOm9pIcJsKESDdkG8neMsScnk7N9jwSiPEtmgUCwPKztVZvs325WoWZR6Q4dacBfB7w6VAxnoo1r3SSNZgze/a3UBGr4nuetBGfnKvFzqvs9iBAUwfYU48FAwAKCwsRG9ulzedKCLE+hx4hOTqhCw/fjAjAR0YqRVhiYX8fpMWys+eGhYrwcLhuSvLhEmWrs/S4TNpfjv47y7QjLzUDfHLO+HSZtRmbAgWa0vy3pwSwtg/bXWYwGAHAOw9QSwlCnAEFJCt4Ld4Lh8Zb3ktJ37BQEaZ290DL6jULBzTdTJcMYge981XWmVbbXlSPnFvs5zeXaxqhbGUmoDEMw+BAsQJPHajA8rO1qLjbtVWmMv5eP49ryqy8P8Cyjq6PR3eeFHlCnJlDT9k5k57itl/KBH8h+C48/DJOgl9LlIgTC5HStWlajiurcNjuMkwJFWJJuBoBbq3LOtQwDF48bPhZ1pcX6zAz3qtVx+ZySarCwF330rF/uKHAwj9qsP/RQFZfqdFdRPB3c0GUtwAZ93tDcHdOb4DEFWcr2HXouEyIpMWuhDgLCkhWImpj+vBPYwO1ZWv6Brqib6Duol9D6cnbS4RQHZfi6+HsqSxznDNxY29rW42WGIbRCUYtPby3nLXthV6eeCScnTiS1sMD64wkjLTU28+y0RQhpP043ZTd+w7aYprvwoOxBMB/POCDwcHclSWOTAwyK+srvSf31NPua63rWCtvZPDu7zVG97HmItw5J7lLQBliqDBujI8A5g4IO1NFC0KcnVMFpIfD3fByL+tNH1mboV46AyWueOs+L6wa5qcNSlOi3bF5lD8qnwtDgr953+IDRIbvwoYWiBpyqkyJ0A23WBlrXK5bYZQkVWosDm6GKmF4Cl3wTj/uRJLPHxLDS8BDFw8+vkr2Q5Q3TQIQ4iyc6v/WlQ+JLarubG8iPg91eoEhypuPPWMCweM19WD68dHWJz/4uRn+/vDS4UpsHGnetJ1aw+D5HPPXQL35mxS7Hg40e38uH5+rNb2TnkAjw6DX4r3AA7vw7pAQEW6mhVn8XoSQ9uc0IyQ/EQ9+Dt4HqJYjbfm3SUFW60Law0hDwe9vKFBtZs23W/Vqg+ug5iR6s7bl3FLijtz8dVP6lGoGn3JUXLhtInAEGAnAAPBSL/YaqXAHKClFCGkdx77D3+XGBxYOcPxeNSEe7Juhh8B6lzg5TISp0e4GF5CW1BsPGhqGwad/1uK+bYbrvA0PE+HUZN1W7AyAo7dNT+0ZsuUKdykfNwEPF6aGoJs3dxAxFciFLjy8FHcvKL3Rx8vh/0YIIYY59JSdNL0LKhRqeAldrDbKsKWM+73xxjGpzY4vdOFh7d/8sWIoA3mjBtH/ua3zulSpQU2DBhoGEIvYgfC7q3IsMJDEEOXNx5MxHhgU5Aoej4eRXUQ40KK2nFTZ+vVIXCnaXyQ1tY3o4snHH48HY1j2HZyvNC+Vu6X/e9AX4yKb2oE8FGK/diSEEOsz6+v7sWPHMG3aNPTq1QtisRibNm3SeZ1hGGRlZSEuLg4hISEYO3Ys8vPzdfZRKpXIyMhAdHQ0wsLCMG3aNBQXF5t87wA3vlMEIwDop5eqPS7CNmtg3AU8+LvxMbKLbmbe//4mRdS3Jej2bQkyTkhZv5djIIHhlV6eyJ0SgrcTfcC7W8G8u4/udxX9OnMqDQONmZUibnOM3KZE30vn5vF4eESvEkXz+itTeDwe/hbmhmGhIu25E0Kck1kBqa6uDr1798bixYvh7s5eF7JixQqsXLkSS5YswcGDByGRSDB58mTU1t57kJ2ZmYk9e/bgyy+/xN69e1FbW4vU1FSo1a1/NuFo4v2FeCnOEzw0NRB8v791SgoZ4qc3CsqTNkLDNE2xfZFfhyvVutlxeVXcIxCuTqluel8Cmis2NKgZPHWgAkFf30LExhLMPi5FbnkDq8Bps4tSFX64oZuWvnVUACt4vBjnqa3AEObhgnl9HTO9nxBiO2ZN2aWkpCAlJQUAMHPmTJ3XGIbBqlWr8Oabb2LixIkAgFWrViE2Nhbbt29Heno6qqursWHDBqxcuRLDhw8HAKxZswYJCQnIycnByJEjrfmZ2tXSwWJ8NNAXfB5s/jxDbCLJ48M/avDVcH8AQIVCjdxy7oDENRpx1Q9IdwPOnutybYCRNTJYd7FOu0j12pOhOlOFx24rMfZH9oJXrhFviAcfhycEQarUwNeVR6MdQjqhNj9Dun79OkpLSzFixAjtNnd3dwwZMgQnT55Eeno6cnNzoVKpdPbp2rUrevbsiZMnTxoMSIWFhW09vQ5NUycEYHgN06Gb9fjzYgU2FQtwrIqPRkY3eSBUpMGKeCUuX77M+t06qQDAvSnIkjuVKCwsxYEiw+8Z9W0JTj/UlMBQ1wiMPcG9KPVOyU0U1hnOCLxj8BXroL8r89G1Mh9dK9NiY2ONvt7mgFRa2pSxJZHorq+RSCQoKSkBAJSVlYHP5yMgIIC1T1mZ4TbTpk6+s+umrAX+MlxpQdrIw78rA/HVDXaWm4eAhz+mdjW4ritMWQtcv3dsD18xYmPFKLtaDsBwxl2esCsmRrljTZ4MAHdlhpjIcMQGtk8CQlP7Cfq7MgddK/PRtbIOq+Uk60+xMAxjctrFnH2IYaam7ADgqwLulOtBQa5GFxnrP0NS3H0cVVhtvGrDs4cq8a/ztUbLBLk58OJmQkj7aXNACg5uanymP9IpLy/XjpqCgoKgVqtRUVFhcB9iubZ0z/U1Ecy89erI/bugDtUNGlyXmU5C+cdp4/XxnCRpkhBiZ20OSJGRkQgODsahQ4e02xQKBY4fP45BgwYBABITEyEUCnX2KS4uRkFBgXYfYrkH2jDtZajQazOxiB01IjeVsLYFu1v2JxTk7oJoqi9HCOFg1p1BJpOhqKgIAKDRaHDz5k2cO3cOfn5+CA8Px4wZM7B8+XLExsYiJiYGy5Ytg6enJ6ZMmQIA8PX1RVpaGhYsWACJRAI/Pz/Mnz8f8fHxSE5OttmH6+i6+QjwckQDNt0SsWromZLe03hrcnOmAwcHu+LHRyXoubkEpXLDSQqfDBbjt1IlqpQaZPb1oWoKhBBOZgWkM2fOYPz48dqfs7KykJWVhenTp2PVqlWYNWsW5HI5MjIyIJVK0a9fP+zcuRPe3vfqoi1atAh8Ph/p6elQKBRISkrC6tWrwedT7bG2eCmiEYtHRMGFx8PZigb8Ldt0jtoPYwJZad36IrxM/2lMjmpak/Z+f1+8eoS7WOuCfj5Ij/NEepzxAEgIITypVGr9HtXEblpm95Qr1Ij9z20Y+w/6Xj8fvHkfu4CqPoZhMPS7MuRJDScxSNO7aP997kkpVufptpdIChXhu4cD4OJAiSuUDWU+ulbmo2tlHU5RXJWYJ9CNj5c5KmADwMx4T1Q+F2ZWMAKasiY/H+Zn8PUZvXXfJ+N+9nHnJHo7VDAihDg2errcwSwe5Is3ErzhIeCxSgtZKjHQFbfSQhG2gZ3M0F+imxQR4MbHcz08sP5SU5p5lDcfg4Ko2CkhxHwUkDoYHo+HLlbsCeQhcMGmEf546mClznau91g8SIxIbwHKFRq83MsTAkpeIIRYgAISMWl4FxG6evK1Tf2GBLtigIQ9+nET8PA/Zk4JEkKIPgpIxCQPgQt+nSDBgWIlPAQ8jIlwo2dDhBCro4BEzOLvxscT3bmLpRJCiDVQlh0hhBCHQAGJEEKIQ6CARAghxCFQQCKEEOIQKCARQghxCBSQCCGEOAQqrkoIIcQh0AiJEEKIQ6CARAghxCFQQCKEEOIQKCARQghxCBSQCCGEOAQKSIQQQhyCTQLSxx9/jOHDhyM8PBzdu3dHamoq8vLydPZhGAZZWVmIi4tDSEgIxo4di/z8fJ191q9fj3HjxiEiIgJisRjXr19nvVdCQgLEYrHOP++9954tPpZN2PNaAcCBAwcwevRohIaGIiIiAhMmTLDZZ7M2e12rI0eOsP6mmv/57rvvbP0xrcKef1eXL1/Gk08+iejoaHTt2hWjRo3CL7/8YtPPZ032vFa5ubmYNGkSIiIi0K1bN8yaNQsymcymn8+Z2CQgHT16FC+88AL279+P7OxsCAQCTJo0CVVVVdp9VqxYgZUrV2LJkiU4ePAgJBIJJk+ejNraWu0+9fX1GDFiBObOnWv0/d5++20UFBRo/5k9e7YtPpZN2PNaff/993j++eeRmpqKX3/9FT///DOefvppm34+a7LXtRo0aJDO31NBQQH+93//F15eXhg1apTNP6c12PPvKjU1FUqlErt378avv/6KBx98EE8++SSuXr1q089oLfa6ViUlJZg0aRKioqJw4MAB7NixAxcvXsTMmTNt/hmdhV0WxspkMkRERGDTpk0YM2YMGIZBXFwcXnrpJW3wkMvliI2NxcKFC5Genq7z+2fOnMHw4cNx9uxZREZG6ryWkJCAl19+GX//+99t/THswlbXSq1W4/7770dGRgaeffZZu34mW7Hl35W+/v37Y+jQoVixYoXNPo8t2epaVVRUoHv37sjOzkZSUhIAoLGxEUFBQfjqq68wceJE+31IK7HVtVq/fj0++OADFBYWgs/nAwAuXLiAoUOH4o8//kB0dLT9PqSDssszJJlMBo1GA7FYDAC4fv06SktLMWLECO0+7u7uGDJkCE6ePGnx8T/77DN069YNDz30EJYtW4aGhgZrnbrd2epa5ebm4ubNm3B1dUVSUhJ69OiByZMn4+zZs9b+CHZj67+rZkeOHMHly5fx3HPPtfGM24+trpW/vz969uyJLVu2QCaTQa1WY/369fDy8sKgQYOs/THswlbXSqlUQigUaoNR83EA4Pjx49Y5eSdnl4A0d+5cJCQkYODAgQCA0tJSAIBEItHZTyKRoKyszKJjv/LKK1i3bh327NmDl19+GZ9//jneeust65x4O7DVtbp27RoA4KOPPsJbb72FrVu3IiwsDOPGjUNJSYl1Tt7ObPl31dLXX3+NPn36oG/fvq0/2XZmq2vF4/Gwa9cu5OfnIzw8HEFBQVi8eDG2b9+OkJAQ630AO7LVtUpKSkJFRQU++eQTNDQ0QCqVap93N79HZ2fzgDRv3jycOHECGzZs0PlmADT9MbfEMAxrmymvv/46kpKS0KdPHzzzzDNYvnw5NmzYgMrKyjafu73Z8lppNBoAwOzZszFx4kQkJiZixYoV8PX1xZYtW9p+8nZm67+rZpWVldizZ49Tj45sea0YhsFbb70Ff39//Pjjjzhw4AAmTpyIZ555Brdu3bLK+duTLa9Vr169sGrVKqxatQqhoaHo0aMHIiMjERQUxHqvzsqmASkzMxM7duxAdnY2oqKitNuDg4MBgPXtory8nPUtxFL9+vUDABQVFbXpOPZm62vVfJyePXtqtwkEAkRHR+PmzZttOHP7s+ff1X/+8x+4uLjgiSeeaPX5tidbX6tff/0V+/btw7p16/Dggw8iMTERy5cvh4eHBzZt2mSVz2Av9vi7euKJJ3Dp0iXk5+ejqKgIc+fORXl5uclnmJ2FzQLSnDlzsH37dmRnZ6NHjx46r0VGRiI4OBiHDh3SblMoFDh+/Hib553//PNPAPf+iJyBPa5VYmIiRCIRCgsLtds0Gg2uXr2K8PDwtn8IO7H339WGDRswadIk+Pr6tum824M9rlV9fT0AwMVF91bi4uKiHZU7A3v/XQUFBcHLyws7d+6Em5sbkpOT23L6HYbAFgedPXs2tmzZgo0bN0IsFmvnRz09PeHl5QUej4cZM2Zg+fLliI2NRUxMDJYtWwZPT09MmTJFe5zS0lKUlpbi8uXLAICCggJUV1cjPDwcfn5+OHXqFE6fPo1hw4bBx8cHZ86cwbx58zBmzBinucna61r5+PggPT0dixcvRpcuXRAREYG1a9eiuroaU6dObZfPbil7Xatmx48fx8WLF/HPf/7Trp/TGux1rQYOHAg/Pz+89tprePvtt+Hu7o6vv/4a165dw8MPP9wun91S9vy7Wrt2LQYOHAgvLy8cOnQICxYswLvvvqtNoOjsbJL2bejizpkzB5mZmQCa5l8XL16M9evXQyqVol+/fli2bBl69+6t3T8rKwtLlixhHWflypV46qmnkJubi9mzZ+PSpUtoaGhAeHg4HnvsMcyaNQseHh7W/lg2Ya9rBQAqlQoLFy7E5s2bIZfLcd999+Gjjz5CYmKi1T+XLdjzWgHAq6++ijNnzrQpQ6+92PNanTlzBgsXLsSZM2fQ2NiIHj164O2333aagGTPa/XKK6/gp59+Ql1dHWJjY/H3v/8d06ZNs/6HclLUoI8QQohDoFp2hBBCHAIFJEIIIQ6BAhIhhBCHQAGJEEKIQ6CARAghxCFQQCKEEOIQKCARAmDTpk1GGxu2J7FYjKysrPY+DUJsjgISIR1UcXExsrKycO7cufY+FULMQgGJkA7q1q1bWLJkiba+IyGOjgISIYQQh0ABiXQ6p0+fRkpKCoKDg9GnTx988sknYBjdClp79+5FamoqevXqhaCgIPTp0wfvvvsulEqldp+vv/4aYrGYs+vuF198AbFYjLy8PLPPq6amBrNmzUJUVBTCw8ORlpaG27dvs/a7ceMG3nrrLQwYMAChoaGIiIhAamoq8vPztfscOXIEo0ePBgC89tprEIvFrGdRV65cwfPPP4/u3bsjKCgIQ4YMwcaNG80+X0KszSbVvglxVBcvXsSkSZPg7e2N2bNnw9XVFevXr4enp6fOfhs3bgSfz8fLL78MsViMkydP4rPPPkNxcTHWrVsHAJg8eTLmzp2LLVu24P7779f5/a1btyIhIUGn+KYxDMPg6aefxpEjR5CWloaEhATk5ORw9mE6c+YMjh07hvHjxyMiIgIlJSX46quv8Oijj+LEiRMIDg5Gz549MXfuXCxevBjPPfccBg8eDACIj48H0FSJ+uGHH0ZAQABee+01+Pr64qeffsLrr7+OmpoazJw50+JrS0hbUXFV0qmkpaVh3759OHXqFLp16wagqdHaAw88gJqaGpw9exaRkZGor69nVYxfunQpFi1ahPPnz6NLly4AgBdffBFHjhxBXl6etuvn1atX0bdvX3z44Yd4/fXXzTqvH3/8EdOnT8e8efPw9ttva7e/9NJL2LZtm07laa5zKyoqwuDBg5GRkYHZs2cDaBoJjh49mlXFHGgKprdu3cKhQ4d0jpWeno5ffvkFFy9eZAVpQmyNpuxIp6FWq3HgwAE88sgj2mAEAIGBgayeUM03aY1Gg+rqalRUVGDIkCFgGEZnim769OkoLS1FTk6OdtvmzZvB5/N1euWYsn//fri4uOCVV17R2T5jxgzWvi0DSH19PSorK+Hr64vu3bsjNzfX5HtJpVLk5ORg0qRJkMvlqKio0P4zatQo1NbW4syZM2afOyHWQlN2pNMoLy9HfX09YmNjWa/FxMTo/Jyfn48FCxbg6NGjkMvlOq9VV1dr/z05ORmhoaHYsmULRo4cCQDYtm0bkpOTERISYva5/fXXXwgKCmJ1ptU/L6CpW+miRYuwdetW1jOmgIAAk+915coVMAyDJUuWcPbvAZquFSH2RgGJdBrNiQs8Hs/ga0BTwBk/fjzc3d3xzjvvoFu3bnB3d8etW7cwc+ZMndbcfD4fU6dOxbp161BXV4e8vDwUFRVh7ty5Fp8b13lxmTt3Lr755hu8/PLLePDBB+Hj4wMXFxdkZmaa1Ta8eZ+ZM2ciJSWFcx9zn30RYk0UkEinIZFI4OHhgUuXLrFeu3Llivbfjxw5gvLycnz//fd46KGHtNsPHTrEedzp06djxYoV+P7773H69Gl4eXlh3LhxFp1bREQEcnJyUF1drTNKam6H3dLOnTsxbdo0LF68WGe7VCqFv7+/9mdDAS4qKgoAIBAIkJycbNF5EmJL9AyJdBp8Ph8jRozAvn37cPXqVe328vJybNu2TWc/QHfUpNFosHLlSs7jxsXFoW/fvti0aRN27dqF8ePHs5IOTElJSYFGo8GaNWt0tq9atYrzc+inqW/fvh0lJSU625rPQSqV6myXSCRISkrC+vXrcfPmTdbxabqOtBcaIZFOZd68eTh48CDGjBmDF198EUKhEOvXr0d4eLj22dCDDz4If39/zJgxA6+88goEAgGys7Mhk8kMHnf69Ona7Lhp06ZZfF5jxozB0KFDkZWVhZs3b+K+++7DoUOHOGvrjRkzBps3b4a3tzd69+6NP//8Ezt37tSOfJp1794dPj4++Pe//w0vLy94eXmhV69e6N27Nz7++GM8/PDDGDp0KJ599ll0794dFRUVOHv2LA4ePIi//vrL4s9ASFvRCIl0Kr1798auXbsQHh6OpUuX4osvvsAzzzyDV199VbuPn58ftm7diq5duyIrKwsff/wxevfujdWrVxs87pQpU+Dq6oqwsDAMGzbM4vPi8Xj49ttv8fTTT+O7777D+++/Dx6PpzNya7Z48WKkpaVh165dmDdvHvLz87Fjxw5tKnozkUiENWvWQCQSYfbs2XjhhRewe/duAE3JEjk5OZgwYQK2bduG2bNnY+3atZBKpVi4cKHF50+INdA6JEKsoLq6Gj169MCrr76K999/v71PhxCnRCMkQqxgy5YtUCqVmD59enufCiFOi54hEdIGhw8fxqVLl7B48WKMGjUKcXFxOq83NDSgqqrK6DE8PT3h5eVly9MkxCnQlB0hbTB27FicOnUK/fv3x5o1axAREaHz+pEjRzB+/Hijx2hZFoiQzowCEiE2JJVKTZbziYqKYmXIEdIZUUAihBDiECipgRBCiEOggEQIIcQhUEAihBDiECggEUIIcQj/D76UslPH7L98AAAAAElFTkSuQmCC\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "#stock prices over time\n",
+ "APPL_df.set_index('day_date')['close_value'].plot()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3150,
+ "id": "60e2ca3a",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " ticker_symbol | \n",
+ " day_date | \n",
+ " close_value | \n",
+ " volume | \n",
+ " open_value | \n",
+ " high_value | \n",
+ " low_value | \n",
+ " summarative_score | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 1821 | \n",
+ " AAPL | \n",
+ " 2019-12-27 | \n",
+ " 289.80 | \n",
+ " 36592940 | \n",
+ " 291.12 | \n",
+ " 293.97 | \n",
+ " 288.12 | \n",
+ " 0.115701 | \n",
+ "
\n",
+ " \n",
+ " | 1822 | \n",
+ " AAPL | \n",
+ " 2019-12-28 | \n",
+ " 289.80 | \n",
+ " 36592940 | \n",
+ " 291.12 | \n",
+ " 293.97 | \n",
+ " 288.12 | \n",
+ " 0.411740 | \n",
+ "
\n",
+ " \n",
+ " | 1823 | \n",
+ " AAPL | \n",
+ " 2019-12-29 | \n",
+ " 289.80 | \n",
+ " 36592940 | \n",
+ " 291.12 | \n",
+ " 293.97 | \n",
+ " 288.12 | \n",
+ " 2.102808 | \n",
+ "
\n",
+ " \n",
+ " | 1824 | \n",
+ " AAPL | \n",
+ " 2019-12-30 | \n",
+ " 291.52 | \n",
+ " 36059610 | \n",
+ " 289.46 | \n",
+ " 292.69 | \n",
+ " 285.22 | \n",
+ " 7.807207 | \n",
+ "
\n",
+ " \n",
+ " | 1825 | \n",
+ " AAPL | \n",
+ " 2019-12-31 | \n",
+ " 293.65 | \n",
+ " 25247630 | \n",
+ " 289.93 | \n",
+ " 293.68 | \n",
+ " 289.52 | \n",
+ " 1.383618 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " ticker_symbol day_date close_value volume open_value high_value \\\n",
+ "1821 AAPL 2019-12-27 289.80 36592940 291.12 293.97 \n",
+ "1822 AAPL 2019-12-28 289.80 36592940 291.12 293.97 \n",
+ "1823 AAPL 2019-12-29 289.80 36592940 291.12 293.97 \n",
+ "1824 AAPL 2019-12-30 291.52 36059610 289.46 292.69 \n",
+ "1825 AAPL 2019-12-31 293.65 25247630 289.93 293.68 \n",
+ "\n",
+ " low_value summarative_score \n",
+ "1821 288.12 0.115701 \n",
+ "1822 288.12 0.411740 \n",
+ "1823 288.12 2.102808 \n",
+ "1824 285.22 7.807207 \n",
+ "1825 289.52 1.383618 "
+ ]
+ },
+ "execution_count": 3150,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "APPL_df.tail()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "f780fcd2",
+ "metadata": {},
+ "source": [
+ "# # LSTM MODEL: "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3151,
+ "id": "a1c4face",
+ "metadata": {
+ "scrolled": true
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Requirement already satisfied: keras in c:\\anaconda\\envs\\tensorflow-session\\lib\\site-packages (2.6.0)Note: you may need to restart the kernel to use updated packages.\n",
+ "\n"
+ ]
+ }
+ ],
+ "source": [
+ "pip install keras"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3152,
+ "id": "6fa7f52a",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "#here we will do the LSTM model\n",
+ "\n",
+ "#/-\\|/-\\|\n",
+ "import math\n",
+ "import tensorflow as tf\n",
+ "from tensorflow import keras\n",
+ "from tensorflow.keras import layers\n",
+ "from sklearn.model_selection import train_test_split\n",
+ "from sklearn.preprocessing import MinMaxScaler\n",
+ "#from keras.models import Sequential\n",
+ "#from keras.layers import CuDNNLSTM, Dense, Dropout, LSTM\n",
+ "#from keras.layers import Dense, LSTM\n",
+ "\n",
+ "#from keras.optimizers import Adam\n",
+ "\n",
+ "plt.style.use('fivethirtyeight')\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3153,
+ "id": "1642cba5",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "#Scale Features: https://towardsdatascience.com/what-and-why-behind-fit-transform-vs-transform-in-scikit-learn-78f915cf96fe\n",
+ "#scaler = MinMaxScaler(feature_range = (0,1))\n",
+ "#x_train = scaler.fit_transform(x_train)\n",
+ "\n",
+ "#print(x_train)\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3154,
+ "id": "8841bc93",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "0 AAPL\n",
+ "1 AAPL\n",
+ "2 AAPL\n",
+ "3 AAPL\n",
+ "4 AAPL\n",
+ " ... \n",
+ "1821 AAPL\n",
+ "1822 AAPL\n",
+ "1823 AAPL\n",
+ "1824 AAPL\n",
+ "1825 AAPL\n",
+ "Name: ticker_symbol, Length: 1826, dtype: object"
+ ]
+ },
+ "execution_count": 3154,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "APPL_df = APPL_df.fillna(0)\n",
+ "APPL_df.pop('ticker_symbol')\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3155,
+ "id": "8bdd09e2",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "APPL_df = APPL_df.drop(['day_date'], axis=1)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3156,
+ "id": "ece488e1",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "\n",
+ "APPL = APPL_df\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3157,
+ "id": "2a479aed",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " close_value | \n",
+ " volume | \n",
+ " open_value | \n",
+ " high_value | \n",
+ " low_value | \n",
+ " summarative_score | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " 110.38 | \n",
+ " 41304780 | \n",
+ " 112.82 | \n",
+ " 113.13 | \n",
+ " 110.21 | \n",
+ " 3.911989 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " 109.33 | \n",
+ " 53143770 | \n",
+ " 111.39 | \n",
+ " 111.44 | \n",
+ " 107.35 | \n",
+ " 2.044350 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 109.33 | \n",
+ " 53143770 | \n",
+ " 111.39 | \n",
+ " 111.44 | \n",
+ " 107.35 | \n",
+ " 0.000000 | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " 109.33 | \n",
+ " 53143770 | \n",
+ " 111.39 | \n",
+ " 111.44 | \n",
+ " 107.35 | \n",
+ " 1.740136 | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " 106.25 | \n",
+ " 64210880 | \n",
+ " 108.29 | \n",
+ " 108.65 | \n",
+ " 105.41 | \n",
+ " 0.866415 | \n",
+ "
\n",
+ " \n",
+ " | ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ "
\n",
+ " \n",
+ " | 1821 | \n",
+ " 289.80 | \n",
+ " 36592940 | \n",
+ " 291.12 | \n",
+ " 293.97 | \n",
+ " 288.12 | \n",
+ " 0.115701 | \n",
+ "
\n",
+ " \n",
+ " | 1822 | \n",
+ " 289.80 | \n",
+ " 36592940 | \n",
+ " 291.12 | \n",
+ " 293.97 | \n",
+ " 288.12 | \n",
+ " 0.411740 | \n",
+ "
\n",
+ " \n",
+ " | 1823 | \n",
+ " 289.80 | \n",
+ " 36592940 | \n",
+ " 291.12 | \n",
+ " 293.97 | \n",
+ " 288.12 | \n",
+ " 2.102808 | \n",
+ "
\n",
+ " \n",
+ " | 1824 | \n",
+ " 291.52 | \n",
+ " 36059610 | \n",
+ " 289.46 | \n",
+ " 292.69 | \n",
+ " 285.22 | \n",
+ " 7.807207 | \n",
+ "
\n",
+ " \n",
+ " | 1825 | \n",
+ " 293.65 | \n",
+ " 25247630 | \n",
+ " 289.93 | \n",
+ " 293.68 | \n",
+ " 289.52 | \n",
+ " 1.383618 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
1826 rows × 6 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " close_value volume open_value high_value low_value \\\n",
+ "0 110.38 41304780 112.82 113.13 110.21 \n",
+ "1 109.33 53143770 111.39 111.44 107.35 \n",
+ "2 109.33 53143770 111.39 111.44 107.35 \n",
+ "3 109.33 53143770 111.39 111.44 107.35 \n",
+ "4 106.25 64210880 108.29 108.65 105.41 \n",
+ "... ... ... ... ... ... \n",
+ "1821 289.80 36592940 291.12 293.97 288.12 \n",
+ "1822 289.80 36592940 291.12 293.97 288.12 \n",
+ "1823 289.80 36592940 291.12 293.97 288.12 \n",
+ "1824 291.52 36059610 289.46 292.69 285.22 \n",
+ "1825 293.65 25247630 289.93 293.68 289.52 \n",
+ "\n",
+ " summarative_score \n",
+ "0 3.911989 \n",
+ "1 2.044350 \n",
+ "2 0.000000 \n",
+ "3 1.740136 \n",
+ "4 0.866415 \n",
+ "... ... \n",
+ "1821 0.115701 \n",
+ "1822 0.411740 \n",
+ "1823 2.102808 \n",
+ "1824 7.807207 \n",
+ "1825 1.383618 \n",
+ "\n",
+ "[1826 rows x 6 columns]"
+ ]
+ },
+ "execution_count": 3157,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "APPL_df"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3158,
+ "id": "a45cda28",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "scaler = MinMaxScaler()\n",
+ "APPL_df = scaler.fit_transform(APPL_df)\n",
+ "\n",
+ "\n",
+ "\n",
+ "#print(x_test)\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3159,
+ "id": "1c7d5bd6",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "array([[0.09856869, 0.19892799, 0.1134646 , 0.10608008, 0.10367408,\n",
+ " 0.42322331],\n",
+ " [0.09340416, 0.27758168, 0.10635442, 0.09772615, 0.08937766,\n",
+ " 0.37159088],\n",
+ " [0.09340416, 0.27758168, 0.10635442, 0.09772615, 0.08937766,\n",
+ " 0.31507312],\n",
+ " ...,\n",
+ " [0.9810634 , 0.16762433, 1. , 1. , 0.99300175,\n",
+ " 0.373207 ],\n",
+ " [0.98952339, 0.16408109, 0.99174622, 0.99367276, 0.97850537,\n",
+ " 0.53090985],\n",
+ " [1. , 0.09225046, 0.99408313, 0.99856649, 1. ,\n",
+ " 0.35332439]])"
+ ]
+ },
+ "execution_count": 3159,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "APPL_df"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3160,
+ "id": "d65a6788",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "X=APPL_df\n",
+ "y=APPL_df[:, 0]"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3161,
+ "id": "7c7d42f9",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "#Split Train and Test\n",
+ "x_train, x_test, y_train, y_test = train_test_split(X, y, test_size = 0.3, random_state=123, shuffle = False, stratify=None)\n",
+ "\n",
+ "#APPL_train, APPL_test = train_test_split(APPL_df, test_size = 0.2, random_state=123, shuffle = False)\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "#x_train = np.reshape(x_train, (x_train.shape[0], x_train.shape[1]))\n",
+ "\n",
+ "\n",
+ "#print(x_train.shape)\n",
+ "#print(y_train.shape)\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3162,
+ "id": "f711b7fc",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "#APPL_train, APPL_test= np.split(APPL_df, [int(.60 *1826)])"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3163,
+ "id": "d59318a2",
+ "metadata": {
+ "scrolled": true
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "[[0.09856869 0.19892799 0.1134646 0.10608008 0.10367408 0.42322331]\n",
+ " [0.09340416 0.27758168 0.10635442 0.09772615 0.08937766 0.37159088]\n",
+ " [0.09340416 0.27758168 0.10635442 0.09772615 0.08937766 0.31507312]\n",
+ " ...\n",
+ " [0.46613546 0.07433947 0.47876889 0.47217004 0.46708323 0.32624953]\n",
+ " [0.46613546 0.07433947 0.47876889 0.47217004 0.46708323 0.32395324]\n",
+ " [0.46613546 0.07433947 0.47876889 0.47217004 0.46708323 0.31507312]]\n",
+ "[0.09856869 0.09340416 0.09340416 ... 0.46613546 0.46613546 0.46613546]\n"
+ ]
+ }
+ ],
+ "source": [
+ "#forecast_out= 3\n",
+ "#x1 = APPL_df.iloc[: , 3:]\n",
+ "#APPL_df['PrevNClose'] = APPL_df[['close_value']].shift(forecast_out)\n",
+ "#x3 = APPL_df['PrevNClose']\n",
+ "#print(x3.shape)\n",
+ "#print(x3)\n",
+ "\n",
+ "\n",
+ "#X = pd.concat([x1, x3] , axis = 1)\n",
+ "#X.pop(\"close_value\")\n",
+ "#X.pop(\"summarative_score\")\n",
+ "#X = X.drop(labels = None, axis = 0, index = 'close_value')\n",
+ "#X= X[forecast_out:]\n",
+ "#y_train = APPL_train[:, -1]\n",
+ "#y_test = APPL_test[:, -1]\n",
+ "#x_train = APPL_train[:, 0:-1]\n",
+ "#x_test = APPL_test[:, -1]\n",
+ "#\n",
+ "\n",
+ "\n",
+ "#print(X.shape)\n",
+ "print(x_train)\n",
+ "print(y_train)\n",
+ "#y = APPL_df[['close_value']]\n",
+ "#y = y[forecast_out:]\n",
+ "#print(y)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3164,
+ "id": "ff7f05cd",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "numpy.ndarray"
+ ]
+ },
+ "execution_count": 3164,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "type(x_train)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3165,
+ "id": "c3b685f9",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "#x_train = x_train.to_numpy()\n",
+ "#x_test = x_test.to_numpy()\n",
+ "\n",
+ "#y_train = y_train.to_numpy()\n",
+ "#y_test = y_test.to_numpy()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3166,
+ "id": "17398c30",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "(1278, 6)"
+ ]
+ },
+ "execution_count": 3166,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "x_train.shape"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3167,
+ "id": "96be0551",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "(548, 6)"
+ ]
+ },
+ "execution_count": 3167,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "x_test.shape"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3168,
+ "id": "33e8eed8",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "(1278,)"
+ ]
+ },
+ "execution_count": 3168,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "y_train.shape"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3169,
+ "id": "cd9e7e58",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "#print(x_train.count)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3170,
+ "id": "6857988c",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "from keras.preprocessing.sequence import TimeseriesGenerator\n",
+ "window_length = 7\n",
+ "batch_size = 32\n",
+ "num_features = 6\n",
+ "\n",
+ "#TimeseriesGenerator(x_train, y_train, length=window_length, sampling_rate=1, batch_size=batch_size)[0]"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3171,
+ "id": "7e9c2f03",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "train_generator = TimeseriesGenerator(x_train, y_train,\n",
+ " length=window_length,\n",
+ " sampling_rate=1,\n",
+ " batch_size=batch_size)\n",
+ "\n",
+ "test_generator = TimeseriesGenerator(x_test, y_test,\n",
+ " length=window_length,\n",
+ " sampling_rate=1,\n",
+ " batch_size=batch_size)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3172,
+ "id": "79cc572a",
+ "metadata": {
+ "scrolled": true
+ },
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "(array([[[0.09856869, 0.19892799, 0.1134646 , 0.10608008, 0.10367408,\n",
+ " 0.42322331],\n",
+ " [0.09340416, 0.27758168, 0.10635442, 0.09772615, 0.08937766,\n",
+ " 0.37159088],\n",
+ " [0.09340416, 0.27758168, 0.10635442, 0.09772615, 0.08937766,\n",
+ " 0.31507312],\n",
+ " ...,\n",
+ " [0.07825488, 0.35110731, 0.09094073, 0.08393475, 0.07968008,\n",
+ " 0.33902589],\n",
+ " [0.07830407, 0.36088252, 0.08223946, 0.0779041 , 0.07578105,\n",
+ " 0.31507312],\n",
+ " [0.08563278, 0.19014891, 0.08552108, 0.08171033, 0.08610347,\n",
+ " 0.31174987]],\n",
+ " \n",
+ " [[0.09340416, 0.27758168, 0.10635442, 0.09772615, 0.08937766,\n",
+ " 0.37159088],\n",
+ " [0.09340416, 0.27758168, 0.10635442, 0.09772615, 0.08937766,\n",
+ " 0.31507312],\n",
+ " [0.09340416, 0.27758168, 0.10635442, 0.09772615, 0.08937766,\n",
+ " 0.36318063],\n",
+ " ...,\n",
+ " [0.07830407, 0.36088252, 0.08223946, 0.0779041 , 0.07578105,\n",
+ " 0.31507312],\n",
+ " [0.08563278, 0.19014891, 0.08552108, 0.08171033, 0.08610347,\n",
+ " 0.31174987],\n",
+ " [0.10599577, 0.3176094 , 0.09561456, 0.10123579, 0.09612597,\n",
+ " 0.3396114 ]],\n",
+ " \n",
+ " [[0.09340416, 0.27758168, 0.10635442, 0.09772615, 0.08937766,\n",
+ " 0.31507312],\n",
+ " [0.09340416, 0.27758168, 0.10635442, 0.09772615, 0.08937766,\n",
+ " 0.36318063],\n",
+ " [0.07825488, 0.35110731, 0.09094073, 0.08393475, 0.07968008,\n",
+ " 0.33902589],\n",
+ " ...,\n",
+ " [0.08563278, 0.19014891, 0.08552108, 0.08171033, 0.08610347,\n",
+ " 0.31174987],\n",
+ " [0.10599577, 0.3176094 , 0.09561456, 0.10123579, 0.09612597,\n",
+ " 0.3396114 ],\n",
+ " [0.106586 , 0.28091651, 0.11271877, 0.10667326, 0.10367408,\n",
+ " 0.31507312]],\n",
+ " \n",
+ " ...,\n",
+ " \n",
+ " [[0.13191678, 0.48023209, 0.14120923, 0.14003955, 0.13686578,\n",
+ " 0.29789517],\n",
+ " [0.13191678, 0.48023209, 0.14120923, 0.14003955, 0.13686578,\n",
+ " 0.31507312],\n",
+ " [0.13191678, 0.48023209, 0.14120923, 0.14003955, 0.13686578,\n",
+ " 0.31507312],\n",
+ " ...,\n",
+ " [0.13924549, 0.26893376, 0.14170644, 0.13554128, 0.14066483,\n",
+ " 0.3058863 ],\n",
+ " [0.14372141, 0.3894031 , 0.14170644, 0.14256055, 0.14415896,\n",
+ " 0.31507312],\n",
+ " [0.14559048, 0.20485628, 0.14926412, 0.14117647, 0.14886278,\n",
+ " 0.34284997]],\n",
+ " \n",
+ " [[0.13191678, 0.48023209, 0.14120923, 0.14003955, 0.13686578,\n",
+ " 0.31507312],\n",
+ " [0.13191678, 0.48023209, 0.14120923, 0.14003955, 0.13686578,\n",
+ " 0.31507312],\n",
+ " [0.13914712, 0.34002283, 0.13946897, 0.13593673, 0.13301675,\n",
+ " 0.31507312],\n",
+ " ...,\n",
+ " [0.14372141, 0.3894031 , 0.14170644, 0.14256055, 0.14415896,\n",
+ " 0.31507312],\n",
+ " [0.14559048, 0.20485628, 0.14926412, 0.14117647, 0.14886278,\n",
+ " 0.34284997],\n",
+ " [0.14062269, 0.21440017, 0.14926412, 0.14127533, 0.14486378,\n",
+ " 0.3179024 ]],\n",
+ " \n",
+ " [[0.13191678, 0.48023209, 0.14120923, 0.14003955, 0.13686578,\n",
+ " 0.31507312],\n",
+ " [0.13914712, 0.34002283, 0.13946897, 0.13593673, 0.13301675,\n",
+ " 0.31507312],\n",
+ " [0.13924549, 0.26893376, 0.14170644, 0.13554128, 0.14066483,\n",
+ " 0.3058863 ],\n",
+ " ...,\n",
+ " [0.14559048, 0.20485628, 0.14926412, 0.14117647, 0.14886278,\n",
+ " 0.34284997],\n",
+ " [0.14062269, 0.21440017, 0.14926412, 0.14127533, 0.14486378,\n",
+ " 0.3179024 ],\n",
+ " [0.14062269, 0.21440017, 0.14926412, 0.14127533, 0.14486378,\n",
+ " 0.31507312]]]),\n",
+ " array([0.10599577, 0.106586 , 0.106586 , 0.106586 , 0.09301067,\n",
+ " 0.09778171, 0.0957159 , 0.08105848, 0.07697605, 0.07697605,\n",
+ " 0.07697605, 0.07697605, 0.09040382, 0.09448625, 0.10850425,\n",
+ " 0.11135704, 0.11135704, 0.11135704, 0.11194727, 0.09246963,\n",
+ " 0.12281737, 0.14047514, 0.13191678, 0.13191678, 0.13191678,\n",
+ " 0.13914712, 0.13924549, 0.14372141, 0.14559048, 0.14062269,\n",
+ " 0.14062269, 0.14062269]))"
+ ]
+ },
+ "execution_count": 3172,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "train_generator[0]"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3173,
+ "id": "9e15a358",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "from tensorflow.keras import regularizers\n",
+ "model = tf.keras.Sequential()\n",
+ "model.add(tf.keras.layers.LSTM(165,\n",
+ " input_shape= (window_length, num_features),\n",
+ " \n",
+ " return_sequences=True))\n",
+ "model.add(tf.keras.layers.LeakyReLU(alpha=0.3))\n",
+ "#model.add(tf.keras.layers.Dropout(0.4)) \n",
+ "model.add(tf.keras.layers.LSTM(100, return_sequences=True))\n",
+ "#model.add(tf.keras.layers.LeakyReLU(alpha=0.3))\n",
+ "model.add(tf.keras.layers.LSTM(70, return_sequences=False))\n",
+ "#model.add(tf.keras.layers.LeakyReLU(alpha=0.3))\n",
+ "model.add(tf.keras.layers.Dense(1))\n",
+ "\n",
+ "\n",
+ "#activity_regularizer=regularizers.L2(0.3),\n",
+ "#model.compile(optimizer='adam', loss='mse')\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3174,
+ "id": "b0543c24",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Model: \"sequential_41\"\n",
+ "_________________________________________________________________\n",
+ "Layer (type) Output Shape Param # \n",
+ "=================================================================\n",
+ "lstm_88 (LSTM) (None, 7, 165) 113520 \n",
+ "_________________________________________________________________\n",
+ "leaky_re_lu_51 (LeakyReLU) (None, 7, 165) 0 \n",
+ "_________________________________________________________________\n",
+ "lstm_89 (LSTM) (None, 7, 100) 106400 \n",
+ "_________________________________________________________________\n",
+ "lstm_90 (LSTM) (None, 70) 47880 \n",
+ "_________________________________________________________________\n",
+ "dense_40 (Dense) (None, 1) 71 \n",
+ "=================================================================\n",
+ "Total params: 267,871\n",
+ "Trainable params: 267,871\n",
+ "Non-trainable params: 0\n",
+ "_________________________________________________________________\n"
+ ]
+ }
+ ],
+ "source": [
+ "model.summary()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3175,
+ "id": "862a99e5",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "from keras.callbacks import EarlyStopping\n",
+ "early_stopping = EarlyStopping(monitor='val_loss', patience=3, mode='min')\n",
+ "\n",
+ "model.compile(loss=tf.losses.MeanSquaredError(),\n",
+ " optimizer=tf.optimizers.Adam(),\n",
+ " metrics=[tf.metrics.MeanAbsoluteError()])\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3176,
+ "id": "72047057",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "#import joblib\n",
+ "\n",
+ "#joblib_file = \"joblib_model.sav\"\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3177,
+ "id": "25932133",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "import os\n",
+ "def fit_max(trials):\n",
+ " jmin = 100\n",
+ " last_saved = 0\n",
+ " for x in range(trials):\n",
+ " \n",
+ " history = model.fit(train_generator, epochs=150,\n",
+ " validation_data=test_generator,\n",
+ " shuffle=False,\n",
+ " callbacks=[early_stopping])\n",
+ " j = min(history.history[\"val_mean_absolute_error\"])\n",
+ " \n",
+ " #plot graph\n",
+ " \n",
+ " plt.plot(history.history[\"loss\"])\n",
+ " plt.plot(history.history[\"val_loss\"])\n",
+ " plt.title(\"model loss\")\n",
+ " plt.ylabel(\"loss\")\n",
+ " plt.xlabel(\"epoch\")\n",
+ " plt.legend([\"train\", \"val\"], loc=\"upper left\")\n",
+ " plt.show()\n",
+ " #\n",
+ " \n",
+ " \n",
+ " if (jmin > j):\n",
+ " jmin = j\n",
+ " \n",
+ " print('so far best: ', jmin)\n",
+ "\n",
+ " model_json = model.to_json()\n",
+ " with open(\"model.json\", \"w\") as json_file:\n",
+ " json_file.write(model_json)\n",
+ " model.save_weights(\"model.h5\")\n",
+ " print(\"Saved model to disk\")\n",
+ " last_saved = x\n",
+ " # Save to file in the current working directory\n",
+ " \n",
+ " history_best = history\n",
+ " print('~~~~~~~~~~~~~~~~~~~~ ', x , ' ~~~~~~~~~~~~~~~~~~~~')\n",
+ " \n",
+ " print('loss: ', jmin )\n",
+ " print('best trial: ', last_saved )"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3178,
+ "id": "419c93a3",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Epoch 1/150\n",
+ "40/40 [==============================] - 20s 111ms/step - loss: 0.0108 - mean_absolute_error: 0.0876 - val_loss: 0.0359 - val_mean_absolute_error: 0.1607\n",
+ "Epoch 2/150\n",
+ "40/40 [==============================] - 1s 33ms/step - loss: 0.0074 - mean_absolute_error: 0.0718 - val_loss: 0.0126 - val_mean_absolute_error: 0.0843\n",
+ "Epoch 3/150\n",
+ "40/40 [==============================] - 1s 33ms/step - loss: 0.0110 - mean_absolute_error: 0.0861 - val_loss: 0.0089 - val_mean_absolute_error: 0.0740\n",
+ "Epoch 4/150\n",
+ "40/40 [==============================] - 1s 33ms/step - loss: 0.0114 - mean_absolute_error: 0.0887 - val_loss: 0.0116 - val_mean_absolute_error: 0.0860\n",
+ "Epoch 5/150\n",
+ "40/40 [==============================] - 1s 34ms/step - loss: 0.0135 - mean_absolute_error: 0.0982 - val_loss: 0.0118 - val_mean_absolute_error: 0.0800\n",
+ "Epoch 6/150\n",
+ "40/40 [==============================] - 1s 33ms/step - loss: 0.0094 - mean_absolute_error: 0.0788 - val_loss: 0.0074 - val_mean_absolute_error: 0.0642\n",
+ "Epoch 7/150\n",
+ "40/40 [==============================] - 1s 33ms/step - loss: 0.0045 - mean_absolute_error: 0.0527 - val_loss: 0.0050 - val_mean_absolute_error: 0.0495\n",
+ "Epoch 8/150\n",
+ "40/40 [==============================] - 1s 34ms/step - loss: 0.0023 - mean_absolute_error: 0.0381 - val_loss: 0.0094 - val_mean_absolute_error: 0.0662\n",
+ "Epoch 9/150\n",
+ "40/40 [==============================] - 1s 35ms/step - loss: 0.0027 - mean_absolute_error: 0.0403 - val_loss: 0.0093 - val_mean_absolute_error: 0.0654\n",
+ "Epoch 10/150\n",
+ "40/40 [==============================] - 1s 34ms/step - loss: 0.0017 - mean_absolute_error: 0.0339 - val_loss: 0.0086 - val_mean_absolute_error: 0.0629\n"
+ ]
+ },
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "so far best: 0.049507152289152145\n",
+ "Saved model to disk\n",
+ "~~~~~~~~~~~~~~~~~~~~ 0 ~~~~~~~~~~~~~~~~~~~~\n",
+ "Epoch 1/150\n",
+ "40/40 [==============================] - 1s 33ms/step - loss: 0.0020 - mean_absolute_error: 0.0357 - val_loss: 0.0066 - val_mean_absolute_error: 0.0565\n",
+ "Epoch 2/150\n",
+ "40/40 [==============================] - 1s 34ms/step - loss: 0.0024 - mean_absolute_error: 0.0372 - val_loss: 0.0066 - val_mean_absolute_error: 0.0549\n",
+ "Epoch 3/150\n",
+ "40/40 [==============================] - 1s 34ms/step - loss: 0.0043 - mean_absolute_error: 0.0477 - val_loss: 0.0073 - val_mean_absolute_error: 0.0559\n",
+ "Epoch 4/150\n",
+ "40/40 [==============================] - 1s 33ms/step - loss: 0.0073 - mean_absolute_error: 0.0601 - val_loss: 0.0246 - val_mean_absolute_error: 0.1364\n",
+ "Epoch 5/150\n",
+ "40/40 [==============================] - 1s 34ms/step - loss: 0.0035 - mean_absolute_error: 0.0446 - val_loss: 0.0133 - val_mean_absolute_error: 0.0921\n"
+ ]
+ },
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "~~~~~~~~~~~~~~~~~~~~ 1 ~~~~~~~~~~~~~~~~~~~~\n",
+ "Epoch 1/150\n",
+ "40/40 [==============================] - 1s 35ms/step - loss: 0.0020 - mean_absolute_error: 0.0370 - val_loss: 0.0113 - val_mean_absolute_error: 0.0822\n",
+ "Epoch 2/150\n",
+ "40/40 [==============================] - 1s 34ms/step - loss: 0.0012 - mean_absolute_error: 0.0287 - val_loss: 0.0102 - val_mean_absolute_error: 0.0724\n",
+ "Epoch 3/150\n",
+ "40/40 [==============================] - 1s 34ms/step - loss: 6.1441e-04 - mean_absolute_error: 0.0198 - val_loss: 0.0096 - val_mean_absolute_error: 0.0664\n",
+ "Epoch 4/150\n",
+ "40/40 [==============================] - 1s 33ms/step - loss: 4.6281e-04 - mean_absolute_error: 0.0164 - val_loss: 0.0103 - val_mean_absolute_error: 0.0692\n",
+ "Epoch 5/150\n",
+ "40/40 [==============================] - 1s 33ms/step - loss: 4.7889e-04 - mean_absolute_error: 0.0167 - val_loss: 0.0107 - val_mean_absolute_error: 0.0720\n",
+ "Epoch 6/150\n",
+ "40/40 [==============================] - 1s 33ms/step - loss: 5.0635e-04 - mean_absolute_error: 0.0172 - val_loss: 0.0105 - val_mean_absolute_error: 0.0721\n"
+ ]
+ },
+ {
+ "data": {
+ "image/png": "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JTVIPxA1Nr7PkagZyczMRE5ODjZt2oRNmzbdsE6FgIAAq+UBAQHYs2cPcnNzUVJSgsLCQlkwVujWrRsA4MqVK+jVqxcuX76MLl26wM7O7qbtrO7l1W5ubrh+/fpN1yVqChiORM2IyWQCAEyYMAH/8z//U22dzp07SzfmWI7oAEjLbsayXsWp09pQKpW12iZRU8VwJGpG2rVrB1dXV5SVleH++++/Yb3k5GQA5muMli5dugQ3Nze4ubnB2dkZTk5OOH/+vFW9xMREAJDest65c2ccO3YMer0eGo2mAY6GqOniNUeiZkSpVGL06NHYuXMnTp48abU8NzcXBoNB+rx7924pKAFzWO7duxcPPPCAtL3w8HDs2bNHFqT5+flYv349OnTogB49egAARo8ejZycHKxevdpqvxwRUkvDkSNRM/P666/j0KFDGD58OB577DEEBwcjPz8fZ86cwY4dO/Drr79KdQMCAjBy5EjMmDEDJpMJa9euhZ2dHRYsWCDVefXVV7F//36MGDFC9ijH33//jU8//RQKhfnf0JMnT0ZcXByWLl2K33//HXfffTdKSkqQkJCAsWPHYvLkybe9L4gaC8ORqJlp164d9u7di+joaHz33Xf49NNP4ebmhi5dumDhwoVwd3dHamoqAGDixIlwdHTE6tWrkZ6ejp49e2LZsmWyG3ACAwOxe/duLF26FKtXr4Zer0evXr3wxRdfYNiwYVI9pVKJL7/8Eu+88w6++uorfPfdd3B3d8eAAQPQt2/f290NRI2KzzkStUAVzxsuWbIE//u//2vr5hA1O7zmSEREZIHhSEREZIHhSEREZIHXHImIiCxw5EhERGSB4UhERGSB4UhERGSB4UhERGSB4UhERGSB4UhERGTh/wMGVxgH1ACftQAAAABJRU5ErkJggg==\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "~~~~~~~~~~~~~~~~~~~~ 2 ~~~~~~~~~~~~~~~~~~~~\n",
+ "Epoch 1/150\n",
+ "40/40 [==============================] - 1s 36ms/step - loss: 4.8384e-04 - mean_absolute_error: 0.0167 - val_loss: 0.0099 - val_mean_absolute_error: 0.0698\n",
+ "Epoch 2/150\n",
+ "40/40 [==============================] - 1s 33ms/step - loss: 4.2647e-04 - mean_absolute_error: 0.0155 - val_loss: 0.0092 - val_mean_absolute_error: 0.0667\n",
+ "Epoch 3/150\n",
+ "40/40 [==============================] - 1s 34ms/step - loss: 3.9738e-04 - mean_absolute_error: 0.0149 - val_loss: 0.0087 - val_mean_absolute_error: 0.0643\n",
+ "Epoch 4/150\n",
+ "40/40 [==============================] - 1s 33ms/step - loss: 4.0988e-04 - mean_absolute_error: 0.0153 - val_loss: 0.0085 - val_mean_absolute_error: 0.0631\n",
+ "Epoch 5/150\n",
+ "40/40 [==============================] - 1s 34ms/step - loss: 4.2508e-04 - mean_absolute_error: 0.0156 - val_loss: 0.0086 - val_mean_absolute_error: 0.0630\n",
+ "Epoch 6/150\n",
+ "40/40 [==============================] - 1s 34ms/step - loss: 4.1235e-04 - mean_absolute_error: 0.0152 - val_loss: 0.0086 - val_mean_absolute_error: 0.0632\n",
+ "Epoch 7/150\n",
+ "40/40 [==============================] - 1s 34ms/step - loss: 3.9679e-04 - mean_absolute_error: 0.0149 - val_loss: 0.0085 - val_mean_absolute_error: 0.0625\n",
+ "Epoch 8/150\n",
+ "40/40 [==============================] - 1s 34ms/step - loss: 4.0083e-04 - mean_absolute_error: 0.0149 - val_loss: 0.0079 - val_mean_absolute_error: 0.0602\n",
+ "Epoch 9/150\n",
+ "40/40 [==============================] - 1s 34ms/step - loss: 4.1356e-04 - mean_absolute_error: 0.0151 - val_loss: 0.0071 - val_mean_absolute_error: 0.0571\n",
+ "Epoch 10/150\n",
+ "40/40 [==============================] - 1s 33ms/step - loss: 4.2187e-04 - mean_absolute_error: 0.0153 - val_loss: 0.0065 - val_mean_absolute_error: 0.0544\n",
+ "Epoch 11/150\n",
+ "40/40 [==============================] - 1s 30ms/step - loss: 4.2763e-04 - mean_absolute_error: 0.0155 - val_loss: 0.0061 - val_mean_absolute_error: 0.0533\n",
+ "Epoch 12/150\n",
+ "40/40 [==============================] - 1s 33ms/step - loss: 4.3840e-04 - mean_absolute_error: 0.0158 - val_loss: 0.0061 - val_mean_absolute_error: 0.0534\n",
+ "Epoch 13/150\n",
+ "40/40 [==============================] - 1s 33ms/step - loss: 4.5202e-04 - mean_absolute_error: 0.0162 - val_loss: 0.0062 - val_mean_absolute_error: 0.0542\n",
+ "Epoch 14/150\n",
+ "40/40 [==============================] - 1s 33ms/step - loss: 4.5504e-04 - mean_absolute_error: 0.0163 - val_loss: 0.0063 - val_mean_absolute_error: 0.0549\n",
+ "Epoch 15/150\n",
+ "40/40 [==============================] - 1s 33ms/step - loss: 4.3590e-04 - mean_absolute_error: 0.0159 - val_loss: 0.0064 - val_mean_absolute_error: 0.0549\n"
+ ]
+ },
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "~~~~~~~~~~~~~~~~~~~~ 3 ~~~~~~~~~~~~~~~~~~~~\n",
+ "Epoch 1/150\n",
+ "40/40 [==============================] - 1s 35ms/step - loss: 3.9952e-04 - mean_absolute_error: 0.0151 - val_loss: 0.0064 - val_mean_absolute_error: 0.0542\n",
+ "Epoch 2/150\n",
+ "40/40 [==============================] - 1s 34ms/step - loss: 3.6341e-04 - mean_absolute_error: 0.0143 - val_loss: 0.0062 - val_mean_absolute_error: 0.0529\n",
+ "Epoch 3/150\n",
+ "40/40 [==============================] - 1s 34ms/step - loss: 3.4025e-04 - mean_absolute_error: 0.0137 - val_loss: 0.0058 - val_mean_absolute_error: 0.0509\n",
+ "Epoch 4/150\n",
+ "40/40 [==============================] - 1s 33ms/step - loss: 3.3271e-04 - mean_absolute_error: 0.0136 - val_loss: 0.0054 - val_mean_absolute_error: 0.0484\n",
+ "Epoch 5/150\n",
+ "40/40 [==============================] - 1s 34ms/step - loss: 3.3815e-04 - mean_absolute_error: 0.0137 - val_loss: 0.0049 - val_mean_absolute_error: 0.0460\n",
+ "Epoch 6/150\n",
+ "40/40 [==============================] - 1s 33ms/step - loss: 3.5201e-04 - mean_absolute_error: 0.0140 - val_loss: 0.0045 - val_mean_absolute_error: 0.0437\n",
+ "Epoch 7/150\n",
+ "40/40 [==============================] - 1s 34ms/step - loss: 3.6861e-04 - mean_absolute_error: 0.0144 - val_loss: 0.0041 - val_mean_absolute_error: 0.0416\n",
+ "Epoch 8/150\n",
+ "40/40 [==============================] - 1s 32ms/step - loss: 3.8232e-04 - mean_absolute_error: 0.0147 - val_loss: 0.0038 - val_mean_absolute_error: 0.0399\n",
+ "Epoch 9/150\n",
+ "40/40 [==============================] - 1s 33ms/step - loss: 3.8995e-04 - mean_absolute_error: 0.0149 - val_loss: 0.0036 - val_mean_absolute_error: 0.0386\n",
+ "Epoch 10/150\n",
+ "40/40 [==============================] - 1s 33ms/step - loss: 3.9194e-04 - mean_absolute_error: 0.0149 - val_loss: 0.0034 - val_mean_absolute_error: 0.0377\n",
+ "Epoch 11/150\n",
+ "40/40 [==============================] - 1s 33ms/step - loss: 3.9031e-04 - mean_absolute_error: 0.0149 - val_loss: 0.0033 - val_mean_absolute_error: 0.0371\n",
+ "Epoch 12/150\n",
+ "40/40 [==============================] - 1s 33ms/step - loss: 3.8719e-04 - mean_absolute_error: 0.0148 - val_loss: 0.0032 - val_mean_absolute_error: 0.0366\n",
+ "Epoch 13/150\n",
+ "40/40 [==============================] - 1s 32ms/step - loss: 3.8323e-04 - mean_absolute_error: 0.0147 - val_loss: 0.0031 - val_mean_absolute_error: 0.0361\n",
+ "Epoch 14/150\n",
+ "40/40 [==============================] - 1s 33ms/step - loss: 3.7854e-04 - mean_absolute_error: 0.0147 - val_loss: 0.0030 - val_mean_absolute_error: 0.0357\n",
+ "Epoch 15/150\n",
+ "40/40 [==============================] - 1s 33ms/step - loss: 3.7319e-04 - mean_absolute_error: 0.0145 - val_loss: 0.0029 - val_mean_absolute_error: 0.0353\n",
+ "Epoch 16/150\n",
+ "40/40 [==============================] - 1s 34ms/step - loss: 3.6714e-04 - mean_absolute_error: 0.0144 - val_loss: 0.0029 - val_mean_absolute_error: 0.0350\n",
+ "Epoch 17/150\n",
+ "40/40 [==============================] - 1s 30ms/step - loss: 3.6102e-04 - mean_absolute_error: 0.0143 - val_loss: 0.0028 - val_mean_absolute_error: 0.0347\n",
+ "Epoch 18/150\n",
+ "40/40 [==============================] - 1s 33ms/step - loss: 3.5459e-04 - mean_absolute_error: 0.0142 - val_loss: 0.0028 - val_mean_absolute_error: 0.0344\n",
+ "Epoch 19/150\n",
+ "40/40 [==============================] - 1s 33ms/step - loss: 3.4892e-04 - mean_absolute_error: 0.0141 - val_loss: 0.0027 - val_mean_absolute_error: 0.0342\n",
+ "Epoch 20/150\n",
+ "40/40 [==============================] - 1s 32ms/step - loss: 3.4277e-04 - mean_absolute_error: 0.0139 - val_loss: 0.0027 - val_mean_absolute_error: 0.0339\n",
+ "Epoch 21/150\n",
+ "40/40 [==============================] - 1s 32ms/step - loss: 3.3721e-04 - mean_absolute_error: 0.0138 - val_loss: 0.0027 - val_mean_absolute_error: 0.0338\n",
+ "Epoch 22/150\n",
+ "40/40 [==============================] - 1s 33ms/step - loss: 3.3134e-04 - mean_absolute_error: 0.0137 - val_loss: 0.0026 - val_mean_absolute_error: 0.0336\n",
+ "Epoch 23/150\n",
+ "40/40 [==============================] - 1s 32ms/step - loss: 3.2561e-04 - mean_absolute_error: 0.0136 - val_loss: 0.0026 - val_mean_absolute_error: 0.0335\n",
+ "Epoch 24/150\n",
+ "40/40 [==============================] - 1s 33ms/step - loss: 3.1945e-04 - mean_absolute_error: 0.0134 - val_loss: 0.0026 - val_mean_absolute_error: 0.0334\n",
+ "Epoch 25/150\n",
+ "40/40 [==============================] - 1s 34ms/step - loss: 3.1360e-04 - mean_absolute_error: 0.0133 - val_loss: 0.0026 - val_mean_absolute_error: 0.0333\n",
+ "Epoch 26/150\n",
+ "40/40 [==============================] - 1s 32ms/step - loss: 3.0795e-04 - mean_absolute_error: 0.0132 - val_loss: 0.0026 - val_mean_absolute_error: 0.0332\n",
+ "Epoch 27/150\n",
+ "40/40 [==============================] - 1s 33ms/step - loss: 3.0239e-04 - mean_absolute_error: 0.0131 - val_loss: 0.0026 - val_mean_absolute_error: 0.0332\n",
+ "Epoch 28/150\n",
+ "40/40 [==============================] - 1s 33ms/step - loss: 2.9695e-04 - mean_absolute_error: 0.0129 - val_loss: 0.0026 - val_mean_absolute_error: 0.0332\n",
+ "Epoch 29/150\n",
+ "40/40 [==============================] - 1s 32ms/step - loss: 2.9145e-04 - mean_absolute_error: 0.0128 - val_loss: 0.0026 - val_mean_absolute_error: 0.0332\n",
+ "Epoch 30/150\n",
+ "40/40 [==============================] - 1s 33ms/step - loss: 2.8596e-04 - mean_absolute_error: 0.0127 - val_loss: 0.0026 - val_mean_absolute_error: 0.0333\n"
+ ]
+ },
+ {
+ "data": {
+ "image/png": "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4krIOUshGgBvb286dOhATk4Ov/zyi8P8igtuevfubSvr1asXgO0WlcrS09P5888/Hcorrr7dtWtXbVT7slXUNSUlxWHe4cOHOXnyJJ06dary0KnBYOCaa65h1qxZvP322wBs2LChyu0EBwdz55138tFHHxEVFUVaWhqpqam12BLRXEmyFKKB+Pvf/w5Yr341mUy28oKCAp577jkA7rnnHlv5uHHj0Ov1LF++nPT0dFu5xWJhwYIFmM1mh208+OCDGAwG5s2bx5EjRxzmm81mduzYUVtNsqlo23PPPUdhYaGt3GQy8dRTTwH2bdu1axd5eXkO66nogbq7uwNw6tQpvv/+e4e40tJS272YFbFC1IQchhWigYiLi+Obb77hm2++YcCAAdxyyy2YTCa++OILMjIymDBhgu22EYD27dszf/585s2bx4033sjo0aNp2bIlW7ZsIS8vj27dunHo0CG7bYSHh7N06VLi4uLo378/N910Ex07dsRsNvPnn3+yZ88eSktLHc511tSYMWPYtGkTa9as4brrruO2226z3Wf566+/MmjQIKZOnWqLX7x4MVu3buX6668nLCwMb29vfv31VzZv3oyHh4ctNiMjg5tvvpnw8HB69+5NmzZtKCoqYuvWrfz222/ccccddOrUqVbbIponSZZCNBAGg4G1a9eybNkykpKSWLFiBRqNhoiICObMmWPrnVU2ffp0goKCePPNN/noo49o0aIFMTExLFiwgPvvv7/K7YwdO5bu3buzZMkSvv32W5KTk3F3dycoKIibbrqJkSNH1kn73n77bQYMGMC///1v/v3vf2OxWOjYsSPPPfccDz/8sN15xfvvv5+WLVvyww8/sHfvXkwmE8HBwUyYMIHp06fbrooNDQ1l7ty57Nixg507d3Lq1Cl8fX3p0KEDjz32GJMmTaqTtojmR8nLy6t6DC0hhBBCAHLOUgghhHBKkqUQQgjhhCRLIYQQwglJlkIIIYQTkiyFEEIIJyRZCiGEEE5IshRCCCGckGRZT9LS0lxdhXojbW2amktbm0s7QdpaHZIshRBCCCckWQohhBBOSLIUQgghnJBkKYQQQjghTx2pBeXl5RQVFV0yxt3d3fZ8vabuStrq5eWFTie/jkKIhkn+O9VQeXk5Z86cwc/PD0VRLhrn5ubWbB5CW922qqpKXl4e3t7ekjCFEA2SHIat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QcnLy3PpOPMrVqzgjTfeIDs7m4iICF588UUGDhwIwNSpU0lJSeGnn36yxR86dIiZM2fy448/4ufnR2xsLLNnz7Y735iSksLcuXP55ZdfCAoK4vHHH2fKlCl22123bh3PP/886enpXHXVVcybN88uMQshhBAVXH6Bz/33389PP/1ETk4O3377rS1RgvV+yMqJEqBbt2785z//ITs7m9TUVObMmeNwYc7111/P9u3bycnJ4eDBgw6JEmDkyJF8//33nDx5kr1799ZZoqzuCEWN0UsvvYSfn5/dq3Pnzq6uVq3YuXMnEyZMICIiAj8/Pz744AO7+aqq8tJLL9G1a1eCgoK47bbb+Pnnn11U25px1tapU6c67OebbrrJRbWtmddee40hQ4bQrl07OnbsyF133cXhw4ftYprCvr2cdjaV/bp8+XIGDBhAu3btaNeuHTfffDObN2+2za/p/nR5smzKqjtCUWMWHh5Oamqq7dVUvhQUFRURGRnJwoUL7e7vrfDGG2+wZMkS4uPj2bp1KwEBAYwePZozZ864oLY146ytAIMHD7bbz2vWrKnnWtaOlJQU7rvvPjZv3sz69evR6XSMGjWKv/76yxbTFPbt5bQTmsZ+DQkJYcGCBXz77bckJydz4403cvfdd/O///0PqPn+dPlh2KYsJiaGbt268eabb9rKrr76akaOHMn8+fNdWLPa9dJLL7F+/Xp2797t6qrUqTZt2vDyyy9z9913A9Zvql27duWBBx5g5syZABQXFxMeHs4///lP27n3xujCtoK1B3L69Gk+/vhjF9asbhQWFhIaGsoHH3zArbfe2mT37YXthKa9X8PCwpg/fz733ntvjfen9CzryJWMUNSYpaenExERQc+ePZkyZQrp6emurlKdO378ONnZ2Xb72MPDgwEDBjTJfQywe/duOnXqRN++fXn00Uc5efKkq6tUKwoLC7FYLPj5+QFNd99e2M4KTW2/ms1mPv30U4qKioiKiqqV/SkPf64jVzJCUWN1zTXXsHTpUsLDwzl16hQJCQkMHTqU7777znZva1OUnZ0NUOU+zszMdEWV6tRNN93EHXfcQfv27Tlx4gTPP/88I0aMYNu2bbi5ubm6ejUyZ84cevToQVRUFNB09+2F7YSmtV8PHTrE0KFDKSkpwcvLi/fff59u3brZEmJN9qckyzrWHEYKuvnmm+2mr7nmGnr37u1wy05T1Rz2McCYMWNs77t160bv3r3p0aMHmzdvbtRXks+dO5fvvvuOTZs2odVq7eY1pX17sXY2pf0aHh7Ojh07yM/PZ/369UydOpUNGzbY5tdkf8ph2DpyJSMUNRUtWrSga9euHD161NVVqVNGoxGgWe5jgODgYEJCQhr1fv7HP/7Bp59+yvr16wkLC7OVN7V9e7F2VqUx71eDwUCHDh3o06cP8+fPp0ePHixdurRW9qckyzpyJSMUNRUlJSWkpaXZfkGbqvbt22M0Gu32cUlJCbt3727y+xispxoyMzMb7X6ePXs2n3zyCevXr3e41akp7dtLtbMqjX2/VmaxWCgrK6uV/SmHYetQXFwcDz30EH379qVfv34kJibajVDUVMybN49hw4bRtm1b2znLs2fPMnHiRFdXrcYKCwtt37AtFgt//PEHBw8epGXLlrRr146pU6fy6quvEh4eTqdOnXjllVfw8vJi7NixLq559V2qrS1btmThwoWMGDECo9HIiRMneO655wgICOD22293cc2rb+bMmXz88ce8//77+Pn52c5Renl50aJFCxRFaRL71lk7CwsLm8x+ffbZZxk6dCht2rShsLCQTz75hJSUFJKSkmplf8qtI3XsUiMUNRVTpkxh165d5Obm0rp1a6655hqeeuopunbt6uqq1diOHTu44447HMonTpzIsmXLUFWVhQsX8u6775KXl0ffvn155ZVXiIyMdEFta+ZSbX3ttde4++67OXjwIPn5+RiNRm644Qaeeuop2rZt64La1syFV4NWmD17Nv/4xz8AmsS+ddbO4uLiJrNfp06dyo4dO8jJycHHx4du3brx6KOPEhMTA9R8f0qyFEIIIZyQc5ZCCCGEE5IshRBCCCckWQohhBBOSLIUQgghnJBkKYQQQjghyVIIIYRwQpKlEKLWHD9+HD8/P/7v//7P1VURolZJshRCCCGckGQphBBCOCHJUgghhHBCkqUQjVBWVhaPPfYYXbt2JTAwkKuvvpo33ngDVbWOXln53OHbb79Nz549CQoK4qabbmLfvn0O6zt8+DATJkwgNDSU4OBgbr75Zr7++muHuLKyMhISErj22msJDAwkPDyciRMn8vPPPzvEfvjhh7a4AQMGsG3btlr/HISoLzI2rBCNzMmTJxkyZAjl5eVMnjyZoKAgdu/eTVJSEg8//DALFy7k+PHj9OrVi8jISPLz87nvvvuwWCysWLGCwsJCtm3bRqdOnQD49ddfiY6OxmAwcP/99+Pl5cXq1atJTU3lvffesw2ubrFYGDduHFu2bGHEiBFcf/31FBcXs2PHDsaMGcPEiRNt2+3duze5ubnExsbi7u7OsmXL+Ouvv/jpp59o2bKlKz8+Ia6IJEshGpnHHnuML7/8kp07dxIYGGgrf+aZZ1i8eDH79+8HoFevXhgMBr7//nvat28PWBPjddddx6hRo1ixYgUA99xzD19++SW7du2yPe+woKCAAQMGAHDw4EE0Gg0ffPABcXFxzJs3j5kzZ9rVqeKJ8xXJ0tfXlx9++IHWrVvb1nHjjTeSkJDAAw88ULcfkBB1QA7DCtGIqKrKunXruOWWW9BqteTm5tpeMTExWCwWdu7caYu/9dZbbYkSoFOnTsTExNgOsZrNZrZs2cKwYcPsHgzs4+PDlClT+OOPPzh06BAA69evx9fXl0ceecShXoqi2E2PGjXKligBevbsiY+PD+np6bXyOQhR3+Thz0I0IqdOnSIvL4/333+f999//6IxFTp27Ogwv2PHjmzevJn8/HxKSkooKiqyS5QVunTpAsCJEyfo0aMHx44do1OnTri5uTmtZ7t27RzKfH19+euvv5wuK0RDJMlSiEbEYrEAMHbsWP72t79VGdOhQwfbhT4X9vgA2zxnLoyrONR6ObRa7WWtU4jGQpKlEI1I69at8fHxoby8nMGDB1807vjx44D1HOWFjh49iq+vL76+vrRo0QIvLy+OHDniEJeWlgZAaGgoYE3Ce/bsoaysDIPBUAutEaLxkHOWQjQiWq2WESNGsGHDBg4cOOAwPz8/H5PJZJvetGmTLXGCNXlu2bKFm266yba+mJgYNm/ebJdYz5w5w8qVK2nbti3dunUDYMSIEeTl5bFkyRKH7UqPUTR10rMUopF59tln2blzJ8OGDePvf/87kZGRnDlzhsOHD/PFF1/w448/2mI7duzI8OHDuf/++7FYLCxfvhw3Nzdmz55ti3n66afZtm0bt956q92tI3/88QfvvvsuGo31O/WECRNISkpiwYIF/Pe//2XgwIGUlJSQkpLC6NGjmTBhQr1/FkLUF0mWQjQyrVu3ZsuWLSQkJLBx40beffddfH196dSpE3PmzKFly5ZkZmYCMG7cODw9PVmyZAnZ2dl0796dF1980e6CnvDwcDZt2sSCBQtYsmQJZWVl9OjRg48++oihQ4fa4rRaLR9//DGvvvoqn3zyCRs3bqRly5Zcc8019O7du74/BiHqldxnKUQTVHG/4/z58/l//+//ubo6QjR6cs5SCCGEcEKSpRBCCOGEJEshhBDCCTlnKYQQQjghPUshhBDCCUmWQgghhBOSLIUQQggnJFkKIYQQTkiyFEIIIZyQZCmEEEI48f8B+hOiIcFHUv0AAAAASUVORK5CYII=\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "so far best: 0.033207375556230545\n",
+ "Saved model to disk\n",
+ "~~~~~~~~~~~~~~~~~~~~ 4 ~~~~~~~~~~~~~~~~~~~~\n",
+ "Epoch 1/150\n",
+ "40/40 [==============================] - 1s 35ms/step - loss: 2.8002e-04 - mean_absolute_error: 0.0126 - val_loss: 0.0026 - val_mean_absolute_error: 0.0333\n",
+ "Epoch 2/150\n",
+ "40/40 [==============================] - 1s 34ms/step - loss: 2.7515e-04 - mean_absolute_error: 0.0124 - val_loss: 0.0027 - val_mean_absolute_error: 0.0334\n",
+ "Epoch 3/150\n",
+ "40/40 [==============================] - 1s 33ms/step - loss: 2.7058e-04 - mean_absolute_error: 0.0123 - val_loss: 0.0027 - val_mean_absolute_error: 0.0336\n",
+ "Epoch 4/150\n",
+ "40/40 [==============================] - 1s 33ms/step - loss: 2.6595e-04 - mean_absolute_error: 0.0122 - val_loss: 0.0027 - val_mean_absolute_error: 0.0337\n"
+ ]
+ },
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "~~~~~~~~~~~~~~~~~~~~ 5 ~~~~~~~~~~~~~~~~~~~~\n",
+ "Epoch 1/150\n",
+ "40/40 [==============================] - 1s 35ms/step - loss: 2.6165e-04 - mean_absolute_error: 0.0121 - val_loss: 0.0027 - val_mean_absolute_error: 0.0339\n",
+ "Epoch 2/150\n",
+ "40/40 [==============================] - 1s 34ms/step - loss: 2.5782e-04 - mean_absolute_error: 0.0121 - val_loss: 0.0028 - val_mean_absolute_error: 0.0342\n",
+ "Epoch 3/150\n",
+ "40/40 [==============================] - 1s 34ms/step - loss: 2.5420e-04 - mean_absolute_error: 0.0120 - val_loss: 0.0028 - val_mean_absolute_error: 0.0344\n",
+ "Epoch 4/150\n",
+ "40/40 [==============================] - 1s 31ms/step - loss: 2.5083e-04 - mean_absolute_error: 0.0119 - val_loss: 0.0029 - val_mean_absolute_error: 0.0347\n"
+ ]
+ },
+ {
+ "data": {
+ "image/png": "iVBORw0KGgoAAAANSUhEUgAAAdAAAAE0CAYAAACciGKUAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/YYfK9AAAACXBIWXMAAAsTAAALEwEAmpwYAAA60UlEQVR4nO3de1xUZf4H8M9wGS4ijBeYQRMpQMRU0AhFSxTUFEu8YWJbLGaugq6bmZJZRmnKsuvPTYRKwrIig9RE86c/RUwRL7nl0mrhlEAWlwkM8AbDZX5/IEeHGW5HYGD4vF8vXjHP+Z5znucc8jPPOXORlJaWakBEREStYmLoDhAREXVFDFAiIiIRGKBEREQiMECJiIhEYIASERGJwAAlIiISgQFK1I1NmzYNMpkMeXl597WdJUuWtGo79fsl6soYoERERCIwQImIiERggBIREYnAACVqR3l5eZDJZJg2bRpUKhUiIiLg5uaGfv36YfLkyTh16hQA4MaNG1izZg2GDh0KBwcHjBo1Cl9++aXebVZWVuJf//oXxo4dC0dHRzzwwAOYOHEidu7cCY1G/ydz7t69G35+flAoFHB1dcWiRYtQUFDQZN8vXLiABQsWYPDgwbC3t4e7uzsWLVqEK1eu3NcxaYpGo8GHH36IgIAAPPDAA3B0dMRjjz2GrVu3Qq1W69T/5z//wfPPP49hw4ZBLpfjoYcewpgxY/DSSy+hrKxMqKusrERcXBzGjRsHZ2dnKBQKDB06FHPmzEFqamq7jYeMm5mhO0DUHZSVleGJJ55Ar169EBwcjPz8fOzbtw+zZ8/G//3f/+Fvf/sbbt26hcDAQFy/fh27d+9GWFgY+vfvj0cffVTYTlVVFWbPno2MjAy4urpiwYIFUKvVOHDgAP76178iMzMT7777rta+t23bhldffRW2trZ4+umnIZPJcOzYMUyePBm2trZ6+5ucnIzw8HBIpVJMnToV/fv3x5UrV7B7924cOnQIBw4cwPDhw9v8OC1atAgpKSno168f5s+fD3Nzcxw6dAivvfYajh49it27d8PMrO6fraysLEyePBkSiQRTpkzBgw8+iBs3buCXX35BUlISIiIiYGdnBwBYvHgx9u7di8GDB2Pu3Lno0aMHCgoK8O233+LAgQOYPn16m4+FjB8DlKgD/Pe//8Vf/vIXbNq0CRKJBACwefNmvPnmm3jyyScxYcIEJCQkwNzcHADg7++PF154AVu2bMGnn34qbGfr1q3IyMiAv78/du3aBalUCgBYu3YtpkyZgl27dmHKlCmYMWMGgLoZcFRUFGxtbXHixAk4OzsDANatW4cFCxboneVeuXIFy5YtwwMPPICDBw+iX79+wrKTJ09ixowZWLp0KU6cONGmx+iLL75ASkoKHn74Yfzv//6vEO7r1q3DnDlz8PXXXyMuLg5//etfAQC7du1CZWUlPv74Yzz11FNa27p+/bpwbMrKyvDll1/C09MTaWlpQgDXKykpadNxUPfBS7hEHaBHjx54/fXXhfAEgLlz5wIAysvLsX79eiE8AWDWrFkwNzfH999/r7WdTz75BACwYcMGISAAwM7ODq+//joA4KOPPhLaU1JSoFar8cILLwjhCQAmJiZ44403YGpqqtPXDz74AJWVlXj77be1whMAHn/8cUydOhVZWVn44YcfWnsYmlQ/tnXr1mnNjKVSKd5++20A2mMzMan758va2lpnWz179oSFhYVQp9FoYGFhoXe8ffr0abtBULfCGShRB3BxcUGPHj202hQKBQBAJpNhwIABWstMTU1hb2+P/Px8oe369eu4cuUKHBwc4OHhobMPPz8/AHX3BevV/z527FidemdnZ/Tv3x+//PKLVvvZs2cBAJmZmVrbqvf7778DAC5fvqy3H2LV7+vxxx/XWTZ06FDY29vj559/xo0bN2BjY4PZs2fj3XffxTPPPIPp06dj3Lhx8PHxwaBBg7TW7dmzJwIDA3Hw4EGMHTsWTz75JHx9ffHoo4/CxsamzfpP3Q8DlKgD9OzZU6et/lKivmVAXYhWV1cLj8vLywEADg4Oeuutra1ha2sr1N27jr29vd51HBwcdAL02rVrAIDY2Fi969S7efNmk8tbq7y8HLa2trCystK7XC6X4/fff0d5eTlsbGwwYsQIHD58GP/4xz9w4MABJCcnAwCcnJzwt7/9DQsWLBDWTUxMxNatW5GSkoK///3vAABzc3NMmTIF69evx8CBA9t0LNQ9MECJuoj6y5oqlUrv8lu3bqG8vBy9e/fWWad+1tiQvm3Vr5OTk4NevXrdV59bw9bWFn/88Qdu376tN0SLioq0+gcAjzzyCD777DOo1WpkZWXh2LFj2L59O1asWAFra2vMmzcPAGBpaYmXX34ZL7/8MgoKCnD6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\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "~~~~~~~~~~~~~~~~~~~~ 6 ~~~~~~~~~~~~~~~~~~~~\n",
+ "Epoch 1/150\n",
+ "40/40 [==============================] - 1s 35ms/step - loss: 2.4765e-04 - mean_absolute_error: 0.0119 - val_loss: 0.0029 - val_mean_absolute_error: 0.0348\n",
+ "Epoch 2/150\n",
+ "40/40 [==============================] - 1s 34ms/step - loss: 2.4439e-04 - mean_absolute_error: 0.0118 - val_loss: 0.0029 - val_mean_absolute_error: 0.0350\n",
+ "Epoch 3/150\n",
+ "40/40 [==============================] - 1s 33ms/step - loss: 2.4185e-04 - mean_absolute_error: 0.0117 - val_loss: 0.0030 - val_mean_absolute_error: 0.0353\n",
+ "Epoch 4/150\n",
+ "40/40 [==============================] - 1s 34ms/step - loss: 2.3953e-04 - mean_absolute_error: 0.0117 - val_loss: 0.0030 - val_mean_absolute_error: 0.0357\n"
+ ]
+ },
+ {
+ "data": {
+ "image/png": "iVBORw0KGgoAAAANSUhEUgAAAdAAAAE0CAYAAACciGKUAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/YYfK9AAAACXBIWXMAAAsTAAALEwEAmpwYAAA/DUlEQVR4nO3de1yUZf7/8ddwRhHwwEFLZFVUNE9lmFaSkKZWnnG1dnNxO4puu+Uq69oaZRnL1s81D20SdqSCzdKsb20qpnhcK9dWUzHF2hRIDMgD5/n9gYyOM5xuwZHx/Xw8fDBz3Z/7nuu6b+Xtdd/3zJgKCgrMiIiISIO4OLoDIiIizZECVERExAAFqIiIiAEKUBEREQMUoCIiIgYoQEVERAxQgIpcxe688078/f05evToJW3nkUceadB2ql9XpDlTgIqIiBigABURETFAASoiImKAAlSkCR09ehR/f3/uvPNO8vLyiIuLIywsjA4dOjB8+HC2bNkCwKlTp5g7dy7XXXcdgYGBDBw4kA8++MDuNktKSvj73//OzTffTPv27bn22mu5/fbbef311zGb7X8y53vvvUdkZCTBwcF07dqVBx98kOPHj9fa9927dzNt2jR69OhBQEAA3bt358EHH+Tw4cOXtE9qYzabefXVV4mOjubaa6+lffv23HLLLbz44ouUlpba1P/nP//ht7/9Lb179yYoKIjOnTszePBgHn/8cQoLCy11JSUlLFu2jCFDhhAaGkpwcDDXXXcdEydOZM2aNU02HnFubo7ugMjVoLCwkDvuuIPWrVsTExPDsWPHWL16NRMmTOBf//oXv//97zlz5gyjRo3i559/5r333iM2NpZrrrmGG2+80bKdsrIyJkyYQGZmJl27dmXatGmUlpaydu1afve737F161Zeeuklq9deunQpf/7zn/H19eWXv/wl/v7+bNiwgeHDh+Pr62u3v2lpaUyfPh0PDw9GjhzJNddcw+HDh3nvvff45JNPWLt2LX369Gn0/fTggw+Snp5Ohw4duOeee3B3d+eTTz7hiSeeYN26dbz33nu4uVX92tqzZw/Dhw/HZDIxYsQIfvGLX3Dq1Cm+++47UlNTiYuLw8/PD4CHH36Y999/nx49ejBp0iRatmzJ8ePH+fLLL1m7di2jR49u9LGI81OAilwG//3vf3nooYd47rnnMJlMALzwwgs89dRT3HXXXQwdOpTk5GTc3d0BiIqK4oEHHmDRokW89dZblu28+OKLZGZmEhUVxTvvvIOHhwcA8+bNY8SIEbzzzjuMGDGCsWPHAlUz4ISEBHx9fdm0aROhoaEAzJ8/n2nTptmd5R4+fJiZM2dy7bXX8vHHH9OhQwfLss2bNzN27FhmzJjBpk2bGnUf/fOf/yQ9PZ1evXrxf//3f5Zwnz9/PhMnTuTzzz9n2bJl/O53vwPgnXfeoaSkhDfeeIO7777bals///yzZd8UFhbywQcf0LdvX9avX28J4Gr5+fmNOg65eugUrshl0LJlS/7yl79YwhNg0qRJABQVFbFgwQJLeAKMHz8ed3d3vv76a6vtvPnmmwA888wzloAA8PPz4y9/+QsAr732mqU9PT2d0tJSHnjgAUt4Ari4uPDkk0/i6upq09dXXnmFkpISnn32WavwBLj11lsZOXIke/bs4ZtvvmnobqhV9djmz59vNTP28PDg2WefBazH5uJS9eurRYsWNttq1aoVnp6eljqz2Yynp6fd8bZt27bxBiFXFc1ARS6DLl260LJlS6u24OBgAPz9/enYsaPVMldXVwICAjh27Jil7eeff+bw4cMEBgYSHh5u8xqRkZFA1XXBatWPb775Zpv60NBQrrnmGr777jur9h07dgCwdetWq21V+/HHHwE4ePCg3X4YVf1at956q82y6667joCAAL799ltOnTqFj48PEyZM4KWXXuLee+9l9OjRDBkyhIiICLp162a1bqtWrRg1ahQff/wxN998M3fddReDBg3ixhtvxMfHp9H6L1cfBajIZdCqVSubtupTifaWQVWIlpeXW54XFRUBEBgYaLe+RYsW+Pr6WuouXCcgIMDuOoGBgTYBevLkSQCWLFlid51qp0+frnV5QxUVFeHr64u3t7fd5UFBQfz4448UFRXh4+ND//79+fTTT/nb3/7G2rVrSUtLAyAkJITf//73TJs2zbJuSkoKL774Iunp6fz1r38FwN3dnREjRrBgwQI6derUqGORq4MCVKSZqD6tmZeXZ3f5mTNnKCoqok2bNjbrVM8aL2ZvW9XrHDlyhNatW19SnxvC19eXn376ibNnz9oN0dzcXKv+Adxwww28/fbblJaWsmfPHjZs2MCKFSt47LHHaNGiBZMnTwbAy8uLP/7xj/zxj3/k+PHjbNu2jbS0ND78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GKAAFRERMUABKiIiYoAC9DJJTk6mT58+BAUFERkZydatW2ut37t3L6NGjSI4OJjw8HASExOtvnXiStSQMR49ehR/f3+bP+vWrbuMPW6YLVu2MHnyZMLDw/H39+ett96qc53mdhwbOsbmdhxfeOEFhg4dSseOHenSpQu//OUv2bdvX53rNafjaGSMze04rlixgsGDB9OxY0c6duzIsGHD+PTTT2tdpymOob6N5TJYtWoV8fHxPP/889x0000kJycTExPD9u3b6dixo019UVER48aNY/DgwWzYsIGsrCzi4uJo0aIFM2fOdMAI6tbQMVZ77733uO666yzPW7e+cr8d4vTp0/Ts2ZMpU6bw8MMP11nfHI9jQ8dYrbkcx8zMTH77299y/fXXYzabefbZZxk7diw7duyosc/N7TgaGWO15nIcO3ToQEJCAl26dKGyspK3336be++9l40bN1r1v1pTHUO9D/QyiI6OplevXixevNjSdv311zNmzBjmz59vU//KK6/w5JNPcvDgQby9q74WKykpiZSUFPbt24fJ1NRfE9twDR3j0aNH6du3LxkZGfTv3/9ydrVRXHPNNfz1r3/l3nvvrbGmOR7HC9VnjM39OJ46dYqQkBDeeustRo4cabemuR/H+oyxuR9HgNDQUObPn09sbKzNsqY6hjqF28RKS0vZvXs3UVFRVu1RUVHs2LHD7jo7d+5k0KBBlgMNVQF1/Phxjh492qT9NcLIGKv9+te/pmvXrtxxxx2sXr26Kbt52TW343gpmutxPHXqFJWVlfj7+9dY09yPY33GWK05HseKigree+89Tp8+TUREhN2apjqGCtAmlp+fT0VFBQEBAVbtAQEB5OXl2V0nLy/Pbn31siuNkTH6+Pjw9NNPs3LlStLT0xkyZAixsbG8++67l6PLl0VzO45GNPfjGB8fT+/evWv8xQvN/zjWZ4zN8Tju3buXa665hsDAQP7whz/w5ptv0qtXL7u1TXUMdQ30Mrn4FIHZbK71tIG9envtV5KGjLFt27ZW1x769+/PyZMn+fvf/84vf/nLJu3n5dQcj2NDNOfjOHfuXLZv384nn3yCq6trrbXN9TjWd4zN8TiGhYWxefNmCgsLWbNmDY888ghr166lZ8+eduub4hhqBtrE2rZti6urq83/ck6cOGHzP6JqgYGBduuBGtdxJCNjtOeGG27g8OHDjd09h2lux7GxNIfj+Kc//Yn33nuPNWvWEBoaWmttcz2ODRmjPVf6cfTw8KBz587079+f+fPn07t3b5YtW2a3tqmOoQK0iXl4eNCvXz8yMjKs2jMyMhg4cKDddSIiIti2bRvFxcVW9e3bt6dTp05N2l8jjIzRnq+//pqgoKDG7p7DNLfj2Fiu9OM4Z84c/vnPf7JmzRq6detWZ31zPI4NHaM9V/pxvFhlZSWlpaV2lzXVMVSAXgZxcXGkpqby+uuvc+DAAebMmUNOTo7lbrGEhARGjx5tqZ84cSLe3t5Mnz6dffv2sWbNGhYtWsT06dOv2FNGDR1jamoq6enpHDhwgKysLF588UWSk5N58MEHHTWEOp06dYo9e/awZ88eKisr+d///seePXv4/vvvAec4jg0dY3M7jrNmzSI1NZXk5GT8/f3Jzc0lNzeXU6dOWWqa+3E0MsbmdhyffPJJtm7dytGjR9m7dy8JCQlkZmYSExMDXL5jqGugl8H48eM5efIkSUlJ5ObmEh4eTlpaGiEhIQDk5ORw5MgRS72fnx/vv/8+s2bNYujQofj7+xMXF8eMGTMcNYQ6NXSMAH/729/4/vvvcXV1pUuXLixZsuSKvd4C8NVXX3H33Xdbni9cuJCFCxcyZcoUli9f7hTHsaFjhOZ1HJOTkwEYM2aMVfucOXP405/+BDT/f49GxgjN6zjm5uby4IMPkpeXh6+vL7169eKf//wn0dHRwOU7hnofqIiIiAE6hSsiImKAAlRERMQABaiIiIgBClAREREDFKAiIiIGKEBFREQMUICKyGVV/eXN/+///T9Hd0XkkihARUREDFCAioiIGKAAFRERMUABKuKkcnJyePTRR+nRoweBgYFcf/31/P3vf7d8D+KF1yL/8Y9/0KdPH4KDg7n99tvZtWuXzfb27dvH5MmTCQkJoX379gwbNozPPvvMpq60tJSkpCRuvPFGAgMDCQsLY8qUKXzzzTc2tW+//balbvDgwWzcuLHR94NIU9Fn4Yo4oR9//JGhQ4dSXl7O1KlTCQ4OZtu2baSlpfHwww/z3HPPcfToUfr27UvPnj0pLCzkt7/9LZWVlSQnJ3Pq1Ck2btxI165dATh06BBRUVF4eHhw//3307JlS1JTUzlw4ACvvfaa5QPoKysriYmJYf369YwePZpbbrmFs2fPsnnzZiZMmMCUKVMsr9uvXz/y8/OJjY3Fy8uL5cuX89NPP/H111/TunVrR+4+kXpRgIo4oUcffZSPP/6YLVu2EBgYaGn/y1/+wpIlS/jqq68A6Nu3Lx4eHvz73/+2fC/ioUOHuOmmmxg7dqzlmz3uu+8+Pv74Y7Zu3Wr5fsmioiIGDx4MwJ49e3BxceGtt94iLi6OefPmMWvWLKs+mc1mTCaTJUD9/Pz44osvaNeunWUbQ4YMISkpiQceeKBpd5BII9ApXBEnYzabWb16NXfccQeurq7k5+db/kRHR1NZWcmWLVss9SNHjrT6UuGuXbsSHR1tOT1bUVHB+vXrGTFihNWXM/v6+jJt2jT+97//sXfvXgDWrFmDn58fM2fOtOnXxd+7OHbsWEt4AvTp0wdfX1+ys7MbZT+INDV9H6iIkzlx4gQFBQW8+eabvPnmmzXWVOvSpYvN8i5duvDpp59SWFhIcXExp0+ftgrPat27dwfgu+++o3fv3hw5coSuXbvi6elZZz87duxo0+bn58dPP/1U57oiVwIFqIiTqaysBGDixIn86le/slvTuXNny81EF88MAcuyulxcV32atj5cXV3rtU2RK5UCVMTJtGvXDl9fX8rLy7nttttqrDt69ChQdc3zYocPH8bPzw8/Pz98fHxo2bIlBw8etKnLysoCICQkBKgK5h07dlBaWoqHh0cjjEbkyqVroCJOxtXVldGjR7N27Vp2795ts7ywsJCysjLL808++cQSplAVqOvXr+f222+3bC86OppPP/3UKmx//vlnVq5cybXXXkuvXr0AGD16NAUFBSxdutTmdTWzFGejGaiIE3ryySfZsmULI0aM4Ne//jU9e/bk559/Zt++fXz44Yd8+eWXltouXbowatQo7r//fiorK1mxYgWenp7MmTPHUvPEE0+wceNGRo4cafU2lv/973+8+uqruLhU/V988uTJpKWlkZCQwH/+8x9uvvlmiouLyczMZNy4cUyePPmy7wuRpqIAFXFC7dq1Y/369SQlJfHRRx/x6quv4ufnR9euXYmPj6d169YcP34cgJiYGFq0aMHSpUvJzc3luuuu49lnn7W6aSgsLIxPPvmEhIQEli5dSmlpKb179+add95h+PDhljpXV1feffddnn/+ef75z3/y0Ucf0bp1awYMGEC/fv0u924QaVJ6H6jIVar6/Zjz58/nD3/4g6O7I9Ls6BqoiIiIAQpQERERAxSgIiIiBugaqIiIiAGagYqIiBigABURETFAASoiImKAAlRERMQABaiIiIgBClARERED/j8ka/tjqA5enAAAAABJRU5ErkJggg==\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "~~~~~~~~~~~~~~~~~~~~ 7 ~~~~~~~~~~~~~~~~~~~~\n",
+ "Epoch 1/150\n",
+ "40/40 [==============================] - 1s 35ms/step - loss: 2.3823e-04 - mean_absolute_error: 0.0117 - val_loss: 0.0031 - val_mean_absolute_error: 0.0360\n",
+ "Epoch 2/150\n",
+ "40/40 [==============================] - 1s 34ms/step - loss: 2.3514e-04 - mean_absolute_error: 0.0116 - val_loss: 0.0031 - val_mean_absolute_error: 0.0364\n",
+ "Epoch 3/150\n",
+ "40/40 [==============================] - 1s 34ms/step - loss: 2.3643e-04 - mean_absolute_error: 0.0117 - val_loss: 0.0032 - val_mean_absolute_error: 0.0367\n",
+ "Epoch 4/150\n",
+ "40/40 [==============================] - 1s 34ms/step - loss: 2.3176e-04 - mean_absolute_error: 0.0116 - val_loss: 0.0033 - val_mean_absolute_error: 0.0373\n"
+ ]
+ },
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "~~~~~~~~~~~~~~~~~~~~ 8 ~~~~~~~~~~~~~~~~~~~~\n",
+ "Epoch 1/150\n",
+ "40/40 [==============================] - 1s 35ms/step - loss: 2.3700e-04 - mean_absolute_error: 0.0117 - val_loss: 0.0033 - val_mean_absolute_error: 0.0377\n",
+ "Epoch 2/150\n",
+ "40/40 [==============================] - 1s 33ms/step - loss: 2.2882e-04 - mean_absolute_error: 0.0115 - val_loss: 0.0034 - val_mean_absolute_error: 0.0383\n",
+ "Epoch 3/150\n",
+ "40/40 [==============================] - 1s 34ms/step - loss: 2.3917e-04 - mean_absolute_error: 0.0118 - val_loss: 0.0035 - val_mean_absolute_error: 0.0387\n",
+ "Epoch 4/150\n",
+ "40/40 [==============================] - 1s 34ms/step - loss: 2.2717e-04 - mean_absolute_error: 0.0115 - val_loss: 0.0036 - val_mean_absolute_error: 0.0392\n"
+ ]
+ },
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "~~~~~~~~~~~~~~~~~~~~ 9 ~~~~~~~~~~~~~~~~~~~~\n",
+ "Epoch 1/150\n",
+ "40/40 [==============================] - 1s 35ms/step - loss: 2.3755e-04 - mean_absolute_error: 0.0118 - val_loss: 0.0036 - val_mean_absolute_error: 0.0395\n",
+ "Epoch 2/150\n",
+ "40/40 [==============================] - 1s 34ms/step - loss: 2.2323e-04 - mean_absolute_error: 0.0114 - val_loss: 0.0037 - val_mean_absolute_error: 0.0400\n",
+ "Epoch 3/150\n",
+ "40/40 [==============================] - 1s 34ms/step - loss: 2.2636e-04 - mean_absolute_error: 0.0115 - val_loss: 0.0038 - val_mean_absolute_error: 0.0404\n",
+ "Epoch 4/150\n",
+ "40/40 [==============================] - 1s 34ms/step - loss: 2.0575e-04 - mean_absolute_error: 0.0109 - val_loss: 0.0038 - val_mean_absolute_error: 0.0406\n"
+ ]
+ },
+ {
+ "data": {
+ "image/png": "iVBORw0KGgoAAAANSUhEUgAAAdAAAAE0CAYAAACciGKUAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/YYfK9AAAACXBIWXMAAAsTAAALEwEAmpwYAABECUlEQVR4nO3dfVzV9f3/8cfhSvEK1ICjJZKKhhZqM0xrkZCm1jRNXNrKYdYSdG3mlJmbsdmUsfq6RGnTYVmxhKVp1q++qZiipnPp16aFlGJtXCUG5AXX5/cH8pHDOYIcBeTwvN9u3OS8P6/P+/N+n4/6PJ+Lc46psLDQgoiIiDSKS0sPQEREpDVSgIqIiDhAASoiIuIABaiIiIgDFKAiIiIOUICKiIg4QAEq0oY98MADeHt7c+rUqavqZ/bs2Y3qp2a7Iq2ZAlRERMQBClAREREHKEBFREQcoAAVaUKnTp3C29ubBx54gPz8fKKjowkMDKRnz56MGTOGPXv2AHD27FkWLVrErbfeiq+vL8OHD+edd96x22dpaSl//vOfueuuu+jRowc33XQT9913H+vXr8disf/JnG+//TahoaGYzWb69evHU089RU5OTr1jP3z4MDNnzuSWW27Bx8eHAQMG8NRTT3HixImrek7qY7FYePXVVwkPD+emm26iR48e3H333axcuZKysjKb+v/7v//jiSee4LbbbsPPz48+ffowcuRInn32WYqKioy60tJSVq9ezT333ENAQABms5lbb72VKVOmsGXLliabjzg3t5YegEhbUFRUxP3330/Xrl2JiIggOzubzZs38/DDD/O///u//OIXv+D8+fOMHz+e77//nrfffpvIyEhuvPFG7rjjDqOf8vJyHn74YdLT0+nXrx8zZ86krKyMrVu38vOf/5y9e/fyyiuvWG171apVPPfcc3Tp0oUf//jHeHt7s2PHDsaMGUOXLl3sjjclJYWoqCg8PDwYN24cN954IydOnODtt9/mgw8+YOvWrQQHB1/z5+mpp54iNTWVnj17Mn36dNzd3fnggw/4zW9+w7Zt23j77bdxc6v+b+vIkSOMGTMGk8nE2LFjufnmmzl79ixff/01ycnJREdH4+XlBcDTTz/Npk2buOWWW5g6dSodO3YkJyeHTz/9lK1btzJhwoRrPhdxfgpQkWbw73//m5/97GcsX74ck8kEwEsv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RZyMq6srEyZMYOvWrRw+fNhmeVFREeXl5cbjDz74wAhTqA7U7du3c9999xn9hYeH8+GHH1qF7ffff8+6deu46aabGDRoEAATJkygsLCQVatW2WxXR5bibHQEKuKEnn/+efbs2cPYsWN57LHHGDhwIN9//z3Hjh3j3Xff5dNPPzVq+/bty/jx45k1axZVVVWsWbOGdu3asXDhQqPmN7/5DTt37mTcuHFWb2P5z3/+w6uvvoqLS/Vr8UceeYSUlBRiY2P5v//7P+666y5KSkpIT09n0qRJPPLII83+XIg0FQWoiBO64YYb2L59O/Hx8bz33nu8+uqreHl50a9fP2JiYujatSs5OTkARERE0KFDB1atWkVeXh633norf/jDH6xuGgoMDOSDDz4gNjaWVatWUVZWxm233cZbb73FmDFjjDpXV1c2bNjAiy++yD/+8Q/ee+89unbtyrBhwxgyZEhzPw0iTUrvAxVpo2rej7lkyRJ++ctftvRwRFodXQMVERFxgAJURETEAQpQERERB+gaqIiIiAN0BCoiIuIABaiIiIgDFKAiIiIOUICKiIg4QAEqIiLiAAWoiIiIA/4/cPIzMo+OgIUAAAAASUVORK5CYII=\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "~~~~~~~~~~~~~~~~~~~~ 10 ~~~~~~~~~~~~~~~~~~~~\n",
+ "Epoch 1/150\n",
+ "40/40 [==============================] - 1s 35ms/step - loss: 2.0349e-04 - mean_absolute_error: 0.0108 - val_loss: 0.0038 - val_mean_absolute_error: 0.0407\n",
+ "Epoch 2/150\n",
+ "40/40 [==============================] - 1s 34ms/step - loss: 1.8504e-04 - mean_absolute_error: 0.0101 - val_loss: 0.0037 - val_mean_absolute_error: 0.0397\n",
+ "Epoch 3/150\n",
+ "40/40 [==============================] - 1s 34ms/step - loss: 1.8160e-04 - mean_absolute_error: 0.0100 - val_loss: 0.0033 - val_mean_absolute_error: 0.0372\n",
+ "Epoch 4/150\n",
+ "40/40 [==============================] - 1s 30ms/step - loss: 1.7857e-04 - mean_absolute_error: 0.0099 - val_loss: 0.0027 - val_mean_absolute_error: 0.0333\n",
+ "Epoch 5/150\n",
+ "40/40 [==============================] - 1s 33ms/step - loss: 1.8863e-04 - mean_absolute_error: 0.0103 - val_loss: 0.0023 - val_mean_absolute_error: 0.0311\n",
+ "Epoch 6/150\n",
+ "40/40 [==============================] - 1s 33ms/step - loss: 2.0460e-04 - mean_absolute_error: 0.0109 - val_loss: 0.0021 - val_mean_absolute_error: 0.0297\n",
+ "Epoch 7/150\n",
+ "40/40 [==============================] - 1s 33ms/step - loss: 2.1938e-04 - mean_absolute_error: 0.0114 - val_loss: 0.0019 - val_mean_absolute_error: 0.0281\n",
+ "Epoch 8/150\n",
+ "40/40 [==============================] - 1s 33ms/step - loss: 1.9702e-04 - mean_absolute_error: 0.0107 - val_loss: 0.0018 - val_mean_absolute_error: 0.0275\n",
+ "Epoch 9/150\n",
+ "40/40 [==============================] - 1s 33ms/step - loss: 1.9255e-04 - mean_absolute_error: 0.0105 - val_loss: 0.0020 - val_mean_absolute_error: 0.0283\n",
+ "Epoch 10/150\n",
+ "40/40 [==============================] - 1s 33ms/step - loss: 2.0591e-04 - mean_absolute_error: 0.0111 - val_loss: 0.0017 - val_mean_absolute_error: 0.0268\n",
+ "Epoch 11/150\n",
+ "40/40 [==============================] - 1s 33ms/step - loss: 2.0533e-04 - mean_absolute_error: 0.0110 - val_loss: 0.0016 - val_mean_absolute_error: 0.0253\n",
+ "Epoch 12/150\n",
+ "40/40 [==============================] - 1s 34ms/step - loss: 1.7950e-04 - mean_absolute_error: 0.0101 - val_loss: 0.0016 - val_mean_absolute_error: 0.0260\n",
+ "Epoch 13/150\n",
+ "40/40 [==============================] - 1s 33ms/step - loss: 1.9209e-04 - mean_absolute_error: 0.0107 - val_loss: 0.0017 - val_mean_absolute_error: 0.0263\n",
+ "Epoch 14/150\n",
+ "40/40 [==============================] - 1s 33ms/step - loss: 2.1159e-04 - mean_absolute_error: 0.0113 - val_loss: 0.0014 - val_mean_absolute_error: 0.0241\n",
+ "Epoch 15/150\n",
+ "40/40 [==============================] - 1s 33ms/step - loss: 1.9515e-04 - mean_absolute_error: 0.0107 - val_loss: 0.0013 - val_mean_absolute_error: 0.0235\n",
+ "Epoch 16/150\n",
+ "40/40 [==============================] - 1s 33ms/step - loss: 1.7865e-04 - mean_absolute_error: 0.0102 - val_loss: 0.0015 - val_mean_absolute_error: 0.0245\n",
+ "Epoch 17/150\n",
+ "40/40 [==============================] - 1s 32ms/step - loss: 1.9501e-04 - mean_absolute_error: 0.0108 - val_loss: 0.0014 - val_mean_absolute_error: 0.0241\n",
+ "Epoch 18/150\n",
+ "40/40 [==============================] - 1s 33ms/step - loss: 2.0530e-04 - mean_absolute_error: 0.0111 - val_loss: 0.0012 - val_mean_absolute_error: 0.0225\n",
+ "Epoch 19/150\n",
+ "40/40 [==============================] - 1s 33ms/step - loss: 1.8289e-04 - mean_absolute_error: 0.0104 - val_loss: 0.0012 - val_mean_absolute_error: 0.0230\n",
+ "Epoch 20/150\n",
+ "40/40 [==============================] - 1s 33ms/step - loss: 1.8082e-04 - mean_absolute_error: 0.0103 - val_loss: 0.0013 - val_mean_absolute_error: 0.0233\n",
+ "Epoch 21/150\n",
+ "40/40 [==============================] - 1s 33ms/step - loss: 1.8148e-04 - mean_absolute_error: 0.0104 - val_loss: 0.0012 - val_mean_absolute_error: 0.0227\n",
+ "Epoch 22/150\n",
+ "40/40 [==============================] - 1s 32ms/step - loss: 1.6870e-04 - mean_absolute_error: 0.0099 - val_loss: 0.0011 - val_mean_absolute_error: 0.0219\n",
+ "Epoch 23/150\n",
+ "40/40 [==============================] - 1s 32ms/step - loss: 1.5586e-04 - mean_absolute_error: 0.0094 - val_loss: 0.0011 - val_mean_absolute_error: 0.0225\n",
+ "Epoch 24/150\n",
+ "40/40 [==============================] - 1s 32ms/step - loss: 1.4684e-04 - mean_absolute_error: 0.0091 - val_loss: 0.0012 - val_mean_absolute_error: 0.0231\n",
+ "Epoch 25/150\n",
+ "40/40 [==============================] - 1s 33ms/step - loss: 1.4595e-04 - mean_absolute_error: 0.0091 - val_loss: 0.0011 - val_mean_absolute_error: 0.0221\n",
+ "Epoch 26/150\n",
+ "40/40 [==============================] - 1s 30ms/step - loss: 1.2913e-04 - mean_absolute_error: 0.0084 - val_loss: 9.4416e-04 - val_mean_absolute_error: 0.0211\n",
+ "Epoch 27/150\n",
+ "40/40 [==============================] - 1s 32ms/step - loss: 1.2274e-04 - mean_absolute_error: 0.0082 - val_loss: 8.6316e-04 - val_mean_absolute_error: 0.0203\n",
+ "Epoch 28/150\n",
+ "40/40 [==============================] - 1s 32ms/step - loss: 1.1468e-04 - mean_absolute_error: 0.0078 - val_loss: 7.4463e-04 - val_mean_absolute_error: 0.0188\n",
+ "Epoch 29/150\n",
+ "40/40 [==============================] - 1s 33ms/step - loss: 1.1294e-04 - mean_absolute_error: 0.0078 - val_loss: 6.7641e-04 - val_mean_absolute_error: 0.0182\n",
+ "Epoch 30/150\n",
+ "40/40 [==============================] - 1s 32ms/step - loss: 1.1294e-04 - mean_absolute_error: 0.0077 - val_loss: 5.8938e-04 - val_mean_absolute_error: 0.0170\n",
+ "Epoch 31/150\n",
+ "40/40 [==============================] - 1s 33ms/step - loss: 1.1265e-04 - mean_absolute_error: 0.0078 - val_loss: 5.2558e-04 - val_mean_absolute_error: 0.0162\n",
+ "Epoch 32/150\n",
+ "40/40 [==============================] - 1s 32ms/step - loss: 1.1782e-04 - mean_absolute_error: 0.0080 - val_loss: 4.4209e-04 - val_mean_absolute_error: 0.0150\n",
+ "Epoch 33/150\n",
+ "40/40 [==============================] - 1s 32ms/step - loss: 1.1984e-04 - mean_absolute_error: 0.0081 - val_loss: 3.8831e-04 - val_mean_absolute_error: 0.0141\n",
+ "Epoch 34/150\n",
+ "40/40 [==============================] - 1s 32ms/step - loss: 1.1910e-04 - mean_absolute_error: 0.0080 - val_loss: 3.6016e-04 - val_mean_absolute_error: 0.0137\n",
+ "Epoch 35/150\n",
+ "40/40 [==============================] - 1s 32ms/step - loss: 1.3844e-04 - mean_absolute_error: 0.0089 - val_loss: 3.3085e-04 - val_mean_absolute_error: 0.0136\n",
+ "Epoch 36/150\n",
+ "40/40 [==============================] - 1s 33ms/step - loss: 1.2699e-04 - mean_absolute_error: 0.0085 - val_loss: 2.9514e-04 - val_mean_absolute_error: 0.0123\n",
+ "Epoch 37/150\n",
+ "40/40 [==============================] - 1s 32ms/step - loss: 1.7789e-04 - mean_absolute_error: 0.0102 - val_loss: 3.2915e-04 - val_mean_absolute_error: 0.0134\n",
+ "Epoch 38/150\n",
+ "40/40 [==============================] - 1s 32ms/step - loss: 1.4992e-04 - mean_absolute_error: 0.0094 - val_loss: 2.6594e-04 - val_mean_absolute_error: 0.0115\n",
+ "Epoch 39/150\n",
+ "40/40 [==============================] - 1s 32ms/step - loss: 1.9925e-04 - mean_absolute_error: 0.0109 - val_loss: 2.8913e-04 - val_mean_absolute_error: 0.0122\n",
+ "Epoch 40/150\n",
+ "40/40 [==============================] - 1s 32ms/step - loss: 1.6871e-04 - mean_absolute_error: 0.0101 - val_loss: 2.6524e-04 - val_mean_absolute_error: 0.0115\n",
+ "Epoch 41/150\n",
+ "40/40 [==============================] - 1s 31ms/step - loss: 2.2633e-04 - mean_absolute_error: 0.0115 - val_loss: 2.4856e-04 - val_mean_absolute_error: 0.0109\n",
+ "Epoch 42/150\n",
+ "40/40 [==============================] - 1s 32ms/step - loss: 2.0295e-04 - mean_absolute_error: 0.0111 - val_loss: 4.5936e-04 - val_mean_absolute_error: 0.0170\n",
+ "Epoch 43/150\n",
+ "40/40 [==============================] - 1s 32ms/step - loss: 3.3001e-04 - mean_absolute_error: 0.0144 - val_loss: 3.4119e-04 - val_mean_absolute_error: 0.0137\n",
+ "Epoch 44/150\n",
+ "40/40 [==============================] - 1s 32ms/step - loss: 2.0179e-04 - mean_absolute_error: 0.0110 - val_loss: 2.6299e-04 - val_mean_absolute_error: 0.0117\n"
+ ]
+ },
+ {
+ "data": {
+ "image/png": "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vVi/fj0HDhxwWn/p0iXMZrN9ecOGDfZECbnJcvPmzdx///329jp37szGjRsdEunly5f59NNPqVmzJk2aNAGgV69epKWlMW/ePKf3lRGhqGhk5ChEOfPaa6+xe/duunXrxmOPPUbjxo25fPkyhw8fZt26dezfv99et27duvTo0YOnnnoKm83GwoULcXNzY9KkSfY6r7zyCtu2baN79+4Ot3KcOXOGzz77DI0m9zv04MGDiYmJYfr06fzxxx+0a9cOo9HIrl276Nu3L4MHDy71vhCipEhyFKKcqVq1Kps3byY6OprvvvuOzz77DD8/P+rVq8fkyZMJCAggMTERgIEDB+Lp6cm8efNITk7mjjvu4K233nK4ACcyMpINGzYwffp05s2bh8lkomnTpnz99dd07drVXk+r1bJ8+XLeffddVq5cyXfffUdAQAB33303LVq0KO1uEKJEyX2OQlRAefcbTps2jX//+9+uDkeIckfOOQohhBD5SHIUQggh8pHkKIQQQuQj5xyFEEKIfGTkKIQQQuQjyVEIIYTIR5KjEEIIkY8kRyGEECIfSY5CCCFEPpIchRBCiHz+H09CKqTL0+eFAAAAAElFTkSuQmCC\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "so far best: 0.010919461026787758\n",
+ "Saved model to disk\n",
+ "~~~~~~~~~~~~~~~~~~~~ 11 ~~~~~~~~~~~~~~~~~~~~\n",
+ "Epoch 1/150\n",
+ "40/40 [==============================] - 1s 35ms/step - loss: 4.4413e-04 - mean_absolute_error: 0.0168 - val_loss: 7.0175e-04 - val_mean_absolute_error: 0.0219\n",
+ "Epoch 2/150\n",
+ "40/40 [==============================] - 1s 34ms/step - loss: 2.5161e-04 - mean_absolute_error: 0.0126 - val_loss: 8.8021e-04 - val_mean_absolute_error: 0.0246\n",
+ "Epoch 3/150\n",
+ "40/40 [==============================] - 1s 34ms/step - loss: 6.3255e-04 - mean_absolute_error: 0.0207 - val_loss: 0.0013 - val_mean_absolute_error: 0.0269\n",
+ "Epoch 4/150\n",
+ "40/40 [==============================] - 1s 32ms/step - loss: 2.7205e-04 - mean_absolute_error: 0.0128 - val_loss: 0.0014 - val_mean_absolute_error: 0.0310\n"
+ ]
+ },
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "~~~~~~~~~~~~~~~~~~~~ 12 ~~~~~~~~~~~~~~~~~~~~\n",
+ "Epoch 1/150\n",
+ "40/40 [==============================] - 1s 35ms/step - loss: 6.8659e-04 - mean_absolute_error: 0.0216 - val_loss: 0.0040 - val_mean_absolute_error: 0.0502\n",
+ "Epoch 2/150\n",
+ "40/40 [==============================] - 1s 34ms/step - loss: 4.8881e-04 - mean_absolute_error: 0.0171 - val_loss: 0.0026 - val_mean_absolute_error: 0.0354\n",
+ "Epoch 3/150\n",
+ "40/40 [==============================] - 1s 34ms/step - loss: 8.7241e-04 - mean_absolute_error: 0.0250 - val_loss: 0.0037 - val_mean_absolute_error: 0.0428\n",
+ "Epoch 4/150\n",
+ "40/40 [==============================] - 1s 33ms/step - loss: 7.8352e-04 - mean_absolute_error: 0.0224 - val_loss: 0.0049 - val_mean_absolute_error: 0.0491\n",
+ "Epoch 5/150\n",
+ "40/40 [==============================] - 1s 34ms/step - loss: 0.0011 - mean_absolute_error: 0.0258 - val_loss: 0.0057 - val_mean_absolute_error: 0.0529\n"
+ ]
+ },
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "~~~~~~~~~~~~~~~~~~~~ 13 ~~~~~~~~~~~~~~~~~~~~\n",
+ "Epoch 1/150\n",
+ "40/40 [==============================] - 1s 36ms/step - loss: 8.4577e-04 - mean_absolute_error: 0.0223 - val_loss: 0.0060 - val_mean_absolute_error: 0.0543\n",
+ "Epoch 2/150\n",
+ "40/40 [==============================] - 1s 33ms/step - loss: 9.4982e-04 - mean_absolute_error: 0.0236 - val_loss: 0.0048 - val_mean_absolute_error: 0.0481\n",
+ "Epoch 3/150\n",
+ "40/40 [==============================] - 1s 33ms/step - loss: 8.0980e-04 - mean_absolute_error: 0.0224 - val_loss: 0.0042 - val_mean_absolute_error: 0.0433\n",
+ "Epoch 4/150\n",
+ "40/40 [==============================] - 1s 34ms/step - loss: 6.0431e-04 - mean_absolute_error: 0.0196 - val_loss: 0.0028 - val_mean_absolute_error: 0.0341\n",
+ "Epoch 5/150\n",
+ "40/40 [==============================] - 1s 34ms/step - loss: 2.6516e-04 - mean_absolute_error: 0.0126 - val_loss: 0.0030 - val_mean_absolute_error: 0.0383\n",
+ "Epoch 6/150\n",
+ "40/40 [==============================] - 1s 34ms/step - loss: 4.7087e-04 - mean_absolute_error: 0.0177 - val_loss: 0.0062 - val_mean_absolute_error: 0.0542\n",
+ "Epoch 7/150\n",
+ "40/40 [==============================] - 1s 33ms/step - loss: 2.6238e-04 - mean_absolute_error: 0.0121 - val_loss: 0.0041 - val_mean_absolute_error: 0.0421\n"
+ ]
+ },
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "~~~~~~~~~~~~~~~~~~~~ 14 ~~~~~~~~~~~~~~~~~~~~\n",
+ "loss: 0.010919461026787758\n",
+ "best trial: 11\n"
+ ]
+ }
+ ],
+ "source": [
+ "fit_max(15)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3179,
+ "id": "2d99ee08",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Loaded model from disk\n"
+ ]
+ }
+ ],
+ "source": [
+ "from keras.models import model_from_json\n",
+ "with open('model.json','r') as f:\n",
+ " json = f.read()\n",
+ "model = model_from_json(json)\n",
+ "\n",
+ "model.load_weights(\"model.h5\")\n",
+ "print(\"Loaded model from disk\")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3180,
+ "id": "545300e9",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "\n",
+ "model.compile(loss=tf.losses.MeanSquaredError(),\n",
+ " optimizer=tf.optimizers.Adam(),\n",
+ " metrics=[tf.metrics.MeanAbsoluteError()])"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3181,
+ "id": "6bb67030",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "#min(history_best.history[\"val_mean_absolute_error\"])"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3182,
+ "id": "b3e84181",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "[0.0002629901864565909, 0.011709925718605518]"
+ ]
+ },
+ "execution_count": 3182,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "model.evaluate(test_generator, verbose=0) "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3183,
+ "id": "e1bdf2d1",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "predictions=model.predict(test_generator)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3184,
+ "id": "2f581253",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "541"
+ ]
+ },
+ "execution_count": 3184,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "y_test.shape[0] - window_length\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3185,
+ "id": "aca42ac0",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "array([0.47460926], dtype=float32)"
+ ]
+ },
+ "execution_count": 3185,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "predictions[0]"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3186,
+ "id": "0bcc3db9",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "array([0.48842725], dtype=float32)"
+ ]
+ },
+ "execution_count": 3186,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "predictions[1]"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3187,
+ "id": "fa58a51d",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "(541, 1)"
+ ]
+ },
+ "execution_count": 3187,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "predictions.shape"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3188,
+ "id": "fcf1454e",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "array([[0.49304018, 0.05497153, 0.49472951, 0.48942165, 0.49902524],\n",
+ " [0.49190891, 0.02949314, 0.50074582, 0.49238754, 0.50342464],\n",
+ " [0.47975997, 0.04925802, 0.48975736, 0.48497232, 0.49057736],\n",
+ " ...,\n",
+ " [0.9810634 , 0.16762433, 1. , 1. , 0.99300175],\n",
+ " [0.98952339, 0.16408109, 0.99174622, 0.99367276, 0.97850537],\n",
+ " [1. , 0.09225046, 0.99408313, 0.99856649, 1. ]])"
+ ]
+ },
+ "execution_count": 3188,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "x_test[:,0:-1][window_length:]\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3189,
+ "id": "2295762e",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "df_pred=pd.concat([pd.DataFrame(predictions), pd.DataFrame(x_test[:,1:][window_length:]),]\n",
+ " ,axis=1)\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3190,
+ "id": "58ca6751",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ " 3 | \n",
+ " 4 | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " 0.474609 | \n",
+ " 0.054972 | \n",
+ " 0.494730 | \n",
+ " 0.489422 | \n",
+ " 0.499025 | \n",
+ " 0.386826 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " 0.488427 | \n",
+ " 0.029493 | \n",
+ " 0.500746 | \n",
+ " 0.492388 | \n",
+ " 0.503425 | \n",
+ " 0.331450 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 0.492005 | \n",
+ " 0.049258 | \n",
+ " 0.489757 | \n",
+ " 0.484972 | \n",
+ " 0.490577 | \n",
+ " 0.304424 | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " 0.480698 | \n",
+ " 0.044101 | \n",
+ " 0.494879 | \n",
+ " 0.493030 | \n",
+ " 0.499075 | \n",
+ " 0.334536 | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " 0.488800 | \n",
+ " 0.007605 | \n",
+ " 0.502586 | \n",
+ " 0.495156 | \n",
+ " 0.507023 | \n",
+ " 0.332162 | \n",
+ "
\n",
+ " \n",
+ " | ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ "
\n",
+ " \n",
+ " | 536 | \n",
+ " 0.953675 | \n",
+ " 0.167624 | \n",
+ " 1.000000 | \n",
+ " 1.000000 | \n",
+ " 0.993002 | \n",
+ " 0.318272 | \n",
+ "
\n",
+ " \n",
+ " | 537 | \n",
+ " 0.969364 | \n",
+ " 0.167624 | \n",
+ " 1.000000 | \n",
+ " 1.000000 | \n",
+ " 0.993002 | \n",
+ " 0.326456 | \n",
+ "
\n",
+ " \n",
+ " | 538 | \n",
+ " 0.965160 | \n",
+ " 0.167624 | \n",
+ " 1.000000 | \n",
+ " 1.000000 | \n",
+ " 0.993002 | \n",
+ " 0.373207 | \n",
+ "
\n",
+ " \n",
+ " | 539 | \n",
+ " 0.963535 | \n",
+ " 0.164081 | \n",
+ " 0.991746 | \n",
+ " 0.993673 | \n",
+ " 0.978505 | \n",
+ " 0.530910 | \n",
+ "
\n",
+ " \n",
+ " | 540 | \n",
+ " 0.963200 | \n",
+ " 0.092250 | \n",
+ " 0.994083 | \n",
+ " 0.998566 | \n",
+ " 1.000000 | \n",
+ " 0.353324 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
541 rows × 6 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " 0 0 1 2 3 4\n",
+ "0 0.474609 0.054972 0.494730 0.489422 0.499025 0.386826\n",
+ "1 0.488427 0.029493 0.500746 0.492388 0.503425 0.331450\n",
+ "2 0.492005 0.049258 0.489757 0.484972 0.490577 0.304424\n",
+ "3 0.480698 0.044101 0.494879 0.493030 0.499075 0.334536\n",
+ "4 0.488800 0.007605 0.502586 0.495156 0.507023 0.332162\n",
+ ".. ... ... ... ... ... ...\n",
+ "536 0.953675 0.167624 1.000000 1.000000 0.993002 0.318272\n",
+ "537 0.969364 0.167624 1.000000 1.000000 0.993002 0.326456\n",
+ "538 0.965160 0.167624 1.000000 1.000000 0.993002 0.373207\n",
+ "539 0.963535 0.164081 0.991746 0.993673 0.978505 0.530910\n",
+ "540 0.963200 0.092250 0.994083 0.998566 1.000000 0.353324\n",
+ "\n",
+ "[541 rows x 6 columns]"
+ ]
+ },
+ "execution_count": 3190,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df_pred"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3191,
+ "id": "4878a5a8",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "rev_trans=scaler.inverse_transform(df_pred)\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3192,
+ "id": "fcbb9343",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "array([[ 1.86832808e+02, 1.96363900e+07, 1.89500000e+02,\n",
+ " 1.90680000e+02, 1.89300000e+02, 2.59542100e+00],\n",
+ " [ 1.89642145e+02, 1.58013700e+07, 1.90710000e+02,\n",
+ " 1.91280000e+02, 1.90180100e+02, 5.92368000e-01],\n",
+ " [ 1.90369498e+02, 1.87763900e+07, 1.88500000e+02,\n",
+ " 1.89779900e+02, 1.87610000e+02, -3.85190000e-01],\n",
+ " ...,\n",
+ " [ 2.86566718e+02, 3.65929400e+07, 2.91120000e+02,\n",
+ " 2.93970000e+02, 2.88120000e+02, 2.10280800e+00],\n",
+ " [ 2.86236255e+02, 3.60596100e+07, 2.89460000e+02,\n",
+ " 2.92690000e+02, 2.85220000e+02, 7.80720700e+00],\n",
+ " [ 2.86168223e+02, 2.52476300e+07, 2.89930000e+02,\n",
+ " 2.93680000e+02, 2.89520000e+02, 1.38361800e+00]])"
+ ]
+ },
+ "execution_count": 3192,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "rev_trans"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3193,
+ "id": "5fd8e3ae",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "df_final=APPL[predictions.shape[0]*-1:]"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3194,
+ "id": "ea0470b0",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " close_value | \n",
+ " volume | \n",
+ " open_value | \n",
+ " high_value | \n",
+ " low_value | \n",
+ " summarative_score | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 1285 | \n",
+ " 190.58 | \n",
+ " 19636390 | \n",
+ " 189.50 | \n",
+ " 190.6800 | \n",
+ " 189.3000 | \n",
+ " 2.595421 | \n",
+ "
\n",
+ " \n",
+ " | 1286 | \n",
+ " 190.35 | \n",
+ " 15801370 | \n",
+ " 190.71 | \n",
+ " 191.2800 | \n",
+ " 190.1801 | \n",
+ " 0.592368 | \n",
+ "
\n",
+ " \n",
+ " | 1287 | \n",
+ " 187.88 | \n",
+ " 18776390 | \n",
+ " 188.50 | \n",
+ " 189.7799 | \n",
+ " 187.6100 | \n",
+ " -0.385190 | \n",
+ "
\n",
+ " \n",
+ " | 1288 | \n",
+ " 191.03 | \n",
+ " 18000180 | \n",
+ " 189.53 | \n",
+ " 191.4100 | \n",
+ " 189.3100 | \n",
+ " 0.704025 | \n",
+ "
\n",
+ " \n",
+ " | 1289 | \n",
+ " 191.33 | \n",
+ " 12506830 | \n",
+ " 191.08 | \n",
+ " 191.8400 | \n",
+ " 190.9000 | \n",
+ " 0.618124 | \n",
+ "
\n",
+ " \n",
+ " | ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ "
\n",
+ " \n",
+ " | 1821 | \n",
+ " 289.80 | \n",
+ " 36592940 | \n",
+ " 291.12 | \n",
+ " 293.9700 | \n",
+ " 288.1200 | \n",
+ " 0.115701 | \n",
+ "
\n",
+ " \n",
+ " | 1822 | \n",
+ " 289.80 | \n",
+ " 36592940 | \n",
+ " 291.12 | \n",
+ " 293.9700 | \n",
+ " 288.1200 | \n",
+ " 0.411740 | \n",
+ "
\n",
+ " \n",
+ " | 1823 | \n",
+ " 289.80 | \n",
+ " 36592940 | \n",
+ " 291.12 | \n",
+ " 293.9700 | \n",
+ " 288.1200 | \n",
+ " 2.102808 | \n",
+ "
\n",
+ " \n",
+ " | 1824 | \n",
+ " 291.52 | \n",
+ " 36059610 | \n",
+ " 289.46 | \n",
+ " 292.6900 | \n",
+ " 285.2200 | \n",
+ " 7.807207 | \n",
+ "
\n",
+ " \n",
+ " | 1825 | \n",
+ " 293.65 | \n",
+ " 25247630 | \n",
+ " 289.93 | \n",
+ " 293.6800 | \n",
+ " 289.5200 | \n",
+ " 1.383618 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
541 rows × 6 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " close_value volume open_value high_value low_value \\\n",
+ "1285 190.58 19636390 189.50 190.6800 189.3000 \n",
+ "1286 190.35 15801370 190.71 191.2800 190.1801 \n",
+ "1287 187.88 18776390 188.50 189.7799 187.6100 \n",
+ "1288 191.03 18000180 189.53 191.4100 189.3100 \n",
+ "1289 191.33 12506830 191.08 191.8400 190.9000 \n",
+ "... ... ... ... ... ... \n",
+ "1821 289.80 36592940 291.12 293.9700 288.1200 \n",
+ "1822 289.80 36592940 291.12 293.9700 288.1200 \n",
+ "1823 289.80 36592940 291.12 293.9700 288.1200 \n",
+ "1824 291.52 36059610 289.46 292.6900 285.2200 \n",
+ "1825 293.65 25247630 289.93 293.6800 289.5200 \n",
+ "\n",
+ " summarative_score \n",
+ "1285 2.595421 \n",
+ "1286 0.592368 \n",
+ "1287 -0.385190 \n",
+ "1288 0.704025 \n",
+ "1289 0.618124 \n",
+ "... ... \n",
+ "1821 0.115701 \n",
+ "1822 0.411740 \n",
+ "1823 2.102808 \n",
+ "1824 7.807207 \n",
+ "1825 1.383618 \n",
+ "\n",
+ "[541 rows x 6 columns]"
+ ]
+ },
+ "execution_count": 3194,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df_final"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3195,
+ "id": "1de6db60",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "close_value 541\n",
+ "volume 541\n",
+ "open_value 541\n",
+ "high_value 541\n",
+ "low_value 541\n",
+ "summarative_score 541\n",
+ "dtype: int64"
+ ]
+ },
+ "execution_count": 3195,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df_final.count()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3196,
+ "id": "2280cdf9",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "C:\\Users\\micha\\AppData\\Local\\Temp/ipykernel_16972/2704095297.py:1: SettingWithCopyWarning: \n",
+ "A value is trying to be set on a copy of a slice from a DataFrame.\n",
+ "Try using .loc[row_indexer,col_indexer] = value instead\n",
+ "\n",
+ "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n",
+ " df_final['App_Pred']=rev_trans[:,0]\n"
+ ]
+ }
+ ],
+ "source": [
+ "df_final['App_Pred']=rev_trans[:,0]"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3197,
+ "id": "304a3575",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " close_value | \n",
+ " volume | \n",
+ " open_value | \n",
+ " high_value | \n",
+ " low_value | \n",
+ " summarative_score | \n",
+ " App_Pred | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 1285 | \n",
+ " 190.58 | \n",
+ " 19636390 | \n",
+ " 189.50 | \n",
+ " 190.6800 | \n",
+ " 189.3000 | \n",
+ " 2.595421 | \n",
+ " 186.832808 | \n",
+ "
\n",
+ " \n",
+ " | 1286 | \n",
+ " 190.35 | \n",
+ " 15801370 | \n",
+ " 190.71 | \n",
+ " 191.2800 | \n",
+ " 190.1801 | \n",
+ " 0.592368 | \n",
+ " 189.642145 | \n",
+ "
\n",
+ " \n",
+ " | 1287 | \n",
+ " 187.88 | \n",
+ " 18776390 | \n",
+ " 188.50 | \n",
+ " 189.7799 | \n",
+ " 187.6100 | \n",
+ " -0.385190 | \n",
+ " 190.369498 | \n",
+ "
\n",
+ " \n",
+ " | 1288 | \n",
+ " 191.03 | \n",
+ " 18000180 | \n",
+ " 189.53 | \n",
+ " 191.4100 | \n",
+ " 189.3100 | \n",
+ " 0.704025 | \n",
+ " 188.070611 | \n",
+ "
\n",
+ " \n",
+ " | 1289 | \n",
+ " 191.33 | \n",
+ " 12506830 | \n",
+ " 191.08 | \n",
+ " 191.8400 | \n",
+ " 190.9000 | \n",
+ " 0.618124 | \n",
+ " 189.717980 | \n",
+ "
\n",
+ " \n",
+ " | ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ "
\n",
+ " \n",
+ " | 1821 | \n",
+ " 289.80 | \n",
+ " 36592940 | \n",
+ " 291.12 | \n",
+ " 293.9700 | \n",
+ " 288.1200 | \n",
+ " 0.115701 | \n",
+ " 284.231671 | \n",
+ "
\n",
+ " \n",
+ " | 1822 | \n",
+ " 289.80 | \n",
+ " 36592940 | \n",
+ " 291.12 | \n",
+ " 293.9700 | \n",
+ " 288.1200 | \n",
+ " 0.411740 | \n",
+ " 287.421453 | \n",
+ "
\n",
+ " \n",
+ " | 1823 | \n",
+ " 289.80 | \n",
+ " 36592940 | \n",
+ " 291.12 | \n",
+ " 293.9700 | \n",
+ " 288.1200 | \n",
+ " 2.102808 | \n",
+ " 286.566718 | \n",
+ "
\n",
+ " \n",
+ " | 1824 | \n",
+ " 291.52 | \n",
+ " 36059610 | \n",
+ " 289.46 | \n",
+ " 292.6900 | \n",
+ " 285.2200 | \n",
+ " 7.807207 | \n",
+ " 286.236255 | \n",
+ "
\n",
+ " \n",
+ " | 1825 | \n",
+ " 293.65 | \n",
+ " 25247630 | \n",
+ " 289.93 | \n",
+ " 293.6800 | \n",
+ " 289.5200 | \n",
+ " 1.383618 | \n",
+ " 286.168223 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
541 rows × 7 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " close_value volume open_value high_value low_value \\\n",
+ "1285 190.58 19636390 189.50 190.6800 189.3000 \n",
+ "1286 190.35 15801370 190.71 191.2800 190.1801 \n",
+ "1287 187.88 18776390 188.50 189.7799 187.6100 \n",
+ "1288 191.03 18000180 189.53 191.4100 189.3100 \n",
+ "1289 191.33 12506830 191.08 191.8400 190.9000 \n",
+ "... ... ... ... ... ... \n",
+ "1821 289.80 36592940 291.12 293.9700 288.1200 \n",
+ "1822 289.80 36592940 291.12 293.9700 288.1200 \n",
+ "1823 289.80 36592940 291.12 293.9700 288.1200 \n",
+ "1824 291.52 36059610 289.46 292.6900 285.2200 \n",
+ "1825 293.65 25247630 289.93 293.6800 289.5200 \n",
+ "\n",
+ " summarative_score App_Pred \n",
+ "1285 2.595421 186.832808 \n",
+ "1286 0.592368 189.642145 \n",
+ "1287 -0.385190 190.369498 \n",
+ "1288 0.704025 188.070611 \n",
+ "1289 0.618124 189.717980 \n",
+ "... ... ... \n",
+ "1821 0.115701 284.231671 \n",
+ "1822 0.411740 287.421453 \n",
+ "1823 2.102808 286.566718 \n",
+ "1824 7.807207 286.236255 \n",
+ "1825 1.383618 286.168223 \n",
+ "\n",
+ "[541 rows x 7 columns]"
+ ]
+ },
+ "execution_count": 3197,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df_final"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3198,
+ "id": "cc0157f2",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "image/png": "iVBORw0KGgoAAAANSUhEUgAAAboAAAE0CAYAAABaTfYtAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/YYfK9AAAACXBIWXMAAAsTAAALEwEAmpwYAABXT0lEQVR4nO3deVxUVf8H8M+djWVYRUSRxRBERdxT1DRcQk3FfctMzaW0tM01TdNU3DJ9ysTUTNPcMaFMeyrxhxvm/rgh5o4LArLDbPf+/gAmZubOMOAwG9/368Ur77nn3nsOBN85556Fyc7O5kAIIYTYKYGlC0AIIYRUJwp0hBBC7BoFOkIIIXaNAh0hhBC7RoGOEEKIXaNARwghxK5RoCOEvBAPDw/06dPH0sUgRC8KdITo8e2338LDwwMeHh44d+6c3nxJSUnqfGVftWvXRmhoKEaMGIG//vpL5xrt/LVq1UJgYCB69eqFLVu2QKVSaeTv06cPPDw8kJSUZPJ6EmLvRJYuACHWatu2bWAYBhzHYcuWLWjTpo3B/P7+/njjjTcAAEVFRfjf//6Hw4cP4/Dhw1i5ciUmTpyoc82sWbMAACqVCnfu3MEvv/yC06dPIzExEVu3bjV9parBmTNn4OTkZOliEKIXQyujEKLr5MmTeP311zFkyBCcPXsW6enpuHHjBtzc3HTyJiUloV+/fujUqRN+/fVXjXPbtm3DtGnT4OLigtTUVHVA8PDwAABkZ2dr5L969Sp69OiBoqIiHDp0CB07dgRQ0qI7ceIEEhIS0LlzZ9NXmBA7Rl2XhPD44YcfAABvvvkm3njjDRQWFmLPnj2Vvs+bb74JqVSK/Px83Lhxo8L8YWFh6NSpEwAY7C6tirIu1smTJ+PmzZsYOXIkGjRoAF9fX/Tu3RuJiYk61+zYsQMeHh6IiYlBcnIyBg0ahMDAQHh4eKiDtL53dCqVCtu2bUPv3r0RGBgIHx8fNG/eHBMmTMCFCxd08h88eBD9+/dHgwYNUKdOHbRu3Rqff/45cnNzTfp9IDUPBTpCtGRnZyM+Ph5+fn7o0qULRo4cCYFAgC1btlT6XgzDVEMJX8y9e/fw2muvIScnB+PGjUO/fv1w/vx5DBo0CAcPHuS95syZM+jbty9UKhXeeustDBkyBEKhUO8z5HI5hg8fjmnTpuHOnTsYOHAgpkyZgvbt2+P48eM4fPiwRv5PPvkEY8aMwa1bt9C3b19MmjQJderUwZo1a9CrVy/k5eWZ9HtAahZ6R0eIlp9++gnFxcXqAOfv748uXbogMTERZ8+eRdu2bY2+1/bt21FQUACpVIrGjRtXmP/69es4ceIEAKB169ZVroMhJ0+exNSpU/HFF1+o0yZOnIiePXviww8/RPfu3eHi4qJxzdGjR7FmzRqMHTvWqGcsX74cf/zxByIjI/HTTz/B2dlZfU6lUuHZs2fq4927d2Pz5s3o27cvNm7cqPG+b+XKlViyZAliYmKwdOnSKtaY1HQU6AjRsnXrVjAMox5YAgCjRo1CYmIitmzZojfQ3b9/HzExMQCA4uJiXLlyBX/++ScA4LPPPuMdsFGWX6VS4d69e0hISEBxcTH69u2r7sI0NTc3N8ycOVMjrW3bthg4cCD27duHQ4cOYdiwYRrnmzVrZnSQU6lU2LRpExwcHLB27VqNIAcAQqEQdevWVR9/++23EAqF+Prrr3W+Rx9//DFiY2OxZ88eCnSkyijQEVLOiRMnkJKSgk6dOuGll15Sp/ft2xdubm44cOAAli5dCnd3d51rHzx4gOXLlwMo+WPu5eWFnj17YsKECXjttdd4n1eWn2EYuLq6okWLFhg6dKjRQaUqWrRoAVdXV530Tp06Yd++fbh8+bJOoKtMK/bmzZvIyclBixYtEBgYaDBvUVERLl++DE9PT8TGxvLmkUgkePz4MbKyslCrVi2jy0FIGQp0hJRTNqS/fGsOAJycnDB48GBs2bIFe/bs4Z0qwDfqsiLaoy7NoU6dOrzp3t7eAMA7+EPfNXxycnIAAL6+vhXmff78OTiOQ1ZWljro65Ofn0+BjlQJBTpCSj1//lw9GOO9997De++9x5tvy5YtvIHOVqSnp/Oml70345tCUZlBNWWt3cePH1eYt+xZTZs2xcmTJ41+BiGVQYGOkFI//fQTZDIZwsPD0bJlS948R48exbVr1/D333/j5ZdfNm8BTeTSpUvIy8vT6b4sGwTTvHnzF7p/o0aN4O7ujuvXr+PBgwfw9/fXm9fFxQVNmzZFamoqMjMz4eXl9ULPJoQPTS8gpFRZt+Xy5cvx9ddf8369//77AFClqQbWIjc3FytWrNBIO3v2LA4cOAAPDw+8/vrrL3R/oVCIiRMnQiaT4cMPP0RRUZHGeZVKhSdPnqiP33vvPSgUCkyZMgXPnz/XuV9eXh7Onj37QmUiNRu16AhBSWvm5s2baNSokXo1Ej4jRozA559/jp9//hkxMTG8g1Kq05o1a/DTTz/xnnvrrbfQoUOHCu/RsWNHbNu2DefOnUNERAQePXqEAwcOgOM4rF27VmdqQVXMnDkTFy5cwJ9//onWrVujV69e8PT0xKNHj5CUlIQ333wTc+bMAVAyovXSpUv47rvv0LJlS3Tv3h0BAQHIycnB/fv3cfLkSXTt2lVvvQmpCAU6QvDvSihvvfWWwXweHh6Ijo7Gnj17sHv3bkyaNMkMpftX2XQFPq+88opRgS4wMBBr1qzBggULsHnzZsjlcrRu3RqzZs1CZGSkScopkUiwZ88ebN26FTt37sTevXuhVCrh4+ODTp06oXfv3hr5V6xYgaioKGzevBnHjx/H8+fP4e7uDl9fX4wfPx5Dhw41SblIzURrXRJSQ5StyTly5EisX7/e0sUhxGzoHR0hhBC7RoGOEEKIXbNYoNu4cSM6duwIf39/+Pv747XXXsORI0fU5zmOQ0xMDBo3boy6deuiT58+uH79usY9ZDIZZsyYgaCgIPj6+mLEiBFIS0szd1UIIYRYMYu9o/v1118hkUjQsGFDsCyLnTt3Yu3atUhMTESzZs2wZs0arFq1CuvWrUNISAhWrFiB06dP4++//1bP//n4449x6NAhrF+/Hp6enpg7dy5ycnJw7NgxgyurE0IIqTmsajBKgwYNsGDBAowdOxaNGzfGxIkTMX36dAAla+KFhITgiy++wLhx45CTk4Pg4GCsW7dOvS7fw4cPER4ejn379qF79+6WrAohhBArYRXv6FQqFfbv34+CggK0a9cO9+7dw9OnT9GtWzd1HicnJ3Ts2BHJyckAgIsXL0KhUGjk8fPzQ2hoqDoPIYQQYtF5dFevXkVUVBSKi4shlUqxfft2hIWFqQNV2SKzZby9vdXr56Wnp6tXiNfOo28tP0IIITWPRQNdSEgIkpKSkJOTg/j4eEyePBm//PKL+rz2QrIcx1W4uKwxeVJTU6teaEIIIVYlJCTE4HmLBjqJRIKgoCAAQKtWrXD+/Hl8++236vdy6enp8PPzU+fPyMhQt/Lq1KkDlUqFzMxM1K5dWyOPoSWcgIq/KaaQmppqludYI6p7zaw7ULPrT3W33rpbxTu6MizLQi6XIzAwED4+Pjh69Kj6XHFxMU6dOoX27dsDAFq2bAmxWKyRJy0tDSkpKeo8hBBCiMVadJ9//jmioqJQv3595OfnY9++fTh+/Dj27NkDhmEwefJkfPnllwgJCUFwcDBWrVoFqVSKIUOGACjZ82r06NGYP38+vL291dMLwsLCTLZeHyGEENtnsUD39OlTTJo0Cenp6XBzc0NYWJjGtIAPPvgARUVFmDFjBrKzs9GmTRvExcVp7KG1dOlSCIVCjBs3DsXFxejSpQtiY2NpDh0hhBA1q5pHZ2lKpRIFBQUmuVdubi7vTs01gTXUXSqVQiQy/+c4a39XUd1qcv2p7tZbd9qmp5RSqUReXh48PDwqHLVpDAcHBzg6OpqgZLbH0nXnOA7Z2dlwdXW1SLAjhFgXqxqMYkkFBQUmC3LEshiGgYeHh8la54QQ20Yfd8uhIGc/6GdJiJVjWTiPGQNVkyZQtW0LVevW4MpNFTMlCnSEEELMTvDPPxAnJECckAAA4NzdkXv3LlANH1Kp65IQQojZCc+d0zhWtm5dLUEOoEBHDAgPD8fXX39dLffu06cPZsyYUS33JoRYucJCiP76SyNJ1aZNtT2Oui6JRWzfvp1GRBJSA0liY+E4dy4YlUojXRURUW3PpL80dkYul0MikVi6GHqVlc/T09PSRSGEmFtRERy/+EInyHFiMZQdOlTbY6nr0sb16dMHH3/8MebNm4eGDRuiZ8+eAIAbN25g2LBh8PPzQ3BwMMaPH4+nT5+qrzt//jwGDhyIoKAg+Pv7o1evXjhz5kylnh0TE4MOHTpg27ZtaNasGerWrYs33ngDmZmZ6jyTJ0/G8OHDsWbNGjRt2hRNmzZVl7t816VcLseiRYvQrFkz1KlTBy1atEBsbKz6fEX1IYRYP8Hjx2B4pv0oIyMBqbTankstugq4e3hU7boqPi8nO7vS1+zZswdjxozBb7/9Bo7j8OTJE7z++usYPXo0vvjiCygUCnzxxRcYOXIk/vjjDwgEAuTl5WH48OFYtmwZGIbBxo0bMXToUJw/f15njz9D7t+/j927d2PHjh0oKirChx9+iI8++gh79uxR5zlx4gTc3Nywb98+cBz/QjyTJ0/GqVOnEBMTgxYtWuD+/ftIS0sDAKPqQwixfkxGhk6asm1bFC9bVq3PpUBnBwICArBkyRL18ZIlS9CsWTMsXLhQnbZhwwY0aNAAFy5cQJs2bfDqq69q3GPFihWIj4/HH3/8geHDhxv97KKiIsTGxsLf3x8A8NVXX6F37974559/0LBhQwAlK6V88803cHBw4L3HP//8g/3792Pfvn3o0aMHAKBBgwbq85s3b66wPoQQ68eU6+0BAEW3biiMi6v251KgswMtW7bUOL506RJOnjyJ+vXr6+S9c+cO2rRpg2fPnmHJkiVISkrCs2fPoFKpUFRUhIcPH1bq2b6+vuogBwBt27aFQCBASkqKOtA1adJEb5ADgMuXL0MgEKBz5868542pDyHE+mm36Lg6dczyXAp0dkCq1bfNsiyioqKwePFinbxlG9dOnjwZ6enpWLp0KQICAuDg4IDo6GjI5fJqL582fd2ZZYypDyHE+jFZWRrHXCVek7wICnQVqMo7M6Bko1hLLWzcokULHDhwAP7+/hCLxbx5Tp8+jWXLlqkHr6Snp1dpcMejR4/w8OFD9U7w586dA8uyCA0NrVR5WZZFUlKSuuuysvUhhFg/QXq6xnF1Lfml81yzPIWY1YQJE5Cbm4tx48bh7NmzuHv3LhITE/HBBx8gLy8PANCwYUPs2bMHN27cwPnz5/H2229XaVqCk5MTJk+ejMuXL+PMmTP4+OOP0aNHD3W3pTEaNmyIgQMHYtq0aTh48CDu3r2LkydPYteuXUbXhxBi3QRXrsBh3TqNNNZMLToKdHaoXr16OHLkCAQCAQYPHoyIiAhMnz4dEolE/a7sm2++QUFBASIjI/H222/jzTffREBAQKWfFRAQgMGDB2PkyJGIjo5GYGAg1qxZU+n7xMbGYsiQIZg9ezbatWuHKVOmIDc31+j6EEKsm/OkSTpp5uq6pI1XS+Xk5MDdvaqTAnRZsuvSXGJiYhAfH49Tp05ppFtL3U39MzWGtW9AWd1qcv2p7gbqXlQE93r1NJI4kQh5V6+C8/Gp5tJRi44QQkg1Y3je/xfu2WOWIAdQoCOEEFLNBFqBTtmyJZTdupnt+TTqklTZnDlzMGfOHEsXgxBihZisLDguWADB9es6y35xdeuatSwU6AghhJiWSgXnIUMgOn+e9zRr5kBHXZeEEEJMSvTHH3qDHACzvZsrQ4GunIpW6CC2g36WhFiO8MoVg+dZnuX8qhMFulJSqRTZ2dn0B9IOcByH7OzsCpceI4RUD+bJE73nOFdXKHlWQKpOFntHt3r1aiQkJODWrVuQSCRo27YtFixYoN6vDAA89GyRM2HCBKxatQpAyb5mJ06c0Dg/aNAgfP/995Uqj0gkgqurq3qS8ovKzc2Fm5ubSe5la6yh7q6urrSDOSEWor3Ul6JbN6hatQKkUij69QPn62vW8ljsL8Hx48cxfvx4tG7dGhzHYenSpRgwYACSk5PVu0+npKRoXHPhwgWMGDECAwYM0EgfNWoU5s+frz6u6mRlkUhksgnG6enpGqv61yQ1ue6EEIDRCnSyDz6ASmtrMHOyWKCL09qDaMOGDQgICMDp06fRu3dvAICP1gvLQ4cOITg4GK+88opGurOzs05eQggh5sc8fgyR1mpJ5p5OoM1q3tHl5+eDZVm93ZV5eXmIi4vDmDFjdM7t378fQUFBiIiIwLx582ihX0IIsYT8fLjwTARnLdwQsZqXGLNnz0Z4eDjatWvHe37//v2QyWQYOXKkRvrQoUPh7++PunXr4saNG1i4cCGuXLmCn3/+2QylJoQQUkaUmAjB48caaZyTE2DmNWe1WcWizp9++ini4uJw+PBhNGjQgDdP165dERgYiB9++MHgvc6dO4fu3bsjMTFRZ+ftMqmpqS9WYEIIITp8duyAv9buJRl9++LuggXV+tyKFtO2eItuzpw5iIuLQ0JCgt4gd/nyZVy4cEFjwIk+rVq1glAoxO3bt/UGOnOsME4rmVPda6KaXH+qewgci4o00lUNG0L8/fcIqcJel6Zk0UA3a9YsxMXF4ZdffkGjRo305tu6dSsCAgIQGRlZ4T2vXr0KlUpFg1MIIcTMBPfvaxzL5s4FLBzkAAsGuunTp2P37t3Yvn07PDw88LR0dWupVAoXFxd1vsLCQuzduxfTpk0DwzAa97hz5w727NmDqKgo1KpVCykpKZg3bx6aN2+OiIgIs9aHEEJqIiYrC67nzkGYkaGzIgprJdOMLBboNm3aBADo37+/RvqsWbM0VsSPi4tDQUEBRo0apXMPsViMY8eOITY2FgUFBahfvz6ioqIwe/ZsCIXC6q0AIYTUcMLjxyEdOhRuWl2WZWp8oMvOzjYq35tvvok333yT95yfnx8OHTpkwlIRQggxlsP69WD0BDlV48ZmX7xZH6uZR0cIIcS2CO7e1XtONm0aoPW6yVIo0BFCCKmYXA7hhQsQXL8OsCwAgMnI0Jtd2bWruUpWIYtPLyCEEGJdmCdPwLm4AGUDA7Oz4dK7N4TXrwMAOIkERRs2QFA6iFAb6+MDrl49cxW3QtSiI4QQoubwxRdwbdIEbi+9BNGvvwIAJPv2qYMcADByOZzHjdN7D5WeOcyWQi06QgghAMdBvH8/HL/8suRYoYDTe++h0N0dTtOnV+pWqpdfroYCVh216AghhMBx3jw4T5igkSbIzoZL376Vug8nkUCutSaxpVGgI4SQGo65fx8O69a98H1Yb28UrVwJrn59E5TKdKjrkhBCarLiYrg1b/7Ct5FNnIjiFSusZkpBedSiI4SQGkz8228muQ/r72+VQQ6gQEcIITWa+MCBSuVna9XiTef8/ExRnGpBgY4QQmoo5t49iOPjK3VN4d69vOksBTpCCCHWxmH9et505Suv8Kd37AhV06a85yjQEUIIsSqCO3fgEBurky57910UrVkDTqAbHtiXXgKcnHjvZy0LOPOhQEcIITWM4OpVuLRvr5Ne9NVXKF62DGxwMIq//BKcVKo+x7m5QTZxIu/9WKEQsOKt0Wh6ASGE1DBOn3wCRi7XSGMDAiAvt6yXfNw4yIcOhfDqVYBloQoLA9zceO+n8Pau1vK+KGrREUJIDcLcvw/R6dM66bJ339XN7OICVfv2UHXooBHkFD16aGTLfP11k5fTlCjQEUJIDcE8eACX7t110gt27oT8nXeMvo/8nXfAlc6Z49zc8NTKlvzSRl2XhBBSQzi/+y4Ez55ppMneew/K3r0rdR/la6+h4LffILx4EYq+faHSs8u4taBARwgh9o7jIN61C6ITJ3ROqVq3rtItVRERUEVElBykpr5I6aoddV0SQoidk6xdC+fJk3XSWU9Pnfdt9ogCHSGE2DnJtm286QV//AG4u5u5NOZHXZeEEGLnBOnpOmm5V65Y9fqUpkQtOkIIsWdKJZj8fI2kvP/7vxoT5AAKdIQQYteY3FyNY87dHawJ9p+zJRYLdKtXr0bXrl3h7++Phg0bYvjw4bh27ZpGnsmTJ8PDw0Pjq4fWi1OZTIYZM2YgKCgIvr6+GDFiBNLS0sxZFUIIsVpMTo7GMVcD3slps1igO378OMaPH48jR44gPj4eIpEIAwYMwPPnzzXyRUZGIiUlRf21V2uLiDlz5iAhIQGbN2/GoUOHkJeXh+HDh0OlUpmzOoQQYpWY7GyNY87DwyLlsCSLDUaJi4vTON6wYQMCAgJw+vRp9C43edHBwQE+elbFzsnJwY8//oh169aha9eu6vuEh4cjMTER3XlWACCEkBqFWnTW844uPz8fLMvCQ+vTxqlTpxAcHIw2bdpg2rRpeFZuVv/FixehUCjQrVs3dZqfnx9CQ0ORnJxsrqITQojVoq5LK5peMHv2bISHh6Ndu3bqtB49eqBfv34IDAzE/fv3sXjxYkRHRyMxMREODg5IT0+HUCiEl5eXxr28vb2RzjOclhBCagyOg0NMDBxXrNBMpq5Ly/j0009x+vRpHD58GMJyexoNHjxY/e+wsDC0bNkS4eHhOHLkCKKjo/Xej+M4MKULjvJJNdNyNeZ6jjWiutdcNbn+1lR31zNnEKoV5AAgi2XxsBrKacm6h4SEGDxv8UA3Z84cxMXFISEhAQ0aNDCYt169evD19cXt27cBAHXq1IFKpUJmZiZq166tzpeRkYGOHTvqvU9F3xRTSE1NNctzrBHVvWbWHajZ9be2uruU21uuPI8GDeBk4nJaW921WfQd3axZs7Bv3z7Ex8ejUaNGFebPzMzE48eP1YNTWrZsCbFYjKNHj6rzpKWlISUlBe15ds8lhJCagHn8GMIrV3jPceUaBTWFxVp006dPx+7du7F9+3Z4eHjg6dOnAACpVAoXFxfk5+dj2bJliI6Oho+PD+7fv49FixbB29sbffv2BQC4u7tj9OjRmD9/Pry9veHp6Ym5c+ciLCwMkZGRlqoaIYRYTn4+XEpHofNhtcY01AQWC3SbNm0CAPTv318jfdasWZgzZw6EQiGuXbuGXbt2IScnBz4+PujcuTO2bNkCV1dXdf6lS5dCKBRi3LhxKC4uRpcuXRAbG6vxro8QQmoK0Z9/QvDkid7z1KIzo2ytSYzanJycdOba8XF0dMTKlSuxcuVKE5WMEEJsl/DmTYPna2Kgs5p5dIQQQl6c4NYtg+cp0BFCCLFdHAfxr78azuLpaabCWA8KdIQQYifEu3bpbMmjQ1Dz/uzXvBoTQoidEh07ZvC8stzKUzUJBTpCCLETgjt3NI7lI0aArVULAMA5OUE2c6YlimVxFl8ZhRBCyIsTpKRApLWYffHs2eC+/hqCu3fB1q8PODtbqHSWRYGOEELsgNPHH+ukcX5+gEgE1oqX5zIH6rokhBA7IDx1SuOYrVULEFFbBqBARwghtk8mA8OyGkkKrVWnajIKdIQQYuOYx4910ooXLLBASawTBTpCCLFxQq3VUJRt2gA1cINVfagDlxBCbIh41y44LFsGQUYG2MBAKCMi4LB5s0YeztfXQqWzThToCCHEVuTkwGnaNDByOQBAePUqhFev6mRjKdBpoK5LQgixEcJbt9RBzhBlp05mKI3toEBHCCE2gsnKqjBPUUwMlP36maE0toO6LgkhxEZUFOgK9uyBMirKTKWxHdSiIyWys4HiYkuXghBigKFAp+zcGcrXXjNjaWwHtegIHBYtgsNXX4Hz9ETh9u1Qdexo6SIRQnhoBzrZxIng6tQBGAayCRMAhrFQyaybUS26sWPH4vTp0+pjmUyGTZs24THPJMUjR46gI/2htBnMgwdw+OorMBwHQVYWHJcts3SRCCF6MNnZGsdsUBBkM2ZANn06zZszwKhAd/DgQTx48EB9XFBQgJkzZ+LmzZs6eXNycnDjxg3TlZBUK/GRI2A4Tn0s+r//s2BpCCGGaLfouNIteIhhVX5Hx5X740hsF2+fP72rI8QqUaCrGhqMUsMJtJYOAgDBo0cWKAkhpCKC9HSNY87T00IlsS0U6GyVTAanqVPhGhYGxxkzAK2Vy40lvH5dJ40p101NCLESLAvB7duaSQ0aWKYsNoZGXdoY0Z9/wnHuXAjLvQd12LgRqjZtoBgxonI3y8+H4No1nWTBw4dQvWhBCSGmk50N4bVrYIqK1Emspyc4Ly8LFsp2GB3oduzYoR55WVxcDIZhEBsbi/j4eI18//zzj1H3W716NRISEnDr1i1IJBK0bdsWCxYsQNOmTQEACoUCixcvxn//+1/cvXsXrq6u6Ny5MxYsWAB/f3/1ffr06YMTJ05o3HvQoEH4/vvvja2a7VAq4fTuuxA8e6ZzSnzggDrQMVlZQF4euMBAg7cTnj8PRqUb0hwXLIBk82ao2rRB8aJFgJOTacpPCKkU5tkzOL/xBkR//61zjg0NpekERjI60B07dgzHjh3TSDt8+DBvXsaIb/7x48cxfvx4tG7dGhzHYenSpRgwYACSk5Ph6emJwsJCXLp0CdOnT0d4eDhyc3Mxb948DBkyBCdOnICo3M65o0aNwvz589XHjo6OxlbLpghu3eINcgAg+v13oLgYomPH4Dx2LJiiIsgmTEDxqlX8N5PL4ajnnCAjA4KMDIjOnwcbHAz5O++YqgqEkEqQbN7MG+QAgG3UyMylsV1GBbrnz5+b/MFxcXEaxxs2bEBAQABOnz6N3r17w93dHT///LNGnq+++goRERFISUlBWFiYOt3Z2Rk+Pj4mL6O1EfJ0M5ZhOA6CO3fgsGaNunvDYdMmyN97D+xLL2lmzsuDS9++EF66VOEzHefPp0BHiIXwDRYro6JAZzSrGYySn58PlmXhYWDSY15eHgDo5Nm/fz+CgoIQERGBefPmqfPZG773aRrnHz6E6NQpjTQRT6vb4auvjApyAMDIZMYXkBBiMqJff4Vk3z6956lFZzyjWnQsy2Lt2rWoW7cuRo4cqTffTz/9hPT0dHz44YeVLsjs2bMRHh6Odu3a8Z6Xy+WYN28eevXqhfr166vThw4dCn9/f9StWxc3btzAwoULceXKFZ3WoD0Q/u9/hs+fPauT5jRnDhSDB5csEwQAHAfJtm3VUTxCiD4cB8H16+Dc3MD5+VWYXfzTT3CeMsVgHmrRGY/Jzs6ucOb3Tz/9hKlTp+KPP/5Aq1at9OY7f/48evToge+++w5DhgwxuhCffvop4uLicPjwYTTgGS6rVCoxYcIE3LhxA4cOHUItA5Mkz507h+7duyMxMREtW7bkzZOammp02awGx6FFVBTE5ZYAet6lCzyNWMmkoGlTXN+6FQAgyM9H665dNc4/HTECPrt28V6rqFULl44c4b8xywICq+kUIMRqBX7xBbzj48GKRHjw8cd4NnRoSfArKgLr7KyRl1Eq0aZDhwrveTY5mX7/SoWEhBg8b1SLbu/evejRo4fBIAcArVu3Rs+ePbFz506jA92cOXMQFxeHhIQEvUFu/PjxuHbtGn755ReDQQ4AWrVqBaFQiNu3b+sNdBV9U0whNTXVpM8R3LmjEeQ4qRQOgwYBRgQ66bVraFSrFjgvLwi0lmdjAwPhGBsLxfPnEPMENHFWFhrn54NzdgYnlYKrXx8oKoLzqFEQJSZCGRWFwi1bgNJfVsH163h08SLqDhsGCIUvVmkbZOqfu62pyfXXV3fmyRO4lY5OFyiVCFyxArXbtIHjnDkQ3L8P+fjxKF6+XJ1fwDO3VZv8jTcQEhpqusK/IGv/uRv1ceDSpUt49dVXjbph586dcfHiRaPyzpo1C/v27UN8fDwa8TTDFQoFxo0bh6tXryIhIcGoASdXr16FSqWyu8EpAq13aqrWrXUHmRjAZGQALAuXLl000tl69QAARd9+C9nYsbzXunTtCtf27eHWrBkcVq2C5IcfID56FAzHQXzkCMS//AIAEO/cCZeOHRE6eTKcR42qRO0IsV+CtDSdNOnw4RDevg1GqYTDhg0QlhtZyegZWQ0AxfPno2j5chR99VW1lNVeGdWiy8/Ph7u7u1E3dHd3R35+foX5pk+fjt27d2P79u3w8PDA06dPAQBSqRQuLi5QKpUYM2YMLly4gJ07d4JhGHUeNzc3ODk54c6dO9izZw+ioqJQq1YtpKSkYN68eWjevDkiIiKMKq+tEGqtiKBq0gSqFi3ACQRgjFgVhcnKgujPP8HI5RrpXOkHAs7LC8Vr1kD20Udwa9FC730clyzRSZP88AMUw4bBefJkdZr48GEwd++Co5UbSA2nveMAH8mPP0IuFEKydaveFh3r6QnZxx+buHQ1g1GBzsvLC3fv3jXqhvfu3auwexEANm3aBADo37+/RvqsWbMwZ84cpKWl4dChQwCAyMhIjTzr1q3DqFGjIBaLcezYMcTGxqKgoAD169dHVFQUZs+eDaGddZsJ7tzROGaDggAPD6iaN4fIiBa06M8/eQezcC4umglublUrIM8i38Lbt6GkQEdqOGMCnfDvvyE9cACMgRHjtIBz1RkV6Nq1a4f9+/dj5syZEIvFevMpFArs27cP7du3r/Ce2RX88AMDAyvM4+fnpw6G9k5njbvSbktl375GBTp9k8OhUGgcclovxo0hOnkSwvPnddI5WlGFEOMCnRHv5SjQVZ1R7+jeffdd3LlzBxMmTNDbLVlQUICJEyfi7t27ePfdd01aSMLToisNdLKpU6E0YoSWPgqtFjUkEnBVaA07vf++bqJWNykhNRGTk2OS+7BWPNjD2hnVouvQoQNmzZqF5cuXIykpCX379kXTpk3h4uKC/Px8XLt2Db/++iuysrIwa9Ysu3s/ZmlMWprG1jmcSAS2bB1LBwcUxMfD3dtb4xpOLAaj1VrTpujaFcrXXtN6GANIpUBubqXKyLsLAk02J8SoFp0xVE2amOQ+NZHRa13Onj0bTZo0wZIlS/Djjz/qnG/UqBFWr16t886NGE9w+zYcZ82CIDUVnKcn5BMmQDFqFERJSRr5VG3aAA4O/ybwdCdzdesa3G5H1awZCvfv552Hwzk7g6lkoONFG7gSYrJAp9P7QoxWqW16+vfvj/79++P27dtISUlBXl4eXF1dERoaiqCgoOoqY43hNHUqRGU7Mdy9C+HUqVC1agWR1lw5ZefOOtfKhw+HZPfuf4/HjoXjF1/ofZby5Zf1Tjatyns6PtSiI8Q0ga74o4/ABQS8eGFqqCrtRxcUFESBzdQ4TmcJL4Zl4fLKKzrTB/gCnWzGDAgvXIAgNRXy99+H/K234LBsmd7uS5Whyf8mCnTUoiNE9x2dsl07KAYMADgOTnPn8l5TtGIFWB8fqNq2BQQCcKXzXUnV0MarVoJ5/py3BaQd5DiJBCqe9UDZ4GDkJyeXXlSyTVLBgQMl61qKRBCdOAHBvXvgRCIoX38dCgMr13BS6QvUpFzZqUVHCJhy79cBoHj58pIPmkolBI8eQXzggPodPOfkhMLvv4eyd29LFNVuGRXo6tata9Qec2UYhsEjrR8uMUz7l0EfZefO+jdC1foZqV55BUWvvPJvgkJRkkdk+MfOlls0+4VQi47UdEVFEGhtRq0KDi75h0iE4iVLUMyzCAMxLaMC3cCBAysV6EjlCR4/rjAP6+uL4sWLq/4QA3MgNZ4TFgZo7ReYf/gwpIMHgykogLJlS6Pm7mmvwkJITSNISdHolVE1aAC4ulquQDWUUYFu/fr11V2OGo+pINAV/uc/UIwerdNqqw5KrfUwORcXqCIikPf33xDcuwdV27ZwnDkTDlu2GL4RteiIlRMmJkJ46xYUAwaAq13bZPcV/PMPHD/9VGehdLbchtHEfKrlHV12drbBDVSJLoFW16WqSZOSeTMSCeTjx0P18stmK4uqbVsoIyIgOn0aACCbMAEAwPn6QuXrC6DkPQMbHAwmOxuOK1fy3ofe0RFrJt61C86li1s4fPUV8s6f15y2w4fj4LhgAcQ//wxVo0YoXrwYbOPGOtmcJk+G6MwZnXSlGX+Pyb9MGuiePHmCdevW4YcffsADA3O4iC6B1lqi8vHjIS8NMGbHMCjYuxeSvXvBubtDMXCgbh6JBPL33gMAvYGOWnS2jXn4EA6rV0OQllYyr/OddwyP1rUxTjNmqP8tSEuDOCHB4CAtABAdOQKH//yn5Jr79yG8cAF5168DEsm/mRQK3k2QOam0pFeGmJ3Rge7Zs2fYtWsX7ty5A09PT0RHR6NF6Sr3jx49wsqVK7Fz507IZDJ05hn+TgzT+8LaUlxdIX/7baOyKjt1+nf+X3nUorNdHAfpyJEaC4GLf/0Vudeu2c07Ju0FlIXnzlUc6P76S+NYkJkJwbVrYMvtfck8eqQ7WlokQtFXX4Hz8nqxQpMqMSrQ3bx5E71798bz58/Bla5Sv3btWmzevBksy2Lq1KmQyWQYMGAA3n//fXUAJMbTDnSsDc1TVAwezBvomOJioGyyLHVl2xTH6dN1drtg8vIg+vtvKLt1s1CpTIhnt40K33/L5XD47jvdy7QCpuDhQ81HOTkh9+ZNu/mAYIuMWtR5yZIlKCwsxKpVq3Dq1Cns2rULgYGBmD17NiZPnoyoqCicPXsWGzdupCBXBcILFyDIylIfcw4O4Pz8LFiiypGPHYvCzZuh0to8V7JrF9xeegluoaEQ79xpodKRyhKkpMBh82b+c1qLi9sqId+o4Qq62h1Wr+ZNZwoKNI4FWq9tlFFRFOQszKgW3cmTJ/H222/j7dKurMaNG0MkEmHIkCEYMWIEjcqsBMGdO3B67z0Ibt4EV6cOFD17Qhwfr5GHDQnRuzyXVRIIoBg8GJxEAqnWOwiG4wCZDE6zZkExeLDmuwxilYQ8gyjK2Gygk8tLNjV9+BCK7t0hfeMNnSyCJ080E1gWkthYiP78E8ru3XWW4ivDFBZC/MMPaLx5MxyCgiD69VfN2/j7m6wapGqMCnRZWVkI0xoW26xZMwBAdHS06Utlp4QnT8Ll9df/TcjIgPDaNZ18xr4bszqOjnpPMbm5EB0/bh/dXvaOr1uvlPa+iLbCYeVK9aAph7VrefMwT59qHIv++gtOn34KABD/+afeewuTk+GwYUPJAc/mxqwN9c7YK6OaDSzL6my4WnbsbKp1Ee2c5OuvNYOcHoquXSEfN84MJTI9roKh2SIDfyyI5QgTE+H0zjuQxMYCxcUl71b10B4dbBM4rmQpvApot+gc9axDqU2s1YLTRi06yzN61OXZs2chKrd0VF5eHhiGwYkTJ5BV7v1SmYF8Q9JrKObePTguWGBUXvnUqWaZFF4tDLToABvu9rJjzP37kA4bVrKKze7dEP/8M5Q9eujPn55uxtKZhuDKFQi0Wmt8mKdPAZZVvzYQpKYad3+twSfaqEVneUYHuu+++w7f8Yw4Wskzh4phGAp05Yj/+ENnuDEftnZtnVVJbAmntfmrNmPX8yTmI/7tN42l2kSnT5f8sdeDycrSCAZWLzsb4v/+16isjFIJJjPz3/+PxWKTTJGh7XUsz6hAl5CQUN3lsGvMs2cV5uEkEhStWlXhgsvWjH3pJSj69oX4l194zwvS0sxcIlIRvlYL34oeZRiWBZOdDa5Wreos1otRKiE+cACSDRsg4pm4bQjz+LHpAx1NrbE4o/6qvvLKK5DJZDh06BDu3r2LWrVqoWfPnqhbt251l88uMJmZGseK114DGAacuzuUvXuDbdCgZIK4m5uFSmg6hdu2wcXXF0Ke9zyCZ88gPHeuZId0YhWERnbPlcdkZFg80DEZGRD9/jsgEIBt1AhsYKB6MrbDsmVwXLXK4PWyadNQvGABpIMGQXTsmDpd8OQJ2ObNAZRM8jbJSwRbfRVhR4wKdE+fPsXrr7+OO3fuqCeMS6VS7N69G506darWAtoDRusdpmLwYChGjLBQaaqZQIDc9u3hWe6PR3ku3bsjLykJbHi4mQtGyhMdPAjxr79q/JE3lvYHN3Njnj2DS/v2GnNPAaB47lzIpk+HpILFxgu2b4eyb18AAKv1YV06bBhyS6f+6Nvtg3NyAlNUpPf+nJsbmNxcAICsdC1NYllGdbQvXrwYd+/exZQpU7B7927ExMTAwcEBM2fOrO7y2QXtQGfvywAp3d0Nntde0Z2Yl3j/fkjHjIFkz54qXW9MV3x1kmzerBPkAMBxyRK4e3pCUEEg5soFN46nV8qtUSO41akDgZ56Fs+fr/feyldeQcGePVBER0M2ZQqKS6cnEMsyqkX3119/YeTIkVhcbi+0OnXqYMKECUhLS0N9U23Uaae0f/HsPtBV8E6CyckxT0GILqUSjpX848v6+WmMLJS+9RZyypZ2swBRYuILXc/6+Kj/rb2aTxlDeykaWp6v+NNPoYqIQGFERNULSEzOqBbd06dP0b59e420iIgIcByHhxUMrdVn9erV6Nq1K/z9/dGwYUMMHz4c17QmT3Mch5iYGDRu3Bh169ZFnz59cP36dY08MpkMM2bMQFBQEHx9fTFixAikWdmgB+0WHWvNL/JNQFVBiw6FheYpCNEhuHqVd6i9KigIRTExvNewgYE6acz9+yYvmzGYjAwI//77he7BlQt0iv79Kz38n6tThzf9Wf/+UHXs+EJlI9XDqECnUqngqDVHquy4uIpbsRw/fhzjx4/HkSNHEB8fD5FIhAEDBuD58+fqPGvXrsW6deuwfPly/PXXX/D29sbAgQORV24R1Tlz5iAhIQGbN2/GoUOHkJeXh+HDh0OlUlWpXNVBp+vSzgOdoIJAxuTnm6kkRK10PUa+OV8FO3ciPzER8smTkf/HHzrnFT176qQJz583fRmNIN6zB8wL/G6rXnpJcxk6FxfeOhvCBgaC05pewUmluD99epXLRaqX0ZNh7t69i3Pnzqm/Ll26BABITU3VSC/7qkhcXBzefPNNNG3aFGFhYdiwYQMyMjJwunSzT47jsH79enz44Yfo378/mjZtivXr1yM/Px/79u0DAOTk5ODHH3/EokWL0LVrV7Rs2RIbNmzA1atXkfiC3RsmU1wMptwffk4ksvsFXgv1dAeVYahFZzaio0fh7uEB9/r14Tx6NAT37mmcl48ZA2Xv3uoRvyzPawhFdDQ4rRHBIgsFOu1uS07PiEblq68iJysL8gED/s3r7IzihQt18nKVWN1J0aMHuFq1UPz55+Ck0pLr3dxQFBMDroIFE4jlGD1pKyYmBjE8XRvaA1I4jgPDMLyrpRiSn58PlmXVO5Pfu3cPT58+RbdyayM6OTmhY8eOSE5Oxrhx43Dx4kUoFAqNPH5+fggNDUVycjK6d+9eqTJUB+2VzTlXV7sfbpzbsSNYb2/1y3z5sGGaAx8o0JmFZNMmOJVrZYgTEnS6/bS77Xi75ZydUbR2LZzLLU3Hu/q/CQmTkyG8cgWKXr3AZGeXLIT+4IHO+27FkCGQ7N2rc33R6tWAQICiH35AcVYWkJdXMvCEb5k6IwMd5+gI+ZQpAAD5tGkl/y4sBKRSQCgEqjBVg5iHUYFu3bp11V0OzJ49G+Hh4WjXrh2AkveCAOCttdqGt7c3Hj9+DABIT0+HUCiEl9bgDm9vb6Rby1JF2n/Ua8DaoKyjI/KPHYP44EGwoaHgHBw0Ah216MxD8u23Omna6znqvJ8SCqHo2hXio0cBlGwAzHl7Q9WkieZ9qnHNS9GhQ+rdBZw++cRgXmXnzjqBLufuXY39D7latQBDrwtEInASicEBKJy7O/JOnQLn66txnT3Mfa0JjAp0b/BsaWFKn376KU6fPo3Dhw9DKBRqnGO0Wj9lLUZDKsqTaqZPXqmpqXC8exfNyqXJhUKzPd+SbhYUAKVrJjpfv46m5c7JMzPt+ntgDXVjFAq0MWKngQcMgzyt8ko++gj1JRIIZDKkvfsuim/dgkChQOvy909LQ+r167wr+bxI/d2Sk9Ho/feNyquUSpHSrBmaS6UQlvacpE2ahMfPngGVnALR0tERIp5Ax4pEUHp64p+YGBQUFFTYarOGn72lWLLuISEhBs9bfL2pOXPmIC4uDgkJCWjQoIE63ad0ZFR6ejr8yn3qzMjIULfy6tSpA5VKhczMTNSuXVsjT0cDo58q+qaYQmpqKkJCQiDQ6roUe3iY5fmWVFb3MgKtbV8cVCq7/R5o191SBDdvVpiHc3JC3d69UVd7lGxICFC65mr5dffLd0czKhUaFxVB1bq1xqUvWn/XwYONzss0aICg1q1RdPAgJJs3Q9W4MVzefx8hWh+WjSFwdQVKJ3mXkQ8ejKJNmwCGga+e68qzlp+9JVh73S26MuusWbOwb98+xMfHo5HWAIbAwED4+PjgaGkXClAywvPUqVPqqQ4tW7aEWCzWyJOWloaUlBSd6RCWot1NV5kX3/ZCu87UdVm9mPv34Vr6CkAfNjAQBTt3AhVNBdG6pjyXbt1MO/pSqYSgEtMWyra/UbVti6L16yH/4IOSd2VVwPd7qWrd2u7fp9cUFmvRTZ8+Hbt378b27dvh4eGhficnlUrh4uIChmEwefJkfPnllwgJCUFwcDBWrVoFqVSKIUOGAADc3d0xevRozJ8/H97e3vD09MTcuXMRFhaGyMhIS1VNg/ZSQZyTk4VKYjmci4vGsfYAHWJaTjNm6KQp+vSBfMIEICcHbPPmBic968MGBABaiyRLtm5FkVarrqoqu+KKMirKJM8FwPvuXFXBhwViOywW6DZt2gQA6N+/v0b6rFmzMGfOHADABx98gKKiIsyYMQPZ2dlo06YN4uLi4FpueP7SpUshFAoxbtw4FBcXo0uXLoiNjdV512cxNXAwig7tOhcUlOxiTZ+WK08mgygpCay/P9jQUJ3TgkuXeJdYU/TuDWXXri/0aGX37pDExWmkmXI5MO0dvvWRDx4MVadOJt2gmONZ11JF67HaDYsFumwjlhBiGAZz5sxRBz4+jo6OWLlyJe++eBahUsHpgw/QIiEBXPfuUL3yisbpmth1CYmkZCV4pRJAyfsdyOX8Q72JfiwLaZ8+EJ09C04oROG2bVD26fPveY6D89SpOpfJR4+GYujQF3684o03oPjlF4h/++3fRAOLGxvDYfFiSH78EaomTaDQej+nKO0aFZT7W6Fq3BhFmze/0DP5aC/qAKDCjYSJ7bCR3RNth3jfPki2b4c4JweSuDg4ffyxZoYa2HUJQKdVJ7h5E4LLlwFa99JowlOn1PurMSqVzv9bwrNnIbx8WSOtaMUKFH39tWk+VDAMZFqB1NAq/hURnjoFx1WrIHj6FOLERJ0gzfn4oHjFCo00GU+3rCkIMjKq5b7EOlh81KW9EVWwMn9NfEcHlCyRxJQb1ebauXNJulCIothYk7Q47J0oOVnjWHvNSnF8vMaxKiSk5L2cCZlyYFFFWwSx9epBMXAgZKdOQfznn1D06AFFv35Vfp4hjNaIS2JfKNCZEsdBdPy44SylywbVNGz9+hCUTvQvj1Gp4LBsGQU6I/D+v8OyQOm6i8ILFzROyWbPVp8zGe0Pai/SotNqfWrj6tcHxGIUf/UVqraibtVxlRiNSqwfdV1WlUwGJi0NzLNncFiyBNLISLg2bw5BRSuy1NAWnaERbHwLDRMepe84yyu/Car23DlVixYmL4J2j8SLtOgMBTqOYaAoXXDAHIqWLtU4LvzPf8z2bFL9KNBVlkoFx88+g1tQENzCwuAWEgLHlSshungRggcPKry8pnZdKg3sz8XIZIBMZsbS2Ca+ffwcFy4EWBbM8+caH7I4iQRsuQUYTEb7XWtaWpW2zWEyMw1+wFFGRYHj2R6ouihGjoSyc+eSANu/v+YgH2LzqOuykhzWrIHD119X/QY1tesyONjgeSY/HxyNwjSI4RmpLNm+Hcr27UsWCy+HDQ7mXZ7rRfF9UJP27o2CffugMnbuKsfBYflynWQ2IAAoLISqTRsUmblFxXl6oiAhgaa92CkKdJXk+MUXL3R9TW3RceWWaOOVlwfY+c7rL4ov0AHgnVKgataMJ6cJ8Pz/yyiVcH7vPeRV8M6tjMOSJXD47juNNPno0SWjQy2Ngpxdoq7LyjBiKLyqcWPIpk5FsZ5dizlPT1OXyiZUtNksjXqrGF/XpT6K6OjqKYRAwPthTZCWBncvL0iNCHaSnTt10lTNm5ukeITwoUBXCS6vv66TVrb7MicQoHjePOSfPo3iL77A1Z07Uaw150fVsCGUnTqZpaxWp4JuNKbcrvGER0EB74onfFg/Pyhfe63aimKoV6LhzJmAoR3AVSowWlsFcSIRFH37mqp4hOigrstK0N5lGQAKd+8GCgvBFBSAK7d3HufoCNncuWCDgiDZtAls06YonjcP0Fr3kZSgQGcAx0E6cqTR2Qu2b6/WVWcMjbSUZGai+NEjcP7+vOeZrKySlXHKyT9+HFy9eiYtIyHlUaCrBGXHjhCdOqU+Vi9W7Oysd2kvxciRUFTij1RNRYFOP8GlSxD93/9VmI+TSpF7+3a1L63GFBue1Sa8fh1KfYFOa/qNKiQEbOPGJisbIXyo67IS5OPGaSz+WjxvngVLY18o0PET/O9/cDVyNGPh999bxfqh0mHDdPZ2K6M9z7R8Lwgh1YUCXSVwfn4o2L8f8mHDULRoEeTjx1u6SDZFNmWK/pP5+eYriK1gWTiPHs17StGnD7hy7z1ZH59qfS9XWXwDTgDdFh1busEyIdWJAl0lqbp0QdF330E+bRrAs7UH0U8+cSJYPaNReUdd5ubC+a234NqoERwrGuRghwR370J49y7vueKZMyH75BNwDANOJELx0qWmX+7rBYh+/503XTvQUYuOmIP1/GYQu8e+9BLykpORd/YsihYt0jjH13Up2bED4vh4CNLT4fDdd0a9p7Ingv/9jzc9/9AhsC1aQDZnDvL+9z/k3rqls8VNdSr+7DP1vzlHR8jfeks3k56gq70aCkctOmIGNBiFmJdUCjY4GJyHh0YyX6Bz0tqH0GHp0hfePNSWCLUCnXzIEBSVblhchtPTQq5OsmnTAKUSghs3IH/7bYhOntTNxLMuJ8CzHmcFK+YQYgoU6IhFaE/VMGYwClNQUF3FsUrauxEou3e3UEm0iMWQzZr17yFPNyXfThUAINQKdGyjRqYtGyE8qOuSWIbW2owwZtRlNazdaLVYFiKtxZJVrVtbqDCGKTt00EkTPHhQsm5kebm5EKSlqQ85oRBsw4bVXTxCqEVHLEN7EWJ1i47jIDp4EMJ//tG9pgYFOuGlSxoDdFgPD7AhIRYskX7K116DKjgYwlu31GlMQQGY9HSNd3DC1FSN69igIEAiMVs5Sc1Vc/5yEKuiL9BJNm6E08yZ/BfVoFGukrVrNY5V7dpZ1ahKDWIx8o8ehbvWJHHBP/9AVS7QCW7c0DjPhoaapXiEWOlvDrF3+gKdOCFB/0VCYXUWyXrIZBAfOqSRZPWr67i6Qj5woEaSQKtVrv1+TkWBjpgJBTpiEfoCnSgpSf9FNWRzVuGlS2DkcvUxW7cuFAMGWK5ARtJ+3+Y8dSqchw2DMDkZACBISdHMT4GOmAl1XRLL0FrcmsnPr3BCeE1ZJkx45ozGsbJTJ5vYJ41t0kQnTfz77xD//jtUTZpAeP26Zn6aWkDMhFp0xDKEwn8XxS6Tn693cWyg5gQ67S4/VatWFipJ5Sh69YK8Th3ec9pBDgDYijbjJcRELBroTpw4gREjRqBJkybw8PDAjh07NM57eHjwfk2fPl2dp0+fPjrn3377bXNXhVSBdvelw7ffGtwCRvD4se6QdTskyMzUOOZ8fS1UkkqSSnF78WKdn6s+NXUTYmJ+Fu26LCgoQNOmTTFy5Ei8++67OudTtPr0L1y4gBEjRmCA1vuKUaNGYf78+epjR0fHaikvMS3O1RUoN7HYcfnyCq8R79pl/QMzKkuphOjPP0v+2a0bmKwsjdNsBbuzW5P8Vq2Qm5IC4Y0bcOnWTW8+TiSivRmJ2Vg00EVFRSEqKgoAMIVnZXsfrXXwDh06hODgYLzyyisa6c7Ozjp5ifVjmzTRGYlXnqphQzCZmRBkZ6vTJFu22Fegy8+HS69eEF65AgBQtm4NwbNnGllsruXj7AxV69bIP3QILq+/zpuF8/S0ifeOxD7YzDu6vLw8xMXFYcyYMTrn9u/fj6CgIERERGDevHnIqyHvcmxdcblWOB/O0xPKnj010oSXLgHlRiRahYICMHfvAgqFcfk5Do4LFsDdwwPufn7qIAcAovPnS1YVKZ/dy8uEhTUfVceOkA8axHuOs6FWKrF9NhPo9u/fD5lMhpFan+aHDh2KjRs3IiEhATNmzEB8fDxG69nDi1gXtmHDks1C9eA8PFAUG6uRxshkEF6+XN1FM5r4xx/h1qQJ3Fq2hEunThBlZBi+oKgILpGRcNCaEG6ILQcFfXvk6QxEIqQa2cz0gq1bt6JPnz6orTVSa+zYsep/h4WFoUGDBujevTsuXryIli1b8t4rVWspoupirudYI2PrLmVZ6A5KL5ErFOLOrVtoGBkJz8REdXr66dPIcnd/8UK+IEFREVrMnq1ebFp48ya84+ORqmc0oaCoCCEffFDSKjUS6+CA1HLrQ9qC8j97cWAgwiUSCLRa4dw//9jl74c91slYlqx7SAXL49lEoLt8+TIuXLigMeBEn1atWkEoFOL27dt6A11F3xRTSE1NNctzrFFl6s4YWNbLuVs3hISEwDEoCCgX6OpJJPCygu+t8MIFCLV2VHC6dYu/7sXFcG3fHoJ79yr3EC8vm/r/SOdnHxKCwl9+gUvpu/gyQpHIpuplDPqdt96620TX5datWxEQEIDIyMgK8169ehUqlYoGp9gIrm5dvefk48aV5NEajME8f16tZTKW9t5qAOCgtbEoACA7G+516xoMcqrwcN50W+62LKNq1w6F33yjkSbnGWVNSHWxaIsuPz8ft2/fBgCwLIuHDx/i8uXL8PT0hH/pArGFhYXYu3cvpk2bBkZrlNadO3ewZ88eREVFoVatWkhJScG8efPQvHlzREREmL0+pAocHcF6eenMHStavVq9sr1OoMvKAvPgASS7doENCoJi0CCLjOAT8HTVOKSlgfv7b4iSksB5ekLRqxccVq0yeB+2bl0UbtwIlw4dwGjNE1Qa8eHOFiiGD4fiwAGI//wTqrAwyOk9OjEjiwa6CxcuoF+/furjmJgYxMTEYOTIkVi/fj0AIC4uDgUFBRg1apTO9WKxGMeOHUNsbCwKCgpQv359REVFYfbs2RDWlAWA7YCif384lBuUwkmlUPTp8++xVqATPHwIl6go9eaeRRkZkL/zjnkKW74c5balKSPKzYVLuQEYTh99xHutondvFK1ZA8GNG1C9/DLg7Az5u+/CofT/ezYwEPLRo0t287YHYjEK9+8HcnIANzeaWkDMisnOzrb/pSYswNr7rKtTpeuuUEC8YweEqaklQW7QILCNG6tPi377DVIDc+dUoaHIL1042Jykr72mszmqMTiGQe69eyV/8LUIbt0C5+QErn59UxTR7Oj/e6q7NbKJwSjEzonFUIwdC32z0Cp6TyXUWkHHXARPnlTpOtmnn/IGOYAWOiakOlCgI1bPKlcG4Tgw6emVukTRrx+KFy4s2VmbEGI2FOiI1TNq5KFSCYjM+L9zTg6Ycvvjcc7OyD90CK7lBo8oO3RA0ZdfAgwDzssLnJ6V/Qkh1YsCHbF6nJcXWD8/CPiG7pdisrLMF0g4DuIjRzSSWB8fsC1b4vKBAwi5fBlsaGjJ8mU06IIQi7OJeXSkhmMYFG7ZAmWHDmADAnizOA8fDscZM3RW/jc5loXziBFw1hrlyZXO25T7+UH+wQdQ9upFQY4QK0EtOmITVC+/jILfflMfS3v3hujUKfWx6MIFiC5cgODJExT++GO1lUN05IhOaw74N9ARQqwPteiITdK3or84IaFanyvZuZM3XaG1xBUhxHpQoCM2SdWokf6T5QaJmJrw/HnNcgQFoTA2Foo33qi2ZxJCXgwFOmKT5BMnQqVnmD6jtXGpKTFaex0W/PEHFCNG0Ps4QqwYBTpik7h69ZB//jyUrVrpnGMq2hPuRRQWapbD2bn6nkUIMQkKdMSmFX39tU6aoJITuY2mUIApt4s4JxAADg7V8yxCiMlQoCM2jW3WDIroaI20auu61Np7DlIpdVkSYgMo0BGbx/r5aRxXV9clQ92WhNgkCnTE5rFaK6JUdbHlilCgI8Q2UaAjNo+rV0/jmCndp87ktLsuKdARYhMo0BGbx/r6ahwL0tJ0M3EcBDdvQnjyJFBUVPmHyGQQ3r6teUuptPL3IYSYHS0BRmye9ialgkePSv575w44iQSC9HQ4jx0Lwb17AABVcDDyjx0rGUxiBPG2bXCaORNMcbHmc6lFR4hNoEBHbJ52i455/BgOK1bAISYGDMfp5BfeugXx779DMXAg7/0kmzdDvH8/UFwMSCQQnT7N/2AKdITYBAp0xPY5OoL18oIgMxMAwLAsHJcuNXiJvk1TRT//DKdPPjHqsdR1SYhtoHd0xC5oD0ipEN96mCwLx2XLjL+Hk1PlnkkIsQgKdMQuGLULeTkMT6AT/forhDduGH8TrXd2hBDrRF2XxC6wlQx0ZS064cmTEP3f/0HZsyckldzHrjoXjyaEmA4FOmIXDLXo2Pr1IR8zRuO9HSOTQfzjj3CeOrUkoTJdlqWUWkuPEUKsEwU6YhcMBrqAAHCurhppTEYGnLZu1X8/JycwBubbqcLCoOjfv/IFJYSYnUXf0Z04cQIjRoxAkyZN4OHhgR07dmicnzx5Mjw8PDS+evTooZFHJpNhxowZCAoKgq+vL0aMGIE0vgnDxK5xnp76zzk76+wyIDx9Gkxurt5rlN27g/Xx0UkvWr4ceRcuID8xsdLvBQkhlmHRQFdQUICmTZti2bJlcNIzgi0yMhIpKSnqr71792qcnzNnDhISErB582YcOnQIeXl5GD58OFQqlTmqQKyEwaDj7AxOItFIEt65Y/B+qmbNULRqlU66MjIS7EsvAWJxlcpJCDE/i3ZdRkVFISoqCgAwZcoU3jwODg7w4flkDQA5OTn48ccfsW7dOnTt2hUAsGHDBoSHhyMxMRHdu3evnoITq2Mo0HHOzoCjY6XuxwYHQ9mvH3JTU+E0aRKEqamQTZoENjT0RYtKCDEzq39Hd+rUKQQHB8Pd3R2dOnXCZ599Bm9vbwDAxYsXoVAo0K1bN3V+Pz8/hIaGIjk5mQJdDWIw0EmlOi26iqiCg0uu9fZG4YEDL1Q2QohlWXWg69GjB/r164fAwEDcv38fixcvRnR0NBITE+Hg4ID09HQIhUJ4eXlpXOft7Y306tplmlglVbNm4Nzc+N+7SaWV3gmcDQoyUckIIZZm1YFu8ODB6n+HhYWhZcuWCA8Px5EjRxBtYGg3x3FgDOz8nJqaatJyWvo51sgSdZf+5z9oMnasTnpmcTHyMjKgr9NR5eSE4gYNIL1+HQCQ37w5Up8+BZ4+rVI5avLPHajZ9ae6W0ZISIjB81Yd6LTVq1cPvr6+uF26XUqdOnWgUqmQmZmJ2rVrq/NlZGSgY8eOeu9T0TfFFFJTU83yHGtksbqHhEA+ciQkO3dqJHv6+8PNQAuNa9IEqu+/h3zFCoBhwM6ahZCAgCoVoSb/3IGaXX+qu/XW3aYCXWZmJh4/fqwenNKyZUuIxWIcPXoUQ4cOBQCkpaUhJSUF7du3t2RRiYWwfn66iTzTCzSuadwYXIMGKPr222osGSHEUiwa6PLz89WtM5Zl8fDhQ1y+fBmenp7w9PTEsmXLEB0dDR8fH9y/fx+LFi2Ct7c3+vbtCwBwd3fH6NGjMX/+fHh7e8PT0xNz585FWFgYIiMjLVgzYimsv79OGufsDM5AoJMPH16dRSKEWJhFA92FCxfQr18/9XFMTAxiYmIwcuRIrF69GteuXcOuXbuQk5MDHx8fdO7cGVu2bIFruVUuli5dCqFQiHHjxqG4uBhdunRBbGwshEKhJapELIzl6T5h69fX26Ir2LEDqldfre5iEUIsyKKBrnPnzsjOztZ7Pi4ursJ7ODo6YuXKlVi5cqUJS0Zslap9eyh69oT4yBEAgPLVV6Hq0AEMz8CSouXLoezTx9xFJISYmU29oyOkQgIBCnftguDOHYDjSqYJMAxvi46W8CKkZqBAR+wPw+jMg+ObME6BjpCagTZeJTUDzxJgFOgIqRko0JGagadFxxrY8YAQYj8o0JGaQcDzv7q7u/nLQQgxOwp0pMZQ9Oyp/reyfXuDe9gRQuwHDUYhNUbhhg1wXL0aUCgg++gjSxeHEGImFOhIzeHhgeJFiyxdCkKImVHXJSGEELtGgY4QQohdo0BHCCHErlGgI4QQYtco0BFCCLFrFOgIIYTYNSY7O5uzdCEIIYSQ6kItOkIIIXaNAh0hhBC7RoGOEEKIXaNARwghxK5RoCOEEGLXKNDpceLECYwYMQJNmjSBh4cHduzYoXF+8eLFePnll+Hr64vAwEBER0cjOTlZI49MJsOMGTMQFBQEX19fjBgxAmlpaRp5srOzMWnSJAQEBCAgIACTJk1CdnZ2dVfPoIrqXt4HH3wADw8PfP311xrp9lr3yZMnw8PDQ+OrR48eGnlste6AcT/7W7du4c0330RAQADq1auHLl26ICUlRX3eVutfUd21f+5lX9OnT1fnsde65+fnY8aMGWjatCnq1q2Ltm3bYt26dRp5rLnuFOj0KCgoQNOmTbFs2TI4OTnpnA8JCcGqVatw8uRJHD58GIGBgRgyZAjS09PVeebMmYOEhARs3rwZhw4dQl5eHoYPHw6VSqXOM2HCBFy+fBl79+7Fvn37cPnyZbzzzjtmqaM+FdW9zMGDB3H+/HnUq1dP55w91z0yMhIpKSnqr71792qct9W6AxXX/+7du+jZsycCAwMRHx+PU6dOYd68eZBKpeo8tlr/iupe/meekpKCXbt2AQAGDBigzmOvdZ87dy5+//13xMbGIjk5GZ988gkWLlyo/h4A1l13mkdnhPr162PFihUYNWqU3jy5ubkICAjA/v370b17d+Tk5CA4OBjr1q3DsGHDAAAPHz5EeHg49u3bh+7duyMlJQXt27fH4cOHERERAQA4deoUevfujb///hshISFmqZ8h+up+//599OzZEz///DOGDBmCSZMmYerUqQBg13WfPHkysrKysHv3bt5r7KXuAH/9J0yYAIZhsHHjRt5r7KX+xvzOT5s2DSdPnsTZs2cB2HfdO3TogH79+uHTTz9Vp73++usICwvDypUrrb7u1KIzAblcjq1bt8LNzQ3h4eEAgIsXL0KhUKBbt27qfH5+fggNDVV3cZ45cwYuLi5o3769Ok9ERASkUqlON6g1USqVmDBhAqZPn47Q0FCd8/Zcd6DklzM4OBht2rTBtGnT8OzZM/U5e647y7I4fPgwQkNDMXjwYDRs2BBdu3ZFXFycOo8917+8vLw8xMXFYcyYMeo0e657REQEDh8+jIcPHwIAkpOTceXKFXTv3h2A9dedAt0LOHz4MOrXrw8fHx98++23OHDgAOrUqQMASE9Ph1AohJeXl8Y13t7e6u7N9PR0eHl5gWEY9XmGYVC7dm2NLlBrExMTA09PT4wfP573vD3XvUePHoiNjcXBgwexePFinDt3DtHR0ZDJZADsu+7Pnj1Dfn4+Vq9eja5du+LAgQMYPHgwJk6ciMOHDwOw7/qXt3//fshkMowcOVKdZs91X758OcLDw9GsWTPUrl0bffr0weeff45evXoBsP660w7jL6Bz585ISkpCZmYmtm7dirFjx+K///0v6tatq/cajuN0ftAV5bEmx48fx08//YSkpKRKX2vrdQeAwYMHq/8dFhaGli1bIjw8HEeOHEF0dLTe6+yh7izLAijpsnr//fcBAM2bN8fFixexadMm9R89PvZQ//K2bt2KPn36oHbt2hXmtYe6b9iwAcnJydi5cyf8/f1x8uRJfPbZZwgICNAZjFWetdSdWnQvQCqVIigoCC+//DK++eYbiMVibNu2DQBQp04dqFQqZGZmalyTkZEBb29vdZ6MjAxw3L+vSTmOQ2ZmpjqPtUlKSsKTJ08QGhoKLy8veHl54cGDB1iwYAGaNm0KwH7rzqdevXrw9fXF7du3Adh33b28vCASiXS6qxs1aqTu0rLn+pe5fPkyLly4oNFtCdhv3YuKirBo0SIsXLgQvXv3RrNmzTBp0iQMGjRIPdra2utOgc6EWJaFXC4HALRs2RJisRhHjx5Vn09LS1O/kAWAdu3aIT8/H2fOnFHnOXPmDAoKCjT6sa3JhAkTcOLECSQlJam/6tWrhylTpuDgwYMA7LfufDIzM/H48WP4+PgAsO+6SyQStG7dGqmpqRrpt27dgr+/PwD7rn+ZrVu3IiAgAJGRkRrp9lp3hUIBhUIBoVCokS4UCtWtfGuvO3Vd6pGfn6/+lM6yLB4+fIjLly/D09MT7u7u+M9//oNevXrBx8cHmZmZ2LhxIx49eqQeauzu7o7Ro0dj/vz58Pb2hqenJ+bOnYuwsDD1L0hoaCh69OiBjz76CGvXrgXHcfjoo4/Qs2dPi46+MlR3f39/nU9fIpEIPj4+6jLba909PT2xbNkyREdHw8fHB/fv38eiRYvg7e2Nvn37ArDtugMV/+ynTZuGcePGoWPHjujSpQuSkpIQFxennndly/WvqO4AUFhYiL1792LatGk63W32XPdOnTph4cKFkEql8Pf3x4kTJ7Br1y4sXLgQgPXXnaYX6JGUlIR+/frppI8cORJffvklJk6ciHPnziErKwu1atVCq1at8Mknn6Bt27bqvMXFxfjss8+wb98+FBcXo0uXLvjyyy/h5+enzvP8+XPMmjULv/32GwCgd+/eWLFiBTw8PKq9jvoYqvv69et10sPDwzWmFwD2WffVq1dj1KhRuHz5MnJycuDj44POnTtj7ty5GvWy1boDxv3sd+zYgdWrVyMtLQ1BQUH4+OOPMWTIEHVeW62/MXXfvn07PvjgA1y5coV3/qi91v3p06dYuHAhjh49iufPn8Pf3x9vvfUW3n//fXXAt+a6U6AjhBBi1+gdHSGEELtGgY4QQohdo0BHCCHErlGgI4QQYtco0BFCCLFrFOgIIYTYNQp0hBBC7BoFOkKshL4drLW/ylYh8fDwwEcffaS+/t69e+o8S5cu5X3G/Pnz1XmePn2qTufbOb38V35+fvVWnpBqREuAEWIlNmzYoHH8ww8/4OzZs/jmm2800itaF9DR0RF79+7V2CQTKFlAd//+/XB0dERxcbHOdWKxWOdZ5e9JiK2iQEeIlRg+fLjGcWJiIs6fP6+TXpGoqCjEx8fj77//xssvv6xOT0pKQlpaGvr3769egLs8gUBQ6WcRYguo65IQO9OqVSsEBwdjz549Gul79+5Fs2bN0LhxYwuVjBDLoEBHiB0aOnQoDhw4AKVSCQCQyWSIj4/HsGHDDF6XmZmp85WTk2OOIhNSbSjQEWKHhg0bhoyMDPz1118AgMOHDyM3N1djh3RtMpkMDRs21Pnq37+/uYpNSLWgd3SE2KGXXnoJbdu2xd69exEVFYW9e/eiU6dOqF+/vt5rxGIx9u7dq5Pu6upanUUlpNpRoCPETg0dOhQLFy5EWloa/vvf/2LlypUG8wsEAp1dswmxB9R1SYidGjRoEORyOd59911wHIfo6GhLF4kQi6BAR4id8vb2RmRkJJKSkhAVFWXx3csJsRTquiTEjs2cORNt2rRBz549LV0UQiyGAh0hdqxdu3Zo166dUXlZlsXu3bt5z0VFRcHT09OURSPEbCjQEUIAAAqFAu+88w7vuaNHj1KgIzaLyc7O5ixdCEIIIaS60GAUQgghdo0CHSGEELtGgY4QQohdo0BHCCHErlGgI4QQYtco0BFCCLFrFOgIIYTYNQp0hBBC7BoFOkIIIXaNAh0hhBC79v8ZEhIytxsgxgAAAABJRU5ErkJggg==\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "plt.plot(df_final['close_value'], color = 'red', label = 'real price')\n",
+ "#plt.plot(predictions, color = 'blue', label = 'predicted price')\n",
+ "plt.title('APPL price')\n",
+ "plt.xlabel('TIME')\n",
+ "plt.ylabel('PRICE')\n",
+ "plt.legend()\n",
+ "plt.show()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3199,
+ "id": "9ef4015f",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ ""
+ ]
+ },
+ "execution_count": 3199,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "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koCioZpnn30WgHbt2nH06FFWrVpl/udkS31o/63WrFnDoEGD8Pf3L7NsfWj7ypUr2b9/P1999RWhoaH8+eefvPLKK4SFhVlN6rmVvbS9QfSQ3N3diYyM5K677uLDDz/E0dGRL774AoDGjRtjMpnIzMy0OCYjI4OAgABzmYyMDGT55u02WZbJzMw0l7E3u3fv5vr167Rs2RI/Pz/8/Py4cuUKCxYsoE2bNkD9bbstTZs2JSgoiKSkJKB+t93Pzw8HBwerYdoWLVqYh3Lqc/tvOH78OEeOHLEYroP62/bCwkIWLVrEwoULGThwIG3btmXy5Mk88sgj5tm19t72BhGQipMkCb1eD0CHDh1wdHRkx44d5vyUlBTzjT2Azp07U1BQwIEDB8xlDhw4gFqtthhntSeTJk1i79697N692/zVtGlTnnnmGb777jug/rbdlszMTK5du0ZgYCBQv9vu5OTEHXfcQWJiokX6+fPnCQ0NBep3+29Ys2YNYWFh9OrVyyK9vrbdYDBgMBhQqVQW6SqVytxrtve21/khu4KCAvOnXkmSSE5O5vjx4/j6+uLt7c0HH3zAgAEDCAwMJDMzk08++YSrV6+ap4B6e3szfvx45s+fT0BAAL6+vsybN4+YmBjzL3LLli3p168f06dP5/3330eWZaZPn879999fq7NtSmt7aGio1acZBwcHAgMDzXWur2339fXlzTffZMiQIQQGBnL58mUWLVpEQEAADz74IFC32w5lv/fTpk1jwoQJdOvWjR49erB7927i4uLMz63U5faX1XYAjUbDhg0bmDZtmtUwU31u+z333MPChQtxd3cnNDSUvXv3sn79ehYuXAjYf9vr/LTv3bt3M3jwYKv0MWPG8O677/LUU09x+PBhsrKyaNSoER07duSll17izjvvNJfVarW88sorbNy4Ea1WS48ePXj33XcJCQkxl8nOzmbWrFn89NNPAAwcOJC3334bHx+fam9jSUpr+8cff2yVHhsbazHtG+pn25ctW8bYsWM5fvw4ubm5BAYG0r17d+bNm2fRrrradijfe//ll1+ybNkyUlJSiIyM5MUXX2T48OHmsnW1/eVp+7p163j++ec5efKkzefv6mvbU1NTWbhwITt27CA7O5vQ0FAee+wxnn32WXNgtue21/mAJAiCINQPDfIekiAIgmB/REASBEEQ7IIISIIgCIJdEAFJEARBsAsiIAmCIAh2QQQkQRAEwS6IgCQIgiDYBRGQBEEQBLvw/0YxV0DailwdAAAAAElFTkSuQmCC\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "#amongla sussy baka\n",
+ "df_final[['close_value','App_Pred']].plot()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3200,
+ "id": "d57376b8",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "from sklearn.metrics import mean_absolute_error"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3201,
+ "id": "bcf92647",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "predic = df_final['App_Pred'].to_numpy()\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3202,
+ "id": "01578ab6",
+ "metadata": {
+ "scrolled": true
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "541\n",
+ "541\n"
+ ]
+ }
+ ],
+ "source": [
+ "val = APPL['close_value'].to_numpy()\n",
+ "val = val[-(predic.size):]\n",
+ "print(val.size)\n",
+ "print(predic.size)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3203,
+ "id": "f6d1f53c",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "array([0.47631695, 0.46028233, 0.46028233, 0.46756185, 0.48020265,\n",
+ " 0.48020265, 0.48020265, 0.49304018, 0.49190891, 0.47975997,\n",
+ " 0.49525355, 0.49672913, 0.49672913, 0.49672913, 0.49466332,\n",
+ " 0.49731936, 0.49215484, 0.49943436, 0.49727018, 0.49727018,\n",
+ " 0.49727018, 0.49810634, 0.50494319, 0.51389504, 0.51089469,\n",
+ " 0.49500762, 0.49500762, 0.49500762, 0.48974472, 0.49161379,\n",
+ " 0.54675127, 0.5757218 , 0.57867296, 0.57867296, 0.57867296,\n",
+ " 0.58398505, 0.5743446 , 0.5750332 , 0.58305051, 0.57641041,\n",
+ " 0.57641041, 0.57641041, 0.58300133, 0.58732969, 0.58973981,\n",
+ " 0.60488909, 0.62584231, 0.62584231, 0.62584231, 0.61541488,\n",
+ " 0.61334907, 0.61339826, 0.61556244, 0.6188579 , 0.6188579 ,\n",
+ " 0.6188579 , 0.627613 , 0.63626974, 0.65240273, 0.66248586,\n",
+ " 0.67527421, 0.67527421, 0.67527421, 0.67527421, 0.67886479,\n",
+ " 0.67153608, 0.65299297, 0.64413949, 0.64413949, 0.64413949,\n",
+ " 0.62953126, 0.65668191, 0.64300821, 0.66927352, 0.65663273,\n",
+ " 0.65663273, 0.65663273, 0.62731789, 0.62908858, 0.629728 ,\n",
+ " 0.63789287, 0.6262358 , 0.6262358 , 0.6262358 , 0.64163101,\n",
+ " 0.64851704, 0.63981113, 0.66209237, 0.66597806, 0.66597806,\n",
+ " 0.66597806, 0.67345433, 0.6833899 , 0.69711278, 0.67704491,\n",
+ " 0.6588461 , 0.6588461 , 0.6588461 , 0.65628843, 0.67153608,\n",
+ " 0.61984162, 0.6104471 , 0.64812356, 0.64812356, 0.64812356,\n",
+ " 0.62476022, 0.6483203 , 0.64359845, 0.6181693 , 0.63435148,\n",
+ " 0.63435148, 0.63435148, 0.6409424 , 0.65117309, 0.613595 ,\n",
+ " 0.6367616 , 0.61954651, 0.61954651, 0.61954651, 0.599577 ,\n",
+ " 0.60479071, 0.63213811, 0.6486646 , 0.57616448, 0.57616448,\n",
+ " 0.57616448, 0.54719394, 0.55791648, 0.58831341, 0.58113226,\n",
+ " 0.5613595 , 0.5613595 , 0.5613595 , 0.51069795, 0.50115587,\n",
+ " 0.47444789, 0.49712262, 0.50755005, 0.50755005, 0.50755005,\n",
+ " 0.46982441, 0.42614726, 0.42516354, 0.42516354, 0.40307904,\n",
+ " 0.40307904, 0.40307904, 0.41453937, 0.41267031, 0.44562491,\n",
+ " 0.43878806, 0.43401702, 0.43401702, 0.43401702, 0.46470906,\n",
+ " 0.42472087, 0.42472087, 0.41503123, 0.38438837, 0.38438837,\n",
+ " 0.38438837, 0.38984802, 0.38507698, 0.38738872, 0.39648812,\n",
+ " 0.36958339, 0.36958339, 0.36958339, 0.36200876, 0.37248537,\n",
+ " 0.34700703, 0.32703753, 0.29703409, 0.29703409, 0.29703409,\n",
+ " 0.27785156, 0.27785156, 0.32870985, 0.32369288, 0.32408637,\n",
+ " 0.32408637, 0.32408637, 0.33151345, 0.33151345, 0.3323988 ,\n",
+ " 0.25502927, 0.28488515, 0.28488515, 0.28488515, 0.28326201,\n",
+ " 0.29713246, 0.30972407, 0.31213418, 0.3047071 , 0.3047071 ,\n",
+ " 0.3047071 , 0.29344351, 0.3085436 , 0.31774138, 0.32226649,\n",
+ " 0.32698834, 0.32698834, 0.32698834, 0.32698834, 0.30967488,\n",
+ " 0.31272441, 0.30672372, 0.33161182, 0.33161182, 0.33161182,\n",
+ " 0.32443067, 0.31646254, 0.36845212, 0.37430525, 0.37469874,\n",
+ " 0.37469874, 0.37469874, 0.3979637 , 0.41237519, 0.41267031,\n",
+ " 0.39643894, 0.39383208, 0.39383208, 0.39383208, 0.38901185,\n",
+ " 0.39619301, 0.3927008 , 0.39575033, 0.39388127, 0.39388127,\n",
+ " 0.39388127, 0.39388127, 0.39638975, 0.40180021, 0.39702917,\n",
+ " 0.40642369, 0.40642369, 0.40642369, 0.41262112, 0.41311298,\n",
+ " 0.41576902, 0.40730904, 0.41626088, 0.41626088, 0.41626088,\n",
+ " 0.42058925, 0.4190153 , 0.41404751, 0.40411195, 0.40612857,\n",
+ " 0.40612857, 0.40612857, 0.43559097, 0.44547735, 0.44941223,\n",
+ " 0.45934779, 0.47110324, 0.47110324, 0.47110324, 0.48044858,\n",
+ " 0.47311987, 0.48113718, 0.51522306, 0.49535193, 0.49535193,\n",
+ " 0.49535193, 0.48398997, 0.4743987 , 0.48266194, 0.48389159,\n",
+ " 0.48994147, 0.48994147, 0.48994147, 0.49628646, 0.50996016,\n",
+ " 0.51650189, 0.51817422, 0.52461758, 0.52461758, 0.52461758,\n",
+ " 0.53986523, 0.53691407, 0.5424229 , 0.53420884, 0.53381536,\n",
+ " 0.53381536, 0.53381536, 0.53558605, 0.53568442, 0.55476858,\n",
+ " 0.55835916, 0.55835916, 0.55835916, 0.55835916, 0.56165462,\n",
+ " 0.57616448, 0.57459053, 0.56534356, 0.56052334, 0.56052334,\n",
+ " 0.56052334, 0.5620481 , 0.54266883, 0.59111701, 0.58437854,\n",
+ " 0.59716689, 0.59716689, 0.59716689, 0.58108308, 0.55344056,\n",
+ " 0.5536373 , 0.54291476, 0.52550293, 0.52550293, 0.52550293,\n",
+ " 0.4691358 , 0.48359648, 0.49471251, 0.49058089, 0.4852688 ,\n",
+ " 0.4852688 , 0.4852688 , 0.45619989, 0.47346417, 0.45467513,\n",
+ " 0.4393291 , 0.43593527, 0.43593527, 0.43593527, 0.43593527,\n",
+ " 0.43229551, 0.4281147 , 0.43263981, 0.41675274, 0.41675274,\n",
+ " 0.41675274, 0.40804683, 0.43923073, 0.45349466, 0.4666765 ,\n",
+ " 0.49092519, 0.49092519, 0.49092519, 0.50287738, 0.51384585,\n",
+ " 0.51079632, 0.51059958, 0.50366435, 0.50366435, 0.50366435,\n",
+ " 0.50932074, 0.53174955, 0.52889676, 0.53671733, 0.53337268,\n",
+ " 0.53337268, 0.53337268, 0.53238896, 0.51758399, 0.53838965,\n",
+ " 0.53809454, 0.52914269, 0.52914269, 0.52914269, 0.5469972 ,\n",
+ " 0.55280114, 0.56106438, 0.56106438, 0.56017904, 0.56017904,\n",
+ " 0.56017904, 0.53947174, 0.54547243, 0.55526044, 0.54798092,\n",
+ " 0.55560474, 0.55560474, 0.55560474, 0.56499926, 0.56150706,\n",
+ " 0.55585067, 0.56721263, 0.55211254, 0.55211254, 0.55211254,\n",
+ " 0.57488564, 0.58285377, 0.58201761, 0.57390192, 0.57744331,\n",
+ " 0.57744331, 0.57744331, 0.58698539, 0.58255865, 0.60351188,\n",
+ " 0.58083715, 0.55914613, 0.55914613, 0.55914613, 0.50661551,\n",
+ " 0.52461758, 0.53465152, 0.55624416, 0.54424278, 0.54424278,\n",
+ " 0.54424278, 0.5417343 , 0.58349319, 0.55289951, 0.54793173,\n",
+ " 0.57134425, 0.57134425, 0.57134425, 0.59028085, 0.59033004,\n",
+ " 0.60154444, 0.60065909, 0.55235847, 0.55235847, 0.55235847,\n",
+ " 0.57129507, 0.55983474, 0.56657321, 0.58368993, 0.58236191,\n",
+ " 0.58236191, 0.58236191, 0.58236191, 0.56740937, 0.58457528,\n",
+ " 0.60469234, 0.60459397, 0.60459397, 0.60459397, 0.60906989,\n",
+ " 0.62151394, 0.65540308, 0.65291919, 0.63159707, 0.63159707,\n",
+ " 0.63159707, 0.63725346, 0.64118833, 0.65136983, 0.64246717,\n",
+ " 0.6265801 , 0.6265801 , 0.6265801 , 0.63144951, 0.62633417,\n",
+ " 0.64281147, 0.63720427, 0.63194137, 0.63194137, 0.63194137,\n",
+ " 0.65727215, 0.66032168, 0.63262997, 0.64177856, 0.67222468,\n",
+ " 0.67222468, 0.67222468, 0.67247061, 0.65938714, 0.67232305,\n",
+ " 0.68737396, 0.71747578, 0.71747578, 0.71747578, 0.71580345,\n",
+ " 0.71309822, 0.70842556, 0.71290148, 0.7184595 , 0.7184595 ,\n",
+ " 0.7184595 , 0.73862574, 0.73592052, 0.7517584 , 0.75372584,\n",
+ " 0.76848163, 0.76848163, 0.76848163, 0.78063056, 0.75229944,\n",
+ " 0.75215189, 0.77920417, 0.81392947, 0.81392947, 0.81392947,\n",
+ " 0.82219271, 0.82037283, 0.82091388, 0.8316856 , 0.83517781,\n",
+ " 0.83517781, 0.83517781, 0.84531012, 0.84412965, 0.85647533,\n",
+ " 0.8474743 , 0.86282032, 0.86282032, 0.86282032, 0.86941124,\n",
+ " 0.86542718, 0.85017953, 0.84437558, 0.84324431, 0.84324431,\n",
+ " 0.84324431, 0.86582067, 0.85558999, 0.87305101, 0.87305101,\n",
+ " 0.87014903, 0.87014903, 0.87014903, 0.85495057, 0.83178398,\n",
+ " 0.84304756, 0.86193498, 0.88716738, 0.88716738, 0.88716738,\n",
+ " 0.8685259 , 0.87619891, 0.8874625 , 0.89085633, 0.90900595,\n",
+ " 0.90900595, 0.90900595, 0.93217254, 0.93487777, 0.93158231,\n",
+ " 0.93295952, 0.93010673, 0.93010673, 0.93010673, 0.95253554,\n",
+ " 0.95386356, 0.95386356, 0.98160445, 0.9810634 , 0.9810634 ,\n",
+ " 0.9810634 , 0.98952339, 1. ])"
+ ]
+ },
+ "execution_count": 3203,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "y_test"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3204,
+ "id": "2b7d4809",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "2.380744931237316\n"
+ ]
+ }
+ ],
+ "source": [
+ "mae = mean_absolute_error(val, predic)\n",
+ "print(mae)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3205,
+ "id": "fa0c96be",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "baseline = pd.DataFrame()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3206,
+ "id": "33a0470b",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "541"
+ ]
+ },
+ "execution_count": 3206,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "predic.size"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3207,
+ "id": "677c263f",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "542"
+ ]
+ },
+ "execution_count": 3207,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "predic.size + 1"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3208,
+ "id": "6fd0c321",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "baseline['original-excluding-last'] = APPL['close_value'][-(predic.size):-1].to_numpy()\n",
+ "\n",
+ "baseline['shifted'] = APPL['close_value'][-(predic.size - 1):].to_numpy()\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3209,
+ "id": "5b799546",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " original-excluding-last | \n",
+ " shifted | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " 190.58 | \n",
+ " 190.35 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " 190.35 | \n",
+ " 187.88 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 187.88 | \n",
+ " 191.03 | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " 191.03 | \n",
+ " 191.33 | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " 191.33 | \n",
+ " 191.33 | \n",
+ "
\n",
+ " \n",
+ " | ... | \n",
+ " ... | \n",
+ " ... | \n",
+ "
\n",
+ " \n",
+ " | 535 | \n",
+ " 289.91 | \n",
+ " 289.80 | \n",
+ "
\n",
+ " \n",
+ " | 536 | \n",
+ " 289.80 | \n",
+ " 289.80 | \n",
+ "
\n",
+ " \n",
+ " | 537 | \n",
+ " 289.80 | \n",
+ " 289.80 | \n",
+ "
\n",
+ " \n",
+ " | 538 | \n",
+ " 289.80 | \n",
+ " 291.52 | \n",
+ "
\n",
+ " \n",
+ " | 539 | \n",
+ " 291.52 | \n",
+ " 293.65 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
540 rows × 2 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " original-excluding-last shifted\n",
+ "0 190.58 190.35\n",
+ "1 190.35 187.88\n",
+ "2 187.88 191.03\n",
+ "3 191.03 191.33\n",
+ "4 191.33 191.33\n",
+ ".. ... ...\n",
+ "535 289.91 289.80\n",
+ "536 289.80 289.80\n",
+ "537 289.80 289.80\n",
+ "538 289.80 291.52\n",
+ "539 291.52 293.65\n",
+ "\n",
+ "[540 rows x 2 columns]"
+ ]
+ },
+ "execution_count": 3209,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "baseline"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3210,
+ "id": "ca227918",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "1.7790555555555552\n"
+ ]
+ }
+ ],
+ "source": [
+ "mae2 = mean_absolute_error(baseline['original-excluding-last'].to_numpy(), baseline['shifted'].to_numpy())\n",
+ "print(mae2)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "8fa2c720",
+ "metadata": {},
+ "outputs": [],
+ "source": []
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3 (ipykernel)",
+ "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.9.7"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 5
+}