Getting key error 'Headers' when trying to fetch Total Return for multiple years.

I am trying to execute this code to get Total Return for multiple two-year intervals from 2002 to 2018.

#years = [2002,2003,2004,2005,2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016,2017,2018]
StartYr = ['2002','2003','2004','2005','2006','2007','2008','2009','2010','2011','2012','2013','2014','2015','2016','2017']
EndYr = ['2003','2004','2005','2006','2007','2008','2009','2010','2011','2012','2013','2014','2015','2016','2017','2018']
for i,j in zip(StartYr,EndYr):
#x = i+1
#if i == 2018:
# break
#TotReturn_1, e = ek.get_data(ric_list_1, ['TR.TotalReturn'],{'Frq':'FY', 'SDate':str(i)+'-06-30', 'EDate':str(x)+'-06-30'})
TotReturn_1, e = ek.get_data(ric_list_1, ['TR.TotalReturn'],{'SDate':i+'-06-30', 'EDate':j+'-06-30'})
globals()['TSRdf_1_%s' %i] = TotReturn_1
#globals()['TSR_df_%s'%i)] = TotReturn_1

I am getting the following error -->

KeyError: 'headers'

I have also tried to do this manually

TR_1_0203, e = ek.get_data(ric_list_1, ['TR.TotalReturn'],{'Frq':'FY', 'SDate':'2002-06-30', 'EDate':'2003-06-30'})
TR_1_0304, e = ek.get_data(ric_list_1, ['TR.TotalReturn'],{'Frq':'FY', 'SDate':'2003-06-30', 'EDate':'2004-06-30'})
TR_1_0405, e = ek.get_data(ric_list_1, ['TR.TotalReturn'],{'Frq':'FY', 'SDate':'2004-06-30', 'EDate':'2005-06-30'})
TR_1_0506, e = ek.get_data(ric_list_1, ['TR.TotalReturn'],{'Frq':'FY', 'SDate':'2005-06-30', 'EDate':'2006-06-30'})
TR_1_0607, e = ek.get_data(ric_list_1, ['TR.TotalReturn'],{'Frq':'FY', 'SDate':'2006-06-30', 'EDate':'2007-06-30'})
TR_1_0708, e = ek.get_data(ric_list_1, ['TR.TotalReturn'],{'Frq':'FY', 'SDate':'2007-06-30', 'EDate':'2008-06-30'})
TR_1_0809, e = ek.get_data(ric_list_1, ['TR.TotalReturn'],{'Frq':'FY', 'SDate':'2008-06-30', 'EDate':'2009-06-30'})
TR_1_0910, e = ek.get_data(ric_list_1, ['TR.TotalReturn'],{'Frq':'FY', 'SDate':'2009-06-30', 'EDate':'2010-06-30'})
TR_1_1011, e = ek.get_data(ric_list_1, ['TR.TotalReturn'],{'Frq':'FY', 'SDate':'2010-06-30', 'EDate':'2011-06-30'})
TR_1_1112, e = ek.get_data(ric_list_1, ['TR.TotalReturn'],{'Frq':'FY', 'SDate':'2011-06-30', 'EDate':'2012-06-30'})
TR_1_1213, e = ek.get_data(ric_list_1, ['TR.TotalReturn'],{'Frq':'FY', 'SDate':'2012-06-30', 'EDate':'2013-06-30'})
TR_1_1314, e = ek.get_data(ric_list_1, ['TR.TotalReturn'],{'Frq':'FY', 'SDate':'2013-06-30', 'EDate':'2014-06-30'})
TR_1_1415, e = ek.get_data(ric_list_1, ['TR.TotalReturn'],{'Frq':'FY', 'SDate':'2014-06-30', 'EDate':'2015-06-30'})
TR_1_1516, e = ek.get_data(ric_list_1, ['TR.TotalReturn'],{'Frq':'FY', 'SDate':'2015-06-30', 'EDate':'2016-06-30'})
TR_1_1617, e = ek.get_data(ric_list_1, ['TR.TotalReturn'],{'Frq':'FY', 'SDate':'2016-06-30', 'EDate':'2017-06-30'})
TR_1_1718, e = ek.get_data(ric_list_1, ['TR.TotalReturn'],{'Frq':'FY', 'SDate':'2017-06-30', 'EDate':'2018-06-30'})

Getting the same error.

Best Answer

  • @deepika.naga.k this is a bug that will be addressed in the upcoming release of one of the underlying APIs. This happens when the request is too large for the Data API to execute, you need to break it in smaller batches, e.g. smaller periods of time.