filter
Select Microsoft stock prices and save it under plotdata.In this exercise, use Chapter 4.2 Quantitative vs. Quantitative Data Visualization with R.
# Load packages
library(tidyquant)
library(tidyverse)
# Import stock prices
stock_prices <- tq_get(c("AAPL", "MSFT", "AMZN"), get = "stock.prices", from = "2020-01-01")
# Calculate daily returns
stock_returns <-
stock_prices %>%
group_by(symbol) %>%
tq_mutate(select = adjusted, mutate_fun = periodReturn, period = "daily")
stock_returns
## # A tibble: 549 x 9
## # Groups: symbol [3]
## symbol date open high low close volume adjusted daily.returns
## <chr> <date> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 AAPL 2020-01-02 74.1 75.2 73.8 75.1 135480400 74.6 0
## 2 AAPL 2020-01-03 74.3 75.1 74.1 74.4 146322800 73.8 -0.00972
## 3 AAPL 2020-01-06 73.4 75.0 73.2 74.9 118387200 74.4 0.00797
## 4 AAPL 2020-01-07 75.0 75.2 74.4 74.6 108872000 74.1 -0.00470
## 5 AAPL 2020-01-08 74.3 76.1 74.3 75.8 132079200 75.3 0.0161
## 6 AAPL 2020-01-09 76.8 77.6 76.6 77.4 170108400 76.9 0.0212
## 7 AAPL 2020-01-10 77.7 78.2 77.1 77.6 140644800 77.1 0.00226
## 8 AAPL 2020-01-13 77.9 79.3 77.8 79.2 121532000 78.7 0.0214
## 9 AAPL 2020-01-14 79.2 79.4 78.0 78.2 161954400 77.6 -0.0135
## 10 AAPL 2020-01-15 78.0 78.9 77.4 77.8 121923600 77.3 -0.00429
## # ... with 539 more rows
Hint: In your interpretation, make sure to use all variables.
In row 2 of stock_returns Apple(AAPL) on 01/03/2020 opened at 74.3 and closed at 74.4. The high for the day was 75.1 and the low for the day was 74.1. Volume was 146322800 and adjusted was 73.8. At the end the day, daily return was -0.0.
filter
Select Microsoft stock prices and save it under plotdata.Hint: See the code in 4.2.2 Line plot.
plotdata <- filter(stock_prices, symbol == "MSFT")
plotdata
## # A tibble: 183 x 8
## symbol date open high low close volume adjusted
## <chr> <date> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 MSFT 2020-01-02 159. 161. 158. 161. 22622100 159.
## 2 MSFT 2020-01-03 158. 160. 158. 159. 21116200 157.
## 3 MSFT 2020-01-06 157. 159. 157. 159. 20813700 158.
## 4 MSFT 2020-01-07 159. 160. 157. 158. 21634100 156.
## 5 MSFT 2020-01-08 159. 161. 158. 160. 27746500 159.
## 6 MSFT 2020-01-09 162. 162. 161. 162. 21385000 161.
## 7 MSFT 2020-01-10 163. 163. 161. 161. 20725900 160.
## 8 MSFT 2020-01-13 162. 163. 161. 163. 21626500 162.
## 9 MSFT 2020-01-14 163. 164. 162. 162. 23477400 161.
## 10 MSFT 2020-01-15 163. 164. 163. 163. 21417900 162.
## # ... with 173 more rows
Hint: See the code in 4.2.2 Line plot. Use plotdata you created in Q3.
ggplot(plotdata, aes(x = date, y = close)) + geom_line()
Hint: Interpret the line plot you created in Q4.
At the beginning of the year Microsoft stock was climbing in a positive direction, this was until covid-19 hit in March. There was a sharp decline with it bottoming out at the end of March. Since then it has been on a steady incline with some volatility. In September there was a sharp decline from around 230 to 205.
Hint: See the code in 4.3.1 Bar chart (on summary statistics).
library(dplyr)
plotdata <- stock_returns %>%
group_by(symbol) %>%
summarize(mean_return = mean(daily.returns))
plotdata
## # A tibble: 3 x 2
## symbol mean_return
## <chr> <dbl>
## 1 AAPL 0.00272
## 2 AMZN 0.00305
## 3 MSFT 0.00192
Hint: See the code in 4.3.1 Bar chart (on summary statistics). Use plotdata you created in Q5.
I would expect the highest daily return from Amazon. This is because their mean daily return is the highest at 0.00305.
ggplot(plotdata,
aes(x = symbol,
y = mean_return)) +
geom_bar(stat = "identity")
Hint: Refer to the RMarkdown Reference Guide.