Poner cotizaciones en R: Aplicación Quantmod
-
22-10-2019 - |
Pregunta
Estoy tratando de crear funciones que proporcionen volatilidad histórica después de obtener el símbolo de Yahoo. Sin embargo, cuando paso la salida a la función de volatilidad, no le gusta; A la variable GET se le asigna un vector con citas, por ejemplo, "espía", pero la función de volatilidad solo toma sin citas (espía no "espía"). Intento tomar cotizaciones usando NoQuote () y ahora obtengo el siguiente error:
Error en log (x): argumento no numérico a la función matemática
Mi código
require(quantmod)
vClose = function(X){
Get <- getSymbols(X, from="2000-01-01", src="yahoo")
Set <- noquote(Get)
volatility(Set, calc="close")
}
Cualquier ayuda sería genial.
Solución
Solo establecer auto.assign=FALSE
en tu llamada a getSymbols
:
require(quantmod)
Get <- getSymbols("SPY", from="2000-01-01", auto.assign=FALSE)
volatility(Get, calc="close")
Otros consejos
noquote()
no es la respuesta. En su lugar que quieras get()
. El siguiente ejemplo funciona, aunque es posible que desee cambiar los nombres de variables como get
y Get
puede confundirse.
require(quantmod)
vClose = function(X){
Get <- getSymbols(X, from="2000-01-01", src="yahoo")
volatility(get(Get), calc="close")
}
vClose("SPY")