Wickra
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 295 indicators across nineteen 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, risk / performance, microstructure, and derivatives — 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.
Published versions
| Registry | Package | Version |
|---|---|---|
| crates.io | wickra | 0.4.5 |
| crates.io | wickra-core | 0.4.5 |
| crates.io | wickra-data | 0.4.5 |
| PyPI | wickra | 0.4.5 |
| npm | wickra | 0.4.5 |
| npm | wickra-wasm | 0.4.5 |
Release notes and tagged builds: https://github.com/wickra-lib/wickra/releases.
Wiki contents
- 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.
Indicator reference
Start with Indicators-Overview for the full eighteen-family taxonomy with per-indicator formula / parameter / warmup tables. The links below are a quick alphabetical-by-family index into the 250 deep-dive pages.
Moving Averages (19)
Alligator · Alma · Dema · Ema · Evwma · Frama · Hma · Jma · Kama · McGinleyDynamic · Sma · Smma · T3 · Tema · Trima · Vidya · Vwma · Wma · Zlema
Momentum Oscillators (20)
AwesomeOscillator · Cci · Cmo · ConnorsRsi · Inertia · Kst · LaguerreRsi · Mfi · Mom · Pgo · Pmo · Roc · Rsi · Rvi · Smi · Stochastic · StochRsi · Tsi · UltimateOscillator · WilliamsR
Trend & Directional (13)
Adx · Adxr · Aroon · AroonOscillator · ChoppinessIndex · MacdIndicator · MassIndex · Rwi · Tii · Trix · VerticalHorizontalFilter · Vortex · WaveTrend
Price Oscillators (11)
AcceleratorOscillator · Apo · AwesomeOscillatorHistogram · BalanceOfPower · Cfo · Coppock · Dpo · ElderImpulse · Ppo · Stc · ZeroLagMacd
Volatility & Bands (18)
Atr · BollingerBands · BollingerBandwidth · ChaikinVolatility · DetrendedStdDev · Donchian · GarmanKlassVolatility · HistoricalVolatility · Keltner · Natr · ParkinsonVolatility · PercentB · RogersSatchellVolatility · RviVolatility · StdDev · TrueRange · UlcerIndex · YangZhangVolatility
Bands & Channels (11)
AccelerationBands · AtrBands · DoubleBollinger · FractalChaosBands · HurstChannel · LinRegChannel · MaEnvelope · StandardErrorBands · StarcBands · TtmSqueeze · VwapStdDevBands
Trailing Stops (12)
AtrTrailingStop · ChandeKrollStop · ChandelierExit · DonchianStop · HiLoActivator · PercentageTrailingStop · Psar · RenkoTrailingStop · StepTrailingStop · SuperTrend · VoltyStop · YoyoExit
Volume (19)
AdOscillator · Adl · AnchoredVwap · ChaikinMoneyFlow · ChaikinOscillator · DemandIndex · EaseOfMovement · ForceIndex · Kvo · MarketFacilitationIndex · Nvi · Obv · Pvi · RollingVwap · Tsv · VolumeOscillator · VolumePriceTrend · Vwap · Vzo
Price Statistics (19)
Autocorrelation · Beta · CoefficientOfVariation · HurstExponent · Kurtosis · LinearRegression · LinRegAngle · LinRegSlope · MedianAbsoluteDeviation · MedianPrice · PearsonCorrelation · RSquared · Skewness · SpearmanCorrelation · StandardError · TypicalPrice · Variance · WeightedClose · ZScore
Ehlers / Cycle (DSP) (16)
AdaptiveCycle · CenterOfGravity · CyberneticCycle · Decycler · DecyclerOscillator · EhlersStochastic · EmpiricalModeDecomposition · Fama · FisherTransform · HilbertDominantCycle · InstantaneousTrendline · InverseFisherTransform · Mama · RoofingFilter · SineWave · SuperSmoother
Pivots & S/R (7)
Camarilla · ClassicPivots · DemarkPivots · FibonacciPivots · WilliamsFractals · WoodiePivots · ZigZag
DeMark (12)
TdCombo · TdCountdown · TdDeMarker · TdDifferential · TdLines · TdOpen · TdPressure · TdRangeProjection · TdRei · TdRiskLevel · TdSequential · TdSetup
Ichimoku & Charts (2)
Candlestick Patterns (60)
AbandonedBaby · AdvanceBlock · BeltHold · Breakaway · ClosingMarubozu · ConcealingBabySwallow · Counterattack · Doji · DojiStar · DownsideGapThreeMethods · DragonflyDoji · Engulfing · EveningDojiStar · FallingThreeMethods · GapSideBySideWhite · GravestoneDoji · Hammer · HangingMan · Harami · HighWave · Hikkake · HikkakeModified · HomingPigeon · IdenticalThreeCrows · InNeck · InvertedHammer · Kicking · KickingByLength · LadderBottom · LongLeggedDoji · LongLine · Marubozu · MatchingLow · MatHold · MorningDojiStar · MorningEveningStar · OnNeck · OpeningMarubozu · PiercingDarkCloud · RickshawMan · RisingThreeMethods · SeparatingLines · ShootingStar · ShortLine · SpinningTop · StalledPattern · StickSandwich · Takuri · TasukiGap · ThreeInside · ThreeLineStrike · ThreeOutside · ThreeSoldiersOrCrows · ThreeStarsInSouth · Thrusting · Tweezer · TwoCrows · UniqueThreeRiver · UpsideGapThreeMethods · UpsideGapTwoCrows
Market Profile (3)
InitialBalance · OpeningRange · ValueArea
Risk / Performance (17)
Alpha · AverageDrawdown · CalmarRatio · ConditionalValueAtRisk · DrawdownDuration · GainLossRatio · InformationRatio · KellyCriterion · MaxDrawdown · OmegaRatio · PainIndex · ProfitFactor · RecoveryFactor · SharpeRatio · SortinoRatio · TreynorRatio · ValueAtRisk
Microstructure (13)
CumulativeVolumeDelta · DepthSlope · EffectiveSpread · Footprint · KylesLambda · Microprice · OrderBookImbalanceFull · OrderBookImbalanceTop1 · OrderBookImbalanceTopN · QuotedSpread · RealizedSpread · SignedVolume · TradeImbalance
Derivatives (12)
CalendarSpread · FundingBasis · FundingRate · FundingRateMean · FundingRateZScore · LiquidationFeatures · LongShortRatio · OIPriceDivergence · OIWeighted · OpenInterestDelta · TakerBuySellRatio · TermStructureBasis
See also
- Source code: https://github.com/wickra-lib/wickra
- Releases: https://github.com/wickra-lib/wickra/releases
- Issue tracker: https://github.com/wickra-lib/wickra/issues