Import stock prices
stocks <- tq_get(c("RIVN", "LCID", "F"),
get = "stock.prices",
from = "2024-01-01")
stocks
## # A tibble: 1,269 × 8
## symbol date open high low close volume adjusted
## <chr> <date> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 RIVN 2024-01-02 21.9 21.9 20.8 21.1 49626300 21.1
## 2 RIVN 2024-01-03 20.5 20.7 19.7 20.3 35634500 20.3
## 3 RIVN 2024-01-04 19.9 20.3 19.5 19.5 28453000 19.5
## 4 RIVN 2024-01-05 19.4 19.9 19 19.1 27468400 19.1
## 5 RIVN 2024-01-08 19.1 19.6 18.9 19.6 18745500 19.6
## 6 RIVN 2024-01-09 19.6 19.8 19.2 19.2 18403000 19.2
## 7 RIVN 2024-01-10 19.3 19.4 18.9 19.1 14916700 19.1
## 8 RIVN 2024-01-11 18.9 19.1 18.3 18.8 22677600 18.8
## 9 RIVN 2024-01-12 18.4 18.9 17.8 18.1 29742200 18.1
## 10 RIVN 2024-01-16 17.7 18.0 17.1 17.8 21092800 17.8
## # ℹ 1,259 more rows
Apply the dplyer verbs you learned in chapter 5
Filter rows
stocks %>% filter(adjusted > 18)
## # A tibble: 430 × 8
## symbol date open high low close volume adjusted
## <chr> <date> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 RIVN 2024-01-02 21.9 21.9 20.8 21.1 49626300 21.1
## 2 RIVN 2024-01-03 20.5 20.7 19.7 20.3 35634500 20.3
## 3 RIVN 2024-01-04 19.9 20.3 19.5 19.5 28453000 19.5
## 4 RIVN 2024-01-05 19.4 19.9 19 19.1 27468400 19.1
## 5 RIVN 2024-01-08 19.1 19.6 18.9 19.6 18745500 19.6
## 6 RIVN 2024-01-09 19.6 19.8 19.2 19.2 18403000 19.2
## 7 RIVN 2024-01-10 19.3 19.4 18.9 19.1 14916700 19.1
## 8 RIVN 2024-01-11 18.9 19.1 18.3 18.8 22677600 18.8
## 9 RIVN 2024-01-12 18.4 18.9 17.8 18.1 29742200 18.1
## 10 RIVN 2024-07-12 16.8 18.9 16.8 18.1 97340600 18.1
## # ℹ 420 more rows
Arange rows
arrange(stocks, desc(high), desc(low))
## # A tibble: 1,269 × 8
## symbol date open high low close volume adjusted
## <chr> <date> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 LCID 2024-08-26 41.8 44.3 40.9 42.6 6418120 42.6
## 2 LCID 2024-08-27 42.9 44 38.4 41.1 4868450 41.1
## 3 LCID 2024-07-12 34.8 43.2 34.7 42.5 16778970 42.5
## 4 LCID 2024-01-02 41.7 42.9 41.1 41.5 2836080 41.5
## 5 LCID 2024-09-03 40.4 42.8 37.4 38.2 4031370 38.2
## 6 LCID 2024-08-23 38.9 42.8 38.6 42 6951410 42
## 7 LCID 2024-07-15 42 42 36 36.1 7652360 36.1
## 8 LCID 2024-01-03 41 41.2 39.5 39.6 4045240 39.6
## 9 LCID 2024-08-29 40.2 41 39.4 39.6 3103770 39.6
## 10 LCID 2024-08-30 40 40.8 39.5 40.2 3025930 40.2
## # ℹ 1,259 more rows
Select columbs
select(stocks, date:close)
## # A tibble: 1,269 × 5
## date open high low close
## <date> <dbl> <dbl> <dbl> <dbl>
## 1 2024-01-02 21.9 21.9 20.8 21.1
## 2 2024-01-03 20.5 20.7 19.7 20.3
## 3 2024-01-04 19.9 20.3 19.5 19.5
## 4 2024-01-05 19.4 19.9 19 19.1
## 5 2024-01-08 19.1 19.6 18.9 19.6
## 6 2024-01-09 19.6 19.8 19.2 19.2
## 7 2024-01-10 19.3 19.4 18.9 19.1
## 8 2024-01-11 18.9 19.1 18.3 18.8
## 9 2024-01-12 18.4 18.9 17.8 18.1
## 10 2024-01-16 17.7 18.0 17.1 17.8
## # ℹ 1,259 more rows
select(stocks, date, open, close)
## # A tibble: 1,269 × 3
## date open close
## <date> <dbl> <dbl>
## 1 2024-01-02 21.9 21.1
## 2 2024-01-03 20.5 20.3
## 3 2024-01-04 19.9 19.5
## 4 2024-01-05 19.4 19.1
## 5 2024-01-08 19.1 19.6
## 6 2024-01-09 19.6 19.2
## 7 2024-01-10 19.3 19.1
## 8 2024-01-11 18.9 18.8
## 9 2024-01-12 18.4 18.1
## 10 2024-01-16 17.7 17.8
## # ℹ 1,259 more rows
select(stocks, date, open, close, volume)
## # A tibble: 1,269 × 4
## date open close volume
## <date> <dbl> <dbl> <dbl>
## 1 2024-01-02 21.9 21.1 49626300
## 2 2024-01-03 20.5 20.3 35634500
## 3 2024-01-04 19.9 19.5 28453000
## 4 2024-01-05 19.4 19.1 27468400
## 5 2024-01-08 19.1 19.6 18745500
## 6 2024-01-09 19.6 19.2 18403000
## 7 2024-01-10 19.3 19.1 14916700
## 8 2024-01-11 18.9 18.8 22677600
## 9 2024-01-12 18.4 18.1 29742200
## 10 2024-01-16 17.7 17.8 21092800
## # ℹ 1,259 more rows
Add columbs
getSymbols("RIVN", from = "2025-01-01", to = Sys.Date(), auto.assign = TRUE)
## [1] "RIVN"
stocks <- data.frame(date = index(RIVN), coredata(RIVN))
colnames(stocks) <- c("date", "open", "high", "low", "close", "volume", "adjusted")
mutate(stocks,
gain = close - open) %>%
select(date, gain)
## date gain
## 1 2025-01-02 -0.100000381
## 2 2025-01-03 2.579999924
## 3 2025-01-06 -0.750000000
## 4 2025-01-07 -0.980000496
## 5 2025-01-08 -0.354999542
## 6 2025-01-10 -0.149999619
## 7 2025-01-13 -0.050000191
## 8 2025-01-14 -0.529999733
## 9 2025-01-15 0.044999123
## 10 2025-01-16 0.409999847
## 11 2025-01-17 -0.465000153
## 12 2025-01-21 -0.550000191
## 13 2025-01-22 -0.410000801
## 14 2025-01-23 -0.110000610
## 15 2025-01-24 0.060000420
## 16 2025-01-27 0.060000420
## 17 2025-01-28 -0.170000076
## 18 2025-01-29 0.079999924
## 19 2025-01-30 -0.059999466
## 20 2025-01-31 0.110000610
## 21 2025-02-03 0.369999886
## 22 2025-02-04 0.519999504
## 23 2025-02-05 -0.039999962
## 24 2025-02-06 -0.079999924
## 25 2025-02-07 -0.340000153
## 26 2025-02-10 0.329999924
## 27 2025-02-11 -0.350000381
## 28 2025-02-12 0.154999733
## 29 2025-02-13 0.630000114
## 30 2025-02-14 0.554999352
## 31 2025-02-18 0.659999847
## 32 2025-02-19 -0.399999619
## 33 2025-02-20 -0.320000648
## 34 2025-02-21 0.260000229
## 35 2025-02-24 -0.534999847
## 36 2025-02-25 -0.480000496
## 37 2025-02-26 -0.120000839
## 38 2025-02-27 0.100000381
## 39 2025-02-28 0.270000458
## 40 2025-03-03 -0.489999771
## 41 2025-03-04 0.110000610
## 42 2025-03-05 0.020000458
## 43 2025-03-06 0.059999466
## 44 2025-03-07 0.270000458
## 45 2025-03-10 -0.010000229
## 46 2025-03-11 -0.189999580
## 47 2025-03-12 -0.004999161
## 48 2025-03-13 -0.390000343
## 49 2025-03-14 0.015000343
## 50 2025-03-17 0.270000458
## 51 2025-03-18 0.199999809
## 52 2025-03-19 0.119999886
## 53 2025-03-20 -0.194999695
## 54 2025-03-21 0.800000191
## 55 2025-03-24 0.354999542
## 56 2025-03-25 0.159999847
## 57 2025-03-26 -0.460000038
## 58 2025-03-27 0.880000114
## 59 2025-03-28 -0.585000038
## 60 2025-03-31 0.420000076
## 61 2025-04-01 0.814999580
## 62 2025-04-02 -0.320000648
## 63 2025-04-03 -0.244999886
## 64 2025-04-04 -0.019999504
## 65 2025-04-07 0.640000343
## 66 2025-04-08 -0.750999451
## 67 2025-04-09 0.990000725
## 68 2025-04-10 -0.015000343
## 69 2025-04-11 0.060000420
## 70 2025-04-14 0.389999390
## 71 2025-04-15 0.010000229
## 72 2025-04-16 -0.150000572
## 73 2025-04-17 0.070000648
## 74 2025-04-21 -0.335000038
## 75 2025-04-22 0.039999962
## 76 2025-04-23 0.029999733
## 77 2025-04-24 0.220000267
## 78 2025-04-25 0.585000038
## 79 2025-04-28 0.429999352
## 80 2025-04-29 0.150000572
## 81 2025-04-30 0.769999504
## 82 2025-05-01 0.039999962
## 83 2025-05-02 -0.220000267
## 84 2025-05-05 -0.149999619
## 85 2025-05-06 0.119999886
## 86 2025-05-07 -0.729999542
## 87 2025-05-08 0.760000229
## 88 2025-05-09 0.550000191
## 89 2025-05-12 -0.179999352
## 90 2025-05-13 0.149999619
## 91 2025-05-14 0.164999962
## 92 2025-05-15 0.659999847
## 93 2025-05-16 0.430000305
## 94 2025-05-19 0.850001335
## 95 2025-05-20 0.610000610
## 96 2025-05-21 -0.369998932
## 97 2025-05-22 -0.280000687
## 98 2025-05-23 0.020000458
## 99 2025-05-27 -0.569999695
## 100 2025-05-28 0.079999924
## 101 2025-05-29 -0.664999962
## 102 2025-05-30 -0.435000420
## 103 2025-06-02 -0.299999237
## 104 2025-06-03 0.180000305
## 105 2025-06-04 -0.359999657
## 106 2025-06-05 -0.244999886
## 107 2025-06-06 0.085000038
## 108 2025-06-09 0.250000000
## 109 2025-06-10 -0.190000534
## 110 2025-06-11 -0.404999733
## 111 2025-06-12 -0.069999695
## 112 2025-06-13 -0.154999733
## 113 2025-06-16 0.130000114
## 114 2025-06-17 -0.085000038
## 115 2025-06-18 0.330000877
## 116 2025-06-20 -0.360000610
## 117 2025-06-23 0.119999886
## 118 2025-06-24 -0.024999619
## 119 2025-06-25 -0.125000000
## 120 2025-06-26 0.119999886
## 121 2025-06-27 -0.344999313
## 122 2025-06-30 0.139999390
## 123 2025-07-01 -0.074999809
## 124 2025-07-02 -0.430000305
## 125 2025-07-03 0.099999428
## 126 2025-07-07 -0.130000114
## 127 2025-07-08 0.340000153
## 128 2025-07-09 0.010000229
## 129 2025-07-10 0.104999542
## 130 2025-07-11 -0.150000572
## 131 2025-07-14 -0.100999832
## 132 2025-07-15 -0.170000076
## 133 2025-07-16 -0.309999466
## 134 2025-07-17 0.159999847
## 135 2025-07-18 0.670000076
## 136 2025-07-21 -0.215000153
## 137 2025-07-22 0.470000267
## 138 2025-07-23 -0.189999580
## 139 2025-07-24 0.034999847
## 140 2025-07-25 0.119999886
## 141 2025-07-28 -0.265000343
## 142 2025-07-29 -0.710000038
## 143 2025-07-30 -0.079999924
## 144 2025-07-31 -0.125000000
## 145 2025-08-01 -0.269999504
## 146 2025-08-04 -0.150000572
## 147 2025-08-05 -0.329999924
## 148 2025-08-06 -0.034999847
## 149 2025-08-07 0.299999237
## 150 2025-08-08 -0.289999962
## 151 2025-08-11 0.050000191
## 152 2025-08-12 -0.109999657
## 153 2025-08-13 0.279999733
## 154 2025-08-14 -0.004999161
## 155 2025-08-15 0.210000038
## 156 2025-08-18 0.130000114
## 157 2025-08-19 -0.199999809
## 158 2025-08-20 -0.105000496
## 159 2025-08-21 0.079999924
## 160 2025-08-22 0.920000076
## 161 2025-08-25 0.059999466
## 162 2025-08-26 0.100000381
## 163 2025-08-27 -0.029999733
## 164 2025-08-28 0.300000191
## 165 2025-08-29 -0.079999924
## 166 2025-09-02 0.569999695
## 167 2025-09-03 0.539999962
## 168 2025-09-04 -0.659999847
## 169 2025-09-05 0.470000267
## 170 2025-09-08 -0.244999886
## 171 2025-09-09 -0.060000420
mutate(stocks,
gain = close - open) %>%
select(gain)
## gain
## 1 -0.100000381
## 2 2.579999924
## 3 -0.750000000
## 4 -0.980000496
## 5 -0.354999542
## 6 -0.149999619
## 7 -0.050000191
## 8 -0.529999733
## 9 0.044999123
## 10 0.409999847
## 11 -0.465000153
## 12 -0.550000191
## 13 -0.410000801
## 14 -0.110000610
## 15 0.060000420
## 16 0.060000420
## 17 -0.170000076
## 18 0.079999924
## 19 -0.059999466
## 20 0.110000610
## 21 0.369999886
## 22 0.519999504
## 23 -0.039999962
## 24 -0.079999924
## 25 -0.340000153
## 26 0.329999924
## 27 -0.350000381
## 28 0.154999733
## 29 0.630000114
## 30 0.554999352
## 31 0.659999847
## 32 -0.399999619
## 33 -0.320000648
## 34 0.260000229
## 35 -0.534999847
## 36 -0.480000496
## 37 -0.120000839
## 38 0.100000381
## 39 0.270000458
## 40 -0.489999771
## 41 0.110000610
## 42 0.020000458
## 43 0.059999466
## 44 0.270000458
## 45 -0.010000229
## 46 -0.189999580
## 47 -0.004999161
## 48 -0.390000343
## 49 0.015000343
## 50 0.270000458
## 51 0.199999809
## 52 0.119999886
## 53 -0.194999695
## 54 0.800000191
## 55 0.354999542
## 56 0.159999847
## 57 -0.460000038
## 58 0.880000114
## 59 -0.585000038
## 60 0.420000076
## 61 0.814999580
## 62 -0.320000648
## 63 -0.244999886
## 64 -0.019999504
## 65 0.640000343
## 66 -0.750999451
## 67 0.990000725
## 68 -0.015000343
## 69 0.060000420
## 70 0.389999390
## 71 0.010000229
## 72 -0.150000572
## 73 0.070000648
## 74 -0.335000038
## 75 0.039999962
## 76 0.029999733
## 77 0.220000267
## 78 0.585000038
## 79 0.429999352
## 80 0.150000572
## 81 0.769999504
## 82 0.039999962
## 83 -0.220000267
## 84 -0.149999619
## 85 0.119999886
## 86 -0.729999542
## 87 0.760000229
## 88 0.550000191
## 89 -0.179999352
## 90 0.149999619
## 91 0.164999962
## 92 0.659999847
## 93 0.430000305
## 94 0.850001335
## 95 0.610000610
## 96 -0.369998932
## 97 -0.280000687
## 98 0.020000458
## 99 -0.569999695
## 100 0.079999924
## 101 -0.664999962
## 102 -0.435000420
## 103 -0.299999237
## 104 0.180000305
## 105 -0.359999657
## 106 -0.244999886
## 107 0.085000038
## 108 0.250000000
## 109 -0.190000534
## 110 -0.404999733
## 111 -0.069999695
## 112 -0.154999733
## 113 0.130000114
## 114 -0.085000038
## 115 0.330000877
## 116 -0.360000610
## 117 0.119999886
## 118 -0.024999619
## 119 -0.125000000
## 120 0.119999886
## 121 -0.344999313
## 122 0.139999390
## 123 -0.074999809
## 124 -0.430000305
## 125 0.099999428
## 126 -0.130000114
## 127 0.340000153
## 128 0.010000229
## 129 0.104999542
## 130 -0.150000572
## 131 -0.100999832
## 132 -0.170000076
## 133 -0.309999466
## 134 0.159999847
## 135 0.670000076
## 136 -0.215000153
## 137 0.470000267
## 138 -0.189999580
## 139 0.034999847
## 140 0.119999886
## 141 -0.265000343
## 142 -0.710000038
## 143 -0.079999924
## 144 -0.125000000
## 145 -0.269999504
## 146 -0.150000572
## 147 -0.329999924
## 148 -0.034999847
## 149 0.299999237
## 150 -0.289999962
## 151 0.050000191
## 152 -0.109999657
## 153 0.279999733
## 154 -0.004999161
## 155 0.210000038
## 156 0.130000114
## 157 -0.199999809
## 158 -0.105000496
## 159 0.079999924
## 160 0.920000076
## 161 0.059999466
## 162 0.100000381
## 163 -0.029999733
## 164 0.300000191
## 165 -0.079999924
## 166 0.569999695
## 167 0.539999962
## 168 -0.659999847
## 169 0.470000267
## 170 -0.244999886
## 171 -0.060000420
transmute(stocks,
gain = close - open)
## gain
## 1 -0.100000381
## 2 2.579999924
## 3 -0.750000000
## 4 -0.980000496
## 5 -0.354999542
## 6 -0.149999619
## 7 -0.050000191
## 8 -0.529999733
## 9 0.044999123
## 10 0.409999847
## 11 -0.465000153
## 12 -0.550000191
## 13 -0.410000801
## 14 -0.110000610
## 15 0.060000420
## 16 0.060000420
## 17 -0.170000076
## 18 0.079999924
## 19 -0.059999466
## 20 0.110000610
## 21 0.369999886
## 22 0.519999504
## 23 -0.039999962
## 24 -0.079999924
## 25 -0.340000153
## 26 0.329999924
## 27 -0.350000381
## 28 0.154999733
## 29 0.630000114
## 30 0.554999352
## 31 0.659999847
## 32 -0.399999619
## 33 -0.320000648
## 34 0.260000229
## 35 -0.534999847
## 36 -0.480000496
## 37 -0.120000839
## 38 0.100000381
## 39 0.270000458
## 40 -0.489999771
## 41 0.110000610
## 42 0.020000458
## 43 0.059999466
## 44 0.270000458
## 45 -0.010000229
## 46 -0.189999580
## 47 -0.004999161
## 48 -0.390000343
## 49 0.015000343
## 50 0.270000458
## 51 0.199999809
## 52 0.119999886
## 53 -0.194999695
## 54 0.800000191
## 55 0.354999542
## 56 0.159999847
## 57 -0.460000038
## 58 0.880000114
## 59 -0.585000038
## 60 0.420000076
## 61 0.814999580
## 62 -0.320000648
## 63 -0.244999886
## 64 -0.019999504
## 65 0.640000343
## 66 -0.750999451
## 67 0.990000725
## 68 -0.015000343
## 69 0.060000420
## 70 0.389999390
## 71 0.010000229
## 72 -0.150000572
## 73 0.070000648
## 74 -0.335000038
## 75 0.039999962
## 76 0.029999733
## 77 0.220000267
## 78 0.585000038
## 79 0.429999352
## 80 0.150000572
## 81 0.769999504
## 82 0.039999962
## 83 -0.220000267
## 84 -0.149999619
## 85 0.119999886
## 86 -0.729999542
## 87 0.760000229
## 88 0.550000191
## 89 -0.179999352
## 90 0.149999619
## 91 0.164999962
## 92 0.659999847
## 93 0.430000305
## 94 0.850001335
## 95 0.610000610
## 96 -0.369998932
## 97 -0.280000687
## 98 0.020000458
## 99 -0.569999695
## 100 0.079999924
## 101 -0.664999962
## 102 -0.435000420
## 103 -0.299999237
## 104 0.180000305
## 105 -0.359999657
## 106 -0.244999886
## 107 0.085000038
## 108 0.250000000
## 109 -0.190000534
## 110 -0.404999733
## 111 -0.069999695
## 112 -0.154999733
## 113 0.130000114
## 114 -0.085000038
## 115 0.330000877
## 116 -0.360000610
## 117 0.119999886
## 118 -0.024999619
## 119 -0.125000000
## 120 0.119999886
## 121 -0.344999313
## 122 0.139999390
## 123 -0.074999809
## 124 -0.430000305
## 125 0.099999428
## 126 -0.130000114
## 127 0.340000153
## 128 0.010000229
## 129 0.104999542
## 130 -0.150000572
## 131 -0.100999832
## 132 -0.170000076
## 133 -0.309999466
## 134 0.159999847
## 135 0.670000076
## 136 -0.215000153
## 137 0.470000267
## 138 -0.189999580
## 139 0.034999847
## 140 0.119999886
## 141 -0.265000343
## 142 -0.710000038
## 143 -0.079999924
## 144 -0.125000000
## 145 -0.269999504
## 146 -0.150000572
## 147 -0.329999924
## 148 -0.034999847
## 149 0.299999237
## 150 -0.289999962
## 151 0.050000191
## 152 -0.109999657
## 153 0.279999733
## 154 -0.004999161
## 155 0.210000038
## 156 0.130000114
## 157 -0.199999809
## 158 -0.105000496
## 159 0.079999924
## 160 0.920000076
## 161 0.059999466
## 162 0.100000381
## 163 -0.029999733
## 164 0.300000191
## 165 -0.079999924
## 166 0.569999695
## 167 0.539999962
## 168 -0.659999847
## 169 0.470000267
## 170 -0.244999886
## 171 -0.060000420
select(stocks, date, close) %>%
mutate(close_lag1 = lag(close))
## date close close_lag1
## 1 2025-01-02 13.250 NA
## 2 2025-01-03 16.490 13.250
## 3 2025-01-06 15.715 16.490
## 4 2025-01-07 14.950 15.715
## 5 2025-01-08 14.210 14.950
## 6 2025-01-10 13.850 14.210
## 7 2025-01-13 13.490 13.850
## 8 2025-01-14 13.340 13.490
## 9 2025-01-15 13.940 13.340
## 10 2025-01-16 14.440 13.940
## 11 2025-01-17 14.210 14.440
## 12 2025-01-21 13.290 14.210
## 13 2025-01-22 12.690 13.290
## 14 2025-01-23 12.490 12.690
## 15 2025-01-24 12.770 12.490
## 16 2025-01-27 12.850 12.770
## 17 2025-01-28 12.710 12.850
## 18 2025-01-29 12.420 12.710
## 19 2025-01-30 12.510 12.420
## 20 2025-01-31 12.560 12.510
## 21 2025-02-03 12.390 12.560
## 22 2025-02-04 12.870 12.390
## 23 2025-02-05 12.770 12.870
## 24 2025-02-06 12.800 12.770
## 25 2025-02-07 12.480 12.800
## 26 2025-02-10 12.990 12.480
## 27 2025-02-11 12.440 12.990
## 28 2025-02-12 12.480 12.440
## 29 2025-02-13 13.300 12.480
## 30 2025-02-14 14.030 13.300
## 31 2025-02-18 14.440 14.030
## 32 2025-02-19 13.930 14.440
## 33 2025-02-20 13.610 13.930
## 34 2025-02-21 12.970 13.610
## 35 2025-02-24 11.960 12.970
## 36 2025-02-25 11.450 11.960
## 37 2025-02-26 11.400 11.450
## 38 2025-02-27 11.600 11.400
## 39 2025-02-28 11.840 11.600
## 40 2025-03-03 11.510 11.840
## 41 2025-03-04 11.260 11.510
## 42 2025-03-05 11.420 11.260
## 43 2025-03-06 11.030 11.420
## 44 2025-03-07 11.170 11.030
## 45 2025-03-10 10.960 11.170
## 46 2025-03-11 10.790 10.960
## 47 2025-03-12 11.060 10.790
## 48 2025-03-13 10.610 11.060
## 49 2025-03-14 10.750 10.610
## 50 2025-03-17 11.020 10.750
## 51 2025-03-18 11.200 11.020
## 52 2025-03-19 11.360 11.200
## 53 2025-03-20 10.880 11.360
## 54 2025-03-21 11.600 10.880
## 55 2025-03-24 12.190 11.600
## 56 2025-03-25 12.360 12.190
## 57 2025-03-26 12.100 12.360
## 58 2025-03-27 13.020 12.100
## 59 2025-03-28 12.410 13.020
## 60 2025-03-31 12.450 12.410
## 61 2025-04-01 13.280 12.450
## 62 2025-04-02 12.490 13.280
## 63 2025-04-03 11.530 12.490
## 64 2025-04-04 11.210 11.530
## 65 2025-04-07 11.210 11.210
## 66 2025-04-08 10.800 11.210
## 67 2025-04-09 11.770 10.800
## 68 2025-04-10 11.460 11.770
## 69 2025-04-11 11.470 11.460
## 70 2025-04-14 12.030 11.470
## 71 2025-04-15 11.910 12.030
## 72 2025-04-16 11.490 11.910
## 73 2025-04-17 11.600 11.490
## 74 2025-04-21 11.150 11.600
## 75 2025-04-22 11.360 11.150
## 76 2025-04-23 11.800 11.360
## 77 2025-04-24 12.090 11.800
## 78 2025-04-25 12.620 12.090
## 79 2025-04-28 13.190 12.620
## 80 2025-04-29 13.300 13.190
## 81 2025-04-30 13.660 13.300
## 82 2025-05-01 13.760 13.660
## 83 2025-05-02 13.830 13.760
## 84 2025-05-05 13.550 13.830
## 85 2025-05-06 13.500 13.550
## 86 2025-05-07 12.720 13.500
## 87 2025-05-08 13.680 12.720
## 88 2025-05-09 14.260 13.680
## 89 2025-05-12 14.640 14.260
## 90 2025-05-13 14.870 14.640
## 91 2025-05-14 14.820 14.870
## 92 2025-05-15 15.300 14.820
## 93 2025-05-16 15.810 15.300
## 94 2025-05-19 16.290 15.810
## 95 2025-05-20 16.920 16.290
## 96 2025-05-21 16.340 16.920
## 97 2025-05-22 15.910 16.340
## 98 2025-05-23 15.630 15.910
## 99 2025-05-27 15.370 15.630
## 100 2025-05-28 15.480 15.370
## 101 2025-05-29 15.005 15.480
## 102 2025-05-30 14.530 15.005
## 103 2025-06-02 14.100 14.530
## 104 2025-06-03 14.370 14.100
## 105 2025-06-04 14.010 14.370
## 106 2025-06-05 13.780 14.010
## 107 2025-06-06 14.000 13.780
## 108 2025-06-09 14.400 14.000
## 109 2025-06-10 14.400 14.400
## 110 2025-06-11 14.200 14.400
## 111 2025-06-12 13.910 14.200
## 112 2025-06-13 13.420 13.910
## 113 2025-06-16 13.760 13.420
## 114 2025-06-17 13.390 13.760
## 115 2025-06-18 13.770 13.390
## 116 2025-06-20 13.570 13.770
## 117 2025-06-23 13.650 13.570
## 118 2025-06-24 13.810 13.650
## 119 2025-06-25 13.760 13.810
## 120 2025-06-26 13.910 13.760
## 121 2025-06-27 13.600 13.910
## 122 2025-06-30 13.740 13.600
## 123 2025-07-01 13.470 13.740
## 124 2025-07-02 12.870 13.470
## 125 2025-07-03 13.070 12.870
## 126 2025-07-07 12.750 13.070
## 127 2025-07-08 13.130 12.750
## 128 2025-07-09 13.200 13.130
## 129 2025-07-10 13.320 13.200
## 130 2025-07-11 13.030 13.320
## 131 2025-07-14 12.750 13.030
## 132 2025-07-15 12.630 12.750
## 133 2025-07-16 12.390 12.630
## 134 2025-07-17 12.900 12.390
## 135 2025-07-18 13.700 12.900
## 136 2025-07-21 13.700 13.700
## 137 2025-07-22 14.120 13.700
## 138 2025-07-23 14.020 14.120
## 139 2025-07-24 13.820 14.020
## 140 2025-07-25 14.010 13.820
## 141 2025-07-28 13.780 14.010
## 142 2025-07-29 13.060 13.780
## 143 2025-07-30 13.030 13.060
## 144 2025-07-31 12.870 13.030
## 145 2025-08-01 12.380 12.870
## 146 2025-08-04 12.410 12.380
## 147 2025-08-05 12.150 12.410
## 148 2025-08-06 11.640 12.150
## 149 2025-08-07 12.070 11.640
## 150 2025-08-08 11.790 12.070
## 151 2025-08-11 11.930 11.790
## 152 2025-08-12 11.970 11.930
## 153 2025-08-13 12.280 11.970
## 154 2025-08-14 12.060 12.280
## 155 2025-08-15 12.240 12.060
## 156 2025-08-18 12.410 12.240
## 157 2025-08-19 12.250 12.410
## 158 2025-08-20 12.070 12.250
## 159 2025-08-21 12.120 12.070
## 160 2025-08-22 13.090 12.120
## 161 2025-08-25 13.110 13.090
## 162 2025-08-26 13.210 13.110
## 163 2025-08-27 13.220 13.210
## 164 2025-08-28 13.640 13.220
## 165 2025-08-29 13.570 13.640
## 166 2025-09-02 13.870 13.570
## 167 2025-09-03 14.440 13.870
## 168 2025-09-04 13.700 14.440
## 169 2025-09-05 14.210 13.700
## 170 2025-09-08 13.990 14.210
## 171 2025-09-09 13.940 13.990
select(stocks, date, volume) %>%
mutate(volume_cumsum = cumsum(volume))
## date volume volume_cumsum
## 1 2025-01-02 30449400 30449400
## 2 2025-01-03 124581800 155031200
## 3 2025-01-06 58377100 213408300
## 4 2025-01-07 35938000 249346300
## 5 2025-01-08 33065300 282411600
## 6 2025-01-10 23209000 305620600
## 7 2025-01-13 28042700 333663300
## 8 2025-01-14 30031800 363695100
## 9 2025-01-15 28674500 392369600
## 10 2025-01-16 38996400 431366000
## 11 2025-01-17 65184000 496550000
## 12 2025-01-21 44540100 541090100
## 13 2025-01-22 35488200 576578300
## 14 2025-01-23 39181600 615759900
## 15 2025-01-24 31519400 647279300
## 16 2025-01-27 32343300 679622600
## 17 2025-01-28 23184600 702807200
## 18 2025-01-29 21378100 724185300
## 19 2025-01-30 17914700 742100000
## 20 2025-01-31 20333600 762433600
## 21 2025-02-03 21909900 784343500
## 22 2025-02-04 18953000 803296500
## 23 2025-02-05 13827200 817123700
## 24 2025-02-06 21519500 838643200
## 25 2025-02-07 16701800 855345000
## 26 2025-02-10 22456300 877801300
## 27 2025-02-11 25126200 902927500
## 28 2025-02-12 21507200 924434700
## 29 2025-02-13 27587500 952022200
## 30 2025-02-14 33953000 985975200
## 31 2025-02-18 39963200 1025938400
## 32 2025-02-19 28841200 1054779600
## 33 2025-02-20 53113600 1107893200
## 34 2025-02-21 70455100 1178348300
## 35 2025-02-24 56949900 1235298200
## 36 2025-02-25 36379100 1271677300
## 37 2025-02-26 29864400 1301541700
## 38 2025-02-27 31121300 1332663000
## 39 2025-02-28 30926800 1363589800
## 40 2025-03-03 27909700 1391499500
## 41 2025-03-04 31774700 1423274200
## 42 2025-03-05 19063300 1442337500
## 43 2025-03-06 23164800 1465502300
## 44 2025-03-07 27898100 1493400400
## 45 2025-03-10 29226300 1522626700
## 46 2025-03-11 25110900 1547737600
## 47 2025-03-12 22142000 1569879600
## 48 2025-03-13 25293800 1595173400
## 49 2025-03-14 19902000 1615075400
## 50 2025-03-17 22395400 1637470800
## 51 2025-03-18 32767000 1670237800
## 52 2025-03-19 20744300 1690982100
## 53 2025-03-20 29439100 1720421200
## 54 2025-03-21 36684600 1757105800
## 55 2025-03-24 33462400 1790568200
## 56 2025-03-25 22158000 1812726200
## 57 2025-03-26 27753600 1840479800
## 58 2025-03-27 62257100 1902736900
## 59 2025-03-28 35943500 1938680400
## 60 2025-03-31 29697100 1968377500
## 61 2025-04-01 45477400 2013854900
## 62 2025-04-02 54692600 2068547500
## 63 2025-04-03 38259500 2106807000
## 64 2025-04-04 34797900 2141604900
## 65 2025-04-07 40512200 2182117100
## 66 2025-04-08 41876000 2223993100
## 67 2025-04-09 43372900 2267366000
## 68 2025-04-10 25430700 2292796700
## 69 2025-04-11 22906900 2315703600
## 70 2025-04-14 26872000 2342575600
## 71 2025-04-15 21002700 2363578300
## 72 2025-04-16 33313100 2396891400
## 73 2025-04-17 16103300 2412994700
## 74 2025-04-21 24615700 2437610400
## 75 2025-04-22 23025700 2460636100
## 76 2025-04-23 27987800 2488623900
## 77 2025-04-24 19788600 2508412500
## 78 2025-04-25 24483100 2532895600
## 79 2025-04-28 33541000 2566436600
## 80 2025-04-29 18419200 2584855800
## 81 2025-04-30 48760500 2633616300
## 82 2025-05-01 31917000 2665533300
## 83 2025-05-02 27224000 2692757300
## 84 2025-05-05 25460100 2718217400
## 85 2025-05-06 35961300 2754178700
## 86 2025-05-07 56926300 2811105000
## 87 2025-05-08 50103700 2861208700
## 88 2025-05-09 50580800 2911789500
## 89 2025-05-12 35622500 2947412000
## 90 2025-05-13 35004700 2982416700
## 91 2025-05-14 47996500 3030413200
## 92 2025-05-15 55059200 3085472400
## 93 2025-05-16 32231900 3117704300
## 94 2025-05-19 43922000 3161626300
## 95 2025-05-20 63759100 3225385400
## 96 2025-05-21 46878400 3272263800
## 97 2025-05-22 28115800 3300379600
## 98 2025-05-23 21795000 3322174600
## 99 2025-05-27 36961400 3359136000
## 100 2025-05-28 23048100 3382184100
## 101 2025-05-29 25175200 3407359300
## 102 2025-05-30 40113300 3447472600
## 103 2025-06-02 27357400 3474830000
## 104 2025-06-03 22945600 3497775600
## 105 2025-06-04 26241100 3524016700
## 106 2025-06-05 34888200 3558904900
## 107 2025-06-06 24451500 3583356400
## 108 2025-06-09 27172700 3610529100
## 109 2025-06-10 19586300 3630115400
## 110 2025-06-11 20827200 3650942600
## 111 2025-06-12 14829200 3665771800
## 112 2025-06-13 26990400 3692762200
## 113 2025-06-16 26498600 3719260800
## 114 2025-06-17 21409600 3740670400
## 115 2025-06-18 15930900 3756601300
## 116 2025-06-20 28260200 3784861500
## 117 2025-06-23 22204000 3807065500
## 118 2025-06-24 17736500 3824802000
## 119 2025-06-25 14584900 3839386900
## 120 2025-06-26 17763100 3857150000
## 121 2025-06-27 27501900 3884651900
## 122 2025-06-30 18768700 3903420600
## 123 2025-07-01 30282100 3933702700
## 124 2025-07-02 42320400 3976023100
## 125 2025-07-03 21513400 3997536500
## 126 2025-07-07 34462300 4031998800
## 127 2025-07-08 28302900 4060301700
## 128 2025-07-09 16207100 4076508800
## 129 2025-07-10 20665200 4097174000
## 130 2025-07-11 21163700 4118337700
## 131 2025-07-14 28208300 4146546000
## 132 2025-07-15 27878300 4174424300
## 133 2025-07-16 41553000 4215977300
## 134 2025-07-17 52110700 4268088000
## 135 2025-07-18 48648400 4316736400
## 136 2025-07-21 35627000 4352363400
## 137 2025-07-22 45193500 4397556900
## 138 2025-07-23 38372200 4435929100
## 139 2025-07-24 39294600 4475223700
## 140 2025-07-25 51134500 4526358200
## 141 2025-07-28 22639700 4548997900
## 142 2025-07-29 38882200 4587880100
## 143 2025-07-30 37652100 4625532200
## 144 2025-07-31 37911500 4663443700
## 145 2025-08-01 42548400 4705992100
## 146 2025-08-04 45497100 4751489200
## 147 2025-08-05 67997400 4819486600
## 148 2025-08-06 67072700 4886559300
## 149 2025-08-07 33230100 4919789400
## 150 2025-08-08 31601200 4951390600
## 151 2025-08-11 40349800 4991740400
## 152 2025-08-12 33584100 5025324500
## 153 2025-08-13 25094800 5050419300
## 154 2025-08-14 38053200 5088472500
## 155 2025-08-15 51961800 5140434300
## 156 2025-08-18 38394400 5178828700
## 157 2025-08-19 48702000 5227530700
## 158 2025-08-20 45077400 5272608100
## 159 2025-08-21 42737000 5315345100
## 160 2025-08-22 64603100 5379948200
## 161 2025-08-25 46841300 5426789500
## 162 2025-08-26 53099500 5479889000
## 163 2025-08-27 38969800 5518858800
## 164 2025-08-28 31625800 5550484600
## 165 2025-08-29 39634100 5590118700
## 166 2025-09-02 51257800 5641376500
## 167 2025-09-03 77654700 5719031200
## 168 2025-09-04 82734000 5801765200
## 169 2025-09-05 87135100 5888900300
## 170 2025-09-08 54560700 5943461000
## 171 2025-09-09 30599700 5974060700
Sumarize with groups
stocks %>%
mutate(gain = close - open) %>%
group_by(round(gain, 0)) %>%
summarise(count = n()) %>%
arrange(desc(count))
## # A tibble: 4 × 2
## `round(gain, 0)` count
## <dbl> <int>
## 1 0 138
## 2 1 20
## 3 -1 12
## 4 3 1
monthly_gains <- stocks %>%
mutate(month = format(date, "%Y-%m")) %>%
group_by(month) %>%
summarise(avg_gain = mean(close - open, na.rm = TRUE)) %>%
ungroup()
stocks %>%
mutate(year = format(date, "%Y"),
month = format(date, "%m"),
day = format(date, "%d")) %>%
group_by(year, month, day) %>%
summarise(count = n(), .groups = "drop")
## # A tibble: 171 × 4
## year month day count
## <chr> <chr> <chr> <int>
## 1 2025 01 02 1
## 2 2025 01 03 1
## 3 2025 01 06 1
## 4 2025 01 07 1
## 5 2025 01 08 1
## 6 2025 01 10 1
## 7 2025 01 13 1
## 8 2025 01 14 1
## 9 2025 01 15 1
## 10 2025 01 16 1
## # ℹ 161 more rows