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

Uploaded CPython 3.9+Windows x86-64

wickra-0.1.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (307.4 kB view details)

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

wickra-0.1.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (289.0 kB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ ARM64

wickra-0.1.0-cp39-abi3-macosx_11_0_arm64.whl (264.8 kB view details)

Uploaded CPython 3.9+macOS 11.0+ ARM64

wickra-0.1.0-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.0.tar.gz.

File metadata

  • Download URL: wickra-0.1.0.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.0.tar.gz
Algorithm Hash digest
SHA256 b9d34c052d261b2ffe4e057c74c27a7f77dcff637af2e4d4fa5428fa53bf7b61
MD5 f3f5b6a4b074364de3eb0e869a13cc8e
BLAKE2b-256 fae35fa8e44811cf74ddd65533227d988753cec03e775ed4b1426712d9d6fb38

See more details on using hashes here.

File details

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

File metadata

  • Download URL: wickra-0.1.0-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.0-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 22035d4d66460476459dcacad1d0ef1d83223b5b8402eb0fdbf5c573350943a0
MD5 25db460f1e8286b377f0a2c472d217e6
BLAKE2b-256 700764bb63d2bf8f4c3435ae51025655a60fe4821ba315c8590033c20e051675

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for wickra-0.1.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 558a5476fef3c605b3c9e288daab537954e700372b45975e4e8fb16d9ad82e04
MD5 2a034b95b4496761913f987604df2b55
BLAKE2b-256 5a1a83748dca1d5c729e095f4820df3acd2684d549989894b5bfb634e15956e0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for wickra-0.1.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 6fea0fbefb7a45193f53f16205661cd3b826d754019ddcc3892c99b09ef9e2ad
MD5 0f5cdc4840252f7a4e944c1a01ff6b3e
BLAKE2b-256 b7ddfed937f5516c67702a0f97d666a95f71bcfa1b5836b70bfc90e97c4fe12b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for wickra-0.1.0-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2e786df51a0c4d11d9328dc9b3a64d78659ac8a8ede254c18ebc292793e7cc9f
MD5 9f47c7c2fe9b38b70d49656855e09447
BLAKE2b-256 7ee361ce3a69f9e7250d0347e01817281d24800c9d46e58f5094244a1186fb09

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for wickra-0.1.0-cp39-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 43962c115e65bbe530ab9f5ed4429ef51c2060e496f280a8177380063c82e356
MD5 25ea150df5b14037cd57245eee6399ab
BLAKE2b-256 e848fc40be92cda232eb9fc2411bcceb0ec50432bcd2059bb19ac1fdbc12c5c4

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