1919HTTPError = url_error .HTTPError
2020
2121
22- class Fred ( object ) :
22+ class Fred :
2323 earliest_realtime_start = '1776-07-04'
2424 latest_realtime_end = '9999-12-31'
2525 nan_char = '.'
@@ -200,7 +200,7 @@ def get_series_as_of_date(self, series_id, as_of_date):
200200 data = df [df ['realtime_start' ] <= as_of_date ]
201201 return data
202202
203- def get_series_all_releases (self , series_id ):
203+ def get_series_all_releases (self , series_id , realtime_start = None , realtime_end = None ):
204204 """
205205 Get all data for a Fred series id including first releases and all revisions. This returns a DataFrame
206206 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):
213213 ----------
214214 series_id : str
215215 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
216220
217221 Returns
218222 -------
219223 data : DataFrame
220224 a DataFrame with columns 'date', 'realtime_start' and 'value' where 'date' is the observation period and 'realtime_start'
221225 is when the corresponding value (either first release or revision) is reported.
222226 """
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
223231 url = "%s/series/observations?series_id=%s&realtime_start=%s&realtime_end=%s" % (self .root_url ,
224232 series_id ,
225- self . earliest_realtime_start ,
226- self . latest_realtime_end )
233+ realtime_start ,
234+ realtime_end )
227235 root = self .__fetch_data (url )
228236 if root is None :
229237 raise ValueError ('No data exists for series id: ' + series_id )
0 commit comments