Skip to main content

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/.

Release files for zipline-poloniex 0.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for zipline-poloniex 0.1.2
File Size Uploaded
zipline-poloniex-0.1.2.tar.gz 45.5 kB Details

Release files / zipline-poloniex-0.1.2.tar.gz

Download URL zipline-poloniex-0.1.2.tar.gz
Size 45.5 kB
Tags Source
SHA-256 checksum
How to use checksums
27c4387b68ed9a7337c41e0243a92b9a4d680d21d0d2786d718df5a3da62b4f0
BLAKE2b-256 checksum
How to use checksums
74702977296c4722e3d3ffc20ec720411a0ab39b79cd4a13e4df9e02eb87f6ba
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

0.1.2 This release

1 release file

0.1.1

1 release file

0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page