scrtlabs / catalyst

An Algorithmic Trading Library for Crypto-Assets in Python
http://enigma.co
Apache License 2.0
2.48k stars 724 forks source link

Did somebody forked this dead project or want to create a fork? #559

Open avolution opened 5 years ago

avolution commented 5 years ago

Seems that this project is really dead now

The TravisCI is down (check it out here -> https://travis-ci.com/enigmampc/catalyst) and there is no price data after the 2019-07-22

Did somebody created a maintained fork already?

If not lets discuss how to organize that.

duanrb commented 4 years ago

it will be great if someone can help to maintain the data. I can help on the data collection and storage.

avolution commented 4 years ago

I think @brandsimon is right with his comment in https://github.com/enigmampc/catalyst/pull/550

Its a huge project with a lot legacy stuff from the stock market. Its also not fast enough for crypto with minimum loop interval of one minute Sure it can be modified more and more, but maybe a clean and slim reimplementation of the Zipline Interface specially for crypto from the ground up would be a better solution in my opinion.

I have created a Telegram Group:

https://t.me/joinchat/BohjsBS4_AIGBh5LTg80uQ

Let's discuss a solution there.

Everyone who want's to participate is invited(just use the invite link).

brandsimon commented 4 years ago

@avolution I will publish a stable v1 in about 2 weeks. Interface will be similar to zipline, but different and not compatible.

avolution commented 4 years ago

@brandsimon awesome thx! Let us know when you publish the repo.

avolution commented 4 years ago

@brandsimon would be great when you also join the Telegram group

aduriseti commented 4 years ago

@duanrb I did some work on data ingestion and storage using ccxt a while ago - what is your progress on data collection?

had been planning to smash and grab the catalyst exchange data for a while now but never got around to it

duanrb commented 4 years ago

@aduriseti I collected daily and minute-level data from bitfinex. Although I can ingest the data after some modification on the catalyst, I still cannot run my strategy codes. Always get errors like this:

catalyst.exchange.exchange_errors.PricingDataNotLoadedError: Missing data for bitfinex btc_usd in date range [2019-08-28 16:00:00+00:00 - 2019-08-31 23:59:00+00:00]

Probably the data was not ingested in the correct way.

What I did is only change exchange_bundle.py from params['end_date'] = asset_def[end_dt_key] if asset_def[end_dt_key] > end_dt else end_dt to if asset_def[end_dt_key] == 'N/A': params['end_date'] = end_dt else: params['end_date'] = asset_def[end_dt_key] if asset_def[end_dt_key] > end_dt else end_dt because I get 'N/A' for asset_def[end_dt_key] and caused an exception.

Any ideas? thanks a lot.

aduriseti commented 4 years ago

@duanrb Not sure about ingesting csv data into catalyst.

Is there a reason you dont use the default data reader classes? I guess b/c the project is dead theres no guarantee how long the data will be still available.

Apparently one of the former users of this library is crafting a replacement library - here is a telegram group link where you can monitor progress: https://t.me/joinchat/BohjsBS4_AIGBh5LTg80uQ

duanrb commented 4 years ago

@aduriseti there are some missing data for bitfinex, and these missing days caused exception like this:

File "/usr/local/lib/python3.6/site-packages/catalyst/exchange/exchange_data_portal.py", line 325, in get_exchange_history_window algo_end_dt=self._last_available_session, File "/usr/local/lib/python3.6/site-packages/catalyst/exchange/exchange_bundle.py", line 904, in get_history_window_series_and_load data_frequency=data_frequency, File "/usr/local/lib/python3.6/site-packages/catalyst/exchange/exchange_bundle.py", line 1012, in get_history_window_series end_dt=end_dt catalyst.exchange.exchange_errors.PricingDataNotLoadedError: Missing data for bitfinex btc_usd in date range [2019-05-27 00:00:00+00:00 - 2019-06-30 23:59:00+00:00]

magick93 commented 4 years ago

@brandsimon

Thanks. Are you creating a new repo, or will you be using this repo?

Let me know if you need help.

FergusInLondon commented 4 years ago

Has anyone had any further thoughts about this? I'm not really a python person - at all - but even to pass through installation I've had to make a few amends. I have a working Docker Image now though - available via Github or Docker Hub.

I did fork it too, just to see whether Travis would throw up any issues if I attempted a build again now; and unfortunately the build didn't pass. Combined with the gaps in the historic data for backtesting, this is super annoying.

I also agree with @avolution - the data resolution of one candle per minute isn't great, especially considering a lot of the exchanges I've looked at recently have real time streaming over websockets at a greater resolution.

brandsimon commented 4 years ago

@magick93 I created a new repo: https://github.com/btrccts/btrccts