-
Notifications
You must be signed in to change notification settings - Fork 6
Home
Wickra is a streaming-first technical-indicators library. Every indicator is
implemented in Rust as an O(1) state machine that consumes one input at a
time, and the same engine is exposed through ergonomic bindings for Python,
Node.js, WebAssembly, and Rust itself. The same update call you write inside
a live trading loop also drives the historical backtest of that same
strategy — there is no second code path that drifts behind the streaming one.
The project ships 214 indicators across sixteen families — moving averages,
momentum oscillators, trend & directional, price oscillators, volatility &
bands, bands & channels, trailing stops, volume, price statistics, Ehlers /
cycle (DSP), pivots & S/R, DeMark, Ichimoku & charts, candlestick patterns,
market profile, and risk / performance — plus a small set of supporting types
(Candle, Tick, Chain). The Rust core forbids unsafe, so every binding
inherits a memory-safe implementation. Install is one command on every
supported platform: pip install wickra, cargo add wickra, npm install wickra — no system compilers, no C dependencies, no headers.
Wickra is licensed under the PolyForm Noncommercial 1.0.0 license. Personal projects, research, hobby trading bots, education, non-profits, and government use are all permitted; commercial sale of the software or of services built around it is not. If you want to use Wickra commercially, open an issue on GitHub to discuss a separate license.
| Registry | Package | Version |
|---|---|---|
| crates.io | wickra |
0.2.7 |
| crates.io | wickra-core |
0.2.7 |
| crates.io | wickra-data |
0.2.7 |
| PyPI | wickra |
0.2.7 |
| npm | wickra |
0.2.7 |
| npm | wickra-wasm |
0.2.7 |
Release notes and tagged builds: https://github.com/kingchenc/wickra/releases.
-
Quickstart: Python —
pip install wickra, a batch RSI on a NumPy array, a streaming RSI loop, and the multi-column NaN pattern that MACD and friends share. -
Quickstart: Rust —
cargo add wickra, batch and streaming via theIndicatorandBatchExttraits, and theChaincombinator. -
Quickstart: Node —
npm install wickra, basicSMAandMACDcalls, and the install surface. -
Quickstart: WASM —
npm install wickra-wasm, building withwasm-pack, and running indicators client-side in a browser or bundler. -
Data Layer — the
wickra-datacrate: the CSV reader, the tick-to-candle aggregator, the multi-timeframe resampler, and the Binance live feed. -
Streaming vs Batch — the conceptual difference
between Wickra's O(1)
updateand the recompute-everything loops in batch-only libraries, with the benchmark numbers from the project README. -
Warmup Periods — a verified table of every
indicator's
warmup_period(), plus the reasoning behind the off-by-one cases (RSI(14) needs 15 inputs because it needs 14 diffs). -
Indicator Chaining —
Chain::new(first, second)and.then(third), with a worked EMA(14) → RSI(7) example and the rule for stacked warmups. - Cookbook — copy-paste strategy recipes built on streaming indicators (RSI mean reversion, MACD crossover, Bollinger breakout, ADX-gated trend, multi-timeframe, SuperTrend trailing stop).
-
TA-Lib Migration — function-by-function mapping
table from TA-Lib's
talib.X(...)calls to the equivalent Wickra expressions. - FAQ — quick answers to the most common questions about warmup, NaN handling, thread safety, and the streaming-vs-batch contract.
Start with Indicators-Overview for the full sixteen-family taxonomy with per-indicator formula / parameter / warmup tables. The links below are a quick alphabetical-by-family index into the 214 deep-dive pages.
Alligator · Alma · Dema · Ema · Evwma · Frama · Hma · Jma · Kama · McGinleyDynamic · Sma · Smma · T3 · Tema · Trima · Vidya · Vwma · Wma · Zlema
AwesomeOscillator · Cci · Cmo · ConnorsRsi · Inertia · Kst · LaguerreRsi · Mfi · Mom · Pgo · Pmo · Roc · Rsi · Rvi · Smi · Stochastic · StochRsi · Tsi · UltimateOscillator · WilliamsR
Adx · Adxr · Aroon · AroonOscillator · ChoppinessIndex · MacdIndicator · MassIndex · Rwi · Tii · Trix · VerticalHorizontalFilter · Vortex · WaveTrend
AcceleratorOscillator · Apo · AwesomeOscillatorHistogram · BalanceOfPower · Cfo · Coppock · Dpo · ElderImpulse · Ppo · Stc · ZeroLagMacd
Atr · BollingerBands · BollingerBandwidth · ChaikinVolatility · DetrendedStdDev · Donchian · GarmanKlassVolatility · HistoricalVolatility · Keltner · Natr · ParkinsonVolatility · PercentB · RogersSatchellVolatility · RviVolatility · StdDev · TrueRange · UlcerIndex · YangZhangVolatility
AccelerationBands · AtrBands · DoubleBollinger · FractalChaosBands · HurstChannel · LinRegChannel · MaEnvelope · StandardErrorBands · StarcBands · TtmSqueeze · VwapStdDevBands
AtrTrailingStop · ChandeKrollStop · ChandelierExit · DonchianStop · HiLoActivator · PercentageTrailingStop · Psar · RenkoTrailingStop · StepTrailingStop · SuperTrend · VoltyStop · YoyoExit
AdOscillator · Adl · AnchoredVwap · ChaikinMoneyFlow · ChaikinOscillator · DemandIndex · EaseOfMovement · ForceIndex · Kvo · MarketFacilitationIndex · Nvi · Obv · Pvi · RollingVwap · Tsv · VolumeOscillator · VolumePriceTrend · Vwap · Vzo
Autocorrelation · Beta · CoefficientOfVariation · HurstExponent · Kurtosis · LinearRegression · LinRegAngle · LinRegSlope · MedianAbsoluteDeviation · MedianPrice · PearsonCorrelation · RSquared · Skewness · SpearmanCorrelation · StandardError · TypicalPrice · Variance · WeightedClose · ZScore
AdaptiveCycle · CenterOfGravity · CyberneticCycle · Decycler · DecyclerOscillator · EhlersStochastic · EmpiricalModeDecomposition · Fama · FisherTransform · HilbertDominantCycle · InstantaneousTrendline · InverseFisherTransform · Mama · RoofingFilter · SineWave · SuperSmoother
Camarilla · ClassicPivots · DemarkPivots · FibonacciPivots · WilliamsFractals · WoodiePivots · ZigZag
TdCombo · TdCountdown · TdDeMarker · TdDifferential · TdLines · TdOpen · TdPressure · TdRangeProjection · TdRei · TdRiskLevel · TdSequential · TdSetup
Doji · Engulfing · Hammer · HangingMan · Harami · InvertedHammer · Marubozu · MorningEveningStar · PiercingDarkCloud · ShootingStar · SpinningTop · ThreeInside · ThreeOutside · ThreeSoldiersOrCrows · Tweezer
InitialBalance · OpeningRange · ValueArea
Alpha · AverageDrawdown · CalmarRatio · ConditionalValueAtRisk · DrawdownDuration · GainLossRatio · InformationRatio · KellyCriterion · MaxDrawdown · OmegaRatio · PainIndex · ProfitFactor · RecoveryFactor · SharpeRatio · SortinoRatio · TreynorRatio · ValueAtRisk
- Source code: https://github.com/kingchenc/wickra
- Releases: https://github.com/kingchenc/wickra/releases
- Issue tracker: https://github.com/kingchenc/wickra/issues