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

Q1 Interpret Row 2 of stock_returns.

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.

Q2 How much was Microsoft per share at closing on July 30, 2020?

Hint: Examine the data in the spreadsheet view.

Microsoft was $203.90 per share at closing on July 30, 2020.

Q3 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

Q4 Create a simple line plot with date on the x-axis and closing 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 = close)) + geom_line()

Q5 Describe the performance of Microsoft stock this year.

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.

.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.00272
## 2 AMZN       0.00305
## 3 MSFT       0.00192

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

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")

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.