【问题标题】:Parsing quotes in R: Quantmod application在 R 中解析引号:Quantmod 应用程序
【发布时间】:2011-10-11 17:44:12
【问题描述】:

我正在尝试创建在从 Yahoo 获取符号后提供历史波动率的函数。但是,当我将输出传递给波动率函数时,它不喜欢它; Get 变量被分配一个带引号的向量,例如“SPY”,但波动率函数只需要不带引号(SPY 没有“SPY”)。我尝试使用 noquote() 取消引号,现在出现以下错误:

log(x) 中的错误:数学函数的非数字参数

我的代码

require(quantmod)

vClose = function(X){
Get <- getSymbols(X, from="2000-01-01", src="yahoo")
Set <- noquote(Get)
volatility(Set, calc="close")
}

任何帮助都会很棒。

【问题讨论】:

    标签: r quotes quantmod volatility


    【解决方案1】:

    noquote()不是答案。相反,您想要get()。以下示例有效,但您可能希望将变量名称更改为 getGet 可能会混淆。

    require(quantmod)
    
    vClose = function(X){
    Get <- getSymbols(X, from="2000-01-01", src="yahoo")
    volatility(get(Get), calc="close")
    }
    
    vClose("SPY")
    

    【讨论】:

      【解决方案2】:

      只需在您对getSymbols 的调用中设置auto.assign=FALSE

      require(quantmod)
      Get <- getSymbols("SPY", from="2000-01-01", auto.assign=FALSE)
      volatility(Get, calc="close")
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-12-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多