4. Historical Stock Prices Data Set¶
from datascience import *
import numpy as np
%matplotlib inline
import matplotlib.pyplot as plots
plots.style.use('fivethirtyeight')
Warning!! Do not execute code block below unless you have a good bandwidth connection and are prepared to wait 60+ seconds.¶
The file stocks.csv
includes thousands of historical stock prices from 1970 to 2018. The file is 2GB of data which, given time, Python can read into this notebook. I have created some subsets of the table, however, which you may want to work with first before downloading the big daddy table.
#stocks = Table.read_table('http://faculty.ung.edu/rsinn/stocks.csv')
### The following subsets are much smaller files
microsoft = Table.read_table('http://faculty.ung.edu/rsinn/msft.csv')
microsoft
ticker | open | close | adj_close | low | high | volume | date |
---|---|---|---|---|---|---|---|
MSFT | 0.0885417 | 0.0972222 | 0.0708597 | 0.0885417 | 0.101562 | 1031788800 | 1986-03-13 |
MSFT | 0.0972222 | 0.100694 | 0.0733905 | 0.0972222 | 0.102431 | 308160000 | 1986-03-14 |
MSFT | 0.100694 | 0.102431 | 0.0746558 | 0.100694 | 0.103299 | 133171200 | 1986-03-17 |
MSFT | 0.102431 | 0.0998264 | 0.0727578 | 0.0989583 | 0.103299 | 67766400 | 1986-03-18 |
MSFT | 0.0998264 | 0.0980903 | 0.0714925 | 0.0972222 | 0.100694 | 47894400 | 1986-03-19 |
MSFT | 0.0980903 | 0.0954861 | 0.0695944 | 0.0946181 | 0.0980903 | 58435200 | 1986-03-20 |
MSFT | 0.0954861 | 0.0928819 | 0.0676964 | 0.0911458 | 0.0972222 | 59990400 | 1986-03-21 |
MSFT | 0.0928819 | 0.0902778 | 0.0657983 | 0.0894097 | 0.0928819 | 65289600 | 1986-03-24 |
MSFT | 0.0902778 | 0.0920139 | 0.0670637 | 0.0894097 | 0.0920139 | 32083200 | 1986-03-25 |
MSFT | 0.0920139 | 0.0946181 | 0.0689617 | 0.0911458 | 0.0954861 | 22752000 | 1986-03-26 |
... (8172 rows omitted)
To create a CSV file from a table and store in current directory¶
# microsoft.to_csv('msft.csv')
faang = Table.read_table('http://faculty.ung.edu/rsinn/faang.csv')
faang
ticker | open | close | adj_close | low | high | volume | date |
---|---|---|---|---|---|---|---|
AAPL | 0.513393 | 0.513393 | 0.0231864 | 0.513393 | 0.515625 | 117258400 | 1980-12-12 |
AAPL | 0.488839 | 0.486607 | 0.0219766 | 0.486607 | 0.488839 | 43971200 | 1980-12-15 |
AAPL | 0.453125 | 0.450893 | 0.0203637 | 0.450893 | 0.453125 | 26432000 | 1980-12-16 |
AAPL | 0.462054 | 0.462054 | 0.0208677 | 0.462054 | 0.464286 | 21610400 | 1980-12-17 |
AAPL | 0.475446 | 0.475446 | 0.0214726 | 0.475446 | 0.477679 | 18362400 | 1980-12-18 |
AAPL | 0.504464 | 0.504464 | 0.0227831 | 0.504464 | 0.506696 | 12157600 | 1980-12-19 |
AAPL | 0.529018 | 0.529018 | 0.023892 | 0.529018 | 0.53125 | 9340800 | 1980-12-22 |
AAPL | 0.551339 | 0.551339 | 0.0249001 | 0.551339 | 0.553571 | 11737600 | 1980-12-23 |
AAPL | 0.580357 | 0.580357 | 0.0262107 | 0.580357 | 0.582589 | 12000800 | 1980-12-24 |
AAPL | 0.633929 | 0.633929 | 0.0286301 | 0.633929 | 0.636161 | 13893600 | 1980-12-26 |
... (24055 rows omitted)
facebook = faang.where('ticker','FB')
apple = faang.where('ticker','AAPL')
amazon = faang.where('ticker','AMZN')
netflix = faang.where('ticker','NFLX')
google = faang.where('ticker','GOOGL')
facebook
ticker | open | close | adj_close | low | high | volume | date |
---|---|---|---|---|---|---|---|
FB | 42.05 | 38.23 | 38.23 | 38 | 45 | 573576400 | 2012-05-18 |
FB | 36.53 | 34.03 | 34.03 | 33 | 36.66 | 168192700 | 2012-05-21 |
FB | 32.61 | 31 | 31 | 30.94 | 33.59 | 101786600 | 2012-05-22 |
FB | 31.37 | 32 | 32 | 31.36 | 32.5 | 73600000 | 2012-05-23 |
FB | 32.95 | 33.03 | 33.03 | 31.77 | 33.21 | 50237200 | 2012-05-24 |
FB | 32.9 | 31.91 | 31.91 | 31.11 | 32.95 | 37149800 | 2012-05-25 |
FB | 31.48 | 28.84 | 28.84 | 28.65 | 31.69 | 78063400 | 2012-05-29 |
FB | 28.7 | 28.19 | 28.19 | 27.86 | 29.55 | 57267900 | 2012-05-30 |
FB | 28.55 | 29.6 | 29.6 | 26.83 | 29.67 | 111639200 | 2012-05-31 |
FB | 28.89 | 27.72 | 27.72 | 27.39 | 29.15 | 41855500 | 2012-06-01 |
... (1568 rows omitted)
apple
ticker | open | close | adj_close | low | high | volume | date |
---|---|---|---|---|---|---|---|
AAPL | 0.513393 | 0.513393 | 0.0231864 | 0.513393 | 0.515625 | 117258400 | 1980-12-12 |
AAPL | 0.488839 | 0.486607 | 0.0219766 | 0.486607 | 0.488839 | 43971200 | 1980-12-15 |
AAPL | 0.453125 | 0.450893 | 0.0203637 | 0.450893 | 0.453125 | 26432000 | 1980-12-16 |
AAPL | 0.462054 | 0.462054 | 0.0208677 | 0.462054 | 0.464286 | 21610400 | 1980-12-17 |
AAPL | 0.475446 | 0.475446 | 0.0214726 | 0.475446 | 0.477679 | 18362400 | 1980-12-18 |
AAPL | 0.504464 | 0.504464 | 0.0227831 | 0.504464 | 0.506696 | 12157600 | 1980-12-19 |
AAPL | 0.529018 | 0.529018 | 0.023892 | 0.529018 | 0.53125 | 9340800 | 1980-12-22 |
AAPL | 0.551339 | 0.551339 | 0.0249001 | 0.551339 | 0.553571 | 11737600 | 1980-12-23 |
AAPL | 0.580357 | 0.580357 | 0.0262107 | 0.580357 | 0.582589 | 12000800 | 1980-12-24 |
AAPL | 0.633929 | 0.633929 | 0.0286301 | 0.633929 | 0.636161 | 13893600 | 1980-12-26 |
... (9497 rows omitted)
amazon
ticker | open | close | adj_close | low | high | volume | date |
---|---|---|---|---|---|---|---|
AMZN | 2.4375 | 1.95833 | 1.95833 | 1.92708 | 2.5 | 72156000 | 1997-05-15 |
AMZN | 1.96875 | 1.72917 | 1.72917 | 1.70833 | 1.97917 | 14700000 | 1997-05-16 |
AMZN | 1.76042 | 1.70833 | 1.70833 | 1.625 | 1.77083 | 6106800 | 1997-05-19 |
AMZN | 1.72917 | 1.63542 | 1.63542 | 1.63542 | 1.75 | 5467200 | 1997-05-20 |
AMZN | 1.63542 | 1.42708 | 1.42708 | 1.375 | 1.64583 | 18853200 | 1997-05-21 |
AMZN | 1.4375 | 1.39583 | 1.39583 | 1.3125 | 1.44792 | 11776800 | 1997-05-22 |
AMZN | 1.40625 | 1.5 | 1.5 | 1.33333 | 1.52083 | 15937200 | 1997-05-23 |
AMZN | 1.51042 | 1.58333 | 1.58333 | 1.45833 | 1.64583 | 8697600 | 1997-05-27 |
AMZN | 1.625 | 1.53125 | 1.53125 | 1.53125 | 1.63542 | 4574400 | 1997-05-28 |
AMZN | 1.54167 | 1.50521 | 1.50521 | 1.47917 | 1.54167 | 3472800 | 1997-05-29 |
... (5346 rows omitted)
netflix
ticker | open | close | adj_close | low | high | volume | date |
---|---|---|---|---|---|---|---|
NFLX | 1.15643 | 1.19643 | 1.19643 | 1.14571 | 1.24286 | 104790000 | 2002-05-23 |
NFLX | 1.21429 | 1.21 | 1.21 | 1.19714 | 1.225 | 11104800 | 2002-05-24 |
NFLX | 1.21357 | 1.15714 | 1.15714 | 1.15714 | 1.23214 | 6609400 | 2002-05-28 |
NFLX | 1.16429 | 1.10357 | 1.10357 | 1.08571 | 1.16429 | 6757800 | 2002-05-29 |
NFLX | 1.10786 | 1.07143 | 1.07143 | 1.07143 | 1.10786 | 10154200 | 2002-05-30 |
NFLX | 1.07857 | 1.07643 | 1.07643 | 1.07143 | 1.07857 | 8464400 | 2002-05-31 |
NFLX | 1.08 | 1.12857 | 1.12857 | 1.07643 | 1.14929 | 3151400 | 2002-06-03 |
NFLX | 1.13571 | 1.11786 | 1.11786 | 1.11071 | 1.14 | 3105200 | 2002-06-04 |
NFLX | 1.11071 | 1.14714 | 1.14714 | 1.10714 | 1.15929 | 1531600 | 2002-06-05 |
NFLX | 1.15 | 1.18214 | 1.18214 | 1.14857 | 1.23214 | 2305800 | 2002-06-06 |
... (4084 rows omitted)
google
ticker | open | close | adj_close | low | high | volume | date |
---|---|---|---|---|---|---|---|
GOOGL | 50.05 | 50.2202 | 50.2202 | 48.028 | 52.0821 | 44659000 | 2004-08-19 |
GOOGL | 50.5556 | 54.2092 | 54.2092 | 50.3003 | 54.5946 | 22834300 | 2004-08-20 |
GOOGL | 55.4304 | 54.7548 | 54.7548 | 54.5796 | 56.7968 | 18256100 | 2004-08-23 |
GOOGL | 55.6757 | 52.4875 | 52.4875 | 51.8368 | 55.8559 | 15247300 | 2004-08-24 |
GOOGL | 52.5325 | 53.0531 | 53.0531 | 51.992 | 54.0541 | 9188600 | 2004-08-25 |
GOOGL | 52.5275 | 54.009 | 54.009 | 52.3824 | 54.029 | 7094800 | 2004-08-26 |
GOOGL | 54.1041 | 53.1281 | 53.1281 | 52.8979 | 54.3644 | 6211700 | 2004-08-27 |
GOOGL | 52.6927 | 51.0561 | 51.0561 | 51.0561 | 52.7978 | 5196700 | 2004-08-30 |
GOOGL | 51.2012 | 51.2362 | 51.2362 | 51.1311 | 51.9069 | 4917800 | 2004-08-31 |
GOOGL | 51.4014 | 50.1752 | 50.1752 | 49.8849 | 51.5365 | 9138200 | 2004-09-01 |
... (3520 rows omitted)
faang.sort('date', descending = True)
ticker | open | close | adj_close | low | high | volume | date |
---|---|---|---|---|---|---|---|
AAPL | 216.6 | 216.16 | 216.16 | 215.11 | 216.9 | 18469900 | 2018-08-24 |
AMZN | 1910.51 | 1905.39 | 1905.39 | 1902.54 | 1916.01 | 2792600 | 2018-08-24 |
NFLX | 346 | 358.82 | 358.82 | 344.54 | 359.15 | 14711000 | 2018-08-24 |
GOOGL | 1226 | 1236.75 | 1236.75 | 1221.42 | 1237.4 | 1222000 | 2018-08-24 |
FB | 173.7 | 174.65 | 174.65 | 172.92 | 174.82 | 14617600 | 2018-08-24 |
AAPL | 214.65 | 215.49 | 215.49 | 214.6 | 217.05 | 18883200 | 2018-08-23 |
AMZN | 1907.17 | 1902.9 | 1902.9 | 1900.76 | 1919.5 | 3563000 | 2018-08-23 |
NFLX | 348.11 | 339.17 | 339.17 | 337.65 | 350.08 | 11336400 | 2018-08-23 |
GOOGL | 1219.88 | 1221.16 | 1221.16 | 1219.35 | 1235.17 | 1233300 | 2018-08-23 |
FB | 173.09 | 172.9 | 172.9 | 172.83 | 175.55 | 18053600 | 2018-08-23 |
... (24055 rows omitted)
To create a CSV file from a table and store in current directory¶
# faang.to_csv('faang.csv')