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.

Row 2 of the stock returns table shows Apple’s stock data from 1/3/2020. Apple opened at 74.2875, and closed at 74.3575. The high price of the day was 75.1450 while the low was 74.1250. Apple had a volume of 146322800, while the adjusted closing price was 73.84803 and daily returns were shown at -9.722093e-03.

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

Hint: Examine the data in the spreadsheet view.

Microsoft’s closing price on July 30, 2020 was 203.90 per share

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.

Microsoft has had a strong performance this year. In January, the stock was trading around 160 per share. It hit a high of around 230, and currently it is trading at around 210 per share.

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

plotData <- group_by(stock_returns, symbol)
plotData <- summarize(plotData,
                         daily.returns = mean(daily.returns, na.rm = TRUE))
plotData
## # A tibble: 3 x 2
##   symbol daily.returns
##   <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 Amazon to have the highest daily return, with a mean of 0.00305.

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.