解析 R 中的引号:Quantmod 应用程序

发布于 2024-11-26 01:39:00 字数 386 浏览 0 评论 0原文

我正在尝试创建在从雅虎获取符号后提供历史波动性的函数。然而,当我将输出传递给波动函数时,它不喜欢它; 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")
}

任何帮助都会很棒。

I'm trying to create function that provides historical volatility after getting symbol from Yahoo. However, when I pass output to volatility function it doesn't like it; The Get variable gets assigned a vector with quotes, e.g. "SPY", but the volatility function only takes without quotes (SPY no "SPY"). I try to take quotes off using noquote() and now get following error:

Error in log(x) : Non-numeric argument to mathematical function

My code

require(quantmod)

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

Any help would be great.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

呆° 2024-12-03 01:39:01

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

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

Just set auto.assign=FALSE in your call to getSymbols:

require(quantmod)
Get <- getSymbols("SPY", from="2000-01-01", auto.assign=FALSE)
volatility(Get, calc="close")
薄荷梦 2024-12-03 01:39:00

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

require(quantmod)

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

vClose("SPY")

noquote()is not the answer. Instead you want get(). The following example works, though you might want to change the variable names as getand Getcan get confused.

require(quantmod)

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

vClose("SPY")
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文