Question

J'ai obtenu des fichiers CSV qui a la date dans le format suivant: 25 août 2004

Je veux le lire comme un objet « XTS » de manière à utiliser la fonction « periodReturn » dans le paquet quantmod.

Puis-je utiliser le fichier suivant pour la fonction?

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

Inspirations avec le même.

Était-ce utile?

La solution

Malheureusement, je ne peux pas parler pour la partie ts, mais comment vous pouvez convertir vos dates pour un format approprié qui peut être lu par d'autres fonctions que les dates (ou le temps). Vous pouvez importer vos données dans un data.frame comme d'habitude ( voir ici si vous « ai manqué ). Ensuite, vous pouvez convertir votre colonne Date dans une classe POSIXlt (POSIXt) en utilisant la fonction 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

Autres conseils

Essayez ceci. Nous débarrassons des colonnes de nuisance et spécifier le format de l'indice de temps, puis convertir en XTS et appliquer la fonction 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)

Bien sûr, textConnection(Lines) est juste pour garder l'exemple autonome et, en réalité, serait remplacé par quelque chose comme "myfile.dat".

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top