{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Requirement already satisfied: bayesian-optimization==0.6 in /home/husein/.local/lib/python3.6/site-packages (0.6.0)\n", "Requirement already satisfied: scikit-learn>=0.18.0 in /usr/local/lib/python3.6/dist-packages (from bayesian-optimization==0.6) (0.19.1)\n", "Requirement already satisfied: scipy>=0.14.0 in /usr/local/lib/python3.6/dist-packages (from bayesian-optimization==0.6) (1.2.0)\n", "Requirement already satisfied: numpy>=1.9.0 in /usr/local/lib/python3.6/dist-packages (from bayesian-optimization==0.6) (1.14.5)\n", "\u001b[33mYou are using pip version 18.1, however version 19.0.3 is available.\n", "You should consider upgrading via the 'pip install --upgrade pip' command.\u001b[0m\n" ] } ], "source": [ "!pip3 install bayesian-optimization==0.6 --user" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "I use `bayesian-optimization==0.6`, my backend pretty much stick with this version, so migrating will break the code." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "import pandas as pd\n", "import time\n", "import matplotlib.pyplot as plt\n", "import seaborn as sns\n", "import random\n", "from bayes_opt import BayesianOptimization\n", "sns.set()" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "seaborn==0.9.0\n", "pandas==0.23.4\n", "numpy==1.14.5\n", "matplotlib==3.0.2\n" ] } ], "source": [ "import pkg_resources\n", "import types\n", "\n", "\n", "def get_imports():\n", " for name, val in globals().items():\n", " if isinstance(val, types.ModuleType):\n", " name = val.__name__.split('.')[0]\n", " elif isinstance(val, type):\n", " name = val.__module__.split('.')[0]\n", " poorly_named_packages = {'PIL': 'Pillow', 'sklearn': 'scikit-learn'}\n", " if name in poorly_named_packages.keys():\n", " name = poorly_named_packages[name]\n", " yield name\n", "\n", "\n", "imports = list(set(get_imports()))\n", "requirements = []\n", "for m in pkg_resources.working_set:\n", " if m.project_name in imports and m.project_name != 'pip':\n", " requirements.append((m.project_name, m.version))\n", "\n", "for r in requirements:\n", " print('{}=={}'.format(*r))" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "def get_state(data, t, n):\n", " d = t - n + 1\n", " block = data[d : t + 1] if d >= 0 else -d * [data[0]] + data[0 : t + 1]\n", " res = []\n", " for i in range(n - 1):\n", " res.append(block[i + 1] - block[i])\n", " return np.array([res])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "TSLA Time Period: **Mar 23, 2018 - Mar 23, 2019**" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
| \n", " | Date | \n", "Open | \n", "High | \n", "Low | \n", "Close | \n", "Adj Close | \n", "Volume | \n", "
|---|---|---|---|---|---|---|---|
| 0 | \n", "2018-03-23 | \n", "311.250000 | \n", "311.250000 | \n", "300.450012 | \n", "301.540009 | \n", "301.540009 | \n", "6654900 | \n", "
| 1 | \n", "2018-03-26 | \n", "307.339996 | \n", "307.589996 | \n", "291.359985 | \n", "304.179993 | \n", "304.179993 | \n", "8375200 | \n", "
| 2 | \n", "2018-03-27 | \n", "304.000000 | \n", "304.269989 | \n", "277.179993 | \n", "279.179993 | \n", "279.179993 | \n", "13872000 | \n", "
| 3 | \n", "2018-03-28 | \n", "264.579987 | \n", "268.679993 | \n", "252.100006 | \n", "257.779999 | \n", "257.779999 | \n", "21001400 | \n", "
| 4 | \n", "2018-03-29 | \n", "256.489990 | \n", "270.959991 | \n", "248.210007 | \n", "266.130005 | \n", "266.130005 | \n", "15170700 | \n", "