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

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

  • Moving Averages — SMA, EMA, WMA, DEMA, TEMA, HMA, KAMA, SMMA, TRIMA, ZLEMA, T3, VWMA
  • Momentum Oscillators — RSI (Wilder), Stochastic, CCI, ROC, Williams %R, MFI, Awesome Oscillator, MOM, CMO, TSI, PMO, StochRSI, Ultimate Oscillator
  • Trend & Directional — MACD, ADX (+DI/-DI), Aroon, TRIX, Aroon Oscillator, Vortex, Mass Index, Choppiness Index, Vertical Horizontal Filter
  • Price Oscillators — PPO, DPO, Coppock, Accelerator Oscillator, Balance of Power
  • Volatility & Bands — ATR, Bollinger Bands, Keltner Channels, Donchian Channels, NATR, StdDev, Ulcer Index, Historical Volatility, Bollinger Bandwidth, %B, True Range, Chaikin Volatility
  • Trailing Stops — Parabolic SAR, SuperTrend, Chandelier Exit, Chande Kroll Stop, ATR Trailing Stop
  • Volume — OBV, VWAP (cumulative + rolling), ADL, Volume-Price Trend, Chaikin Money Flow, Chaikin Oscillator, Force Index, Ease of Movement
  • Price Statistics — Typical Price, Median Price, Weighted Close, Linear Regression, Linear Regression Slope, Z-Score, Linear Regression Angle

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.2.1.tar.gz (144.7 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.2.1-cp39-abi3-win_arm64.whl (295.4 kB view details)

Uploaded CPython 3.9+Windows ARM64

wickra-0.2.1-cp39-abi3-win_amd64.whl (334.9 kB view details)

Uploaded CPython 3.9+Windows x86-64

wickra-0.2.1-cp39-abi3-musllinux_1_2_x86_64.whl (667.8 kB view details)

Uploaded CPython 3.9+musllinux: musl 1.2+ x86-64

wickra-0.2.1-cp39-abi3-musllinux_1_2_aarch64.whl (589.0 kB view details)

Uploaded CPython 3.9+musllinux: musl 1.2+ ARM64

wickra-0.2.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (452.0 kB view details)

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

wickra-0.2.1-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (412.4 kB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ ARM64

wickra-0.2.1-cp39-abi3-macosx_11_0_arm64.whl (372.9 kB view details)

Uploaded CPython 3.9+macOS 11.0+ ARM64

wickra-0.2.1-cp39-abi3-macosx_10_12_x86_64.whl (423.0 kB view details)

Uploaded CPython 3.9+macOS 10.12+ x86-64

File details

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

File metadata

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

File hashes

Hashes for wickra-0.2.1.tar.gz
Algorithm Hash digest
SHA256 883962ff83d953f05520fbd2c5fbecb2d4cb0b4928b8690815bc4dfb7710fa63
MD5 03c3099a2533c624110b6a866dd8b49e
BLAKE2b-256 cd30b3c0f090fff2190d8b97c5c9153cb9fc4ffd2fa88de0d4757efbc9ade79d

See more details on using hashes here.

File details

Details for the file wickra-0.2.1-cp39-abi3-win_arm64.whl.

File metadata

  • Download URL: wickra-0.2.1-cp39-abi3-win_arm64.whl
  • Upload date:
  • Size: 295.4 kB
  • Tags: CPython 3.9+, Windows ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.13.3

File hashes

Hashes for wickra-0.2.1-cp39-abi3-win_arm64.whl
Algorithm Hash digest
SHA256 1f8732e84c6a8a549f73facb3b7aee1494084cc8a2047cbc6de88fdd14c97116
MD5 d8c2efe8d3b421d7cb4540548ac8c609
BLAKE2b-256 2f508cb5a324514a3137bebd6b995de2a1df518ef766969d1129f03f32ee02e1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: wickra-0.2.1-cp39-abi3-win_amd64.whl
  • Upload date:
  • Size: 334.9 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.2.1-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 19b415ad092f4d4462f3585b254ad3009d0cdf452a99c41f6ab3660b709934c6
MD5 6915c3c0554c9c1d5d280d43f907966c
BLAKE2b-256 e6d9fe3b5162ceeb692b6694740bb6ebdd1f57626e1d65b837bc5c6b785e4a00

See more details on using hashes here.

File details

Details for the file wickra-0.2.1-cp39-abi3-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for wickra-0.2.1-cp39-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 b2a1a48e00758cc07366f3574b07e1b5ec8113483eb4d69ce80919383e4bef00
MD5 58b426a53d368b019d496b4f17440568
BLAKE2b-256 a513756a72f1c9fc6e9f519ac2d5887b66735df78439f9646bca1ad8330b1f9e

See more details on using hashes here.

File details

Details for the file wickra-0.2.1-cp39-abi3-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for wickra-0.2.1-cp39-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 730bcb66262170710dd5970adec2dc31555bb09645250f7176d1474bf15249a5
MD5 45224c554aaf2bbde28b095fc52bf57e
BLAKE2b-256 1e2a69e2394a8a93789ca90fa2d4ae96f05beebd1c41665a79b08c38995dca2d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for wickra-0.2.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 67b14fef97a13d33e94e115b2a1dbb76aeb47af38dd61d20192b6f9bd63ea8c4
MD5 d890df95962b03d33610f9cb59ffc566
BLAKE2b-256 0b4907a413eb210b7c638d8f14898f4948558b0c6f42a415e2c15e0a13ab603c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for wickra-0.2.1-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 0ca34f48a8481cff7bd89c0659542a020b8222c4de07fcd7182a97c5c539b6c4
MD5 d14cc6edc88fd2a310ac7e6f4742b4a5
BLAKE2b-256 7208e599e62dfb9df91ea8a6d23e073d6b29a2ee735f277e481da3029ea6de37

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for wickra-0.2.1-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4f93d082e603f50603a82dcfed8512571f3c6c487f481f8fe645d73cb189aafa
MD5 b2285d4dc7d92ced1290d38ddd54597a
BLAKE2b-256 983aad3e0ba5dee396e6d6914fc9199fced1973e58b6b7c0cd3ba0e7239c3f16

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for wickra-0.2.1-cp39-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 bbe67720f1cdfd703503ad830f9ad116b20c0c65b0c605e13367476feb0332cf
MD5 6d0390807e7b04a109772923f2275e44
BLAKE2b-256 f07618929af328b28d25fae184901cff822c3db3989f69d7fdd4c10f4a7f07f0

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