Skip to main content

A backtester for trading algorithms

Project description

TA-Lib

Tests

This is a Python wrapper for TA-LIB based on Cython instead of SWIG. From the homepage:

TA-Lib is widely used by trading software developers requiring to perform technical analysis of financial market data.

  • Includes 150+ indicators such as ADX, MACD, RSI, Stochastic, Bollinger Bands, etc.
  • Candlestick pattern recognition
  • Open-source API for C/C++, Java, Perl, Python and 100% Managed .NET

The original Python bindings included with TA-Lib use SWIG which unfortunately are difficult to install and aren't as efficient as they could be. Therefore this project uses Cython and Numpy to efficiently and cleanly bind to TA-Lib -- producing results 2-4 times faster than the SWIG interface.

In addition, this project also supports the use of the Polars and Pandas libraries.

Installation

You can install from PyPI:

$ python3 -m pip install TA-Lib

Or checkout the sources and run setup.py yourself:

$ python setup.py install

It also appears possible to install via Conda Forge:

$ conda install -c conda-forge ta-lib

Dependencies

To use TA-Lib for python, you need to have the TA-Lib already installed. You should probably follow their installation directions for your platform, but some suggestions are included below for reference.

Mac OS X

You can simply install using Homebrew:

$ brew install ta-lib

If you are using Apple Silicon, such as the M1 processors, and building mixed architecture Homebrew projects, you might want to make sure it's being built for your architecture:

$ arch -arm64 brew install ta-lib

And perhaps you can set these before installing with pip:

$ export TA_INCLUDE_PATH="$(brew --prefix ta-lib)/include"
$ export TA_LIBRARY_PATH="$(brew --prefix ta-lib)/lib"

You might also find this helpful, particularly if you have tried several different installations without success:

$ your-arm64-python -m pip install --no-cache-dir ta-lib
Windows

Download ta-lib-0.4.0-msvc.zip and unzip to C:\ta-lib.

This is a 32-bit binary release. If you want to use 64-bit Python, you will need to build a 64-bit version of the library. Some unofficial (and unsupported) instructions for building on 64-bit Windows 10, here for reference:

  1. Download and Unzip ta-lib-0.4.0-msvc.zip
  2. Move the Unzipped Folder ta-lib to C:\
  3. Download and Install Visual Studio Community 2015
    • Remember to Select [Visual C++] Feature
  4. Build TA-Lib Library
    • From Windows Start Menu, Start [VS2015 x64 Native Tools Command Prompt]
    • Move to C:\ta-lib\c\make\cdr\win32\msvc
    • Build the Library nmake

You might also try these unofficial windows binaries for both 32-bit and 64-bit:

https://www.lfd.uci.edu/~gohlke/pythonlibs/#ta-lib

Linux

Download ta-lib-0.4.0-src.tar.gz and:

$ tar -xzf ta-lib-0.4.0-src.tar.gz
$ cd ta-lib/
$ ./configure --prefix=/usr
$ make
$ sudo make install

If you build TA-Lib using make -jX it will fail but that's OK! Simply rerun make -jX followed by [sudo] make install.

Note: if your directory path includes spaces, the installation will probably fail with No such file or directory errors.

Troubleshooting

If you get a warning that looks like this:

setup.py:79: UserWarning: Cannot find ta-lib library, installation may fail.
warnings.warn('Cannot find ta-lib library, installation may fail.')

This typically means setup.py can't find the underlying TA-Lib library, a dependency which needs to be installed.


If you installed the underlying TA-Lib library with a custom prefix (e.g., with ./configure --prefix=$PREFIX), then when you go to install this python wrapper you can specify additional search paths to find the library and include files for the underlying TA-Lib library using the TA_LIBRARY_PATH and TA_INCLUDE_PATH environment variables:

$ export TA_LIBRARY_PATH=$PREFIX/lib
$ export TA_INCLUDE_PATH=$PREFIX/include
$ python setup.py install # or pip install ta-lib

Sometimes installation will produce build errors like this:

talib/_ta_lib.c:601:10: fatal error: ta-lib/ta_defs.h: No such file or directory
  601 | #include "ta-lib/ta_defs.h"
      |          ^~~~~~~~~~~~~~~~~~
compilation terminated.

or:

common.obj : error LNK2001: unresolved external symbol TA_SetUnstablePeriod
common.obj : error LNK2001: unresolved external symbol TA_Shutdown
common.obj : error LNK2001: unresolved external symbol TA_Initialize
common.obj : error LNK2001: unresolved external symbol TA_GetUnstablePeriod
common.obj : error LNK2001: unresolved external symbol TA_GetVersionString

This typically means that it can't find the underlying TA-Lib library, a dependency which needs to be installed. On Windows, this could be caused by installing the 32-bit binary distribution of the underlying TA-Lib library, but trying to use it with 64-bit Python.


Sometimes installation will fail with errors like this:

talib/common.c:8:22: fatal error: pyconfig.h: No such file or directory
 #include "pyconfig.h"
                      ^
compilation terminated.
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1

This typically means that you need the Python headers, and should run something like:

$ sudo apt-get install python3-dev

Sometimes building the underlying TA-Lib library has errors running make that look like this:

../libtool: line 1717: cd: .libs/libta_lib.lax/libta_abstract.a: No such file or directory
make[2]: *** [libta_lib.la] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all-recursive] Error 1

This might mean that the directory path to the underlying TA-Lib library has spaces in the directory names. Try putting it in a path that does not have any spaces and trying again.


Sometimes you might get this error running setup.py:

/usr/include/limits.h:26:10: fatal error: bits/libc-header-start.h: No such file or directory
#include <bits/libc-header-start.h>
         ^~~~~~~~~~~~~~~~~~~~~~~~~~

This is likely an issue with trying to compile for 32-bit platform but without the appropriate headers. You might find some success looking at the first answer to this question.


If you get an error on macOS like this:

code signature in <141BC883-189B-322C-AE90-CBF6B5206F67>
'python3.9/site-packages/talib/_ta_lib.cpython-39-darwin.so' not valid for
use in process: Trying to load an unsigned library)

You might look at this question and use xcrun codesign to fix it.


If you wonder why STOCHRSI gives you different results than you expect, probably you want STOCH applied to RSI, which is a little different than the STOCHRSI which is STOCHF applied to RSI:

>> >
from src import talib
>> > import numpy
>> > c = numpy.random.randn(100)

# this is the library function
>> > k, d = talib.STOCHRSI(c)

# this produces the same result, calling STOCHF
>> > rsi = talib.RSI(c)
>> > k, d = talib.STOCHF(rsi, rsi, rsi)

# you might want this instead, calling STOCH
>> > rsi = talib.RSI(c)
>> > k, d = talib.STOCH(rsi, rsi, rsi)

If the build appears to hang, you might be running on a VM with not enough memory -- try 1 GB or 2 GB.

Function API

Similar to TA-Lib, the Function API provides a lightweight wrapper of the exposed TA-Lib indicators.

Each function returns an output array and have default values for their parameters, unless specified as keyword arguments. Typically, these functions will have an initial "lookback" period (a required number of observations before an output is generated) set to NaN.

For convenience, the Function API supports both numpy.ndarray and pandas.Series and polars.Series inputs.

All of the following examples use the Function API:

import numpy
import talib

close = numpy.random.random(100)

Calculate a simple moving average of the close prices:

output = talib.SMA(close)

Calculating bollinger bands, with triple exponential moving average:

from talib import MA_Type

upper, middle, lower = talib.BBANDS(close, matype=MA_Type.T3)

Calculating momentum of the close prices, with a time period of 5:

output = talib.MOM(close, timeperiod=5)
NaN's

The underlying TA-Lib C library handles NaN's in a sometimes surprising manner by typically propagating NaN's to the end of the output, for example:

>>> c = numpy.array([1.0, 2.0, 3.0, np.nan, 4.0, 5.0, 6.0])

>>> talib.SMA(c, 3)
array([nan, nan,  2., nan, nan, nan, nan])

You can compare that to a Pandas rolling mean, where their approach is to output NaN until enough "lookback" values are observed to generate new outputs:

>>> c = pandas.Series([1.0, 2.0, 3.0, np.nan, 4.0, 5.0, 6.0])

>>> c.rolling(3).mean()
0    NaN
1    NaN
2    2.0
3    NaN
4    NaN
5    NaN
6    5.0
dtype: float64

Abstract API

If you're already familiar with using the function API, you should feel right at home using the Abstract API.

Every function takes a collection of named inputs, either a dict of numpy.ndarray or pandas.Series or polars.Series, or a pandas.DataFrame or polars.DataFrame. If a pandas.DataFrame or polars.DataFrame is provided, the output is returned as the same type with named output columns.

For example, inputs could be provided for the typical "OHLCV" data:

import numpy as np

# note that all ndarrays must be the same length!
inputs = {
    'open': np.random.random(100),
    'high': np.random.random(100),
    'low': np.random.random(100),
    'close': np.random.random(100),
    'volume': np.random.random(100)
}

Functions can either be imported directly or instantiated by name:

from talib import abstract

# directly
SMA = abstract.SMA

# or by name
SMA = abstract.Function('sma')

From there, calling functions is basically the same as the function API:

from talib.abstract import *

# uses close prices (default)
output = SMA(inputs, timeperiod=25)

# uses open prices
output = SMA(inputs, timeperiod=25, price='open')

# uses close prices (default)
upper, middle, lower = BBANDS(inputs, 20, 2, 2)

# uses high, low, close (default)
slowk, slowd = STOCH(inputs, 5, 3, 0, 3, 0) # uses high, low, close by default

# uses high, low, open instead
slowk, slowd = STOCH(inputs, 5, 3, 0, 3, 0, prices=['high', 'low', 'open'])

Streaming API

An experimental Streaming API was added that allows users to compute the latest value of an indicator. This can be faster than using the Function API, for example in an application that receives streaming data, and wants to know just the most recent updated indicator value.

import talib
from talib import stream

close = np.random.random(100)

# the Function API
output = talib.SMA(close)

# the Streaming API
latest = stream.SMA(close)

# the latest value is the same as the last output value
assert (output[-1] - latest) < 0.00001

Supported Indicators and Functions

We can show all the TA functions supported by TA-Lib, either as a list or as a dict sorted by group (e.g. "Overlap Studies", "Momentum Indicators", etc):

import talib

# list of functions
print talib.get_functions()

# dict of functions by group
print talib.get_function_groups()

Indicator Groups

  • Overlap Studies
  • Momentum Indicators
  • Volume Indicators
  • Volatility Indicators
  • Price Transform
  • Cycle Indicators
  • Pattern Recognition
Overlap Studies
BBANDS               Bollinger Bands
DEMA                 Double Exponential Moving Average
EMA                  Exponential Moving Average
HT_TRENDLINE         Hilbert Transform - Instantaneous Trendline
KAMA                 Kaufman Adaptive Moving Average
MA                   Moving average
MAMA                 MESA Adaptive Moving Average
MAVP                 Moving average with variable period
MIDPOINT             MidPoint over period
MIDPRICE             Midpoint Price over period
SAR                  Parabolic SAR
SAREXT               Parabolic SAR - Extended
SMA                  Simple Moving Average
T3                   Triple Exponential Moving Average (T3)
TEMA                 Triple Exponential Moving Average
TRIMA                Triangular Moving Average
WMA                  Weighted Moving Average
Momentum Indicators
ADX                  Average Directional Movement Index
ADXR                 Average Directional Movement Index Rating
APO                  Absolute Price Oscillator
AROON                Aroon
AROONOSC             Aroon Oscillator
BOP                  Balance Of Power
CCI                  Commodity Channel Index
CMO                  Chande Momentum Oscillator
DX                   Directional Movement Index
MACD                 Moving Average Convergence/Divergence
MACDEXT              MACD with controllable MA type
MACDFIX              Moving Average Convergence/Divergence Fix 12/26
MFI                  Money Flow Index
MINUS_DI             Minus Directional Indicator
MINUS_DM             Minus Directional Movement
MOM                  Momentum
PLUS_DI              Plus Directional Indicator
PLUS_DM              Plus Directional Movement
PPO                  Percentage Price Oscillator
ROC                  Rate of change : ((price/prevPrice)-1)*100
ROCP                 Rate of change Percentage: (price-prevPrice)/prevPrice
ROCR                 Rate of change ratio: (price/prevPrice)
ROCR100              Rate of change ratio 100 scale: (price/prevPrice)*100
RSI                  Relative Strength Index
STOCH                Stochastic
STOCHF               Stochastic Fast
STOCHRSI             Stochastic Relative Strength Index
TRIX                 1-day Rate-Of-Change (ROC) of a Triple Smooth EMA
ULTOSC               Ultimate Oscillator
WILLR                Williams' %R
Volume Indicators
AD                   Chaikin A/D Line
ADOSC                Chaikin A/D Oscillator
OBV                  On Balance Volume
Cycle Indicators
HT_DCPERIOD          Hilbert Transform - Dominant Cycle Period
HT_DCPHASE           Hilbert Transform - Dominant Cycle Phase
HT_PHASOR            Hilbert Transform - Phasor Components
HT_SINE              Hilbert Transform - SineWave
HT_TRENDMODE         Hilbert Transform - Trend vs Cycle Mode
Price Transform
AVGPRICE             Average Price
MEDPRICE             Median Price
TYPPRICE             Typical Price
WCLPRICE             Weighted Close Price
Volatility Indicators
ATR                  Average True Range
NATR                 Normalized Average True Range
TRANGE               True Range
Pattern Recognition
CDL2CROWS            Two Crows
CDL3BLACKCROWS       Three Black Crows
CDL3INSIDE           Three Inside Up/Down
CDL3LINESTRIKE       Three-Line Strike
CDL3OUTSIDE          Three Outside Up/Down
CDL3STARSINSOUTH     Three Stars In The South
CDL3WHITESOLDIERS    Three Advancing White Soldiers
CDLABANDONEDBABY     Abandoned Baby
CDLADVANCEBLOCK      Advance Block
CDLBELTHOLD          Belt-hold
CDLBREAKAWAY         Breakaway
CDLCLOSINGMARUBOZU   Closing Marubozu
CDLCONCEALBABYSWALL  Concealing Baby Swallow
CDLCOUNTERATTACK     Counterattack
CDLDARKCLOUDCOVER    Dark Cloud Cover
CDLDOJI              Doji
CDLDOJISTAR          Doji Star
CDLDRAGONFLYDOJI     Dragonfly Doji
CDLENGULFING         Engulfing Pattern
CDLEVENINGDOJISTAR   Evening Doji Star
CDLEVENINGSTAR       Evening Star
CDLGAPSIDESIDEWHITE  Up/Down-gap side-by-side white lines
CDLGRAVESTONEDOJI    Gravestone Doji
CDLHAMMER            Hammer
CDLHANGINGMAN        Hanging Man
CDLHARAMI            Harami Pattern
CDLHARAMICROSS       Harami Cross Pattern
CDLHIGHWAVE          High-Wave Candle
CDLHIKKAKE           Hikkake Pattern
CDLHIKKAKEMOD        Modified Hikkake Pattern
CDLHOMINGPIGEON      Homing Pigeon
CDLIDENTICAL3CROWS   Identical Three Crows
CDLINNECK            In-Neck Pattern
CDLINVERTEDHAMMER    Inverted Hammer
CDLKICKING           Kicking
CDLKICKINGBYLENGTH   Kicking - bull/bear determined by the longer marubozu
CDLLADDERBOTTOM      Ladder Bottom
CDLLONGLEGGEDDOJI    Long Legged Doji
CDLLONGLINE          Long Line Candle
CDLMARUBOZU          Marubozu
CDLMATCHINGLOW       Matching Low
CDLMATHOLD           Mat Hold
CDLMORNINGDOJISTAR   Morning Doji Star
CDLMORNINGSTAR       Morning Star
CDLONNECK            On-Neck Pattern
CDLPIERCING          Piercing Pattern
CDLRICKSHAWMAN       Rickshaw Man
CDLRISEFALL3METHODS  Rising/Falling Three Methods
CDLSEPARATINGLINES   Separating Lines
CDLSHOOTINGSTAR      Shooting Star
CDLSHORTLINE         Short Line Candle
CDLSPINNINGTOP       Spinning Top
CDLSTALLEDPATTERN    Stalled Pattern
CDLSTICKSANDWICH     Stick Sandwich
CDLTAKURI            Takuri (Dragonfly Doji with very long lower shadow)
CDLTASUKIGAP         Tasuki Gap
CDLTHRUSTING         Thrusting Pattern
CDLTRISTAR           Tristar Pattern
CDLUNIQUE3RIVER      Unique 3 River
CDLUPSIDEGAP2CROWS   Upside Gap Two Crows
CDLXSIDEGAP3METHODS  Upside/Downside Gap Three Methods
Statistic Functions
BETA                 Beta
CORREL               Pearson's Correlation Coefficient (r)
LINEARREG            Linear Regression
LINEARREG_ANGLE      Linear Regression Angle
LINEARREG_INTERCEPT  Linear Regression Intercept
LINEARREG_SLOPE      Linear Regression Slope
STDDEV               Standard Deviation
TSF                  Time Series Forecast
VAR                  Variance

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

TA-lib-zipline-0.4.22.dev139.tar.gz (70.4 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

TA_lib_zipline-0.4.22.dev139-cp310-cp310-win_amd64.whl (521.5 kB view details)

Uploaded CPython 3.10Windows x86-64

TA_lib_zipline-0.4.22.dev139-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.0 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

TA_lib_zipline-0.4.22.dev139-cp310-cp310-macosx_11_0_arm64.whl (412.5 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

TA_lib_zipline-0.4.22.dev139-cp310-cp310-macosx_10_9_x86_64.whl (738.6 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

TA_lib_zipline-0.4.22.dev139-cp39-cp39-win_amd64.whl (524.6 kB view details)

Uploaded CPython 3.9Windows x86-64

TA_lib_zipline-0.4.22.dev139-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.0 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

TA_lib_zipline-0.4.22.dev139-cp39-cp39-macosx_11_0_arm64.whl (410.9 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

TA_lib_zipline-0.4.22.dev139-cp39-cp39-macosx_10_9_x86_64.whl (738.1 kB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

TA_lib_zipline-0.4.22.dev139-cp38-cp38-win_amd64.whl (528.0 kB view details)

Uploaded CPython 3.8Windows x86-64

TA_lib_zipline-0.4.22.dev139-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.1 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

TA_lib_zipline-0.4.22.dev139-cp38-cp38-macosx_11_0_arm64.whl (414.3 kB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

TA_lib_zipline-0.4.22.dev139-cp38-cp38-macosx_10_9_x86_64.whl (741.0 kB view details)

Uploaded CPython 3.8macOS 10.9+ x86-64

TA_lib_zipline-0.4.22.dev139-cp37-cp37m-win_amd64.whl (510.4 kB view details)

Uploaded CPython 3.7mWindows x86-64

TA_lib_zipline-0.4.22.dev139-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.8 MB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ x86-64

TA_lib_zipline-0.4.22.dev139-cp37-cp37m-macosx_10_9_x86_64.whl (726.2 kB view details)

Uploaded CPython 3.7mmacOS 10.9+ x86-64

File details

Details for the file TA-lib-zipline-0.4.22.dev139.tar.gz.

File metadata

  • Download URL: TA-lib-zipline-0.4.22.dev139.tar.gz
  • Upload date:
  • Size: 70.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.15

File hashes

Hashes for TA-lib-zipline-0.4.22.dev139.tar.gz
Algorithm Hash digest
SHA256 b87189a350ec9ca55cac14698d3e5b797d9dbf00c612cd029036d9fd01922c92
MD5 9685cdbc2253b83c563db0db4d800670
BLAKE2b-256 eb31dde133df6934b88c70f887a854d48ea864075ff8851401e5fd39cda6587e

See more details on using hashes here.

File details

Details for the file TA_lib_zipline-0.4.22.dev139-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for TA_lib_zipline-0.4.22.dev139-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 7938937d2258d9392eeeb1373162f9e839a4bf2a4ceeaa27f44ffbb4416e7eaa
MD5 48ef009970518aca391ada068d3d0791
BLAKE2b-256 091352d17099d132eb98a3c9448139169a113c36484b01ce57aac52aab61b70a

See more details on using hashes here.

File details

Details for the file TA_lib_zipline-0.4.22.dev139-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for TA_lib_zipline-0.4.22.dev139-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7daa722d14f32442b7f6dba2fc8dd5dc97e322a2fb71d99ea048408e602d270e
MD5 a8b44214ae6bf7478bbbef215c17c5a3
BLAKE2b-256 8b7acfdc32093701c1b19dc40f98bb790c51c6da9f59bcc3b4c7ea866d9b9a70

See more details on using hashes here.

File details

Details for the file TA_lib_zipline-0.4.22.dev139-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for TA_lib_zipline-0.4.22.dev139-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a34ff828e6a4e4b0ef8639a847f5cb3f593a2f19ee889043f54e9d0164c65962
MD5 2d1a5010724b38695db2f8edf35e8c89
BLAKE2b-256 ca3f37f741f90d065e2ea27a109077eb1002766b7d2049ec5ad572fdd2253970

See more details on using hashes here.

File details

Details for the file TA_lib_zipline-0.4.22.dev139-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for TA_lib_zipline-0.4.22.dev139-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 54c8199c6f6763d70bb25d2b9510eecccdd03cc2a39469ee2876e52f138f3e8c
MD5 d8bb5ad60811fb144777fa72c4345230
BLAKE2b-256 0f97ef919cb28ffde66bd8eac5dae9dae68d0214f77bf8e159cba7a437b86c55

See more details on using hashes here.

File details

Details for the file TA_lib_zipline-0.4.22.dev139-cp39-cp39-win_amd64.whl.

File metadata

File hashes

Hashes for TA_lib_zipline-0.4.22.dev139-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 07c30e604a8cdf4c89e2426c245a00b6c3e87ea3a0265762732bace369924e4c
MD5 83890fa50b1cd7e4be264230313e79df
BLAKE2b-256 3fcebad3170f0cccf711a34a0226ec6d5be8ba2ab97081082b757fea5e108f03

See more details on using hashes here.

File details

Details for the file TA_lib_zipline-0.4.22.dev139-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for TA_lib_zipline-0.4.22.dev139-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6ff48d53ea744cac54df6ee75646c154fd6a627af9d8980ee35bb6a9ced95661
MD5 f678e5b71bce735552c25427591c6b61
BLAKE2b-256 b80cb48db4e6d62f98f116517eb0c372b503ba9cb16777d5c47d95801136ee82

See more details on using hashes here.

File details

Details for the file TA_lib_zipline-0.4.22.dev139-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for TA_lib_zipline-0.4.22.dev139-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b44ab87b3969dc5fc1a2cf0ec1ca0f74bc945b556b0136e4c448c01e8014557e
MD5 c5697599ba66be51fa640abd65ffd946
BLAKE2b-256 4d0f4b5d3ad59073e06445761d7bf54ae7b0ec77dd4a9c5a4cae3caed81cf6a1

See more details on using hashes here.

File details

Details for the file TA_lib_zipline-0.4.22.dev139-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for TA_lib_zipline-0.4.22.dev139-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 cbc470c314bfcc1ba586a54930f94a067bdb4647ef539b59b8089827bd98c30e
MD5 2ac94eefb87fb37299fb503ae1f12611
BLAKE2b-256 fc1100ad38532bbbd2d89860cc107bee9a2f44d49b1272e6dad720b2f142f16b

See more details on using hashes here.

File details

Details for the file TA_lib_zipline-0.4.22.dev139-cp38-cp38-win_amd64.whl.

File metadata

File hashes

Hashes for TA_lib_zipline-0.4.22.dev139-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 63ab10de6dff95fb9f68f89779e88444d22b8330c88ee4f9df8dfc4d0a2ff20c
MD5 6ee1daccf07ae30c8c7b15793b2c4e58
BLAKE2b-256 df8de0a8c5b93007c5ada697fb9cc23a13fbe7a85cbc235751e40bf1845024b2

See more details on using hashes here.

File details

Details for the file TA_lib_zipline-0.4.22.dev139-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for TA_lib_zipline-0.4.22.dev139-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7c48acac979c1918bf12c5aa5ded03bd3c4c00744253acb3075cf60ee4bb66b5
MD5 293c7be8c327b82ff32deb33fc8a25ec
BLAKE2b-256 b84369ed1ece8ea8ae82daf828c22120a3bd683620498156a4a1abb9eb2e9e6d

See more details on using hashes here.

File details

Details for the file TA_lib_zipline-0.4.22.dev139-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for TA_lib_zipline-0.4.22.dev139-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 05d63d9ec7e64b3160ae2d4cd5fa93bc39ae2344c13675f04e1f91c91fc02d6b
MD5 aebef7bc6ae972b73b58c008689f45fb
BLAKE2b-256 3f4968d7dcb42136c0cb6237f7bdb109deeb20df55dcda929c52ab8f669853ca

See more details on using hashes here.

File details

Details for the file TA_lib_zipline-0.4.22.dev139-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for TA_lib_zipline-0.4.22.dev139-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 93d25d6c71b37d43f4d2310f8a654a59d1e10a20c67b2e0c4d984d43999798d5
MD5 d74b819095213aa978bb624da72519ff
BLAKE2b-256 2dfc6390c59488ed6633b8aa2129c1e7d8ea259df3aa50cfa3f2fc4fc2aa8dfb

See more details on using hashes here.

File details

Details for the file TA_lib_zipline-0.4.22.dev139-cp37-cp37m-win_amd64.whl.

File metadata

File hashes

Hashes for TA_lib_zipline-0.4.22.dev139-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 924d1055523737b2013e380efe16b93a5100d0109a34fc3b8f51454d2ef3d4c6
MD5 4b33cfb06ac08b6e61472641c38d819e
BLAKE2b-256 1b1c835ccbe9e28a3bafc85bd53403bf69ea5ad94a4783d586d2c6a0233a127f

See more details on using hashes here.

File details

Details for the file TA_lib_zipline-0.4.22.dev139-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for TA_lib_zipline-0.4.22.dev139-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6e743ba05d594c0857820daf80709008e81f16b2a72faa4de2b289f4428a564f
MD5 4cd0f285e3aeca3938e01e8be646b77c
BLAKE2b-256 665fdcfc242a96e9ecccb31f400df3cf3123d607209d9c76e98037426b7f57b7

See more details on using hashes here.

File details

Details for the file TA_lib_zipline-0.4.22.dev139-cp37-cp37m-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for TA_lib_zipline-0.4.22.dev139-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 faa60ba2e46fa0c2a187a406775fb8bfae2c0671a036728456ff6c903f593e6a
MD5 fb5fe1583442da8aeaf8ed7eaa3f8d22
BLAKE2b-256 b145e423e7f00c51ddb965e8eddbea4109955982436e9794dbfd0195934b6e8f

See more details on using hashes here.

Supported by

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