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

Uploaded CPython 3.9+Windows x86-64

wickra-0.1.1-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.1-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (288.9 kB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ ARM64

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

Uploaded CPython 3.9+macOS 11.0+ ARM64

wickra-0.1.1-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.1.tar.gz.

File metadata

  • Download URL: wickra-0.1.1.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.1.tar.gz
Algorithm Hash digest
SHA256 18048b248362d4fd1325f68e26488000dc1273cd0a2f0d67901d552d313539f6
MD5 825136d766bbfe7e4204644cbbbd35f3
BLAKE2b-256 f5794e8bef7d099d9e9c954d12e8679f8a92667881060d4b88c673ba1f36919b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: wickra-0.1.1-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.1-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 b58cfde194a1baccc53986fb9ab1bb99e7f5fbba9842ef13d62d517452bb6ae6
MD5 025d26aa8c92bb4fdf34dd511aa6c8a9
BLAKE2b-256 2d0c10708692e845157346ed31a191f50e24d6bbb58cf94dd53a592277f225f5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for wickra-0.1.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 13174cc7d6ed4c0dccb9b304a5a01533cb0273977ddaee2864ec1aadf722004c
MD5 39acdd8bdb9c5ce9d18aecdbc9ff240a
BLAKE2b-256 1b5c73dd54db64cae4677be87c84d602fc42fd3883be714878f41a99a695746a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for wickra-0.1.1-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 efc43f3b45fb18436e88ffc8f304c9563de785e4272562409ecabf72361d18de
MD5 17249c22f9221be2e65ab08ed5fe2801
BLAKE2b-256 4d505b16d16cb60f0d592b4282e67b5d4aedddf2356b8ffe92836183a05c054b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for wickra-0.1.1-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 903c3018ddbc2359afab618941645c2c549df0c4d20b9fc29839f033754fc279
MD5 31d7044c0c02d6c7152837451c43a5a1
BLAKE2b-256 3c3ac265d31d0706af1765ecd1e4ef488c846981ac1e541cafc7c1bcdc5224c1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for wickra-0.1.1-cp39-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 3aaabac65669c668127142037a31aa8b56a514d45d7e810508cf371ba204adad
MD5 10a99f2eb9e01128b63adc1cce2de6c7
BLAKE2b-256 c1d0b7896653bad5c18fd6c167f79a99c5ef421529c6b99f105c18725144ac01

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