我正在尝试创建在从雅虎获取符号后提供历史波动率的函数。但是,当我将输出传递给波动率函数时,它不喜欢它; 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")
}
任何帮助都会很棒。
最佳答案
noquote()
不是答案。相反,你想要 get()
.以下示例有效,但您可能希望将变量名称更改为 get
和 Get
可能会感到困惑。
require(quantmod)
vClose = function(X){
Get <- getSymbols(X, from="2000-01-01", src="yahoo")
volatility(get(Get), calc="close")
}
vClose("SPY")
关于r - 解析 R : Quantmod application 中的引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6802087/