library(dplyr)
Section-1 Summary Statistics
§ 1.1 Our five datasets all have the same number of observations. How many observations are there in each data set?
IBM = read.csv("data/IBMStock.csv")
GE = read.csv("data/GEStock.csv")
PG = read.csv("data/ProcterGambleStock.csv")
CK = read.csv("data/CocaColaStock.csv")
BE = read.csv("data/BoeingStock.csv")
IBM$Date = as.Date(IBM$Date, "%m/%d/%y")
GE$Date = as.Date(GE$Date, "%m/%d/%y")
CK$Date = as.Date(CK$Date, "%m/%d/%y")
PG$Date = as.Date(PG$Date, "%m/%d/%y")
BE$Date = as.Date(BE$Date, "%m/%d/%y")
str(IBM)
'data.frame': 480 obs. of 2 variables:
$ Date : Date, format: "1970-01-01" "1970-02-01" ...
$ StockPrice: num 360 347 327 320 270 ...
nrow(IBM)
[1] 480
§ 1.2 What is the earliest year in our datasets?
min(IBM$Date)
[1] "1970-01-01"
§ 1.3 What is the latest year in our datasets?
max(IBM$Date)
[1] "2009-12-01"
§ 1.4 What is the mean stock price of IBM over this time period?
mean(IBM$StockPrice)
[1] 144.38
§ 1.5 What is the minimum stock price of General Electric (GE) over this time period?
min(GE$StockPrice)
[1] 9.2936
§ 1.6 What is the maximum stock price of Coca-Cola over this time period?
max(CK$StockPrice)
[1] 146.58
§ 1.7 What is the median stock price of Boeing over this time period?
median(BE$StockPrice)
[1] 44.883
§ 1.8 What is the standard deviation of the stock price of Procter & Gamble over this time period?
sd(PG$StockPrice)
[1] 18.194
Section-2 Visualizing Stock Dynamics
§ 2.1 Around what year did Coca-Cola has its highest stock price in this time period? Around what year did Coca-Cola has its lowest stock price in this time period?
plot(CK$Date, CK$StockPrice, type='l') # 1973 1980
abline(v=CK$Date[which.max(CK$StockPrice)], col='green')
abline(v=CK$Date[which.min(CK$StockPrice)], col='red')

§ 2.2 In March of 2000, the technology bubble burst, and a stock market crash occurred. According to this plot, which company’s stock dropped more?
plot(CK$Date, CK$StockPrice, type='l', col='blue', lwd=2)
lines(PG$Date, PG$StockPrice, col="green", lwd=2)
abline(v = as.Date("2000-03-01"), lty=3, col='orange')
abline(v = as.Date("1983-07-01"), lty=3, col='orange')
legend("topright",legend=c("Coke","P&G"),col=c('blue','green'),lwd=2)

§ 2.3 (a) Around 1983, the stock for one of these companies (Coca-Cola or Procter and Gamble) was going up, while the other was going down. Which one was going up?
# Coca-Cola
- In the time period shown in the plot, which stock generally has lower values?
# Coca-Cola
Section-3 Visualizing Stock Dynamics 1995-2005
§ 3.1 Which stock fell the most right after the technology bubble burst in March 2000?
plot(CK$Date[301:432], CK$StockPrice[301:432],
type="l", col="red", ylim=c(0,210))
lines(PG$Date[301:432], PG$StockPrice[301:432], col="blue")
lines(IBM$Date[301:432], IBM$StockPrice[301:432], col="green")
lines(GE$Date[301:432], GE$StockPrice[301:432], col="purple")
lines(BE$Date[301:432], BE$StockPrice[301:432], col="orange")
abline(v = as.Date("2000-03-01"), lty=3, col='gray')
abline(v = as.Date("1997-09-01"), lty=3, col='gray')
abline(v = as.Date("1997-11-01"), lty=3, col='gray')

§ 3.2 Which stock reaches the highest value in the time period 1995-2005?
# IBM
§ 3.3 In October of 1997, there was a global stock market crash that was caused by an economic crisis in Asia. Comparing September 1997 to November 1997, which companies saw a decreasing trend in their stock price? (Select all that apply.)
# P&G and Boeing
§ 3.4 In the last two years of this time period (2004 and 2005) which stock seems to be performing the best, in terms of increasing stock price?
# Boeing
Section-4 Monthly Trends
§ 4.1 For IBM, compare the monthly averages to the overall average stock price. In which months has IBM historically had a higher stock price (on average)? Select all that apply.
tapply(IBM$StockPrice, format(IBM$Date,"%m"), mean) - mean(IBM$StockPrice)
01 02 03 04 05 06 07 08 09
5.8634 8.3190 8.0577 7.7418 7.1272 -5.2844 -5.3080 -4.2296 -5.2865
10 11 12
-7.0285 -6.3563 -3.6157
§ 4.2 General Electric and Coca-Cola both have their highest average stock price in the same month. Which month is this?
sapply(list(BE=BE,CK=CK,GE=GE,IBM=IBM,PG=PG), function(df) {
tapply(df$Stock, format(df$Date,"%m"), mean) - mean(df$Stock)
})
BE CK GE IBM PG
01 -0.081960 0.33876 2.74160 5.8634 1.913468
02 0.299299 0.70502 3.21730 8.3190 1.321238
03 0.289142 2.04162 3.84704 8.0577 -0.356910
04 0.453927 2.65915 5.17659 7.7418 -0.017809
05 1.544226 1.41385 1.56785 7.1272 0.155062
06 0.792321 0.78235 -2.83506 -5.2844 -0.311765
07 -0.039332 -1.04627 -2.57001 -5.3080 -1.058957
08 0.270174 -1.14959 -2.80036 -4.2296 -0.881853
09 -0.288080 -2.42949 -3.06437 -5.2865 -1.080671
10 -1.376899 -2.09086 -3.06454 -7.0285 -1.025482
11 -1.443030 -0.92705 -2.01471 -6.3563 0.751587
12 -0.419788 -0.29750 -0.20133 -3.6157 0.592091
§ 4.3 For the months of December and January, every company’s average stock is higher in one month and lower in the other. In which month are the stock prices lower?
# December
LS0tDQp0aXRsZTogIkFTMS0yIFN0b2NrIER5bmFtaWNzIg0KYXV0aG9yOiAi5Y2T6ZuN54S2IEExMDQwMjMwIDIwMTgvMDcvMDMiDQpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sNCi0tLQ0KDQotIC0gLQ0KDQpgYGB7ciBlY2hvPVQsIHdhcm5pbmc9RiwgbWVzc2FnZT1GLCBjYWNoZT1GfQ0KbGlicmFyeShkcGx5cikNCmBgYA0KDQojIyMjICBTZWN0aW9uLTEgU3VtbWFyeSBTdGF0aXN0aWNzDQoNCl9fwqcgMS4xX18gT3VyIGZpdmUgZGF0YXNldHMgYWxsIGhhdmUgdGhlIHNhbWUgbnVtYmVyIG9mIG9ic2VydmF0aW9ucy4gSG93IG1hbnkgb2JzZXJ2YXRpb25zIGFyZSB0aGVyZSBpbiBlYWNoIGRhdGEgc2V0Pw0KYGBge3J9DQpJQk0gPSByZWFkLmNzdigiZGF0YS9JQk1TdG9jay5jc3YiKQ0KR0UgPSByZWFkLmNzdigiZGF0YS9HRVN0b2NrLmNzdiIpDQpQRyA9IHJlYWQuY3N2KCJkYXRhL1Byb2N0ZXJHYW1ibGVTdG9jay5jc3YiKQ0KQ0sgPSByZWFkLmNzdigiZGF0YS9Db2NhQ29sYVN0b2NrLmNzdiIpDQpCRSA9IHJlYWQuY3N2KCJkYXRhL0JvZWluZ1N0b2NrLmNzdiIpDQpJQk0kRGF0ZSA9IGFzLkRhdGUoSUJNJERhdGUsICIlbS8lZC8leSIpDQpHRSREYXRlID0gYXMuRGF0ZShHRSREYXRlLCAiJW0vJWQvJXkiKQ0KQ0skRGF0ZSA9IGFzLkRhdGUoQ0skRGF0ZSwgIiVtLyVkLyV5IikNClBHJERhdGUgPSBhcy5EYXRlKFBHJERhdGUsICIlbS8lZC8leSIpDQpCRSREYXRlID0gYXMuRGF0ZShCRSREYXRlLCAiJW0vJWQvJXkiKQ0KDQpzdHIoSUJNKQ0KbnJvdyhJQk0pDQpgYGANCg0KDQpfX8KnIDEuMl9fIFdoYXQgaXMgdGhlIGVhcmxpZXN0IHllYXIgaW4gb3VyIGRhdGFzZXRzPw0KYGBge3J9DQptaW4oSUJNJERhdGUpDQpgYGANCg0KX1/CpyAxLjNfXyBXaGF0IGlzIHRoZSBsYXRlc3QgeWVhciBpbiBvdXIgZGF0YXNldHM/DQpgYGB7cn0NCm1heChJQk0kRGF0ZSkNCmBgYA0KDQpfX8KnIDEuNF9fIFdoYXQgaXMgdGhlIG1lYW4gc3RvY2sgcHJpY2Ugb2YgSUJNIG92ZXIgdGhpcyB0aW1lIHBlcmlvZD8NCmBgYHtyfQ0KbWVhbihJQk0kU3RvY2tQcmljZSkNCmBgYA0KDQpfX8KnIDEuNV9fIFdoYXQgaXMgdGhlIG1pbmltdW0gc3RvY2sgcHJpY2Ugb2YgR2VuZXJhbCBFbGVjdHJpYyAoR0UpIG92ZXIgdGhpcyB0aW1lIHBlcmlvZD8NCmBgYHtyfQ0KbWluKEdFJFN0b2NrUHJpY2UpDQpgYGANCg0KX1/CpyAxLjZfXyBXaGF0IGlzIHRoZSBtYXhpbXVtIHN0b2NrIHByaWNlIG9mIENvY2EtQ29sYSBvdmVyIHRoaXMgdGltZSBwZXJpb2Q/DQpgYGB7cn0NCm1heChDSyRTdG9ja1ByaWNlKQ0KYGBgDQoNCl9fwqcgMS43X18gV2hhdCBpcyB0aGUgbWVkaWFuIHN0b2NrIHByaWNlIG9mIEJvZWluZyBvdmVyIHRoaXMgdGltZSBwZXJpb2Q/DQpgYGB7cn0NCm1lZGlhbihCRSRTdG9ja1ByaWNlKQ0KYGBgDQoNCl9fwqcgMS44X18gV2hhdCBpcyB0aGUgc3RhbmRhcmQgZGV2aWF0aW9uIG9mIHRoZSBzdG9jayBwcmljZSBvZiBQcm9jdGVyICYgR2FtYmxlIG92ZXIgdGhpcyB0aW1lIHBlcmlvZD8NCmBgYHtyfQ0Kc2QoUEckU3RvY2tQcmljZSkNCmBgYA0KDQo8YnI+PGJyPg0KDQotIC0gLQ0KDQojIyMjICBTZWN0aW9uLTIgVmlzdWFsaXppbmcgU3RvY2sgRHluYW1pY3MNCg0KX1/CpyAyLjFfXyBBcm91bmQgd2hhdCB5ZWFyIGRpZCBDb2NhLUNvbGEgaGFzIGl0cyBoaWdoZXN0IHN0b2NrIHByaWNlIGluIHRoaXMgdGltZSBwZXJpb2Q/IEFyb3VuZCB3aGF0IHllYXIgZGlkIENvY2EtQ29sYSBoYXMgaXRzIGxvd2VzdCBzdG9jayBwcmljZSBpbiB0aGlzIHRpbWUgcGVyaW9kPw0KYGBge3J9DQpwbG90KENLJERhdGUsIENLJFN0b2NrUHJpY2UsIHR5cGU9J2wnKSAgIyAxOTczIDE5ODANCmFibGluZSh2PUNLJERhdGVbd2hpY2gubWF4KENLJFN0b2NrUHJpY2UpXSwgY29sPSdncmVlbicpDQphYmxpbmUodj1DSyREYXRlW3doaWNoLm1pbihDSyRTdG9ja1ByaWNlKV0sIGNvbD0ncmVkJykNCmBgYA0KDQoNCl9fwqcgMi4yX18gSW4gTWFyY2ggb2YgMjAwMCwgdGhlIHRlY2hub2xvZ3kgYnViYmxlIGJ1cnN0LCBhbmQgYSBzdG9jayBtYXJrZXQgY3Jhc2ggb2NjdXJyZWQuIEFjY29yZGluZyB0byB0aGlzIHBsb3QsIHdoaWNoIGNvbXBhbnkncyBzdG9jayBkcm9wcGVkIG1vcmU/DQpgYGB7cn0NCnBsb3QoQ0skRGF0ZSwgQ0skU3RvY2tQcmljZSwgdHlwZT0nbCcsIGNvbD0nYmx1ZScsIGx3ZD0yKQ0KbGluZXMoUEckRGF0ZSwgUEckU3RvY2tQcmljZSwgY29sPSJncmVlbiIsIGx3ZD0yKQ0KYWJsaW5lKHYgPSBhcy5EYXRlKCIyMDAwLTAzLTAxIiksIGx0eT0zLCBjb2w9J29yYW5nZScpDQphYmxpbmUodiA9IGFzLkRhdGUoIjE5ODMtMDctMDEiKSwgbHR5PTMsIGNvbD0nb3JhbmdlJykNCmxlZ2VuZCgidG9wcmlnaHQiLGxlZ2VuZD1jKCJDb2tlIiwiUCZHIiksY29sPWMoJ2JsdWUnLCdncmVlbicpLGx3ZD0yKQ0KDQpgYGANCg0KX1/CpyAyLjNfXyAoYSkgQXJvdW5kIDE5ODMsIHRoZSBzdG9jayBmb3Igb25lIG9mIHRoZXNlIGNvbXBhbmllcyAoQ29jYS1Db2xhIG9yIFByb2N0ZXIgYW5kIEdhbWJsZSkgd2FzIGdvaW5nIHVwLCB3aGlsZSB0aGUgb3RoZXIgd2FzIGdvaW5nIGRvd24uIFdoaWNoIG9uZSB3YXMgZ29pbmcgdXA/IA0KYGBge3J9DQojIENvY2EtQ29sYQ0KYGBgDQoNCihiKSBJbiB0aGUgdGltZSBwZXJpb2Qgc2hvd24gaW4gdGhlIHBsb3QsIHdoaWNoIHN0b2NrIGdlbmVyYWxseSBoYXMgbG93ZXIgdmFsdWVzPw0KYGBge3J9DQojIENvY2EtQ29sYQ0KYGBgDQoNCg0KPGJyPjxicj4NCg0KLSAtIC0NCg0KIyMjIyAgU2VjdGlvbi0zIFZpc3VhbGl6aW5nIFN0b2NrIER5bmFtaWNzIDE5OTUtMjAwNQ0KDQpfX8KnIDMuMV9fIFdoaWNoIHN0b2NrIGZlbGwgdGhlIG1vc3QgcmlnaHQgYWZ0ZXIgdGhlIHRlY2hub2xvZ3kgYnViYmxlIGJ1cnN0IGluIE1hcmNoIDIwMDA/DQpgYGB7cn0NCnBsb3QoQ0skRGF0ZVszMDE6NDMyXSwgQ0skU3RvY2tQcmljZVszMDE6NDMyXSwgDQogICAgIHR5cGU9ImwiLCBjb2w9InJlZCIsIHlsaW09YygwLDIxMCkpDQpsaW5lcyhQRyREYXRlWzMwMTo0MzJdLCAgUEckU3RvY2tQcmljZVszMDE6NDMyXSwgIGNvbD0iYmx1ZSIpDQpsaW5lcyhJQk0kRGF0ZVszMDE6NDMyXSwgSUJNJFN0b2NrUHJpY2VbMzAxOjQzMl0sIGNvbD0iZ3JlZW4iKQ0KbGluZXMoR0UkRGF0ZVszMDE6NDMyXSwgIEdFJFN0b2NrUHJpY2VbMzAxOjQzMl0sICBjb2w9InB1cnBsZSIpDQpsaW5lcyhCRSREYXRlWzMwMTo0MzJdLCAgQkUkU3RvY2tQcmljZVszMDE6NDMyXSwgIGNvbD0ib3JhbmdlIikNCmFibGluZSh2ID0gYXMuRGF0ZSgiMjAwMC0wMy0wMSIpLCBsdHk9MywgY29sPSdncmF5JykNCmFibGluZSh2ID0gYXMuRGF0ZSgiMTk5Ny0wOS0wMSIpLCBsdHk9MywgY29sPSdncmF5JykNCmFibGluZSh2ID0gYXMuRGF0ZSgiMTk5Ny0xMS0wMSIpLCBsdHk9MywgY29sPSdncmF5JykNCg0KYGBgDQoNCl9fwqcgMy4yX18gV2hpY2ggc3RvY2sgcmVhY2hlcyB0aGUgaGlnaGVzdCB2YWx1ZSBpbiB0aGUgdGltZSBwZXJpb2QgMTk5NS0yMDA1Pw0KYGBge3J9DQojIElCTQ0KYGBgDQoNCl9fwqcgMy4zX18gSW4gT2N0b2JlciBvZiAxOTk3LCB0aGVyZSB3YXMgYSBnbG9iYWwgc3RvY2sgbWFya2V0IGNyYXNoIHRoYXQgd2FzIGNhdXNlZCBieSBhbiBlY29ub21pYyBjcmlzaXMgaW4gQXNpYS4gQ29tcGFyaW5nIFNlcHRlbWJlciAxOTk3IHRvIE5vdmVtYmVyIDE5OTcsIHdoaWNoIGNvbXBhbmllcyBzYXcgYSBkZWNyZWFzaW5nIHRyZW5kIGluIHRoZWlyIHN0b2NrIHByaWNlPyAoU2VsZWN0IGFsbCB0aGF0IGFwcGx5LikNCmBgYHtyfQ0KIyBQJkcgYW5kIEJvZWluZw0KYGBgDQoNCl9fwqcgMy40X18gSW4gdGhlIGxhc3QgdHdvIHllYXJzIG9mIHRoaXMgdGltZSBwZXJpb2QgKDIwMDQgYW5kIDIwMDUpIHdoaWNoIHN0b2NrIHNlZW1zIHRvIGJlIHBlcmZvcm1pbmcgdGhlIGJlc3QsIGluIHRlcm1zIG9mIGluY3JlYXNpbmcgc3RvY2sgcHJpY2U/DQpgYGB7cn0NCiMgQm9laW5nDQpgYGANCg0KDQo8YnI+PGJyPg0KDQotIC0gLQ0KDQojIyMjICBTZWN0aW9uLTQgTW9udGhseSBUcmVuZHMNCg0KX1/CpyA0LjFfXyBGb3IgSUJNLCBjb21wYXJlIHRoZSBtb250aGx5IGF2ZXJhZ2VzIHRvIHRoZSBvdmVyYWxsIGF2ZXJhZ2Ugc3RvY2sgcHJpY2UuIEluIHdoaWNoIG1vbnRocyBoYXMgSUJNIGhpc3RvcmljYWxseSBoYWQgYSBoaWdoZXIgc3RvY2sgcHJpY2UgKG9uIGF2ZXJhZ2UpPyBTZWxlY3QgYWxsIHRoYXQgYXBwbHkuDQpgYGB7cn0NCnRhcHBseShJQk0kU3RvY2ssIGZvcm1hdChJQk0kRGF0ZSwiJW0iKSwgbWVhbikgLSBtZWFuKElCTSRTdG9jaykNCmBgYA0KDQpfX8KnIDQuMl9fIEdlbmVyYWwgRWxlY3RyaWMgYW5kIENvY2EtQ29sYSBib3RoIGhhdmUgdGhlaXIgaGlnaGVzdCBhdmVyYWdlIHN0b2NrIHByaWNlIGluIHRoZSBzYW1lIG1vbnRoLiBXaGljaCBtb250aCBpcyB0aGlzPw0KYGBge3J9DQpzYXBwbHkobGlzdChCRT1CRSxDSz1DSyxHRT1HRSxJQk09SUJNLFBHPVBHKSwgZnVuY3Rpb24oZGYpIHsNCiAgdGFwcGx5KGRmJFN0b2NrLCBmb3JtYXQoZGYkRGF0ZSwiJW0iKSwgbWVhbikgLSBtZWFuKGRmJFN0b2NrKQ0KICB9KSAgIyBBcHJpbA0KYGBgDQoNCl9fwqcgNC4zX18gRm9yIHRoZSBtb250aHMgb2YgRGVjZW1iZXIgYW5kIEphbnVhcnksIGV2ZXJ5IGNvbXBhbnkncyBhdmVyYWdlIHN0b2NrIGlzIGhpZ2hlciBpbiBvbmUgbW9udGggYW5kIGxvd2VyIGluIHRoZSBvdGhlci4gSW4gd2hpY2ggbW9udGggYXJlIHRoZSBzdG9jayBwcmljZXMgbG93ZXI/DQpgYGB7cn0NCiMgRGVjZW1iZXINCmBgYA0KDQoNCg==