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

Uploaded CPython 3.9+Windows x86-64

wickra-0.1.2-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (307.6 kB view details)

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

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

Uploaded CPython 3.9+macOS 11.0+ ARM64

wickra-0.1.2-cp39-abi3-macosx_10_12_x86_64.whl (284.0 kB view details)

Uploaded CPython 3.9+macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: wickra-0.1.2.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.2.tar.gz
Algorithm Hash digest
SHA256 45e4eb3a8b1431cf2ea08f47792bb125ef8030c9b9b47ea5fd162841af221b84
MD5 8ed83e126bbba56a6e381de5ff2b78d7
BLAKE2b-256 ac9220fb689bf5b2a72f24a6a864f6d41e409f0a33baf83532e833faae84a1f0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: wickra-0.1.2-cp39-abi3-win_amd64.whl
  • Upload date:
  • Size: 202.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.1.2-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 7d9796ee65c2bdf466da9d6f41ec7637b261f69facb7b7170edb9f91e6279823
MD5 a285d41b84258655d74412b8f204a401
BLAKE2b-256 a775586e79af76ad441ff5fa8f8e7efc6eb9a662ae1de7fe3803a1b6f106b9e0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for wickra-0.1.2-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ee7c2fd8d5816f30d832dadd707c553436473b3ca1b531ae1038d771fd0f2196
MD5 0a9dc6ec744280d29ad30b34069a6fc9
BLAKE2b-256 bc060fb490ad44bd11f9bd8db89676b1e6088c967dd3a4ab5ab5315585cf14bf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for wickra-0.1.2-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 2df715a3efdb58f7726e39af00065e68d9ae6199fd7162b7bf769b002a89cc45
MD5 95ea333be37d5e7c96ae28b6c94acac7
BLAKE2b-256 a6ebfe8d51b213f0c259fa0954ec439236d6dc63af00bae67b4bd60f2495374c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for wickra-0.1.2-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c1ece5dd12b4bf8d89423f25b5ae716d692bbe95a574f9c26ff5d822841090df
MD5 8cec725c627f000d8963d56ecd0d09c5
BLAKE2b-256 7cd12a8d9be6d9afde68611180c6120c351e192d0db630070d35d2ea24137894

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for wickra-0.1.2-cp39-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 b9ac2ce7fa0a026c336c91d3c913a9db053fa817e559565de2f12a37c11ccb9d
MD5 0743d65bfd406650af85d3166565b1ad
BLAKE2b-256 e4524a1d20baf675690e2a4f7621eac5ac10fe6ae2da5cea9b4ef5906e57f1ea

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