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 Linux
  • 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

This version

1.0.0

Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

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

Uploaded CPython 3.11 Windows x86-64

zipline_tej-1.0.0-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-1.0.0-cp311-cp311-macosx_11_0_arm64.whl (4.2 MB view details)

Uploaded CPython 3.11 macOS 11.0+ ARM64

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

Uploaded CPython 3.11 macOS 10.15+ x86-64

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

Uploaded CPython 3.10 Windows x86-64

zipline_tej-1.0.0-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-1.0.0-cp310-cp310-macosx_11_0_arm64.whl (4.2 MB view details)

Uploaded CPython 3.10 macOS 11.0+ ARM64

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

Uploaded CPython 3.10 macOS 10.15+ x86-64

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

Uploaded CPython 3.9 Windows x86-64

zipline_tej-1.0.0-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-1.0.0-cp39-cp39-macosx_11_0_arm64.whl (4.2 MB view details)

Uploaded CPython 3.9 macOS 11.0+ ARM64

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

Uploaded CPython 3.9 macOS 10.15+ x86-64

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

Uploaded CPython 3.8 Windows x86-64

zipline_tej-1.0.0-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-1.0.0-cp38-cp38-macosx_11_0_arm64.whl (4.3 MB view details)

Uploaded CPython 3.8 macOS 11.0+ ARM64

zipline_tej-1.0.0-cp38-cp38-macosx_10_15_x86_64.whl (4.4 MB view details)

Uploaded CPython 3.8 macOS 10.15+ x86-64

File details

Details for the file zipline_tej-1.0.0-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for zipline_tej-1.0.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 2462a7209feaf9ecbb41d47d4dde46d1ea4eb5a2daffa5161c5515fec091a79a
MD5 d271d3a13b126873c3c6ea8a02bbcd90
BLAKE2b-256 f26dc5e97c1c2be619d6a1084982434eb1097bb7f25a283cf06e10bfc7b6afe4

See more details on using hashes here.

File details

Details for the file zipline_tej-1.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for zipline_tej-1.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 420cd4c00b9480dd9371de63d1fa952a4a9c11bc979fca94faa76458a28bca8b
MD5 17a41f0417b0106a563dd6f02ff45afb
BLAKE2b-256 5a099713833469765124620fff59ed421cf157ef73453873cbc7820ffa549add

See more details on using hashes here.

File details

Details for the file zipline_tej-1.0.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for zipline_tej-1.0.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f8361e5106b1b479052136c1663936ec8b7600317f2ad2faa068fdb31d26d448
MD5 94420599c3a0e204ae01d018c893f17a
BLAKE2b-256 cefe5a07c52c3c996f3110aeb09faf136ec2758e28f757dc057a53af1a414a04

See more details on using hashes here.

File details

Details for the file zipline_tej-1.0.0-cp311-cp311-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for zipline_tej-1.0.0-cp311-cp311-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 aca6179920a7d2537749e008350b2ef3afdd7fa796f7bc0a39e755b8dc6af18e
MD5 8067d04e14add0a60bf23658a3e24a21
BLAKE2b-256 affac783ce291eb5096b61aaf36a95ac38dc4da0646c39191ace03c7ab613f9c

See more details on using hashes here.

File details

Details for the file zipline_tej-1.0.0-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for zipline_tej-1.0.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 3f13c73a2b48527ce4f30ed6b72731a16d0797ad1670abecec6bf677f36d5b70
MD5 ee2b8060ff5a47986e0626ff9dd3da8a
BLAKE2b-256 2ec91ec7545c8c85460105d581e8712942281d19f44b551320529ecd381db661

See more details on using hashes here.

File details

Details for the file zipline_tej-1.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for zipline_tej-1.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 351295ef384f181ef210e86325582c14e5e1f9f9c8671b0756382c502a6db923
MD5 987e7b101718a3131b9b6270745faa1c
BLAKE2b-256 e41056b0e84f84e2d74091b2183222cb9e690125a62210bcb14529265660279e

See more details on using hashes here.

File details

Details for the file zipline_tej-1.0.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for zipline_tej-1.0.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d5aef6e98d3fc1524abebfe993d0386e67c40a1562ef5c97252d530a56d2d48c
MD5 e407a5062290a76f87344691884f9b71
BLAKE2b-256 fa0420b637d9890d5b5067373aeab071e5c7652c7be3f35843f7e42964725e9f

See more details on using hashes here.

File details

Details for the file zipline_tej-1.0.0-cp310-cp310-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for zipline_tej-1.0.0-cp310-cp310-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 a235d8a1836063ec0c3557ea6f04405c3e4fa8fe91dc73b701b8ec8bc305e398
MD5 75611669ef6aa4b64bb8844fb08dc861
BLAKE2b-256 c424b98e1982781b5c84be0da7efe1589ada74f1e3d38da397d1fb9675519896

See more details on using hashes here.

File details

Details for the file zipline_tej-1.0.0-cp39-cp39-win_amd64.whl.

File metadata

File hashes

Hashes for zipline_tej-1.0.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 e55db3ca5bacab96abed8ac6faef4a373c048aef8804b00bfe860e5d6ed8bf5e
MD5 0cb5cf29ff0d91c91677dcd8aeed673c
BLAKE2b-256 6835445902cb98d9274501d6ba571c07217f9ad5ea5fb8e92fa61fbeeb9e8777

See more details on using hashes here.

File details

Details for the file zipline_tej-1.0.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for zipline_tej-1.0.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 580280faf9a5e8c0cb5339d166af422bf30fdcb5b9c7805b3eeb988e916aea2a
MD5 8692b382be61e1da0fc9ee8fda6f62f9
BLAKE2b-256 208decdda315bebbfde91dfe093253ce87eb4829c4c18930bc9805d3236f916c

See more details on using hashes here.

File details

Details for the file zipline_tej-1.0.0-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for zipline_tej-1.0.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 da6dad94ef159c5e98242aada345b2568e163a5e85c53f2a72f57290b5f7ee0d
MD5 b8a362b9f4b791f2af19bea3b1e1bbd5
BLAKE2b-256 87440092876d296be214be717528d80c20147f0fc131a67e3a97add80bc34197

See more details on using hashes here.

File details

Details for the file zipline_tej-1.0.0-cp39-cp39-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for zipline_tej-1.0.0-cp39-cp39-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 4d494f725369bf24e7b736b7ff2bb4c092c6ace6b551ad3e28cb84ca05d1f061
MD5 680555b037407e9aacab971b5c871640
BLAKE2b-256 6da0e1abb206e103747b26b8418bbe3019d6ec1b4bd9a3d31fb05a1a5e55fbbd

See more details on using hashes here.

File details

Details for the file zipline_tej-1.0.0-cp38-cp38-win_amd64.whl.

File metadata

File hashes

Hashes for zipline_tej-1.0.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 5d346e9e8767d14270fe551891e89a1d513920e2e95ba84eaa455cf7a59ad6e8
MD5 5b7b23de64f05054c375aa6c8af08f9a
BLAKE2b-256 8239e07787c34050ed5582cbbac8f7ce729dfd7b817c13021d5fe86862bd4ac4

See more details on using hashes here.

File details

Details for the file zipline_tej-1.0.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for zipline_tej-1.0.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8e6c7cd30d570f51de2822d33b49400c8c78bb98678702a05d513e917f27816b
MD5 9bdb9c5cf20bc1b939069c1a84c12eb2
BLAKE2b-256 07d989b92e8bf1a92f1f309e9719e1b4f4318f7b53f7fb2136b3d9437c9bae89

See more details on using hashes here.

File details

Details for the file zipline_tej-1.0.0-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for zipline_tej-1.0.0-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 420c47cb8636eb950ab2f5bb2a6f15f0778061ce2ac2f2605fd767e6aebc3df5
MD5 c5a861da871002cb2e05368fd139d120
BLAKE2b-256 c7d181c0aa34f0841a53b51668a6c47977ae3d7498bde1510a81fb2e7fef7f08

See more details on using hashes here.

File details

Details for the file zipline_tej-1.0.0-cp38-cp38-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for zipline_tej-1.0.0-cp38-cp38-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 7b4afabbb5e2fbd6b4d628b133480a6395ba631b84cc96a423d2db2480ecd212
MD5 64f6743f139fc19b202b6e75bf0106dc
BLAKE2b-256 af8b683cc4d42e34379321291682df82d80783e4501e404b02659fed8fd9e60f

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