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.

Hint: In your interpretation, make sure to use all variables.

Row 2 of stock_returns is showing the stocks for Apple on January 5th, 2021. When the market opened up the price was 128.89 and when it closed it was 131.01. The data also displays the lowest and highest price for the day being 128.43 and 131.74. The volume of 97664900 shows how many stocks were in use that day, with the adjusted stock price being 130.8145. The final column shows the daily returns of Apple for January 5th, 2021.

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

Hint: Examine the data in the spreadsheet view.

The highest price per share at which Apple was traded on January 28th, 2021 was 141.99.

Q3 filter Select Apple stock prices and save it under plotdata.

Hint: See the code in 4.2.2 Line plot.

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.

Hint: See the code in 4.2.2 Line plot. Use plotdata you created in Q3.

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

Q5 Describe the performance of Apple stock this year.

Hint: Interpret the line plot you created in Q4.

Apple’s stocks started low but began to rise I think due to vaccinations being done and Apple being able to open more of their stores after some of them being locked down across the world. There were also crazy gains at struggling companies like GameStop, AMC Entertainment, and Blackberry that recently made Apple’s stocks drop in February.

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

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.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.

Hint: See the code in 4.3.1 Bar chart (on summary statistics). Use plotdata you created in Q5.

ggplot(plotdata, 
       aes(x = symbol, 
           y = mean_return)) +
  geom_bar(stat = "identity")

Microsoft has the highest daily return and is expected to have the highest daily return recently due to many people working and going to school remotely from home because of the COVID-19 global pandemic.

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.