Import stock prices
stocks <- tq_get(c("CELH", "QTUM", "NOK"),
get = "stock.prices",
from = "2020-01-01",
to = "2021-01-01")
stocks
## # A tibble: 759 × 8
## symbol date open high low close volume adjusted
## <chr> <date> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 CELH 2020-01-02 1.61 1.62 1.57 1.58 858300 1.58
## 2 CELH 2020-01-03 1.57 1.57 1.51 1.55 876000 1.55
## 3 CELH 2020-01-06 1.53 1.55 1.50 1.51 804600 1.51
## 4 CELH 2020-01-07 1.5 1.5 1.37 1.42 3549300 1.42
## 5 CELH 2020-01-08 1.42 1.48 1.42 1.46 1061100 1.46
## 6 CELH 2020-01-09 1.48 1.58 1.46 1.56 1276500 1.56
## 7 CELH 2020-01-10 1.57 1.63 1.52 1.54 717300 1.54
## 8 CELH 2020-01-13 1.54 1.62 1.52 1.60 1026600 1.60
## 9 CELH 2020-01-14 1.60 1.62 1.58 1.60 577800 1.60
## 10 CELH 2020-01-15 1.62 1.63 1.59 1.61 584100 1.61
## # ℹ 749 more rows
Plot stock prices
stocks %>%
ggplot(aes(x = date, y = adjusted, color = symbol)) +
geom_line()

Apply the dplyr verbs you learned in chapter 5
Filter Rows
stocks %>%
filter (adjusted > 24)
## # A tibble: 227 × 8
## symbol date open high low close volume adjusted
## <chr> <date> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 QTUM 2020-01-02 29.7 29.9 29.7 29.9 35700 28.3
## 2 QTUM 2020-01-03 29.6 29.8 29.6 29.7 21300 28.1
## 3 QTUM 2020-01-06 29.5 29.6 29.4 29.6 55700 27.9
## 4 QTUM 2020-01-07 29.7 29.9 29.6 29.8 54300 28.1
## 5 QTUM 2020-01-08 29.9 30.2 29.9 30.1 39300 28.4
## 6 QTUM 2020-01-09 30.4 30.5 30.1 30.3 59500 28.6
## 7 QTUM 2020-01-10 30.5 30.5 30.2 30.2 36800 28.5
## 8 QTUM 2020-01-13 30.3 30.6 30.3 30.6 24600 28.9
## 9 QTUM 2020-01-14 30.6 30.7 30.4 30.6 29100 28.9
## 10 QTUM 2020-01-15 30.5 30.5 30.3 30.3 30300 28.7
## # ℹ 217 more rows
Arrange rows
arrange(stocks, desc(open), desc(close))
## # A tibble: 759 × 8
## symbol date open high low close volume adjusted
## <chr> <date> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 QTUM 2020-12-31 41.5 41.5 41.3 41.5 16900 39.4
## 2 QTUM 2020-12-29 41.5 41.5 40.7 40.9 18700 38.9
## 3 QTUM 2020-12-28 41.5 41.5 41.2 41.2 17900 39.2
## 4 QTUM 2020-12-30 41.2 41.6 41.2 41.5 17700 39.4
## 5 QTUM 2020-12-18 41.2 41.3 40.9 40.9 53400 38.9
## 6 QTUM 2020-12-23 41.2 41.3 41.0 41.0 12500 39.0
## 7 QTUM 2020-12-09 41.0 41.2 40.1 40.3 22800 38.3
## 8 QTUM 2020-12-17 41.0 41.3 41.0 41.3 5900 39.2
## 9 QTUM 2020-12-16 41.0 41.2 40.8 40.9 12100 38.9
## 10 QTUM 2020-12-24 41.0 41.1 40.9 41.1 13500 39.0
## # ℹ 749 more rows
Select columns
select(stocks, open:volume)
## # A tibble: 759 × 5
## open high low close volume
## <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 1.61 1.62 1.57 1.58 858300
## 2 1.57 1.57 1.51 1.55 876000
## 3 1.53 1.55 1.50 1.51 804600
## 4 1.5 1.5 1.37 1.42 3549300
## 5 1.42 1.48 1.42 1.46 1061100
## 6 1.48 1.58 1.46 1.56 1276500
## 7 1.57 1.63 1.52 1.54 717300
## 8 1.54 1.62 1.52 1.60 1026600
## 9 1.60 1.62 1.58 1.60 577800
## 10 1.62 1.63 1.59 1.61 584100
## # ℹ 749 more rows
select(stocks, open, close, high, low:volume)
## # A tibble: 759 × 5
## open close high low volume
## <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 1.61 1.58 1.62 1.57 858300
## 2 1.57 1.55 1.57 1.51 876000
## 3 1.53 1.51 1.55 1.50 804600
## 4 1.5 1.42 1.5 1.37 3549300
## 5 1.42 1.46 1.48 1.42 1061100
## 6 1.48 1.56 1.58 1.46 1276500
## 7 1.57 1.54 1.63 1.52 717300
## 8 1.54 1.60 1.62 1.52 1026600
## 9 1.60 1.60 1.62 1.58 577800
## 10 1.62 1.61 1.63 1.59 584100
## # ℹ 749 more rows
Add columns
mutate(stocks,
gain = open - close)
## # A tibble: 759 × 9
## symbol date open high low close volume adjusted gain
## <chr> <date> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 CELH 2020-01-02 1.61 1.62 1.57 1.58 858300 1.58 0.0267
## 2 CELH 2020-01-03 1.57 1.57 1.51 1.55 876000 1.55 0.0167
## 3 CELH 2020-01-06 1.53 1.55 1.50 1.51 804600 1.51 0.0200
## 4 CELH 2020-01-07 1.5 1.5 1.37 1.42 3549300 1.42 0.0800
## 5 CELH 2020-01-08 1.42 1.48 1.42 1.46 1061100 1.46 -0.0400
## 6 CELH 2020-01-09 1.48 1.58 1.46 1.56 1276500 1.56 -0.0800
## 7 CELH 2020-01-10 1.57 1.63 1.52 1.54 717300 1.54 0.0267
## 8 CELH 2020-01-13 1.54 1.62 1.52 1.60 1026600 1.60 -0.0633
## 9 CELH 2020-01-14 1.60 1.62 1.58 1.60 577800 1.60 -0.00333
## 10 CELH 2020-01-15 1.62 1.63 1.59 1.61 584100 1.61 0.00667
## # ℹ 749 more rows