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.0.tar.gz (144.8 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.0-cp39-abi3-win_arm64.whl (293.0 kB view details)

Uploaded CPython 3.9+Windows ARM64

wickra-0.2.0-cp39-abi3-win_amd64.whl (335.9 kB view details)

Uploaded CPython 3.9+Windows x86-64

wickra-0.2.0-cp39-abi3-musllinux_1_2_x86_64.whl (668.6 kB view details)

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

wickra-0.2.0-cp39-abi3-musllinux_1_2_aarch64.whl (588.2 kB view details)

Uploaded CPython 3.9+musllinux: musl 1.2+ ARM64

wickra-0.2.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (452.9 kB view details)

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

wickra-0.2.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (412.3 kB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ ARM64

wickra-0.2.0-cp39-abi3-macosx_11_0_arm64.whl (375.1 kB view details)

Uploaded CPython 3.9+macOS 11.0+ ARM64

wickra-0.2.0-cp39-abi3-macosx_10_12_x86_64.whl (423.4 kB view details)

Uploaded CPython 3.9+macOS 10.12+ x86-64

File details

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

File metadata

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

File hashes

Hashes for wickra-0.2.0.tar.gz
Algorithm Hash digest
SHA256 8f0179d9be9d5bfa5aaa7b76adec5a20bd8be713f603607ebbe4d46b4bcf9b5d
MD5 3da433d4289aab7beca37340f5284b40
BLAKE2b-256 cdbb95f67d8a0922107bc627094213daf50e45200912b144bb910a1f49290cf8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: wickra-0.2.0-cp39-abi3-win_arm64.whl
  • Upload date:
  • Size: 293.0 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.0-cp39-abi3-win_arm64.whl
Algorithm Hash digest
SHA256 c5bc69da8167027a620148584474989a30ad6b15b7f6daae754ccbf33a3aa7d2
MD5 640c5d8b6bb0bb72824c4cebe6a19953
BLAKE2b-256 fc87749e13752c67b363e2a559cb4abcedab9bed9a677ecd4bd08d695eb4e38e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: wickra-0.2.0-cp39-abi3-win_amd64.whl
  • Upload date:
  • Size: 335.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.0-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 f1e54ed4eb63c7811acf890dfc71fc3acac061e8097160f5e452cc6d46656f1a
MD5 24beac143cd00b7062ab6cb034e84ba4
BLAKE2b-256 598f942808edac5b0bc92c5ab1dd6af415cbc4afc74c043676ddc8b62df63395

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for wickra-0.2.0-cp39-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 f86803c13739c757b98a0c721a1bde18661e3a029a74916f5e17f0c828277d59
MD5 b50fe68becd843f1004305cfe39f47e9
BLAKE2b-256 96ebd3017aa74ad5eff6d6cccb7438522a9f82eed02470cff746a55b154e9a3b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for wickra-0.2.0-cp39-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 fa031e590388dfee6ade3ee00efcb106682f11b4f31df56d61557f6e8b96ab0d
MD5 c3a0a8e884b3e73ba479f63f5372e1e9
BLAKE2b-256 f800e51c3aed590a6abda08cb63917008b1c3b0b2f7195be347ef5f7842db79c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for wickra-0.2.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 370e72b1405e64c9f2cea9661e2c7c527c6cbff58d976459f4c6235e2eee8685
MD5 824a5f6f2f36eeb09e3d5ca30a3ca4b7
BLAKE2b-256 355ffbe25e2c268d766e31ae28d987e0fe21a9ad57ec069f39ffdc5ce3c7c31a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for wickra-0.2.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 944c7193900c2317be791e9b283bd797b3b414fe07de66ad1d66888f3c72cc99
MD5 08822df45ca92824b94d60f52585c2e3
BLAKE2b-256 9db0d056628f638c0f8d16378c8dcad3f5e59f24f087e53d5ddb0df07d8bcf19

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for wickra-0.2.0-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5b94158bec61ef63a98179cbe26b454ecdc0b829b60575ce56cf34f6218cb8f6
MD5 dfe58d6300713732459ef6df3e4397c6
BLAKE2b-256 cf938f9ab11980870444de9dbb2071c144b0d77efcb5a24643de42ba37cd58f5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for wickra-0.2.0-cp39-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 51d3584839d7c4cbcb397e18b1b6f02eb626a0b462b2a92a8a4262b49095e32a
MD5 34b915edf14537b0ad715f7780d47ee6
BLAKE2b-256 88644ab9b347b1c569b625b0d283b8b5370ddb73f0d94902fceb9c7d2c85ffca

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