2013-04-10 10 views
6

Jestem pobierania danych z FRED z biblioteki quantmod (autor Jeffrey A. Ryan). Dzięki danym YAHOO i GOOGLE mogę ustawić daty rozpoczęcia i zakończenia. Czy to samo można zrobić dla danych FRED?pobieranie danych FRED za pomocą quantmod: czy można podać daty?

Strona pomocy nie wyświetla "od" i "do" jako opcji funkcji getSymbols quandmod, z której wywnioskowałem, że obecnie nie jest to możliwe.

Czy istnieje sposób ustawienia zakresu danych do pobrania lub czy należy pobrać cały zestaw danych i odrzucić dane, których nie potrzebuję?

Dzięki za pomoc. Poniżej kod, który ilustruje kontekstu:

Terminy są ignorowane podczas pobierania od Fred:

# environment in which to store data 
data <- new.env() 

# set dates 
date.start <- "2000-01-01" 
date.end <- "2012-12-31" 

# set tickers 
tickers <- c("FEDFUNDS", "GDPPOT", "DGS10") 

# import data from FRED database 
library("quantmod") 
getSymbols(tickers 
    , src = "FRED" # needed! 
    , from = date.start # ignored 
    , to = date.end # ignored 
    , env = data 
    , adjust = TRUE 
) 

head(data$FEDFUNDS) 

head(data$FEDFUNDS) 
      FEDFUNDS 
1954-07-01  0.80 
1954-08-01  1.22 
1954-09-01  1.06 
1954-10-01  0.85 
1954-11-01  0.83 
1954-12-01  1.28 

EDIT: Rozwiązanie

Dzięki sugestii GSEE „s poniżej, używam poniższy kod do podzbioru danych w zakresie podanym powyżej:

# subset data to within time range 
    dtx <- data$FEDFUNDS 
    dtx[paste(date.start,date.end,sep="/")] 

Tutaj wyodrębniłem dane xts ze środowiska przed działaniem na nim. Moje kolejne pytanie bada alternatywy.

Follow-Up Pytanie

poprosiłem kilka pytań uzupełniających tam: get xts objects from within an environment

Odpowiedz

5

Musisz pobrać wszystkie dane i podzbiór później. getSymbols.FRED nie obsługuje argumentu from, takiego jak getSymbols.yahoo.

+0

... ponieważ sam FRED nie pozwala określić zakresu dat. Dostarcza tylko wszystkich danych. –

+0

Rozumiem, dzięki! – PatrickT

5

Alternatywnie można pobrać dane FRED z Quandl (http://www.quandl.com/help/r), które oferuje ponad 4 miliony zestawów danych, w tym wszystkie dane FRED. Dostępny jest pakiet API i R. ("Quandl"). Dane można zwracać w kilku formatach, np. ramka danych ("raw"), ts ("ts"), zoo ("zoo") i xts ("xts"). Na przykład ściągnąć GDPPOT10 i określić daty i mieć powrócił jako XTS sprzeciw wszystko co musisz zrobić, to:

require(Quandl) 
mydata = Quandl("FRED/GDPPOT", start_date="2005-01-03",end_date="2013-04-10",type="xts") 
+0

Och, to świetny hvollmeier, nie korzystałem wcześniej z pakietu Quandl, jestem gotowy, aby go teraz poznać! Twoja sugestia jest naprawdę prosta. Dobrze wiedzieć. – PatrickT

+0

btw, już zaakceptowałem odpowiedź GSee, więc bardzo dziękuję za dodanie sugestii. – PatrickT

1

Quandl nie wydaje się oferować wszystkie dane od Freda, przynajmniej w częstotliwości terminy danych . Quandl najprawdopodobniej oferuje tylko roczne dane, które nie są przydatne w wielu okolicznościach.

+0

możesz podać konkretny przykład i alternatywne źródło pobierania? – PatrickT

+0

Zabawne, jak dotarłem do tego wątku rok później. Zauważyłem, że w niektórych przypadkach '' Quandl'' zmienił nazwę zbioru danych '' Fred''. Przykład: Dane te można znaleźć na stronie '' Fred'' jako '' LRHUTTTTUSA156N'' oraz na stronie '' Quandl'' jako '' AUSURHARMADSMEI''. Znalazłem dane kwartalne i roczne, ale zmiana nazwy jest bardzo niewygodna ... – PatrickT

Powiązane problemy