2013-04-10 33 views
6

Tôi đang tải xuống dữ liệu từ FRED với thư viện quantmod (tác giả Jeffrey A. Ryan). Với dữ liệu YAHOO và GOOGLE, tôi có thể đặt ngày bắt đầu và ngày kết thúc. Có thể thực hiện tương tự cho dữ liệu FRED không?tải xuống dữ liệu FRED với quantmod: có thể chỉ định ngày tháng?

Trang trợ giúp không liệt kê "từ" và "thành" dưới dạng các tùy chọn của hàm getSymbols của quandmod, mà từ đó tôi phỏng đoán rằng nó không phải là hiện tại.

Có cách nào để đặt phạm vi cho dữ liệu được tải xuống hay tôi cần tải xuống toàn bộ tập dữ liệu và loại bỏ dữ liệu tôi không cần?

Cảm ơn sự giúp đỡ của bạn. Dưới đây mã minh họa bối cảnh:

Những ngày được bỏ qua khi tải về từ 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: Giải pháp

Nhờ gợi ý GSee 's dưới đây, tôi đang sử dụng mã sau để đặt dữ liệu trong phạm vi ngày được chỉ định ở trên:

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

Ở đây tôi trích xuất dữ liệu xts từ môi trường trước khi hành động theo nó. Câu hỏi tiếp theo của tôi khám phá các lựa chọn thay thế.

Follow-Up Câu hỏi

Tôi đã hỏi một số câu hỏi tiếp theo đó: get xts objects from within an environment

Trả lời

5

Bạn cần phải tải về tất cả các dữ liệu và tập hợp con sau này. getSymbols.FRED không hỗ trợ đối số from như getSymbols.yahoo.

+0

... vì chính FRED không cho phép bạn chỉ định phạm vi ngày. Nó chỉ cung cấp tất cả các dữ liệu. –

+0

OK, cảm ơn! – PatrickT

5

Hoặc bạn có thể tải xuống dữ liệu FRED từ Quandl (http://www.quandl.com/help/r) cung cấp hơn 4 triệu tập dữ liệu bao gồm tất cả dữ liệu FRED. Có sẵn một gói API và R. ("Quandl"). Dữ liệu có thể được trả lại ở một số định dạng định dạng, ví dụ: khung dữ liệu ("thô"), ts ("ts"), sở thú ("sở thú") và xts ("xts"). Ví dụ tải GDPPOT10 và chỉ rõ ngày tháng và có nó trở lại như một XTS phản đối tất cả các bạn phải làm là:

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

Ồ, thật tuyệt vời, tôi chưa từng sử dụng gói Quandl trước đây, tôi đã sẵn sàng để khám phá nó ngay bây giờ! Đề xuất của bạn thực sự đơn giản. Tuyệt vời để biết. – PatrickT

+0

btw, tôi đã chấp nhận câu trả lời của GSee, vì vậy cảm ơn bạn đã thêm đề xuất của mình. – PatrickT

1

Quandl dường như không cung cấp tất cả dữ liệu từ FRED, ít nhất là trong điều kiện tần số dữ liệu . Quandl hầu như chỉ cung cấp dữ liệu hàng năm không hữu ích trong nhiều trường hợp.

+0

bạn có thể đưa ra một ví dụ cụ thể và một nguồn tải xuống thay thế không? – PatrickT

+0

Hài hước cách tôi đã đạt được chủ đề này một năm sau đó. Tôi đã thấy rằng, trong một số trường hợp, '' Quandl'' đã đổi tên thành tập dữ liệu '' Fred''. Ví dụ: Dữ liệu này có thể được tìm thấy trên trang web '' Fred'' dưới dạng '' LRHUTTTTUSA156N'' và trên trang web '' Quandl'' là '' AUSURHARMADSMEI''. Tôi đã tìm thấy dữ liệu hàng quý và hàng năm, nhưng thay đổi tên là rất bất tiện ... – PatrickT

Các vấn đề liên quan