Skip to content

Commit

Permalink
Merge branch 'develop'
Browse files Browse the repository at this point in the history
  • Loading branch information
lenak25 committed Jul 2, 2018
2 parents e52a117 + d35234e commit 80cd13b
Show file tree
Hide file tree
Showing 9 changed files with 58 additions and 41 deletions.
4 changes: 2 additions & 2 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ Catalyst is an algorithmic trading library for crypto-assets written in Python.
It allows trading strategies to be easily expressed and backtested against
historical data (with daily and minute resolution), providing analytics and
insights regarding a particular strategy's performance. Catalyst also supports
live-trading of crypto-assets starting with three exchanges (Bitfinex, Bittrex,
live-trading of crypto-assets starting with four exchanges (Binance, Bitfinex, Bittrex,
and Poloniex) with more being added over time. Catalyst empowers users to share
and curate data and build profitable, data-driven investment strategies. Please
visit `catalystcrypto.io <https://www.catalystcrypto.io>`_ to learn more about Catalyst.
Expand All @@ -38,7 +38,7 @@ Overview
provided.
- Support for several of the top crypto-exchanges by trading volume:
`Bitfinex <https://www.bitfinex.com>`_, `Bittrex <http://www.bittrex.com>`_,
and `Poloniex <https://www.poloniex.com>`_.
`Poloniex <https://www.poloniex.com>`_ and `Binance <https://www.binance.com/>`_.
- Secure: You and only you have access to each exchange API keys for your accounts.
- Input of historical pricing data of all crypto-assets by exchange,
with daily and minute resolution. See
Expand Down
2 changes: 1 addition & 1 deletion catalyst/__main__.py
Original file line number Diff line number Diff line change
Expand Up @@ -586,7 +586,7 @@ def ingest_exchange(ctx, exchange_name, data_frequency, start, end,

if exchange_name is None:
ctx.fail("must specify an exchange name '-x'")
if exchange_name not in EXCHANGE_NAMES:
if not csv and exchange_name not in EXCHANGE_NAMES:
ctx.fail(
"ingest-exchange does not support {}, "
"please choose exchange from: {}".format(
Expand Down
2 changes: 1 addition & 1 deletion catalyst/exchange/utils/bundle_utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
from catalyst.data.bundles.core import download_without_progress
from catalyst.exchange.utils.exchange_utils import get_exchange_bundles_folder

EXCHANGE_NAMES = ['bitfinex', 'bittrex', 'poloniex']
EXCHANGE_NAMES = ['bitfinex', 'bittrex', 'poloniex', 'binance']
API_URL = 'http://data.enigma.co/api/v1'


Expand Down
4 changes: 2 additions & 2 deletions docs/source/beginner-tutorial.rst
Original file line number Diff line number Diff line change
Expand Up @@ -241,9 +241,9 @@ the available options:
is '-' the perf will be written to stdout.
[default: -]
--print-algo / --no-print-algo Print the algorithm to stdout.
-x, --exchange-name [poloniex|bitfinex|bittrex]
-x, --exchange-name [poloniex|bitfinex|bittrex|binance]
The name of the targeted exchange
(supported: bitfinex, bittrex, poloniex).
(supported: binance, bitfinex, bittrex, poloniex).
-n, --algo-namespace TEXT A label assigned to the algorithm for data
storage purposes.
-c, --quote-currency TEXT The quote currency used to calculate
Expand Down
6 changes: 3 additions & 3 deletions docs/source/features.rst
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,10 @@ Current Functionality
* Backtesting and live-trading modes to run your trading algorithms, with a
seamless transition between the two.
* Paper trading simulates order in live-trading mode.
* Support for 3 exchanges: Bitfinex, Bittrex and Poloniex in both modes
* Support for four exchanges: Binance, Bitfinex, Bittrex and Poloniex in both modes
(backtesting and live-trading). Historical data for backtesting is provided
with daily resolution for all three exchanges, and minute resolution for
Bitfinex and Poloniex. No minute-resolution data is currently available for
with daily resolution for all four exchanges, and minute resolution for
Binance, Bitfinex and Poloniex. No minute-resolution data is currently available for
Bittrex. Refer to
`Catalyst Market Coverage <https://www.enigma.co/catalyst/status>`_ for
details.
Expand Down
4 changes: 2 additions & 2 deletions docs/source/live-trading.rst
Original file line number Diff line number Diff line change
Expand Up @@ -12,13 +12,13 @@ The most supported exchanges are as follows:

The exchanges available for backtesting are fully supported in live mode:

- Binance, id = ``binance``
- Bitfinex, id = ``bitfinex``
- Bittrex, id = ``bittrex``
- Poloniex, id = ``poloniex``

Additionally, we have successfully tested in live mode the following exchanges :
Additionally, we have successfully tested in live mode the following exchanges:

- Binance, id = ``binance``
- GDAX, id = ``gdax``

As Catalyst is currently in Alpha and in under active development, you are
Expand Down
14 changes: 14 additions & 0 deletions docs/source/releases.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,20 @@
Release Notes
=============

Version 0.5.15
^^^^^^^^^^^^^^
**Release Date**: 2018-07-02

Build
~~~~~
- Add support for Binance historical data.

Bug Fixes
~~~~~~~~~
- Fixed a bug preventing ingestion from a csv if specifying an unsupported
exchange.
- Fixed issues with installing catalyst using pip.

Version 0.5.14
^^^^^^^^^^^^^^
**Release Date**: 2018-06-21
Expand Down
60 changes: 31 additions & 29 deletions etc/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Incompatible with earlier PIP versions
pip>=7.1.0
# bcolz fails to install if this is not in the build_requires.
setuptools>36.0
setuptools==38.5.1

# Logging
Logbook==0.12.5
Expand All @@ -11,78 +11,80 @@ Logbook==0.12.5
pytz==2016.4

# FF: Upgraded numpy because of errors with version 1.11
numpy==1.13.1
numpy==1.14.0

# for pandas-datareader
requests-file==1.4.1
requests-file==1.4.3

# scipy and pandas are required for statsmodels,
# statsmodels in turn is required for some pandas packages
scipy==0.17.1
scipy==1.0.0
pandas==0.19.2
pandas-datareader==0.2.1
pandas-datareader==0.6.0
# Needed for parts of pandas.stats
patsy==0.4.0
statsmodels==0.6.1
patsy==0.5.0
statsmodels==0.8.0

python-dateutil==2.4.2
six==1.10.0
python-dateutil==2.7.3
six==1.11.0

# For fetching remote data
requests==2.9.1
requests==2.18.4

Cython==0.25.2
Cython==0.27.3

# faster OrderedDict
cyordereddict==0.2.2
cyordereddict==1.0.0

# faster array ops.
bottleneck==1.0.0
bottleneck==1.2.1

contextlib2==0.4.0
contextlib2==0.5.5

# networkx requires decorator
decorator==4.0.0
decorator==4.3.0

# Graph algorithms used by catalyst.pipeline
networkx==1.9.1
networkx==2.1

# NumericalExpression pipeline terms.
numexpr==2.6.1
numexpr==2.6.4

# On disk storage format for pipeline data.
bcolz==1.2.1

# Command line interface helper
click==4.0.0
click==6.7

# FUNctional programming utilities
toolz==0.8.2
multipledispatch==0.4.8
toolz==0.9.0
multipledispatch==0.4.9

# for alembic
MarkupSafe==0.23
Mako==1.0.1
MarkupSafe==1.0
Mako==1.0.7
# Asset writer and finder
sqlalchemy==1.0.8
sqlalchemy==1.2.2
# For asset db management
alembic==0.7.7
alembic==0.9.7

# for intervaltree
sortedcontainers==1.4.4
sortedcontainers==1.5.9
intervaltree==2.1.0

# for caching
lru-dict==1.1.4
lru-dict==1.1.6

# For financial risk calculations
empyrical==0.2.1

tables==3.3.0
tables==3.4.2

certifi==2018.1.18

#Catalyst dependencies
ccxt==1.12.131
boto3==1.4.8
boto3==1.5.27
redo==1.6
web3==4.0.0b11; python_version > '3.4'
web3==4.2.1; python_version > '3.4'
requests-toolbelt==0.8.0
3 changes: 2 additions & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -316,7 +316,8 @@ def setup_requirements(requirements_path, module_names, strict_bounds,
'Topic :: Scientific/Engineering :: Information Analysis',
'Topic :: System :: Distributed Computing',
],
install_requires=install_requires(conda_format=conda_build),
install_requires=install_requires(strict_bounds=True,
conda_format=conda_build),
extras_require=extras_requires(conda_format=conda_build),
**conditional_arguments
)

0 comments on commit 80cd13b

Please sign in to comment.