The code for the moving average analysis below is taken from: https://www.r-bloggers.com/tidyquant-bringing-quantitative-financial-analysis-to-the-tidyverse/.

## # A tibble: 252 x 8
##    symbol date        open  high   low close  volume adjusted
##    <chr>  <date>     <dbl> <dbl> <dbl> <dbl>   <dbl>    <dbl>
##  1 AMZN   2019-04-29 1949  1956. 1934. 1938. 4021300    1938.
##  2 AMZN   2019-04-30 1930. 1936. 1907. 1927. 3506000    1927.
##  3 AMZN   2019-05-01 1933. 1944. 1911. 1912. 3117000    1912.
##  4 AMZN   2019-05-02 1913. 1922. 1882. 1901. 3962900    1901.
##  5 AMZN   2019-05-03 1949  1964. 1936  1962. 6381600    1962.
##  6 AMZN   2019-05-06 1918. 1959  1910. 1951. 5417800    1951.
##  7 AMZN   2019-05-07 1940. 1949. 1903. 1921  5902100    1921 
##  8 AMZN   2019-05-08 1919. 1935. 1910  1918. 4078600    1918.
##  9 AMZN   2019-05-09 1900  1909. 1876  1900. 5308300    1900.
## 10 AMZN   2019-05-10 1898  1904. 1856  1890. 5718000    1890.
## # … with 242 more rows
## # A tibble: 252 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 AMZN   2019-04-29 1949  1956. 1934. 1938. 4021300    1938.        NA       NA
##  2 AMZN   2019-04-30 1930. 1936. 1907. 1927. 3506000    1927.        NA       NA
##  3 AMZN   2019-05-01 1933. 1944. 1911. 1912. 3117000    1912.        NA       NA
##  4 AMZN   2019-05-02 1913. 1922. 1882. 1901. 3962900    1901.        NA       NA
##  5 AMZN   2019-05-03 1949  1964. 1936  1962. 6381600    1962.        NA       NA
##  6 AMZN   2019-05-06 1918. 1959  1910. 1951. 5417800    1951.        NA       NA
##  7 AMZN   2019-05-07 1940. 1949. 1903. 1921  5902100    1921         NA       NA
##  8 AMZN   2019-05-08 1919. 1935. 1910  1918. 4078600    1918.        NA       NA
##  9 AMZN   2019-05-09 1900  1909. 1876  1900. 5308300    1900.        NA       NA
## 10 AMZN   2019-05-10 1898  1904. 1856  1890. 5718000    1890.        NA       NA
## # … with 242 more rows
## # A tibble: 1,260 x 7
##    symbol date        open  high   low type  price
##    <chr>  <date>     <dbl> <dbl> <dbl> <chr> <dbl>
##  1 AMZN   2019-04-29 1949  1956. 1934. close 1938.
##  2 AMZN   2019-04-30 1930. 1936. 1907. close 1927.
##  3 AMZN   2019-05-01 1933. 1944. 1911. close 1912.
##  4 AMZN   2019-05-02 1913. 1922. 1882. close 1901.
##  5 AMZN   2019-05-03 1949  1964. 1936  close 1962.
##  6 AMZN   2019-05-06 1918. 1959  1910. close 1951.
##  7 AMZN   2019-05-07 1940. 1949. 1903. close 1921 
##  8 AMZN   2019-05-08 1919. 1935. 1910  close 1918.
##  9 AMZN   2019-05-09 1900  1909. 1876  close 1900.
## 10 AMZN   2019-05-10 1898  1904. 1856  close 1890.
## # … with 1,250 more rows

Q1 Import S&P500 for the last one year.

Hint: Copy and revise the importing part of the code from above.

## # A tibble: 252 x 8
##    symbol date        open  high   low close     volume adjusted
##    <chr>  <date>     <dbl> <dbl> <dbl> <dbl>      <dbl>    <dbl>
##  1 ^GSPC  2019-04-29 2941. 2950. 2939. 2943. 3118780000    2943.
##  2 ^GSPC  2019-04-30 2937. 2948. 2924. 2946. 3919330000    2946.
##  3 ^GSPC  2019-05-01 2952. 2954. 2923. 2924. 3645850000    2924.
##  4 ^GSPC  2019-05-02 2922. 2932. 2900. 2918. 3778890000    2918.
##  5 ^GSPC  2019-05-03 2929. 2948. 2929. 2946. 3338120000    2946.
##  6 ^GSPC  2019-05-06 2909. 2937. 2898. 2932. 3181520000    2932.
##  7 ^GSPC  2019-05-07 2913. 2913. 2863. 2884. 3767100000    2884.
##  8 ^GSPC  2019-05-08 2880. 2898. 2873. 2879. 3485790000    2879.
##  9 ^GSPC  2019-05-09 2860. 2876. 2836. 2871. 3638820000    2871.
## 10 ^GSPC  2019-05-10 2863. 2891. 2825. 2881. 3529600000    2881.
## # … with 242 more rows

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

Hint: Copy and revise the moving average part of the code from above.

## # A tibble: 252 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 ^GSPC  2019-04-29 2941. 2950. 2939. 2943.  3.12e9    2943.        NA       NA
##  2 ^GSPC  2019-04-30 2937. 2948. 2924. 2946.  3.92e9    2946.        NA       NA
##  3 ^GSPC  2019-05-01 2952. 2954. 2923. 2924.  3.65e9    2924.        NA       NA
##  4 ^GSPC  2019-05-02 2922. 2932. 2900. 2918.  3.78e9    2918.        NA       NA
##  5 ^GSPC  2019-05-03 2929. 2948. 2929. 2946.  3.34e9    2946.        NA       NA
##  6 ^GSPC  2019-05-06 2909. 2937. 2898. 2932.  3.18e9    2932.        NA       NA
##  7 ^GSPC  2019-05-07 2913. 2913. 2863. 2884.  3.77e9    2884.        NA       NA
##  8 ^GSPC  2019-05-08 2880. 2898. 2873. 2879.  3.49e9    2879.        NA       NA
##  9 ^GSPC  2019-05-09 2860. 2876. 2836. 2871.  3.64e9    2871.        NA       NA
## 10 ^GSPC  2019-05-10 2863. 2891. 2825. 2881.  3.53e9    2881.        NA       NA
## # … with 242 more rows

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

Hint: Copy and revise the transformation part of the code from above.

## # A tibble: 1,260 x 7
##    symbol date        open  high   low type  price
##    <chr>  <date>     <dbl> <dbl> <dbl> <chr> <dbl>
##  1 ^GSPC  2019-04-29 2941. 2950. 2939. close 2943.
##  2 ^GSPC  2019-04-30 2937. 2948. 2924. close 2946.
##  3 ^GSPC  2019-05-01 2952. 2954. 2923. close 2924.
##  4 ^GSPC  2019-05-02 2922. 2932. 2900. close 2918.
##  5 ^GSPC  2019-05-03 2929. 2948. 2929. close 2946.
##  6 ^GSPC  2019-05-06 2909. 2937. 2898. close 2932.
##  7 ^GSPC  2019-05-07 2913. 2913. 2863. close 2884.
##  8 ^GSPC  2019-05-08 2880. 2898. 2873. close 2879.
##  9 ^GSPC  2019-05-09 2860. 2876. 2836. close 2871.
## 10 ^GSPC  2019-05-10 2863. 2891. 2825. close 2881.
## # … with 1,250 more rows

Q4 Visualize data.

Hint: Copy and revise the visualization part of the code from above.

Q5 List all bullish or bearish crossovers with dates and closing prices.

Q6 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?

Q7 Try 50-day and 100-day simple moving average instead. Does your answer in Q6 change?

## # A tibble: 252 x 8
##    symbol date        open  high   low close  volume adjusted
##    <chr>  <date>     <dbl> <dbl> <dbl> <dbl>   <dbl>    <dbl>
##  1 AMZN   2019-04-29 1949  1956. 1934. 1938. 4021300    1938.
##  2 AMZN   2019-04-30 1930. 1936. 1907. 1927. 3506000    1927.
##  3 AMZN   2019-05-01 1933. 1944. 1911. 1912. 3117000    1912.
##  4 AMZN   2019-05-02 1913. 1922. 1882. 1901. 3962900    1901.
##  5 AMZN   2019-05-03 1949  1964. 1936  1962. 6381600    1962.
##  6 AMZN   2019-05-06 1918. 1959  1910. 1951. 5417800    1951.
##  7 AMZN   2019-05-07 1940. 1949. 1903. 1921  5902100    1921 
##  8 AMZN   2019-05-08 1919. 1935. 1910  1918. 4078600    1918.
##  9 AMZN   2019-05-09 1900  1909. 1876  1900. 5308300    1900.
## 10 AMZN   2019-05-10 1898  1904. 1856  1890. 5718000    1890.
## # … with 242 more rows
## # A tibble: 252 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 AMZN   2019-04-29 1949  1956. 1934. 1938. 4021300    1938.        NA       NA
##  2 AMZN   2019-04-30 1930. 1936. 1907. 1927. 3506000    1927.        NA       NA
##  3 AMZN   2019-05-01 1933. 1944. 1911. 1912. 3117000    1912.        NA       NA
##  4 AMZN   2019-05-02 1913. 1922. 1882. 1901. 3962900    1901.        NA       NA
##  5 AMZN   2019-05-03 1949  1964. 1936  1962. 6381600    1962.        NA       NA
##  6 AMZN   2019-05-06 1918. 1959  1910. 1951. 5417800    1951.        NA       NA
##  7 AMZN   2019-05-07 1940. 1949. 1903. 1921  5902100    1921         NA       NA
##  8 AMZN   2019-05-08 1919. 1935. 1910  1918. 4078600    1918.        NA       NA
##  9 AMZN   2019-05-09 1900  1909. 1876  1900. 5308300    1900.        NA       NA
## 10 AMZN   2019-05-10 1898  1904. 1856  1890. 5718000    1890.        NA       NA
## # … with 242 more rows
## # A tibble: 756 x 3
##    date       type  price
##    <date>     <chr> <dbl>
##  1 2019-04-29 close 1938.
##  2 2019-04-30 close 1927.
##  3 2019-05-01 close 1912.
##  4 2019-05-02 close 1901.
##  5 2019-05-03 close 1962.
##  6 2019-05-06 close 1951.
##  7 2019-05-07 close 1921 
##  8 2019-05-08 close 1918.
##  9 2019-05-09 close 1900.
## 10 2019-05-10 close 1890.
## # … with 746 more rows

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.