19
19
HTTPError = url_error .HTTPError
20
20
21
21
22
- class Fred ( object ) :
22
+ class Fred :
23
23
earliest_realtime_start = '1776-07-04'
24
24
latest_realtime_end = '9999-12-31'
25
25
nan_char = '.'
@@ -200,7 +200,7 @@ def get_series_as_of_date(self, series_id, as_of_date):
200
200
data = df [df ['realtime_start' ] <= as_of_date ]
201
201
return data
202
202
203
- def get_series_all_releases (self , series_id ):
203
+ def get_series_all_releases (self , series_id , realtime_start = None , realtime_end = None ):
204
204
"""
205
205
Get all data for a Fred series id including first releases and all revisions. This returns a DataFrame
206
206
with three columns: 'date', 'realtime_start', and 'value'. For instance, the US GDP for Q4 2013 was first released
@@ -213,17 +213,25 @@ def get_series_all_releases(self, series_id):
213
213
----------
214
214
series_id : str
215
215
Fred series id such as 'GDP'
216
+ realtime_start : str, optional
217
+ specifies the realtime_start value used in the query, defaults to the earliest possible start date allowed by Fred
218
+ realtime_end : str, optional
219
+ specifies the realtime_end value used in the query, defaults to the latest possible end date allowed by Fred
216
220
217
221
Returns
218
222
-------
219
223
data : DataFrame
220
224
a DataFrame with columns 'date', 'realtime_start' and 'value' where 'date' is the observation period and 'realtime_start'
221
225
is when the corresponding value (either first release or revision) is reported.
222
226
"""
227
+ if realtime_start is None :
228
+ realtime_start = self .earliest_realtime_start
229
+ if realtime_end is None :
230
+ realtime_end = self .latest_realtime_end
223
231
url = "%s/series/observations?series_id=%s&realtime_start=%s&realtime_end=%s" % (self .root_url ,
224
232
series_id ,
225
- self . earliest_realtime_start ,
226
- self . latest_realtime_end )
233
+ realtime_start ,
234
+ realtime_end )
227
235
root = self .__fetch_data (url )
228
236
if root is None :
229
237
raise ValueError ('No data exists for series id: ' + series_id )
0 commit comments