Skip to main content

A Pythonic backtester for trading algorithms

Project description

Installation

Used packages and environment

  • Main package: Zipline
  • Python 3.8 or above (currently support up to 3.11)
  • Microsoft Windows OS or macOS or Ubuntu
  • Other Python dependency packages: Pandas, Numpy, Logbook, Exchange-calendars, etc.

How to install Zipline Reloaded modified by TEJ

  • We're going to illustrate under anaconda environment, so we suggest using Anaconda as development environment.

  • Download dependency packages.

  1. Windows (zipline-tej.yml)

  2. Mac (zipline-tej_mac.yml)

  • Start an Anaconda (base) prompt, create an virtual environment and install the appropriate versions of packages: (We strongly recommand using virtual environment to keep every project independent.) (reason)
Windows Users
# change directionary to the folder exists zipline-tej.yml
$ cd <C:\Users\username\Downloads>

# create virtual env
$ conda env create -f zipline-tej.yml

# activate virtual env
$ conda activate zipline-tej
Mac Users
# change directionary to the folder exists zipline-tej_mac.yml
$ cd <C:\Users\username\Downloads>

# create virtual env
$ conda env create -f zipline-tej_mac.yml

# activate virtual env
$ conda activate zipline-tej

Also, if you are familiar with Python enough, you can create a virtual environment without zipline-tej.yml and here's the sample :

# create virtual env
$ conda create -n <env_name> python=3.10

# activate virtual env
$ conda activate <env_name>

# download dependency packages
$ pip install zipline-tej

While encountering environment problems, we provided a consistent and stable environment on Docker hub.

For users that using docker, we briefly introduce how to download and use it.

First of all, please download and install docker-desktop.


1. Start docker-desktop. (Registration is not must.)

2. Select the "images" on the leftside and search "tej87681088/tquant" and click "Pull".

3. After the image was downloaded, click the "run" icon the enter the optional settings.

3-1. Contaner-name: whatever you want.

3-2. Ports: the port to connect, "8888" is recommended.

3-3. Volumes: the place to store files. (You can create volume first on the left side.)

e.g. created a volume named "data", host path enter "data", container path "/app" is recommended.

4. Select the "Containers" leftside, the click the one which its image name is tej87681088/tquant

5. In its "Logs" would show an url like 
http://127.0.0.1:8888/tree?token=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

6. Go to your browser and enter "http://127.0.0.1:<port_you_set_in_step_3-2>/tree?token=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"

6-1. If your port is 8888, you can just click the hyperlink.

7. Start develop your strategy!

NOTICE: Next time, we just need to reproduce step4 to step6.

Quick start

CLI Interface

The following code implements a simple buy-and-hold trading algorithm.

from zipline.api import order, record, symbol

def initialize(context):
    context.asset = symbol("2330")
    
def handle_data(context, data):
    order(context.asset, 10)
    record(TSMC=data.current(context.asset, "price"))
    
def analyze(context=None, results=None):
    import matplotlib.pyplot as plt

    # Plot the portfolio and asset data.
    ax1 = plt.subplot(211)
    results.portfolio_value.plot(ax=ax1)
    ax1.set_ylabel("Portfolio value (TWD)")
    ax2 = plt.subplot(212, sharex=ax1)
    results.TSMC.plot(ax=ax2)
    ax2.set_ylabel("TSMC price (TWD)")

    # Show the plot.
    plt.gcf().set_size_inches(18, 8)
    plt.show()

You can then run this algorithm using the Zipline CLI. But first, you need to download some market data with historical prices and trading volumes:

  • Before ingesting data, you have to set some environment variables as follow:
# setting TEJAPI_KEY to get permissions loading data
$ set TEJAPI_KEY=<your_key>
$ set TEJAPI_BASE=https://api.tej.com.tw

# setting download ticker
$ set ticker=2330 2317

# setting backtest period
$ set mdate=20200101 20220101

  • Ingest and run backtesting algorithm
$ zipline ingest -b tquant
$ zipline run -f buy_and_hold.py  --start 20200101 --end 20220101 -o bah.pickle --no-benchmark --no-treasury 

Then, the resulting performance DataFrame is saved as bah.pickle, which you can load and analyze from Python.

More useful zipline commands

Before calling zipline in CLI, be sure that TEJAPI_KEY and TEJAPI_BASE were set. Use zipline --help to get more information.

For example : We want to know how to use zipline run, we can run as follow:

zipline run --help

Usage: zipline run [OPTIONS]
  Run a backtest for the given algorithm.

Options:
  -f, --algofile FILENAME         The file that contains the algorithm to run.
  -t, --algotext TEXT             The algorithm script to run.
  -D, --define TEXT               Define a name to be bound in the namespace
                                  before executing the algotext. For example
                                  '-Dname=value'. The value may be any python
                                  expression. These are evaluated in order so
                                  they may refer to previously defined names.
  --data-frequency [daily|minute]
                                  The data frequency of the simulation.
                                  [default: daily]
  --capital-base FLOAT            The starting capital for the simulation.
                                  [default: 10000000.0]
  -b, --bundle BUNDLE-NAME        The data bundle to use for the simulation.
                                  [default: tquant]
  --bundle-timestamp TIMESTAMP    The date to lookup data on or before.
                                  [default: <current-time>]
  -bf, --benchmark-file FILE      The csv file that contains the benchmark
                                  returns
  --benchmark-symbol TEXT         The symbol of the instrument to be used as a
                                  benchmark (should exist in the ingested
                                  bundle)
  --benchmark-sid INTEGER         The sid of the instrument to be used as a
                                  benchmark (should exist in the ingested
                                  bundle)
  --no-benchmark                  If passed, use a benchmark of zero returns.
  -bf, --treasury-file FILE       The csv file that contains the treasury
                                  returns
  --treasury-symbol TEXT          The symbol of the instrument to be used as a
                                  treasury (should exist in the ingested
                                  bundle)
  --treasury-sid INTEGER          The sid of the instrument to be used as a
                                  treasury (should exist in the ingested
                                  bundle)
  --no-treasury                   If passed, use a treasury of zero returns.
  -s, --start DATE                The start date of the simulation.
  -e, --end DATE                  The end date of the simulation.
  -o, --output FILENAME           The location to write the perf data. If this
                                  is '-' the perf will be written to stdout.
                                  [default: -]
  --trading-calendar TRADING-CALENDAR
                                  The calendar you want to use e.g. TEJ_XTAI.
                                  TEJ_XTAI is the default.
  --print-algo / --no-print-algo  Print the algorithm to stdout.
  --metrics-set TEXT              The metrics set to use. New metrics sets may
                                  be registered in your extension.py.
  --blotter TEXT                  The blotter to use.  [default: default]
  --help                          Show this message and exit.

New add tickers

$ zipline add -t "<ticker_wants_to_add>"

If tickers are more than 1 ticker, split them apart by " " or "," or ";".

For more detail use zipline add --help .

Display bundle-info

$ zipline bundle-info

To show what the tickers are there in newest bundle.

For more detail use zipline bundle-info --help .

Switch bundle

Before using switch, use zipline bundles to get the timestamp of each folder.

$ zipline switch -t "<The_timestamp_of_the_folder_want_to_use>"

Due to zipline only using the newest foler, switch can make previous folder become newest.

For more detail use zipline switch --help .

Update bundle

$ zipline update

To update the bundle information to newest date.

For more detail use zipline update --help .

Jupyter Notebook

Change Anaconda kernel

  • Since we've downloaded package "nb_conda_kernels", we should be able to change kernel in jupyter notebook.

How to new a notebook using specific kernel

(1) Open anaconda prompt

(2) Enter the command as follow :

# First one can be ignore if already in environment of zipline-tej
$ conda activate zipline-tej 
# start a jupyter notebook
$ jupyter notebook 

(3) Start a notebook and select Python[conda env:zipline-tej]

(4)(Optional) If you have already written a notebook, you can open it and change kernel by clicking the "Kernel" in menu and "Change kernel" to select the specfic kernel.

Set environment variables TEJAPI_KEY, ticker and mdate

* ticker would be your target ticker symbol, and it should be a string. If there're more than one ticker needed, use " ", "," or ";" to split them apart.

* mdate refers the begin date and end date, use " ", "," or ";" to split them apart.

In[1]:
import os    
os.environ['TEJAPI_KEY'] = <your_key>    
os.environ['ticker'] ='2330 2317'     
os.environ['mdate'] ='20200101 20220101'  

Call ingest to download data to ~\.zipline

In[2]:    
!zipline ingest -b tquant
[Out]: 
Merging daily equity files:
[YYYY-MM-DD HH:mm:ss.ssssss] INFO: zipline.data.bundles.core: Ingesting tquant.

Design the backtesting strategy

In[3]:
from zipline.api import order, record, symbol

def initialize(context):
    context.asset = symbol("2330")
    
def handle_data(context, data):
    order(context.asset, 10)
    record(TSMC=data.current(context.asset, "price"))
    
def analyze(context=None, results=None):
    import matplotlib.pyplot as plt

    # Plot the portfolio and asset data.
    ax1 = plt.subplot(211)
    results.portfolio_value.plot(ax=ax1)
    ax1.set_ylabel("Portfolio value (TWD)")
    ax2 = plt.subplot(212, sharex=ax1)
    results.TSMC.plot(ax=ax2)
    ax2.set_ylabel("TSMC price (TWD)")

    # Show the plot.
    plt.gcf().set_size_inches(18, 8)
    plt.show()

Run backtesting algorithm and plot

In[4]:
from zipline import run_algorithm
import pandas as pd
from zipline.utils.calendar_utils import get_calendar
trading_calendar = get_calendar('TEJ_XTAI')

start = pd.Timestamp('20200103', tz ='utc' )
end = pd.Timestamp('20211230', tz='utc')

result = run_algorithm(start=start,
                  end=end,
                  initialize=initialize,
                  capital_base=1000000,
                  handle_data=handle_data,
                  bundle='tquant',
                  trading_calendar=trading_calendar,
                  analyze=analyze,
                  data_frequency='daily'
                  )
[Out]:

output

Show trading process

In[5]: 
result
[Out]:
period_open period_close starting_value ending_value starting_cash ending_cash portfolio_value longs_count shorts_count long_value ... treasury_period_return trading_days period_label algo_volatility benchmark_period_return benchmark_volatility algorithm_period_return alpha beta sharpe
2020-01-03 05:30:00+00:00 2020-01-03 01:01:00+00:00 2020-01-03 05:30:00+00:00 0.0 0.0 1.000000e+06 1.000000e+06 1.000000e+06 0 0 0.0 ... 0.0 1 2020-01 NaN 0.0 NaN 0.000000 None None NaN
2020-01-06 05:30:00+00:00 2020-01-06 01:01:00+00:00 2020-01-06 05:30:00+00:00 0.0 3320.0 1.000000e+06 9.966783e+05 9.999983e+05 1 0 3320.0 ... 0.0 2 2020-01 0.000019 0.0 0.0 -0.000002 None None -11.224972
2020-01-07 05:30:00+00:00 2020-01-07 01:01:00+00:00 2020-01-07 05:30:00+00:00 3320.0 6590.0 9.966783e+05 9.933817e+05 9.999717e+05 1 0 6590.0 ... 0.0 3 2020-01 0.000237 0.0 0.0 -0.000028 None None -10.038514
2020-01-08 05:30:00+00:00 2020-01-08 01:01:00+00:00 2020-01-08 05:30:00+00:00 6590.0 9885.0 9.933817e+05 9.900850e+05 9.999700e+05 1 0 9885.0 ... 0.0 4 2020-01 0.000203 0.0 0.0 -0.000030 None None -9.298128
2020-01-09 05:30:00+00:00 2020-01-09 01:01:00+00:00 2020-01-09 05:30:00+00:00 9885.0 13500.0 9.900850e+05 9.867083e+05 1.000208e+06 1 0 13500.0 ... 0.0 5 2020-01 0.001754 0.0 0.0 0.000208 None None 5.986418
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
2021-12-24 05:30:00+00:00 2021-12-24 01:01:00+00:00 2021-12-24 05:30:00+00:00 2920920.0 2917320.0 -1.308854e+06 -1.314897e+06 1.602423e+06 1 0 2917320.0 ... 0.0 484 2021-12 0.232791 0.0 0.0 0.602423 None None 1.170743
2021-12-27 05:30:00+00:00 2021-12-27 01:01:00+00:00 2021-12-27 05:30:00+00:00 2917320.0 2933040.0 -1.314897e+06 -1.320960e+06 1.612080e+06 1 0 2933040.0 ... 0.0 485 2021-12 0.232577 0.0 0.0 0.612080 None None 1.182864
2021-12-28 05:30:00+00:00 2021-12-28 01:01:00+00:00 2021-12-28 05:30:00+00:00 2933040.0 2982750.0 -1.320960e+06 -1.327113e+06 1.655637e+06 1 0 2982750.0 ... 0.0 486 2021-12 0.233086 0.0 0.0 0.655637 None None 1.237958
2021-12-29 05:30:00+00:00 2021-12-29 01:01:00+00:00 2021-12-29 05:30:00+00:00 2982750.0 2993760.0 -1.327113e+06 -1.333276e+06 1.660484e+06 1 0 2993760.0 ... 0.0 487 2021-12 0.232850 0.0 0.0 0.660484 None None 1.243176
2021-12-30 05:30:00+00:00 2021-12-30 01:01:00+00:00 2021-12-30 05:30:00+00:00 2993760.0 2995050.0 -1.333276e+06 -1.339430e+06 1.655620e+06 1 0 2995050.0 ... 0.0 488 2021-12 0.232629 0.0 0.0 0.655620 None None 1.235305

488 rows × 38 columns


More Zipline Tutorials

Suggestions

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

zipline-tej-0.0.54.dev0.tar.gz (11.6 MB view details)

Uploaded Source

Built Distributions

zipline_tej-0.0.54.dev0-cp311-cp311-win_amd64.whl (4.1 MB view details)

Uploaded CPython 3.11 Windows x86-64

zipline_tej-0.0.54.dev0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (10.5 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

zipline_tej-0.0.54.dev0-cp311-cp311-macosx_11_0_arm64.whl (4.2 MB view details)

Uploaded CPython 3.11 macOS 11.0+ ARM64

zipline_tej-0.0.54.dev0-cp311-cp311-macosx_10_15_x86_64.whl (4.3 MB view details)

Uploaded CPython 3.11 macOS 10.15+ x86-64

zipline_tej-0.0.54.dev0-cp310-cp310-win_amd64.whl (4.1 MB view details)

Uploaded CPython 3.10 Windows x86-64

zipline_tej-0.0.54.dev0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (10.0 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

zipline_tej-0.0.54.dev0-cp310-cp310-macosx_11_0_arm64.whl (4.2 MB view details)

Uploaded CPython 3.10 macOS 11.0+ ARM64

zipline_tej-0.0.54.dev0-cp310-cp310-macosx_10_15_x86_64.whl (4.3 MB view details)

Uploaded CPython 3.10 macOS 10.15+ x86-64

zipline_tej-0.0.54.dev0-cp39-cp39-win_amd64.whl (4.1 MB view details)

Uploaded CPython 3.9 Windows x86-64

zipline_tej-0.0.54.dev0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (10.2 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

zipline_tej-0.0.54.dev0-cp39-cp39-macosx_11_0_arm64.whl (4.2 MB view details)

Uploaded CPython 3.9 macOS 11.0+ ARM64

zipline_tej-0.0.54.dev0-cp39-cp39-macosx_10_15_x86_64.whl (4.3 MB view details)

Uploaded CPython 3.9 macOS 10.15+ x86-64

zipline_tej-0.0.54.dev0-cp38-cp38-win_amd64.whl (4.3 MB view details)

Uploaded CPython 3.8 Windows x86-64

zipline_tej-0.0.54.dev0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (10.4 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

zipline_tej-0.0.54.dev0-cp38-cp38-macosx_11_0_arm64.whl (4.3 MB view details)

Uploaded CPython 3.8 macOS 11.0+ ARM64

zipline_tej-0.0.54.dev0-cp38-cp38-macosx_10_15_x86_64.whl (4.5 MB view details)

Uploaded CPython 3.8 macOS 10.15+ x86-64

File details

Details for the file zipline-tej-0.0.54.dev0.tar.gz.

File metadata

  • Download URL: zipline-tej-0.0.54.dev0.tar.gz
  • Upload date:
  • Size: 11.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.6

File hashes

Hashes for zipline-tej-0.0.54.dev0.tar.gz
Algorithm Hash digest
SHA256 d20f03336fb2f6fd88386a48b6c7d09ee12df3406ed2b6461563fec1a30a5c47
MD5 9468ab1564fe51a4796a1f362fccb992
BLAKE2b-256 bfabfa37441c5edfeb9f4b06e86bb95d6785cb0d7b056cb2a7f3dc512032a44c

See more details on using hashes here.

File details

Details for the file zipline_tej-0.0.54.dev0-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for zipline_tej-0.0.54.dev0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 0062fc0fcd9f7fc1cdbb207a39cc42355c66baa68383d4beaa866cdf4d109ec1
MD5 5e7b0030bbb4b651c21beb1f9ad6be69
BLAKE2b-256 a32a31abe7c920ac315d979b27db10fdf7bf7f9d7c28281658c77afb97ee3489

See more details on using hashes here.

File details

Details for the file zipline_tej-0.0.54.dev0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for zipline_tej-0.0.54.dev0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e390860fc34e013c592680bb6867a16f9e19e57a56c1bdd832c13bd64a32f13f
MD5 dccdc0ae2d436436a0503231c7b3b5bb
BLAKE2b-256 92edc1013bb57f262397d6eb682a0652236c038fd584f469b3790f61989ab2e8

See more details on using hashes here.

File details

Details for the file zipline_tej-0.0.54.dev0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for zipline_tej-0.0.54.dev0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 283461a9ce6391c60437dde1b595690617250058fb8f7cd6c700f4322db2c01f
MD5 7e6101de5d354ae8353827e5fe92caa6
BLAKE2b-256 02b17a912906e569edc4cb30fb3be1749b447db7a561938896f7639ae3257a3d

See more details on using hashes here.

File details

Details for the file zipline_tej-0.0.54.dev0-cp311-cp311-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for zipline_tej-0.0.54.dev0-cp311-cp311-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 7a783f617b666cd50259d8385ec7aba90ba92ba072c12b3d834f0d904ff8af69
MD5 e72bb39d5979719deffb976161aa1c81
BLAKE2b-256 0f5da05abe0ec10eff5a2e3f016c40f03ec104cc54a563cf0f37052afe76c5e7

See more details on using hashes here.

File details

Details for the file zipline_tej-0.0.54.dev0-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for zipline_tej-0.0.54.dev0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 b6974f5e9fec4ea8b4f0254c773a95ee6c1cc42266047061ad35e96f9a61b3d6
MD5 31a3ef19ccfb2a73e17f6f196d1fee66
BLAKE2b-256 7693afa350442ac42b4cfece8a631bae1ee67c1893baa8d6d2f5c35753716948

See more details on using hashes here.

File details

Details for the file zipline_tej-0.0.54.dev0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for zipline_tej-0.0.54.dev0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f0a55a33c2f98110dcb9ed04ac992dc31ac85f6c6454acfebeded24126a5474f
MD5 6ff5fac1d2f155829915e23cf95f3d5b
BLAKE2b-256 7921579a1d437211778f2a9cbb199aac6dcba6565b66c87276591a2a13f31d32

See more details on using hashes here.

File details

Details for the file zipline_tej-0.0.54.dev0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for zipline_tej-0.0.54.dev0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 31306d2f159b88c40352728fe11803d4383a1f3fd52951900415cc891979661e
MD5 6d2aca38ecdd288f6102f7a0b52cd7c9
BLAKE2b-256 fc982b25cf077318831687b8f22d8e74a4906237140a13687c7b815b617cbf86

See more details on using hashes here.

File details

Details for the file zipline_tej-0.0.54.dev0-cp310-cp310-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for zipline_tej-0.0.54.dev0-cp310-cp310-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 495e6aa4a25283e9bfafed257831596c4de71b43d79505526ecc5ffaa945de46
MD5 d0a15ea7f7978ec16c40ac2e8a92d570
BLAKE2b-256 0dfa251c5e21df20ce4c55d35de187514b8eef27715f515d452f0b9a2be6ab70

See more details on using hashes here.

File details

Details for the file zipline_tej-0.0.54.dev0-cp39-cp39-win_amd64.whl.

File metadata

File hashes

Hashes for zipline_tej-0.0.54.dev0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 82c309f6192f558b6ff54ad3ed16c460f79cc95d29c1291120f4d0d41661025f
MD5 2c83f82680a579c586e20f2f2a14ce2e
BLAKE2b-256 5df2e45055a3c989705dadc56ffe92433716f4d823915d4cacdc69ca9f5ea83f

See more details on using hashes here.

File details

Details for the file zipline_tej-0.0.54.dev0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for zipline_tej-0.0.54.dev0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e103bfdb15cdf0432f42648fcd4f25c4ced03f0372fbd7e9b5ce008a064aa4c3
MD5 36e4341ce69c2e923f4662fd3d31f7e2
BLAKE2b-256 d30e5f109217915d46bb9c1ae144584263efc7f14afb6be82b9324d1557c6fa6

See more details on using hashes here.

File details

Details for the file zipline_tej-0.0.54.dev0-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for zipline_tej-0.0.54.dev0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 932745be340779c8385433bbe6d2423b24eb0d2d97d0bacea28eaccd386c4470
MD5 e70d2b25ec695c4aa7626abd0b5a3a51
BLAKE2b-256 6e2aebb09070a12304de68370e7f5939bf22ecffc6645f01428b4c112baa23b0

See more details on using hashes here.

File details

Details for the file zipline_tej-0.0.54.dev0-cp39-cp39-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for zipline_tej-0.0.54.dev0-cp39-cp39-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 426e4ab6da5571b56d5b2c30eb940b905580d979875340d073f511cd35fe5beb
MD5 d3bc51c653ce16289c1c68007c5fa6a5
BLAKE2b-256 6ffc112cacb2446e9f5e27a88ae2c3f9b3431f3f5afe82983bc0dd94c40a761b

See more details on using hashes here.

File details

Details for the file zipline_tej-0.0.54.dev0-cp38-cp38-win_amd64.whl.

File metadata

File hashes

Hashes for zipline_tej-0.0.54.dev0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 176806590ed1fe757616265bb8b3d3697219c08b8a1bdb4cdb83373c9cf3cfb4
MD5 89dfa55b59f1aa6d74bf7f4fc65b7b6c
BLAKE2b-256 86ee0ac3f3ec6f6619bcbc3bf00f5905e9ceee58584ce12fdd79efda179a2d43

See more details on using hashes here.

File details

Details for the file zipline_tej-0.0.54.dev0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for zipline_tej-0.0.54.dev0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3d3b5387bc207c3a8f7c5147282744a0ddbb94b709d11bad5f87a53b3c7fedbc
MD5 a362b0b55aee85bc4014fb1f0abe937c
BLAKE2b-256 a3c2acb2c6371ee8b3a3b87dd5b2c397f4513f2f84eddde75d1c045bc477e52b

See more details on using hashes here.

File details

Details for the file zipline_tej-0.0.54.dev0-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for zipline_tej-0.0.54.dev0-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0cfdcba590213a6607492831ee9ff1fd23a3761b0c6ce31144a3feacad801c7d
MD5 e0cc35a66bc00c69a56fc0e92f9128c0
BLAKE2b-256 3d7747de9d2006137be4684455d4a733c6f52c0c75e88cfd1ca5a14180134dee

See more details on using hashes here.

File details

Details for the file zipline_tej-0.0.54.dev0-cp38-cp38-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for zipline_tej-0.0.54.dev0-cp38-cp38-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 0d1ac2fc1ebb03902e20b4f89193591b40cad975f47a000db6af4824cd371949
MD5 4441abb8f5d8ce8a143c2f2d1463bcec
BLAKE2b-256 a7bf9d7f9b01029ec9d393ce7d420833d3078a4107005e17a39b89cb0709915f

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