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.3.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.3-cp39-abi3-win_amd64.whl (202.7 kB view details)

Uploaded CPython 3.9+Windows x86-64

wickra-0.1.3-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (307.3 kB view details)

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

wickra-0.1.3-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.3-cp39-abi3-macosx_11_0_arm64.whl (264.8 kB view details)

Uploaded CPython 3.9+macOS 11.0+ ARM64

wickra-0.1.3-cp39-abi3-macosx_10_12_x86_64.whl (283.8 kB view details)

Uploaded CPython 3.9+macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: wickra-0.1.3.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.3.tar.gz
Algorithm Hash digest
SHA256 7922c1a1e49b0de9979667223c701c0ba821103e396ec3f95ed0dcacb138f11f
MD5 5f712a42e6c4a751ab3f825a046ed95d
BLAKE2b-256 bca9af5fafb0a603834ccca44b651f852976cd1a7ce5d51f5d0d23eec23313a8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: wickra-0.1.3-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.3-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 7207e227c69be6d57f4f93450a58f8bb2ab33b4f42e413d6924c5eada83e8f6f
MD5 5151e3c5180eb261515990a0369b695d
BLAKE2b-256 e9367543824cb3b13bb7c83f9a20cdcf26c5f8b10e8a963addc3ae9818aa4e87

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for wickra-0.1.3-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5b06a548676b39340a793f86dcbc569d43da2954feb47c255039f31fab316607
MD5 a915a891567af1ffa1324e57c7f79412
BLAKE2b-256 54240416df15b988e98e616587e33d127e76702a952d58964852a8172dab6904

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for wickra-0.1.3-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 22995dd2c9f61959f430cef555c7bc5b191393f20e96d88ea039ceaa8219b089
MD5 cde8eb3565e3766288563707ba78fa4b
BLAKE2b-256 ed2cb825586a5afe8779bce62bd2c3b36e41cf7c75dc0dde487ff44056105a14

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for wickra-0.1.3-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 cf5336df279d79ba04b1807ab1ba262308dc495cbcf537e12f386331736124f6
MD5 fc206eed5d648e8fd1cbe04b69307fde
BLAKE2b-256 5ddb60f150bc23ab04e62d73a2412e528ec8c951bf5680ad88b36b4c5c857ff8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for wickra-0.1.3-cp39-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 b440d68f6ab4e5526a12406291af70d82dc5e61d87e97bb575c4b186e78cf98d
MD5 cc3c7e067eacc4df0ab2470a4eb6d69f
BLAKE2b-256 4ce79dbd0bfa1fe66958f92cc6c05fd39d3ed0ab61e3c847be90f82cff43a781

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