股票表现R

时间:2018-12-02 11:39:07

标签: r data-science quantmod stocks

我需要使用R中的quantmod软件包评估NYSE,AMEX,NASDAQ的拆分后股票表现。我的问题是我只能查找特定的符号(getSymbols()),但是我需要将数据分为非拆分公司和拆分公司,以进行比较。有谁知道我最近25年该怎么做?

谢谢

1 个答案:

答案 0 :(得分:1)

由于使用的是quantmod软件包,因此可以使用getSplits()函数来确定某股票在特定时间范围内已进行的拆分。由于您要处理大量股票,因此可以使用自定义功能获取所需的股票。

getSymbolSplit <- function(symbol,xts,date) {
  splitCheck <- getSplits(symbol,from = date)
  if(anyNA(splitCheck, recursive = FALSE)){
    xts$Split <- 0
  } else {
    xts$Split <- 1
  }
  return(xts)
}

一旦有了该功能,便可以快速将拆分添加到现有库存数据中。示例:

getSymbols('GOOG')
GOOG <- getSymbolSplit('GOOG',GOOG,'1993-01-01')

getSymbols()函数创建名为GOOG的xts,因此我们的函数检查自1993年1月1日以来是否发生任何拆分(是),并添加值为{1的列Split

getSymbols('REGN')
REGN <- getSymbolSplit('REGN',REGN,'1993-01-01')

交易相同,但REGN自1993年以来未进行过拆分,列的值为0。

现在,您有了一个明确的二进制变量,可以在给定时间范围内进行了拆分的公司之间进行分组。

作为警告,我遇到了BRK-A问题。 R通常不允许包含“-”的名称,并且在尝试传递名为BRK-A的xts时,该功能会中断。如果您的股票代码中使用-,我建议您在使用它们之前重命名它们。破折号不是唯一可能导致问题的地方。