stocks <- tq_get(c("CAT", "SITE", "DE"),
get = "stock.prices",
from = "2020-01-01",
to = "2024-01-01")
stocks
## # A tibble: 3,018 × 8
## symbol date open high low close volume adjusted
## <chr> <date> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 CAT 2020-01-02 149 151. 148. 151. 3311900 132.
## 2 CAT 2020-01-03 149. 150. 147. 148. 3100600 130.
## 3 CAT 2020-01-06 147. 149. 147. 148. 2549600 130.
## 4 CAT 2020-01-07 147. 148. 146. 146. 2841900 128.
## 5 CAT 2020-01-08 147. 149. 146. 148. 2153200 130.
## 6 CAT 2020-01-09 148. 148. 147. 147. 2272500 129.
## 7 CAT 2020-01-10 147. 148. 146. 146. 2393700 128.
## 8 CAT 2020-01-13 147. 147. 146. 147. 3355200 129.
## 9 CAT 2020-01-14 147. 148. 146. 147. 2742200 129.
## 10 CAT 2020-01-15 146. 147. 145. 146. 2640500 128.
## # ℹ 3,008 more rows
stocks %>%
ggplot(aes(x = date, y = adjusted, color = symbol)) +
geom_line()
#Apply the dplry verbs learned in chapter 5 ###########################################
stocks %>% filter(adjusted > 24)
## # A tibble: 3,018 × 8
## symbol date open high low close volume adjusted
## <chr> <date> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 CAT 2020-01-02 149 151. 148. 151. 3311900 132.
## 2 CAT 2020-01-03 149. 150. 147. 148. 3100600 130.
## 3 CAT 2020-01-06 147. 149. 147. 148. 2549600 130.
## 4 CAT 2020-01-07 147. 148. 146. 146. 2841900 128.
## 5 CAT 2020-01-08 147. 149. 146. 148. 2153200 130.
## 6 CAT 2020-01-09 148. 148. 147. 147. 2272500 129.
## 7 CAT 2020-01-10 147. 148. 146. 146. 2393700 128.
## 8 CAT 2020-01-13 147. 147. 146. 147. 3355200 129.
## 9 CAT 2020-01-14 147. 148. 146. 147. 2742200 129.
## 10 CAT 2020-01-15 146. 147. 145. 146. 2640500 128.
## # ℹ 3,008 more rows
stocks %>% arrange(desc(adjusted))
## # A tibble: 3,018 × 8
## symbol date open high low close volume adjusted
## <chr> <date> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 DE 2023-07-25 441. 450 440. 446. 1160700 428.
## 2 DE 2023-07-24 437. 447 436. 443. 1301700 425.
## 3 DE 2022-12-02 442. 448. 439. 446. 1471200 424.
## 4 DE 2023-07-20 439. 440. 435. 440. 1284900 422.
## 5 DE 2022-12-08 443. 443. 438. 443. 1200200 421.
## 6 DE 2022-12-01 440. 445. 436. 442. 1747400 420.
## 7 DE 2022-12-21 438. 445. 436. 442. 1220500 420.
## 8 DE 2023-08-14 436. 438. 434. 438. 1058500 420.
## 9 DE 2022-11-25 436. 442. 433. 441. 1135500 420.
## 10 DE 2022-11-28 437. 444. 437. 441. 1974800 420.
## # ℹ 3,008 more rows
stocks %>% select(symbol, date, adjusted)
## # A tibble: 3,018 × 3
## symbol date adjusted
## <chr> <date> <dbl>
## 1 CAT 2020-01-02 132.
## 2 CAT 2020-01-03 130.
## 3 CAT 2020-01-06 130.
## 4 CAT 2020-01-07 128.
## 5 CAT 2020-01-08 130.
## 6 CAT 2020-01-09 129.
## 7 CAT 2020-01-10 128.
## 8 CAT 2020-01-13 129.
## 9 CAT 2020-01-14 129.
## 10 CAT 2020-01-15 128.
## # ℹ 3,008 more rows
stocks %>% mutate(price_change = close - open)
## # A tibble: 3,018 × 9
## symbol date open high low close volume adjusted price_change
## <chr> <date> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 CAT 2020-01-02 149 151. 148. 151. 3311900 132. 1.53
## 2 CAT 2020-01-03 149. 150. 147. 148. 3100600 130. -0.330
## 3 CAT 2020-01-06 147. 149. 147. 148. 2549600 130. 1.07
## 4 CAT 2020-01-07 147. 148. 146. 146. 2841900 128. -0.970
## 5 CAT 2020-01-08 147. 149. 146. 148. 2153200 130. 0.850
## 6 CAT 2020-01-09 148. 148. 147. 147. 2272500 129. -0.5
## 7 CAT 2020-01-10 147. 148. 146. 146. 2393700 128. -1.32
## 8 CAT 2020-01-13 147. 147. 146. 147. 3355200 129. 0.290
## 9 CAT 2020-01-14 147. 148. 146. 147. 2742200 129. -0.770
## 10 CAT 2020-01-15 146. 147. 145. 146. 2640500 128. -0.650
## # ℹ 3,008 more rows
stocks %>%
group_by(symbol) %>%
summarize(avg_price = mean(adjusted))
## # A tibble: 3 × 2
## symbol avg_price
## <chr> <dbl>
## 1 CAT 187.
## 2 DE 308.
## 3 SITE 147.