0

我有一个包含 2 列的 csv 文件:“日期”和“代码”。每个日期代表在我的个人投资组合中购买“Ticker”的日期。例如,SHOP 是我在 2016-24-03 购买的股票代码。

我想使用 getSymbols 来查找我购买的所有股票的收盘价。这样做之后,我想将这些价格与它们各自的日期和代码添加到数据框中。最终目标是比较股票代码的回报与 SPY 的回报。

我的问题是我无法弄清楚如何使用 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 
4

1 回答 1

0

为什么不直接抓取数据,一旦您拥有过去 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

我确信那里有一个更优雅的解决方案,但这或多或少符合您正在寻找的路线?这里的问题是您必须编辑#######要分析的股票出现的代码行。

于 2018-08-06T13:57:32.360 回答