R/q_key_returns.R

Defines functions q_key_returns

q_key_returns <- function(ticker){
  library(lubridate)

  ticker_price <- q_price(ticker) %>%
    select(date,adjClose)


  ticker_price <- seq.Date(min(ticker_price$date),max(ticker_price$date),by = "days") %>%
    tibble(date = .) %>%
    left_join(ticker_price, by = "date") %>%
    fill(adjClose)

  one_week <- filter(ticker_price,date==Sys.Date()%m-%weeks(1)) %>% pull(adjClose) %>% ifelse(is_empty(.),NA,.)
  one_month <- filter(ticker_price,date==Sys.Date()%m-%months(1)) %>% pull(adjClose) %>% ifelse(is_empty(.),NA,.)
  three_month <- filter(ticker_price,date==Sys.Date()%m-%months(3)) %>% pull(adjClose) %>% ifelse(is_empty(.),NA,.)
  six_month <- filter(ticker_price,date==Sys.Date()%m-%months(6)) %>% pull(adjClose) %>% ifelse(is_empty(.),NA,.)
  ytd <- filter(ticker_price,date==last_day(Sys.Date())) %>% pull(adjClose) %>% ifelse(is_empty(.),NA,.)
  one_year <- filter(ticker_price,date==Sys.Date()%m-%years(1)) %>% pull(adjClose) %>% ifelse(is_empty(.),NA,.)
  two_year <- filter(ticker_price,date==Sys.Date()%m-%years(2)) %>% pull(adjClose) %>% ifelse(is_empty(.),NA,.)
  three_year <- filter(ticker_price,date==Sys.Date()%m-%years(3)) %>% pull(adjClose) %>% ifelse(is_empty(.),NA,.)
  five_year <- filter(ticker_price,date==Sys.Date()%m-%years(5)) %>% pull(adjClose) %>% ifelse(is_empty(.),NA,.)
  ten_year <- filter(ticker_price,date==Sys.Date()%m-%years(10)) %>% pull(adjClose) %>% ifelse(is_empty(.),NA,.)
  current_p <- filter(ticker_price,date==max(date,na.rm = T)) %>% pull(adjClose) %>% ifelse(is_empty(.),NA,.)

  tbl_returns <- tibble(name = c("1w","1m","3m","6m","YTD","1yr","2yr","3yr","5yr","10yr"),
                        value = c(one_week,one_month,three_month,six_month,
                                  ytd,one_year,two_year,
                                  three_year,five_year,
                                  ten_year)) %>%
    mutate(value = (current_p/value)-1)


  tbl_returns %>%
    spread(name,value) %>%
    mutate(symbol = ticker) %>%
    select(symbol,tbl_returns$name)



}
zac-garland/equityresearch documentation built on July 30, 2020, 2:29 p.m.