Esempio n. 1
0
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)
Esempio n. 2
0
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)
Esempio n. 3
0
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))
Esempio n. 4
0
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))