stocks <- tq_get(c("TSLA", "AMZN", "NVDA"),
get = "stock.prices",
from = "2016-01-01")
stocks
## # A tibble: 7,305 × 8
## symbol date open high low close volume adjusted
## <chr> <date> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 TSLA 2016-01-04 15.4 15.4 14.6 14.9 102406500 14.9
## 2 TSLA 2016-01-05 15.1 15.1 14.7 14.9 47802000 14.9
## 3 TSLA 2016-01-06 14.7 14.7 14.4 14.6 56686500 14.6
## 4 TSLA 2016-01-07 14.3 14.6 14.2 14.4 53314500 14.4
## 5 TSLA 2016-01-08 14.5 14.7 14.1 14.1 54421500 14.1
## 6 TSLA 2016-01-11 14.3 14.3 13.5 13.9 61371000 13.9
## 7 TSLA 2016-01-12 14.1 14.2 13.7 14.0 46378500 14.0
## 8 TSLA 2016-01-13 14.1 14.2 13.3 13.4 61896000 13.4
## 9 TSLA 2016-01-14 13.5 14 12.9 13.7 97360500 13.7
## 10 TSLA 2016-01-15 13.3 13.7 13.1 13.7 83679000 13.7
## # ℹ 7,295 more rows
stocks %>%
ggplot(aes(x = date, y = adjusted, color = symbol)) +
geom_line()
stocks %>% filter(adjusted > 23)
## # A tibble: 4,746 × 8
## symbol date open high low close volume adjusted
## <chr> <date> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 TSLA 2017-06-05 22.6 23.2 22.3 23.2 101766000 23.2
## 2 TSLA 2017-06-06 23.0 24.0 22.7 23.5 166302000 23.5
## 3 TSLA 2017-06-07 23.8 24.0 23.7 24.0 140970000 24.0
## 4 TSLA 2017-06-08 24.2 24.8 24.0 24.7 135922500 24.7
## 5 TSLA 2017-06-09 25.0 25.1 23.7 23.8 258921000 23.8
## 6 TSLA 2017-06-12 23.9 24.3 23.4 23.9 157765500 23.9
## 7 TSLA 2017-06-13 24.5 25.1 24.4 25.1 177118500 25.1
## 8 TSLA 2017-06-14 25.4 25.6 25.1 25.4 192276000 25.4
## 9 TSLA 2017-06-15 24.8 25.0 24.4 25.0 156397500 25.0
## 10 TSLA 2017-06-16 25.2 25.2 24.7 24.8 100965000 24.8
## # ℹ 4,736 more rows
arrange(stocks, desc(date))
## # A tibble: 7,305 × 8
## symbol date open high low close volume adjusted
## <chr> <date> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 TSLA 2025-09-09 348. 351. 344. 347. 53816000 347.
## 2 AMZN 2025-09-09 236. 239. 235. 238. 27033800 238.
## 3 NVDA 2025-09-09 169. 171. 167. 171. 157548400 171.
## 4 TSLA 2025-09-08 355. 358. 345. 346. 75208300 346.
## 5 AMZN 2025-09-08 235. 238. 234. 236. 33947100 236.
## 6 NVDA 2025-09-08 168. 171. 167. 168. 163769100 168.
## 7 TSLA 2025-09-05 348 356. 345. 351. 108989800 351.
## 8 AMZN 2025-09-05 235. 236 232. 232. 36721800 232.
## 9 NVDA 2025-09-05 168. 169. 164. 167. 224441400 167.
## 10 TSLA 2025-09-04 336. 339. 331. 339. 60711000 339.
## # ℹ 7,295 more rows
select(stocks, open)
## # A tibble: 7,305 × 1
## open
## <dbl>
## 1 15.4
## 2 15.1
## 3 14.7
## 4 14.3
## 5 14.5
## 6 14.3
## 7 14.1
## 8 14.1
## 9 13.5
## 10 13.3
## # ℹ 7,295 more rows
select(stocks, high)
## # A tibble: 7,305 × 1
## high
## <dbl>
## 1 15.4
## 2 15.1
## 3 14.7
## 4 14.6
## 5 14.7
## 6 14.3
## 7 14.2
## 8 14.2
## 9 14
## 10 13.7
## # ℹ 7,295 more rows
select(stocks, low)
## # A tibble: 7,305 × 1
## low
## <dbl>
## 1 14.6
## 2 14.7
## 3 14.4
## 4 14.2
## 5 14.1
## 6 13.5
## 7 13.7
## 8 13.3
## 9 12.9
## 10 13.1
## # ℹ 7,295 more rows
select(stocks, open, high, low)
## # A tibble: 7,305 × 3
## open high low
## <dbl> <dbl> <dbl>
## 1 15.4 15.4 14.6
## 2 15.1 15.1 14.7
## 3 14.7 14.7 14.4
## 4 14.3 14.6 14.2
## 5 14.5 14.7 14.1
## 6 14.3 14.3 13.5
## 7 14.1 14.2 13.7
## 8 14.1 14.2 13.3
## 9 13.5 14 12.9
## 10 13.3 13.7 13.1
## # ℹ 7,295 more rows
mutate(stocks,
gain = high - low)
## # A tibble: 7,305 × 9
## symbol date open high low close volume adjusted gain
## <chr> <date> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 TSLA 2016-01-04 15.4 15.4 14.6 14.9 102406500 14.9 0.825
## 2 TSLA 2016-01-05 15.1 15.1 14.7 14.9 47802000 14.9 0.459
## 3 TSLA 2016-01-06 14.7 14.7 14.4 14.6 56686500 14.6 0.271
## 4 TSLA 2016-01-07 14.3 14.6 14.2 14.4 53314500 14.4 0.318
## 5 TSLA 2016-01-08 14.5 14.7 14.1 14.1 54421500 14.1 0.645
## 6 TSLA 2016-01-11 14.3 14.3 13.5 13.9 61371000 13.9 0.763
## 7 TSLA 2016-01-12 14.1 14.2 13.7 14.0 46378500 14.0 0.562
## 8 TSLA 2016-01-13 14.1 14.2 13.3 13.4 61896000 13.4 0.843
## 9 TSLA 2016-01-14 13.5 14 12.9 13.7 97360500 13.7 1.11
## 10 TSLA 2016-01-15 13.3 13.7 13.1 13.7 83679000 13.7 0.521
## # ℹ 7,295 more rows
transmute(stocks,
gain = high - low)
## # A tibble: 7,305 × 1
## gain
## <dbl>
## 1 0.825
## 2 0.459
## 3 0.271
## 4 0.318
## 5 0.645
## 6 0.763
## 7 0.562
## 8 0.843
## 9 1.11
## 10 0.521
## # ℹ 7,295 more rows
##Summarise with groups
summarise(stocks, high = mean(low, na.rm = TRUE))
## # A tibble: 1 × 1
## high
## <dbl>
## 1 94.4
stocks %>%
# Remove missing values
filter(!is.na(low))
## # A tibble: 7,305 × 8
## symbol date open high low close volume adjusted
## <chr> <date> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 TSLA 2016-01-04 15.4 15.4 14.6 14.9 102406500 14.9
## 2 TSLA 2016-01-05 15.1 15.1 14.7 14.9 47802000 14.9
## 3 TSLA 2016-01-06 14.7 14.7 14.4 14.6 56686500 14.6
## 4 TSLA 2016-01-07 14.3 14.6 14.2 14.4 53314500 14.4
## 5 TSLA 2016-01-08 14.5 14.7 14.1 14.1 54421500 14.1
## 6 TSLA 2016-01-11 14.3 14.3 13.5 13.9 61371000 13.9
## 7 TSLA 2016-01-12 14.1 14.2 13.7 14.0 46378500 14.0
## 8 TSLA 2016-01-13 14.1 14.2 13.3 13.4 61896000 13.4
## 9 TSLA 2016-01-14 13.5 14 12.9 13.7 97360500 13.7
## 10 TSLA 2016-01-15 13.3 13.7 13.1 13.7 83679000 13.7
## # ℹ 7,295 more rows