2016-12-10 10 views
0

나는하여 $ ZIPLINE_ROOT 디렉토리에 extenstion.py 다음을 추가하여 사용자 정의 기본 야후 번들을 만드는거야.지프 번들 어제의 데이터

zipline ingest -b test-bundle 

zipline bundles 

출력 (난 그냥 두 번째 전에 그것을 실행)

test-bundle 2016-12-10 20:13:11.014192 

큰, 모든 것이 예상대로 작동을 생산하고 있습니다.

내가 2 주 동안 몇 가지 기본적인 전략 지프를 실행하면

Traceback (most recent call last): 
File "/usr/local/lib64/python3.5/site-packages/pandas/core/indexing.py", line 1325, in _has_valid_type error() 
File "/usr/local/lib64/python3.5/site-packages/pandas/core/indexing.py", line 1320, in error (key, self.obj._get_axis_name(axis))) 
    KeyError: 'the label [2016-12-08 00:00:00+00:00] is not in the [index]' 

    During handling of the above exception, another exception occurred: 
    .... zipline stack trace 

하지만 난 경우 : 그것은 목요일 (2016년 12월 8일) 날짜에 도달 할 때까지

zipline run -f ./test_algo.py --start 2016-12-01 --end 2016-12-9 -o output.pickle --bundle test-bundle 

그것은 실행 실행 :

zipline run -f ./test_algo.py --start 2016-12-01 --end 2016-12-7 -o output.pickle --bundle test-bundle 

그리고 내가 예상받을 성공적인 출력 :

[2016-12-10 20:17:11.519059] INFO: Performance: Simulated 5 trading days out of 5. 
[2016-12-10 20:17:11.519495] INFO: Performance: first open: 2016-12-01 14:31:00+00:00 
[2016-12-10 20:17:11.519770] INFO: Performance: last close: 2016-12-07 21:00:00+00:00 

내 번들이 T-2 데이터로 다운로드되는 이유를 알려주세요. 나는 12/8과 12/9의 데이터를 볼 것으로 예상 할 것이다. 시장은 정상적인 날이었고 그 당시 야후 파이낸스의 데이터를 볼 수 있었다.

감사합니다 -

답변

0

벤치 마크 수익률은 거래 일을 포함하여 T-2 기반에서 사용할 수, 만 사용할 수 없습니다 때문입니다. (IE : 월요일 아침에 실행하면 목요일의 데이터를 사용할 수 있고 금요일까지 시뮬레이션을 실행할 수 있습니다.) 토요일/일요일에 벤치마킹을위한 마지막 가능한 날은 수요일이고 최신 시뮬레이션 일 목요일입니다.

가능한 해결책 :

  1. 수정 지프가 번들에서 벤치 마크와 같은 시세 (그냥 기본 재고의 모든 인덱스)를 사용하는
  2. 수정 지프를 벤치 마크를 해제 할 수 있도록

현재 해결 방법 :

수정 : ./zipline/gens/tradesimulation.py

및 설정 :

def handle_benchmark(date, benchmark_source=self.benchmark_source): 
    algo.perf_tracker.all_benchmark_returns[date] = 1 

이 데이터이며, 단지 항상 벤치 마크

1을 반환하는 경우는 확인하지 않습니다 이런 식으로