Как скачать несколько цен закрытия, используя несколько тикеров И разные даты с getSymbols?

У меня есть CSV-файл с 2 столбцами: "Дата" и "Тикер". Каждая дата представляет дату покупки "Тикера" в моем личном портфолио. Например, SHOP - это тикер, который я купил 2016-24-03.

Я хотел бы использовать getSymbols, чтобы найти цену закрытия для всех приобретенных тикеров. После этого я хотел бы добавить эти цены во фрейм данных с соответствующими датой и тикером. Конечная цель - сравнить возврат тикера с доходом шпиона.

Моя проблема в том, что я не смог понять, как использовать getSymbols, потому что моя начальная дата для каждого тикера, очевидно, отличается.

> Port
     Date      Ticker  
1  2018-05-29   TRXC 
2  2018-04-27   SHOP 
3  2018-01-25   MTCH 
4  2018-12-23    TTD 
5  2018-05-22   CLNE 

1 ответ

Почему бы просто не взять данные и получить данные за последние 10 лет? dplyr отфильтровать строки по дате и символу?

Вы должны были бы установить tidyquant - install.packages("tidyquant"),

library(tidyquant)
tickers <- c("PYPL", "GOOG", "SHOP", "NVDA", "MSFT", "SPY") ####### Select the stocks to download
time_from <- "2010-01-01" ####### Starting date
time_to <- "2018-08-03" ####### Ending date

stock_returns_daily <- tickers %>%
  tq_get(get = "stock.prices",
from = time_from,
to = time_to)

compare <- stock_returns_daily %>%
  group_by(symbol) %>%
  select(symbol, date, close) %>%
  filter(symbol == c("PYPL", "SPY")) %>% ####### Select the stocks you want to compare to SPY
  filter(between(date, as.Date("2015-09-05"),as.Date("2015-09-17"))) ####### Select the date ranges you are interested in
compare

Я уверен, что есть намного более элегантное решение, но это более или менее в соответствии с тем, что вы искали? Проблема здесь в том, что вам придется редактировать строки кода, где ####### появляется для акций, которые вы хотите проанализировать.

Другие вопросы по тегам