Не обнаружен объект json при запуске бэктеста zipline - PullRequest
0 голосов
/ 29 мая 2020

Я запускаю приведенный ниже код в записной книжке jupyter. Я пытаюсь провести простой тест на истории, чтобы убедиться, что zipline работает. Я уже принял квантопический пакет. Я запускаю код на сервере Ubuntu. Когда я это сделаю, я сначала получаю предупреждение ниже, а затем я получаю сообщение об ошибке ниже. Кто-нибудь видит, в чем проблема, и вы можете предложить, как ее исправить?

код:

%load_ext zipline

предупреждение:

/home/username/anaconda3/envs/py36/lib/python2.7/site-packages/pandas/_libs/__init__.py:4: RuntimeWarning: numpy.dtype size changed, may indicate binary incompatibility. Expected 96, got 88
  from .tslib import iNaT, NaT, Timestamp, Timedelta, OutOfBoundsDatetime
/home/username/anaconda3/envs/py36/lib/python2.7/site-packages/pandas/__init__.py:26: RuntimeWarning: numpy.dtype size changed, may indicate binary incompatibility. Expected 96, got 88
  from pandas._libs import (hashtable as _hashtable,
/home/username/anaconda3/envs/py36/lib/python2.7/site-packages/pandas/core/dtypes/common.py:6: RuntimeWarning: numpy.dtype size changed, may indicate binary incompatibility. Expected 96, got 88
  from pandas._libs import algos, lib
/home/username/anaconda3/envs/py36/lib/python2.7/site-packages/pandas/core/util/hashing.py:7: RuntimeWarning: numpy.dtype size changed, may indicate binary incompatibility. Expected 96, got 88
  from pandas._libs import hashing, tslib
/home/username/anaconda3/envs/py36/lib/python2.7/site-packages/pandas/core/indexes/base.py:6: RuntimeWarning: numpy.dtype size changed, may indicate binary incompatibility. Expected 96, got 88
  from pandas._libs import (lib, index as libindex, tslib as libts,
/home/username/anaconda3/envs/py36/lib/python2.7/site-packages/pandas/core/tools/datetimes.py:6: RuntimeWarning: numpy.dtype size changed, may indicate binary incompatibility. Expected 96, got 88
  from pandas._libs.tslibs.strptime import array_strptime
/home/username/anaconda3/envs/py36/lib/python2.7/site-packages/pandas/tseries/frequencies.py:24: RuntimeWarning: numpy.dtype size changed, may indicate binary incompatibility. Expected 96, got 88
  from pandas._libs.tslibs.frequencies import (  # noqa
/home/username/anaconda3/envs/py36/lib/python2.7/site-packages/pandas/core/indexes/datetimelike.py:28: RuntimeWarning: numpy.dtype size changed, may indicate binary incompatibility. Expected 96, got 88
  from pandas._libs.period import Period
/home/username/anaconda3/envs/py36/lib/python2.7/site-packages/pandas/core/sparse/array.py:33: RuntimeWarning: numpy.dtype size changed, may indicate binary incompatibility. Expected 96, got 88
  import pandas._libs.sparse as splib
/home/username/anaconda3/envs/py36/lib/python2.7/site-packages/pandas/core/window.py:36: RuntimeWarning: numpy.dtype size changed, may indicate binary incompatibility. Expected 96, got 88
  import pandas._libs.window as _window
/home/username/anaconda3/envs/py36/lib/python2.7/site-packages/pandas/core/groupby.py:68: RuntimeWarning: numpy.dtype size changed, may indicate binary incompatibility. Expected 96, got 88
  from pandas._libs import lib, groupby as libgroupby, Timestamp, NaT, iNaT
/home/username/anaconda3/envs/py36/lib/python2.7/site-packages/pandas/core/reshape/reshape.py:31: RuntimeWarning: numpy.dtype size changed, may indicate binary incompatibility. Expected 96, got 88
  from pandas._libs import algos as _algos, reshape as _reshape
/home/username/anaconda3/envs/py36/lib/python2.7/site-packages/pandas/io/parsers.py:45: RuntimeWarning: numpy.dtype size changed, may indicate binary incompatibility. Expected 96, got 88
  import pandas._libs.parsers as parsers

код:

from zipline.api import order, record, symbol

def initialize(context):
    pass

def handle_data(context,data):
    order(symbol('AAPL'),10)
    record(AAPL=data.current(symbol('AAPL'),"price"))


%zipline --bundle quantopian-quandl --start 2008-1-1 --end 2012-1-1 -o strat.pickle


error:

ValueErrorTraceback (most recent call last)
<ipython-input-3-79dd7698356b> in <module>()
----> 1 get_ipython().magic(u'zipline --bundle quantopian-quandl --start 2008-1-1 --end 2012-1-1 -o strat.pickle')

/home/username/anaconda3/envs/py36/lib/python2.7/site-packages/IPython/core/interactiveshell.pyc in magic(self, arg_s)
   2158         magic_name, _, magic_arg_s = arg_s.partition(' ')
   2159         magic_name = magic_name.lstrip(prefilter.ESC_MAGIC)
-> 2160         return self.run_line_magic(magic_name, magic_arg_s)
   2161 
   2162     #-------------------------------------------------------------------------

/home/username/anaconda3/envs/py36/lib/python2.7/site-packages/IPython/core/interactiveshell.pyc in run_line_magic(self, magic_name, line)
   2079                 kwargs['local_ns'] = sys._getframe(stack_depth).f_locals
   2080             with self.builtin_trap:
-> 2081                 result = fn(*args,**kwargs)
   2082             return result
   2083 

/home/username/anaconda3/envs/py36/lib/python2.7/site-packages/zipline/__main__.pyc in zipline_magic(line, cell)
    309             '%s%%zipline' % ((cell or '') and '%'),
    310             # don't use system exit and propogate errors to the caller
--> 311             standalone_mode=False,
    312         )
    313     except SystemExit as e:

/home/username/anaconda3/envs/py36/lib/python2.7/site-packages/click/core.pyc in main(self, args, prog_name, complete_var, standalone_mode, **extra)
    780             try:
    781                 with self.make_context(prog_name, args, **extra) as ctx:
--> 782                     rv = self.invoke(ctx)
    783                     if not standalone_mode:
    784                         return rv

/home/username/anaconda3/envs/py36/lib/python2.7/site-packages/click/core.pyc in invoke(self, ctx)
   1064         _maybe_show_deprecated_notice(self)
   1065         if self.callback is not None:
-> 1066             return ctx.invoke(self.callback, **ctx.params)
   1067 
   1068 

/home/username/anaconda3/envs/py36/lib/python2.7/site-packages/click/core.pyc in invoke(*args, **kwargs)
    608         with augment_usage_errors(self):
    609             with ctx:
--> 610                 return callback(*args, **kwargs)
    611 
    612     def forward(*args, **kwargs):  # noqa: B902

/home/username/anaconda3/envs/py36/lib/python2.7/site-packages/click/decorators.pyc in new_func(*args, **kwargs)
     19 
     20     def new_func(*args, **kwargs):
---> 21         return f(get_current_context(), *args, **kwargs)
     22 
     23     return update_wrapper(new_func, f)

/home/username/anaconda3/envs/py36/lib/python2.7/site-packages/zipline/__main__.pyc in run(ctx, algofile, algotext, define, data_frequency, capital_base, bundle, bundle_timestamp, start, end, output, trading_calendar, print_algo, metrics_set, local_namespace, blotter)
    274         local_namespace=local_namespace,
    275         environ=os.environ,
--> 276         blotter=blotter,
    277     )
    278 

/home/username/anaconda3/envs/py36/lib/python2.7/site-packages/zipline/utils/run_algo.pyc in _run(handle_data, initialize, before_trading_start, analyze, algofile, algotext, defines, data_frequency, capital_base, data, bundle, bundle_timestamp, start, end, output, trading_calendar, print_algo, metrics_set, local_namespace, environ, blotter)
    157             trading_calendar=trading_calendar,
    158             trading_day=trading_calendar.day,
--> 159             trading_days=trading_calendar.schedule[start:end].index,
    160         )
    161         first_trading_day =\

/home/username/anaconda3/envs/py36/lib/python2.7/site-packages/zipline/finance/trading.pyc in __init__(self, load, bm_symbol, exchange_tz, trading_calendar, trading_day, trading_days, asset_db_path, future_chain_predicates, environ)
    101             trading_day,
    102             trading_days,
--> 103             self.bm_symbol,
    104         )
    105 

/home/username/anaconda3/envs/py36/lib/python2.7/site-packages/zipline/data/loader.pyc in load_market_data(trading_day, trading_days, bm_symbol, environ)
    147         # date so that we can compute returns for the first date.
    148         trading_day,
--> 149         environ,
    150     )
    151     tc = ensure_treasury_data(

/home/username/anaconda3/envs/py36/lib/python2.7/site-packages/zipline/data/loader.pyc in ensure_benchmark_data(symbol, first_date, last_date, now, trading_day, environ)
    214 
    215     try:
--> 216         data = get_benchmark_returns(symbol)
    217         data.to_csv(get_data_filepath(filename, environ))
    218     except (OSError, IOError, HTTPError):

/home/username/anaconda3/envs/py36/lib/python2.7/site-packages/zipline/data/benchmarks.pyc in get_benchmark_returns(symbol)
     33         'https://api.iextrading.com/1.0/stock/{}/chart/5y'.format(symbol)
     34     )
---> 35     data = r.json()
     36 
     37     df = pd.DataFrame(data)

/home/username/anaconda3/envs/py36/lib/python2.7/site-packages/requests/models.pyc in json(self, **kwargs)
    895                     # used.
    896                     pass
--> 897         return complexjson.loads(self.text, **kwargs)
    898 
    899     @property

/home/username/anaconda3/envs/py36/lib/python2.7/json/__init__.pyc in loads(s, encoding, cls, object_hook, parse_float, parse_int, parse_constant, object_pairs_hook, **kw)
    337             parse_int is None and parse_float is None and
    338             parse_constant is None and object_pairs_hook is None and not kw):
--> 339         return _default_decoder.decode(s)
    340     if cls is None:
    341         cls = JSONDecoder

/home/username/anaconda3/envs/py36/lib/python2.7/json/decoder.pyc in decode(self, s, _w)
    362 
    363         """
--> 364         obj, end = self.raw_decode(s, idx=_w(s, 0).end())
    365         end = _w(s, end).end()
    366         if end != len(s):

/home/username/anaconda3/envs/py36/lib/python2.7/json/decoder.pyc in raw_decode(self, s, idx)
    380             obj, end = self.scan_once(s, idx)
    381         except StopIteration:
--> 382             raise ValueError("No JSON object could be decoded")
    383         return obj, end

ValueError: No JSON object could be decoded
...