stocks <- tq_get(c("TSLA", "MSFT", "NVDA"),
get = "stock.prices",
from = "2016-01-01")
stocks
## # A tibble: 6,558 × 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
## # ℹ 6,548 more rows
stocks %>%
ggplot(aes(x = date, y = adjusted, color = symbol)) +
geom_line()
filter(stocks, high == 1118, low == 1)
## # A tibble: 0 × 8
## # ℹ 8 variables: symbol <chr>, date <date>, open <dbl>, high <dbl>, low <dbl>,
## # close <dbl>, volume <dbl>, adjusted <dbl>
filter(stocks, high == 118 & low == 1)
## # A tibble: 0 × 8
## # ℹ 8 variables: symbol <chr>, date <date>, open <dbl>, high <dbl>, low <dbl>,
## # close <dbl>, volume <dbl>, adjusted <dbl>
filter(stocks, high == 118 | low == 1)
## # A tibble: 0 × 8
## # ℹ 8 variables: symbol <chr>, date <date>, open <dbl>, high <dbl>, low <dbl>,
## # close <dbl>, volume <dbl>, adjusted <dbl>
filter(stocks, high %in% c(100, 120))
## # A tibble: 0 × 8
## # ℹ 8 variables: symbol <chr>, date <date>, open <dbl>, high <dbl>, low <dbl>,
## # close <dbl>, volume <dbl>, adjusted <dbl>
arrange(stocks, desc(high), desc(low))
## # A tibble: 6,558 × 8
## symbol date open high low close volume adjusted
## <chr> <date> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 MSFT 2024-07-05 460. 468. 459. 468. 16000300 467.
## 2 MSFT 2024-07-08 467. 468. 464. 466. 12962300 465.
## 3 MSFT 2024-07-09 467 467. 458 460. 17207200 459.
## 4 MSFT 2024-07-10 461. 466. 459. 466. 18196100 465.
## 5 MSFT 2024-07-11 463. 465. 452. 455. 23111200 454.
## 6 MSFT 2024-07-03 458. 461. 458. 461. 9932800 460.
## 7 MSFT 2024-07-02 453. 460. 453. 459. 13979800 458.
## 8 MSFT 2024-07-01 449. 457. 446. 457. 17662800 456.
## 9 MSFT 2024-07-15 453. 457. 451. 454. 14429400 453.
## 10 MSFT 2024-07-12 454. 456. 451. 454. 16324300 453.
## # ℹ 6,548 more rows
select(stocks, symbol:date)
## # A tibble: 6,558 × 2
## symbol date
## <chr> <date>
## 1 TSLA 2016-01-04
## 2 TSLA 2016-01-05
## 3 TSLA 2016-01-06
## 4 TSLA 2016-01-07
## 5 TSLA 2016-01-08
## 6 TSLA 2016-01-11
## 7 TSLA 2016-01-12
## 8 TSLA 2016-01-13
## 9 TSLA 2016-01-14
## 10 TSLA 2016-01-15
## # ℹ 6,548 more rows
select(stocks, symbol, high, low, open)
## # A tibble: 6,558 × 4
## symbol high low open
## <chr> <dbl> <dbl> <dbl>
## 1 TSLA 15.4 14.6 15.4
## 2 TSLA 15.1 14.7 15.1
## 3 TSLA 14.7 14.4 14.7
## 4 TSLA 14.6 14.2 14.3
## 5 TSLA 14.7 14.1 14.5
## 6 TSLA 14.3 13.5 14.3
## 7 TSLA 14.2 13.7 14.1
## 8 TSLA 14.2 13.3 14.1
## 9 TSLA 14 12.9 13.5
## 10 TSLA 13.7 13.1 13.3
## # ℹ 6,548 more rows
select(stocks, symbol, high, low, open, close)
## # A tibble: 6,558 × 5
## symbol high low open close
## <chr> <dbl> <dbl> <dbl> <dbl>
## 1 TSLA 15.4 14.6 15.4 14.9
## 2 TSLA 15.1 14.7 15.1 14.9
## 3 TSLA 14.7 14.4 14.7 14.6
## 4 TSLA 14.6 14.2 14.3 14.4
## 5 TSLA 14.7 14.1 14.5 14.1
## 6 TSLA 14.3 13.5 14.3 13.9
## 7 TSLA 14.2 13.7 14.1 14.0
## 8 TSLA 14.2 13.3 14.1 13.4
## 9 TSLA 14 12.9 13.5 13.7
## 10 TSLA 13.7 13.1 13.3 13.7
## # ℹ 6,548 more rows
select(stocks, symbol, high, low, starts_with("open"))
## # A tibble: 6,558 × 4
## symbol high low open
## <chr> <dbl> <dbl> <dbl>
## 1 TSLA 15.4 14.6 15.4
## 2 TSLA 15.1 14.7 15.1
## 3 TSLA 14.7 14.4 14.7
## 4 TSLA 14.6 14.2 14.3
## 5 TSLA 14.7 14.1 14.5
## 6 TSLA 14.3 13.5 14.3
## 7 TSLA 14.2 13.7 14.1
## 8 TSLA 14.2 13.3 14.1
## 9 TSLA 14 12.9 13.5
## 10 TSLA 13.7 13.1 13.3
## # ℹ 6,548 more rows
select(stocks, symbol, high, low, contains("close"))
## # A tibble: 6,558 × 4
## symbol high low close
## <chr> <dbl> <dbl> <dbl>
## 1 TSLA 15.4 14.6 14.9
## 2 TSLA 15.1 14.7 14.9
## 3 TSLA 14.7 14.4 14.6
## 4 TSLA 14.6 14.2 14.4
## 5 TSLA 14.7 14.1 14.1
## 6 TSLA 14.3 13.5 13.9
## 7 TSLA 14.2 13.7 14.0
## 8 TSLA 14.2 13.3 13.4
## 9 TSLA 14 12.9 13.7
## 10 TSLA 13.7 13.1 13.7
## # ℹ 6,548 more rows
select(stocks, symbol, high, low, ends_with("close"))
## # A tibble: 6,558 × 4
## symbol high low close
## <chr> <dbl> <dbl> <dbl>
## 1 TSLA 15.4 14.6 14.9
## 2 TSLA 15.1 14.7 14.9
## 3 TSLA 14.7 14.4 14.6
## 4 TSLA 14.6 14.2 14.4
## 5 TSLA 14.7 14.1 14.1
## 6 TSLA 14.3 13.5 13.9
## 7 TSLA 14.2 13.7 14.0
## 8 TSLA 14.2 13.3 13.4
## 9 TSLA 14 12.9 13.7
## 10 TSLA 13.7 13.1 13.7
## # ℹ 6,548 more rows
select(stocks, symbol, high, low, ends_with("close"), everything())
## # A tibble: 6,558 × 8
## symbol high low close date open volume adjusted
## <chr> <dbl> <dbl> <dbl> <date> <dbl> <dbl> <dbl>
## 1 TSLA 15.4 14.6 14.9 2016-01-04 15.4 102406500 14.9
## 2 TSLA 15.1 14.7 14.9 2016-01-05 15.1 47802000 14.9
## 3 TSLA 14.7 14.4 14.6 2016-01-06 14.7 56686500 14.6
## 4 TSLA 14.6 14.2 14.4 2016-01-07 14.3 53314500 14.4
## 5 TSLA 14.7 14.1 14.1 2016-01-08 14.5 54421500 14.1
## 6 TSLA 14.3 13.5 13.9 2016-01-11 14.3 61371000 13.9
## 7 TSLA 14.2 13.7 14.0 2016-01-12 14.1 46378500 14.0
## 8 TSLA 14.2 13.3 13.4 2016-01-13 14.1 61896000 13.4
## 9 TSLA 14 12.9 13.7 2016-01-14 13.5 97360500 13.7
## 10 TSLA 13.7 13.1 13.7 2016-01-15 13.3 83679000 13.7
## # ℹ 6,548 more rows
mutate(stocks,
gain = high - low)
## # A tibble: 6,558 × 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
## # ℹ 6,548 more rows
stocks %>%
# Group by symbol
group_by(high) %>%
# Calculate average close
summarise(close = mean(close, na.rm = TRUE)) %>%
# Sort it
arrange(close)
## # A tibble: 6,224 × 2
## high close
## <dbl> <dbl>
## 1 0.654 0.631
## 2 0.639 0.632
## 3 0.660 0.636
## 4 0.664 0.637
## 5 0.645 0.643
## 6 0.708 0.661
## 7 0.676 0.675
## 8 0.696 0.678
## 9 0.696 0.687
## 10 0.698 0.692
## # ℹ 6,214 more rows