wickra 0.4.0 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -12,6 +12,7 @@
12
12
  [![License: PolyForm-NC](https://img.shields.io/badge/license-PolyForm--NC--1.0.0-purple)](LICENSE)
13
13
  [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/wickra-lib/wickra/badge)](https://scorecard.dev/viewer/?uri=github.com/wickra-lib/wickra)
14
14
  [![Build provenance](https://img.shields.io/badge/provenance-attested-brightgreen?logo=github)](https://github.com/wickra-lib/wickra/attestations)
15
+ [![Docs](https://img.shields.io/badge/docs-docs.wickra.org-0ea5e9?logo=readthedocs&logoColor=white)](https://docs.wickra.org)
15
16
 
16
17
  **Streaming-first technical indicators. Install with `pip install wickra` — no system dependencies.**
17
18
 
@@ -37,6 +38,25 @@ for price in live_feed:
37
38
  print("overbought")
38
39
  ```
39
40
 
41
+ ## Documentation
42
+
43
+ Full documentation lives at **[docs.wickra.org](https://docs.wickra.org)**:
44
+
45
+ - **Quickstarts** — [Rust](https://docs.wickra.org/Quickstart-Rust),
46
+ [Python](https://docs.wickra.org/Quickstart-Python),
47
+ [Node](https://docs.wickra.org/Quickstart-Node),
48
+ [WASM](https://docs.wickra.org/Quickstart-WASM).
49
+ - **Indicators** — a per-indicator deep dive (formula, parameters, warmup) for
50
+ every one of the 219 indicators; start at the
51
+ [indicators overview](https://docs.wickra.org/Indicators-Overview).
52
+ - **Reference** — [warmup periods](https://docs.wickra.org/Warmup-Periods),
53
+ [streaming vs batch](https://docs.wickra.org/Streaming-vs-Batch),
54
+ [indicator chaining](https://docs.wickra.org/Indicator-Chaining), the
55
+ [data layer](https://docs.wickra.org/Data-Layer).
56
+ - **Guides** — [Cookbook](https://docs.wickra.org/Cookbook),
57
+ [TA-Lib migration](https://docs.wickra.org/TA-Lib-Migration),
58
+ [FAQ](https://docs.wickra.org/FAQ).
59
+
40
60
  ## Why Wickra exists
41
61
 
42
62
  The Python TA ecosystem has plenty of libraries — TA-Lib, pandas-ta, finta,
@@ -115,9 +135,10 @@ python -m benchmarks.compare_libraries
115
135
 
116
136
  ## Indicators
117
137
 
118
- 214 streaming-first indicators across sixteen families. Every one passes the
138
+ 219 streaming-first indicators across sixteen families. Every one passes the
119
139
  `batch == streaming` equivalence test, reference-value tests, and reset
120
- semantics tests.
140
+ semantics tests. Each has a per-indicator deep dive (formula, parameters,
141
+ warmup) at [docs.wickra.org](https://docs.wickra.org/Indicators-Overview).
121
142
 
122
143
  | Family | Indicators |
123
144
  |--------|-----------|
@@ -129,7 +150,7 @@ semantics tests.
129
150
  | Bands & Channels | MA Envelope, Acceleration Bands, STARC Bands, ATR Bands, Hurst Channel, LinReg Channel, Standard Error Bands, Double Bollinger Bands, TTM Squeeze, Fractal Chaos Bands, VWAP StdDev Bands |
130
151
  | Trailing Stops | Parabolic SAR, SuperTrend, Chandelier Exit, Chande Kroll Stop, ATR Trailing Stop, HiLo Activator, Volty Stop, Yo-Yo Exit, Donchian Channel Stop, Percentage Trailing Stop, Step Trailing Stop, Renko Trailing Stop |
131
152
  | Volume | OBV, VWAP (cumulative + rolling), ADL, Volume-Price Trend, Chaikin Money Flow, Chaikin Oscillator, Force Index, Ease of Movement, Klinger Volume Oscillator, Volume Oscillator, NVI, PVI, Williams A/D, Anchored VWAP, Demand Index, TSV, VZO, Market Facilitation Index |
132
- | Price Statistics | Typical Price, Median Price, Weighted Close, Linear Regression, Linear Regression Slope, Z-Score, Linear Regression Angle, Variance, Coefficient of Variation, Skewness, Kurtosis, Standard Error, Detrended StdDev, R², Median Absolute Deviation, Autocorrelation, Hurst Exponent, Pearson Correlation, Beta, Spearman Correlation |
153
+ | Price Statistics | Typical Price, Median Price, Weighted Close, Linear Regression, Linear Regression Slope, Z-Score, Linear Regression Angle, Variance, Coefficient of Variation, Skewness, Kurtosis, Standard Error, Detrended StdDev, R², Median Absolute Deviation, Autocorrelation, Hurst Exponent, Pearson Correlation, Beta, Pairwise Beta, Pair Spread Z-Score, Lead-Lag Cross-Correlation, Cointegration, Relative Strength A-vs-B, Spearman Correlation |
133
154
  | Ehlers / Cycle (DSP) | MAMA, FAMA, Fisher Transform, Inverse Fisher Transform, SuperSmoother, Hilbert Dominant Cycle, Sine Wave, Decycler, Decycler Oscillator, Roofing Filter, Center of Gravity, Cybernetic Cycle, Adaptive Cycle, Empirical Mode Decomposition, Ehlers Stochastic, Instantaneous Trendline |
134
155
  | Pivots & S/R | Classic Pivots, Fibonacci Pivots, Camarilla, Woodie Pivots, DeMark Pivots, Williams Fractals, ZigZag |
135
156
  | DeMark | TD Setup, TD Sequential, TD DeMarker, TD REI, TD Pressure, TD Combo, TD Countdown, TD Lines, TD Range Projection, TD Differential, TD Open, TD Risk Level |
@@ -209,7 +230,7 @@ A Python live-trading example using the public `websockets` package lives at
209
230
  ```
210
231
  wickra/
211
232
  ├── crates/
212
- │ ├── wickra-core/ core engine + all 214 indicators
233
+ │ ├── wickra-core/ core engine + all 219 indicators
213
234
  │ ├── wickra/ top-level facade crate (publishes on crates.io) + benches/
214
235
  │ └── wickra-data/ CSV reader, tick aggregator, live exchange feeds
215
236
  ├── bindings/
package/index.d.ts CHANGED
@@ -5,6 +5,34 @@
5
5
 
6
6
  /** Library version (matches the Rust crate version). */
7
7
  export declare function version(): string
8
+ /** Lead/lag result: the offset that maximises correlation, and that correlation. */
9
+ export interface LeadLagValue {
10
+ /** Offset that maximises `|corr(a, b shifted)|`. Positive ⇒ `a` leads `b`. */
11
+ lag: number
12
+ /** Signed correlation at that lag, in `[-1, 1]`. */
13
+ correlation: number
14
+ }
15
+ /** Cointegration result: hedge ratio, current spread, and the ADF statistic. */
16
+ export interface CointegrationValue {
17
+ /** Engle–Granger hedge ratio (OLS slope of `a` on `b`). */
18
+ hedgeRatio: number
19
+ /** Current spread (regression residual) `a - (alpha + beta*b)`. */
20
+ spread: number
21
+ /**
22
+ * Augmented Dickey–Fuller statistic on the spread; more negative ⇒ more
23
+ * strongly mean-reverting.
24
+ */
25
+ adfStat: number
26
+ }
27
+ /** Relative-strength triple: the a/b ratio, its moving average, and its RSI. */
28
+ export interface RelativeStrengthValue {
29
+ /** Raw ratio `a / b`. */
30
+ ratio: number
31
+ /** Moving average of the ratio. */
32
+ ratioMa: number
33
+ /** RSI of the ratio. */
34
+ ratioRsi: number
35
+ }
8
36
  /** MACD triple: macd line, signal line, histogram. */
9
37
  export interface MacdValue {
10
38
  macd: number
@@ -628,6 +656,19 @@ export declare class Beta {
628
656
  isReady(): boolean
629
657
  warmupPeriod(): number
630
658
  }
659
+ export type PairwiseBetaNode = PairwiseBeta
660
+ export declare class PairwiseBeta {
661
+ constructor(period: number)
662
+ update(x: number, y: number): number | null
663
+ /**
664
+ * Batch over two equally-sized arrays. Returns a length-`n` array
665
+ * with `NaN` for warmup positions.
666
+ */
667
+ batch(x: Array<number>, y: Array<number>): Array<number>
668
+ reset(): void
669
+ isReady(): boolean
670
+ warmupPeriod(): number
671
+ }
631
672
  export type SpearmanCorrelationNode = SpearmanCorrelation
632
673
  export declare class SpearmanCorrelation {
633
674
  constructor(period: number)
@@ -641,6 +682,65 @@ export declare class SpearmanCorrelation {
641
682
  isReady(): boolean
642
683
  warmupPeriod(): number
643
684
  }
685
+ export type PairSpreadZScoreNode = PairSpreadZScore
686
+ /**
687
+ * Pair spread z-score: two ctor params (`betaPeriod`, `zPeriod`), one `(a, b)`
688
+ * price pair per update, a single z-score out.
689
+ */
690
+ export declare class PairSpreadZScore {
691
+ constructor(betaPeriod: number, zPeriod: number)
692
+ update(a: number, b: number): number | null
693
+ /**
694
+ * Batch over two equally-sized arrays of prices. Returns a length-`n`
695
+ * array with `NaN` for warmup positions.
696
+ */
697
+ batch(a: Array<number>, b: Array<number>): Array<number>
698
+ reset(): void
699
+ isReady(): boolean
700
+ warmupPeriod(): number
701
+ }
702
+ export type LeadLagCrossCorrelationNode = LeadLagCrossCorrelation
703
+ export declare class LeadLagCrossCorrelation {
704
+ constructor(window: number, maxLag: number)
705
+ update(a: number, b: number): LeadLagValue | null
706
+ /**
707
+ * Batch over two equally-sized arrays. Returns a flat array of length
708
+ * `2 * n`, interleaved per row as `[lag0, corr0, lag1, corr1, ...]`. Read
709
+ * column `j` of row `i` as `result[i * 2 + j]`. Warmup rows are `NaN`.
710
+ */
711
+ batch(a: Array<number>, b: Array<number>): Array<number>
712
+ reset(): void
713
+ isReady(): boolean
714
+ warmupPeriod(): number
715
+ }
716
+ export type CointegrationNode = Cointegration
717
+ export declare class Cointegration {
718
+ constructor(period: number, adfLags: number)
719
+ update(a: number, b: number): CointegrationValue | null
720
+ /**
721
+ * Batch over two equally-sized arrays. Returns a flat array of length
722
+ * `3 * n`, interleaved per row as `[hedgeRatio0, spread0, adfStat0, ...]`.
723
+ * Read column `j` of row `i` as `result[i * 3 + j]`. Warmup rows are `NaN`.
724
+ */
725
+ batch(a: Array<number>, b: Array<number>): Array<number>
726
+ reset(): void
727
+ isReady(): boolean
728
+ warmupPeriod(): number
729
+ }
730
+ export type RelativeStrengthAbNode = RelativeStrengthAB
731
+ export declare class RelativeStrengthAB {
732
+ constructor(maPeriod: number, rsiPeriod: number)
733
+ update(a: number, b: number): RelativeStrengthValue | null
734
+ /**
735
+ * Batch over two equally-sized arrays. Returns a flat array of length
736
+ * `3 * n`, interleaved per row as `[ratio0, ratioMa0, ratioRsi0, ...]`.
737
+ * Read column `j` of row `i` as `result[i * 3 + j]`. Warmup rows are `NaN`.
738
+ */
739
+ batch(a: Array<number>, b: Array<number>): Array<number>
740
+ reset(): void
741
+ isReady(): boolean
742
+ warmupPeriod(): number
743
+ }
644
744
  export type MacdNode = MACD
645
745
  export declare class MACD {
646
746
  constructor(fast: number, slow: number, signal: number)
package/index.js CHANGED
@@ -310,7 +310,7 @@ if (!nativeBinding) {
310
310
  throw new Error(`Failed to load native binding`)
311
311
  }
312
312
 
313
- const { version, SMA, EMA, WMA, RSI, DEMA, TEMA, HMA, ROC, TRIX, SMMA, TRIMA, ZLEMA, MOM, CMO, DPO, StdDev, UlcerIndex, VerticalHorizontalFilter, ZScore, MACD, BollingerBands, ATR, Stochastic, OBV, ADX, ADXR, CCI, WilliamsR, MFI, PSAR, Keltner, Donchian, VWAP, RollingVWAP, AwesomeOscillator, Aroon, KAMA, RVI, PGO, KST, SMI, LaguerreRSI, ConnorsRSI, Inertia, ALMA, McGinleyDynamic, FRAMA, VIDYA, JMA, Alligator, EVWMA, APO, AwesomeOscillatorHistogram, CFO, ZeroLagMACD, ElderImpulse, STC, T3, TSI, PMO, TII, ADL, VolumePriceTrend, ChaikinMoneyFlow, ChaikinOscillator, ForceIndex, EaseOfMovement, KVO, VolumeOscillator, NVI, PVI, WilliamsAD, AnchoredVWAP, DemandIndex, TSV, VZO, MarketFacilitationIndex, SuperTrend, ChandelierExit, ChandeKrollStop, AtrTrailingStop, HiLoActivator, VoltyStop, YoyoExit, DonchianStop, PercentageTrailingStop, StepTrailingStop, RenkoTrailingStop, TypicalPrice, MedianPrice, WeightedClose, LinearRegression, LinRegSlope, AcceleratorOscillator, BalanceOfPower, ChoppinessIndex, TrueRange, ChaikinVolatility, LinRegAngle, BollingerBandwidth, PercentB, NATR, HistoricalVolatility, AroonOscillator, Vortex, RWI, WaveTrend, MassIndex, StochRSI, UltimateOscillator, PPO, Coppock, VWMA, RVIVolatility, ParkinsonVolatility, GarmanKlassVolatility, RogersSatchellVolatility, YangZhangVolatility, MaEnvelope, AccelerationBands, StarcBands, AtrBands, HurstChannel, LinRegChannel, StandardErrorBands, DoubleBollinger, TtmSqueeze, FractalChaosBands, VwapStdDevBands, ClassicPivots, FibonacciPivots, Camarilla, WoodiePivots, DemarkPivots, WilliamsFractals, ZigZag, TDSetup, TDSequential, TDDeMarker, TDREI, TDPressure, TDCombo, TDCountdown, TDLines, TDRangeProjection, TDDifferential, TDOpen, TDRiskLevel, SuperSmoother, FisherTransform, InverseFisherTransform, Decycler, DecyclerOscillator, RoofingFilter, CenterOfGravity, CyberneticCycle, InstantaneousTrendline, EhlersStochastic, EmpiricalModeDecomposition, HilbertDominantCycle, AdaptiveCycle, SineWave, MAMA, FAMA, Ichimoku, HeikinAshi, Variance, CoefficientOfVariation, Skewness, Kurtosis, StandardError, DetrendedStdDev, RSquared, MedianAbsoluteDeviation, Autocorrelation, HurstExponent, PearsonCorrelation, Beta, SpearmanCorrelation, ValueArea, InitialBalance, OpeningRange, Doji, Hammer, InvertedHammer, HangingMan, ShootingStar, Engulfing, Harami, MorningEveningStar, ThreeSoldiersOrCrows, PiercingDarkCloud, Marubozu, Tweezer, SpinningTop, ThreeInside, ThreeOutside, SharpeRatio, SortinoRatio, CalmarRatio, OmegaRatio, MaxDrawdown, AverageDrawdown, DrawdownDuration, PainIndex, ValueAtRisk, ConditionalValueAtRisk, ProfitFactor, GainLossRatio, RecoveryFactor, KellyCriterion, TreynorRatio, InformationRatio, Alpha } = nativeBinding
313
+ const { version, SMA, EMA, WMA, RSI, DEMA, TEMA, HMA, ROC, TRIX, SMMA, TRIMA, ZLEMA, MOM, CMO, DPO, StdDev, UlcerIndex, VerticalHorizontalFilter, ZScore, McGinleyDynamic, FRAMA, SuperSmoother, FisherTransform, Decycler, CenterOfGravity, CyberneticCycle, InstantaneousTrendline, EhlersStochastic, RVIVolatility, Variance, CoefficientOfVariation, Skewness, Kurtosis, StandardError, DetrendedStdDev, RSquared, MedianAbsoluteDeviation, Autocorrelation, HurstExponent, PearsonCorrelation, Beta, PairwiseBeta, SpearmanCorrelation, PairSpreadZScore, LeadLagCrossCorrelation, Cointegration, RelativeStrengthAB, MACD, BollingerBands, ATR, Stochastic, OBV, ADX, ADXR, CCI, WilliamsR, MFI, PSAR, Keltner, Donchian, VWAP, RollingVWAP, AwesomeOscillator, Aroon, Inertia, ConnorsRSI, LaguerreRSI, SMI, KST, PGO, RVI, AwesomeOscillatorHistogram, STC, ElderImpulse, ZeroLagMACD, CFO, APO, KAMA, EVWMA, Alligator, JMA, VIDYA, ALMA, T3, TSI, PMO, TII, ADL, VolumePriceTrend, ChaikinMoneyFlow, ChaikinOscillator, ForceIndex, NVI, PVI, VolumeOscillator, KVO, WilliamsAD, AnchoredVWAP, DemandIndex, TSV, VZO, MarketFacilitationIndex, EaseOfMovement, SuperTrend, ChandelierExit, ChandeKrollStop, AtrTrailingStop, HiLoActivator, VoltyStop, YoyoExit, DonchianStop, PercentageTrailingStop, StepTrailingStop, RenkoTrailingStop, TypicalPrice, MedianPrice, WeightedClose, LinearRegression, LinRegSlope, AcceleratorOscillator, BalanceOfPower, ChoppinessIndex, TrueRange, ChaikinVolatility, YangZhangVolatility, RogersSatchellVolatility, GarmanKlassVolatility, ParkinsonVolatility, LinRegAngle, BollingerBandwidth, PercentB, NATR, HistoricalVolatility, AroonOscillator, WaveTrend, RWI, Vortex, MassIndex, StochRSI, UltimateOscillator, PPO, Coppock, VWMA, MaEnvelope, AccelerationBands, StarcBands, AtrBands, HurstChannel, LinRegChannel, StandardErrorBands, DoubleBollinger, TtmSqueeze, FractalChaosBands, VwapStdDevBands, ClassicPivots, FibonacciPivots, Camarilla, WoodiePivots, DemarkPivots, WilliamsFractals, ZigZag, TDSetup, TDSequential, TDDeMarker, TDREI, TDPressure, TDCombo, TDCountdown, TDLines, TDRangeProjection, TDDifferential, TDOpen, TDRiskLevel, InverseFisherTransform, DecyclerOscillator, RoofingFilter, EmpiricalModeDecomposition, HilbertDominantCycle, AdaptiveCycle, SineWave, MAMA, FAMA, Ichimoku, HeikinAshi, ValueArea, InitialBalance, OpeningRange, Doji, Hammer, InvertedHammer, HangingMan, ShootingStar, Engulfing, Harami, MorningEveningStar, ThreeSoldiersOrCrows, PiercingDarkCloud, Marubozu, Tweezer, SpinningTop, ThreeInside, ThreeOutside, SharpeRatio, SortinoRatio, CalmarRatio, OmegaRatio, MaxDrawdown, AverageDrawdown, DrawdownDuration, PainIndex, ValueAtRisk, ConditionalValueAtRisk, ProfitFactor, GainLossRatio, RecoveryFactor, KellyCriterion, TreynorRatio, InformationRatio, Alpha } = nativeBinding
314
314
 
315
315
  module.exports.version = version
316
316
  module.exports.SMA = SMA
@@ -332,6 +332,34 @@ module.exports.StdDev = StdDev
332
332
  module.exports.UlcerIndex = UlcerIndex
333
333
  module.exports.VerticalHorizontalFilter = VerticalHorizontalFilter
334
334
  module.exports.ZScore = ZScore
335
+ module.exports.McGinleyDynamic = McGinleyDynamic
336
+ module.exports.FRAMA = FRAMA
337
+ module.exports.SuperSmoother = SuperSmoother
338
+ module.exports.FisherTransform = FisherTransform
339
+ module.exports.Decycler = Decycler
340
+ module.exports.CenterOfGravity = CenterOfGravity
341
+ module.exports.CyberneticCycle = CyberneticCycle
342
+ module.exports.InstantaneousTrendline = InstantaneousTrendline
343
+ module.exports.EhlersStochastic = EhlersStochastic
344
+ module.exports.RVIVolatility = RVIVolatility
345
+ module.exports.Variance = Variance
346
+ module.exports.CoefficientOfVariation = CoefficientOfVariation
347
+ module.exports.Skewness = Skewness
348
+ module.exports.Kurtosis = Kurtosis
349
+ module.exports.StandardError = StandardError
350
+ module.exports.DetrendedStdDev = DetrendedStdDev
351
+ module.exports.RSquared = RSquared
352
+ module.exports.MedianAbsoluteDeviation = MedianAbsoluteDeviation
353
+ module.exports.Autocorrelation = Autocorrelation
354
+ module.exports.HurstExponent = HurstExponent
355
+ module.exports.PearsonCorrelation = PearsonCorrelation
356
+ module.exports.Beta = Beta
357
+ module.exports.PairwiseBeta = PairwiseBeta
358
+ module.exports.SpearmanCorrelation = SpearmanCorrelation
359
+ module.exports.PairSpreadZScore = PairSpreadZScore
360
+ module.exports.LeadLagCrossCorrelation = LeadLagCrossCorrelation
361
+ module.exports.Cointegration = Cointegration
362
+ module.exports.RelativeStrengthAB = RelativeStrengthAB
335
363
  module.exports.MACD = MACD
336
364
  module.exports.BollingerBands = BollingerBands
337
365
  module.exports.ATR = ATR
@@ -349,27 +377,25 @@ module.exports.VWAP = VWAP
349
377
  module.exports.RollingVWAP = RollingVWAP
350
378
  module.exports.AwesomeOscillator = AwesomeOscillator
351
379
  module.exports.Aroon = Aroon
352
- module.exports.KAMA = KAMA
353
- module.exports.RVI = RVI
354
- module.exports.PGO = PGO
355
- module.exports.KST = KST
356
- module.exports.SMI = SMI
357
- module.exports.LaguerreRSI = LaguerreRSI
358
- module.exports.ConnorsRSI = ConnorsRSI
359
380
  module.exports.Inertia = Inertia
360
- module.exports.ALMA = ALMA
361
- module.exports.McGinleyDynamic = McGinleyDynamic
362
- module.exports.FRAMA = FRAMA
363
- module.exports.VIDYA = VIDYA
364
- module.exports.JMA = JMA
365
- module.exports.Alligator = Alligator
366
- module.exports.EVWMA = EVWMA
367
- module.exports.APO = APO
381
+ module.exports.ConnorsRSI = ConnorsRSI
382
+ module.exports.LaguerreRSI = LaguerreRSI
383
+ module.exports.SMI = SMI
384
+ module.exports.KST = KST
385
+ module.exports.PGO = PGO
386
+ module.exports.RVI = RVI
368
387
  module.exports.AwesomeOscillatorHistogram = AwesomeOscillatorHistogram
369
- module.exports.CFO = CFO
370
- module.exports.ZeroLagMACD = ZeroLagMACD
371
- module.exports.ElderImpulse = ElderImpulse
372
388
  module.exports.STC = STC
389
+ module.exports.ElderImpulse = ElderImpulse
390
+ module.exports.ZeroLagMACD = ZeroLagMACD
391
+ module.exports.CFO = CFO
392
+ module.exports.APO = APO
393
+ module.exports.KAMA = KAMA
394
+ module.exports.EVWMA = EVWMA
395
+ module.exports.Alligator = Alligator
396
+ module.exports.JMA = JMA
397
+ module.exports.VIDYA = VIDYA
398
+ module.exports.ALMA = ALMA
373
399
  module.exports.T3 = T3
374
400
  module.exports.TSI = TSI
375
401
  module.exports.PMO = PMO
@@ -379,17 +405,17 @@ module.exports.VolumePriceTrend = VolumePriceTrend
379
405
  module.exports.ChaikinMoneyFlow = ChaikinMoneyFlow
380
406
  module.exports.ChaikinOscillator = ChaikinOscillator
381
407
  module.exports.ForceIndex = ForceIndex
382
- module.exports.EaseOfMovement = EaseOfMovement
383
- module.exports.KVO = KVO
384
- module.exports.VolumeOscillator = VolumeOscillator
385
408
  module.exports.NVI = NVI
386
409
  module.exports.PVI = PVI
410
+ module.exports.VolumeOscillator = VolumeOscillator
411
+ module.exports.KVO = KVO
387
412
  module.exports.WilliamsAD = WilliamsAD
388
413
  module.exports.AnchoredVWAP = AnchoredVWAP
389
414
  module.exports.DemandIndex = DemandIndex
390
415
  module.exports.TSV = TSV
391
416
  module.exports.VZO = VZO
392
417
  module.exports.MarketFacilitationIndex = MarketFacilitationIndex
418
+ module.exports.EaseOfMovement = EaseOfMovement
393
419
  module.exports.SuperTrend = SuperTrend
394
420
  module.exports.ChandelierExit = ChandelierExit
395
421
  module.exports.ChandeKrollStop = ChandeKrollStop
@@ -411,26 +437,25 @@ module.exports.BalanceOfPower = BalanceOfPower
411
437
  module.exports.ChoppinessIndex = ChoppinessIndex
412
438
  module.exports.TrueRange = TrueRange
413
439
  module.exports.ChaikinVolatility = ChaikinVolatility
440
+ module.exports.YangZhangVolatility = YangZhangVolatility
441
+ module.exports.RogersSatchellVolatility = RogersSatchellVolatility
442
+ module.exports.GarmanKlassVolatility = GarmanKlassVolatility
443
+ module.exports.ParkinsonVolatility = ParkinsonVolatility
414
444
  module.exports.LinRegAngle = LinRegAngle
415
445
  module.exports.BollingerBandwidth = BollingerBandwidth
416
446
  module.exports.PercentB = PercentB
417
447
  module.exports.NATR = NATR
418
448
  module.exports.HistoricalVolatility = HistoricalVolatility
419
449
  module.exports.AroonOscillator = AroonOscillator
420
- module.exports.Vortex = Vortex
421
- module.exports.RWI = RWI
422
450
  module.exports.WaveTrend = WaveTrend
451
+ module.exports.RWI = RWI
452
+ module.exports.Vortex = Vortex
423
453
  module.exports.MassIndex = MassIndex
424
454
  module.exports.StochRSI = StochRSI
425
455
  module.exports.UltimateOscillator = UltimateOscillator
426
456
  module.exports.PPO = PPO
427
457
  module.exports.Coppock = Coppock
428
458
  module.exports.VWMA = VWMA
429
- module.exports.RVIVolatility = RVIVolatility
430
- module.exports.ParkinsonVolatility = ParkinsonVolatility
431
- module.exports.GarmanKlassVolatility = GarmanKlassVolatility
432
- module.exports.RogersSatchellVolatility = RogersSatchellVolatility
433
- module.exports.YangZhangVolatility = YangZhangVolatility
434
459
  module.exports.MaEnvelope = MaEnvelope
435
460
  module.exports.AccelerationBands = AccelerationBands
436
461
  module.exports.StarcBands = StarcBands
@@ -461,16 +486,9 @@ module.exports.TDRangeProjection = TDRangeProjection
461
486
  module.exports.TDDifferential = TDDifferential
462
487
  module.exports.TDOpen = TDOpen
463
488
  module.exports.TDRiskLevel = TDRiskLevel
464
- module.exports.SuperSmoother = SuperSmoother
465
- module.exports.FisherTransform = FisherTransform
466
489
  module.exports.InverseFisherTransform = InverseFisherTransform
467
- module.exports.Decycler = Decycler
468
490
  module.exports.DecyclerOscillator = DecyclerOscillator
469
491
  module.exports.RoofingFilter = RoofingFilter
470
- module.exports.CenterOfGravity = CenterOfGravity
471
- module.exports.CyberneticCycle = CyberneticCycle
472
- module.exports.InstantaneousTrendline = InstantaneousTrendline
473
- module.exports.EhlersStochastic = EhlersStochastic
474
492
  module.exports.EmpiricalModeDecomposition = EmpiricalModeDecomposition
475
493
  module.exports.HilbertDominantCycle = HilbertDominantCycle
476
494
  module.exports.AdaptiveCycle = AdaptiveCycle
@@ -479,19 +497,6 @@ module.exports.MAMA = MAMA
479
497
  module.exports.FAMA = FAMA
480
498
  module.exports.Ichimoku = Ichimoku
481
499
  module.exports.HeikinAshi = HeikinAshi
482
- module.exports.Variance = Variance
483
- module.exports.CoefficientOfVariation = CoefficientOfVariation
484
- module.exports.Skewness = Skewness
485
- module.exports.Kurtosis = Kurtosis
486
- module.exports.StandardError = StandardError
487
- module.exports.DetrendedStdDev = DetrendedStdDev
488
- module.exports.RSquared = RSquared
489
- module.exports.MedianAbsoluteDeviation = MedianAbsoluteDeviation
490
- module.exports.Autocorrelation = Autocorrelation
491
- module.exports.HurstExponent = HurstExponent
492
- module.exports.PearsonCorrelation = PearsonCorrelation
493
- module.exports.Beta = Beta
494
- module.exports.SpearmanCorrelation = SpearmanCorrelation
495
500
  module.exports.ValueArea = ValueArea
496
501
  module.exports.InitialBalance = InitialBalance
497
502
  module.exports.OpeningRange = OpeningRange
@@ -510,7 +515,6 @@ module.exports.Tweezer = Tweezer
510
515
  module.exports.SpinningTop = SpinningTop
511
516
  module.exports.ThreeInside = ThreeInside
512
517
  module.exports.ThreeOutside = ThreeOutside
513
- // Family 15: Risk / Performance metrics
514
518
  module.exports.SharpeRatio = SharpeRatio
515
519
  module.exports.SortinoRatio = SortinoRatio
516
520
  module.exports.CalmarRatio = CalmarRatio
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wickra-darwin-arm64",
3
- "version": "0.4.0",
3
+ "version": "0.4.1",
4
4
  "description": "Native binding for wickra (macOS Apple Silicon). Installed automatically as an optional dependency of wickra on matching platforms.",
5
5
  "main": "wickra.darwin-arm64.node",
6
6
  "files": [
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wickra-darwin-x64",
3
- "version": "0.4.0",
3
+ "version": "0.4.1",
4
4
  "description": "Native binding for wickra (macOS Intel). Installed automatically as an optional dependency of wickra on matching platforms.",
5
5
  "main": "wickra.darwin-x64.node",
6
6
  "files": [
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wickra-linux-arm64-gnu",
3
- "version": "0.4.0",
3
+ "version": "0.4.1",
4
4
  "description": "Native binding for wickra (linux arm64 GNU). Installed automatically as an optional dependency of wickra on matching platforms.",
5
5
  "main": "wickra.linux-arm64-gnu.node",
6
6
  "files": [
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wickra-linux-x64-gnu",
3
- "version": "0.4.0",
3
+ "version": "0.4.1",
4
4
  "description": "Native binding for wickra (linux x64 GNU). Installed automatically as an optional dependency of wickra on matching platforms.",
5
5
  "main": "wickra.linux-x64-gnu.node",
6
6
  "files": [
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wickra-win32-arm64-msvc",
3
- "version": "0.4.0",
3
+ "version": "0.4.1",
4
4
  "description": "Native binding for wickra (Windows arm64 MSVC). Installed automatically as an optional dependency of wickra on matching platforms.",
5
5
  "main": "wickra.win32-arm64-msvc.node",
6
6
  "files": [
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wickra-win32-x64-msvc",
3
- "version": "0.4.0",
3
+ "version": "0.4.1",
4
4
  "description": "Native binding for wickra (Windows x64 MSVC). Installed automatically as an optional dependency of wickra on matching platforms.",
5
5
  "main": "wickra.win32-x64-msvc.node",
6
6
  "files": [
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wickra",
3
- "version": "0.4.0",
3
+ "version": "0.4.1",
4
4
  "description": "Streaming-first technical indicators: incremental, fast, install-free. Node bindings powered by Rust.",
5
5
  "author": "kingchenc <support@wickra.org>",
6
6
  "main": "index.js",
@@ -47,12 +47,12 @@
47
47
  "node": ">= 18"
48
48
  },
49
49
  "optionalDependencies": {
50
- "wickra-linux-x64-gnu": "0.4.0",
51
- "wickra-linux-arm64-gnu": "0.4.0",
52
- "wickra-darwin-x64": "0.4.0",
53
- "wickra-darwin-arm64": "0.4.0",
54
- "wickra-win32-x64-msvc": "0.4.0",
55
- "wickra-win32-arm64-msvc": "0.4.0"
50
+ "wickra-linux-x64-gnu": "0.4.1",
51
+ "wickra-linux-arm64-gnu": "0.4.1",
52
+ "wickra-darwin-x64": "0.4.1",
53
+ "wickra-darwin-arm64": "0.4.1",
54
+ "wickra-win32-x64-msvc": "0.4.1",
55
+ "wickra-win32-arm64-msvc": "0.4.1"
56
56
  },
57
57
  "scripts": {
58
58
  "build": "napi build --platform --release",
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file