Pregunta

He conseguido archivos CSV, que tiene la fecha en el siguiente formato: 25-Ago-2004

quiero leer como un objeto "XTS" con el fin de utilizar la función "periodReturn" en la bolsa quantmod.

¿Puedo utilizar el siguiente archivo para la función?

Symbol Series        Date Prev.Close Open.Price High.Price Low.Price

1       XXX     EQ 25-Aug-2004     850.00    1198.70    1198.70    979.00

2       XXX     EQ 26-Aug-2004     987.95     992.00     997.00    975.30

Guía de mí con la misma.

¿Fue útil?

Solución

Por desgracia no puedo hablar en nombre de la parte ts, pero esto es cómo se puede convertir la fecha para un formato adecuado que puede ser leído por otras funciones como fechas (o tiempo). Puede importar sus datos en un hoja.de.datos como de costumbre ( ver aquí si han perdido ). A continuación, puede convertir su columna Date en una clase POSIXlt (POSIXt) utilizando la función strptime.

nibha <- "25-Aug-2004" # this should be your imported column
lct <- Sys.getlocale("LC_TIME"); Sys.setlocale("LC_TIME", "C") #temporarily change locale to C if you happen go get NAs
strptime(nibha, format = "%d-%b-%Y")
Sys.setlocale("LC_TIME", lct) #revert back to your locale

Otros consejos

Probar. Nos deshacemos de las columnas de molestia y especificar el formato del índice de tiempo, a continuación, convertir a XTS y aplicamos la función dailyReturn:

Lines <- "Symbol Series Date Prev.Close Open.Price High.Price Low.Price
1 XXX EQ 25-Aug-2004 850.00 1198.70 1198.70 979.00
2 XXX EQ 26-Aug-2004 987.95 992.00 997.00 975.30"

library(quantmod) # this also pulls in xts & zoo

z <- read.zoo(textConnection(Lines), format = "%d-%b-%Y",
    colClasses = rep(c(NA, "NULL", NA), c(1, 2, 5)))
x <- as.xts(z)
dailyReturn(x)

Por supuesto, textConnection(Lines) es sólo para mantener el ejemplo autónomo y, en realidad, sería reemplazado con algo como "myfile.dat".

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top