def dump_treasury_curves(): """ Dumps data to be used with zipline. Puts source treasury and data into zipline. """ tr_data = [] for curve in get_treasury_data(): date_as_tuple = curve['date'].timetuple()[0:6] + \ (curve['date'].microsecond,) # Not ideal but massaging data into expected format del curve['date'] tr = (date_as_tuple, curve) tr_data.append(tr) with get_datafile('treasury_curves.msgpack', mode='wb') as tr_fp: tr_fp.write(msgpack.dumps(tr_data))
def update_treasury_curves(last_date): """ Updates data in the zipline treasury curves message pack last_date should be a datetime object of the most recent data Puts source treasury and data into zipline. """ tr_data = [] with get_datafile('treasury_curves.msgpack', mode='rb') as tr_fp: tr_list = msgpack.loads(tr_fp.read()) for packed_date, curve in tr_list: tr_data.append((packed_date, curve)) for curve in get_treasury_data(): date_as_tuple = curve['date'].timetuple()[0:6] + \ (curve['date'].microsecond,) # Not ideal but massaging data into expected format del curve['date'] tr = (date_as_tuple, curve) tr_data.append(tr) with get_datafile('treasury_curves.msgpack', mode='wb') as tr_fp: tr_fp.write(msgpack.dumps(tr_data))