Use the given code below to answer the questions.
## Load package
library(tidyverse) # for cleaning, plotting, etc
## ── Attaching packages ────────────────────────── tidyverse 1.3.0 ──
## ✓ ggplot2 3.3.0 ✓ purrr 0.3.4
## ✓ tibble 3.0.1 ✓ dplyr 0.8.5
## ✓ tidyr 1.0.2 ✓ stringr 1.4.0
## ✓ readr 1.3.1 ✓ forcats 0.5.0
## ── Conflicts ───────────────────────────── tidyverse_conflicts() ──
## x dplyr::filter() masks stats::filter()
## x dplyr::lag() masks stats::lag()
library(tidyquant) # for financial analysis
## Loading required package: lubridate
##
## Attaching package: 'lubridate'
## The following objects are masked from 'package:dplyr':
##
## intersect, setdiff, union
## The following objects are masked from 'package:base':
##
## date, intersect, setdiff, union
## Loading required package: PerformanceAnalytics
## Loading required package: xts
## Loading required package: zoo
##
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
##
## as.Date, as.Date.numeric
##
## Attaching package: 'xts'
## The following objects are masked from 'package:dplyr':
##
## first, last
##
## Attaching package: 'PerformanceAnalytics'
## The following object is masked from 'package:graphics':
##
## legend
## Loading required package: quantmod
## Loading required package: TTR
## Registered S3 method overwritten by 'quantmod':
## method from
## as.zoo.data.frame zoo
## Version 0.4-0 included new data defaults. See ?getSymbols.
## ══ Need to Learn tidyquant? ═══════════════════════════════════════
## Business Science offers a 1-hour course - Learning Lab #9: Performance Analysis & Portfolio Optimization with tidyquant!
## </> Learn more at: https://university.business-science.io/p/learning-labs-pro </>
## Import data
stocks <- tq_get("AAPL", get = "stock.prices", from = "2016-01-01")
stocks
## # A tibble: 1,093 x 8
## symbol date open high low close volume adjusted
## <chr> <date> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 AAPL 2016-01-04 103. 105. 102 105. 67649400 98.2
## 2 AAPL 2016-01-05 106. 106. 102. 103. 55791000 95.8
## 3 AAPL 2016-01-06 101. 102. 99.9 101. 68457400 93.9
## 4 AAPL 2016-01-07 98.7 100. 96.4 96.4 81094400 89.9
## 5 AAPL 2016-01-08 98.6 99.1 96.8 97.0 70798000 90.4
## 6 AAPL 2016-01-11 99.0 99.1 97.3 98.5 49739400 91.9
## 7 AAPL 2016-01-12 101. 101. 98.8 100. 49154200 93.2
## 8 AAPL 2016-01-13 100. 101. 97.3 97.4 62439600 90.8
## 9 AAPL 2016-01-14 98.0 100. 95.7 99.5 63170100 92.8
## 10 AAPL 2016-01-15 96.2 97.7 95.4 97.1 79833900 90.6
## # … with 1,083 more rows
## Visualize
stocks %>%
ggplot(aes(x = date, y = close)) +
geom_line()
Hint: Insert a new code chunk below and type in the code, using the tq_get() function above. Replace the ticker symbol. Find ticker symbols from Yahoo Finance.
## Load package
library(tidyverse) # for cleaning, plotting, etc
library(tidyquant) # for financial analysis
## Import data
stocks <- tq_get("MSFT", get = "stock.prices", from = "2016-01-01")
stocks
## # A tibble: 1,093 x 8
## symbol date open high low close volume adjusted
## <chr> <date> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 MSFT 2016-01-04 54.3 54.8 53.4 54.8 53778000 50.4
## 2 MSFT 2016-01-05 54.9 55.4 54.5 55.0 34079700 50.6
## 3 MSFT 2016-01-06 54.3 54.4 53.6 54.0 39518900 49.7
## 4 MSFT 2016-01-07 52.7 53.5 52.1 52.2 56564900 48.0
## 5 MSFT 2016-01-08 52.4 53.3 52.2 52.3 48754000 48.1
## 6 MSFT 2016-01-11 52.5 52.8 51.5 52.3 36943800 48.1
## 7 MSFT 2016-01-12 52.8 53.1 52.1 52.8 36095500 48.5
## 8 MSFT 2016-01-13 53.8 54.1 51.3 51.6 66883600 47.5
## 9 MSFT 2016-01-14 52 53.4 51.6 53.1 52381900 48.8
## 10 MSFT 2016-01-15 51.3 52.0 50.3 51.0 71820700 46.9
## # … with 1,083 more rows
Hint: Watch the video, “Basic Data Types”, in DataCamp: Introduction to R for Finance: Ch1 The Basics.
Character: > 20 Logical: > TRUE
Hint: Insert a new code chunk below and type in the code, using the ggplot() function above. Revise the code so that it maps adjusted to the y-axis, instead of close.
For more information on the ggplot() function, refer to Ch2 Introduction to ggplot2 in one of our e-textbooks, Data Visualization with R.
## Visualize
stocks %>%
ggplot(aes(x = date, y = close)) +
geom_line()
They started lower from the previous year 2018 but throughout the year they gradually rose up and was succesful heading into 2020
Hint: Insert a new code chunk below and type in the code, using the tq_get() function above. You may refer to the manual of the tidyquant r package. Or, simply Google the tq_get function and see examples of the function’s usage. Do this by using the tq_get() function once, not twice.
tq_get("AMZN", get = "stock.prices", from = "2016-01-01")
## # A tibble: 1,093 x 8
## symbol date open high low close volume adjusted
## <chr> <date> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 AMZN 2016-01-04 656. 658. 628. 637. 9314500 637.
## 2 AMZN 2016-01-05 647. 647. 628. 634. 5822600 634.
## 3 AMZN 2016-01-06 622 640. 620. 633. 5329200 633.
## 4 AMZN 2016-01-07 622. 630 605. 608. 7074900 608.
## 5 AMZN 2016-01-08 620. 624. 606 607. 5512900 607.
## 6 AMZN 2016-01-11 612. 620. 599. 618. 4891600 618.
## 7 AMZN 2016-01-12 625. 626. 612. 618. 4724100 618.
## 8 AMZN 2016-01-13 621. 621. 579. 582. 7655200 582.
## 9 AMZN 2016-01-14 580. 602. 570. 593 7238000 593
## 10 AMZN 2016-01-15 572. 585. 565. 570. 7784500 570.
## # … with 1,083 more rows
Hint: Use message, echo and results in the chunk options. Refer to the RMarkdown Reference Guide.
Hint: Use echo and results in the chunk option. Note that this question only applies to the individual code chunk of Q6.