UseMethod(“ as.xts”)中的错误:没有适用于“ as.xts”的适用于“字符”类对象的方法

时间:2018-11-03 01:21:26

标签: r xts quantmod

我在编写此代码时使用了变量名,将其分配给不同的代码,并返回该代码的最后252个周期返回。这是我正在使用的代码:

comp1.a <- 'EFA'
comp2.a<- 'MSFT'
comp3.a <- 'GOOG'
comp4.a <- 'AMZN'
comp5.a <- 'VXX'
comp6.a <- 'M'
comp7.a <- 'SPY'


comp1.b <- noquote(comp1.a)
comp2.b <- noquote(comp2.a)
comp3.b <- noquote(comp3.a)
comp4.b <- noquote(comp4.a)
comp5.b <- noquote(comp5.a)
comp6.b <- noquote(comp6.a)
comp7.b <- noquote(comp7.a)

getSymbols(comp1.a, src='yahoo', from='2006-01-01')
getSymbols(comp2.a, src='yahoo', from='2006-01-01')
getSymbols(comp3.a, src='yahoo', from='2006-01-01')
getSymbols(comp4.a, src='yahoo', from='2006-01-01')
getSymbols(comp5.a, src='yahoo', from='2006-01-01')
getSymbols(comp6.a, src='yahoo', from='2006-01-01')
getSymbols(comp7.a, src='yahoo', from='2006-01-01')

Asset.weekly <- periodReturn(tail(Adj.Close,252),'weekly')
comp1.weekly <- periodReturn(tail(comp1.b,252),'weekly')
comp2.weekly <- periodReturn(tail(comp2.b,252),'weekly')
comp3.weekly <- periodReturn(tail(comp3.b,252),'weekly')
comp4.weekly <- periodReturn(tail(comp4.b,252),'weekly')
comp5.weekly <- periodReturn(tail(comp5.b,252),'weekly')
comp6.weekly <- periodReturn(tail(comp6.b,252),'weekly')
comp7.weekly <- periodReturn(tail(comp7.b,252),'weekly')

您可能想知道为什么我没有做整件事。这是因为如果用于期间返回的数据的类是字符,那么它将不起作用。

现在,当我这样做时,我会获得这篇文章的标题:

Error in try.xts(x) : 
Error in UseMethod("as.xts") :   no applicable method for 'as.xts' 
applied to an object of class "noquote"

知道我做错了什么吗?感谢您的帮助,时间和精力。

1 个答案:

答案 0 :(得分:0)

您可以通过将env的{​​{1}}参数和行情向量一起使用来更紧凑地进行操作。

getSymbols()