Q1 Import Tesla for the last ten months.

Hint: Revise the given code below.

library(tidyquant)
library(tidyverse)

# Import data
from = today() - months(10)
stock <- tq_get("TSLA", get = "stock.prices", from = from)
stock
## # A tibble: 209 x 8
##    symbol date        open  high   low close   volume adjusted
##    <chr>  <date>     <dbl> <dbl> <dbl> <dbl>    <dbl>    <dbl>
##  1 TSLA   2019-06-14  211.  217.  210.  215.  7433400     215.
##  2 TSLA   2019-06-17  215.  227   214.  225. 12316800     225.
##  3 TSLA   2019-06-18  229.  235.  223.  225. 12715800     225.
##  4 TSLA   2019-06-19  225.  228.  221.  226.  6575100     226.
##  5 TSLA   2019-06-20  223   227.  216.  220. 11863500     220.
##  6 TSLA   2019-06-21  216.  222.  216.  222.  8202100     222.
##  7 TSLA   2019-06-24  223.  226.  221.  224.  5750800     224.
##  8 TSLA   2019-06-25  224.  225.  219.  220.  6182100     220.
##  9 TSLA   2019-06-26  220.  227.  218.  219.  8507200     219.
## 10 TSLA   2019-06-27  219.  223.  217.  223.  6339700     223.
## # … with 199 more rows

Q2 Calculate 15-day and 50-day simple moving averages.

Hint: Rename 15-day moving average to SMA.short and 50-day moving average to SMA.long.

stock <-
  stock %>%

  tq_mutate(select = close, mutate_fun = SMA, n = 15) %>%

  rename(SMA.short = SMA) %>%
  tq_mutate(select = close, mutate_fun = SMA, n = 50) %>%
  rename(SMA.long = SMA)

stock
## # A tibble: 209 x 10
##    symbol date        open  high   low close  volume adjusted SMA.short SMA.long
##    <chr>  <date>     <dbl> <dbl> <dbl> <dbl>   <dbl>    <dbl>     <dbl>    <dbl>
##  1 TSLA   2019-06-14  211.  217.  210.  215.  7.43e6     215.        NA       NA
##  2 TSLA   2019-06-17  215.  227   214.  225.  1.23e7     225.        NA       NA
##  3 TSLA   2019-06-18  229.  235.  223.  225.  1.27e7     225.        NA       NA
##  4 TSLA   2019-06-19  225.  228.  221.  226.  6.58e6     226.        NA       NA
##  5 TSLA   2019-06-20  223   227.  216.  220.  1.19e7     220.        NA       NA
##  6 TSLA   2019-06-21  216.  222.  216.  222.  8.20e6     222.        NA       NA
##  7 TSLA   2019-06-24  223.  226.  221.  224.  5.75e6     224.        NA       NA
##  8 TSLA   2019-06-25  224.  225.  219.  220.  6.18e6     220.        NA       NA
##  9 TSLA   2019-06-26  220.  227.  218.  219.  8.51e6     219.        NA       NA
## 10 TSLA   2019-06-27  219.  223.  217.  223.  6.34e6     223.        NA       NA
## # … with 199 more rows

Q3 Transform data to long form from wide form for graphing.

Hint: Select date, close, SMA.short, and SMA.long. Then, transform the data to long from so that you could have all three variables (close, SMA.short, and SMA.long) in one graph.

stock_long <-
  stock %>%
  select(date, close, SMA.short, SMA.long) %>%
  gather(key = "type", value = "price", close:SMA.long)

stock_long
## # A tibble: 627 x 3
##    date       type  price
##    <date>     <chr> <dbl>
##  1 2019-06-14 close  215.
##  2 2019-06-17 close  225.
##  3 2019-06-18 close  225.
##  4 2019-06-19 close  226.
##  5 2019-06-20 close  220.
##  6 2019-06-21 close  222.
##  7 2019-06-24 close  224.
##  8 2019-06-25 close  220.
##  9 2019-06-26 close  219.
## 10 2019-06-27 close  223.
## # … with 617 more rows

Q4 Visualize data.

Hint: Map date to the x-axis and stock prices (close, SMA.short, and SMA.long) to the y-axis.

stock_long %>%
  ggplot(aes(x = date, y = price, col = type)) +
  geom_line() + 
  theme(legend.position="bottom") +
  labs(title = "Simple Moving Averages are a Breeze with tidyquant",
       x = "date",
       y = "Stock Prices")

Q5 If you had invested $1 million on the day of the first bullish crossover and sold your shares on the following bearish crosover, how much would you have won or lost?

Hint: Elaborate your calculation.

the first bullish crossover is at about 230 and the bearish crossover os just before april at about 650 this will give you a profit of about 1.83 million dollars

Q6 The bearish crossover missed the actual high. How long (in days) was the time lag?

Hint: Elaborate your calculation. One word/number anwer is not enough.

the bearish crossover missed the high that was on Febuary 19th which is about a month in time lag on the crossover because the crossover was on march 17th making it a 27 day lag

Q7 What would you change in the moving average model to reduce the time lag?

Hint: Elaborate your answer. One word answer is not enough.

to reduce time lag i would reduce the SMA averages to 5 and 10 instead of 15 and 50

Q7.a Create another chart below with the change, and count the reduced time lag (in days).

Q8 Hide the messages and the code, but display results of the code from the webpage.

Hint: Use message, echo and results in the chunk options. 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.