{"metadata":{"kernelspec":{"language":"python","display_name":"Python 3","name":"python3"},"language_info":{"pygments_lexer":"ipython3","nbconvert_exporter":"python","version":"3.6.4","file_extension":".py","codemirror_mode":{"name":"ipython","version":3},"name":"python","mimetype":"text/x-python"}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"markdown","source":"\n# **<center>G-Research Crypto Forecasting</center>**","metadata":{}},{"cell_type":"markdown","source":"<a id=\"TOC\"></a> <br>\n# <center>Table of Contents</center>\n<h4>Asset Details</h4>\n\n* [Importing, Reading, and Verifying the Data](#0)\n* [Universal Downcasting Function for Dataframes](#1)\n  * [Asset Data Downcasting](#2)\n* [Universal Basic Summary Function for Dataframes](#3)\n  * [Asset Data Basic Summary](#4)\n* [Calculate Percentage Weight for Each Coin.](#5)\n* [Plotting the Amount of Weight Each Crypto, Received in the Metric.](#6)\n\n<h4>Train Data</h4>\n\n* [Reading and Downcasting Train Data](#7)\n    * [Converting Timestamp to G - Research Location](#8)\n    * [Segregation of Timestamp into Date, Year, Month, Day & Hour](#9) \n* [Basic Summary of Train Data](#10)\n* [Setting Date As Index for ARIMA, LSTM and Visualization also removing NaN values](#11)\n* [Histroy of CRYPTO Data from 2018-2021(Sep)](#12)\n* [Opening Prize of All CRYPTO from 2018 - 2021(Sep)](#13)\n* [Closing Prize of All CRYPTO from 2018 - 2021(Sep)](#14)\n* [Opening Prize of All CRYPTO in Past 90 Days (24 Jun - 21 Sep) Hourly](#15)\n* [Closing Prize of All CRYPTO in Past 90 Days (24 Jun - 21 Sep) Hourly](#16)\n* [Getting Only Necessary Data for ARIMA Model](#17)\n* [Past 3 Months Bitcoin Data with High Close & Low Close](#18)\n    * [24 June to 26 June Bitcoin Data](#19)\n    * [27 June to 30 June Bitcoin Data](#20)\n    * [1 July to 5 July Bitcoin Data](#21)\n    * [6 July to 10 June Bitcoin Data](#22)\n    * [11 July to 15 July Bitcoin Data](#23)\n    * [16 July to 20 July Bitcoin Data](#24)\n    * [21 July to 25 July Bitcoin Data](#25)\n    * [26 July to 28 July Bitcoin Data](#26)\n    * [29 July to 31 July Bitcoin Data](#27)\n    * [1 August to 5 August Bitcoin Data](#28)\n    * [6 August to 10 August Bitcoin Data](#29)\n    * [11 August to 15 August Bitcoin Data](#30)\n    * [16 August to 20 August Bitcoin Data](#31)\n    * [21 August to 25 August Bitcoin Data](#32)\n    * [26 August to 28 August Bitcoin Data](#33)\n    * [29 August to 31 August Bitcoin Data](#34)\n    * [1 September to 5 September Bitcoin Data](#35)\n    * [6 September to 10 September Bitcoin Data](#36)\n    * [11 September to 15 September Bitcoin Data](#37)\n    * [16 September to 18 September Bitcoin Data](#38)\n    * [19 September to 21 September Bitcoin Data](#39)\n* [Final Data For ARIMA Model](#40)\n* [Identifying P value with ADF](#41)\n* [1st Order Differencing & 2nd Order Differencing Autocorrelation D and Q value](#42)\n* [1st Order Partial Differencing Partial Autocorrelation](#43)\n* [1st Order Partial Differencing Autocorrelation](#44)\n* [ARIMA Model](#45)\n* [Residuals Plotting for ARIMA](#46)\n* [RMSE](#47)\n* [Forecasting Bitcoin Data](#48)\n\n<h4>To Be Continued.......</h4>","metadata":{}},{"cell_type":"markdown","source":"<a id=\"AssetDetails\"></a> <br>\n# <center>Asset Details</center>","metadata":{}},{"cell_type":"markdown","source":"<a id=\"0\"></a> <br>\n# Importing, Reading, and Verifying the Data","metadata":{}},{"cell_type":"code","source":"import numpy as np\nimport pandas as pd\nimport matplotlib.pyplot as plt\nimport warnings\nwarnings.filterwarnings('ignore')\nimport seaborn as sns\nfrom tzlocal import get_localzone\nfrom statsmodels.tsa.stattools import adfuller\nfrom numpy import log\nfrom statsmodels.graphics.tsaplots import plot_acf,plot_pacf\nimport statsmodels.api as sm\nimport statsmodels.tsa.arima.model as stats\nfrom statsmodels.tsa.arima.model import ARIMA\nfrom matplotlib import pyplot\nfrom sklearn.metrics import mean_squared_error\nfrom math import sqrt\n\nassetDetailsData = pd.read_csv('../input/g-research-crypto-forecasting/asset_details.csv')","metadata":{"execution":{"iopub.status.busy":"2021-11-09T22:57:53.912875Z","iopub.execute_input":"2021-11-09T22:57:53.913691Z","iopub.status.idle":"2021-11-09T22:57:53.930400Z","shell.execute_reply.started":"2021-11-09T22:57:53.913647Z","shell.execute_reply":"2021-11-09T22:57:53.929610Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"<a id=\"1\"></a> <br>\n# Universal Downcasting Function for Dataframes","metadata":{}},{"cell_type":"code","source":"def downcastMemoryUsage(dataFrame):\n    startMemoryOptimization = dataFrame.memory_usage().sum() / 1024 ** 2\n    print('Memory usage of dataframe is: {:.2f} MB'.format(startMemoryOptimization))\n    subTypeInt = ['uint8','uint16','uint32','uint64','int8','int16','int32','int64']\n    subTypeFloat = ['float16','float32','float64']\n    for column in dataFrame.columns:\n        columnType = str(dataFrame[column].dtypes)\n        maximumColumn = dataFrame[column].max()\n        minimumColumn = dataFrame[column].min()\n        if 'int' in columnType:\n            for element in subTypeInt:\n                if minimumColumn > np.iinfo(element).min and maximumColumn < np.iinfo(element).max:\n                    dataFrame[column] = dataFrame[column].astype(element)\n                    break\n        elif 'float' in columnType:\n            for element in subTypeFloat:\n                if minimumColumn > np.finfo(element).min and maximumColumn < np.finfo(element).max:\n                    dataFrame[column] = dataFrame[column].astype(element)\n                    break\n        elif 'object' in columnType:\n            if column =='date':\n                dataFrame['date'] = pd.to_datetime(dataFrame['date'],format='%Y-%m-%d')\n            else:\n                numberOfUnique = len(dataFrame[column].unique())\n                numberOfTotal = len(dataFrame[column])\n                if numberOfUnique / numberOfTotal < 0.5:\n                    dataFrame[column] = dataFrame[column].astype('category')\n    endMemoryOptimization = dataFrame.memory_usage().sum() / 1024 ** 2\n    print('Memory usage after optimization is: {:.2f} MB'.format(endMemoryOptimization))\n    print('Compressed by: {:.2f} %'.format(100*(startMemoryOptimization - endMemoryOptimization) / startMemoryOptimization))\n    \n    return dataFrame","metadata":{"execution":{"iopub.status.busy":"2021-11-09T22:44:23.617865Z","iopub.execute_input":"2021-11-09T22:44:23.618090Z","iopub.status.idle":"2021-11-09T22:44:23.631005Z","shell.execute_reply.started":"2021-11-09T22:44:23.618063Z","shell.execute_reply":"2021-11-09T22:44:23.630462Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"**<p id=\"2\"><li>Asset Data Downcasting</li></p>**","metadata":{}},{"cell_type":"code","source":"downcastMemoryUsage(assetDetailsData)","metadata":{"_kg_hide-input":true,"execution":{"iopub.status.busy":"2021-11-09T22:44:23.632028Z","iopub.execute_input":"2021-11-09T22:44:23.632689Z","iopub.status.idle":"2021-11-09T22:44:23.677567Z","shell.execute_reply.started":"2021-11-09T22:44:23.632649Z","shell.execute_reply":"2021-11-09T22:44:23.677011Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"<a id=\"3\"></a> <br>\n# Universal Basic Summary Function for Dataframes","metadata":{}},{"cell_type":"code","source":"def basicSummary(dataFrameForSummary):\n    print(f'Shape : {dataFrameForSummary.shape}')\n    summary = pd.DataFrame(dataFrameForSummary.dtypes, columns=['Data Type'])\n    summary = summary.reset_index()\n    summary = summary.rename(columns={'index': 'Feature'})\n    summary['Num of Nulls'] = dataFrameForSummary.isnull().sum().values\n    summary['Num of Unique'] = dataFrameForSummary.nunique().values\n    summary['First Value'] = dataFrameForSummary.loc[0].values\n    summary['Second Value'] = dataFrameForSummary.loc[1].values\n    summary['Third Value'] = dataFrameForSummary.loc[2].values\n    summary['Fourth Value'] = dataFrameForSummary.loc[3].values\n    summary['Fifth Value'] = dataFrameForSummary.loc[4].values\n    return summary","metadata":{"execution":{"iopub.status.busy":"2021-11-09T22:44:23.678569Z","iopub.execute_input":"2021-11-09T22:44:23.678925Z","iopub.status.idle":"2021-11-09T22:44:23.685903Z","shell.execute_reply.started":"2021-11-09T22:44:23.678892Z","shell.execute_reply":"2021-11-09T22:44:23.685265Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"**<p id=\"4\"><li>Asset Data Basic Summary</li></p>**","metadata":{}},{"cell_type":"code","source":"basicSummary(assetDetailsData)","metadata":{"_kg_hide-input":true,"execution":{"iopub.status.busy":"2021-11-09T22:44:23.687926Z","iopub.execute_input":"2021-11-09T22:44:23.688670Z","iopub.status.idle":"2021-11-09T22:44:23.720684Z","shell.execute_reply.started":"2021-11-09T22:44:23.688630Z","shell.execute_reply":"2021-11-09T22:44:23.720139Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"<a id=\"5\"></a> <br>\n# Calculate Percentage Weight for Each Coin","metadata":{}},{"cell_type":"code","source":"assetDetailsData.sort_values(by=['Weight'],ascending=False,inplace=True)\n# df[percent] = (df['column_name'] / df['column_name'].sum()) * 100\nassetDetailsData['coinWeightPercent'] = (assetDetailsData['Weight'] / assetDetailsData['Weight'].sum()) * 100\nassetDetailsData","metadata":{"_kg_hide-input":true,"execution":{"iopub.status.busy":"2021-11-09T22:44:23.721759Z","iopub.execute_input":"2021-11-09T22:44:23.722128Z","iopub.status.idle":"2021-11-09T22:44:23.737483Z","shell.execute_reply.started":"2021-11-09T22:44:23.722085Z","shell.execute_reply":"2021-11-09T22:44:23.736685Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"<a id=\"6\"></a> <br>\n# Plotting the Amount of Weight Each Crypto, Received in the Metric","metadata":{}},{"cell_type":"code","source":"fig = plt.figure()\nax = plt.gca()\nbox = ax.get_position()\nax.set_position([box.x0, box.y0, box.width * 5, box.height * 3])\ncolors = sns.color_palette('colorblind')[0:14]\nlabels = ['Bitcoin', 'Ethereum', 'Cardano', 'Binance Coin', 'Dogecoin', 'Bitcoin Cash', 'Litecoin', 'Ethereum Classic',\n          'Stellar', 'TRON', 'Monero', 'EOS.IO', 'IOTA', 'Maker']\nexplode = (0.3, 0.3, 0.2, 0.2, 0.1, 0.1, 0.1, 0.0, 0.1, 0.0, 0.1, 0.0, 0.1, 0.0)\nplt.pie(assetDetailsData['coinWeightPercent'], colors=colors, autopct='%.0f%%', labels=labels, explode=explode,\n        startangle=30, shadow=True, textprops={'fontweight': 'semibold', 'fontsize': 15},\n        wedgeprops={'linewidth': 2, 'edgecolor': 'k'}, labeldistance=1.1)\nplt.title(\"Amount of Weight Each Crypto, Received in the Metric.\", fontweight=\"bold\", fontsize=22, pad=21)\nplt.axis('equal')\nplt.show()","metadata":{"_kg_hide-input":true,"execution":{"iopub.status.busy":"2021-11-09T22:44:23.738967Z","iopub.execute_input":"2021-11-09T22:44:23.739284Z","iopub.status.idle":"2021-11-09T22:44:24.131277Z","shell.execute_reply.started":"2021-11-09T22:44:23.739247Z","shell.execute_reply":"2021-11-09T22:44:24.130579Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"<a id=\"TrainData\"></a> <br>\n# <center>Train Data</center>","metadata":{}},{"cell_type":"markdown","source":"<a id=\"7\"></a> <br>\n# Downcasting Train Data\n\n**<p id=\"8\"><li>Converting Timestamp to G - Research Location</li></p>**\n**<p id=\"9\"><li>Segregation of Timestamp into Date, Year, Month, Day & Hour</li></p>**","metadata":{}},{"cell_type":"code","source":"trainData = pd.read_csv('../input/g-research-crypto-forecasting/train.csv')\n# trainData['timestamp']=pd.to_datetime(trainData['timestamp'], unit='s', yearfirst=True, errors='coerce').astype('datetime64[ns]')\ntrainData['DateAndTime'] = pd.to_datetime(trainData['timestamp'], unit='s',utc = True).apply(lambda x:x.tz_convert('Europe/London'))\ntrainData['Date'] = trainData.DateAndTime.dt.date\ntrainData['Year'] = trainData.DateAndTime.dt.year\ntrainData['Month'] = trainData.DateAndTime.dt.month\ntrainData['Day'] = trainData.DateAndTime.dt.day\ntrainData['Hour'] = trainData.DateAndTime.dt.hour\n# trainData['Minute'] = trainData.DateAndTime.dt.minute\n# trainData['Date'] = pd.to_datetime(trainData['timestamp'],unit='s', utc = True).apply(lambda x: x.date())\ndowncastMemoryUsage(trainData)\ntrainData.iloc[::5000000, :]","metadata":{"_kg_hide-input":true,"execution":{"iopub.status.busy":"2021-11-09T22:44:24.132310Z","iopub.execute_input":"2021-11-09T22:44:24.133325Z","iopub.status.idle":"2021-11-09T22:46:16.679177Z","shell.execute_reply.started":"2021-11-09T22:44:24.133259Z","shell.execute_reply":"2021-11-09T22:46:16.677773Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"<a id=\"10\"></a> <br>\n# Basic Summary of Train Data","metadata":{}},{"cell_type":"code","source":"basicSummary(trainData)","metadata":{"_kg_hide-input":true,"execution":{"iopub.status.busy":"2021-11-09T22:46:16.681580Z","iopub.execute_input":"2021-11-09T22:46:16.681923Z","iopub.status.idle":"2021-11-09T22:46:33.075685Z","shell.execute_reply.started":"2021-11-09T22:46:16.681891Z","shell.execute_reply":"2021-11-09T22:46:33.074852Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"<a id=\"11\"></a> <br>\n# Setting Date As Index for ARIMA, LSTM and Visualization also removing NaN values","metadata":{}},{"cell_type":"code","source":"trainData.set_index(['DateAndTime'], inplace = True)\ntrainData['Target'].interpolate(method='time', inplace=True)\ntrainData['VWAP'].interpolate(method='time', inplace=True)","metadata":{"execution":{"iopub.status.busy":"2021-11-09T22:46:33.077337Z","iopub.execute_input":"2021-11-09T22:46:33.077635Z","iopub.status.idle":"2021-11-09T22:46:36.810141Z","shell.execute_reply.started":"2021-11-09T22:46:33.077597Z","shell.execute_reply":"2021-11-09T22:46:36.809271Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"<a id=\"12\"></a> <br>\n# Histroy of CRYPTO Data from 2018-2021(Sep)","metadata":{}},{"cell_type":"code","source":"assetsNamesDictionary = {row[\"Asset_Name\"]:row[\"Asset_ID\"] for x, row in assetDetailsData.iterrows()}\n\nassetNames = ['Bitcoin', 'Ethereum', 'Cardano', 'Binance Coin', 'Dogecoin', 'Bitcoin Cash', 'Litecoin', 'Ethereum Classic',\n          'Stellar', 'TRON', 'Monero', 'EOS.IO', 'IOTA', 'Maker']\n\nfromToListTimes = []\nfor crypto in assetNames:\n    cryptoDataFrame = trainData[trainData[\"Asset_ID\"] == assetsNamesDictionary[crypto]]\n    fromTime = cryptoDataFrame.index[0]\n    toTime = cryptoDataFrame.index[-1]\n    fromToListTimes.append([crypto, fromTime, toTime])\nfromToDataframe = pd.DataFrame(fromToListTimes)\nfromToDataframe.columns = [\"AssetName\", \"StartsFrom\", \"EndsTo\"]\nfromToDataframe","metadata":{"_kg_hide-input":true,"execution":{"iopub.status.busy":"2021-11-09T22:46:36.811368Z","iopub.execute_input":"2021-11-09T22:46:36.811595Z","iopub.status.idle":"2021-11-09T22:46:39.732894Z","shell.execute_reply.started":"2021-11-09T22:46:36.811570Z","shell.execute_reply":"2021-11-09T22:46:39.732164Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"<a id=\"13\"></a> <br>\n# Opening Prize of All CRYPTO from 2018 - 2021(Sep)","metadata":{}},{"cell_type":"code","source":"f = plt.figure(figsize=(20,45))\nfor x, crypto in enumerate(assetNames):\n    cryptoDataFrame = trainData[trainData[\"Asset_ID\"]==assetsNamesDictionary[crypto]]\n    ax = f.add_subplot(7,2,x+1)\n    sns.lineplot(x = 'Date', y = 'Open', hue = 'Year', data = cryptoDataFrame,ci=None)\n    plt.legend()\n    plt.xlabel('Time')\n    plt.ylabel('Value in USD')\n    plt.title(crypto)\n    plt.grid(b = True, axis = 'y')\n\nplt.tight_layout()\nplt.show()","metadata":{"_kg_hide-input":true,"execution":{"iopub.status.busy":"2021-11-09T22:46:39.734139Z","iopub.execute_input":"2021-11-09T22:46:39.734365Z","iopub.status.idle":"2021-11-09T22:47:47.895711Z","shell.execute_reply.started":"2021-11-09T22:46:39.734337Z","shell.execute_reply":"2021-11-09T22:47:47.894821Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"<a id=\"14\"></a> <br>\n# Closing Prize of All CRYPTO from 2018 - 2021(Sep)","metadata":{}},{"cell_type":"code","source":"f = plt.figure(figsize=(20,45))\nfor x, crypto in enumerate(assetNames):\n    cryptoDataFrame = trainData[trainData[\"Asset_ID\"]==assetsNamesDictionary[crypto]]\n    ax = f.add_subplot(7,2,x+1)\n    sns.lineplot(x = 'Date', y = 'Close', hue = 'Year', data = cryptoDataFrame,ci=None)\n    plt.legend()\n    plt.xlabel('Time')\n    plt.ylabel('Value in USD')\n    plt.title(crypto)\n    plt.grid(b = True, axis = 'y')\n\nplt.tight_layout()\nplt.show()","metadata":{"_kg_hide-input":true,"execution":{"iopub.status.busy":"2021-11-09T22:47:47.896912Z","iopub.execute_input":"2021-11-09T22:47:47.897173Z","iopub.status.idle":"2021-11-09T22:48:56.017389Z","shell.execute_reply.started":"2021-11-09T22:47:47.897140Z","shell.execute_reply":"2021-11-09T22:48:56.016689Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"<a id=\"15\"></a> <br>\n# Opening Prize of All CRYPTO in Past 90 Days (24 Jun - 21 Sep) Hourly","metadata":{}},{"cell_type":"code","source":"f = plt.figure(figsize=(20,45))\nfor x, crypto in enumerate(assetNames):\n    cryptoDataFrame = trainData[trainData[\"Asset_ID\"]==assetsNamesDictionary[crypto]]\n    cryptoDataFrame = cryptoDataFrame.loc['2021-06-24 00:01:00+00:00': '2021-09-21 00:01:00+00:00']\n    ax = f.add_subplot(7,2,x+1)\n    sns.lineplot(x = 'Date', y = 'Open', hue = 'Hour', data = cryptoDataFrame,ci=None)\n    plt.legend()\n    plt.xlabel('Time')\n    plt.ylabel('Value in USD')\n    plt.title(crypto)\n    plt.grid(b = True, axis = 'y')\n\nplt.tight_layout()\nplt.show()","metadata":{"_kg_hide-input":true,"execution":{"iopub.status.busy":"2021-11-09T22:48:56.020654Z","iopub.execute_input":"2021-11-09T22:48:56.021417Z","iopub.status.idle":"2021-11-09T22:49:10.428493Z","shell.execute_reply.started":"2021-11-09T22:48:56.021370Z","shell.execute_reply":"2021-11-09T22:49:10.427786Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"<a id=\"16\"></a> <br>\n# Closing Prize of All CRYPTO in Past 90 Days (24 Jun - 21 Sep) Hourly","metadata":{}},{"cell_type":"code","source":"f = plt.figure(figsize=(20,45))\nfor x, crypto in enumerate(assetNames):\n    cryptoDataFrame = trainData[trainData[\"Asset_ID\"]==assetsNamesDictionary[crypto]]\n    cryptoDataFrame = cryptoDataFrame.loc['2021-06-24 00:01:00+00:00': '2021-09-21 00:01:00+00:00']\n    ax = f.add_subplot(7,2,x+1)\n    sns.lineplot(x = 'Date', y = 'Close', hue = 'Hour', data = cryptoDataFrame,ci=None)\n    plt.legend()\n    plt.xlabel('Time')\n    plt.ylabel('Value in USD')\n    plt.title(crypto)\n    plt.grid(b = True, axis = 'y')\n\nplt.tight_layout()\nplt.show()","metadata":{"_kg_hide-input":true,"execution":{"iopub.status.busy":"2021-11-09T22:49:10.429545Z","iopub.execute_input":"2021-11-09T22:49:10.430134Z","iopub.status.idle":"2021-11-09T22:49:24.883836Z","shell.execute_reply.started":"2021-11-09T22:49:10.430077Z","shell.execute_reply":"2021-11-09T22:49:24.883028Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"<a id=\"17\"></a> <br>\n# Getting only necessary data for ARIMA Model","metadata":{}},{"cell_type":"code","source":"trainData.reset_index(drop=True, inplace=True)\ntrainData['Date'] = trainData.Date.astype(str)\n\nnewTrainData = trainData[['Asset_ID','Date','Open','Close','High','Low','Month']]","metadata":{"execution":{"iopub.status.busy":"2021-11-09T22:49:24.885185Z","iopub.execute_input":"2021-11-09T22:49:24.885416Z","iopub.status.idle":"2021-11-09T22:49:31.807855Z","shell.execute_reply.started":"2021-11-09T22:49:24.885387Z","shell.execute_reply":"2021-11-09T22:49:31.807091Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"<a id=\"18\"></a> <br>\n# Past 3 month Bitcoin Data with High Close and Low Close\n\n**<p id=\"19\"><li>24 June to 26 June Bitcoin Data</li></p>**\n","metadata":{}},{"cell_type":"code","source":"trainDataFor24Jun = newTrainData[(newTrainData.Date == '2021-06-24') & (newTrainData.Asset_ID == 1)]\ntrainDataFor24JunHigh = trainDataFor24Jun.loc[trainDataFor24Jun[['High']].idxmax()]\ntrainDataFor24JunLow = trainDataFor24Jun.loc[trainDataFor24Jun[['Low']].idxmin()]\n\ntrainDataFor25Jun = newTrainData[(newTrainData.Date == '2021-06-25') & (newTrainData.Asset_ID == 1)]\ntrainDataFor25JunHigh = trainDataFor25Jun.loc[trainDataFor25Jun[['High']].idxmax()]\ntrainDataFor25JunLow = trainDataFor25Jun.loc[trainDataFor25Jun[['Low']].idxmin()]\n\ntrainDataFor26Jun = newTrainData[(newTrainData.Date == '2021-06-26') & (newTrainData.Asset_ID == 1)]\ntrainDataFor26JunHigh = trainDataFor26Jun.loc[trainDataFor26Jun[['High']].idxmax()]\ntrainDataFor26JunLow = trainDataFor26Jun.loc[trainDataFor26Jun[['Low']].idxmin()]","metadata":{"_kg_hide-input":true,"execution":{"iopub.status.busy":"2021-11-09T22:49:31.809567Z","iopub.execute_input":"2021-11-09T22:49:31.809875Z","iopub.status.idle":"2021-11-09T22:49:43.599827Z","shell.execute_reply.started":"2021-11-09T22:49:31.809837Z","shell.execute_reply":"2021-11-09T22:49:43.598945Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"**<p id=\"20\"><li>27 June to 30 June Bitcoin Data</li></p>**","metadata":{}},{"cell_type":"code","source":"trainDataFor27Jun = newTrainData[(newTrainData.Date == '2021-06-27') & (newTrainData.Asset_ID == 1)]\ntrainDataFor27JunHigh = trainDataFor27Jun.loc[trainDataFor27Jun[['High']].idxmax()]\ntrainDataFor27JunLow = trainDataFor27Jun.loc[trainDataFor27Jun[['Low']].idxmin()]\n\ntrainDataFor28Jun = newTrainData[(newTrainData.Date == '2021-06-28') & (newTrainData.Asset_ID == 1)]\ntrainDataFor28JunHigh = trainDataFor28Jun.loc[trainDataFor28Jun[['High']].idxmax()]\ntrainDataFor28JunLow = trainDataFor28Jun.loc[trainDataFor28Jun[['Low']].idxmin()]\n\ntrainDataFor29Jun = newTrainData[(newTrainData.Date == '2021-06-29') & (newTrainData.Asset_ID == 1)]\ntrainDataFor29JunHigh = trainDataFor29Jun.loc[trainDataFor29Jun[['High']].idxmax()]\ntrainDataFor29JunLow = trainDataFor29Jun.loc[trainDataFor29Jun[['Low']].idxmin()]\n\ntrainDataFor30Jun = newTrainData[(newTrainData.Date == '2021-06-30') & (newTrainData.Asset_ID == 1)]\ntrainDataFor30JunHigh = trainDataFor30Jun.loc[trainDataFor30Jun[['High']].idxmax()]\ntrainDataFor30JunLow = trainDataFor30Jun.loc[trainDataFor30Jun[['Low']].idxmin()]","metadata":{"_kg_hide-input":true,"execution":{"iopub.status.busy":"2021-11-09T22:49:43.601162Z","iopub.execute_input":"2021-11-09T22:49:43.601399Z","iopub.status.idle":"2021-11-09T22:49:59.279966Z","shell.execute_reply.started":"2021-11-09T22:49:43.601371Z","shell.execute_reply":"2021-11-09T22:49:59.279244Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"**<p id=\"21\"><li>1 July to 5 July Bitcoin Data</li></p>**","metadata":{}},{"cell_type":"code","source":"trainDataFor1Jul = newTrainData[(newTrainData.Date == '2021-07-01') & (newTrainData.Asset_ID == 1)]\ntrainDataFor1JulHigh = trainDataFor1Jul.loc[trainDataFor1Jul[['High']].idxmax()]\ntrainDataFor1JulLow = trainDataFor1Jul.loc[trainDataFor1Jul[['Low']].idxmin()]\n\ntrainDataFor2Jul = newTrainData[(newTrainData.Date == '2021-07-02') & (newTrainData.Asset_ID == 1)]\ntrainDataFor2JulHigh = trainDataFor2Jul.loc[trainDataFor2Jul[['High']].idxmax()]\ntrainDataFor2JulLow = trainDataFor2Jul.loc[trainDataFor2Jul[['Low']].idxmin()]\n\ntrainDataFor3Jul = newTrainData[(newTrainData.Date == '2021-07-03') & (newTrainData.Asset_ID == 1)]\ntrainDataFor3JulHigh = trainDataFor3Jul.loc[trainDataFor3Jul[['High']].idxmax()]\ntrainDataFor3JulLow = trainDataFor3Jul.loc[trainDataFor3Jul[['Low']].idxmin()]\n\ntrainDataFor4Jul = newTrainData[(newTrainData.Date == '2021-07-04') & (newTrainData.Asset_ID == 1)]\ntrainDataFor4JulHigh = trainDataFor4Jul.loc[trainDataFor4Jul[['High']].idxmax()]\ntrainDataFor4JulLow = trainDataFor4Jul.loc[trainDataFor4Jul[['Low']].idxmin()]\n\ntrainDataFor5Jul = newTrainData[(newTrainData.Date == '2021-07-05') & (newTrainData.Asset_ID == 1)]\ntrainDataFor5JulHigh = trainDataFor5Jul.loc[trainDataFor5Jul[['High']].idxmax()]\ntrainDataFor5JulLow = trainDataFor5Jul.loc[trainDataFor5Jul[['Low']].idxmin()]","metadata":{"_kg_hide-input":true,"execution":{"iopub.status.busy":"2021-11-09T22:49:59.281005Z","iopub.execute_input":"2021-11-09T22:49:59.281218Z","iopub.status.idle":"2021-11-09T22:50:18.813347Z","shell.execute_reply.started":"2021-11-09T22:49:59.281193Z","shell.execute_reply":"2021-11-09T22:50:18.812503Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"**<p id=\"22\"><li>6 July to 10 July Bitcoin Data</li></p>**","metadata":{}},{"cell_type":"code","source":"trainDataFor6Jul = newTrainData[(newTrainData.Date == '2021-07-06') & (newTrainData.Asset_ID == 1)]\ntrainDataFor6JulHigh = trainDataFor6Jul.loc[trainDataFor6Jul[['High']].idxmax()]\ntrainDataFor6JulLow = trainDataFor6Jul.loc[trainDataFor6Jul[['Low']].idxmin()]\n\ntrainDataFor7Jul = newTrainData[(newTrainData.Date == '2021-07-07') & (newTrainData.Asset_ID == 1)]\ntrainDataFor7JulHigh = trainDataFor7Jul.loc[trainDataFor7Jul[['High']].idxmax()]\ntrainDataFor7JulLow = trainDataFor7Jul.loc[trainDataFor7Jul[['Low']].idxmin()]\n\ntrainDataFor8Jul = newTrainData[(newTrainData.Date == '2021-07-08') & (newTrainData.Asset_ID == 1)]\ntrainDataFor8JulHigh = trainDataFor8Jul.loc[trainDataFor8Jul[['High']].idxmax()]\ntrainDataFor8JulLow = trainDataFor8Jul.loc[trainDataFor8Jul[['Low']].idxmin()]\n\ntrainDataFor9Jul = newTrainData[(newTrainData.Date == '2021-07-09') & (newTrainData.Asset_ID == 1)]\ntrainDataFor9JulHigh = trainDataFor9Jul.loc[trainDataFor9Jul[['High']].idxmax()]\ntrainDataFor9JulLow = trainDataFor9Jul.loc[trainDataFor9Jul[['Low']].idxmin()]\n\ntrainDataFor10Jul = newTrainData[(newTrainData.Date == '2021-07-10') & (newTrainData.Asset_ID == 1)]\ntrainDataFor10JulHigh = trainDataFor10Jul.loc[trainDataFor10Jul[['High']].idxmax()]\ntrainDataFor10JulLow = trainDataFor10Jul.loc[trainDataFor10Jul[['Low']].idxmin()]","metadata":{"_kg_hide-input":true,"execution":{"iopub.status.busy":"2021-11-09T22:50:18.814727Z","iopub.execute_input":"2021-11-09T22:50:18.815030Z","iopub.status.idle":"2021-11-09T22:50:39.083334Z","shell.execute_reply.started":"2021-11-09T22:50:18.814992Z","shell.execute_reply":"2021-11-09T22:50:39.082383Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":" **<p id=\"23\"><li>11 July to 15 July Bitcoin Data</li></p>**","metadata":{}},{"cell_type":"code","source":"trainDataFor11Jul = newTrainData[(newTrainData.Date == '2021-07-11') & (newTrainData.Asset_ID == 1)]\ntrainDataFor11JulHigh = trainDataFor11Jul.loc[trainDataFor11Jul[['High']].idxmax()]\ntrainDataFor11JulLow = trainDataFor11Jul.loc[trainDataFor11Jul[['Low']].idxmin()]\n\ntrainDataFor12Jul = newTrainData[(newTrainData.Date == '2021-07-12') & (newTrainData.Asset_ID == 1)]\ntrainDataFor12JulHigh = trainDataFor12Jul.loc[trainDataFor12Jul[['High']].idxmax()]\ntrainDataFor12JulLow = trainDataFor12Jul.loc[trainDataFor12Jul[['Low']].idxmin()]\n\ntrainDataFor13Jul = newTrainData[(newTrainData.Date == '2021-07-13') & (newTrainData.Asset_ID == 1)]\ntrainDataFor13JulHigh = trainDataFor13Jul.loc[trainDataFor13Jul[['High']].idxmax()]\ntrainDataFor13JulLow = trainDataFor13Jul.loc[trainDataFor13Jul[['Low']].idxmin()]\n\ntrainDataFor14Jul = newTrainData[(newTrainData.Date == '2021-07-14') & (newTrainData.Asset_ID == 1)]\ntrainDataFor14JulHigh = trainDataFor14Jul.loc[trainDataFor14Jul[['High']].idxmax()]\ntrainDataFor14JulLow = trainDataFor14Jul.loc[trainDataFor14Jul[['Low']].idxmin()]\n\ntrainDataFor15Jul = newTrainData[(newTrainData.Date == '2021-07-15') & (newTrainData.Asset_ID == 1)]\ntrainDataFor15JulHigh = trainDataFor15Jul.loc[trainDataFor15Jul[['High']].idxmax()]\ntrainDataFor15JulLow = trainDataFor15Jul.loc[trainDataFor15Jul[['Low']].idxmin()]","metadata":{"_kg_hide-input":true,"execution":{"iopub.status.busy":"2021-11-09T22:50:39.084964Z","iopub.execute_input":"2021-11-09T22:50:39.085402Z","iopub.status.idle":"2021-11-09T22:50:58.597566Z","shell.execute_reply.started":"2021-11-09T22:50:39.085359Z","shell.execute_reply":"2021-11-09T22:50:58.596826Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"**<p id=\"24\"><li>16 July to 20 July Bitcoin Data</li></p>**","metadata":{}},{"cell_type":"code","source":"trainDataFor16Jul = newTrainData[(newTrainData.Date == '2021-07-16') & (newTrainData.Asset_ID == 1)]\ntrainDataFor16JulHigh = trainDataFor16Jul.loc[trainDataFor16Jul[['High']].idxmax()]\ntrainDataFor16JulLow = trainDataFor16Jul.loc[trainDataFor16Jul[['Low']].idxmin()]\n\ntrainDataFor17Jul = newTrainData[(newTrainData.Date == '2021-07-17') & (newTrainData.Asset_ID == 1)]\ntrainDataFor17JulHigh = trainDataFor17Jul.loc[trainDataFor17Jul[['High']].idxmax()]\ntrainDataFor17JulLow = trainDataFor17Jul.loc[trainDataFor17Jul[['Low']].idxmin()]\n\ntrainDataFor18Jul = newTrainData[(newTrainData.Date == '2021-07-18') & (newTrainData.Asset_ID == 1)]\ntrainDataFor18JulHigh = trainDataFor18Jul.loc[trainDataFor18Jul[['High']].idxmax()]\ntrainDataFor18JulLow = trainDataFor18Jul.loc[trainDataFor18Jul[['Low']].idxmin()]\n\ntrainDataFor19Jul = newTrainData[(newTrainData.Date == '2021-07-19') & (newTrainData.Asset_ID == 1)]\ntrainDataFor19JulHigh = trainDataFor19Jul.loc[trainDataFor19Jul[['High']].idxmax()]\ntrainDataFor19JulLow = trainDataFor19Jul.loc[trainDataFor19Jul[['Low']].idxmin()]\n\ntrainDataFor20Jul = newTrainData[(newTrainData.Date == '2021-07-20') & (newTrainData.Asset_ID == 1)]\ntrainDataFor20JulHigh = trainDataFor20Jul.loc[trainDataFor20Jul[['High']].idxmax()]\ntrainDataFor20JulLow = trainDataFor20Jul.loc[trainDataFor20Jul[['Low']].idxmin()]","metadata":{"_kg_hide-input":true,"execution":{"iopub.status.busy":"2021-11-09T22:50:58.599093Z","iopub.execute_input":"2021-11-09T22:50:58.599872Z","iopub.status.idle":"2021-11-09T22:51:18.069980Z","shell.execute_reply.started":"2021-11-09T22:50:58.599839Z","shell.execute_reply":"2021-11-09T22:51:18.069349Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"**<p id=\"25\"><li>21 July to 25 July Bitcoin Data</li></p>**","metadata":{}},{"cell_type":"code","source":"trainDataFor21Jul = newTrainData[(newTrainData.Date == '2021-07-21') & (newTrainData.Asset_ID == 1)]\ntrainDataFor21JulHigh = trainDataFor21Jul.loc[trainDataFor21Jul[['High']].idxmax()]\ntrainDataFor21JulLow = trainDataFor21Jul.loc[trainDataFor21Jul[['Low']].idxmin()]\n\ntrainDataFor22Jul = newTrainData[(newTrainData.Date == '2021-07-22') & (newTrainData.Asset_ID == 1)]\ntrainDataFor22JulHigh = trainDataFor22Jul.loc[trainDataFor22Jul[['High']].idxmax()]\ntrainDataFor22JulLow = trainDataFor22Jul.loc[trainDataFor22Jul[['Low']].idxmin()]\n\ntrainDataFor23Jul = newTrainData[(newTrainData.Date == '2021-07-23') & (newTrainData.Asset_ID == 1)]\ntrainDataFor23JulHigh = trainDataFor23Jul.loc[trainDataFor23Jul[['High']].idxmax()]\ntrainDataFor23JulLow = trainDataFor23Jul.loc[trainDataFor23Jul[['Low']].idxmin()]\n\ntrainDataFor24Jul = newTrainData[(newTrainData.Date == '2021-07-24') & (newTrainData.Asset_ID == 1)]\ntrainDataFor24JulHigh = trainDataFor24Jul.loc[trainDataFor24Jul[['High']].idxmax()]\ntrainDataFor24JulLow = trainDataFor24Jul.loc[trainDataFor24Jul[['Low']].idxmin()]\n\ntrainDataFor25Jul = newTrainData[(newTrainData.Date == '2021-07-25') & (newTrainData.Asset_ID == 1)]\ntrainDataFor25JulHigh = trainDataFor25Jul.loc[trainDataFor25Jul[['High']].idxmax()]\ntrainDataFor25JulLow = trainDataFor25Jul.loc[trainDataFor25Jul[['Low']].idxmin()]","metadata":{"_kg_hide-input":true,"execution":{"iopub.status.busy":"2021-11-09T22:51:18.071145Z","iopub.execute_input":"2021-11-09T22:51:18.071456Z","iopub.status.idle":"2021-11-09T22:51:37.616136Z","shell.execute_reply.started":"2021-11-09T22:51:18.071429Z","shell.execute_reply":"2021-11-09T22:51:37.615342Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":" **<p id=\"26\"><li>26 July to 28 July Bitcoin Data</li></p>**","metadata":{}},{"cell_type":"code","source":"trainDataFor26Jul = newTrainData[(newTrainData.Date == '2021-07-26') & (newTrainData.Asset_ID == 1)]\ntrainDataFor26JulHigh = trainDataFor26Jul.loc[trainDataFor26Jul[['High']].idxmax()]\ntrainDataFor26JulLow = trainDataFor26Jul.loc[trainDataFor26Jul[['Low']].idxmin()]\n\ntrainDataFor27Jul = newTrainData[(newTrainData.Date == '2021-07-27') & (newTrainData.Asset_ID == 1)]\ntrainDataFor27JulHigh = trainDataFor27Jul.loc[trainDataFor27Jul[['High']].idxmax()]\ntrainDataFor27JulLow = trainDataFor27Jul.loc[trainDataFor27Jul[['Low']].idxmin()]\n\ntrainDataFor28Jul = newTrainData[(newTrainData.Date == '2021-07-28') & (newTrainData.Asset_ID == 1)]\ntrainDataFor28JulHigh = trainDataFor28Jul.loc[trainDataFor28Jul[['High']].idxmax()]\ntrainDataFor28JulLow = trainDataFor28Jul.loc[trainDataFor28Jul[['Low']].idxmin()]","metadata":{"_kg_hide-input":true,"execution":{"iopub.status.busy":"2021-11-09T22:51:37.617450Z","iopub.execute_input":"2021-11-09T22:51:37.617767Z","iopub.status.idle":"2021-11-09T22:51:49.332031Z","shell.execute_reply.started":"2021-11-09T22:51:37.617727Z","shell.execute_reply":"2021-11-09T22:51:49.331395Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":" **<p id=\"27\"><li>29 July to 31 July Bitcoin Data</li></p>**","metadata":{}},{"cell_type":"code","source":"trainDataFor29Jul = newTrainData[(newTrainData.Date == '2021-07-29') & (newTrainData.Asset_ID == 1)]\ntrainDataFor29JulHigh = trainDataFor29Jul.loc[trainDataFor29Jul[['High']].idxmax()]\ntrainDataFor29JulLow = trainDataFor29Jul.loc[trainDataFor29Jul[['Low']].idxmin()]\n\ntrainDataFor30Jul = newTrainData[(newTrainData.Date == '2021-07-30') & (newTrainData.Asset_ID == 1)]\ntrainDataFor30JulHigh = trainDataFor30Jul.loc[trainDataFor30Jul[['High']].idxmax()]\ntrainDataFor30JulLow = trainDataFor30Jul.loc[trainDataFor30Jul[['Low']].idxmin()]\n\ntrainDataFor31Jul = newTrainData[(newTrainData.Date == '2021-07-31') & (newTrainData.Asset_ID == 1)]\ntrainDataFor31JulHigh = trainDataFor31Jul.loc[trainDataFor31Jul[['High']].idxmax()]\ntrainDataFor31JulLow = trainDataFor31Jul.loc[trainDataFor31Jul[['Low']].idxmin()]","metadata":{"_kg_hide-input":true,"execution":{"iopub.status.busy":"2021-11-09T22:51:49.333333Z","iopub.execute_input":"2021-11-09T22:51:49.333998Z","iopub.status.idle":"2021-11-09T22:52:01.208391Z","shell.execute_reply.started":"2021-11-09T22:51:49.333968Z","shell.execute_reply":"2021-11-09T22:52:01.207647Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"**<p id=\"28\"><li>21 August to 5 August Bitcoin Data</li></p>**","metadata":{}},{"cell_type":"code","source":"trainDataFor1Aug = newTrainData[(newTrainData.Date == '2021-08-01') & (newTrainData.Asset_ID == 1)]\ntrainDataFor1AugHigh = trainDataFor1Aug.loc[trainDataFor1Aug[['High']].idxmax()]\ntrainDataFor1AugLow = trainDataFor1Aug.loc[trainDataFor1Aug[['Low']].idxmin()]\n\ntrainDataFor2Aug = newTrainData[(newTrainData.Date == '2021-08-02') & (newTrainData.Asset_ID == 1)]\ntrainDataFor2AugHigh = trainDataFor2Aug.loc[trainDataFor2Aug[['High']].idxmax()]\ntrainDataFor2AugLow = trainDataFor2Aug.loc[trainDataFor2Aug[['Low']].idxmin()]\n\ntrainDataFor3Aug = newTrainData[(newTrainData.Date == '2021-08-03') & (newTrainData.Asset_ID == 1)]\ntrainDataFor3AugHigh = trainDataFor3Aug.loc[trainDataFor3Aug[['High']].idxmax()]\ntrainDataFor3AugLow = trainDataFor3Aug.loc[trainDataFor3Aug[['Low']].idxmin()]\n\ntrainDataFor4Aug = newTrainData[(newTrainData.Date == '2021-08-04') & (newTrainData.Asset_ID == 1)]\ntrainDataFor4AugHigh = trainDataFor4Aug.loc[trainDataFor4Aug[['High']].idxmax()]\ntrainDataFor4AugLow = trainDataFor4Aug.loc[trainDataFor4Aug[['Low']].idxmin()]\n\ntrainDataFor5Aug = newTrainData[(newTrainData.Date == '2021-08-05') & (newTrainData.Asset_ID == 1)]\ntrainDataFor5AugHigh = trainDataFor5Aug.loc[trainDataFor5Aug[['High']].idxmax()]\ntrainDataFor5AugLow = trainDataFor5Aug.loc[trainDataFor5Aug[['Low']].idxmin()]","metadata":{"_kg_hide-input":true,"execution":{"iopub.status.busy":"2021-11-09T22:52:01.209432Z","iopub.execute_input":"2021-11-09T22:52:01.209642Z","iopub.status.idle":"2021-11-09T22:52:20.649344Z","shell.execute_reply.started":"2021-11-09T22:52:01.209617Z","shell.execute_reply":"2021-11-09T22:52:20.648557Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"**<p id=\"29\"><li>6 August to 10 August Bitcoin Data</li></p>**","metadata":{}},{"cell_type":"code","source":"trainDataFor6Aug = newTrainData[(newTrainData.Date == '2021-08-06') & (newTrainData.Asset_ID == 1)]\ntrainDataFor6AugHigh = trainDataFor6Aug.loc[trainDataFor6Aug[['High']].idxmax()]\ntrainDataFor6AugLow = trainDataFor6Aug.loc[trainDataFor6Aug[['Low']].idxmin()]\n\ntrainDataFor7Aug = newTrainData[(newTrainData.Date == '2021-08-07') & (newTrainData.Asset_ID == 1)]\ntrainDataFor7AugHigh = trainDataFor7Aug.loc[trainDataFor7Aug[['High']].idxmax()]\ntrainDataFor7AugLow = trainDataFor7Aug.loc[trainDataFor7Aug[['Low']].idxmin()]\n\ntrainDataFor8Aug = newTrainData[(newTrainData.Date == '2021-08-08') & (newTrainData.Asset_ID == 1)]\ntrainDataFor8AugHigh = trainDataFor8Aug.loc[trainDataFor8Aug[['High']].idxmax()]\ntrainDataFor8AugLow = trainDataFor8Aug.loc[trainDataFor8Aug[['Low']].idxmin()]\n\ntrainDataFor9Aug = newTrainData[(newTrainData.Date == '2021-08-09') & (newTrainData.Asset_ID == 1)]\ntrainDataFor9AugHigh = trainDataFor9Aug.loc[trainDataFor9Aug[['High']].idxmax()]\ntrainDataFor9AugLow = trainDataFor9Aug.loc[trainDataFor9Aug[['Low']].idxmin()]\n\ntrainDataFor10Aug = newTrainData[(newTrainData.Date == '2021-08-10') & (newTrainData.Asset_ID == 1)]\ntrainDataFor10AugHigh = trainDataFor10Aug.loc[trainDataFor10Aug[['High']].idxmax()]\ntrainDataFor10AugLow = trainDataFor10Aug.loc[trainDataFor10Aug[['Low']].idxmin()]","metadata":{"_kg_hide-input":true,"execution":{"iopub.status.busy":"2021-11-09T22:52:20.650545Z","iopub.execute_input":"2021-11-09T22:52:20.650757Z","iopub.status.idle":"2021-11-09T22:52:40.164845Z","shell.execute_reply.started":"2021-11-09T22:52:20.650732Z","shell.execute_reply":"2021-11-09T22:52:40.164023Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"**<p id=\"30\"><li>11 August to 15 August Bitcoin Data</li></p>**","metadata":{}},{"cell_type":"code","source":"trainDataFor11Aug = newTrainData[(newTrainData.Date == '2021-08-11') & (newTrainData.Asset_ID == 1)]\ntrainDataFor11AugHigh = trainDataFor11Aug.loc[trainDataFor11Aug[['High']].idxmax()]\ntrainDataFor11AugLow = trainDataFor11Aug.loc[trainDataFor11Aug[['Low']].idxmin()]\n\ntrainDataFor12Aug = newTrainData[(newTrainData.Date == '2021-08-12') & (newTrainData.Asset_ID == 1)]\ntrainDataFor12AugHigh = trainDataFor12Aug.loc[trainDataFor12Aug[['High']].idxmax()]\ntrainDataFor12AugLow = trainDataFor12Aug.loc[trainDataFor12Aug[['Low']].idxmin()]\n\ntrainDataFor13Aug = newTrainData[(newTrainData.Date == '2021-08-13') & (newTrainData.Asset_ID == 1)]\ntrainDataFor13AugHigh = trainDataFor13Aug.loc[trainDataFor13Aug[['High']].idxmax()]\ntrainDataFor13AugLow = trainDataFor13Aug.loc[trainDataFor13Aug[['Low']].idxmin()]\n\ntrainDataFor14Aug = newTrainData[(newTrainData.Date == '2021-08-14') & (newTrainData.Asset_ID == 1)]\ntrainDataFor14AugHigh = trainDataFor14Aug.loc[trainDataFor14Aug[['High']].idxmax()]\ntrainDataFor14AugLow = trainDataFor14Aug.loc[trainDataFor14Aug[['Low']].idxmin()]\n\ntrainDataFor15Aug = newTrainData[(newTrainData.Date == '2021-08-15') & (newTrainData.Asset_ID == 1)]\ntrainDataFor15AugHigh = trainDataFor15Aug.loc[trainDataFor15Aug[['High']].idxmax()]\ntrainDataFor15AugLow = trainDataFor15Aug.loc[trainDataFor15Aug[['Low']].idxmin()]","metadata":{"_kg_hide-input":true,"execution":{"iopub.status.busy":"2021-11-09T22:52:40.166028Z","iopub.execute_input":"2021-11-09T22:52:40.166247Z","iopub.status.idle":"2021-11-09T22:52:59.664311Z","shell.execute_reply.started":"2021-11-09T22:52:40.166222Z","shell.execute_reply":"2021-11-09T22:52:59.663371Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"**<p id=\"31\"><li>16 August to 20 August Bitcoin Data</li></p>**","metadata":{}},{"cell_type":"code","source":"trainDataFor16Aug = newTrainData[(newTrainData.Date == '2021-08-16') & (newTrainData.Asset_ID == 1)]\ntrainDataFor16AugHigh = trainDataFor16Aug.loc[trainDataFor16Aug[['High']].idxmax()]\ntrainDataFor16AugLow = trainDataFor16Aug.loc[trainDataFor16Aug[['Low']].idxmin()]\n\ntrainDataFor17Aug = newTrainData[(newTrainData.Date == '2021-08-17') & (newTrainData.Asset_ID == 1)]\ntrainDataFor17AugHigh = trainDataFor17Aug.loc[trainDataFor17Aug[['High']].idxmax()]\ntrainDataFor17AugLow = trainDataFor17Aug.loc[trainDataFor17Aug[['Low']].idxmin()]\n\ntrainDataFor18Aug = newTrainData[(newTrainData.Date == '2021-08-18') & (newTrainData.Asset_ID == 1)]\ntrainDataFor18AugHigh = trainDataFor18Aug.loc[trainDataFor18Aug[['High']].idxmax()]\ntrainDataFor18AugLow = trainDataFor18Aug.loc[trainDataFor18Aug[['Low']].idxmin()]\n\ntrainDataFor19Aug = newTrainData[(newTrainData.Date == '2021-08-19') & (newTrainData.Asset_ID == 1)]\ntrainDataFor19AugHigh = trainDataFor19Aug.loc[trainDataFor19Aug[['High']].idxmax()]\ntrainDataFor19AugLow = trainDataFor19Aug.loc[trainDataFor19Aug[['Low']].idxmin()]\n\ntrainDataFor20Aug = newTrainData[(newTrainData.Date == '2021-08-20') & (newTrainData.Asset_ID == 1)]\ntrainDataFor20AugHigh = trainDataFor20Aug.loc[trainDataFor20Aug[['High']].idxmax()]\ntrainDataFor20AugLow = trainDataFor20Aug.loc[trainDataFor20Aug[['Low']].idxmin()]","metadata":{"_kg_hide-input":true,"execution":{"iopub.status.busy":"2021-11-09T22:52:59.665813Z","iopub.execute_input":"2021-11-09T22:52:59.666329Z","iopub.status.idle":"2021-11-09T22:53:19.182137Z","shell.execute_reply.started":"2021-11-09T22:52:59.666283Z","shell.execute_reply":"2021-11-09T22:53:19.181216Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"**<p id=\"32\"><li>21 August to 25 August Bitcoin Data</li></p>**","metadata":{}},{"cell_type":"code","source":"trainDataFor21Aug = newTrainData[(newTrainData.Date == '2021-08-21') & (newTrainData.Asset_ID == 1)]\ntrainDataFor21AugHigh = trainDataFor21Aug.loc[trainDataFor21Aug[['High']].idxmax()]\ntrainDataFor21AugLow = trainDataFor21Aug.loc[trainDataFor21Aug[['Low']].idxmin()]\n\ntrainDataFor22Aug = newTrainData[(newTrainData.Date == '2021-08-22') & (newTrainData.Asset_ID == 1)]\ntrainDataFor22AugHigh = trainDataFor22Aug.loc[trainDataFor22Aug[['High']].idxmax()]\ntrainDataFor22AugLow = trainDataFor22Aug.loc[trainDataFor22Aug[['Low']].idxmin()]\n\ntrainDataFor23Aug = newTrainData[(newTrainData.Date == '2021-08-23') & (newTrainData.Asset_ID == 1)]\ntrainDataFor23AugHigh = trainDataFor23Aug.loc[trainDataFor23Aug[['High']].idxmax()]\ntrainDataFor23AugLow = trainDataFor23Aug.loc[trainDataFor23Aug[['Low']].idxmin()]\n\ntrainDataFor24Aug = newTrainData[(newTrainData.Date == '2021-08-24') & (newTrainData.Asset_ID == 1)]\ntrainDataFor24AugHigh = trainDataFor24Aug.loc[trainDataFor24Aug[['High']].idxmax()]\ntrainDataFor24AugLow = trainDataFor24Aug.loc[trainDataFor24Aug[['Low']].idxmin()]\n\ntrainDataFor25Aug = newTrainData[(newTrainData.Date == '2021-08-25') & (newTrainData.Asset_ID == 1)]\ntrainDataFor25AugHigh = trainDataFor25Aug.loc[trainDataFor25Aug[['High']].idxmax()]\ntrainDataFor25AugLow = trainDataFor25Aug.loc[trainDataFor25Aug[['Low']].idxmin()]","metadata":{"_kg_hide-input":true,"execution":{"iopub.status.busy":"2021-11-09T22:53:19.183419Z","iopub.execute_input":"2021-11-09T22:53:19.183629Z","iopub.status.idle":"2021-11-09T22:53:38.865491Z","shell.execute_reply.started":"2021-11-09T22:53:19.183603Z","shell.execute_reply":"2021-11-09T22:53:38.864852Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"**<p id=\"33\"><li>26 August to 28 August Bitcoin Data</li></p>**","metadata":{}},{"cell_type":"code","source":"trainDataFor26Aug = newTrainData[(newTrainData.Date == '2021-08-26') & (newTrainData.Asset_ID == 1)]\ntrainDataFor26AugHigh = trainDataFor26Aug.loc[trainDataFor26Aug[['High']].idxmax()]\ntrainDataFor26AugLow = trainDataFor26Aug.loc[trainDataFor26Aug[['Low']].idxmin()]\n\ntrainDataFor27Aug = newTrainData[(newTrainData.Date == '2021-08-27') & (newTrainData.Asset_ID == 1)]\ntrainDataFor27AugHigh = trainDataFor27Aug.loc[trainDataFor27Aug[['High']].idxmax()]\ntrainDataFor27AugLow = trainDataFor27Aug.loc[trainDataFor27Aug[['Low']].idxmin()]\n\ntrainDataFor28Aug = newTrainData[(newTrainData.Date == '2021-08-28') & (newTrainData.Asset_ID == 1)]\ntrainDataFor28AugHigh = trainDataFor28Aug.loc[trainDataFor28Aug[['High']].idxmax()]\ntrainDataFor28AugLow = trainDataFor28Aug.loc[trainDataFor28Aug[['Low']].idxmin()]","metadata":{"_kg_hide-input":true,"execution":{"iopub.status.busy":"2021-11-09T22:53:38.866670Z","iopub.execute_input":"2021-11-09T22:53:38.867359Z","iopub.status.idle":"2021-11-09T22:53:50.538957Z","shell.execute_reply.started":"2021-11-09T22:53:38.867322Z","shell.execute_reply":"2021-11-09T22:53:50.538094Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"**<p id=\"34\"><li>29 August to 31 August Bitcoin Data</li></p>**","metadata":{}},{"cell_type":"code","source":"trainDataFor29Aug = newTrainData[(newTrainData.Date == '2021-08-29') & (newTrainData.Asset_ID == 1)]\ntrainDataFor29AugHigh = trainDataFor29Aug.loc[trainDataFor29Aug[['High']].idxmax()]\ntrainDataFor29AugLow = trainDataFor29Aug.loc[trainDataFor29Aug[['Low']].idxmin()]\n\ntrainDataFor30Aug = newTrainData[(newTrainData.Date == '2021-08-30') & (newTrainData.Asset_ID == 1)]\ntrainDataFor30AugHigh = trainDataFor30Aug.loc[trainDataFor30Aug[['High']].idxmax()]\ntrainDataFor30AugLow = trainDataFor30Aug.loc[trainDataFor30Aug[['Low']].idxmin()]\n\ntrainDataFor31Aug = newTrainData[(newTrainData.Date == '2021-08-31') & (newTrainData.Asset_ID == 1)]\ntrainDataFor31AugHigh = trainDataFor31Aug.loc[trainDataFor31Aug[['High']].idxmax()]\ntrainDataFor31AugLow = trainDataFor31Aug.loc[trainDataFor31Aug[['Low']].idxmin()]","metadata":{"_kg_hide-input":true,"execution":{"iopub.status.busy":"2021-11-09T22:53:50.540180Z","iopub.execute_input":"2021-11-09T22:53:50.540421Z","iopub.status.idle":"2021-11-09T22:54:02.277034Z","shell.execute_reply.started":"2021-11-09T22:53:50.540393Z","shell.execute_reply":"2021-11-09T22:54:02.276301Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"**<p id=\"35\"><li>1 September to 5 September Bitcoin Data</li></p>**","metadata":{}},{"cell_type":"code","source":"trainDataFor1Sep = newTrainData[(newTrainData.Date == '2021-09-01') & (newTrainData.Asset_ID == 1)]\ntrainDataFor1SepHigh = trainDataFor1Sep.loc[trainDataFor1Sep[['High']].idxmax()]\ntrainDataFor1SepLow = trainDataFor1Sep.loc[trainDataFor1Sep[['Low']].idxmin()]\n\ntrainDataFor2Sep = newTrainData[(newTrainData.Date == '2021-09-02') & (newTrainData.Asset_ID == 1)]\ntrainDataFor2SepHigh = trainDataFor2Sep.loc[trainDataFor2Sep[['High']].idxmax()]\ntrainDataFor2SepLow = trainDataFor2Sep.loc[trainDataFor2Sep[['Low']].idxmin()]\n\ntrainDataFor3Sep = newTrainData[(newTrainData.Date == '2021-09-03') & (newTrainData.Asset_ID == 1)]\ntrainDataFor3SepHigh = trainDataFor3Sep.loc[trainDataFor3Sep[['High']].idxmax()]\ntrainDataFor3SepLow = trainDataFor3Sep.loc[trainDataFor3Sep[['Low']].idxmin()]\n\ntrainDataFor4Sep = newTrainData[(newTrainData.Date == '2021-09-04') & (newTrainData.Asset_ID == 1)]\ntrainDataFor4SepHigh = trainDataFor4Sep.loc[trainDataFor4Sep[['High']].idxmax()]\ntrainDataFor4SepLow = trainDataFor4Sep.loc[trainDataFor4Sep[['Low']].idxmin()]\n\ntrainDataFor5Sep = newTrainData[(newTrainData.Date == '2021-09-05') & (newTrainData.Asset_ID == 1)]\ntrainDataFor5SepHigh = trainDataFor5Sep.loc[trainDataFor5Sep[['High']].idxmax()]\ntrainDataFor5SepLow = trainDataFor5Sep.loc[trainDataFor5Sep[['Low']].idxmin()]","metadata":{"_kg_hide-input":true,"execution":{"iopub.status.busy":"2021-11-09T22:54:02.278143Z","iopub.execute_input":"2021-11-09T22:54:02.278521Z","iopub.status.idle":"2021-11-09T22:54:21.805145Z","shell.execute_reply.started":"2021-11-09T22:54:02.278490Z","shell.execute_reply":"2021-11-09T22:54:21.804254Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"**<p id=\"36\"><li>6 September to 10 September Bitcoin Data</li></p>**","metadata":{}},{"cell_type":"code","source":"trainDataFor6Sep = newTrainData[(newTrainData.Date == '2021-09-06') & (newTrainData.Asset_ID == 1)]\ntrainDataFor6SepHigh = trainDataFor6Sep.loc[trainDataFor6Sep[['High']].idxmax()]\ntrainDataFor6SepLow = trainDataFor6Sep.loc[trainDataFor6Sep[['Low']].idxmin()]\n\ntrainDataFor7Sep = newTrainData[(newTrainData.Date == '2021-09-07') & (newTrainData.Asset_ID == 1)]\ntrainDataFor7SepHigh = trainDataFor7Sep.loc[trainDataFor7Sep[['High']].idxmax()]\ntrainDataFor7SepLow = trainDataFor7Sep.loc[trainDataFor7Sep[['Low']].idxmin()]\n\ntrainDataFor8Sep = newTrainData[(newTrainData.Date == '2021-09-08') & (newTrainData.Asset_ID == 1)]\ntrainDataFor8SepHigh = trainDataFor8Sep.loc[trainDataFor8Sep[['High']].idxmax()]\ntrainDataFor8SepLow = trainDataFor8Sep.loc[trainDataFor8Sep[['Low']].idxmin()]\n\ntrainDataFor9Sep = newTrainData[(newTrainData.Date == '2021-09-09') & (newTrainData.Asset_ID == 1)]\ntrainDataFor9SepHigh = trainDataFor9Sep.loc[trainDataFor9Sep[['High']].idxmax()]\ntrainDataFor9SepLow = trainDataFor9Sep.loc[trainDataFor9Sep[['Low']].idxmin()]\n\ntrainDataFor10Sep = newTrainData[(newTrainData.Date == '2021-09-10') & (newTrainData.Asset_ID == 1)]\ntrainDataFor10SepHigh = trainDataFor10Sep.loc[trainDataFor10Sep[['High']].idxmax()]\ntrainDataFor10SepLow = trainDataFor10Sep.loc[trainDataFor10Sep[['Low']].idxmin()]","metadata":{"_kg_hide-input":true,"execution":{"iopub.status.busy":"2021-11-09T22:54:21.806429Z","iopub.execute_input":"2021-11-09T22:54:21.806674Z","iopub.status.idle":"2021-11-09T22:54:41.398837Z","shell.execute_reply.started":"2021-11-09T22:54:21.806645Z","shell.execute_reply":"2021-11-09T22:54:41.398023Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"**<p id=\"37\"><li>11 September to 15 September Bitcoin Data</li></p>**","metadata":{}},{"cell_type":"code","source":"trainDataFor11Sep = newTrainData[(newTrainData.Date == '2021-09-11') & (newTrainData.Asset_ID == 1)]\ntrainDataFor11SepHigh = trainDataFor11Sep.loc[trainDataFor11Sep[['High']].idxmax()]\ntrainDataFor11SepLow = trainDataFor11Sep.loc[trainDataFor11Sep[['Low']].idxmin()]\n\ntrainDataFor12Sep = newTrainData[(newTrainData.Date == '2021-09-12') & (newTrainData.Asset_ID == 1)]\ntrainDataFor12SepHigh = trainDataFor12Sep.loc[trainDataFor12Sep[['High']].idxmax()]\ntrainDataFor12SepLow = trainDataFor12Sep.loc[trainDataFor12Sep[['Low']].idxmin()]\n\ntrainDataFor13Sep = newTrainData[(newTrainData.Date == '2021-09-13') & (newTrainData.Asset_ID == 1)]\ntrainDataFor13SepHigh = trainDataFor13Sep.loc[trainDataFor13Sep[['High']].idxmax()]\ntrainDataFor13SepLow = trainDataFor13Sep.loc[trainDataFor13Sep[['Low']].idxmin()]\n\ntrainDataFor14Sep = newTrainData[(newTrainData.Date == '2021-09-14') & (newTrainData.Asset_ID == 1)]\ntrainDataFor14SepHigh = trainDataFor14Sep.loc[trainDataFor14Sep[['High']].idxmax()]\ntrainDataFor14SepLow = trainDataFor14Sep.loc[trainDataFor14Sep[['Low']].idxmin()]\n\ntrainDataFor15Sep = newTrainData[(newTrainData.Date == '2021-09-15') & (newTrainData.Asset_ID == 1)]\ntrainDataFor15SepHigh = trainDataFor15Sep.loc[trainDataFor15Sep[['High']].idxmax()]\ntrainDataFor15SepLow = trainDataFor15Sep.loc[trainDataFor15Sep[['Low']].idxmin()]","metadata":{"_kg_hide-input":true,"execution":{"iopub.status.busy":"2021-11-09T22:54:41.400027Z","iopub.execute_input":"2021-11-09T22:54:41.400282Z","iopub.status.idle":"2021-11-09T22:55:00.889989Z","shell.execute_reply.started":"2021-11-09T22:54:41.400254Z","shell.execute_reply":"2021-11-09T22:55:00.889326Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"**<p id=\"38\"><li>16 September to 18 September Bitcoin Data</li></p>**","metadata":{}},{"cell_type":"code","source":"trainDataFor16Sep = newTrainData[(newTrainData.Date == '2021-09-16') & (newTrainData.Asset_ID == 1)]\ntrainDataFor16SepHigh = trainDataFor16Sep.loc[trainDataFor16Sep[['High']].idxmax()]\ntrainDataFor16SepLow = trainDataFor16Sep.loc[trainDataFor16Sep[['Low']].idxmin()]\n\ntrainDataFor17Sep = newTrainData[(newTrainData.Date == '2021-09-17') & (newTrainData.Asset_ID == 1)]\ntrainDataFor17SepHigh = trainDataFor17Sep.loc[trainDataFor17Sep[['High']].idxmax()]\ntrainDataFor17SepLow = trainDataFor17Sep.loc[trainDataFor17Sep[['Low']].idxmin()]\n\ntrainDataFor18Sep = newTrainData[(newTrainData.Date == '2021-09-18') & (newTrainData.Asset_ID == 1)]\ntrainDataFor18SepHigh = trainDataFor18Sep.loc[trainDataFor18Sep[['High']].idxmax()]\ntrainDataFor18SepLow = trainDataFor18Sep.loc[trainDataFor18Sep[['Low']].idxmin()]","metadata":{"_kg_hide-input":true,"execution":{"iopub.status.busy":"2021-11-09T22:55:00.891139Z","iopub.execute_input":"2021-11-09T22:55:00.891460Z","iopub.status.idle":"2021-11-09T22:55:14.248808Z","shell.execute_reply.started":"2021-11-09T22:55:00.891433Z","shell.execute_reply":"2021-11-09T22:55:14.247812Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"**<p id=\"39\"><li>19 September to 21 September Bitcoin Data</li></p>**","metadata":{}},{"cell_type":"code","source":"trainDataFor19Sep = newTrainData[(newTrainData.Date == '2021-09-19') & (newTrainData.Asset_ID == 1)]\ntrainDataFor19SepHigh = trainDataFor19Sep.loc[trainDataFor19Sep[['High']].idxmax()]\ntrainDataFor19SepLow = trainDataFor19Sep.loc[trainDataFor19Sep[['Low']].idxmin()]\n\ntrainDataFor20Sep = newTrainData[(newTrainData.Date == '2021-09-20') & (newTrainData.Asset_ID == 1)]\ntrainDataFor20SepHigh = trainDataFor20Sep.loc[trainDataFor20Sep[['High']].idxmax()]\ntrainDataFor20SepLow = trainDataFor20Sep.loc[trainDataFor20Sep[['Low']].idxmin()]\n\ntrainDataFor21Sep = newTrainData[(newTrainData.Date == '2021-09-21') & (newTrainData.Asset_ID == 1)]\ntrainDataFor21SepHigh = trainDataFor21Sep.loc[trainDataFor21Sep[['High']].idxmax()]\ntrainDataFor21SepLow = trainDataFor21Sep.loc[trainDataFor21Sep[['Low']].idxmin()]","metadata":{"_kg_hide-input":true,"execution":{"iopub.status.busy":"2021-11-09T22:55:14.250568Z","iopub.execute_input":"2021-11-09T22:55:14.250898Z","iopub.status.idle":"2021-11-09T22:55:26.884652Z","shell.execute_reply.started":"2021-11-09T22:55:14.250856Z","shell.execute_reply":"2021-11-09T22:55:26.883812Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"<a id=\"40\"></a> <br>\n# Data for ARIMA Model","metadata":{}},{"cell_type":"code","source":"frames = [\n    trainDataFor24JunHigh, trainDataFor24JunLow,\n    trainDataFor25JunHigh, trainDataFor25JunLow,\n    trainDataFor26JunHigh, trainDataFor26JunLow,\n    trainDataFor27JunHigh, trainDataFor27JunLow,\n    trainDataFor28JunHigh, trainDataFor28JunLow,\n    trainDataFor29JunHigh, trainDataFor29JunLow,\n    trainDataFor30JunHigh, trainDataFor30JunLow,\n    trainDataFor1JulHigh, trainDataFor1JulLow,\n    trainDataFor2JulHigh, trainDataFor2JulLow,\n    trainDataFor3JulHigh, trainDataFor3JulLow,\n    trainDataFor4JulHigh, trainDataFor4JulLow,\n    trainDataFor5JulHigh, trainDataFor5JulLow,\n    trainDataFor6JulHigh, trainDataFor6JulLow,\n    trainDataFor7JulHigh, trainDataFor7JulLow,\n    trainDataFor8JulHigh, trainDataFor8JulLow,\n    trainDataFor9JulHigh, trainDataFor9JulLow,\n    trainDataFor10JulHigh, trainDataFor10JulLow,\n    trainDataFor11JulHigh, trainDataFor11JulLow,\n    trainDataFor12JulHigh, trainDataFor12JulLow,\n    trainDataFor13JulHigh, trainDataFor13JulLow,\n    trainDataFor14JulHigh, trainDataFor14JulLow,\n    trainDataFor15JulHigh, trainDataFor15JulLow,\n    trainDataFor16JulHigh, trainDataFor16JulLow,\n    trainDataFor17JulHigh, trainDataFor17JulLow,\n    trainDataFor18JulHigh, trainDataFor18JulLow,\n    trainDataFor19JulHigh, trainDataFor19JulLow,\n    trainDataFor20JulHigh, trainDataFor20JulLow,\n    trainDataFor21JulHigh, trainDataFor21JulLow,\n    trainDataFor22JulHigh, trainDataFor22JulLow,\n    trainDataFor23JulHigh, trainDataFor23JulLow,\n    trainDataFor24JulHigh, trainDataFor24JulLow,\n    trainDataFor25JulHigh, trainDataFor25JulLow,\n    trainDataFor26JulHigh, trainDataFor26JulLow,\n    trainDataFor27JulHigh, trainDataFor27JulLow,\n    trainDataFor28JulHigh, trainDataFor28JulLow,\n    trainDataFor29JulHigh, trainDataFor29JulLow,\n    trainDataFor30JulHigh, trainDataFor30JulLow,\n    trainDataFor31JulHigh, trainDataFor31JulLow,\n    trainDataFor1AugHigh, trainDataFor1AugLow,\n    trainDataFor2AugHigh, trainDataFor2AugLow,\n    trainDataFor3AugHigh, trainDataFor3AugLow,\n    trainDataFor4AugHigh, trainDataFor4AugLow,\n    trainDataFor5AugHigh, trainDataFor5AugLow,\n    trainDataFor6AugHigh, trainDataFor6AugLow,\n    trainDataFor7AugHigh, trainDataFor7AugLow,\n    trainDataFor8AugHigh, trainDataFor8AugLow,\n    trainDataFor9AugHigh, trainDataFor9AugLow,\n    trainDataFor10AugHigh, trainDataFor10AugLow,\n    trainDataFor11AugHigh, trainDataFor11AugLow,\n    trainDataFor12AugHigh, trainDataFor12AugLow,\n    trainDataFor13AugHigh, trainDataFor13AugLow,\n    trainDataFor14AugHigh, trainDataFor14AugLow,\n    trainDataFor15AugHigh, trainDataFor15AugLow,\n    trainDataFor16AugHigh, trainDataFor16AugLow,\n    trainDataFor17AugHigh, trainDataFor17AugLow,\n    trainDataFor18AugHigh, trainDataFor18AugLow,\n    trainDataFor19AugHigh, trainDataFor19AugLow,\n    trainDataFor20AugHigh, trainDataFor20AugLow,\n    trainDataFor21AugHigh, trainDataFor21AugLow,\n    trainDataFor22AugHigh, trainDataFor22AugLow,\n    trainDataFor23AugHigh, trainDataFor23AugLow,\n    trainDataFor24AugHigh, trainDataFor24AugLow,\n    trainDataFor25AugHigh, trainDataFor25AugLow,\n    trainDataFor26AugHigh, trainDataFor26AugLow,\n    trainDataFor27AugHigh, trainDataFor27AugLow,\n    trainDataFor28AugHigh, trainDataFor28AugLow,\n    trainDataFor29AugHigh, trainDataFor29AugLow,\n    trainDataFor30AugHigh, trainDataFor30AugLow,\n    trainDataFor31AugHigh, trainDataFor31AugLow,\n    trainDataFor1SepHigh, trainDataFor1SepLow,\n    trainDataFor2SepHigh, trainDataFor2SepLow,\n    trainDataFor3SepHigh, trainDataFor3SepLow,\n    trainDataFor4SepHigh, trainDataFor4SepLow,\n    trainDataFor5SepHigh, trainDataFor5SepLow,\n    trainDataFor6SepHigh, trainDataFor6SepLow,\n    trainDataFor7SepHigh, trainDataFor7SepLow,\n    trainDataFor8SepHigh, trainDataFor8SepLow,\n    trainDataFor9SepHigh, trainDataFor9SepLow,\n    trainDataFor10SepHigh, trainDataFor10SepLow,\n    trainDataFor11SepHigh, trainDataFor11SepLow,\n    trainDataFor12SepHigh, trainDataFor12SepLow,\n    trainDataFor13SepHigh, trainDataFor13SepLow,\n    trainDataFor14SepHigh, trainDataFor14SepLow,\n    trainDataFor15SepHigh, trainDataFor15SepLow,\n    trainDataFor16SepHigh, trainDataFor16SepLow,\n    trainDataFor17SepHigh, trainDataFor17SepLow,\n    trainDataFor18SepHigh, trainDataFor18SepLow,\n    trainDataFor19SepHigh, trainDataFor19SepLow,\n    trainDataFor20SepHigh, trainDataFor20SepLow,\n    trainDataFor21SepHigh, trainDataFor21SepLow,\n]\n\nresult = pd.concat(frames)\nresult.set_index(['Date'], inplace=True)","metadata":{"_kg_hide-input":true,"execution":{"iopub.status.busy":"2021-11-09T22:55:26.886352Z","iopub.execute_input":"2021-11-09T22:55:26.886686Z","iopub.status.idle":"2021-11-09T22:55:26.941733Z","shell.execute_reply.started":"2021-11-09T22:55:26.886646Z","shell.execute_reply":"2021-11-09T22:55:26.940905Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":" <a id=\"41\"></a> <br>\n# Identifying P Value with ADF","metadata":{}},{"cell_type":"code","source":"resultForP = adfuller(result.Close.dropna())\nprint('ADF Statistic: %f' % resultForP[0])\nprint('p-value: %f' % resultForP[1])","metadata":{"_kg_hide-input":true,"execution":{"iopub.status.busy":"2021-11-09T22:55:26.943101Z","iopub.execute_input":"2021-11-09T22:55:26.943943Z","iopub.status.idle":"2021-11-09T22:55:26.968426Z","shell.execute_reply.started":"2021-11-09T22:55:26.943897Z","shell.execute_reply":"2021-11-09T22:55:26.967579Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"<a id=\"42\"></a> <br>\n# 1st Order Differencing & 2nd Order Differencing Autocorrelation","metadata":{}},{"cell_type":"code","source":"fig, (ax1, ax2) = plt.subplots(1,2, figsize = (20,5))\nax1.plot(result.Close,color=\"#ff8c00\")\nplt.grid(b=True,axis = 'y')\nax1.set_title('Original Series')\nax1.grid(b=True,axis = 'y')\nsm.graphics.tsa.plot_acf(result.Close, ax=ax2,color='black',vlines_kwargs={\"colors\": \"#ff8c00\"})\n\ndiff1 = result.Close.diff().dropna()\nfig, (ax1, ax2) = plt.subplots(1,2,figsize=(20,5))\nax1.plot(diff1,color=\"#004C99\")\nplt.grid(b=True,axis = 'y')\nax1.set_title(\"1st Order Differencing\")\nax1.grid(b=True,axis = 'x')\nsm.graphics.tsa.plot_acf(diff1, ax=ax2,color=\"black\",vlines_kwargs={\"colors\": \"#004C99\"})\n\ndiff2 = result.Close.diff().diff().dropna()\nfig, (ax1, ax2) = plt.subplots(1,2,figsize=(20,5))\nax1.plot(diff2,\"g-\")\nplt.grid(b=True,axis = 'y')\nax1.set_title(\"2nd Order Differencing\")\nax1.grid(b=True,axis = 'x')\nmy_color=\"green\"\nsm.graphics.tsa.plot_acf(diff2, ax=ax2,color=\"black\",vlines_kwargs={\"colors\": \"green\"})\n\nplt.show()","metadata":{"_kg_hide-input":true,"execution":{"iopub.status.busy":"2021-11-09T22:55:26.969614Z","iopub.execute_input":"2021-11-09T22:55:26.970257Z","iopub.status.idle":"2021-11-09T22:55:31.378989Z","shell.execute_reply.started":"2021-11-09T22:55:26.970221Z","shell.execute_reply":"2021-11-09T22:55:31.378149Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"<a id=\"43\"></a> <br>\n# 1st Order Partial Differencing Partial Autocorrelation","metadata":{}},{"cell_type":"code","source":"diffp1 = result.Close.diff().dropna()\nfig, (ax1, ax2) = plt.subplots(1,2,figsize=(20,5))\nax1.plot(diffp1,color=\"#004C99\")\nplt.grid(b=True,axis = 'y')\nax1.set_title(\"1st Order Partial Differencing\")\nax1.grid(b=True,axis = 'x')\nax2.set_ylim(0,1)\nsm.graphics.tsa.plot_pacf(diffp1, ax=ax2,color=\"black\",vlines_kwargs={\"colors\": \"#004C99\"})\nplt.show()","metadata":{"_kg_hide-input":true,"execution":{"iopub.status.busy":"2021-11-09T22:55:31.383856Z","iopub.execute_input":"2021-11-09T22:55:31.384093Z","iopub.status.idle":"2021-11-09T22:55:33.103495Z","shell.execute_reply.started":"2021-11-09T22:55:31.384064Z","shell.execute_reply":"2021-11-09T22:55:33.102732Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"<a id=\"44\"></a> <br>\n# 1st Order Partial Differencing Autocorrelation","metadata":{}},{"cell_type":"code","source":"diffp1 = result.Close.diff().dropna()\nfig, (ax1, ax2) = plt.subplots(1,2,figsize=(20,5))\nax1.plot(diffp1,color=\"#004C99\")\nplt.grid(b=True,axis = 'y')\nax1.set_title(\"1st Order Partial Differencing\")\nax1.grid(b=True,axis = 'x')\nax2.set_ylim(0,1)\nsm.graphics.tsa.plot_acf(diffp1, ax=ax2,color=\"black\",vlines_kwargs={\"colors\": \"#004C99\"})\nplt.show()","metadata":{"_kg_hide-input":true,"execution":{"iopub.status.busy":"2021-11-09T22:55:33.104945Z","iopub.execute_input":"2021-11-09T22:55:33.105183Z","iopub.status.idle":"2021-11-09T22:55:34.583885Z","shell.execute_reply.started":"2021-11-09T22:55:33.105156Z","shell.execute_reply":"2021-11-09T22:55:34.583079Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"<a id=\"45\"></a> <br>\n# ARIMA Model","metadata":{}},{"cell_type":"code","source":"model = sm.tsa.arima.ARIMA(result.Close, order=(2,1,1))\nresultForARIMA = model.fit(method_kwargs={\"warn_convergence\": False})\nprint(resultForARIMA.summary())","metadata":{"_kg_hide-input":true,"execution":{"iopub.status.busy":"2021-11-09T22:58:10.397197Z","iopub.execute_input":"2021-11-09T22:58:10.397465Z","iopub.status.idle":"2021-11-09T22:58:10.638543Z","shell.execute_reply.started":"2021-11-09T22:58:10.397432Z","shell.execute_reply":"2021-11-09T22:58:10.637676Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"<a id=\"46\"></a> <br>\n# Residuals Plotting for ARIMA","metadata":{}},{"cell_type":"code","source":"residuals = pd.DataFrame(resultForARIMA.resid)\nfig, ax = plt.subplots(1,2,figsize=(20,5))\nresiduals.plot(title=\"Residuals\", ax=ax[0])\nresiduals.plot(kind='kde', title='Density', ax=ax[1])\nplt.show()","metadata":{"_kg_hide-input":true,"execution":{"iopub.status.busy":"2021-11-09T22:55:34.888813Z","iopub.execute_input":"2021-11-09T22:55:34.889038Z","iopub.status.idle":"2021-11-09T22:55:35.238847Z","shell.execute_reply.started":"2021-11-09T22:55:34.889010Z","shell.execute_reply":"2021-11-09T22:55:35.238046Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"<a id=\"47\"></a> <br>\n# Data of RMSE","metadata":{}},{"cell_type":"code","source":"X = result.Close\nsize = int(len(X) * 0.66)\ntrain, test = X[0:size], X[size:len(X)]\nhistory = [x for x in train]\npredictions = list()\nfor t in range(len(test)):\n    model = ARIMA(history, order=(2,1,0))\n    model_fit = model.fit(method_kwargs={\"warn_convergence\": False})\n    output = model_fit.forecast()\n    yhat = output[0]\n    predictions.append(yhat)\n    obs = test[t]\n    history.append(obs)\n    print('predicted=%f, expected=%f' % (yhat, obs))\nrmse = sqrt(mean_squared_error(test, predictions))\nprint('Test RMSE: %.3f' % rmse)","metadata":{"_kg_hide-input":true,"execution":{"iopub.status.busy":"2021-11-09T22:55:35.240297Z","iopub.execute_input":"2021-11-09T22:55:35.240679Z","iopub.status.idle":"2021-11-09T22:55:39.453197Z","shell.execute_reply.started":"2021-11-09T22:55:35.240637Z","shell.execute_reply":"2021-11-09T22:55:39.452608Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"<a id=\"48\"></a> <br>\n# Forecasting Bitcoin Data","metadata":{}},{"cell_type":"code","source":"plt.figure(figsize=(12,5), dpi=100)\nplt.xticks(rotation = 90)\nplt.plot(predictions, label='forecast',color='green')\nplt.plot(test, label='actual',color = 'red')\nplt.title('Forecast vs Actuals')\nplt.legend(loc='upper left', fontsize=8)\nplt.show()","metadata":{"_kg_hide-input":true,"execution":{"iopub.status.busy":"2021-11-09T22:55:39.454285Z","iopub.execute_input":"2021-11-09T22:55:39.455250Z","iopub.status.idle":"2021-11-09T22:55:39.785252Z","shell.execute_reply.started":"2021-11-09T22:55:39.455210Z","shell.execute_reply":"2021-11-09T22:55:39.784695Z"},"trusted":true},"execution_count":null,"outputs":[]}]}