Skip to main content

Streaming-first technical indicators: incremental, fast, install-free.

Project description

Wickra — Python bindings

Streaming-first technical indicators powered by a Rust core.

pip install wickra

Quick start

import numpy as np
import wickra as ta

# Batch — TA-Lib-style usage
prices = np.linspace(100, 200, 1000)
rsi = ta.RSI(14).batch(prices)            # NumPy array; NaN during warmup

# Streaming — feed ticks one at a time
rsi = ta.RSI(14)
for price in live_prices:
    v = rsi.update(price)                 # O(1) per tick
    if v is not None and v > 70:
        ...

What's included

25 streaming-first indicators across four families. Every one passes a batch == streaming equivalence test and reference-value tests:

  • Trend — SMA, EMA, WMA, DEMA, TEMA, HMA, KAMA
  • Momentum — RSI (Wilder), MACD, Stochastic, CCI, ROC, WilliamsR, ADX, MFI, TRIX, AwesomeOscillator, Aroon
  • Volatility — BollingerBands, ATR, Keltner, Donchian, PSAR
  • Volume — OBV, VWAP

Why streaming-first matters

Classic TA libraries are batch-only: every live tick triggers a full recomputation over the entire history. Wickra updates indicator state in O(1) per tick. On a 5K-bar history the streaming RSI gap is ~17× over the nearest peer with a streaming API and 100×+ over batch-only libraries.

Full project

See https://github.com/kingchenc/wickra for benchmarks, the Rust core, Node.js and WebAssembly bindings, examples, and CI.

License

Licensed under the PolyForm Noncommercial License 1.0.0. Personal, research, educational, and non-profit use are all permitted. Commercial sale requires a separate license — contact via the GitHub repo.

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

wickra-0.1.4.tar.gz (69.0 kB view details)

Uploaded Source

Built Distributions

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

wickra-0.1.4-cp39-abi3-win_amd64.whl (202.7 kB view details)

Uploaded CPython 3.9+Windows x86-64

wickra-0.1.4-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (307.5 kB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ x86-64

wickra-0.1.4-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (289.1 kB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ ARM64

wickra-0.1.4-cp39-abi3-macosx_11_0_arm64.whl (264.9 kB view details)

Uploaded CPython 3.9+macOS 11.0+ ARM64

wickra-0.1.4-cp39-abi3-macosx_10_12_x86_64.whl (283.9 kB view details)

Uploaded CPython 3.9+macOS 10.12+ x86-64

File details

Details for the file wickra-0.1.4.tar.gz.

File metadata

  • Download URL: wickra-0.1.4.tar.gz
  • Upload date:
  • Size: 69.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.13.3

File hashes

Hashes for wickra-0.1.4.tar.gz
Algorithm Hash digest
SHA256 24e3a6a27a00b83776df7172896a35ae80adc495763564927d4dd1f28ef80b8f
MD5 1fc9991fdb0964bded21b3b01c5b70f8
BLAKE2b-256 0c00f08d0ddac5b9f9d466953a72e5747998c69eff87adf2265948b59941ed17

See more details on using hashes here.

File details

Details for the file wickra-0.1.4-cp39-abi3-win_amd64.whl.

File metadata

  • Download URL: wickra-0.1.4-cp39-abi3-win_amd64.whl
  • Upload date:
  • Size: 202.7 kB
  • Tags: CPython 3.9+, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.13.3

File hashes

Hashes for wickra-0.1.4-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 e0052adda1416a43846b5f6ac9b86a57095ec19ffb5a3c969bc620f9d916727c
MD5 ea532540ec41b581004c506b053dcb48
BLAKE2b-256 874ae64b5a8049151f27fc1ba5d84a78af5268f0f6451d121ef0f794ddb98ba2

See more details on using hashes here.

File details

Details for the file wickra-0.1.4-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for wickra-0.1.4-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b281ca7a62d36fb344a6049fc876db992ee3345b8c5cc3090340179681db0045
MD5 d9d7ffe0db269e2c5ba3afac7c6e2a72
BLAKE2b-256 b0b74b879973510d84cff403be37260fcc892b82fa5ccb12380ec26646b29449

See more details on using hashes here.

File details

Details for the file wickra-0.1.4-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for wickra-0.1.4-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 9c9924cb0652331ee367066e056ec295e3c8476eac50c19413a112b752c134b6
MD5 f3dcc527d5600fd84f42bb9581667f31
BLAKE2b-256 0ab5dab76e29024ba064cf410ded00168b1b9e40b696d9b37233a819d4988320

See more details on using hashes here.

File details

Details for the file wickra-0.1.4-cp39-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for wickra-0.1.4-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 698127ed4543c978bd5838aa1103ceb13ccdffe0cef781eaac6157a535c8a99a
MD5 a74fe458a469033bf5634809d1772f20
BLAKE2b-256 475a7a11ae66c4dfc1fd13b2a155b274d9bf9ebf25d8a2fd2fdead87ee029287

See more details on using hashes here.

File details

Details for the file wickra-0.1.4-cp39-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for wickra-0.1.4-cp39-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 2e33c6c0e4841e710c0bc76c40c5117fefb5a40f606287cda30b004c2e075082
MD5 9ae6864b30ae2d27189159b44a35fd25
BLAKE2b-256 a8f38156bdfc75f6dd9c65ec46e7446982598e93b42ecbea8d0b5268bb5ae027

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