Here you’ll find a series of example of calls to
yf_get(). Most arguments are self-explanatory, but you can
find more details at the help files.
The steps of the algorithm are:
library(yfR)
# set options for algorithm
my_ticker <- 'GM'
first_date <- Sys.Date() - 30
last_date <- Sys.Date()
# fetch data
df_yf <- yf_get(tickers = my_ticker, 
                first_date = first_date,
                last_date = last_date)
# output is a tibble with data
head(df_yf)## # A tibble: 6 × 11
##   ticker ref_date   price_open price_high price_low price_close   volume
##   <chr>  <date>          <dbl>      <dbl>     <dbl>       <dbl>    <dbl>
## 1 GM     2025-04-21       44.5       44.7      43.8        44.4  6424600
## 2 GM     2025-04-22       45.1       45.7      44.7        45.2  8438500
## 3 GM     2025-04-23       46.5       47.4      45.7        45.8  9032800
## 4 GM     2025-04-24       46.2       47.1      45.8        46.9  7509200
## 5 GM     2025-04-25       46.5       47.6      46.5        47.1  8108100
## 6 GM     2025-04-28       47.2       47.8      46.7        47.2 15269800
## # ℹ 4 more variables: price_adjusted <dbl>, ret_adjusted_prices <dbl>,
## #   ret_closing_prices <dbl>, cumret_adjusted_prices <dbl>library(yfR)
library(ggplot2)
my_ticker <- c('TSLA', 'GM', 'MMM')
first_date <- Sys.Date() - 100
last_date <- Sys.Date()
df_yf_multiple <- yf_get(tickers = my_ticker, 
                         first_date = first_date,
                         last_date = last_date)
p <- ggplot(df_yf_multiple, aes(x = ref_date, y = price_adjusted,
                                color = ticker)) + 
  geom_line()
plibrary(yfR)
library(ggplot2)
library(dplyr)
my_ticker <- 'GE'
first_date <- '2005-01-01'
last_date <- Sys.Date()
df_dailly <- yf_get(tickers = my_ticker, 
                    first_date, last_date, 
                    freq_data = 'daily') %>%
  mutate(freq = 'daily')
df_weekly <- yf_get(tickers = my_ticker, 
                    first_date, last_date, 
                    freq_data = 'weekly') %>%
  mutate(freq = 'weekly')
df_monthly <- yf_get(tickers = my_ticker, 
                     first_date, last_date, 
                     freq_data = 'monthly') %>%
  mutate(freq = 'monthly')
df_yearly <- yf_get(tickers = my_ticker, 
                    first_date, last_date, 
                    freq_data = 'yearly') %>%
  mutate(freq = 'yearly')
# bind it all together for plotting
df_allfreq <- bind_rows(
  list(df_dailly, df_weekly, df_monthly, df_yearly)
) %>%
  mutate(freq = factor(freq, 
                       levels = c('daily', 
                                  'weekly',
                                  'monthly',
                                  'yearly'))) # make sure the order in plot is right
p <- ggplot(df_allfreq, aes(x = ref_date, y = price_adjusted)) + 
  geom_line() + 
  facet_grid(freq ~ ticker) + 
  theme_minimal() + 
  labs(x = '', y = 'Adjusted Prices')
print(p)library(yfR)
library(ggplot2)
my_ticker <- c('TSLA', 'GM', 'MMM')
first_date <- Sys.Date() - 100
last_date <- Sys.Date()
df_yf_multiple <- yf_get(tickers = my_ticker, 
                         first_date = first_date,
                         last_date = last_date)
print(df_yf_multiple)## # A tibble: 204 × 11
##    ticker ref_date   price_open price_high price_low price_close   volume
##  * <chr>  <date>          <dbl>      <dbl>     <dbl>       <dbl>    <dbl>
##  1 GM     2025-02-10       47.4       47.6      46.4        46.6  9017200
##  2 GM     2025-02-11       46.4       46.8      46.3        46.7  7058500
##  3 GM     2025-02-12       46.4       48.0      46.3        47.7 10572400
##  4 GM     2025-02-13       48.1       48.6      47.3        47.9  7748300
##  5 GM     2025-02-14       48.4       48.7      47.9        48.4  5630000
##  6 GM     2025-02-18       48.7       48.7      47.6        48.1  6967300
##  7 GM     2025-02-19       47.7       48.0      47.2        47.8  6836000
##  8 GM     2025-02-20       47.8       47.9      46.8        47.9  5801800
##  9 GM     2025-02-21       47.9       48.1      45.9        46.3  6775700
## 10 GM     2025-02-24       46.7       46.9      46.0        46.6  8127100
## # ℹ 194 more rows
## # ℹ 4 more variables: price_adjusted <dbl>, ret_adjusted_prices <dbl>,
## #   ret_closing_prices <dbl>, cumret_adjusted_prices <dbl>## [1] "price_open"             "price_high"             "price_low"             
## [4] "price_close"            "volume"                 "price_adjusted"        
## [7] "ret_adjusted_prices"    "ret_closing_prices"     "cumret_adjusted_prices"## # A tibble: 6 × 4
##   ref_date      GM   MMM  TSLA
##   <date>     <dbl> <dbl> <dbl>
## 1 2025-02-10  46.5  149.  351.
## 2 2025-02-11  46.6  149.  328.
## 3 2025-02-12  47.6  148.  337.
## 4 2025-02-13  47.8  148.  356.
## 5 2025-02-14  48.2  149.  356.
## 6 2025-02-18  48.0  149.  354.