Skip to content
This repository has been archived by the owner on Nov 26, 2022. It is now read-only.

catalyst run fails on first run #18

Closed
lacabra opened this issue Jul 30, 2017 · 2 comments
Closed

catalyst run fails on first run #18

lacabra opened this issue Jul 30, 2017 · 2 comments

Comments

@lacabra
Copy link
Contributor

lacabra commented Jul 30, 2017

Dear Catalyst Maintainers,

Before I tell you about my issue, let me describe my environment:

Environment

  • Operating System: 5.6.0 Darwin Kernel Version 15.6.0: Tue Apr 11 16:00:51 PDT 2017; root:xnu-3248.60.11.5.3~1/RELEASE_X86_64 x86_64
  • Python Version: Python 2.7.10
  • Python Bitness: 64
  • How did you install Catalyst: pip install enigma-catalyst
  • Python packages:
alembic==0.9.3
bcolz==0.12.1
Bottleneck==1.2.1
certifi==2017.7.27.1
chardet==3.0.4
click==6.7
contextlib2==0.5.5
cyordereddict==1.0.0
Cython==0.26
decorator==4.1.2
empyrical==0.2.1
enigma-catalyst==0.1.dev6
idna==2.5
intervaltree==2.1.0
Logbook==1.1.0
lru-dict==1.1.6
Mako==1.0.7
MarkupSafe==1.0
multipledispatch==0.4.9
networkx==1.11
numexpr==2.6.2
numpy==1.13.1
pandas==0.19.2
pandas-datareader==0.5.0
patsy==0.4.1
python-dateutil==2.6.1
python-editor==1.0.3
pytz==2017.2
requests==2.18.2
requests-file==1.4.2
requests-ftp==0.3.1
scipy==0.19.1
six==1.10.0
sortedcontainers==1.5.7
SQLAlchemy==1.1.12
statsmodels==0.8.0
tables==3.4.2
toolz==0.8.2
urllib3==1.22

Now that you know a little about me, let me tell you about the issue I am
having:

Catalyst fails when running an algo (starting with the buy_and_hodl.py suggested in the tutorial).

  • What did you expect to happen?

Trading algorithm should have run with no errors.

  • What happened instead?

Catalyst throws the following error:

$ catalyst run -f buy_and_hodl.py --start 2015-3-1 --end 2017-6-28 --capital-base 100000 -o bah.pickle
[2017-07-30 08:20:48.089358] INFO: Loader: Loading benchmark data for 'USDT_BTC' from 1989-12-31 00:00:00+00:00 to 2017-07-28 00:00:00+00:00
[2017-07-30 08:20:48.089732] INFO: Loader: Cache at /Users/marta/.catalyst/data/USDT_BTC_benchmark.csv does not have data from 1990-01-01 00:00:00+00:00 to 2017-07-28 00:00:00+00:00.

[2017-07-30 08:20:48.090117] INFO: Loader: Downloading benchmark data for 'USDT_BTC' from 1989-12-31 00:00:00+00:00 to 2017-07-28 00:00:00+00:00
[2017-07-30 08:20:48.093315] DEBUG: catalyst.curate.poloniex: Getting data for USDT_BTC
Traceback (most recent call last):
  File "/Users/marta/Victor/env-c/bin/catalyst", line 11, in <module>
    sys.exit(main())
  File "/Users/marta/Victor/env-c/lib/python2.7/site-packages/click/core.py", line 722, in __call__
    return self.main(*args, **kwargs)
  File "/Users/marta/Victor/env-c/lib/python2.7/site-packages/click/core.py", line 697, in main
    rv = self.invoke(ctx)
  File "/Users/marta/Victor/env-c/lib/python2.7/site-packages/click/core.py", line 1066, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/Users/marta/Victor/env-c/lib/python2.7/site-packages/click/core.py", line 895, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/Users/marta/Victor/env-c/lib/python2.7/site-packages/click/core.py", line 535, in invoke
    return callback(*args, **kwargs)
  File "/Users/marta/Victor/env-c/lib/python2.7/site-packages/catalyst/__main__.py", line 97, in _
    return f(*args, **kwargs)
  File "/Users/marta/Victor/env-c/lib/python2.7/site-packages/click/decorators.py", line 17, in new_func
    return f(get_current_context(), *args, **kwargs)
  File "/Users/marta/Victor/env-c/lib/python2.7/site-packages/catalyst/__main__.py", line 240, in run
    environ=os.environ,
  File "/Users/marta/Victor/env-c/lib/python2.7/site-packages/catalyst/utils/run_algo.py", line 196, in _run
    env, data = get_trading_env_and_data(bundles)
  File "/Users/marta/Victor/env-c/lib/python2.7/site-packages/catalyst/utils/run_algo.py", line 156, in get_trading_env_and_data
    environ=environ,
  File "/Users/marta/Victor/env-c/lib/python2.7/site-packages/catalyst/finance/trading.py", line 99, in __init__
    self.bm_symbol,
  File "/Users/marta/Victor/env-c/lib/python2.7/site-packages/catalyst/data/loader.py", line 135, in load_crypto_market_data
    environ,
  File "/Users/marta/Victor/env-c/lib/python2.7/site-packages/catalyst/data/loader.py", line 367, in ensure_crypto_benchmark_data
    if not has_data_for_dates(daily_close, first_date, last_date):
  File "/Users/marta/Victor/env-c/lib/python2.7/site-packages/catalyst/data/loader.py", line 97, in has_data_for_dates
    return (first <= first_date) and (last >= last_date)
  File "pandas/tslib.pyx", line 1106, in pandas.tslib._Timestamp.__richcmp__ (pandas/tslib.c:20503)
  File "pandas/tslib.pyx", line 1167, in pandas.tslib._Timestamp._assert_tzawareness_compat (pandas/tslib.c:21519)
TypeError: Cannot compare tz-naive and tz-aware timestamps

Here is how you can reproduce this issue on your machine:

Reproduction Steps

First time you run: catalyst run -f buy_and_hodl.py --start 2015-3-1 --end 2017-6-28 --capital-base 100000 -o bah.pickle

What steps have you taken to resolve this already?

If you run the same command a second time, the error disappears.

Anything else?

No

Sincerely,
Victor

@rterbush
Copy link
Contributor

This may be fixed by #20

@lacabra
Copy link
Contributor Author

lacabra commented Aug 14, 2017

Addressed in commit 13d405b, which is part of 0.1.dev7 release: 20a98a3 in the master branch.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants