diff --git a/README.rst b/README.rst index 8b79b698..6c395b45 100644 --- a/README.rst +++ b/README.rst @@ -1,3 +1,72 @@ -All the documentation for `Catalyst `_ -can be found in the -`documentation website `_. \ No newline at end of file +.. image:: https://s3.amazonaws.com/enigmaco-docs/enigma-catalyst.jpg + :target: https://enigmampc.github.io/catalyst + :align: center + :alt: Enigma | Catalyst + +|version tag| +|version status| +|discord| +|twitter| + +| + +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, +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 `enigma.co `_ to learn more about Catalyst, or +refer to the `whitepaper `_ for +further technical details. + +Catalyst builds on top of the well-established +`Zipline `_ project. We did our best to +minimize structural changes to the general API to maximize compatibility with +existing trading algorithms, developer knowledge, and tutorials. Join us on +`Discord `_ where we have a *#catalyst_dev* channel +for questions around Catalyst, algorithmic trading and technical support. + +Overview +======== + +- Ease of use: Catalyst tries to get out of your way so that you can + focus on algorithm development. See + `examples of trading strategies `_ + provided. +- Support for several of the top crypto-exchanges by trading volume: + `Bitfinex `_, `Bittrex `_, + and `Poloniex `_. +- 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 + `Catalyst Market Coverage Overview `_. +- Backtesting and live-trading functionality, with a seamless transition + between the two modes. +- Output of performance statistics are based on Pandas DataFrames to + integrate nicely into the existing PyData eco-system. +- Statistic and machine learning libraries like matplotlib, scipy, + statsmodels, and sklearn support development, analysis, and + visualization of state-of-the-art trading systems. +- Addition of Bitcoin price (btc_usdt) as a benchmark for comparing + performance across trading algorithms. + +Go to our `Documentation Website `_. + + + + +.. |version tag| image:: https://img.shields.io/pypi/v/enigma-catalyst.svg + :target: https://pypi.python.org/pypi/enigma-catalyst + +.. |version status| image:: https://img.shields.io/pypi/pyversions/enigma-catalyst.svg + :target: https://pypi.python.org/pypi/enigma-catalyst + +.. |discord| image:: https://img.shields.io/badge/discord-join%20chat-green.svg + :target: https://discordapp.com/invite/SJK32GY + +.. |twitter| image:: https://img.shields.io/twitter/follow/enigmampc.svg?style=social&label=Follow&style=flat-square + :target: https://twitter.com/enigmampc + + diff --git a/catalyst/examples/simple_universe.py b/catalyst/examples/simple_universe.py index 7539a76f..c27979b9 100644 --- a/catalyst/examples/simple_universe.py +++ b/catalyst/examples/simple_universe.py @@ -63,6 +63,7 @@ def handle_data(context, data): # get data every 30 minutes minutes = 30 + # get lookback_days of history data: that is 'lookback' number of bins lookback = one_day_in_minutes / minutes * lookback_days if not context.i % minutes and context.universe: diff --git a/docs/source/index.rst b/docs/source/index.rst index a0e8f097..3e94084f 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -1,4 +1,4 @@ -.. include:: welcome.rst +.. include:: ../../README.rst | | Table of Contents diff --git a/docs/source/jupyter.rst b/docs/source/jupyter.rst index 4042da53..21fc010a 100644 --- a/docs/source/jupyter.rst +++ b/docs/source/jupyter.rst @@ -1,8 +1,7 @@ Catalyst & Jupyter Notebook =========================== -(Feel free to check out the actual Notebook file -`here `__) +(`This is actual Notebook `_ referenced in the text below) The `Jupyter Notebook `__ is a very powerful browser-based interface to a Python interpreter. As it is already the @@ -33,11 +32,19 @@ the interface through which you will interact with Jupyter Notebook. Running Algorithms ^^^^^^^^^^^^^^^^^^ -To use it you have to write your algorithm in a cell and let -``catalyst`` know that it is supposed to run this algorithm. This is -done via the ``%%catalyst`` IPython magic command that is available -after you import ``catalyst`` from within the Notebook. This magic takes -the same arguments as the command line interface. Thus to run the +Before running your algorithms inside the Jupyter Notebook, remember to ingest +the data from the command line interface (CLI). In the example below, you would +need to run first: + +.. code:: bash + + catalyst ingest-exchange -x bitfinex -i btc_usd + +To use Catalyst inside a Jupyter Noebook, you have to write your algorithm in a +cell and let the Jupyter know that it is supposed to execute this algorithm with +Catalyst. This is done via the ``%%catalyst`` IPython magic command that is +available after you import ``catalyst`` from within the Notebook. This magic +takes the same arguments as the command line interface. Thus to run the algorithm just supply the same parameters as the CLI but without the -f and -o arguments. We just have to execute the following cell after importing ``catalyst`` to register the magic. @@ -58,7 +65,7 @@ functions. .. code:: python - %%catalyst --start 2015-3-2 --end 2017-6-28 --capital-base 100000 -x bitfinex + %%catalyst --start 2015-3-2 --end 2017-6-28 --capital-base 100000 -x bitfinex -c usd from catalyst.finance.slippage import VolumeShareSlippage @@ -199,8 +206,6 @@ functions. .. figure:: https://i.imgur.com/DS5w47q.png :alt: png - png - .. raw:: html
diff --git a/docs/source/welcome.rst b/docs/source/welcome.rst deleted file mode 100644 index 22bd37ff..00000000 --- a/docs/source/welcome.rst +++ /dev/null @@ -1,43 +0,0 @@ -.. image:: https://s3.amazonaws.com/enigmaco-docs/enigma-catalyst.jpg -| -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, -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 `enigma.co `_ to learn more about Catalyst, or -refer to the `whitepaper `_ for -further technical details. - -Catalyst builds on top of the well-established -`Zipline `_ project. We did our best to -minimize structural changes to the general API to maximize compatibility with -existing trading algorithms, developer knowledge, and tutorials. Join us on -`Discord `_ where we have a *#catalyst_dev* channel -for questions around Catalyst, algorithmic trading and technical support. - -Features -======== - -- Ease of use: Catalyst tries to get out of your way so that you can - focus on algorithm development. See - `examples of trading strategies `_ - provided. -- Support for several of the top crypto-exchanges by trading volume: - `Bitfinex `_, `Bittrex `_, - and `Poloniex `_. -- 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 - `Catalyst Market Coverage Overview `_. -- Backtesting and live-trading functionality, with a seamless transition - between the two modes. -- Output of performance statistics are based on Pandas DataFrames to - integrate nicely into the existing PyData eco-system. -- Statistic and machine learning libraries like matplotlib, scipy, - statsmodels, and sklearn support development, analysis, and - visualization of state-of-the-art trading systems. -- Addition of Bitcoin price (btc_usdt) as a benchmark for comparing - performance across trading algorithms. \ No newline at end of file