Financial Technical Analysis Indicator Library. Python bindings for https://github.com/TulipCharts/tulipindicators
Project description
This is a fork of newtulipy which is a fork of tulipy.
Install with pip install newnewtulipy
.
tulipy
Python bindings for Tulip Indicators
Tulipy requires numpy as all inputs and outputs are numpy arrays (dtype=np.float64
).
Installation
You can install via pip install newtulipy
.
If a wheel is not available for your system, you will need to pip install Cython numpy
to build from the source distribution.
When building from source on Windows, you will need the Microsoft Visual C++ Build Tools installed.
Usage
import numpy as np
import tulipy as ti
ti.TI_VERSION
'0.8.4'
DATA = np.array([81.59, 81.06, 82.87, 83, 83.61,
83.15, 82.84, 83.99, 84.55, 84.36,
85.53, 86.54, 86.89, 87.77, 87.29])
Information about indicators are exposed as properties:
def print_info(indicator):
print("Type:", indicator.type)
print("Full Name:", indicator.full_name)
print("Inputs:", indicator.inputs)
print("Options:", indicator.options)
print("Outputs:", indicator.outputs)
print_info(ti.sqrt)
Type: simple
Full Name: Vector Square Root
Inputs: ['real']
Options: []
Outputs: ['sqrt']
Single outputs are returned directly. Indicators returning multiple outputs use
a tuple in the order indicated by the outputs
property.
ti.sqrt(DATA)
array([ 9.03271831, 9.00333272, 9.10329611, 9.11043358, 9.14385039,
9.11866218, 9.1016482 , 9.16460583, 9.19510739, 9.18477 ,
9.24824308, 9.30268778, 9.32148057, 9.36856446, 9.34291175])
print_info(ti.sma)
Type: overlay
Full Name: Simple Moving Average
Inputs: ['real']
Options: ['period']
Outputs: ['sma']
ti.sma(DATA, period=5)
array([ 82.426, 82.738, 83.094, 83.318, 83.628, 83.778, 84.254,
84.994, 85.574, 86.218, 86.804])
Invalid options will throw an InvalidOptionError
:
try:
ti.sma(DATA, period=-5)
except ti.InvalidOptionError:
print("Invalid Option!")
Invalid Option!
print_info(ti.bbands)
Type: overlay
Full Name: Bollinger Bands
Inputs: ['real']
Options: ['period', 'stddev']
Outputs: ['bbands_lower', 'bbands_middle', 'bbands_upper']
ti.bbands(DATA, period=5, stddev=2)
(array([ 80.53004219, 80.98714192, 82.53334324, 82.47198345,
82.41775044, 82.43520292, 82.51133078, 83.14261781,
83.53648779, 83.8703237 , 85.28887096]),
array([ 82.426, 82.738, 83.094, 83.318, 83.628, 83.778, 84.254,
84.994, 85.574, 86.218, 86.804]),
array([ 84.32195781, 84.48885808, 83.65465676, 84.16401655,
84.83824956, 85.12079708, 85.99666922, 86.84538219,
87.61151221, 88.5656763 , 88.31912904]))
If inputs of differing sizes are provided, they are right-aligned and trimmed from the left:
DATA2 = np.array([83.15, 82.84, 83.99, 84.55, 84.36])
# 'high' trimmed to DATA[-5:] == array([ 85.53, 86.54, 86.89, 87.77, 87.29])
ti.aroonosc(high=DATA, low=DATA2, period=2)
array([ 50., 100., 50.])
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
Built Distributions
Hashes for newnewtulipy-0.4.6.2-pp39-pypy39_pp73-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d08c35d786c3fe8c3daae53f7958afa9b60fe7c1856280901c981f710e5c7f8b |
|
MD5 | 72a96d0cfe04ff2f310019f2bb3f0389 |
|
BLAKE2b-256 | 0b23d681cf7f9f0a91504c3c7c66e56df25762190c6d6eadde54c8c3571301cb |
Hashes for newnewtulipy-0.4.6.2-pp39-pypy39_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 269e76e8a3faa6bc40fcb7e7b20f263a917d0ff3442ac8cdacbe045d537914b2 |
|
MD5 | 162dc09cea6145b957059e11322df484 |
|
BLAKE2b-256 | 57d54635a77442b6045294fafb9ea8df1fc068af817d72df0dd5f5268d32226a |
Hashes for newnewtulipy-0.4.6.2-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7621c1ca64275e5b1cec3cbb79f4eea2857be26bc0128b7d7d7d31e60bb9aab6 |
|
MD5 | e6d880a346e698e7b3024f30d4ef440f |
|
BLAKE2b-256 | 01dda55d4ce878bdceae0e98577e6426ceeb293d0c31dc30a31b29127e5cfcf1 |
Hashes for newnewtulipy-0.4.6.2-pp39-pypy39_pp73-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 09d8303b13fd95cb85031d2988d418ad9623a4ab989587c8b895b2c40cef72c6 |
|
MD5 | e40cc1a5d85a3e2bc9cdd4d7973dbea9 |
|
BLAKE2b-256 | 9f8a407cd8c3148e9a412788f1ad89094946b3056f07e1076bf9e8dc6d10163f |
Hashes for newnewtulipy-0.4.6.2-pp38-pypy38_pp73-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | eeb9fc3385587eba2fe8d34f1d8ec55b18b2f815ed4261abac82cc9f5469dce5 |
|
MD5 | e30613cea9e914bc1ca2e0e15fa1662a |
|
BLAKE2b-256 | 76260c032c3c1fa0ac7b47a75d0ca130f38f088e1fb628c9e006ad4909ed77ab |
Hashes for newnewtulipy-0.4.6.2-pp38-pypy38_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b8c5039fcb72a7db5c02442ff8d928e9457121355f940c6d727e8a88428c85ed |
|
MD5 | f534b2750f85c7c02ff45a775ad8ccc4 |
|
BLAKE2b-256 | e0919e37ad1a93c3dc13c407bff090415ddca5303f7e7dc347e426c825439cf9 |
Hashes for newnewtulipy-0.4.6.2-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d478d5e0c918dbd93c006f28c46ca238aeb8d50378dbdf6c691b3ac1062f9412 |
|
MD5 | 37896893f6d08f736a9471febe3612b5 |
|
BLAKE2b-256 | 8ee8ab65b17ad6aa99a44f83e880285615f117743da7fb70a126df2fd630d072 |
Hashes for newnewtulipy-0.4.6.2-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9a5bb0e5110620dff17726e1e7c9b6193c8c8fcb304be9264f8956cd35067cf2 |
|
MD5 | 2282c0d69e97ee15e0cb03dffb30602c |
|
BLAKE2b-256 | 9efad217eaee0c4777571d6ccfb976cd5483e3b2fcc325c63dc9058f9398644d |
Hashes for newnewtulipy-0.4.6.2-pp37-pypy37_pp73-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 95f7f6dedaf3a7fb49b60f792e75bfb0e9477560b85f8e7c07443daeb9e31d36 |
|
MD5 | 8e7c117a3c14af1d958c990df10243ba |
|
BLAKE2b-256 | 8179accec7f64cab2bbaef30520925aadae243a8d42a5bec226baf19d52f6918 |
Hashes for newnewtulipy-0.4.6.2-pp37-pypy37_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 46bc6b68c93d22594e491daa00ea411514a560a3dff03072e83dfacac3c35d2b |
|
MD5 | 904e50d5399085258de44822c610fbc4 |
|
BLAKE2b-256 | bb1925f36a0e6828d232a849355efdc11096fc1cdea8e16ab6f528df1543e411 |
Hashes for newnewtulipy-0.4.6.2-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cf1e19d0369816e44e73405835eb5acb006fef16bd2e2965fd896801a63f2da6 |
|
MD5 | b11db03f6dc7e5d165f1bdcd95710cdb |
|
BLAKE2b-256 | bde539d64663108088f392cbad561ad4e92aac60f79c198143bdc2aa6bc93efb |
Hashes for newnewtulipy-0.4.6.2-pp37-pypy37_pp73-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6f9ffbad7e2c6b039fb4010ba5dfaf3ea049ba752f63a6abe376d66ec79bc948 |
|
MD5 | a6c62a078e8bef329338b669257fb1d2 |
|
BLAKE2b-256 | 33be9bf00d45137664dcff3d25e2d17d0a09b43589d68f642f38d1126da11bb7 |
Hashes for newnewtulipy-0.4.6.2-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3e4545faeb2e25e1b38122ba1761b5a0bb3f51686060b317a95d13f128279095 |
|
MD5 | a806984b30bc070ee836607e49eabb97 |
|
BLAKE2b-256 | d346044b7b69cb2209e45087f3dd6f0f59da46f53d58614e6cb3a82bb5efed1b |
Hashes for newnewtulipy-0.4.6.2-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 136727083375122ec56c17e8bacef21f9dab59ac0c05d2679d9620e611bf7a4e |
|
MD5 | 922972aca482db8f0a085930842c6fef |
|
BLAKE2b-256 | 3644396baf8951ecd58c5d7859d09b0316ff76210e8e63b0adf0c286ce48ae87 |
Hashes for newnewtulipy-0.4.6.2-cp310-cp310-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 098dadfbec7f6637f5873e9bd53a635007d0690194c39638c38441d2c5e473a0 |
|
MD5 | cd650355dbf268018c16942d6b47fa5c |
|
BLAKE2b-256 | 925bcd081e7be4fa1848b38ed8bed5ed41fcd5324be778b13cdd4be9b4109cd7 |
Hashes for newnewtulipy-0.4.6.2-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 38dd8b6794b71006d7a746111dee77c5692f562a1c30ba3b450b6473d8575a71 |
|
MD5 | 90944d95eb0473e9aed86381606c2ec4 |
|
BLAKE2b-256 | 5356dfcf4475964c69dc0c860620f32ff43ff6b8680b615de56576ce45eeec18 |
Hashes for newnewtulipy-0.4.6.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fbc27536e2152dffbff78c1cd0df75893d984d0b906287849d661063dd9d0aed |
|
MD5 | 2951a1dc41ef20599ef93c1e94716760 |
|
BLAKE2b-256 | b0531c0c049804f77ec0c3c02c43055d14c9055213856edb4424512e3832cf08 |
Hashes for newnewtulipy-0.4.6.2-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 848e6d8892d4461f02d26e864530e7de917a42a5f72b21284c703a680bc3a588 |
|
MD5 | 7630fec2af6643a1dae78e50d6aff087 |
|
BLAKE2b-256 | bbbb88660f2c82d99737030f86fe81745342742abeb90de2e2fd3e3da5ce4b71 |
Hashes for newnewtulipy-0.4.6.2-cp310-cp310-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 467b4e80b7487da927ac0d7a1ff10b14cc90905ceed19e4f1ec31e5b9ce6a6b8 |
|
MD5 | ec948bf02621f5c1e3672efd578eefed |
|
BLAKE2b-256 | 7c898c7c7c2e30ca1b34389fd24a422e7da9e5e6aa6e3b0765408751b74fc545 |
Hashes for newnewtulipy-0.4.6.2-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bbb3c0deb72de00edb47b9935fdb80edde15d042cfe1fe0791a92a43305d2162 |
|
MD5 | 1a6277f175f50d3dd91814b6151dcada |
|
BLAKE2b-256 | 24b68782d87ad3d03ec893f28fa8fc05cd2bb9d42ad1df15f6eb0ae6c656cfd8 |
Hashes for newnewtulipy-0.4.6.2-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6831189cf39e7bb2609d3eea5d358ec9ccf50968b239f92b8d99560e2dc9d583 |
|
MD5 | 6af1e3e2c3fa9227f1cee4fa4d2f440e |
|
BLAKE2b-256 | 8468c6133ffa88beabcbb1397c97b4745aae02a51da857c574f11475607a6f86 |
Hashes for newnewtulipy-0.4.6.2-cp39-cp39-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b566d63f6f2628461e5170abd3fb3acdbea90e67562c5b1559affaa34918cda7 |
|
MD5 | 9a625e4152377824b70d26ee29b09095 |
|
BLAKE2b-256 | ecf25caa73f4a4bf5a09eff00d0a6678777f9f13b7f01799137120e8aaf51f45 |
Hashes for newnewtulipy-0.4.6.2-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 428d22f0ca21af20f11aa39903c909a6bd9034dd760c0474cc361e92dedbb3ca |
|
MD5 | e97b317922397cc5153ae3b515f81433 |
|
BLAKE2b-256 | b450c85f31d83ca72f84603435deba4e3332b3f122f8cca579600678060e5d34 |
Hashes for newnewtulipy-0.4.6.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f030c7ee03bbaa5c2332e9b3a3223c0a8cadea6f73d3c7e30debea4b44629b98 |
|
MD5 | ae85cd1349dfe085a7bbc9eacf209f94 |
|
BLAKE2b-256 | 6baff04f61bf7e168911bbe7df3a5768d89b3b793d6e52696a360f6e196f3c7d |
Hashes for newnewtulipy-0.4.6.2-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 663f38b3b102d822fd1d0cc35b9f6b74856df16af9b375f2a98eaa509ed00a39 |
|
MD5 | 695e8274ac2cb884be6d931025902b82 |
|
BLAKE2b-256 | 8eda8a08aa9831ce7de8beb2b3e3b7be1bf69578664f863bc3e7839051f2c056 |
Hashes for newnewtulipy-0.4.6.2-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 07b6fcbbeb18c9a5eef8fd42c4369c59653c9f0c2863d7fe5bf1aab3b103144d |
|
MD5 | 8b54403f96ca900e113b81c57890b0e8 |
|
BLAKE2b-256 | ddd63f3d6f9310ade9ac8a49e6a9894e6ec0fb0d69e89fea6567836c8b2c7ad0 |
Hashes for newnewtulipy-0.4.6.2-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 31a94febb0fe4f299a2c4ea5938a4a7b3af341bff12238987086cd49c13f86f2 |
|
MD5 | 8672e75dc41d6f9d0d14a6dc5e2b9584 |
|
BLAKE2b-256 | b1aa5122ef40c8ffaf61cfc7a977596ed54c824b8db49d6aa20fa22924c9d85b |
Hashes for newnewtulipy-0.4.6.2-cp38-cp38-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 660deeb7e0a0a5ecb80e4edbd067be128f4b3d24f7a2950716ee6849403267da |
|
MD5 | 1cae513ba7249481faacda2e325f9a45 |
|
BLAKE2b-256 | 22b4b024ba6e822489c509609345a1e098d8a772d7dcfb57ad40773d579e6d8c |
Hashes for newnewtulipy-0.4.6.2-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b3b22d6f0ed11df088ae80c8cb520e88ac8c570996e38070cd005bd2df196b26 |
|
MD5 | 0ca19cb6f421f996f1f895c72c66aeb0 |
|
BLAKE2b-256 | 8065ead42b56cff23e2624901aafbf5a23c9d6bb19cad5bd3dc5d468c90348db |
Hashes for newnewtulipy-0.4.6.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5f16335dbefa38b45784d10a7f7789162db2b678e595847604a933b14771de32 |
|
MD5 | 28299935b42932eee527359a3e81b02a |
|
BLAKE2b-256 | 2ab7b7798c80154a864eeb68ff19c3dd2e800d809364b7d24c6a6347e3d146a5 |
Hashes for newnewtulipy-0.4.6.2-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 62d7cff4d7007e70e5a058b4991168711430ba29577dd7679c544d9e265432e4 |
|
MD5 | f6496c22eb4683c6521a48851724a7b8 |
|
BLAKE2b-256 | 2bf1a0feb6034a1f02aed705ece8498fb2ee5b483718e05c2f2dd9ae7caea24a |
Hashes for newnewtulipy-0.4.6.2-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 39564413825a283c743ea6a2dd27b800b0753ab5043e1f2703a5935fad1f16aa |
|
MD5 | e551b1a4edef2666f3190bbd46fbcf0e |
|
BLAKE2b-256 | 1e80fae4118fece57252db099b24f7640dd665c8d0591e6ae513bd9df4f7a33d |
Hashes for newnewtulipy-0.4.6.2-cp37-cp37m-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2cb90cbc37bca6d0915c86f017e01eec76ee424acb4f9ab2b11f040f3df7d834 |
|
MD5 | f751f2b04a24a4119296b46f94936615 |
|
BLAKE2b-256 | 368c798e5753969b7922b1374b4b9d863d5a0502f3801b68b4da9dcc2ad99cb8 |
Hashes for newnewtulipy-0.4.6.2-cp37-cp37m-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d57aa4ae7f8beee0df64eaed210aed1495695326aa2b5b40ae3ca245bbbdbb1d |
|
MD5 | 8900c80a7286b59b7b3b377476e0623b |
|
BLAKE2b-256 | 52363850f48eec8bdfa2389da3442f172276b3be185444585cde256338ce2970 |
Hashes for newnewtulipy-0.4.6.2-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a7dcab9502b164e681818c62266388fbff160a805c2e7f5cd0a5fedc32a94a37 |
|
MD5 | 518de9b4103cb57a5c5a3a70651b8184 |
|
BLAKE2b-256 | 36eed77911b51b3bfcf446522e5c613be86dd788c22fe1678c70a2a92676e546 |
Hashes for newnewtulipy-0.4.6.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 177d761cd9835cff2c6be2d1ce860cc45c43902c31fc4c9a65fa0da3175c6ff1 |
|
MD5 | f20c3ba5e20edde67652888522e6986b |
|
BLAKE2b-256 | f01c4fa22738af600d4ab857fe0edc2fa6e4c6327cee8c1edfb76eb4a7d008db |
Hashes for newnewtulipy-0.4.6.2-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 72b9b257054de58494c862aa53a30b9531137f073301538c6b4b2a1466847c63 |
|
MD5 | edacf14490e29a24e4990cc1c8846af7 |
|
BLAKE2b-256 | e6b38582f83edaa055f12dc754ead03213cd5374ce2860023ad72201553b83f5 |