Question

Je suis en train de créer la fonction qui offre la volatilité historique après avoir obtenu le symbole de Yahoo. Cependant, quand je passe à la sortie fonction de la volatilité, il ne pas comme elle; La variable Get se voit attribuer un vecteur avec des guillemets, par exemple « SPY », mais la fonction de la volatilité ne prend que sans les guillemets (SPY pas « SPY »). J'essaie de prendre des citations de l'aide noquote () et maintenant obtenir l'erreur suivante:

Erreur dans le journal (x): Argument non-numérique à la fonction mathématique

Mon code

require(quantmod)

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

Toute aide serait grande.

Était-ce utile?

La solution

Il suffit de définir auto.assign=FALSE dans votre appel à getSymbols:

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

Autres conseils

noquote()is pas la réponse. Au lieu de cela que vous voulez get(). Les travaux d'exemple suivant, si vous pouvez modifier les noms de variables comme getand Getcan se confondre.

require(quantmod)

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

vClose("SPY")
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top