Skip to content

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, plus a C ABI that any C-capable language (C, C++, Go, C#, Java, R) links against. 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 514 indicators across twenty-four 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 dual-licensed under the MIT and Apache-2.0 licenses; you may use it under either at your option. It is OSI-approved, permissive open source — free for any use, commercial or not.

Published versions

RegistryPackageVersion
crates.iowickra0.7.7
crates.iowickra-core0.7.7
crates.iowickra-data0.7.7
PyPIwickra0.7.7
npmwickra0.7.7
npmwickra-wasm0.7.7

Release notes and tagged builds: https://github.com/wickra-lib/wickra/releases.

Wiki contents

  • Quickstart: Pythonpip 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: Rustcargo add wickra, batch and streaming via the Indicator and BatchExt traits, and the Chain combinator.
  • Quickstart: Nodenpm install wickra, basic SMA and MACD calls, and the install surface.
  • Quickstart: WASMnpm install wickra-wasm, building with wasm-pack, and running indicators client-side in a browser or bundler.
  • Quickstart: C — link the generated wickra.h + library, the five-function opaque-handle shape, multi-output structs, and the wickra.hpp C++ RAII wrapper.
  • Quickstart: C#dotnet add package Wickra, idiomatic IDisposable indicator classes, and nullable record struct multi-output.
  • Quickstart: Gogo get the cgo binding, idiomatic types with New<Indicator>/Close, and (value, ok) multi-output.
  • Quickstart: R — install the .Call binding, indicator constructors with update/batch/reset, and named-vector multi-output.
  • Data Layer — the wickra-data crate: 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) update and 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 ChainingChain::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 twenty-family taxonomy with per-indicator formula / parameter / warmup tables. The links below are a quick alphabetical-by-family index into the 514 deep-dive pages.

Moving Averages (26)

AdaptiveLaguerreFilter · Alligator · Alma · Dema · Ehma · Ema · Evwma · Frama · GeneralizedDema · GeometricMa · Hma · HoltWinters · Jma · Kama · McGinleyDynamic · MedianMa · SineWeightedMa · Sma · Smma · T3 · Tema · Trima · Vidya · Vwma · Wma · Zlema

Momentum Oscillators (33)

AnchoredRsi · AwesomeOscillator · Cci · Cmo · ConnorsRsi · DerivativeOscillator · DisparityIndex · DynamicMomentumIndex · ElderRay · FisherRsi · Inertia · IntradayMomentumIndex · Kst · LaguerreRsi · Mfi · Mom · Pmo · Qqe · Rmi · Roc · Rocp · Rocr · Rocr100 · Rsi · Rsx · Rvi · Smi · Stochastic · StochasticCci · StochRsi · Tsi · UltimateOscillator · WilliamsR

Trend & Directional (28)

Adx · Adxr · Aroon · AroonOscillator · ChoppinessIndex · Dx · GatorOscillator · KasePermissionStochastic · MacdExt · MacdFix · MacdIndicator · MassIndex · MinusDi · MinusDm · PlusDi · PlusDm · PolarizedFractalEfficiency · Qstick · Rwi · Tii · TrendLabel · TrendStrengthIndex · Trix · TtmTrend · VerticalHorizontalFilter · Vortex · WavePm · WaveTrend

Price Oscillators (15)

AcceleratorOscillator · Apo · AwesomeOscillatorHistogram · BalanceOfPower · Cfo · Coppock · Dpo · ElderImpulse · MacdHistogram · Pgo · Ppo · PpoHistogram · Stc · TsfOscillator · ZeroLagMacd

Volatility & Bands (26)

Atr · BipowerVariation · BollingerBands · BollingerBandwidth · ChaikinVolatility · DetrendedStdDev · Donchian · EwmaVolatility · Garch11 · GarmanKlassVolatility · HistoricalVolatility · JumpIndicator · Keltner · Natr · ParkinsonVolatility · PercentB · RegimeLabel · RogersSatchellVolatility · RviVolatility · StdDev · TrueRange · UlcerIndex · VolatilityCone · VolatilityOfVolatility · VolatilityRatio · YangZhangVolatility

Bands & Channels (16)

AccelerationBands · AtrBands · BomarBands · DoubleBollinger · FractalChaosBands · HurstChannel · LinRegChannel · MaEnvelope · MedianChannel · ProjectionBands · ProjectionOscillator · QuartileBands · StandardErrorBands · StarcBands · TtmSqueeze · VwapStdDevBands

Trailing Stops (19)

AtrRatchet · AtrTrailingStop · ChandeKrollStop · ChandelierExit · DonchianStop · ElderSafeZone · HiLoActivator · KaseDevStop · ModifiedMaStop · Nrtr · PercentageTrailingStop · Psar · RenkoTrailingStop · SarExt · StepTrailingStop · SuperTrend · TimeBasedStop · VoltyStop · YoyoExit

Volume (26)

Adl · AdOscillator · AnchoredVwap · BetterVolume · ChaikinMoneyFlow · ChaikinOscillator · DemandIndex · EaseOfMovement · ForceIndex · IntradayIntensity · Kvo · MarketFacilitationIndex · Nvi · Obv · Pvi · RollingVwap · TradeVolumeIndex · Tsv · TwiggsMoneyFlow · VolumeOscillator · VolumePriceTrend · VolumeRsi · VolumeWeightedMacd · Vwap · Vzo · Wad

Price Statistics (54)

Autocorrelation · AvgPrice · Beta · BetaNeutralSpread · BodySizePct · CloseVsOpen · CoefficientOfVariation · Cointegration · DistanceSsd · GrangerCausality · HighLowRange · HurstExponent · JarqueBera · KalmanHedgeRatio · KendallTau · Kurtosis · LeadLagCrossCorrelation · LinearRegression · LinRegAngle · LinRegIntercept · LinRegSlope · LogReturn · MedianAbsoluteDeviation · MedianPrice · MidPoint · MidPrice · OuHalfLife · PairSpreadZScore · PairwiseBeta · PearsonCorrelation · RealizedVolatility · RelativeStrengthAB · RollingCorrelation · RollingCovariance · RollingIqr · RollingMinMaxScaler · RollingPercentileRank · RollingQuantile · RSquared · SampleEntropy · ShannonEntropy · Skewness · SpearmanCorrelation · SpreadAr1Coefficient · SpreadBollingerBands · SpreadHurst · StandardError · Tsf · TypicalPrice · Variance · VarianceRatio · WeightedClose · WickRatio · ZScore

Ehlers / Cycle (DSP) (29)

AdaptiveCci · AdaptiveCycle · AdaptiveRsi · AutocorrelationPeriodogram · BandpassFilter · CenterOfGravity · CorrelationTrendIndicator · CyberneticCycle · Decycler · DecyclerOscillator · EhlersStochastic · EmpiricalModeDecomposition · EvenBetterSinewave · Fama · FisherTransform · HighpassFilter · HilbertDominantCycle · HtDcPhase · HtPhasor · HtTrendMode · InstantaneousTrendline · InverseFisherTransform · Mama · Reflex · RoofingFilter · SineWave · SuperSmoother · Trendflex · UniversalOscillator

Pivots & S/R (12)

AndrewsPitchfork · Camarilla · CentralPivotRange · ClassicPivots · DemarkPivots · FibonacciPivots · MurreyMathLines · PivotReversal · VolumeWeightedSr · WilliamsFractals · WoodiePivots · ZigZag

DeMark (19)

TdCamouflage · TdClop · TdClopwin · TdCombo · TdCountdown · TdDeMarker · TdDifferential · TdDWave · TdLines · TdMovingAverage · TdOpen · TdPressure · TdPropulsion · TdRangeProjection · TdRei · TdRiskLevel · TdSequential · TdSetup · TdTrap

Ichimoku & Charts (7)

CandleVolume · Equivolume · HeikinAshi · HeikinAshiOscillator · Ichimoku · SmoothedHeikinAshi · ThreeLineBreak

Candlestick Patterns (66)

AbandonedBaby · AdvanceBlock · BeltHold · Breakaway · ClosingMarubozu · ConcealingBabySwallow · Counterattack · Doji · DojiStar · DownsideGapThreeMethods · DragonflyDoji · DumplingTop · Engulfing · EveningDojiStar · FallingThreeMethods · FryPanBottom · GapSideBySideWhite · GravestoneDoji · Hammer · HangingMan · Harami · HaramiCross · HighWave · Hikkake · HikkakeModified · HomingPigeon · IdenticalThreeCrows · InNeck · InvertedHammer · Kicking · KickingByLength · LadderBottom · LongLeggedDoji · LongLine · Marubozu · MatchingLow · MatHold · MorningDojiStar · MorningEveningStar · NewPriceLines · OnNeck · OpeningMarubozu · PiercingDarkCloud · RickshawMan · RisingThreeMethods · SeparatingLines · ShootingStar · ShortLine · SpinningTop · StalledPattern · StickSandwich · Takuri · TasukiGap · ThreeInside · ThreeLineStrike · ThreeOutside · ThreeSoldiersOrCrows · ThreeStarsInSouth · Thrusting · TowerTopBottom · Tristar · Tweezer · TwoCrows · UniqueThreeRiver · UpsideGapThreeMethods · UpsideGapTwoCrows

Market Profile (10)

CompositeProfile · HighLowVolumeNodes · InitialBalance · NakedPoc · OpeningRange · ProfileShape · SinglePrints · TpoProfile · ValueArea · VolumeProfile

Risk / Performance (28)

Alpha · AverageDrawdown · BurkeRatio · CalmarRatio · CommonSenseRatio · ConditionalValueAtRisk · DrawdownDuration · Expectancy · GainLossRatio · GainToPainRatio · InformationRatio · KellyCriterion · KRatio · M2Measure · MartinRatio · MaxDrawdown · OmegaRatio · PainIndex · ProfitFactor · RecoveryFactor · SharpeRatio · SortinoRatio · SterlingRatio · TailRatio · TreynorRatio · UpsidePotentialRatio · ValueAtRisk · WinRate

Microstructure (20)

AmihudIlliquidity · CumulativeVolumeDelta · DepthSlope · EffectiveSpread · Footprint · HasbrouckInformationShare · KylesLambda · Microprice · OrderBookImbalanceFull · OrderBookImbalanceTop1 · OrderBookImbalanceTopN · OrderFlowImbalance · Pin · QuotedSpread · RealizedSpread · RollMeasure · SignedVolume · TradeImbalance · TradeSignAutocorrelation · Vpin

Derivatives (17)

CalendarSpread · EstimatedLeverageRatio · FundingBasis · FundingImpliedApr · FundingRate · FundingRateMean · FundingRateZScore · LiquidationFeatures · LongShortRatio · OIPriceDivergence · OiToVolumeRatio · OIWeighted · OpenInterestDelta · OpenInterestMomentum · PerpetualPremiumIndex · TakerBuySellRatio · TermStructureBasis

Alt-Chart Bars (10)

DollarBars · ImbalanceBars · KagiBars · PointAndFigureBars · RangeBars · RenkoBars · RunBars · ThreeLineBreakBars · TickBars · VolumeBars

Market Breadth (15)

AbsoluteBreadthIndex · AdvanceDecline · AdvanceDeclineRatio · AdVolumeLine · BreadthThrust · BullishPercentIndex · CumulativeVolumeIndex · HighLowIndex · McClellanOscillator · McClellanSummationIndex · NewHighsNewLows · PercentAboveMa · TickIndex · Trin · UpDownVolumeRatio

Seasonality & Session (12)

AverageDailyRange · DayOfWeekProfile · IntradayVolatilityProfile · OvernightGap · OvernightIntradayReturn · SeasonalZScore · SessionHighLow · SessionRange · SessionVwap · TimeOfDayReturnProfile · TurnOfMonth · VolumeByTimeProfile

Chart Patterns (8)

CupAndHandle · DoubleTopBottom · FlagPennant · HeadAndShoulders · RectangleRange · Triangle · TripleTopBottom · Wedge

Harmonic Patterns (8)

Abcd · Bat · Butterfly · Crab · Cypher · Gartley · Shark · ThreeDrives

Fibonacci (10)

AutoFib · FibArcs · FibChannel · FibConfluence · FibExtension · FibFan · FibProjection · FibRetracement · FibTimeZones · GoldenPocket

See also