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')