wickra-wasm 0.4.2 → 0.4.3
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 +5 -5
- package/package.json +1 -1
- package/wickra_wasm.d.ts +50 -0
- package/wickra_wasm.js +1 -1
- package/wickra_wasm_bg.js +371 -0
- package/wickra_wasm_bg.wasm +0 -0
package/README.md
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<p align="center">
|
|
2
|
-
<a href="https://wickra.org"><img src="https://raw.githubusercontent.com/wickra-lib/.github/main/profile/wickra-banner.webp?v=
|
|
2
|
+
<a href="https://wickra.org"><img src="https://raw.githubusercontent.com/wickra-lib/.github/main/profile/wickra-banner.webp?v=232" alt="Wickra — streaming-first technical indicators" width="100%"></a>
|
|
3
3
|
</p>
|
|
4
4
|
|
|
5
5
|
[](https://github.com/wickra-lib/wickra/actions/workflows/ci.yml)
|
|
@@ -47,7 +47,7 @@ Full documentation lives at **[docs.wickra.org](https://docs.wickra.org)**:
|
|
|
47
47
|
[Node](https://docs.wickra.org/Quickstart-Node),
|
|
48
48
|
[WASM](https://docs.wickra.org/Quickstart-WASM).
|
|
49
49
|
- **Indicators** — a per-indicator deep dive (formula, parameters, warmup) for
|
|
50
|
-
every one of the
|
|
50
|
+
every one of the 232 indicators; start at the
|
|
51
51
|
[indicators overview](https://docs.wickra.org/Indicators-Overview).
|
|
52
52
|
- **Reference** — [warmup periods](https://docs.wickra.org/Warmup-Periods),
|
|
53
53
|
[streaming vs batch](https://docs.wickra.org/Streaming-vs-Batch),
|
|
@@ -135,7 +135,7 @@ python -m benchmarks.compare_libraries
|
|
|
135
135
|
|
|
136
136
|
## Indicators
|
|
137
137
|
|
|
138
|
-
|
|
138
|
+
232 streaming-first indicators across seventeen families. Every one passes the
|
|
139
139
|
`batch == streaming` equivalence test, reference-value tests, and reset
|
|
140
140
|
semantics tests. Each has a per-indicator deep dive (formula, parameters,
|
|
141
141
|
warmup) at [docs.wickra.org](https://docs.wickra.org/Indicators-Overview).
|
|
@@ -156,7 +156,7 @@ warmup) at [docs.wickra.org](https://docs.wickra.org/Indicators-Overview).
|
|
|
156
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 |
|
|
157
157
|
| Ichimoku & Charts | Ichimoku Kinko Hyo (Tenkan, Kijun, Senkou A/B, Chikou), Heikin-Ashi |
|
|
158
158
|
| Candlestick Patterns | Doji, Hammer, Inverted Hammer, Hanging Man, Shooting Star, Engulfing, Harami, Morning/Evening Star, Three White Soldiers/Black Crows, Piercing Line/Dark Cloud Cover, Marubozu, Tweezer, Spinning Top, Three Inside Up/Down, Three Outside Up/Down |
|
|
159
|
-
| Microstructure | Order-Book Imbalance (Top-1 / Top-N / Full), Microprice, Quoted Spread, Signed Volume, Cumulative Volume Delta, Trade Imbalance |
|
|
159
|
+
| Microstructure | Order-Book Imbalance (Top-1 / Top-N / Full), Microprice, Quoted Spread, Depth Slope, Signed Volume, Cumulative Volume Delta, Trade Imbalance, Effective Spread, Realized Spread, Kyle's Lambda, Footprint |
|
|
160
160
|
| Market Profile | Value Area (POC / VAH / VAL), Initial Balance, Opening Range |
|
|
161
161
|
| Risk / Performance | Sharpe Ratio, Sortino Ratio, Calmar Ratio, Omega Ratio, Max Drawdown, Average Drawdown, Drawdown Duration, Pain Index, Value at Risk, Conditional Value at Risk (CVaR), Profit Factor, Gain/Loss Ratio, Recovery Factor, Kelly Criterion, Treynor Ratio, Information Ratio, Alpha (Jensen) |
|
|
162
162
|
|
|
@@ -237,7 +237,7 @@ A Python live-trading example using the public `websockets` package lives at
|
|
|
237
237
|
```
|
|
238
238
|
wickra/
|
|
239
239
|
├── crates/
|
|
240
|
-
│ ├── wickra-core/ core engine + all
|
|
240
|
+
│ ├── wickra-core/ core engine + all 232 indicators
|
|
241
241
|
│ ├── wickra/ top-level facade crate (publishes on crates.io) + benches/
|
|
242
242
|
│ └── wickra-data/ CSV reader, tick aggregator, live exchange feeds
|
|
243
243
|
├── bindings/
|
package/package.json
CHANGED
package/wickra_wasm.d.ts
CHANGED
|
@@ -568,6 +568,16 @@ export class DemarkPivots {
|
|
|
568
568
|
warmupPeriod(): number;
|
|
569
569
|
}
|
|
570
570
|
|
|
571
|
+
export class DepthSlope {
|
|
572
|
+
free(): void;
|
|
573
|
+
[Symbol.dispose](): void;
|
|
574
|
+
isReady(): boolean;
|
|
575
|
+
constructor();
|
|
576
|
+
reset(): void;
|
|
577
|
+
update(bid_px: Float64Array, bid_sz: Float64Array, ask_px: Float64Array, ask_sz: Float64Array): number | undefined;
|
|
578
|
+
warmupPeriod(): number;
|
|
579
|
+
}
|
|
580
|
+
|
|
571
581
|
export class DetrendedStdDev {
|
|
572
582
|
free(): void;
|
|
573
583
|
[Symbol.dispose](): void;
|
|
@@ -676,6 +686,16 @@ export class EaseOfMovement {
|
|
|
676
686
|
update(high: number, low: number, volume: number): number | undefined;
|
|
677
687
|
}
|
|
678
688
|
|
|
689
|
+
export class EffectiveSpread {
|
|
690
|
+
free(): void;
|
|
691
|
+
[Symbol.dispose](): void;
|
|
692
|
+
isReady(): boolean;
|
|
693
|
+
constructor();
|
|
694
|
+
reset(): void;
|
|
695
|
+
update(price: number, size: number, is_buy: boolean, mid: number): number | undefined;
|
|
696
|
+
warmupPeriod(): number;
|
|
697
|
+
}
|
|
698
|
+
|
|
679
699
|
export class EhlersStochastic {
|
|
680
700
|
free(): void;
|
|
681
701
|
[Symbol.dispose](): void;
|
|
@@ -764,6 +784,16 @@ export class FisherTransform {
|
|
|
764
784
|
warmupPeriod(): number;
|
|
765
785
|
}
|
|
766
786
|
|
|
787
|
+
export class Footprint {
|
|
788
|
+
free(): void;
|
|
789
|
+
[Symbol.dispose](): void;
|
|
790
|
+
isReady(): boolean;
|
|
791
|
+
constructor(tick_size: number);
|
|
792
|
+
reset(): void;
|
|
793
|
+
update(price: number, size: number, is_buy: boolean): any;
|
|
794
|
+
warmupPeriod(): number;
|
|
795
|
+
}
|
|
796
|
+
|
|
767
797
|
export class ForceIndex {
|
|
768
798
|
free(): void;
|
|
769
799
|
[Symbol.dispose](): void;
|
|
@@ -1093,6 +1123,16 @@ export class Kurtosis {
|
|
|
1093
1123
|
warmupPeriod(): number;
|
|
1094
1124
|
}
|
|
1095
1125
|
|
|
1126
|
+
export class KylesLambda {
|
|
1127
|
+
free(): void;
|
|
1128
|
+
[Symbol.dispose](): void;
|
|
1129
|
+
isReady(): boolean;
|
|
1130
|
+
constructor(window: number);
|
|
1131
|
+
reset(): void;
|
|
1132
|
+
update(price: number, size: number, is_buy: boolean, mid: number): number | undefined;
|
|
1133
|
+
warmupPeriod(): number;
|
|
1134
|
+
}
|
|
1135
|
+
|
|
1096
1136
|
export class LaguerreRSI {
|
|
1097
1137
|
free(): void;
|
|
1098
1138
|
[Symbol.dispose](): void;
|
|
@@ -1647,6 +1687,16 @@ export class RWI {
|
|
|
1647
1687
|
update(high: number, low: number, close: number): any;
|
|
1648
1688
|
}
|
|
1649
1689
|
|
|
1690
|
+
export class RealizedSpread {
|
|
1691
|
+
free(): void;
|
|
1692
|
+
[Symbol.dispose](): void;
|
|
1693
|
+
isReady(): boolean;
|
|
1694
|
+
constructor(horizon: number);
|
|
1695
|
+
reset(): void;
|
|
1696
|
+
update(price: number, size: number, is_buy: boolean, mid: number): number | undefined;
|
|
1697
|
+
warmupPeriod(): number;
|
|
1698
|
+
}
|
|
1699
|
+
|
|
1650
1700
|
export class RecoveryFactor {
|
|
1651
1701
|
free(): void;
|
|
1652
1702
|
[Symbol.dispose](): void;
|
package/wickra_wasm.js
CHANGED
|
@@ -5,5 +5,5 @@ import { __wbg_set_wasm } from "./wickra_wasm_bg.js";
|
|
|
5
5
|
__wbg_set_wasm(wasm);
|
|
6
6
|
|
|
7
7
|
export {
|
|
8
|
-
ADL, ADX, ADXR, ALMA, APO, ATR, AccelerationBands, AcceleratorOscillator, AdaptiveCycle, Alligator, Alpha, AnchoredVWAP, Aroon, AroonOscillator, AtrBands, AtrTrailingStop, Autocorrelation, AverageDrawdown, AwesomeOscillator, AwesomeOscillatorHistogram, BalanceOfPower, Beta, BollingerBands, BollingerBandwidth, CCI, CFO, CMO, CalmarRatio, Camarilla, CenterOfGravity, ChaikinMoneyFlow, ChaikinOscillator, ChaikinVolatility, ChandeKrollStop, ChandelierExit, ChoppinessIndex, ClassicPivots, CoefficientOfVariation, Cointegration, ConditionalValueAtRisk, ConnorsRSI, Coppock, CumulativeVolumeDelta, CyberneticCycle, DEMA, DPO, Decycler, DecyclerOscillator, DemandIndex, DemarkPivots, DetrendedStdDev, Doji, Donchian, DonchianStop, DoubleBollinger, DrawdownDuration, EMA, EVWMA, EaseOfMovement, EhlersStochastic, ElderImpulse, EmpiricalModeDecomposition, Engulfing, FAMA, FRAMA, FibonacciPivots, FisherTransform, ForceIndex, FractalChaosBands, GainLossRatio, GarmanKlassVolatility, HMA, Hammer, HangingMan, Harami, HeikinAshi, HiLoActivator, HilbertDominantCycle, HistoricalVolatility, HurstChannel, HurstExponent, Ichimoku, Inertia, InformationRatio, InitialBalance, InstantaneousTrendline, InverseFisherTransform, InvertedHammer, JMA, KAMA, KST, KVO, KellyCriterion, Keltner, Kurtosis, LaguerreRSI, LeadLagCrossCorrelation, LinRegAngle, LinRegChannel, LinRegSlope, LinearRegression, MACD, MAMA, MFI, MOM, MaEnvelope, MarketFacilitationIndex, Marubozu, MassIndex, MaxDrawdown, McGinleyDynamic, MedianAbsoluteDeviation, MedianPrice, Microprice, MorningEveningStar, NATR, NVI, OBV, OmegaRatio, OpeningRange, OrderBookImbalanceFull, OrderBookImbalanceTop1, OrderBookImbalanceTopN, PGO, PMO, PPO, PSAR, PVI, PainIndex, PairSpreadZScore, PairwiseBeta, ParkinsonVolatility, PearsonCorrelation, PercentB, PercentageTrailingStop, PiercingDarkCloud, ProfitFactor, QuotedSpread, ROC, RSI, RSquared, RVI, RVIVolatility, RWI, RecoveryFactor, RelativeStrengthAB, RenkoTrailingStop, RogersSatchellVolatility, RollingVWAP, RoofingFilter, SMA, SMI, SMMA, STC, SharpeRatio, ShootingStar, SignedVolume, SineWave, Skewness, SortinoRatio, SpearmanCorrelation, SpinningTop, StandardError, StandardErrorBands, StarcBands, StdDev, StepTrailingStop, StochRSI, Stochastic, SuperSmoother, SuperTrend, T3, TDCombo, TDCountdown, TDDeMarker, TDDifferential, TDLines, TDOpen, TDPressure, TDREI, TDRangeProjection, TDRiskLevel, TDSequential, TDSetup, TEMA, TII, TRIMA, TRIX, TSI, TSV, ThreeInside, ThreeOutside, ThreeSoldiersOrCrows, TradeImbalance, TreynorRatio, TrueRange, TtmSqueeze, Tweezer, TypicalPrice, UlcerIndex, UltimateOscillator, VIDYA, VWAP, VWMA, VZO, ValueArea, ValueAtRisk, Variance, VerticalHorizontalFilter, VoltyStop, VolumeOscillator, VolumePriceTrend, Vortex, VwapStdDevBands, WMA, WaveTrend, WeightedClose, WilliamsAD, WilliamsFractals, WilliamsR, WoodiePivots, YangZhangVolatility, YoyoExit, ZLEMA, ZScore, ZeroLagMACD, ZigZag, installPanicHook, version
|
|
8
|
+
ADL, ADX, ADXR, ALMA, APO, ATR, AccelerationBands, AcceleratorOscillator, AdaptiveCycle, Alligator, Alpha, AnchoredVWAP, Aroon, AroonOscillator, AtrBands, AtrTrailingStop, Autocorrelation, AverageDrawdown, AwesomeOscillator, AwesomeOscillatorHistogram, BalanceOfPower, Beta, BollingerBands, BollingerBandwidth, CCI, CFO, CMO, CalmarRatio, Camarilla, CenterOfGravity, ChaikinMoneyFlow, ChaikinOscillator, ChaikinVolatility, ChandeKrollStop, ChandelierExit, ChoppinessIndex, ClassicPivots, CoefficientOfVariation, Cointegration, ConditionalValueAtRisk, ConnorsRSI, Coppock, CumulativeVolumeDelta, CyberneticCycle, DEMA, DPO, Decycler, DecyclerOscillator, DemandIndex, DemarkPivots, DepthSlope, DetrendedStdDev, Doji, Donchian, DonchianStop, DoubleBollinger, DrawdownDuration, EMA, EVWMA, EaseOfMovement, EffectiveSpread, EhlersStochastic, ElderImpulse, EmpiricalModeDecomposition, Engulfing, FAMA, FRAMA, FibonacciPivots, FisherTransform, Footprint, ForceIndex, FractalChaosBands, GainLossRatio, GarmanKlassVolatility, HMA, Hammer, HangingMan, Harami, HeikinAshi, HiLoActivator, HilbertDominantCycle, HistoricalVolatility, HurstChannel, HurstExponent, Ichimoku, Inertia, InformationRatio, InitialBalance, InstantaneousTrendline, InverseFisherTransform, InvertedHammer, JMA, KAMA, KST, KVO, KellyCriterion, Keltner, Kurtosis, KylesLambda, LaguerreRSI, LeadLagCrossCorrelation, LinRegAngle, LinRegChannel, LinRegSlope, LinearRegression, MACD, MAMA, MFI, MOM, MaEnvelope, MarketFacilitationIndex, Marubozu, MassIndex, MaxDrawdown, McGinleyDynamic, MedianAbsoluteDeviation, MedianPrice, Microprice, MorningEveningStar, NATR, NVI, OBV, OmegaRatio, OpeningRange, OrderBookImbalanceFull, OrderBookImbalanceTop1, OrderBookImbalanceTopN, PGO, PMO, PPO, PSAR, PVI, PainIndex, PairSpreadZScore, PairwiseBeta, ParkinsonVolatility, PearsonCorrelation, PercentB, PercentageTrailingStop, PiercingDarkCloud, ProfitFactor, QuotedSpread, ROC, RSI, RSquared, RVI, RVIVolatility, RWI, RealizedSpread, RecoveryFactor, RelativeStrengthAB, RenkoTrailingStop, RogersSatchellVolatility, RollingVWAP, RoofingFilter, SMA, SMI, SMMA, STC, SharpeRatio, ShootingStar, SignedVolume, SineWave, Skewness, SortinoRatio, SpearmanCorrelation, SpinningTop, StandardError, StandardErrorBands, StarcBands, StdDev, StepTrailingStop, StochRSI, Stochastic, SuperSmoother, SuperTrend, T3, TDCombo, TDCountdown, TDDeMarker, TDDifferential, TDLines, TDOpen, TDPressure, TDREI, TDRangeProjection, TDRiskLevel, TDSequential, TDSetup, TEMA, TII, TRIMA, TRIX, TSI, TSV, ThreeInside, ThreeOutside, ThreeSoldiersOrCrows, TradeImbalance, TreynorRatio, TrueRange, TtmSqueeze, Tweezer, TypicalPrice, UlcerIndex, UltimateOscillator, VIDYA, VWAP, VWMA, VZO, ValueArea, ValueAtRisk, Variance, VerticalHorizontalFilter, VoltyStop, VolumeOscillator, VolumePriceTrend, Vortex, VwapStdDevBands, WMA, WaveTrend, WeightedClose, WilliamsAD, WilliamsFractals, WilliamsR, WoodiePivots, YangZhangVolatility, YoyoExit, ZLEMA, ZScore, ZeroLagMACD, ZigZag, installPanicHook, version
|
|
9
9
|
} from "./wickra_wasm_bg.js";
|
package/wickra_wasm_bg.js
CHANGED
|
@@ -4167,6 +4167,74 @@ export class DemarkPivots {
|
|
|
4167
4167
|
}
|
|
4168
4168
|
if (Symbol.dispose) DemarkPivots.prototype[Symbol.dispose] = DemarkPivots.prototype.free;
|
|
4169
4169
|
|
|
4170
|
+
export class DepthSlope {
|
|
4171
|
+
__destroy_into_raw() {
|
|
4172
|
+
const ptr = this.__wbg_ptr;
|
|
4173
|
+
this.__wbg_ptr = 0;
|
|
4174
|
+
DepthSlopeFinalization.unregister(this);
|
|
4175
|
+
return ptr;
|
|
4176
|
+
}
|
|
4177
|
+
free() {
|
|
4178
|
+
const ptr = this.__destroy_into_raw();
|
|
4179
|
+
wasm.__wbg_depthslope_free(ptr, 0);
|
|
4180
|
+
}
|
|
4181
|
+
/**
|
|
4182
|
+
* @returns {boolean}
|
|
4183
|
+
*/
|
|
4184
|
+
isReady() {
|
|
4185
|
+
const ret = wasm.depthslope_isReady(this.__wbg_ptr);
|
|
4186
|
+
return ret !== 0;
|
|
4187
|
+
}
|
|
4188
|
+
constructor() {
|
|
4189
|
+
const ret = wasm.depthslope_new();
|
|
4190
|
+
this.__wbg_ptr = ret;
|
|
4191
|
+
DepthSlopeFinalization.register(this, this.__wbg_ptr, this);
|
|
4192
|
+
return this;
|
|
4193
|
+
}
|
|
4194
|
+
reset() {
|
|
4195
|
+
wasm.depthslope_reset(this.__wbg_ptr);
|
|
4196
|
+
}
|
|
4197
|
+
/**
|
|
4198
|
+
* @param {Float64Array} bid_px
|
|
4199
|
+
* @param {Float64Array} bid_sz
|
|
4200
|
+
* @param {Float64Array} ask_px
|
|
4201
|
+
* @param {Float64Array} ask_sz
|
|
4202
|
+
* @returns {number | undefined}
|
|
4203
|
+
*/
|
|
4204
|
+
update(bid_px, bid_sz, ask_px, ask_sz) {
|
|
4205
|
+
try {
|
|
4206
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-32);
|
|
4207
|
+
const ptr0 = passArrayF64ToWasm0(bid_px, wasm.__wbindgen_export3);
|
|
4208
|
+
const len0 = WASM_VECTOR_LEN;
|
|
4209
|
+
const ptr1 = passArrayF64ToWasm0(bid_sz, wasm.__wbindgen_export3);
|
|
4210
|
+
const len1 = WASM_VECTOR_LEN;
|
|
4211
|
+
const ptr2 = passArrayF64ToWasm0(ask_px, wasm.__wbindgen_export3);
|
|
4212
|
+
const len2 = WASM_VECTOR_LEN;
|
|
4213
|
+
const ptr3 = passArrayF64ToWasm0(ask_sz, wasm.__wbindgen_export3);
|
|
4214
|
+
const len3 = WASM_VECTOR_LEN;
|
|
4215
|
+
wasm.depthslope_update(retptr, this.__wbg_ptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3);
|
|
4216
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
4217
|
+
var r2 = getDataViewMemory0().getFloat64(retptr + 8 * 1, true);
|
|
4218
|
+
var r4 = getDataViewMemory0().getInt32(retptr + 4 * 4, true);
|
|
4219
|
+
var r5 = getDataViewMemory0().getInt32(retptr + 4 * 5, true);
|
|
4220
|
+
if (r5) {
|
|
4221
|
+
throw takeObject(r4);
|
|
4222
|
+
}
|
|
4223
|
+
return r0 === 0 ? undefined : r2;
|
|
4224
|
+
} finally {
|
|
4225
|
+
wasm.__wbindgen_add_to_stack_pointer(32);
|
|
4226
|
+
}
|
|
4227
|
+
}
|
|
4228
|
+
/**
|
|
4229
|
+
* @returns {number}
|
|
4230
|
+
*/
|
|
4231
|
+
warmupPeriod() {
|
|
4232
|
+
const ret = wasm.depthslope_warmupPeriod(this.__wbg_ptr);
|
|
4233
|
+
return ret >>> 0;
|
|
4234
|
+
}
|
|
4235
|
+
}
|
|
4236
|
+
if (Symbol.dispose) DepthSlope.prototype[Symbol.dispose] = DepthSlope.prototype.free;
|
|
4237
|
+
|
|
4170
4238
|
export class DetrendedStdDev {
|
|
4171
4239
|
__destroy_into_raw() {
|
|
4172
4240
|
const ptr = this.__wbg_ptr;
|
|
@@ -4908,6 +4976,66 @@ export class EaseOfMovement {
|
|
|
4908
4976
|
}
|
|
4909
4977
|
if (Symbol.dispose) EaseOfMovement.prototype[Symbol.dispose] = EaseOfMovement.prototype.free;
|
|
4910
4978
|
|
|
4979
|
+
export class EffectiveSpread {
|
|
4980
|
+
__destroy_into_raw() {
|
|
4981
|
+
const ptr = this.__wbg_ptr;
|
|
4982
|
+
this.__wbg_ptr = 0;
|
|
4983
|
+
EffectiveSpreadFinalization.unregister(this);
|
|
4984
|
+
return ptr;
|
|
4985
|
+
}
|
|
4986
|
+
free() {
|
|
4987
|
+
const ptr = this.__destroy_into_raw();
|
|
4988
|
+
wasm.__wbg_effectivespread_free(ptr, 0);
|
|
4989
|
+
}
|
|
4990
|
+
/**
|
|
4991
|
+
* @returns {boolean}
|
|
4992
|
+
*/
|
|
4993
|
+
isReady() {
|
|
4994
|
+
const ret = wasm.effectivespread_isReady(this.__wbg_ptr);
|
|
4995
|
+
return ret !== 0;
|
|
4996
|
+
}
|
|
4997
|
+
constructor() {
|
|
4998
|
+
const ret = wasm.effectivespread_new();
|
|
4999
|
+
this.__wbg_ptr = ret;
|
|
5000
|
+
EffectiveSpreadFinalization.register(this, this.__wbg_ptr, this);
|
|
5001
|
+
return this;
|
|
5002
|
+
}
|
|
5003
|
+
reset() {
|
|
5004
|
+
wasm.effectivespread_reset(this.__wbg_ptr);
|
|
5005
|
+
}
|
|
5006
|
+
/**
|
|
5007
|
+
* @param {number} price
|
|
5008
|
+
* @param {number} size
|
|
5009
|
+
* @param {boolean} is_buy
|
|
5010
|
+
* @param {number} mid
|
|
5011
|
+
* @returns {number | undefined}
|
|
5012
|
+
*/
|
|
5013
|
+
update(price, size, is_buy, mid) {
|
|
5014
|
+
try {
|
|
5015
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-32);
|
|
5016
|
+
wasm.effectivespread_update(retptr, this.__wbg_ptr, price, size, is_buy, mid);
|
|
5017
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
5018
|
+
var r2 = getDataViewMemory0().getFloat64(retptr + 8 * 1, true);
|
|
5019
|
+
var r4 = getDataViewMemory0().getInt32(retptr + 4 * 4, true);
|
|
5020
|
+
var r5 = getDataViewMemory0().getInt32(retptr + 4 * 5, true);
|
|
5021
|
+
if (r5) {
|
|
5022
|
+
throw takeObject(r4);
|
|
5023
|
+
}
|
|
5024
|
+
return r0 === 0 ? undefined : r2;
|
|
5025
|
+
} finally {
|
|
5026
|
+
wasm.__wbindgen_add_to_stack_pointer(32);
|
|
5027
|
+
}
|
|
5028
|
+
}
|
|
5029
|
+
/**
|
|
5030
|
+
* @returns {number}
|
|
5031
|
+
*/
|
|
5032
|
+
warmupPeriod() {
|
|
5033
|
+
const ret = wasm.effectivespread_warmupPeriod(this.__wbg_ptr);
|
|
5034
|
+
return ret >>> 0;
|
|
5035
|
+
}
|
|
5036
|
+
}
|
|
5037
|
+
if (Symbol.dispose) EffectiveSpread.prototype[Symbol.dispose] = EffectiveSpread.prototype.free;
|
|
5038
|
+
|
|
4911
5039
|
export class EhlersStochastic {
|
|
4912
5040
|
__destroy_into_raw() {
|
|
4913
5041
|
const ptr = this.__wbg_ptr;
|
|
@@ -5544,6 +5672,78 @@ export class FisherTransform {
|
|
|
5544
5672
|
}
|
|
5545
5673
|
if (Symbol.dispose) FisherTransform.prototype[Symbol.dispose] = FisherTransform.prototype.free;
|
|
5546
5674
|
|
|
5675
|
+
export class Footprint {
|
|
5676
|
+
__destroy_into_raw() {
|
|
5677
|
+
const ptr = this.__wbg_ptr;
|
|
5678
|
+
this.__wbg_ptr = 0;
|
|
5679
|
+
FootprintFinalization.unregister(this);
|
|
5680
|
+
return ptr;
|
|
5681
|
+
}
|
|
5682
|
+
free() {
|
|
5683
|
+
const ptr = this.__destroy_into_raw();
|
|
5684
|
+
wasm.__wbg_footprint_free(ptr, 0);
|
|
5685
|
+
}
|
|
5686
|
+
/**
|
|
5687
|
+
* @returns {boolean}
|
|
5688
|
+
*/
|
|
5689
|
+
isReady() {
|
|
5690
|
+
const ret = wasm.footprint_isReady(this.__wbg_ptr);
|
|
5691
|
+
return ret !== 0;
|
|
5692
|
+
}
|
|
5693
|
+
/**
|
|
5694
|
+
* @param {number} tick_size
|
|
5695
|
+
*/
|
|
5696
|
+
constructor(tick_size) {
|
|
5697
|
+
try {
|
|
5698
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
5699
|
+
wasm.footprint_new(retptr, tick_size);
|
|
5700
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
5701
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
5702
|
+
var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
|
|
5703
|
+
if (r2) {
|
|
5704
|
+
throw takeObject(r1);
|
|
5705
|
+
}
|
|
5706
|
+
this.__wbg_ptr = r0;
|
|
5707
|
+
FootprintFinalization.register(this, this.__wbg_ptr, this);
|
|
5708
|
+
return this;
|
|
5709
|
+
} finally {
|
|
5710
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
5711
|
+
}
|
|
5712
|
+
}
|
|
5713
|
+
reset() {
|
|
5714
|
+
wasm.footprint_reset(this.__wbg_ptr);
|
|
5715
|
+
}
|
|
5716
|
+
/**
|
|
5717
|
+
* @param {number} price
|
|
5718
|
+
* @param {number} size
|
|
5719
|
+
* @param {boolean} is_buy
|
|
5720
|
+
* @returns {any}
|
|
5721
|
+
*/
|
|
5722
|
+
update(price, size, is_buy) {
|
|
5723
|
+
try {
|
|
5724
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
5725
|
+
wasm.footprint_update(retptr, this.__wbg_ptr, price, size, is_buy);
|
|
5726
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
5727
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
5728
|
+
var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
|
|
5729
|
+
if (r2) {
|
|
5730
|
+
throw takeObject(r1);
|
|
5731
|
+
}
|
|
5732
|
+
return takeObject(r0);
|
|
5733
|
+
} finally {
|
|
5734
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
5735
|
+
}
|
|
5736
|
+
}
|
|
5737
|
+
/**
|
|
5738
|
+
* @returns {number}
|
|
5739
|
+
*/
|
|
5740
|
+
warmupPeriod() {
|
|
5741
|
+
const ret = wasm.footprint_warmupPeriod(this.__wbg_ptr);
|
|
5742
|
+
return ret >>> 0;
|
|
5743
|
+
}
|
|
5744
|
+
}
|
|
5745
|
+
if (Symbol.dispose) Footprint.prototype[Symbol.dispose] = Footprint.prototype.free;
|
|
5746
|
+
|
|
5547
5747
|
export class ForceIndex {
|
|
5548
5748
|
__destroy_into_raw() {
|
|
5549
5749
|
const ptr = this.__wbg_ptr;
|
|
@@ -7968,6 +8168,80 @@ export class Kurtosis {
|
|
|
7968
8168
|
}
|
|
7969
8169
|
if (Symbol.dispose) Kurtosis.prototype[Symbol.dispose] = Kurtosis.prototype.free;
|
|
7970
8170
|
|
|
8171
|
+
export class KylesLambda {
|
|
8172
|
+
__destroy_into_raw() {
|
|
8173
|
+
const ptr = this.__wbg_ptr;
|
|
8174
|
+
this.__wbg_ptr = 0;
|
|
8175
|
+
KylesLambdaFinalization.unregister(this);
|
|
8176
|
+
return ptr;
|
|
8177
|
+
}
|
|
8178
|
+
free() {
|
|
8179
|
+
const ptr = this.__destroy_into_raw();
|
|
8180
|
+
wasm.__wbg_kyleslambda_free(ptr, 0);
|
|
8181
|
+
}
|
|
8182
|
+
/**
|
|
8183
|
+
* @returns {boolean}
|
|
8184
|
+
*/
|
|
8185
|
+
isReady() {
|
|
8186
|
+
const ret = wasm.kyleslambda_isReady(this.__wbg_ptr);
|
|
8187
|
+
return ret !== 0;
|
|
8188
|
+
}
|
|
8189
|
+
/**
|
|
8190
|
+
* @param {number} window
|
|
8191
|
+
*/
|
|
8192
|
+
constructor(window) {
|
|
8193
|
+
try {
|
|
8194
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
8195
|
+
wasm.kyleslambda_new(retptr, window);
|
|
8196
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
8197
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
8198
|
+
var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
|
|
8199
|
+
if (r2) {
|
|
8200
|
+
throw takeObject(r1);
|
|
8201
|
+
}
|
|
8202
|
+
this.__wbg_ptr = r0;
|
|
8203
|
+
KylesLambdaFinalization.register(this, this.__wbg_ptr, this);
|
|
8204
|
+
return this;
|
|
8205
|
+
} finally {
|
|
8206
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
8207
|
+
}
|
|
8208
|
+
}
|
|
8209
|
+
reset() {
|
|
8210
|
+
wasm.kyleslambda_reset(this.__wbg_ptr);
|
|
8211
|
+
}
|
|
8212
|
+
/**
|
|
8213
|
+
* @param {number} price
|
|
8214
|
+
* @param {number} size
|
|
8215
|
+
* @param {boolean} is_buy
|
|
8216
|
+
* @param {number} mid
|
|
8217
|
+
* @returns {number | undefined}
|
|
8218
|
+
*/
|
|
8219
|
+
update(price, size, is_buy, mid) {
|
|
8220
|
+
try {
|
|
8221
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-32);
|
|
8222
|
+
wasm.kyleslambda_update(retptr, this.__wbg_ptr, price, size, is_buy, mid);
|
|
8223
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
8224
|
+
var r2 = getDataViewMemory0().getFloat64(retptr + 8 * 1, true);
|
|
8225
|
+
var r4 = getDataViewMemory0().getInt32(retptr + 4 * 4, true);
|
|
8226
|
+
var r5 = getDataViewMemory0().getInt32(retptr + 4 * 5, true);
|
|
8227
|
+
if (r5) {
|
|
8228
|
+
throw takeObject(r4);
|
|
8229
|
+
}
|
|
8230
|
+
return r0 === 0 ? undefined : r2;
|
|
8231
|
+
} finally {
|
|
8232
|
+
wasm.__wbindgen_add_to_stack_pointer(32);
|
|
8233
|
+
}
|
|
8234
|
+
}
|
|
8235
|
+
/**
|
|
8236
|
+
* @returns {number}
|
|
8237
|
+
*/
|
|
8238
|
+
warmupPeriod() {
|
|
8239
|
+
const ret = wasm.kyleslambda_warmupPeriod(this.__wbg_ptr);
|
|
8240
|
+
return ret >>> 0;
|
|
8241
|
+
}
|
|
8242
|
+
}
|
|
8243
|
+
if (Symbol.dispose) KylesLambda.prototype[Symbol.dispose] = KylesLambda.prototype.free;
|
|
8244
|
+
|
|
7971
8245
|
export class LaguerreRSI {
|
|
7972
8246
|
__destroy_into_raw() {
|
|
7973
8247
|
const ptr = this.__wbg_ptr;
|
|
@@ -11906,6 +12180,80 @@ export class RWI {
|
|
|
11906
12180
|
}
|
|
11907
12181
|
if (Symbol.dispose) RWI.prototype[Symbol.dispose] = RWI.prototype.free;
|
|
11908
12182
|
|
|
12183
|
+
export class RealizedSpread {
|
|
12184
|
+
__destroy_into_raw() {
|
|
12185
|
+
const ptr = this.__wbg_ptr;
|
|
12186
|
+
this.__wbg_ptr = 0;
|
|
12187
|
+
RealizedSpreadFinalization.unregister(this);
|
|
12188
|
+
return ptr;
|
|
12189
|
+
}
|
|
12190
|
+
free() {
|
|
12191
|
+
const ptr = this.__destroy_into_raw();
|
|
12192
|
+
wasm.__wbg_realizedspread_free(ptr, 0);
|
|
12193
|
+
}
|
|
12194
|
+
/**
|
|
12195
|
+
* @returns {boolean}
|
|
12196
|
+
*/
|
|
12197
|
+
isReady() {
|
|
12198
|
+
const ret = wasm.realizedspread_isReady(this.__wbg_ptr);
|
|
12199
|
+
return ret !== 0;
|
|
12200
|
+
}
|
|
12201
|
+
/**
|
|
12202
|
+
* @param {number} horizon
|
|
12203
|
+
*/
|
|
12204
|
+
constructor(horizon) {
|
|
12205
|
+
try {
|
|
12206
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
12207
|
+
wasm.realizedspread_new(retptr, horizon);
|
|
12208
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
12209
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
12210
|
+
var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
|
|
12211
|
+
if (r2) {
|
|
12212
|
+
throw takeObject(r1);
|
|
12213
|
+
}
|
|
12214
|
+
this.__wbg_ptr = r0;
|
|
12215
|
+
RealizedSpreadFinalization.register(this, this.__wbg_ptr, this);
|
|
12216
|
+
return this;
|
|
12217
|
+
} finally {
|
|
12218
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
12219
|
+
}
|
|
12220
|
+
}
|
|
12221
|
+
reset() {
|
|
12222
|
+
wasm.realizedspread_reset(this.__wbg_ptr);
|
|
12223
|
+
}
|
|
12224
|
+
/**
|
|
12225
|
+
* @param {number} price
|
|
12226
|
+
* @param {number} size
|
|
12227
|
+
* @param {boolean} is_buy
|
|
12228
|
+
* @param {number} mid
|
|
12229
|
+
* @returns {number | undefined}
|
|
12230
|
+
*/
|
|
12231
|
+
update(price, size, is_buy, mid) {
|
|
12232
|
+
try {
|
|
12233
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-32);
|
|
12234
|
+
wasm.realizedspread_update(retptr, this.__wbg_ptr, price, size, is_buy, mid);
|
|
12235
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
12236
|
+
var r2 = getDataViewMemory0().getFloat64(retptr + 8 * 1, true);
|
|
12237
|
+
var r4 = getDataViewMemory0().getInt32(retptr + 4 * 4, true);
|
|
12238
|
+
var r5 = getDataViewMemory0().getInt32(retptr + 4 * 5, true);
|
|
12239
|
+
if (r5) {
|
|
12240
|
+
throw takeObject(r4);
|
|
12241
|
+
}
|
|
12242
|
+
return r0 === 0 ? undefined : r2;
|
|
12243
|
+
} finally {
|
|
12244
|
+
wasm.__wbindgen_add_to_stack_pointer(32);
|
|
12245
|
+
}
|
|
12246
|
+
}
|
|
12247
|
+
/**
|
|
12248
|
+
* @returns {number}
|
|
12249
|
+
*/
|
|
12250
|
+
warmupPeriod() {
|
|
12251
|
+
const ret = wasm.realizedspread_warmupPeriod(this.__wbg_ptr);
|
|
12252
|
+
return ret >>> 0;
|
|
12253
|
+
}
|
|
12254
|
+
}
|
|
12255
|
+
if (Symbol.dispose) RealizedSpread.prototype[Symbol.dispose] = RealizedSpread.prototype.free;
|
|
12256
|
+
|
|
11909
12257
|
export class RecoveryFactor {
|
|
11910
12258
|
__destroy_into_raw() {
|
|
11911
12259
|
const ptr = this.__wbg_ptr;
|
|
@@ -19028,10 +19376,18 @@ export function __wbg_new_227d7c05414eb861() {
|
|
|
19028
19376
|
const ret = new Error();
|
|
19029
19377
|
return addHeapObject(ret);
|
|
19030
19378
|
}
|
|
19379
|
+
export function __wbg_new_310879b66b6e95e1() {
|
|
19380
|
+
const ret = new Array();
|
|
19381
|
+
return addHeapObject(ret);
|
|
19382
|
+
}
|
|
19031
19383
|
export function __wbg_new_from_slice_02962bf7778cf945(arg0, arg1) {
|
|
19032
19384
|
const ret = new Float64Array(getArrayF64FromWasm0(arg0, arg1));
|
|
19033
19385
|
return addHeapObject(ret);
|
|
19034
19386
|
}
|
|
19387
|
+
export function __wbg_push_b77c476b01548d0a(arg0, arg1) {
|
|
19388
|
+
const ret = getObject(arg0).push(getObject(arg1));
|
|
19389
|
+
return ret;
|
|
19390
|
+
}
|
|
19035
19391
|
export function __wbg_set_a0e911be3da02782() { return handleError(function (arg0, arg1, arg2) {
|
|
19036
19392
|
const ret = Reflect.set(getObject(arg0), getObject(arg1), getObject(arg2));
|
|
19037
19393
|
return ret;
|
|
@@ -19206,6 +19562,9 @@ const DemandIndexFinalization = (typeof FinalizationRegistry === 'undefined')
|
|
|
19206
19562
|
const DemarkPivotsFinalization = (typeof FinalizationRegistry === 'undefined')
|
|
19207
19563
|
? { register: () => {}, unregister: () => {} }
|
|
19208
19564
|
: new FinalizationRegistry(ptr => wasm.__wbg_demarkpivots_free(ptr, 1));
|
|
19565
|
+
const DepthSlopeFinalization = (typeof FinalizationRegistry === 'undefined')
|
|
19566
|
+
? { register: () => {}, unregister: () => {} }
|
|
19567
|
+
: new FinalizationRegistry(ptr => wasm.__wbg_depthslope_free(ptr, 1));
|
|
19209
19568
|
const DetrendedStdDevFinalization = (typeof FinalizationRegistry === 'undefined')
|
|
19210
19569
|
? { register: () => {}, unregister: () => {} }
|
|
19211
19570
|
: new FinalizationRegistry(ptr => wasm.__wbg_detrendedstddev_free(ptr, 1));
|
|
@@ -19230,6 +19589,9 @@ const DrawdownDurationFinalization = (typeof FinalizationRegistry === 'undefined
|
|
|
19230
19589
|
const EaseOfMovementFinalization = (typeof FinalizationRegistry === 'undefined')
|
|
19231
19590
|
? { register: () => {}, unregister: () => {} }
|
|
19232
19591
|
: new FinalizationRegistry(ptr => wasm.__wbg_easeofmovement_free(ptr, 1));
|
|
19592
|
+
const EffectiveSpreadFinalization = (typeof FinalizationRegistry === 'undefined')
|
|
19593
|
+
? { register: () => {}, unregister: () => {} }
|
|
19594
|
+
: new FinalizationRegistry(ptr => wasm.__wbg_effectivespread_free(ptr, 1));
|
|
19233
19595
|
const EhlersStochasticFinalization = (typeof FinalizationRegistry === 'undefined')
|
|
19234
19596
|
? { register: () => {}, unregister: () => {} }
|
|
19235
19597
|
: new FinalizationRegistry(ptr => wasm.__wbg_ehlersstochastic_free(ptr, 1));
|
|
@@ -19257,6 +19619,9 @@ const FibonacciPivotsFinalization = (typeof FinalizationRegistry === 'undefined'
|
|
|
19257
19619
|
const FisherTransformFinalization = (typeof FinalizationRegistry === 'undefined')
|
|
19258
19620
|
? { register: () => {}, unregister: () => {} }
|
|
19259
19621
|
: new FinalizationRegistry(ptr => wasm.__wbg_fishertransform_free(ptr, 1));
|
|
19622
|
+
const FootprintFinalization = (typeof FinalizationRegistry === 'undefined')
|
|
19623
|
+
? { register: () => {}, unregister: () => {} }
|
|
19624
|
+
: new FinalizationRegistry(ptr => wasm.__wbg_footprint_free(ptr, 1));
|
|
19260
19625
|
const ForceIndexFinalization = (typeof FinalizationRegistry === 'undefined')
|
|
19261
19626
|
? { register: () => {}, unregister: () => {} }
|
|
19262
19627
|
: new FinalizationRegistry(ptr => wasm.__wbg_forceindex_free(ptr, 1));
|
|
@@ -19344,6 +19709,9 @@ const KurtosisFinalization = (typeof FinalizationRegistry === 'undefined')
|
|
|
19344
19709
|
const KVOFinalization = (typeof FinalizationRegistry === 'undefined')
|
|
19345
19710
|
? { register: () => {}, unregister: () => {} }
|
|
19346
19711
|
: new FinalizationRegistry(ptr => wasm.__wbg_kvo_free(ptr, 1));
|
|
19712
|
+
const KylesLambdaFinalization = (typeof FinalizationRegistry === 'undefined')
|
|
19713
|
+
? { register: () => {}, unregister: () => {} }
|
|
19714
|
+
: new FinalizationRegistry(ptr => wasm.__wbg_kyleslambda_free(ptr, 1));
|
|
19347
19715
|
const LaguerreRSIFinalization = (typeof FinalizationRegistry === 'undefined')
|
|
19348
19716
|
? { register: () => {}, unregister: () => {} }
|
|
19349
19717
|
: new FinalizationRegistry(ptr => wasm.__wbg_laguerrersi_free(ptr, 1));
|
|
@@ -19476,6 +19844,9 @@ const QuotedSpreadFinalization = (typeof FinalizationRegistry === 'undefined')
|
|
|
19476
19844
|
const RSquaredFinalization = (typeof FinalizationRegistry === 'undefined')
|
|
19477
19845
|
? { register: () => {}, unregister: () => {} }
|
|
19478
19846
|
: new FinalizationRegistry(ptr => wasm.__wbg_rsquared_free(ptr, 1));
|
|
19847
|
+
const RealizedSpreadFinalization = (typeof FinalizationRegistry === 'undefined')
|
|
19848
|
+
? { register: () => {}, unregister: () => {} }
|
|
19849
|
+
: new FinalizationRegistry(ptr => wasm.__wbg_realizedspread_free(ptr, 1));
|
|
19479
19850
|
const RecoveryFactorFinalization = (typeof FinalizationRegistry === 'undefined')
|
|
19480
19851
|
? { register: () => {}, unregister: () => {} }
|
|
19481
19852
|
: new FinalizationRegistry(ptr => wasm.__wbg_recoveryfactor_free(ptr, 1));
|
package/wickra_wasm_bg.wasm
CHANGED
|
Binary file
|