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: 555 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 545 more rows
The 2nd row represents Apple’s stock returns for January 3rd, 2020.They opened at 74.3 and closed at 74.4 with a high of 75.1 and a low of 74.1. They had a volume of 146322800, an adjusted price of 73.8, and the daily return was -0.00972.
filter Select Microsoft stock prices and save it under plotdata.library(dplyr)
plotdata <- filter(stock_prices,
symbol == "MSFT")
ggplot(plotdata,
aes(x = date,
y = close)) +
geom_line()
Microsoft had a huge dip starting in early February before gradually increasing again in April.
library(dplyr)
plotdata <- stock_returns %>%
group_by(symbol) %>%
summarize(mean_return = mean(daily.returns))
ggplot(plotdata,
aes(x = symbol,
y = mean_return)) +
geom_bar(stat = "identity")
Hint: Refer to the RMarkdown Reference Guide.