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

Q1 Interpret Row 2 of stock_returns.

APPL 2021-01-05 129. 132. 128. 131. 97664900 131. 0.0124

The stock price increase by 0.0124.

Q2 How much was the highest price per share, at which Apple was traded on January 28, 2021?

The highest stock price on Jan, 28, 2021 for Apple was 141.99 per share.

Q3 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

Q4 Create a simple line plot with date on the x-axis and opening price on the y-axis.

ggplot(plotdata,
       aes(x = date,
           y = close)) +
geom_line()

Q5 Describe the performance of Apple stock this year.

The Apple stock had an inconsistent performance and returned with lower stock price at the end of the data set

Q6 Calculate mean daily returns for each stock and save it under plotdata.

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

Q7 If the stock’s performance this year is any indication, which of the stocks would you expect the highest daily return? Plot mean daily returns using bar chart.

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.

Q8 Hide the messages and warnings, but display the code and its results on the webpage.

Hint: Refer to the RMarkdown Reference Guide.

Q9 Display the title and your name correctly at the top of the webpage.

Q10 Use the correct slug.