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