Skip to main content

Poloniex data bundle for zipline, the pythonic algorithmic trading library.

Project description

Poloniex data bundle for zipline, the pythonic algorithmic trading library.

Description

Just install the data bundle with pip:

pip install zipline-poloniex

and create a file $HOME/.zipline/extension.py calling zipline’s register function. The create_bundle function returns the necessary ingest function for register. Use the Pairs record for common US-Dollar to crypto-currency pairs.

Example

  1. Add following content to $HOME/.zipline/extension.py:

import pandas as pd
from zipline_poloniex import create_bundle, Pairs, register

# adjust the following lines to your needs
start_session = pd.Timestamp('2016-01-01', tz='utc')
end_session = pd.Timestamp('2016-12-31', tz='utc')
assets = [Pairs.usdt_eth]

register(
    'poloniex',
    create_bundle(
        assets,
        start_session,
        end_session,
    ),
    calendar_name='POLONIEX',
    minutes_per_day=24*60,
    start_session=start_session,
    end_session=end_session
)
  1. Ingest the data with:

    zipline ingest -b poloniex
  2. Create your trading algorithm, e.g. my_algorithm.py with:

import logging

from zipline.api import order, record, symbol
from zipline_poloniex.utils import setup_logging

__author__ = "Florian Wilhelm"
__copyright__ = "Florian Wilhelm"
__license__ = "new-bsd"

# setup logging and all
setup_logging(logging.INFO)
_logger = logging.getLogger(__name__)
_logger.info("Dummy agent loaded")


def initialize(context):
    _logger.info("Initializing agent...")
    # There seems no "nice" way to set the emission rate to minute
    context.sim_params._emission_rate = 'minute'


def handle_data(context, data):
    _logger.debug("Handling data...")
    order(symbol('ETH'), 10)
    record(ETH=data.current(symbol('ETH'), 'price'))
  1. Run your algorithm in my_algorithm.py with:

    zipline run -f ./my_algorithm.py -s 2016-01-01 -e 2016-12-31 -o results.pickle --data-frequency minute -b poloniex
  2. Analyze the performance by reading results.pickle with the help of Pandas.

Note

This project has been set up using PyScaffold 2.5.7. For details and usage information on PyScaffold see http://pyscaffold.readthedocs.org/.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

zipline-poloniex-0.1.1.tar.gz (45.0 kB view details)

Uploaded Source

File details

Details for the file zipline-poloniex-0.1.1.tar.gz.

File metadata

File hashes

Hashes for zipline-poloniex-0.1.1.tar.gz
Algorithm Hash digest
SHA256 b8f839411b1ad5042d9c8663505675e08a498d96981cb2b62d63a5e96749af4d
MD5 1a98f848554fc8a3cf59bc118cf62c0c
BLAKE2b-256 6533f75e39efb84c1f651f2ea980d94c2b6cdc5cd1150a53e2cdf88d6841d174

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page