def update_benchmarks(symbol, last_date): """ Updates data in the zipline message pack last_date should be a datetime object of the most recent data Puts source benchmark into zipline. """ benchmark_data = [] with get_datafile(get_benchmark_filename(symbol), mode='rb') as bmark_fp: bm_list = msgpack.loads(bmark_fp.read()) for packed_date, returns in bm_list: benchmark_data.append((packed_date, returns)) try: start = last_date + timedelta(days=1) for daily_return in get_benchmark_returns(symbol, start_date=start): date_as_tuple = daily_return.date.timetuple()[0:6] + \ (daily_return.date.microsecond,) # Not ideal but massaging data into expected format benchmark = (date_as_tuple, daily_return.returns) benchmark_data.append(benchmark) with get_datafile(get_benchmark_filename(symbol), mode='wb') as bmark_fp: bmark_fp.write(msgpack.dumps(benchmark_data)) except benchmarks.BenchmarkDataNotFoundError as exc: logger.warn(exc)
def update_benchmarks(symbol, last_date): """ Updates data in the zipline message pack last_date should be a datetime object of the most recent data Puts source benchmark into zipline. """ benchmark_data = [] with get_datafile(get_benchmark_filename(symbol), mode='rb') as bmark_fp: bm_list = msgpack.loads(bmark_fp.read()) for packed_date, returns in bm_list: benchmark_data.append((packed_date, returns)) try: start = last_date + timedelta(days=1) for daily_return in get_benchmark_returns(symbol, start_date=start): date_as_tuple = daily_return.date.timetuple()[0:6] + \ (daily_return.date.microsecond,) # Not ideal but massaging data into expected format benchmark = (date_as_tuple, daily_return.returns) benchmark_data.append(benchmark) with get_datafile( get_benchmark_filename(symbol), mode='wb') as bmark_fp: bmark_fp.write(msgpack.dumps(benchmark_data)) except benchmarks.BenchmarkDataNotFoundError as exc: logger.warn(exc)
def dump_benchmarks(): """ Dumps data to be used with zipline. Puts source treasury and data into zipline. """ benchmark_data = [] for daily_return in get_benchmark_returns(): date_as_tuple = daily_return.date.timetuple()[0:6] + \ (daily_return.date.microsecond,) # Not ideal but massaging data into expected format benchmark = (date_as_tuple, daily_return.returns) benchmark_data.append(benchmark) with get_datafile('benchmark.msgpack', mode='wb') as bmark_fp: bmark_fp.write(msgpack.dumps(benchmark_data))
def dump_benchmarks(symbol): """ Dumps data to be used with zipline. Puts source treasury and data into zipline. """ benchmark_data = [] for daily_return in get_benchmark_returns(symbol): date_as_tuple = daily_return.date.timetuple()[0:6] + \ (daily_return.date.microsecond,) # Not ideal but massaging data into expected format benchmark = (date_as_tuple, daily_return.returns) benchmark_data.append(benchmark) with get_datafile(get_benchmark_filename(symbol), mode='wb') as bmark_fp: bmark_fp.write(msgpack.dumps(benchmark_data))