filter Select Apple 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 = "2021-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: 120 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 2021-01-04 134. 134. 127. 129. 143301900 129. 0
## 2 AAPL 2021-01-05 129. 132. 128. 131. 97664900 131. 0.0124
## 3 AAPL 2021-01-06 128. 131. 126. 127. 155088000 126. -0.0337
## 4 AAPL 2021-01-07 128. 132. 128. 131. 109578200 131. 0.0341
## 5 AAPL 2021-01-08 132. 133. 130. 132. 105158200 132. 0.00863
## 6 AAPL 2021-01-11 129. 130. 128. 129. 100620900 129. -0.0232
## 7 AAPL 2021-01-12 128. 130. 127. 129. 91951100 129. -0.00140
## 8 AAPL 2021-01-13 129. 131. 128. 131. 88636800 131. 0.0162
## 9 AAPL 2021-01-14 131. 131 129. 129. 90221800 129. -0.0151
## 10 AAPL 2021-01-15 129. 130. 127 127. 111598500 127. -0.0137
## # ... with 110 more rows
APPL 2021-01-05 129. 132. 128. 131. 97664900 131. 0.0124
The stock price increase by 0.0124.
filter Select Apple stock prices and save it under plotdata.library(dplyr)
plotdata <- filter(stock_prices, symbol == "AAPL")
plotdata
## # A tibble: 40 x 8
## symbol date open high low close volume adjusted
## <chr> <date> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 AAPL 2021-01-04 134. 134. 127. 129. 143301900 129.
## 2 AAPL 2021-01-05 129. 132. 128. 131. 97664900 131.
## 3 AAPL 2021-01-06 128. 131. 126. 127. 155088000 126.
## 4 AAPL 2021-01-07 128. 132. 128. 131. 109578200 131.
## 5 AAPL 2021-01-08 132. 133. 130. 132. 105158200 132.
## 6 AAPL 2021-01-11 129. 130. 128. 129. 100620900 129.
## 7 AAPL 2021-01-12 128. 130. 127. 129. 91951100 129.
## 8 AAPL 2021-01-13 129. 131. 128. 131. 88636800 131.
## 9 AAPL 2021-01-14 131. 131 129. 129. 90221800 129.
## 10 AAPL 2021-01-15 129. 130. 127 127. 111598500 127.
## # ... with 30 more rows
ggplot(plotdata,
aes(x = date,
y = close)) +
geom_line()
The Apple stock had an inconsistent performance and returned with lower stock price at the end of the data set
avgreturns <- stock_returns %>%
group_by(symbol) %>%
summarize(mean_returns = mean(daily.returns))
avgreturns
## # A tibble: 3 x 2
## symbol mean_returns
## * <chr> <dbl>
## 1 AAPL -0.000592
## 2 AMZN -0.000600
## 3 MSFT 0.00197
I would expect Microsoft (MFST) to have the highest daily return due to them being the only company with positive average return between Apple and Amazon.
Hint: Refer to the RMarkdown Reference Guide.