【问题标题】:Problems with the "^" sign in ^GSPC in QuantstratQuantstrat 中 ^GSPC 中“^”符号的问题
【发布时间】:2019-05-10 10:33:17
【问题描述】:

为了检索股票价格数据,我做了以下操作:

options("getSymbols.warning4.0" = FALSE)
tickers <- c("^GSPC","AAPL")
startDate = "1990-01-01"
from = "2006-01-01"
to = "2009-12-31"
getSymbols(tickers, from = from, to = to)

但是,当我尝试使用 Quantstrat 将我的策略应用于我的投资组合时,出现了错误:

> try(applyStrategy(strategy = strategy.st, portfolios = portfolio.st))
Error in get(symbol, envir = envir) : object '^GSPC' not found

使用其他股票代码(例如 NVDA、IBM、ATVI 等)运行它没有问题。我认为问题在于运行 getSymbols 函数后,全局环境中的 GSPC 中缺少“^”。

这是我的投资组合的初始化:

initPortf(name = portfolio.st,
          symbols = tickers,
          initDate = startDate,
          currency = "USD")

由于符号正在调用包含“^GSPC”的代码,并且只有“GSPC”可用,我相信这就是错误浮出水面的原因,指出未找到“^GSPC”。

有没有什么有效的方法来解决这个问题?感谢您的宝贵时间。

【问题讨论】:

    标签: r quantmod quantstrat


    【解决方案1】:

    一种解决方案是使用stringr 库中的str_replace_all 函数从非字母数字字符中清除tickers,然后将其作为symbols 参数提供给quantstrat。

    library(stringer)
    str_replace_all(tickers, "[^[:alnum:]]", “")
    

    如果您只想去掉插入符号:

    str_replace_all(tickers, "[['^']]", “”)
    

    另一个选项是使用gsub删除不需要的字符。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-09-09
      • 1970-01-01
      • 1970-01-01
      • 2019-03-21
      • 1970-01-01
      • 2010-10-16
      • 1970-01-01
      相关资源
      最近更新 更多