tdazio
Nuovo forumer
Da qualche giorno yahoo finance sembra aver modificato la struttura dei dati storici impedendo a getSymbols di scaricare i dati dei titoli.
Il fix ufficiale è presente nella r610 su r-forge.
Aspettando il passaggio della versione stabile sul CRAN mi sono scritto una function per risolvere il problema. Magari può servire:
############################################################
##
## getSymYahoo(symbol, from, to)
##
## sostituisce l'istruzione getSymbols() per prelevare
## storici da yahoo.finance che sembra mal-funzionare
## dall'inizio del 2014. Usa quantmod e XTS.
## Grazie a markbreman on R-Sig-Finance, Fourth quarter 2013
## eventuali errori sono miei. tdazio
##
############################################################
getSymYahoo <- function(symbol=NULL, from="1900-01-01", to=Sys.Date())
{
from2 <- as.Date(from)
to2 <- as.Date(to)
a <- as.character(as.integer(format(from2, "%m"))-1)
b <- format(from2, "%d")
c <- format(from2, "%Y")
d <- as.character(as.integer(format(to2, "%m"))-1)
e <- format(to2, "%d")
f <- format(to2, "%Y")
url <- paste("http://ichart.finance.yahoo.com/table.csv?s=", symbol,
"&a=", a, "&b=", b, "&c=", c, "&d=", d, "&e=", e, "&f=", f,
"&g=d&q=q&y=0&z=", symbol, "&x=.csv", sep="")
download.file(url, "xxx", quiet = TRUE)
x <- as.xts(read.csv("xxx", header=FALSE, skip=1,
col.names=c("Date", "Open", "High", "Low", "Close", "Volume", "Adjusted"),
row.names=1))
file.remove("xxx")
return(x)
}
##
## Fine
################################################################
># es. di utilizzo
>library(quantmod)
>spy <- getSymYahoo("SPY")
>head(spy)
>eni <- getSymYahoo("ENI.MI",from="2008-01-01")
>head(eni)
>eni.rett <- adjustOHLC(eni,use.Adjusted = T)
>head(eni.rett)
tdazio
Il fix ufficiale è presente nella r610 su r-forge.
Aspettando il passaggio della versione stabile sul CRAN mi sono scritto una function per risolvere il problema. Magari può servire:
############################################################
##
## getSymYahoo(symbol, from, to)
##
## sostituisce l'istruzione getSymbols() per prelevare
## storici da yahoo.finance che sembra mal-funzionare
## dall'inizio del 2014. Usa quantmod e XTS.
## Grazie a markbreman on R-Sig-Finance, Fourth quarter 2013
## eventuali errori sono miei. tdazio
##
############################################################
getSymYahoo <- function(symbol=NULL, from="1900-01-01", to=Sys.Date())
{
from2 <- as.Date(from)
to2 <- as.Date(to)
a <- as.character(as.integer(format(from2, "%m"))-1)
b <- format(from2, "%d")
c <- format(from2, "%Y")
d <- as.character(as.integer(format(to2, "%m"))-1)
e <- format(to2, "%d")
f <- format(to2, "%Y")
url <- paste("http://ichart.finance.yahoo.com/table.csv?s=", symbol,
"&a=", a, "&b=", b, "&c=", c, "&d=", d, "&e=", e, "&f=", f,
"&g=d&q=q&y=0&z=", symbol, "&x=.csv", sep="")
download.file(url, "xxx", quiet = TRUE)
x <- as.xts(read.csv("xxx", header=FALSE, skip=1,
col.names=c("Date", "Open", "High", "Low", "Close", "Volume", "Adjusted"),
row.names=1))
file.remove("xxx")
return(x)
}
##
## Fine
################################################################
># es. di utilizzo
>library(quantmod)
>spy <- getSymYahoo("SPY")
>head(spy)
>eni <- getSymYahoo("ENI.MI",from="2008-01-01")
>head(eni)
>eni.rett <- adjustOHLC(eni,use.Adjusted = T)
>head(eni.rett)
tdazio