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)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.