2011 lines
974 KiB
Plaintext
2011 lines
974 KiB
Plaintext
|
{
|
||
|
"cells": [
|
||
|
{
|
||
|
"cell_type": "markdown",
|
||
|
"metadata": {},
|
||
|
"source": [
|
||
|
"___\n",
|
||
|
"\n",
|
||
|
"<a href='http://www.pieriandata.com'> <img src='../Pierian_Data_Logo.png' /></a>\n",
|
||
|
"___\n",
|
||
|
"<center>*Copyright Pierian Data 2017*</center>\n",
|
||
|
"<center>*For more information, visit us at www.pieriandata.com*</center>"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "markdown",
|
||
|
"metadata": {},
|
||
|
"source": [
|
||
|
"# Stock Market Analysis Project\n",
|
||
|
"\n",
|
||
|
"### Please Note: You are free to treat this as a full exercise, or just view the solutions video as a code along project. This project is meant to be pretty challenging as it will introduce a few new concepts through some hints!\n",
|
||
|
"\n",
|
||
|
"Welcome to your first capstone project! This project is meant to cap off the first half of the course, which mainly dealt with learning the libraries that we use in this course, the second half of the course will deal a lot more with quantitative trading techniques and platforms.\n",
|
||
|
"\n",
|
||
|
"We'll be analyzing stock data related to a few car companies, from Jan 1 2012 to Jan 1 2017. Keep in mind that this project is mainly just to practice your skills with matplotlib, pandas, and numpy. Don't infer financial trading advice from the analysis we do here!\n",
|
||
|
"\n",
|
||
|
"### Part 0: Import\n",
|
||
|
"\n",
|
||
|
"** Import the various libraries you will need-you can always just come back up here or import as you go along :) **"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": 79,
|
||
|
"metadata": {
|
||
|
"collapsed": true
|
||
|
},
|
||
|
"outputs": [],
|
||
|
"source": []
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "markdown",
|
||
|
"metadata": {},
|
||
|
"source": [
|
||
|
"____\n",
|
||
|
"## Part 1: Getting the Data\n",
|
||
|
"\n",
|
||
|
"### Tesla Stock (Ticker: TSLA on the NASDAQ)\n",
|
||
|
"\n",
|
||
|
"** *Note! Not everyone will be working on a computer that will give them open access to download the stock information using pandas_datareader (firewalls, admin permissions, etc...). Because of this, the csv file for the Tesla is provided in a data folder inside this folder. It is called Tesla_Stock.csv. Feel free to just use this with read_csv! **\n",
|
||
|
"\n",
|
||
|
"** Use pandas_datareader to obtain the historical stock information for Tesla from Jan 1, 2012 to Jan 1, 2017.**\n",
|
||
|
"\n"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": 2,
|
||
|
"metadata": {
|
||
|
"collapsed": true
|
||
|
},
|
||
|
"outputs": [],
|
||
|
"source": []
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": 3,
|
||
|
"metadata": {
|
||
|
"collapsed": true
|
||
|
},
|
||
|
"outputs": [],
|
||
|
"source": []
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": 4,
|
||
|
"metadata": {
|
||
|
"collapsed": true
|
||
|
},
|
||
|
"outputs": [],
|
||
|
"source": []
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": 5,
|
||
|
"metadata": {},
|
||
|
"outputs": [
|
||
|
{
|
||
|
"data": {
|
||
|
"text/html": [
|
||
|
"<div>\n",
|
||
|
"<style>\n",
|
||
|
" .dataframe thead tr:only-child th {\n",
|
||
|
" text-align: right;\n",
|
||
|
" }\n",
|
||
|
"\n",
|
||
|
" .dataframe thead th {\n",
|
||
|
" text-align: left;\n",
|
||
|
" }\n",
|
||
|
"\n",
|
||
|
" .dataframe tbody tr th {\n",
|
||
|
" vertical-align: top;\n",
|
||
|
" }\n",
|
||
|
"</style>\n",
|
||
|
"<table border=\"1\" class=\"dataframe\">\n",
|
||
|
" <thead>\n",
|
||
|
" <tr style=\"text-align: right;\">\n",
|
||
|
" <th></th>\n",
|
||
|
" <th>Open</th>\n",
|
||
|
" <th>High</th>\n",
|
||
|
" <th>Low</th>\n",
|
||
|
" <th>Close</th>\n",
|
||
|
" <th>Volume</th>\n",
|
||
|
" </tr>\n",
|
||
|
" <tr>\n",
|
||
|
" <th>Date</th>\n",
|
||
|
" <th></th>\n",
|
||
|
" <th></th>\n",
|
||
|
" <th></th>\n",
|
||
|
" <th></th>\n",
|
||
|
" <th></th>\n",
|
||
|
" </tr>\n",
|
||
|
" </thead>\n",
|
||
|
" <tbody>\n",
|
||
|
" <tr>\n",
|
||
|
" <th>2012-01-03</th>\n",
|
||
|
" <td>28.94</td>\n",
|
||
|
" <td>29.50</td>\n",
|
||
|
" <td>27.65</td>\n",
|
||
|
" <td>28.08</td>\n",
|
||
|
" <td>928052</td>\n",
|
||
|
" </tr>\n",
|
||
|
" <tr>\n",
|
||
|
" <th>2012-01-04</th>\n",
|
||
|
" <td>28.21</td>\n",
|
||
|
" <td>28.67</td>\n",
|
||
|
" <td>27.50</td>\n",
|
||
|
" <td>27.71</td>\n",
|
||
|
" <td>630036</td>\n",
|
||
|
" </tr>\n",
|
||
|
" <tr>\n",
|
||
|
" <th>2012-01-05</th>\n",
|
||
|
" <td>27.76</td>\n",
|
||
|
" <td>27.93</td>\n",
|
||
|
" <td>26.85</td>\n",
|
||
|
" <td>27.12</td>\n",
|
||
|
" <td>1005432</td>\n",
|
||
|
" </tr>\n",
|
||
|
" <tr>\n",
|
||
|
" <th>2012-01-06</th>\n",
|
||
|
" <td>27.20</td>\n",
|
||
|
" <td>27.79</td>\n",
|
||
|
" <td>26.41</td>\n",
|
||
|
" <td>26.89</td>\n",
|
||
|
" <td>687081</td>\n",
|
||
|
" </tr>\n",
|
||
|
" <tr>\n",
|
||
|
" <th>2012-01-09</th>\n",
|
||
|
" <td>27.00</td>\n",
|
||
|
" <td>27.49</td>\n",
|
||
|
" <td>26.12</td>\n",
|
||
|
" <td>27.25</td>\n",
|
||
|
" <td>896951</td>\n",
|
||
|
" </tr>\n",
|
||
|
" </tbody>\n",
|
||
|
"</table>\n",
|
||
|
"</div>"
|
||
|
],
|
||
|
"text/plain": [
|
||
|
" Open High Low Close Volume\n",
|
||
|
"Date \n",
|
||
|
"2012-01-03 28.94 29.50 27.65 28.08 928052\n",
|
||
|
"2012-01-04 28.21 28.67 27.50 27.71 630036\n",
|
||
|
"2012-01-05 27.76 27.93 26.85 27.12 1005432\n",
|
||
|
"2012-01-06 27.20 27.79 26.41 26.89 687081\n",
|
||
|
"2012-01-09 27.00 27.49 26.12 27.25 896951"
|
||
|
]
|
||
|
},
|
||
|
"execution_count": 5,
|
||
|
"metadata": {},
|
||
|
"output_type": "execute_result"
|
||
|
}
|
||
|
],
|
||
|
"source": []
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": 6,
|
||
|
"metadata": {
|
||
|
"collapsed": true
|
||
|
},
|
||
|
"outputs": [],
|
||
|
"source": []
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "markdown",
|
||
|
"metadata": {},
|
||
|
"source": [
|
||
|
"### Other Car Companies\n",
|
||
|
"\n",
|
||
|
"** Repeat the same steps to grab data for Ford and GM (General Motors), **"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": 7,
|
||
|
"metadata": {
|
||
|
"collapsed": true
|
||
|
},
|
||
|
"outputs": [],
|
||
|
"source": []
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": 8,
|
||
|
"metadata": {},
|
||
|
"outputs": [
|
||
|
{
|
||
|
"data": {
|
||
|
"text/html": [
|
||
|
"<div>\n",
|
||
|
"<style>\n",
|
||
|
" .dataframe thead tr:only-child th {\n",
|
||
|
" text-align: right;\n",
|
||
|
" }\n",
|
||
|
"\n",
|
||
|
" .dataframe thead th {\n",
|
||
|
" text-align: left;\n",
|
||
|
" }\n",
|
||
|
"\n",
|
||
|
" .dataframe tbody tr th {\n",
|
||
|
" vertical-align: top;\n",
|
||
|
" }\n",
|
||
|
"</style>\n",
|
||
|
"<table border=\"1\" class=\"dataframe\">\n",
|
||
|
" <thead>\n",
|
||
|
" <tr style=\"text-align: right;\">\n",
|
||
|
" <th></th>\n",
|
||
|
" <th>Open</th>\n",
|
||
|
" <th>High</th>\n",
|
||
|
" <th>Low</th>\n",
|
||
|
" <th>Close</th>\n",
|
||
|
" <th>Volume</th>\n",
|
||
|
" </tr>\n",
|
||
|
" <tr>\n",
|
||
|
" <th>Date</th>\n",
|
||
|
" <th></th>\n",
|
||
|
" <th></th>\n",
|
||
|
" <th></th>\n",
|
||
|
" <th></th>\n",
|
||
|
" <th></th>\n",
|
||
|
" </tr>\n",
|
||
|
" </thead>\n",
|
||
|
" <tbody>\n",
|
||
|
" <tr>\n",
|
||
|
" <th>2012-01-03</th>\n",
|
||
|
" <td>11.00</td>\n",
|
||
|
" <td>11.25</td>\n",
|
||
|
" <td>10.99</td>\n",
|
||
|
" <td>11.13</td>\n",
|
||
|
" <td>45709811</td>\n",
|
||
|
" </tr>\n",
|
||
|
" <tr>\n",
|
||
|
" <th>2012-01-04</th>\n",
|
||
|
" <td>11.15</td>\n",
|
||
|
" <td>11.53</td>\n",
|
||
|
" <td>11.07</td>\n",
|
||
|
" <td>11.30</td>\n",
|
||
|
" <td>79725188</td>\n",
|
||
|
" </tr>\n",
|
||
|
" <tr>\n",
|
||
|
" <th>2012-01-05</th>\n",
|
||
|
" <td>11.33</td>\n",
|
||
|
" <td>11.63</td>\n",
|
||
|
" <td>11.24</td>\n",
|
||
|
" <td>11.59</td>\n",
|
||
|
" <td>67877467</td>\n",
|
||
|
" </tr>\n",
|
||
|
" <tr>\n",
|
||
|
" <th>2012-01-06</th>\n",
|
||
|
" <td>11.74</td>\n",
|
||
|
" <td>11.80</td>\n",
|
||
|
" <td>11.52</td>\n",
|
||
|
" <td>11.71</td>\n",
|
||
|
" <td>59840605</td>\n",
|
||
|
" </tr>\n",
|
||
|
" <tr>\n",
|
||
|
" <th>2012-01-09</th>\n",
|
||
|
" <td>11.83</td>\n",
|
||
|
" <td>11.95</td>\n",
|
||
|
" <td>11.70</td>\n",
|
||
|
" <td>11.80</td>\n",
|
||
|
" <td>53981467</td>\n",
|
||
|
" </tr>\n",
|
||
|
" </tbody>\n",
|
||
|
"</table>\n",
|
||
|
"</div>"
|
||
|
],
|
||
|
"text/plain": [
|
||
|
" Open High Low Close Volume\n",
|
||
|
"Date \n",
|
||
|
"2012-01-03 11.00 11.25 10.99 11.13 45709811\n",
|
||
|
"2012-01-04 11.15 11.53 11.07 11.30 79725188\n",
|
||
|
"2012-01-05 11.33 11.63 11.24 11.59 67877467\n",
|
||
|
"2012-01-06 11.74 11.80 11.52 11.71 59840605\n",
|
||
|
"2012-01-09 11.83 11.95 11.70 11.80 53981467"
|
||
|
]
|
||
|
},
|
||
|
"execution_count": 8,
|
||
|
"metadata": {},
|
||
|
"output_type": "execute_result"
|
||
|
}
|
||
|
],
|
||
|
"source": []
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": 9,
|
||
|
"metadata": {
|
||
|
"collapsed": true
|
||
|
},
|
||
|
"outputs": [],
|
||
|
"source": []
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": 10,
|
||
|
"metadata": {},
|
||
|
"outputs": [
|
||
|
{
|
||
|
"data": {
|
||
|
"text/html": [
|
||
|
"<div>\n",
|
||
|
"<style>\n",
|
||
|
" .dataframe thead tr:only-child th {\n",
|
||
|
" text-align: right;\n",
|
||
|
" }\n",
|
||
|
"\n",
|
||
|
" .dataframe thead th {\n",
|
||
|
" text-align: left;\n",
|
||
|
" }\n",
|
||
|
"\n",
|
||
|
" .dataframe tbody tr th {\n",
|
||
|
" vertical-align: top;\n",
|
||
|
" }\n",
|
||
|
"</style>\n",
|
||
|
"<table border=\"1\" class=\"dataframe\">\n",
|
||
|
" <thead>\n",
|
||
|
" <tr style=\"text-align: right;\">\n",
|
||
|
" <th></th>\n",
|
||
|
" <th>Open</th>\n",
|
||
|
" <th>High</th>\n",
|
||
|
" <th>Low</th>\n",
|
||
|
" <th>Close</th>\n",
|
||
|
" <th>Volume</th>\n",
|
||
|
" </tr>\n",
|
||
|
" <tr>\n",
|
||
|
" <th>Date</th>\n",
|
||
|
" <th></th>\n",
|
||
|
" <th></th>\n",
|
||
|
" <th></th>\n",
|
||
|
" <th></th>\n",
|
||
|
" <th></th>\n",
|
||
|
" </tr>\n",
|
||
|
" </thead>\n",
|
||
|
" <tbody>\n",
|
||
|
" <tr>\n",
|
||
|
" <th>2012-01-03</th>\n",
|
||
|
" <td>20.83</td>\n",
|
||
|
" <td>21.18</td>\n",
|
||
|
" <td>20.75</td>\n",
|
||
|
" <td>21.05</td>\n",
|
||
|
" <td>9321420</td>\n",
|
||
|
" </tr>\n",
|
||
|
" <tr>\n",
|
||
|
" <th>2012-01-04</th>\n",
|
||
|
" <td>21.05</td>\n",
|
||
|
" <td>21.37</td>\n",
|
||
|
" <td>20.75</td>\n",
|
||
|
" <td>21.15</td>\n",
|
||
|
" <td>7856752</td>\n",
|
||
|
" </tr>\n",
|
||
|
" <tr>\n",
|
||
|
" <th>2012-01-05</th>\n",
|
||
|
" <td>21.10</td>\n",
|
||
|
" <td>22.29</td>\n",
|
||
|
" <td>20.96</td>\n",
|
||
|
" <td>22.17</td>\n",
|
||
|
" <td>17884040</td>\n",
|
||
|
" </tr>\n",
|
||
|
" <tr>\n",
|
||
|
" <th>2012-01-06</th>\n",
|
||
|
" <td>22.26</td>\n",
|
||
|
" <td>23.03</td>\n",
|
||
|
" <td>22.24</td>\n",
|
||
|
" <td>22.92</td>\n",
|
||
|
" <td>18234608</td>\n",
|
||
|
" </tr>\n",
|
||
|
" <tr>\n",
|
||
|
" <th>2012-01-09</th>\n",
|
||
|
" <td>23.20</td>\n",
|
||
|
" <td>23.43</td>\n",
|
||
|
" <td>22.70</td>\n",
|
||
|
" <td>22.84</td>\n",
|
||
|
" <td>12091714</td>\n",
|
||
|
" </tr>\n",
|
||
|
" </tbody>\n",
|
||
|
"</table>\n",
|
||
|
"</div>"
|
||
|
],
|
||
|
"text/plain": [
|
||
|
" Open High Low Close Volume\n",
|
||
|
"Date \n",
|
||
|
"2012-01-03 20.83 21.18 20.75 21.05 9321420\n",
|
||
|
"2012-01-04 21.05 21.37 20.75 21.15 7856752\n",
|
||
|
"2012-01-05 21.10 22.29 20.96 22.17 17884040\n",
|
||
|
"2012-01-06 22.26 23.03 22.24 22.92 18234608\n",
|
||
|
"2012-01-09 23.20 23.43 22.70 22.84 12091714"
|
||
|
]
|
||
|
},
|
||
|
"execution_count": 10,
|
||
|
"metadata": {},
|
||
|
"output_type": "execute_result"
|
||
|
}
|
||
|
],
|
||
|
"source": []
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": 11,
|
||
|
"metadata": {
|
||
|
"collapsed": true
|
||
|
},
|
||
|
"outputs": [],
|
||
|
"source": []
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "markdown",
|
||
|
"metadata": {},
|
||
|
"source": [
|
||
|
"## Part 2: Visualizing the Data\n",
|
||
|
"\n",
|
||
|
"** Time to visualize the data. **\n",
|
||
|
"\n",
|
||
|
"** Follow along and recreate the plots below according to the instructions and explanations. **"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "markdown",
|
||
|
"metadata": {},
|
||
|
"source": [
|
||
|
"____\n",
|
||
|
"\n",
|
||
|
"** Recreate this linear plot of all the stocks' Open price ! Hint: For the legend, use label parameter and plt.legend()**"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": null,
|
||
|
"metadata": {
|
||
|
"collapsed": true
|
||
|
},
|
||
|
"outputs": [],
|
||
|
"source": [
|
||
|
"# Code Here"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": 51,
|
||
|
"metadata": {},
|
||
|
"outputs": [
|
||
|
{
|
||
|
"data": {
|
||
|
"text/plain": [
|
||
|
"<matplotlib.legend.Legend at 0x2145b62dfd0>"
|
||
|
]
|
||
|
},
|
||
|
"execution_count": 51,
|
||
|
"metadata": {},
|
||
|
"output_type": "execute_result"
|
||
|
},
|
||
|
{
|
||
|
"data": {
|
||
|
"image/png": "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\nkbHI7RdgM+lhMerxzX9
|
||
|
"text/plain": [
|
||
|
"<matplotlib.figure.Figure at 0x2145b62df28>"
|
||
|
]
|
||
|
},
|
||
|
"metadata": {},
|
||
|
"output_type": "display_data"
|
||
|
}
|
||
|
],
|
||
|
"source": []
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "markdown",
|
||
|
"metadata": {},
|
||
|
"source": [
|
||
|
"____"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "markdown",
|
||
|
"metadata": {},
|
||
|
"source": [
|
||
|
"** Plot the Volume of stock traded each day.**"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": 14,
|
||
|
"metadata": {},
|
||
|
"outputs": [
|
||
|
{
|
||
|
"data": {
|
||
|
"text/plain": [
|
||
|
"<matplotlib.legend.Legend at 0x214543b3828>"
|
||
|
]
|
||
|
},
|
||
|
"execution_count": 14,
|
||
|
"metadata": {},
|
||
|
"output_type": "execute_result"
|
||
|
},
|
||
|
{
|
||
|
"data": {
|
||
|
"image/png": "iVBORw0KGgoAAAANSUhEUgAAA6UAAAHYCAYAAAC1Ak5wAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xm8JGV97/Hv033OzJmFHRQCEhSzoA5BQIyaGKJ4I5pg\nvBfjEhY1kah4TfSqN/EaQU1ckuh1iYGLV6+gEEQRAghoQNldZoBhhsURhnUGBmZfz9Zdz/2j+6lT\n3aeru6q7tu76vH3xcs453V3V1dVV9avf7/k9xlorAAAAAADyUMl7BQAAAAAA5UVQCgAAAADIDUEp\nAAAAACA3BKUAAAAAgNwQlAIAAAAAckNQCgAAAADIDUEpAKB0jDFvN8bclvd6pM0Yc5Ix5tGsnwsA\nQBwEpQCAoWOMud4Y88kOv3+DMWaDMWYsj/WKwxjzUWPMruZ/U8aYeuDn+/JePwAAskJQCgAYRhdK\nOs0YY9p+f7qki621tRzWKRZr7aettUuttUslvVvST93P1toXtj9+GAJtAAD6QVAKABhGV0o6QNLv\nu18YY/aT9MeSLmr+vI8x5iJjzEZjzGPGmI8ZY+ad94wxRxhjbDDoM8bcZIz5y+a/326Mud0Y87+N\nMduMMQ8bY17e/P0TxphnjDFnBp670BjzL8aYx40xTxtjzjfGLIr7Bo0xY831eq8x5iFJv2z+/l+N\nMeuMMTuMMcuNMS8PPGexMeZbxpitzWzrcW2veZgx5ormNnnEGHN21OcCAJAWglIAwNCx1k5KukzS\nGYFf/5mkX1pr72n+/BVJ+0h6nqQ/aD72HX0u8qWSVqkRCF8i6VJJL5H0fEmnSfpXY8zS5mM/K+k3\nJR3T/Puhkj7e53Il6ZTmspY1f/65pKMl7S/pe5K+a4xZ2PzbJyU9R433/DpJwWC5IukaScub6/Qa\nSR82xry613MBAEhTrkGpMeYbzTvM90Z47OHGmJ8YY+42xqwyxrwui3UEABTWhZJONcZMNH8+o/k7\nGWOqkt4i6e+stTuttY9K+rwa5b39eMRa+/+stXVJ31EjePuktXbaWvsjSTOSnt8sJz5L0gestVus\ntTslfbq5Lv36tLV2azMQl7X2W83Xrkn6J0l7qxH8So3A/B+aj39M0r8GXudlkvZulg3PWGsfkvT1\nwLp1ey4AAKnJe3zKN9U46V0U4bEfk3SZtfY8Y8wLJF0r6Yj0Vg0AUGTW2tuMMZsk/akxZrmkEyT9\n1+afD5Q0LumxwFMeUyND2I+nA/92wWH775ZKOkjSYkl3Boa7GknVPpcrSU8EfzDGfETSOyUdIslK\nWqLG+1Xzd8HHB9//r0s63BizLfC7qqSbIjwXAIDU5BqUWmtvMcYcEfydMeZISV9V48S+R9K7rLW/\nVOPEu3fzYftIejK7NQUAFNRFamRIf0vSDwOB4iZJs2oEYvc3f3e4pPUdXmN38/8XS9rR/PfBfa7P\nJjUC1Bdaazstqx/W/cMY84eSPijp1Zp7X9vVCHwlaYMaWdw1zZ8PD7zOE5IetNYeFbKcbs8FACA1\nRRxTeoGk/26tPU7ShyT9W/P356rRaXGdGlnS/57P6gEACuQiSSdJepeapbuS1CyzvUzSPxpj9jLG\n/Loawdy321/AWrtRjWD1NGNM1RjzTklH9rMy1lpP0tck/W9jzLMkyRhzqDHmj/p5vQ72klRTI/gd\nV+PcuCTw98skfdQYs68x5nBJ7wv87aeSZowx/8MYM9F8r8uMMcdFeC4AAKkpVFDabBLxcjWaNqyU\n9H/UKCeSpLdK+qa19jA1GjB8q1MXRQBAeTTHit6hRmB2Vduf/7saWdCHJd2mRoOib4S81LskfVjS\nZkkvbL5mv/6npIck/cwYs0PSDWpkcpNwbfP1HpT0qBqZ3acCfz+n+fOjkq5TYHhMcwzq69Qoc35U\njcD2/2iuCin0uQAApMlYa3s/Ks0VaJTvXmOtfZExZm9Ja6y1h3R43H2SXmutfaL588OSftda+0yW\n6wsAAAAASE6hMo3W2h2SHjHGvEmSTMPvNP/8uBpjaGSMOUrShKSNuawoAAAAACARuWZKjTH/LulE\nNboGPq1G6dCPJZ2nRtnuuKRLrbWfbHbc/Zoa3Q2tpI802/ADAAAAAIZU7uW7AAAAAIDyKlT5LgAA\nAACgXAhKAQAAAAC5GctrwQceeKA94ogj8lo8AAAAACBFd9555yZr7UG9HpdbUHrEEUdoxYoVeS0e\nAAAAAJAiY8xjUR5H+S4AAAAAIDcEpQAAAACA3BCUAgAAAAByk9uYUgAAAAAYNbOzs1q3bp2mpqby\nXpXMTExM6LDDDtP4+HhfzycoBQAAAICErFu3TnvttZeOOOIIGWPyXp3UWWu1efNmrVu3Ts997nP7\neg3KdwEAAAAgIVNTUzrggANKEZBKkjFGBxxwwECZYYJSAAAAAEhQWQJSZ9D3S1AKAAAAACNi8+bN\nOuaYY3TMMcfo4IMP1qGHHur/PDMzE/l1TjvtNF155ZUprukcxpQCAAAAwIg44IADtHLlSknSueee\nq6VLl+pDH/pQzmvVHZlSAAAAACiBCy+8UCeccIKOOeYYvfe975XnearVajr99NO1bNkyvehFL9KX\nv/zlec8755xz9JKXvEQvetGL9O53v1vW2kTXi0wpAAAAAKTgE1ffp/uf3JHoa77g1/bWOX/ywtjP\nu/fee3XFFVfojjvu0NjYmM466yxdeumlOvLII7Vp0yatXr1akrRt27Z5z/3rv/5rfeITn5C1Vm97\n29t0/fXX6+STTx74vThkSgEAAABgxN1www1avny5jj/+eB1zzDG6+eabtXbtWj3/+c/XmjVr9P73\nv18//OEPtc8++8x77o033qgTTjhBv/M7v6Obb75Z9913X6LrRqYUAAAAAFLQT0YzLdZavfOd79Sn\nPvWpeX9btWqVrrvuOn31q1/V5ZdfrgsuuMD/2549e/S+971Pd911lw499FB97GMfG2j6l07IlAIA\nAADAiDvppJN02WWXadOmTZIaXXoff/xxbdy4UdZavelNb9InP/lJ3XXXXS3Pm5ycVKVS0YEHHqid\nO3fq8ssvT3zdyJQCQAlM1aZ019N36eWHvjzvVQEAADlYtmyZzjnnHJ100knyPE/j4+M6//zzVa1W\n9Rd/8Rey1soYo8997nMtzzvggAN05pln6gUveIEOOeQQvfSlL0183UzSnZOiOv744+2KFStyWTYA\nlM3Hb/+4rnjoCn3/lO/rN/b7jbxXBwCAkfXAAw/oqKOOyns1MtfpfRtj7rTWHt/ruZTvAkAJPLL9\nEUnSrtldOa8JAABAK4JSAAAAAEBuCEoBoETyGrIBAAAQhqAUAAAAAJAbglIAAAAAQG4ISgGgBIwx\nea8CAABARwSlAAAAAIDcEJQCAAAAAHIzlvcKAAAAAACS86lPfUrf/va3ddBBB+k5z3mOjjvuOF1z\nzTV68YtfrFtvvVW7d+/WRRddpM985jNavXq13vzmN+sf/uEfcltfglIAKBErpoQBACAz1/2ttGF1\nsq958DLp5M+G/nn58uW6/PLLdc8992h2dlbHHnusjjvuOEnSggULtGLFCn3pS1/SG97wBt15553a\nf//9deSRR+oDH/iADjjggGTXNSLKdwEAAABgRNx+++16wxveoImJCe211176kz/5E/9vp5xyiiRp\n2bJleuELX6hDDjlECxcu1POe9zw98cQTea0ymVIAAAAASEWXjGYeFi5cKEmqVCr+v93PtVotr9Ui\nUwoAZWDElDAAAJTBK17xCl199dWamprSrl27dM011+S9Sj2RKQUAAACAEfGSl7xEp5xyio4++mg9\n+9nP1rJly7TPPvvkvVpdEZQCAAAAwAj50Ic+pHPPPVd79uzRK1/5Sh133HF617ve5f/9xBNP1Ikn\nnuj/fNNNN2W/kgEEpQAAAAAwQs466yzdf//9mpqa0plnnqljjz0271XqiqAUAErEWqaEAQBg1F1y\nySV5r0IsNDoCAAAAAOS
|
||
|
"text/plain": [
|
||
|
"<matplotlib.figure.Figure at 0x214543adc88>"
|
||
|
]
|
||
|
},
|
||
|
"metadata": {},
|
||
|
"output_type": "display_data"
|
||
|
}
|
||
|
],
|
||
|
"source": []
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "markdown",
|
||
|
"metadata": {},
|
||
|
"source": [
|
||
|
"** Interesting, looks like Ford had a really big spike somewhere in late 2013. What was the date of this maximum trading volume for Ford?**\n",
|
||
|
"\n",
|
||
|
"**Bonus: What happened that day? **"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": 16,
|
||
|
"metadata": {},
|
||
|
"outputs": [
|
||
|
{
|
||
|
"data": {
|
||
|
"text/plain": [
|
||
|
"Timestamp('2013-12-18 00:00:00')"
|
||
|
]
|
||
|
},
|
||
|
"execution_count": 16,
|
||
|
"metadata": {},
|
||
|
"output_type": "execute_result"
|
||
|
}
|
||
|
],
|
||
|
"source": []
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": 23,
|
||
|
"metadata": {
|
||
|
"collapsed": true
|
||
|
},
|
||
|
"outputs": [],
|
||
|
"source": []
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "markdown",
|
||
|
"metadata": {},
|
||
|
"source": [
|
||
|
"____"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "markdown",
|
||
|
"metadata": {},
|
||
|
"source": [
|
||
|
"** The Open Price Time Series Visualization makes Tesla look like its always been much more valuable as a company than GM and Ford. But to really understand this we would need to look at the total market cap of the company, not just the stock price. Unfortunately our current data doesn't have that information of total units of stock present. But what we can do as a simple calcualtion to try to represent total money traded would be to multply the Volume column by the Open price. Remember that this still isn't the actual Market Cap, its just a visual representation of the total amount of money being traded around using the time series. (e.g. 100 units of stock at \\$10 each versus 100000 units of stock at $1 each)**"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "markdown",
|
||
|
"metadata": {},
|
||
|
"source": [
|
||
|
"** Create a new column for each dataframe called \"Total Traded\" which is the Open Price multiplied by the Volume Traded.**"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": 52,
|
||
|
"metadata": {
|
||
|
"collapsed": true
|
||
|
},
|
||
|
"outputs": [],
|
||
|
"source": [
|
||
|
"# Code Here "
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": 19,
|
||
|
"metadata": {
|
||
|
"collapsed": true
|
||
|
},
|
||
|
"outputs": [],
|
||
|
"source": []
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "markdown",
|
||
|
"metadata": {},
|
||
|
"source": [
|
||
|
"** Plot this \"Total Traded\" against the time index.**"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": 53,
|
||
|
"metadata": {
|
||
|
"collapsed": true
|
||
|
},
|
||
|
"outputs": [],
|
||
|
"source": [
|
||
|
"# Code here"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": 58,
|
||
|
"metadata": {},
|
||
|
"outputs": [
|
||
|
{
|
||
|
"data": {
|
||
|
"text/plain": [
|
||
|
"<matplotlib.text.Text at 0x2145f5b9c88>"
|
||
|
]
|
||
|
},
|
||
|
"execution_count": 58,
|
||
|
"metadata": {},
|
||
|
"output_type": "execute_result"
|
||
|
},
|
||
|
{
|
||
|
"data": {
|
||
|
"image/png": "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\nJ5c9jKlD6S8AoHQEqgA
|
||
|
"text/plain": [
|
||
|
"<matplotlib.figure.Figure at 0x2145e46a5f8>"
|
||
|
]
|
||
|
},
|
||
|
"metadata": {},
|
||
|
"output_type": "display_data"
|
||
|
}
|
||
|
],
|
||
|
"source": []
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "markdown",
|
||
|
"metadata": {},
|
||
|
"source": [
|
||
|
"** Interesting, looks like there was huge amount of money traded for Tesla somewhere in early 2014. What date was that and what happened? **"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": 21,
|
||
|
"metadata": {},
|
||
|
"outputs": [
|
||
|
{
|
||
|
"data": {
|
||
|
"text/plain": [
|
||
|
"Timestamp('2014-02-25 00:00:00')"
|
||
|
]
|
||
|
},
|
||
|
"execution_count": 21,
|
||
|
"metadata": {},
|
||
|
"output_type": "execute_result"
|
||
|
}
|
||
|
],
|
||
|
"source": []
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": 22,
|
||
|
"metadata": {
|
||
|
"collapsed": true
|
||
|
},
|
||
|
"outputs": [],
|
||
|
"source": []
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "markdown",
|
||
|
"metadata": {},
|
||
|
"source": [
|
||
|
"____"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "markdown",
|
||
|
"metadata": {},
|
||
|
"source": [
|
||
|
"** Let's practice plotting out some MA (Moving Averages). Plot out the MA50 and MA200 for GM. **"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": 54,
|
||
|
"metadata": {
|
||
|
"collapsed": true
|
||
|
},
|
||
|
"outputs": [],
|
||
|
"source": [
|
||
|
"# Code here"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": 50,
|
||
|
"metadata": {},
|
||
|
"outputs": [
|
||
|
{
|
||
|
"data": {
|
||
|
"text/plain": [
|
||
|
"<matplotlib.axes._subplots.AxesSubplot at 0x2145e911518>"
|
||
|
]
|
||
|
},
|
||
|
"execution_count": 50,
|
||
|
"metadata": {},
|
||
|
"output_type": "execute_result"
|
||
|
},
|
||
|
{
|
||
|
"data": {
|
||
|
"image/png": "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\nAKWlpTz00EMsX76cFSt
|
||
|
"text/plain": [
|
||
|
"<matplotlib.figure.Figure at 0x2145eef4dd8>"
|
||
|
]
|
||
|
},
|
||
|
"metadata": {},
|
||
|
"output_type": "display_data"
|
||
|
}
|
||
|
],
|
||
|
"source": []
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "markdown",
|
||
|
"metadata": {},
|
||
|
"source": [
|
||
|
"______"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "markdown",
|
||
|
"metadata": {},
|
||
|
"source": [
|
||
|
"** Finally lets see if there is a relationship between these stocks, after all, they are all related to the car industry. We can see this easily through a scatter matrix plot. Import scatter_matrix from pandas.plotting and use it to create a scatter matrix plot of all the stocks'opening price. You may need to rearrange the columns into a new single dataframe. Hints and info can be found here: https://pandas.pydata.org/pandas-docs/stable/visualization.html#scatter-matrix-plot **"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": 56,
|
||
|
"metadata": {
|
||
|
"collapsed": true
|
||
|
},
|
||
|
"outputs": [],
|
||
|
"source": []
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": 62,
|
||
|
"metadata": {
|
||
|
"collapsed": true
|
||
|
},
|
||
|
"outputs": [],
|
||
|
"source": []
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": 64,
|
||
|
"metadata": {
|
||
|
"collapsed": true
|
||
|
},
|
||
|
"outputs": [],
|
||
|
"source": []
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": 76,
|
||
|
"metadata": {},
|
||
|
"outputs": [
|
||
|
{
|
||
|
"data": {
|
||
|
"image/png": "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\nKis0iwuubHpcGPi4pk5
|
||
|
"text/plain": [
|
||
|
"<matplotlib.figure.Figure at 0x2145f4d0eb8>"
|
||
|
]
|
||
|
},
|
||
|
"metadata": {},
|
||
|
"output_type": "display_data"
|
||
|
}
|
||
|
],
|
||
|
"source": []
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "markdown",
|
||
|
"metadata": {},
|
||
|
"source": [
|
||
|
"_____\n",
|
||
|
"### Bonus Visualization Task! (Note: This is hard!)\n",
|
||
|
"**Let's now create a candlestick chart! Watch the video if you get stuck on trying to recreate this visualization, there are quite a few steps involved!Refer to the video to understand how to interpret and read this chart. Hints: https://matplotlib.org/examples/pylab_examples/finance_demo.html**\n",
|
||
|
"\n",
|
||
|
"** Create a CandleStick chart for Ford in January 2012 (too many dates won't look good for a candlestick chart)**"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": 89,
|
||
|
"metadata": {
|
||
|
"collapsed": true
|
||
|
},
|
||
|
"outputs": [],
|
||
|
"source": []
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": 124,
|
||
|
"metadata": {
|
||
|
"collapsed": true
|
||
|
},
|
||
|
"outputs": [],
|
||
|
"source": []
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": 125,
|
||
|
"metadata": {
|
||
|
"collapsed": true
|
||
|
},
|
||
|
"outputs": [],
|
||
|
"source": []
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": 126,
|
||
|
"metadata": {
|
||
|
"collapsed": true
|
||
|
},
|
||
|
"outputs": [],
|
||
|
"source": []
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": 127,
|
||
|
"metadata": {
|
||
|
"collapsed": true
|
||
|
},
|
||
|
"outputs": [],
|
||
|
"source": []
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": 128,
|
||
|
"metadata": {},
|
||
|
"outputs": [
|
||
|
{
|
||
|
"data": {
|
||
|
"image/png": "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\nACSdRG4+5XurLW9mPW5
|
||
|
"text/plain": [
|
||
|
"<matplotlib.figure.Figure at 0x214667b24e0>"
|
||
|
]
|
||
|
},
|
||
|
"metadata": {},
|
||
|
"output_type": "display_data"
|
||
|
}
|
||
|
],
|
||
|
"source": []
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "markdown",
|
||
|
"metadata": {},
|
||
|
"source": [
|
||
|
"____\n",
|
||
|
"# Part 3: Basic Financial Analysis\n",
|
||
|
"\n",
|
||
|
"Now it is time to focus on a few key financial calculations. This will serve as your transition to the second half of the course. All you need to do is follow along with the instructions, this will mainly be an exercise in converting a mathematical equation or concept into code using python and pandas, something we will do often when working with quantiative data! If you feel very lost in this section, don't worry! Just go to the solutions lecture and treat it as a code-along lecture, use whatever style of learning works best for you!\n",
|
||
|
"\n",
|
||
|
"Let's begin!\n",
|
||
|
"____"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "markdown",
|
||
|
"metadata": {},
|
||
|
"source": [
|
||
|
"## Daily Percentage Change\n",
|
||
|
"First we will begin by calculating the daily percentage change. Daily percentage change is defined by the following formula:"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "markdown",
|
||
|
"metadata": {},
|
||
|
"source": [
|
||
|
"$ r_t = \\frac{p_t}{p_{t-1}} -1$"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "markdown",
|
||
|
"metadata": {},
|
||
|
"source": [
|
||
|
"This defines r_t (return at time t) as equal to the price at time t divided by the price at time t-1 (the previous day) minus 1. Basically this just informs you of your percent gain (or loss) if you bought the stock on day and then sold it the next day. While this isn't necessarily helpful for attempting to predict future values of the stock, its very helpful in analyzing the volatility of the stock. If daily returns have a wide distribution, the stock is more volatile from one day to the next. Let's calculate the percent returns and then plot them with a histogram, and decide which stock is the most stable!"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "markdown",
|
||
|
"metadata": {},
|
||
|
"source": [
|
||
|
"** Create a new column for each dataframe called returns. This column will be calculated from the Close price column. There are two ways to do this, either a simple calculation using the .shift() method that follows the formula above, or you can also use pandas' built in pct_change method. **"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": 133,
|
||
|
"metadata": {
|
||
|
"collapsed": true
|
||
|
},
|
||
|
"outputs": [],
|
||
|
"source": []
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": 134,
|
||
|
"metadata": {},
|
||
|
"outputs": [
|
||
|
{
|
||
|
"data": {
|
||
|
"text/html": [
|
||
|
"<div>\n",
|
||
|
"<style>\n",
|
||
|
" .dataframe thead tr:only-child th {\n",
|
||
|
" text-align: right;\n",
|
||
|
" }\n",
|
||
|
"\n",
|
||
|
" .dataframe thead th {\n",
|
||
|
" text-align: left;\n",
|
||
|
" }\n",
|
||
|
"\n",
|
||
|
" .dataframe tbody tr th {\n",
|
||
|
" vertical-align: top;\n",
|
||
|
" }\n",
|
||
|
"</style>\n",
|
||
|
"<table border=\"1\" class=\"dataframe\">\n",
|
||
|
" <thead>\n",
|
||
|
" <tr style=\"text-align: right;\">\n",
|
||
|
" <th></th>\n",
|
||
|
" <th>Open</th>\n",
|
||
|
" <th>High</th>\n",
|
||
|
" <th>Low</th>\n",
|
||
|
" <th>Close</th>\n",
|
||
|
" <th>Volume</th>\n",
|
||
|
" <th>Total Traded</th>\n",
|
||
|
" <th>returns</th>\n",
|
||
|
" </tr>\n",
|
||
|
" <tr>\n",
|
||
|
" <th>Date</th>\n",
|
||
|
" <th></th>\n",
|
||
|
" <th></th>\n",
|
||
|
" <th></th>\n",
|
||
|
" <th></th>\n",
|
||
|
" <th></th>\n",
|
||
|
" <th></th>\n",
|
||
|
" <th></th>\n",
|
||
|
" </tr>\n",
|
||
|
" </thead>\n",
|
||
|
" <tbody>\n",
|
||
|
" <tr>\n",
|
||
|
" <th>2012-01-03</th>\n",
|
||
|
" <td>28.94</td>\n",
|
||
|
" <td>29.50</td>\n",
|
||
|
" <td>27.65</td>\n",
|
||
|
" <td>28.08</td>\n",
|
||
|
" <td>928052</td>\n",
|
||
|
" <td>26857824.88</td>\n",
|
||
|
" <td>NaN</td>\n",
|
||
|
" </tr>\n",
|
||
|
" <tr>\n",
|
||
|
" <th>2012-01-04</th>\n",
|
||
|
" <td>28.21</td>\n",
|
||
|
" <td>28.67</td>\n",
|
||
|
" <td>27.50</td>\n",
|
||
|
" <td>27.71</td>\n",
|
||
|
" <td>630036</td>\n",
|
||
|
" <td>17773315.56</td>\n",
|
||
|
" <td>-0.013177</td>\n",
|
||
|
" </tr>\n",
|
||
|
" <tr>\n",
|
||
|
" <th>2012-01-05</th>\n",
|
||
|
" <td>27.76</td>\n",
|
||
|
" <td>27.93</td>\n",
|
||
|
" <td>26.85</td>\n",
|
||
|
" <td>27.12</td>\n",
|
||
|
" <td>1005432</td>\n",
|
||
|
" <td>27910792.32</td>\n",
|
||
|
" <td>-0.021292</td>\n",
|
||
|
" </tr>\n",
|
||
|
" <tr>\n",
|
||
|
" <th>2012-01-06</th>\n",
|
||
|
" <td>27.20</td>\n",
|
||
|
" <td>27.79</td>\n",
|
||
|
" <td>26.41</td>\n",
|
||
|
" <td>26.89</td>\n",
|
||
|
" <td>687081</td>\n",
|
||
|
" <td>18688603.20</td>\n",
|
||
|
" <td>-0.008481</td>\n",
|
||
|
" </tr>\n",
|
||
|
" <tr>\n",
|
||
|
" <th>2012-01-09</th>\n",
|
||
|
" <td>27.00</td>\n",
|
||
|
" <td>27.49</td>\n",
|
||
|
" <td>26.12</td>\n",
|
||
|
" <td>27.25</td>\n",
|
||
|
" <td>896951</td>\n",
|
||
|
" <td>24217677.00</td>\n",
|
||
|
" <td>0.013388</td>\n",
|
||
|
" </tr>\n",
|
||
|
" </tbody>\n",
|
||
|
"</table>\n",
|
||
|
"</div>"
|
||
|
],
|
||
|
"text/plain": [
|
||
|
" Open High Low Close Volume Total Traded returns\n",
|
||
|
"Date \n",
|
||
|
"2012-01-03 28.94 29.50 27.65 28.08 928052 26857824.88 NaN\n",
|
||
|
"2012-01-04 28.21 28.67 27.50 27.71 630036 17773315.56 -0.013177\n",
|
||
|
"2012-01-05 27.76 27.93 26.85 27.12 1005432 27910792.32 -0.021292\n",
|
||
|
"2012-01-06 27.20 27.79 26.41 26.89 687081 18688603.20 -0.008481\n",
|
||
|
"2012-01-09 27.00 27.49 26.12 27.25 896951 24217677.00 0.013388"
|
||
|
]
|
||
|
},
|
||
|
"execution_count": 134,
|
||
|
"metadata": {},
|
||
|
"output_type": "execute_result"
|
||
|
}
|
||
|
],
|
||
|
"source": []
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": 135,
|
||
|
"metadata": {
|
||
|
"collapsed": true
|
||
|
},
|
||
|
"outputs": [],
|
||
|
"source": []
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": 136,
|
||
|
"metadata": {},
|
||
|
"outputs": [
|
||
|
{
|
||
|
"data": {
|
||
|
"text/html": [
|
||
|
"<div>\n",
|
||
|
"<style>\n",
|
||
|
" .dataframe thead tr:only-child th {\n",
|
||
|
" text-align: right;\n",
|
||
|
" }\n",
|
||
|
"\n",
|
||
|
" .dataframe thead th {\n",
|
||
|
" text-align: left;\n",
|
||
|
" }\n",
|
||
|
"\n",
|
||
|
" .dataframe tbody tr th {\n",
|
||
|
" vertical-align: top;\n",
|
||
|
" }\n",
|
||
|
"</style>\n",
|
||
|
"<table border=\"1\" class=\"dataframe\">\n",
|
||
|
" <thead>\n",
|
||
|
" <tr style=\"text-align: right;\">\n",
|
||
|
" <th></th>\n",
|
||
|
" <th>Open</th>\n",
|
||
|
" <th>High</th>\n",
|
||
|
" <th>Low</th>\n",
|
||
|
" <th>Close</th>\n",
|
||
|
" <th>Volume</th>\n",
|
||
|
" <th>Total Traded</th>\n",
|
||
|
" <th>returns</th>\n",
|
||
|
" </tr>\n",
|
||
|
" <tr>\n",
|
||
|
" <th>Date</th>\n",
|
||
|
" <th></th>\n",
|
||
|
" <th></th>\n",
|
||
|
" <th></th>\n",
|
||
|
" <th></th>\n",
|
||
|
" <th></th>\n",
|
||
|
" <th></th>\n",
|
||
|
" <th></th>\n",
|
||
|
" </tr>\n",
|
||
|
" </thead>\n",
|
||
|
" <tbody>\n",
|
||
|
" <tr>\n",
|
||
|
" <th>2012-01-03</th>\n",
|
||
|
" <td>28.94</td>\n",
|
||
|
" <td>29.50</td>\n",
|
||
|
" <td>27.65</td>\n",
|
||
|
" <td>28.08</td>\n",
|
||
|
" <td>928052</td>\n",
|
||
|
" <td>26857824.88</td>\n",
|
||
|
" <td>NaN</td>\n",
|
||
|
" </tr>\n",
|
||
|
" <tr>\n",
|
||
|
" <th>2012-01-04</th>\n",
|
||
|
" <td>28.21</td>\n",
|
||
|
" <td>28.67</td>\n",
|
||
|
" <td>27.50</td>\n",
|
||
|
" <td>27.71</td>\n",
|
||
|
" <td>630036</td>\n",
|
||
|
" <td>17773315.56</td>\n",
|
||
|
" <td>-0.013177</td>\n",
|
||
|
" </tr>\n",
|
||
|
" <tr>\n",
|
||
|
" <th>2012-01-05</th>\n",
|
||
|
" <td>27.76</td>\n",
|
||
|
" <td>27.93</td>\n",
|
||
|
" <td>26.85</td>\n",
|
||
|
" <td>27.12</td>\n",
|
||
|
" <td>1005432</td>\n",
|
||
|
" <td>27910792.32</td>\n",
|
||
|
" <td>-0.021292</td>\n",
|
||
|
" </tr>\n",
|
||
|
" <tr>\n",
|
||
|
" <th>2012-01-06</th>\n",
|
||
|
" <td>27.20</td>\n",
|
||
|
" <td>27.79</td>\n",
|
||
|
" <td>26.41</td>\n",
|
||
|
" <td>26.89</td>\n",
|
||
|
" <td>687081</td>\n",
|
||
|
" <td>18688603.20</td>\n",
|
||
|
" <td>-0.008481</td>\n",
|
||
|
" </tr>\n",
|
||
|
" <tr>\n",
|
||
|
" <th>2012-01-09</th>\n",
|
||
|
" <td>27.00</td>\n",
|
||
|
" <td>27.49</td>\n",
|
||
|
" <td>26.12</td>\n",
|
||
|
" <td>27.25</td>\n",
|
||
|
" <td>896951</td>\n",
|
||
|
" <td>24217677.00</td>\n",
|
||
|
" <td>0.013388</td>\n",
|
||
|
" </tr>\n",
|
||
|
" </tbody>\n",
|
||
|
"</table>\n",
|
||
|
"</div>"
|
||
|
],
|
||
|
"text/plain": [
|
||
|
" Open High Low Close Volume Total Traded returns\n",
|
||
|
"Date \n",
|
||
|
"2012-01-03 28.94 29.50 27.65 28.08 928052 26857824.88 NaN\n",
|
||
|
"2012-01-04 28.21 28.67 27.50 27.71 630036 17773315.56 -0.013177\n",
|
||
|
"2012-01-05 27.76 27.93 26.85 27.12 1005432 27910792.32 -0.021292\n",
|
||
|
"2012-01-06 27.20 27.79 26.41 26.89 687081 18688603.20 -0.008481\n",
|
||
|
"2012-01-09 27.00 27.49 26.12 27.25 896951 24217677.00 0.013388"
|
||
|
]
|
||
|
},
|
||
|
"execution_count": 136,
|
||
|
"metadata": {},
|
||
|
"output_type": "execute_result"
|
||
|
}
|
||
|
],
|
||
|
"source": []
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": 137,
|
||
|
"metadata": {
|
||
|
"collapsed": true
|
||
|
},
|
||
|
"outputs": [],
|
||
|
"source": []
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": 138,
|
||
|
"metadata": {},
|
||
|
"outputs": [
|
||
|
{
|
||
|
"data": {
|
||
|
"text/html": [
|
||
|
"<div>\n",
|
||
|
"<style>\n",
|
||
|
" .dataframe thead tr:only-child th {\n",
|
||
|
" text-align: right;\n",
|
||
|
" }\n",
|
||
|
"\n",
|
||
|
" .dataframe thead th {\n",
|
||
|
" text-align: left;\n",
|
||
|
" }\n",
|
||
|
"\n",
|
||
|
" .dataframe tbody tr th {\n",
|
||
|
" vertical-align: top;\n",
|
||
|
" }\n",
|
||
|
"</style>\n",
|
||
|
"<table border=\"1\" class=\"dataframe\">\n",
|
||
|
" <thead>\n",
|
||
|
" <tr style=\"text-align: right;\">\n",
|
||
|
" <th></th>\n",
|
||
|
" <th>Open</th>\n",
|
||
|
" <th>High</th>\n",
|
||
|
" <th>Low</th>\n",
|
||
|
" <th>Close</th>\n",
|
||
|
" <th>Volume</th>\n",
|
||
|
" <th>Total Traded</th>\n",
|
||
|
" <th>mpl_time</th>\n",
|
||
|
" <th>returns</th>\n",
|
||
|
" </tr>\n",
|
||
|
" <tr>\n",
|
||
|
" <th>Date</th>\n",
|
||
|
" <th></th>\n",
|
||
|
" <th></th>\n",
|
||
|
" <th></th>\n",
|
||
|
" <th></th>\n",
|
||
|
" <th></th>\n",
|
||
|
" <th></th>\n",
|
||
|
" <th></th>\n",
|
||
|
" <th></th>\n",
|
||
|
" </tr>\n",
|
||
|
" </thead>\n",
|
||
|
" <tbody>\n",
|
||
|
" <tr>\n",
|
||
|
" <th>2012-01-03</th>\n",
|
||
|
" <td>11.00</td>\n",
|
||
|
" <td>11.25</td>\n",
|
||
|
" <td>10.99</td>\n",
|
||
|
" <td>11.13</td>\n",
|
||
|
" <td>45709811</td>\n",
|
||
|
" <td>5.028079e+08</td>\n",
|
||
|
" <td>NaN</td>\n",
|
||
|
" <td>NaN</td>\n",
|
||
|
" </tr>\n",
|
||
|
" <tr>\n",
|
||
|
" <th>2012-01-04</th>\n",
|
||
|
" <td>11.15</td>\n",
|
||
|
" <td>11.53</td>\n",
|
||
|
" <td>11.07</td>\n",
|
||
|
" <td>11.30</td>\n",
|
||
|
" <td>79725188</td>\n",
|
||
|
" <td>8.889358e+08</td>\n",
|
||
|
" <td>NaN</td>\n",
|
||
|
" <td>0.015274</td>\n",
|
||
|
" </tr>\n",
|
||
|
" <tr>\n",
|
||
|
" <th>2012-01-05</th>\n",
|
||
|
" <td>11.33</td>\n",
|
||
|
" <td>11.63</td>\n",
|
||
|
" <td>11.24</td>\n",
|
||
|
" <td>11.59</td>\n",
|
||
|
" <td>67877467</td>\n",
|
||
|
" <td>7.690517e+08</td>\n",
|
||
|
" <td>NaN</td>\n",
|
||
|
" <td>0.025664</td>\n",
|
||
|
" </tr>\n",
|
||
|
" <tr>\n",
|
||
|
" <th>2012-01-06</th>\n",
|
||
|
" <td>11.74</td>\n",
|
||
|
" <td>11.80</td>\n",
|
||
|
" <td>11.52</td>\n",
|
||
|
" <td>11.71</td>\n",
|
||
|
" <td>59840605</td>\n",
|
||
|
" <td>7.025287e+08</td>\n",
|
||
|
" <td>NaN</td>\n",
|
||
|
" <td>0.010354</td>\n",
|
||
|
" </tr>\n",
|
||
|
" <tr>\n",
|
||
|
" <th>2012-01-09</th>\n",
|
||
|
" <td>11.83</td>\n",
|
||
|
" <td>11.95</td>\n",
|
||
|
" <td>11.70</td>\n",
|
||
|
" <td>11.80</td>\n",
|
||
|
" <td>53981467</td>\n",
|
||
|
" <td>6.386008e+08</td>\n",
|
||
|
" <td>NaN</td>\n",
|
||
|
" <td>0.007686</td>\n",
|
||
|
" </tr>\n",
|
||
|
" </tbody>\n",
|
||
|
"</table>\n",
|
||
|
"</div>"
|
||
|
],
|
||
|
"text/plain": [
|
||
|
" Open High Low Close Volume Total Traded mpl_time \\\n",
|
||
|
"Date \n",
|
||
|
"2012-01-03 11.00 11.25 10.99 11.13 45709811 5.028079e+08 NaN \n",
|
||
|
"2012-01-04 11.15 11.53 11.07 11.30 79725188 8.889358e+08 NaN \n",
|
||
|
"2012-01-05 11.33 11.63 11.24 11.59 67877467 7.690517e+08 NaN \n",
|
||
|
"2012-01-06 11.74 11.80 11.52 11.71 59840605 7.025287e+08 NaN \n",
|
||
|
"2012-01-09 11.83 11.95 11.70 11.80 53981467 6.386008e+08 NaN \n",
|
||
|
"\n",
|
||
|
" returns \n",
|
||
|
"Date \n",
|
||
|
"2012-01-03 NaN \n",
|
||
|
"2012-01-04 0.015274 \n",
|
||
|
"2012-01-05 0.025664 \n",
|
||
|
"2012-01-06 0.010354 \n",
|
||
|
"2012-01-09 0.007686 "
|
||
|
]
|
||
|
},
|
||
|
"execution_count": 138,
|
||
|
"metadata": {},
|
||
|
"output_type": "execute_result"
|
||
|
}
|
||
|
],
|
||
|
"source": []
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": 139,
|
||
|
"metadata": {},
|
||
|
"outputs": [
|
||
|
{
|
||
|
"data": {
|
||
|
"text/html": [
|
||
|
"<div>\n",
|
||
|
"<style>\n",
|
||
|
" .dataframe thead tr:only-child th {\n",
|
||
|
" text-align: right;\n",
|
||
|
" }\n",
|
||
|
"\n",
|
||
|
" .dataframe thead th {\n",
|
||
|
" text-align: left;\n",
|
||
|
" }\n",
|
||
|
"\n",
|
||
|
" .dataframe tbody tr th {\n",
|
||
|
" vertical-align: top;\n",
|
||
|
" }\n",
|
||
|
"</style>\n",
|
||
|
"<table border=\"1\" class=\"dataframe\">\n",
|
||
|
" <thead>\n",
|
||
|
" <tr style=\"text-align: right;\">\n",
|
||
|
" <th></th>\n",
|
||
|
" <th>Open</th>\n",
|
||
|
" <th>High</th>\n",
|
||
|
" <th>Low</th>\n",
|
||
|
" <th>Close</th>\n",
|
||
|
" <th>Volume</th>\n",
|
||
|
" <th>Total Traded</th>\n",
|
||
|
" <th>MA50</th>\n",
|
||
|
" <th>MA200</th>\n",
|
||
|
" <th>returns</th>\n",
|
||
|
" </tr>\n",
|
||
|
" <tr>\n",
|
||
|
" <th>Date</th>\n",
|
||
|
" <th></th>\n",
|
||
|
" <th></th>\n",
|
||
|
" <th></th>\n",
|
||
|
" <th></th>\n",
|
||
|
" <th></th>\n",
|
||
|
" <th></th>\n",
|
||
|
" <th></th>\n",
|
||
|
" <th></th>\n",
|
||
|
" <th></th>\n",
|
||
|
" </tr>\n",
|
||
|
" </thead>\n",
|
||
|
" <tbody>\n",
|
||
|
" <tr>\n",
|
||
|
" <th>2012-01-03</th>\n",
|
||
|
" <td>20.83</td>\n",
|
||
|
" <td>21.18</td>\n",
|
||
|
" <td>20.75</td>\n",
|
||
|
" <td>21.05</td>\n",
|
||
|
" <td>9321420</td>\n",
|
||
|
" <td>1.941652e+08</td>\n",
|
||
|
" <td>NaN</td>\n",
|
||
|
" <td>NaN</td>\n",
|
||
|
" <td>NaN</td>\n",
|
||
|
" </tr>\n",
|
||
|
" <tr>\n",
|
||
|
" <th>2012-01-04</th>\n",
|
||
|
" <td>21.05</td>\n",
|
||
|
" <td>21.37</td>\n",
|
||
|
" <td>20.75</td>\n",
|
||
|
" <td>21.15</td>\n",
|
||
|
" <td>7856752</td>\n",
|
||
|
" <td>1.653846e+08</td>\n",
|
||
|
" <td>NaN</td>\n",
|
||
|
" <td>NaN</td>\n",
|
||
|
" <td>0.004751</td>\n",
|
||
|
" </tr>\n",
|
||
|
" <tr>\n",
|
||
|
" <th>2012-01-05</th>\n",
|
||
|
" <td>21.10</td>\n",
|
||
|
" <td>22.29</td>\n",
|
||
|
" <td>20.96</td>\n",
|
||
|
" <td>22.17</td>\n",
|
||
|
" <td>17884040</td>\n",
|
||
|
" <td>3.773532e+08</td>\n",
|
||
|
" <td>NaN</td>\n",
|
||
|
" <td>NaN</td>\n",
|
||
|
" <td>0.048227</td>\n",
|
||
|
" </tr>\n",
|
||
|
" <tr>\n",
|
||
|
" <th>2012-01-06</th>\n",
|
||
|
" <td>22.26</td>\n",
|
||
|
" <td>23.03</td>\n",
|
||
|
" <td>22.24</td>\n",
|
||
|
" <td>22.92</td>\n",
|
||
|
" <td>18234608</td>\n",
|
||
|
" <td>4.059024e+08</td>\n",
|
||
|
" <td>NaN</td>\n",
|
||
|
" <td>NaN</td>\n",
|
||
|
" <td>0.033829</td>\n",
|
||
|
" </tr>\n",
|
||
|
" <tr>\n",
|
||
|
" <th>2012-01-09</th>\n",
|
||
|
" <td>23.20</td>\n",
|
||
|
" <td>23.43</td>\n",
|
||
|
" <td>22.70</td>\n",
|
||
|
" <td>22.84</td>\n",
|
||
|
" <td>12091714</td>\n",
|
||
|
" <td>2.805278e+08</td>\n",
|
||
|
" <td>NaN</td>\n",
|
||
|
" <td>NaN</td>\n",
|
||
|
" <td>-0.003490</td>\n",
|
||
|
" </tr>\n",
|
||
|
" </tbody>\n",
|
||
|
"</table>\n",
|
||
|
"</div>"
|
||
|
],
|
||
|
"text/plain": [
|
||
|
" Open High Low Close Volume Total Traded MA50 MA200 \\\n",
|
||
|
"Date \n",
|
||
|
"2012-01-03 20.83 21.18 20.75 21.05 9321420 1.941652e+08 NaN NaN \n",
|
||
|
"2012-01-04 21.05 21.37 20.75 21.15 7856752 1.653846e+08 NaN NaN \n",
|
||
|
"2012-01-05 21.10 22.29 20.96 22.17 17884040 3.773532e+08 NaN NaN \n",
|
||
|
"2012-01-06 22.26 23.03 22.24 22.92 18234608 4.059024e+08 NaN NaN \n",
|
||
|
"2012-01-09 23.20 23.43 22.70 22.84 12091714 2.805278e+08 NaN NaN \n",
|
||
|
"\n",
|
||
|
" returns \n",
|
||
|
"Date \n",
|
||
|
"2012-01-03 NaN \n",
|
||
|
"2012-01-04 0.004751 \n",
|
||
|
"2012-01-05 0.048227 \n",
|
||
|
"2012-01-06 0.033829 \n",
|
||
|
"2012-01-09 -0.003490 "
|
||
|
]
|
||
|
},
|
||
|
"execution_count": 139,
|
||
|
"metadata": {},
|
||
|
"output_type": "execute_result"
|
||
|
}
|
||
|
],
|
||
|
"source": []
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "markdown",
|
||
|
"metadata": {},
|
||
|
"source": [
|
||
|
"** Now plot a histogram of each companies returns. Either do them separately, or stack them on top of each other. Which stock is the most \"volatile\"? (as judged by the variance in the daily returns we will discuss volatility in a lot more detail in future lectures.)**"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": 141,
|
||
|
"metadata": {},
|
||
|
"outputs": [
|
||
|
{
|
||
|
"data": {
|
||
|
"text/plain": [
|
||
|
"<matplotlib.axes._subplots.AxesSubplot at 0x21466bb6f98>"
|
||
|
]
|
||
|
},
|
||
|
"execution_count": 141,
|
||
|
"metadata": {},
|
||
|
"output_type": "execute_result"
|
||
|
},
|
||
|
{
|
||
|
"data": {
|
||
|
"image/png": "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\nEMxKarwnmlt9ktbMR/R
|
||
|
"text/plain": [
|
||
|
"<matplotlib.figure.Figure at 0x214664857b8>"
|
||
|
]
|
||
|
},
|
||
|
"metadata": {},
|
||
|
"output_type": "display_data"
|
||
|
}
|
||
|
],
|
||
|
"source": []
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": 142,
|
||
|
"metadata": {},
|
||
|
"outputs": [
|
||
|
{
|
||
|
"data": {
|
||
|
"text/plain": [
|
||
|
"<matplotlib.axes._subplots.AxesSubplot at 0x21466c7e710>"
|
||
|
]
|
||
|
},
|
||
|
"execution_count": 142,
|
||
|
"metadata": {},
|
||
|
"output_type": "execute_result"
|
||
|
},
|
||
|
{
|
||
|
"data": {
|
||
|
"image/png": "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\n8BOvGrHcpzYBbNm4ykF
|
||
|
"text/plain": [
|
||
|
"<matplotlib.figure.Figure at 0x214666f4390>"
|
||
|
]
|
||
|
},
|
||
|
"metadata": {},
|
||
|
"output_type": "display_data"
|
||
|
}
|
||
|
],
|
||
|
"source": []
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": 143,
|
||
|
"metadata": {},
|
||
|
"outputs": [
|
||
|
{
|
||
|
"data": {
|
||
|
"text/plain": [
|
||
|
"<matplotlib.axes._subplots.AxesSubplot at 0x21466ea6048>"
|
||
|
]
|
||
|
},
|
||
|
"execution_count": 143,
|
||
|
"metadata": {},
|
||
|
"output_type": "execute_result"
|
||
|
},
|
||
|
{
|
||
|
"data": {
|
||
|
"image/png": "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\nX42jYP/zfdvdISbWHzO
|
||
|
"text/plain": [
|
||
|
"<matplotlib.figure.Figure at 0x21466ecbb00>"
|
||
|
]
|
||
|
},
|
||
|
"metadata": {},
|
||
|
"output_type": "display_data"
|
||
|
}
|
||
|
],
|
||
|
"source": []
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": 150,
|
||
|
"metadata": {},
|
||
|
"outputs": [
|
||
|
{
|
||
|
"data": {
|
||
|
"text/plain": [
|
||
|
"<matplotlib.legend.Legend at 0x21469288978>"
|
||
|
]
|
||
|
},
|
||
|
"execution_count": 150,
|
||
|
"metadata": {},
|
||
|
"output_type": "execute_result"
|
||
|
},
|
||
|
{
|
||
|
"data": {
|
||
|
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAloAAAHVCAYAAAApVVV6AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3X2wnVV9L/DvSghEE3kJYERShBkBJ5ILhIjRtt6El17t\ntUDnUhCrguJkLII0U8axvZ2B0XEK7Z1y6wg6qbZwR4cExZf0zlVvDEbreFHMMSMgElMd01gkvAiH\nAIkC6/6RfWJITsg5Z5919tknn8+Ms/fz7OflF1f24Zu11llPqbUGAIDxN63XBQAATFWCFgBAI4IW\nAEAjghYAQCOCFgBAI4IWAEAjghYAQCOCFgBAI4IWAEAjB/W6gCQ56qij6vHHH9/1dZ566qnMmjWr\n+4KYFLTn1KI9pxbtObVoz9FZv379I7XWo0dy7KQIWscff3y+//3vd32ddevWZcmSJd0XxKSgPacW\n7Tm1aM+pRXuOTinl5yM91tAhAEAjghYAQCOCFgBAI5NijhYAMLn95je/yZYtW7J9+/ZelzJhZs6c\nmXnz5mXGjBljvoagBQDs15YtW/Kyl70sxx9/fEopvS6nuVprHn300WzZsiUnnHDCmK9j6BAA2K/t\n27fnyCOPPCBCVpKUUnLkkUd23YMnaAEAI3KghKwh4/HnFbQAABoxRwsAGLUb12wc1+stP/ekF/38\n0Ucfzdlnn50k+eUvf5np06fn6KN3Ls7+ve99LwcffPCI7vOOd7wjF154YS644ILuCh4hQQsAmPSO\nPPLIbNiwIUly3XXXZfbs2bnmmmt6XNX+GToEAPrarbfemjPPPDOnnXZarrjiijz//PN59tln8853\nvjMLFizIKaecko997GN7nXfttdfmda97XU455ZS8733vS6113GsTtACAvnXvvffmi1/8Yr7zne9k\nw4YNefbZZ7Ny5cqsX78+jzzySO65557ce++9ede73rXXuVdffXXuvvvu3HPPPXniiSfy1a9+ddzr\nE7QAgL719a9/PXfffXcWLVqU0047Ld/85jfzb//2b3n1q1+dBx54IB/4wAfyta99LYcddthe565d\nuzZnnnlmTj311Hzzm9/MfffdN+71maMFAPStWmve85735CMf+chen/3whz/MV77yldx000254447\nsmLFil2fPf3007nyyiszMDCQY489Nn/913/dZNV7PVoAQN8655xzcvvtt+eRRx5JsvO3Ezdv3pyH\nH344tdb8yZ/8ST784Q9nYGDgBec988wzmTZtWo466qg8+eSTueOOO5rUp0cLABi1/S3HMFEWLFiQ\na6+9Nuecc06ef/75zJgxI5/85Cczffr0XH755am1ppSSG2644QXnHXnkkbn00kszf/78HHPMMXn9\n61/fpD5BCwDoK9ddd90Ltt/+9rfn7W9/+17H/eAHP9hr32c+85ld76+//vpcf/31417f7gwdAgA0\nImgBADRi6BAYV8M9lmOyzOUAmGh6tAAAGhG0AAAaMXQINHfjmo05dvuOFwwrGk4EDgSCFgAwet/4\nm/G93tK/3O8hDz30UJYvX5677rorRxxxRA4++OB88IMfzBFHHJGlS5fmH//xH/Pe9743SbJhw4ac\nfvrp+bu/+7tcc80141vrKBg6BAAmvVprLrjggrzpTW/KT3/606xfvz4rV67Mli1bkiSnnHJKbr/9\n9l3H33bbbTn11FN7Ve4ughYAMOndeeedOfjgg/O+971v175XvepVueqqq3a93759ex566KHUWvPV\nr341b3nLW3pV7i6GDgGASe++++7LwoULX/SYCy+8MJ/73Ody+umnZ+HChTnkkEMmqLp906MFAPSd\n97///Tn11FPzute9bte+iy66KJ/73Ody22235ZJLLulhdb8laAEAk95rX/vaDAwM7Nq+6aabsnbt\n2jz88MO79r3iFa/IjBkzsmbNmpx99tm9KHMvghYAMOmdddZZ2b59ez7xiU/s2vf000/vddyHP/zh\n3HDDDZk+ffpElrdP5mgBAKM3guUYxlMpJV/60peyfPny/O3f/m2OPvrozJo1KzfccMMLjnvjG984\noXXtj6AFAPSFY445JitXrhz2syVLluy177rrrmtb0AgYOgQAaETQAgBoRNACAGhE0AIAaETQAgBo\nRNACAGjE8g4AwKjdvOHmcb3eFaddsd9jpk+fngULFuza/tKXvpTjjz9+TPe77LLL8ta3vjUXXnjh\nmM4fKUELAOgLL3nJS7Jhw4ZRn/fss8/moIN6E3kMHQIAfWv79u1597vfnQULFuT000/PN77xjSTJ\nLbfckvPOOy9nnXVWzj777NRac+WVV+bkk0/OOeeck61bt05IfXq0AIC+8Mwzz+S0005Lkpxwwgn5\n4he/mJtuuimllNxzzz358Y9/nD/4gz/Ixo0bkyQDAwP54Q9/mDlz5uQLX/hCHnjggfzoRz/KQw89\nlPnz5+c973lP85oFLQCgLww3dPjtb387V111VZLkNa95TV71qlftClrnnntu5syZkyT51re+lUsu\nuSTTp0/PK1/5ypx11lkTUrOhQwBgSpo1a1avSxC0AID+9fu///v57Gc/myTZuHFjNm/enJNPPnmv\n4970pjdl1apVee655/Lggw/umsvVmqFDAGDURrIcw0S44oor8md/9mdZsGBBDjrooNxyyy055JBD\n9jruj//4j3PnnXdm/vz5Oe644/KGN7xhQuoTtACAvrBt27a99s2cOTP//M//vNf+yy67LJdddtmu\n7VJKPv7xj7csb1iGDgEAGhG0AAAaEbQAgBGptfa6hAk1Hn9eQQsA2K+ZM2fm0UcfPWDCVq01jz76\naGbOnNnVdUyGBwD2a968edmyZUsefvjhXpcyYWbOnJl58+Z1dQ1BCwDYrxkzZuSEE07odRl9x9Ah\nAEAjghYAQCOCFgBAI4IWAEAjghYAQCOCFgBAI4IWAEAj+w1apZR/KqVsLaXcu9u+OaWUNaWUn3Re\nj9jts78spWwqpTxQSvkvrQoHAJjsRtKjdUuSN++x70NJ1tZaT0yytrOdUsr8JG9L8trOOTeXUqaP\nW7UAAH1kv0Gr1vqtJI/tsfv8JLd23t+a5ILd9q+ste6otf4syaYkZ45TrQAAfWWsj+CZW2t9sPP+\nl0nmdt4fm+Su3Y7b0tm3l1LKsiTLkmTu3LlZt27dGEv5rW3bto3LdZgctGd/Onb7jmH3z3h+R47d\n/rNd2+vW/cdElUQDvp9Ti/Zsp+tnHdZaayll1I/yrrWuSLIiSRYtWlSXLFnSbSlZt25dxuM6TA7a\nsz/duGbjsPuP3f6z/GLmb5+TdtGSkyaqJBrw/ZxatGc7Y/2tw4dKKcckSed1a2f/L5L8zm7Hzevs\nAwA44Iw1aK1Ocmnn/aVJvrzb/reVUg4ppZyQ5MQk3+uuRACA/rTfocNSym1JliQ5qpSyJcm1Sa5P\ncnsp5fIkP09yUZLUWu8rpdye5EdJnk3y/lrrc41qBwCY1PYbtGqtl+zjo7P3cfxHk3y0m6IAAKYC\nK8MDADQiaAEANCJoAQA0ImgBADQiaAEANCJoAQA0ImgBADQiaAEANCJoAQA0ImgBADQiaAEANCJo\nAQA0ImgBADQiaAEANCJoAQA0ImgBADQiaAEANCJoAQA0ImgBADQiaAEANCJoAQA0ImgBADQiaAEA\nNCJoAQA0ImgBADQiaAEANCJoAQA0ImgBzQwMrsrA4KpelwHQM4IWAEAjghYAQCOCFgBAI4IWAEAj\nghYAQCOCFgBAI4IWAEAjB/W6AKB/3bhmY69LAJjU9GgBADQiaAEANCJoAQA0ImgBADQiaAEANCJo\nAQA0ImgBADQiaAEANCJoAQA0ImgBADQiaAEANCJoAQA0ImgBADRyUK8LABhy45qNe+1bfu5JPagE\nYHzo0QIAaETQAgBoRNACAGjEHC2gJ4abjwUw1ejRAgBoRNACAGhE0AIAaETQAgBoRNACAGhE0AIA\naETQAgBoRNACAGhE0AI
|
||
|
"text/plain": [
|
||
|
"<matplotlib.figure.Figure at 0x21469288c50>"
|
||
|
]
|
||
|
},
|
||
|
"metadata": {},
|
||
|
"output_type": "display_data"
|
||
|
}
|
||
|
],
|
||
|
"source": []
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "markdown",
|
||
|
"metadata": {},
|
||
|
"source": [
|
||
|
"** Try also plotting a KDE instead of histograms for another view point. Which stock has the widest plot? **"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": 156,
|
||
|
"metadata": {},
|
||
|
"outputs": [
|
||
|
{
|
||
|
"data": {
|
||
|
"text/plain": [
|
||
|
"<matplotlib.legend.Legend at 0x2146a1dde10>"
|
||
|
]
|
||
|
},
|
||
|
"execution_count": 156,
|
||
|
"metadata": {},
|
||
|
"output_type": "execute_result"
|
||
|
},
|
||
|
{
|
||
|
"data": {
|
||
|
"image/png": "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\n0eqJFhE3VVdX09/ff1E
|
||
|
"text/plain": [
|
||
|
"<matplotlib.figure.Figure at 0x214668b6e48>"
|
||
|
]
|
||
|
},
|
||
|
"metadata": {},
|
||
|
"output_type": "display_data"
|
||
|
}
|
||
|
],
|
||
|
"source": []
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "markdown",
|
||
|
"metadata": {},
|
||
|
"source": [
|
||
|
"** Try also creating some box plots comparing the returns. **"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": 205,
|
||
|
"metadata": {},
|
||
|
"outputs": [
|
||
|
{
|
||
|
"data": {
|
||
|
"text/plain": [
|
||
|
"<matplotlib.axes._subplots.AxesSubplot at 0x2146e738da0>"
|
||
|
]
|
||
|
},
|
||
|
"execution_count": 205,
|
||
|
"metadata": {},
|
||
|
"output_type": "execute_result"
|
||
|
},
|
||
|
{
|
||
|
"data": {
|
||
|
"image/png": "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\nEHQ501Ymk9HWrVu1YME
|
||
|
"text/plain": [
|
||
|
"<matplotlib.figure.Figure at 0x2146e843630>"
|
||
|
]
|
||
|
},
|
||
|
"metadata": {},
|
||
|
"output_type": "display_data"
|
||
|
}
|
||
|
],
|
||
|
"source": []
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "markdown",
|
||
|
"metadata": {},
|
||
|
"source": [
|
||
|
"## Comparing Daily Returns between Stocks\n",
|
||
|
"\n",
|
||
|
"** Create a scatter matrix plot to see the correlation between each of the stocks daily returns. This helps answer the questions of how related the car companies are. Is Tesla begin treated more as a technology company rather than a car company by the market?**"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": 219,
|
||
|
"metadata": {},
|
||
|
"outputs": [
|
||
|
{
|
||
|
"data": {
|
||
|
"image/png": "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\nsFhOCINZSd1oxrImryR
|
||
|
"text/plain": [
|
||
|
"<matplotlib.figure.Figure at 0x2146ea55c50>"
|
||
|
]
|
||
|
},
|
||
|
"metadata": {},
|
||
|
"output_type": "display_data"
|
||
|
}
|
||
|
],
|
||
|
"source": []
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "markdown",
|
||
|
"metadata": {},
|
||
|
"source": [
|
||
|
"** It looks like Ford and GM do have some sort of possible relationship, let's plot just these two against eachother in scatter plot to view this more closely!**"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": 229,
|
||
|
"metadata": {},
|
||
|
"outputs": [
|
||
|
{
|
||
|
"data": {
|
||
|
"text/plain": [
|
||
|
"<matplotlib.axes._subplots.AxesSubplot at 0x21470b00128>"
|
||
|
]
|
||
|
},
|
||
|
"execution_count": 229,
|
||
|
"metadata": {},
|
||
|
"output_type": "execute_result"
|
||
|
},
|
||
|
{
|
||
|
"data": {
|
||
|
"image/png": "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\nNuOcw7W00eFbiI0iQU8
|
||
|
"text/plain": [
|
||
|
"<matplotlib.figure.Figure at 0x21470a506a0>"
|
||
|
]
|
||
|
},
|
||
|
"metadata": {},
|
||
|
"output_type": "display_data"
|
||
|
}
|
||
|
],
|
||
|
"source": []
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "markdown",
|
||
|
"metadata": {},
|
||
|
"source": [
|
||
|
"____\n",
|
||
|
"## Cumulative Daily Returns\n",
|
||
|
"\n",
|
||
|
"Great! Now we can see which stock was the most wide ranging in daily returns (you should have realized it was Tesla, our original stock price plot should have also made that obvious).\n",
|
||
|
"\n",
|
||
|
"With daily cumulative returns, the question we are trying to answer is the following, if I invested $1 in the company at the beginning of the time series, how much would is be worth today? This is different than just the stock price at the current day, because it will take into account the daily returns. Keep in mind, our simple calculation here won't take into account stocks that give back a dividend. Let's look at some simple examples:"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "markdown",
|
||
|
"metadata": {},
|
||
|
"source": [
|
||
|
"Lets us say there is a stock 'ABC' that is being actively traded on an exchange. ABC has the following prices corresponding to the dates given"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "markdown",
|
||
|
"metadata": {},
|
||
|
"source": [
|
||
|
" Date Price\n",
|
||
|
" 01/01/2018 10\n",
|
||
|
" 01/02/2018 15\n",
|
||
|
" 01/03/2018 20\n",
|
||
|
" 01/04/2018 25"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "markdown",
|
||
|
"metadata": {},
|
||
|
"source": [
|
||
|
"**Daily Return** : Daily return is the profit/loss made by the stock compared to the previous day. (This is what ew just calculated above). A value above one indicates profit, similarly a value below one indicates loss. It is also expressed in percentage to convey the information better. (When expressed as percentage, if the value is above 0, the stock had give you profit else loss). So for the above example the daily returns would be"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "markdown",
|
||
|
"metadata": {},
|
||
|
"source": [
|
||
|
" Date Daily Return %Daily Return\n",
|
||
|
" 01/01/2018 10/10 = 1 - \n",
|
||
|
" 01/02/2018 15/10 = 3/2 50%\n",
|
||
|
" 01/03/2018 20/15 = 4/3 33%\n",
|
||
|
" 01/04/2018 25/20 = 5/4 20%"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "markdown",
|
||
|
"metadata": {},
|
||
|
"source": [
|
||
|
"**Cumulative Return**: While daily returns are useful, it doesn't give the investor a immediate insight into the gains he had made till date, especially if the stock is very volatile. Cumulative return is computed relative to the day investment is made. If cumulative return is above one, you are making profits else you are in loss. So for the above example cumulative gains are as follows"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "markdown",
|
||
|
"metadata": {},
|
||
|
"source": [
|
||
|
" Date Cumulative Return %Cumulative Return\n",
|
||
|
" 01/01/2018 10/10 = 1 100 % \n",
|
||
|
" 01/02/2018 15/10 = 3/2 150 %\n",
|
||
|
" 01/03/2018 20/10 = 2 200 %\n",
|
||
|
" 01/04/2018 25/10 = 5/2 250 %"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "markdown",
|
||
|
"metadata": {},
|
||
|
"source": [
|
||
|
"The formula for a cumulative daily return is:\n",
|
||
|
"\n",
|
||
|
"$ i_i = (1+r_t) * i_{t-1} $\n",
|
||
|
"\n",
|
||
|
"Here we can see we are just multiplying our previous investment at i at t-1 by 1+our percent returns. Pandas makes this very simple to calculate with its cumprod() method. Using something in the following manner:\n",
|
||
|
"\n",
|
||
|
" df[daily_cumulative_return] = ( 1 + df[pct_daily_return] ).cumprod()\n",
|
||
|
" "
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "markdown",
|
||
|
"metadata": {},
|
||
|
"source": [
|
||
|
"** Create a cumulative daily return column for each car company's dataframe.**"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": 179,
|
||
|
"metadata": {
|
||
|
"collapsed": true
|
||
|
},
|
||
|
"outputs": [],
|
||
|
"source": []
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": 181,
|
||
|
"metadata": {},
|
||
|
"outputs": [
|
||
|
{
|
||
|
"data": {
|
||
|
"text/html": [
|
||
|
"<div>\n",
|
||
|
"<style>\n",
|
||
|
" .dataframe thead tr:only-child th {\n",
|
||
|
" text-align: right;\n",
|
||
|
" }\n",
|
||
|
"\n",
|
||
|
" .dataframe thead th {\n",
|
||
|
" text-align: left;\n",
|
||
|
" }\n",
|
||
|
"\n",
|
||
|
" .dataframe tbody tr th {\n",
|
||
|
" vertical-align: top;\n",
|
||
|
" }\n",
|
||
|
"</style>\n",
|
||
|
"<table border=\"1\" class=\"dataframe\">\n",
|
||
|
" <thead>\n",
|
||
|
" <tr style=\"text-align: right;\">\n",
|
||
|
" <th></th>\n",
|
||
|
" <th>Open</th>\n",
|
||
|
" <th>High</th>\n",
|
||
|
" <th>Low</th>\n",
|
||
|
" <th>Close</th>\n",
|
||
|
" <th>Volume</th>\n",
|
||
|
" <th>Total Traded</th>\n",
|
||
|
" <th>returns</th>\n",
|
||
|
" <th>Cumulative Return</th>\n",
|
||
|
" </tr>\n",
|
||
|
" <tr>\n",
|
||
|
" <th>Date</th>\n",
|
||
|
" <th></th>\n",
|
||
|
" <th></th>\n",
|
||
|
" <th></th>\n",
|
||
|
" <th></th>\n",
|
||
|
" <th></th>\n",
|
||
|
" <th></th>\n",
|
||
|
" <th></th>\n",
|
||
|
" <th></th>\n",
|
||
|
" </tr>\n",
|
||
|
" </thead>\n",
|
||
|
" <tbody>\n",
|
||
|
" <tr>\n",
|
||
|
" <th>2012-01-03</th>\n",
|
||
|
" <td>28.94</td>\n",
|
||
|
" <td>29.50</td>\n",
|
||
|
" <td>27.65</td>\n",
|
||
|
" <td>28.08</td>\n",
|
||
|
" <td>928052</td>\n",
|
||
|
" <td>26857824.88</td>\n",
|
||
|
" <td>NaN</td>\n",
|
||
|
" <td>NaN</td>\n",
|
||
|
" </tr>\n",
|
||
|
" <tr>\n",
|
||
|
" <th>2012-01-04</th>\n",
|
||
|
" <td>28.21</td>\n",
|
||
|
" <td>28.67</td>\n",
|
||
|
" <td>27.50</td>\n",
|
||
|
" <td>27.71</td>\n",
|
||
|
" <td>630036</td>\n",
|
||
|
" <td>17773315.56</td>\n",
|
||
|
" <td>-0.013177</td>\n",
|
||
|
" <td>0.986823</td>\n",
|
||
|
" </tr>\n",
|
||
|
" <tr>\n",
|
||
|
" <th>2012-01-05</th>\n",
|
||
|
" <td>27.76</td>\n",
|
||
|
" <td>27.93</td>\n",
|
||
|
" <td>26.85</td>\n",
|
||
|
" <td>27.12</td>\n",
|
||
|
" <td>1005432</td>\n",
|
||
|
" <td>27910792.32</td>\n",
|
||
|
" <td>-0.021292</td>\n",
|
||
|
" <td>0.965812</td>\n",
|
||
|
" </tr>\n",
|
||
|
" <tr>\n",
|
||
|
" <th>2012-01-06</th>\n",
|
||
|
" <td>27.20</td>\n",
|
||
|
" <td>27.79</td>\n",
|
||
|
" <td>26.41</td>\n",
|
||
|
" <td>26.89</td>\n",
|
||
|
" <td>687081</td>\n",
|
||
|
" <td>18688603.20</td>\n",
|
||
|
" <td>-0.008481</td>\n",
|
||
|
" <td>0.957621</td>\n",
|
||
|
" </tr>\n",
|
||
|
" <tr>\n",
|
||
|
" <th>2012-01-09</th>\n",
|
||
|
" <td>27.00</td>\n",
|
||
|
" <td>27.49</td>\n",
|
||
|
" <td>26.12</td>\n",
|
||
|
" <td>27.25</td>\n",
|
||
|
" <td>896951</td>\n",
|
||
|
" <td>24217677.00</td>\n",
|
||
|
" <td>0.013388</td>\n",
|
||
|
" <td>0.970442</td>\n",
|
||
|
" </tr>\n",
|
||
|
" </tbody>\n",
|
||
|
"</table>\n",
|
||
|
"</div>"
|
||
|
],
|
||
|
"text/plain": [
|
||
|
" Open High Low Close Volume Total Traded returns \\\n",
|
||
|
"Date \n",
|
||
|
"2012-01-03 28.94 29.50 27.65 28.08 928052 26857824.88 NaN \n",
|
||
|
"2012-01-04 28.21 28.67 27.50 27.71 630036 17773315.56 -0.013177 \n",
|
||
|
"2012-01-05 27.76 27.93 26.85 27.12 1005432 27910792.32 -0.021292 \n",
|
||
|
"2012-01-06 27.20 27.79 26.41 26.89 687081 18688603.20 -0.008481 \n",
|
||
|
"2012-01-09 27.00 27.49 26.12 27.25 896951 24217677.00 0.013388 \n",
|
||
|
"\n",
|
||
|
" Cumulative Return \n",
|
||
|
"Date \n",
|
||
|
"2012-01-03 NaN \n",
|
||
|
"2012-01-04 0.986823 \n",
|
||
|
"2012-01-05 0.965812 \n",
|
||
|
"2012-01-06 0.957621 \n",
|
||
|
"2012-01-09 0.970442 "
|
||
|
]
|
||
|
},
|
||
|
"execution_count": 181,
|
||
|
"metadata": {},
|
||
|
"output_type": "execute_result"
|
||
|
}
|
||
|
],
|
||
|
"source": []
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": 182,
|
||
|
"metadata": {
|
||
|
"collapsed": true
|
||
|
},
|
||
|
"outputs": [],
|
||
|
"source": []
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "markdown",
|
||
|
"metadata": {},
|
||
|
"source": [
|
||
|
"** Now plot the Cumulative Return columns against the time series index. Which stock showed the highest return for a $1 invested? Which showed the lowest?**"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": 183,
|
||
|
"metadata": {},
|
||
|
"outputs": [
|
||
|
{
|
||
|
"data": {
|
||
|
"text/plain": [
|
||
|
"<matplotlib.legend.Legend at 0x2146b9c26d8>"
|
||
|
]
|
||
|
},
|
||
|
"execution_count": 183,
|
||
|
"metadata": {},
|
||
|
"output_type": "execute_result"
|
||
|
},
|
||
|
{
|
||
|
"data": {
|
||
|
"image/png": "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\nQoODzYYOD4BoKTjRpPb
|
||
|
"text/plain": [
|
||
|
"<matplotlib.figure.Figure at 0x2146b9b1e10>"
|
||
|
]
|
||
|
},
|
||
|
"metadata": {},
|
||
|
"output_type": "display_data"
|
||
|
}
|
||
|
],
|
||
|
"source": []
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "markdown",
|
||
|
"metadata": {},
|
||
|
"source": [
|
||
|
"# Great Job!\n",
|
||
|
"\n",
|
||
|
"That is it for thsi very basic analysis, this concludes this half of the course, which focuses much more on learning the tools of the trade. The second half of the course is where we really dive into functionality designed for time series, quantitative analysis, algorithmic trading, and much more!"
|
||
|
]
|
||
|
}
|
||
|
],
|
||
|
"metadata": {
|
||
|
"anaconda-cloud": {},
|
||
|
"kernelspec": {
|
||
|
"display_name": "Python 3",
|
||
|
"language": "python",
|
||
|
"name": "python3"
|
||
|
},
|
||
|
"language_info": {
|
||
|
"codemirror_mode": {
|
||
|
"name": "ipython",
|
||
|
"version": 3
|
||
|
},
|
||
|
"file_extension": ".py",
|
||
|
"mimetype": "text/x-python",
|
||
|
"name": "python",
|
||
|
"nbconvert_exporter": "python",
|
||
|
"pygments_lexer": "ipython3",
|
||
|
"version": "3.6.1"
|
||
|
}
|
||
|
},
|
||
|
"nbformat": 4,
|
||
|
"nbformat_minor": 1
|
||
|
}
|