wickra-wasm 0.4.6 → 0.5.0
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 +20 -12
- package/package.json +2 -2
- package/wickra_wasm.d.ts +306 -0
- package/wickra_wasm.js +1 -1
- package/wickra_wasm_bg.js +2157 -106
- 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=339" 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)
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
[](https://crates.io/crates/wickra)
|
|
10
10
|
[](https://pypi.org/project/wickra/)
|
|
11
11
|
[](https://www.npmjs.com/package/wickra)
|
|
12
|
-
[](#license)
|
|
13
13
|
[](https://scorecard.dev/viewer/?uri=github.com/wickra-lib/wickra)
|
|
14
14
|
[](https://github.com/wickra-lib/wickra/attestations)
|
|
15
15
|
[](https://docs.wickra.org)
|
|
@@ -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 339 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
|
+
339 streaming-first indicators across twenty 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).
|
|
@@ -150,7 +150,7 @@ warmup) at [docs.wickra.org](https://docs.wickra.org/Indicators-Overview).
|
|
|
150
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 |
|
|
151
151
|
| Trailing Stops | Parabolic SAR, Parabolic SAR Extended (SAREXT), 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 |
|
|
152
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 |
|
|
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, Mid Price, Mid Point, Average Price, Linear Regression Intercept, Time Series Forecast |
|
|
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, Mid Price, Mid Point, Average Price, Linear Regression Intercept, Time Series Forecast, Rolling Correlation, Rolling Covariance, OU Half-Life, Spread Hurst, Distance SSD, Beta-Neutral Spread, Variance Ratio, Granger Causality, Kalman Hedge Ratio, Spread Bollinger Bands |
|
|
154
154
|
| Ehlers / Cycle (DSP) | MAMA, FAMA, Fisher Transform, Inverse Fisher Transform, SuperSmoother, Hilbert Dominant Cycle, Hilbert Phasor, Hilbert DC Phase, Hilbert Trend Mode, Sine Wave, Decycler, Decycler Oscillator, Roofing Filter, Center of Gravity, Cybernetic Cycle, Adaptive Cycle, Empirical Mode Decomposition, Ehlers Stochastic, Instantaneous Trendline |
|
|
155
155
|
| Pivots & S/R | Classic Pivots, Fibonacci Pivots, Camarilla, Woodie Pivots, DeMark Pivots, Williams Fractals, ZigZag |
|
|
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 |
|
|
@@ -160,6 +160,7 @@ warmup) at [docs.wickra.org](https://docs.wickra.org/Indicators-Overview).
|
|
|
160
160
|
| 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 |
|
|
161
161
|
| Derivatives | Funding Rate, Funding Rate Mean, Funding Rate Z-Score, Funding Basis, Open-Interest Delta, OI / Price Divergence, OI-Weighted Price, Long/Short Ratio, Taker Buy/Sell Ratio, Liquidation Features, Term-Structure Basis, Calendar Spread |
|
|
162
162
|
| Market Profile | Value Area (POC / VAH / VAL), Volume Profile (histogram), TPO Profile, Initial Balance, Opening Range |
|
|
163
|
+
| Market Breadth | Advance/Decline Line, Advance/Decline Ratio, Advance/Decline Volume Line, McClellan Oscillator, McClellan Summation Index, TRIN / Arms Index, Breadth Thrust, New Highs - New Lows, High-Low Index, Percent Above Moving Average, Up/Down Volume Ratio, Bullish Percent Index, Cumulative Volume Index, Absolute Breadth Index, TICK Index |
|
|
163
164
|
| 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) |
|
|
164
165
|
|
|
165
166
|
Every candlestick pattern emits a signed per-bar value — `+1.0` bullish,
|
|
@@ -239,7 +240,7 @@ A Python live-trading example using the public `websockets` package lives at
|
|
|
239
240
|
```
|
|
240
241
|
wickra/
|
|
241
242
|
├── crates/
|
|
242
|
-
│ ├── wickra-core/ core engine + all
|
|
243
|
+
│ ├── wickra-core/ core engine + all 339 indicators
|
|
243
244
|
│ ├── wickra/ top-level facade crate (publishes on crates.io) + benches/
|
|
244
245
|
│ └── wickra-data/ CSV reader, tick aggregator, live exchange feeds
|
|
245
246
|
├── bindings/
|
|
@@ -323,13 +324,20 @@ shape together before you invest the time.
|
|
|
323
324
|
|
|
324
325
|
## License
|
|
325
326
|
|
|
326
|
-
Licensed under
|
|
327
|
+
Licensed under either of
|
|
327
328
|
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
329
|
+
- Apache License, Version 2.0 ([LICENSE-APACHE](LICENSE-APACHE) or
|
|
330
|
+
<http://www.apache.org/licenses/LICENSE-2.0>)
|
|
331
|
+
- MIT license ([LICENSE-MIT](LICENSE-MIT) or <http://opensource.org/licenses/MIT>)
|
|
332
|
+
|
|
333
|
+
at your option. Use it, fork it, modify it, redistribute it — commercially or
|
|
334
|
+
not — file issues, send pull requests; all welcome.
|
|
335
|
+
|
|
336
|
+
### Contribution
|
|
337
|
+
|
|
338
|
+
Unless you explicitly state otherwise, any contribution intentionally submitted
|
|
339
|
+
for inclusion in the work by you, as defined in the Apache-2.0 license, shall be
|
|
340
|
+
dual licensed as above, without any additional terms or conditions.
|
|
333
341
|
|
|
334
342
|
## Disclaimer
|
|
335
343
|
|
package/package.json
CHANGED
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
"kingchenc <support@wickra.org>"
|
|
6
6
|
],
|
|
7
7
|
"description": "WASM bindings for the Wickra streaming-first technical indicators library.",
|
|
8
|
-
"version": "0.
|
|
9
|
-
"license": "
|
|
8
|
+
"version": "0.5.0",
|
|
9
|
+
"license": "MIT OR Apache-2.0",
|
|
10
10
|
"repository": {
|
|
11
11
|
"type": "git",
|
|
12
12
|
"url": "https://github.com/wickra-lib/wickra"
|
package/wickra_wasm.d.ts
CHANGED
|
@@ -89,6 +89,16 @@ export class AbandonedBaby {
|
|
|
89
89
|
warmupPeriod(): number;
|
|
90
90
|
}
|
|
91
91
|
|
|
92
|
+
export class AbsoluteBreadthIndex {
|
|
93
|
+
free(): void;
|
|
94
|
+
[Symbol.dispose](): void;
|
|
95
|
+
isReady(): boolean;
|
|
96
|
+
constructor();
|
|
97
|
+
reset(): void;
|
|
98
|
+
update(change: Float64Array, volume: Float64Array, new_high: Float64Array, new_low: Float64Array): number | undefined;
|
|
99
|
+
warmupPeriod(): number;
|
|
100
|
+
}
|
|
101
|
+
|
|
92
102
|
export class AccelerationBands {
|
|
93
103
|
free(): void;
|
|
94
104
|
[Symbol.dispose](): void;
|
|
@@ -112,6 +122,16 @@ export class AcceleratorOscillator {
|
|
|
112
122
|
update(high: number, low: number): number | undefined;
|
|
113
123
|
}
|
|
114
124
|
|
|
125
|
+
export class AdVolumeLine {
|
|
126
|
+
free(): void;
|
|
127
|
+
[Symbol.dispose](): void;
|
|
128
|
+
isReady(): boolean;
|
|
129
|
+
constructor();
|
|
130
|
+
reset(): void;
|
|
131
|
+
update(change: Float64Array, volume: Float64Array, new_high: Float64Array, new_low: Float64Array): number | undefined;
|
|
132
|
+
warmupPeriod(): number;
|
|
133
|
+
}
|
|
134
|
+
|
|
115
135
|
export class AdaptiveCycle {
|
|
116
136
|
free(): void;
|
|
117
137
|
[Symbol.dispose](): void;
|
|
@@ -134,6 +154,26 @@ export class AdvanceBlock {
|
|
|
134
154
|
warmupPeriod(): number;
|
|
135
155
|
}
|
|
136
156
|
|
|
157
|
+
export class AdvanceDecline {
|
|
158
|
+
free(): void;
|
|
159
|
+
[Symbol.dispose](): void;
|
|
160
|
+
isReady(): boolean;
|
|
161
|
+
constructor();
|
|
162
|
+
reset(): void;
|
|
163
|
+
update(change: Float64Array, volume: Float64Array, new_high: Float64Array, new_low: Float64Array): number | undefined;
|
|
164
|
+
warmupPeriod(): number;
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
export class AdvanceDeclineRatio {
|
|
168
|
+
free(): void;
|
|
169
|
+
[Symbol.dispose](): void;
|
|
170
|
+
isReady(): boolean;
|
|
171
|
+
constructor();
|
|
172
|
+
reset(): void;
|
|
173
|
+
update(change: Float64Array, volume: Float64Array, new_high: Float64Array, new_low: Float64Array): number | undefined;
|
|
174
|
+
warmupPeriod(): number;
|
|
175
|
+
}
|
|
176
|
+
|
|
137
177
|
export class Alligator {
|
|
138
178
|
free(): void;
|
|
139
179
|
[Symbol.dispose](): void;
|
|
@@ -309,6 +349,21 @@ export class Beta {
|
|
|
309
349
|
warmupPeriod(): number;
|
|
310
350
|
}
|
|
311
351
|
|
|
352
|
+
export class BetaNeutralSpread {
|
|
353
|
+
free(): void;
|
|
354
|
+
[Symbol.dispose](): void;
|
|
355
|
+
/**
|
|
356
|
+
* Batch over two equally-sized arrays. Returns one `f64` per
|
|
357
|
+
* input position (`NaN` during warmup).
|
|
358
|
+
*/
|
|
359
|
+
batch(x: Float64Array, y: Float64Array): Float64Array;
|
|
360
|
+
isReady(): boolean;
|
|
361
|
+
constructor(period: number);
|
|
362
|
+
reset(): void;
|
|
363
|
+
update(x: number, y: number): number | undefined;
|
|
364
|
+
warmupPeriod(): number;
|
|
365
|
+
}
|
|
366
|
+
|
|
312
367
|
export class BollingerBands {
|
|
313
368
|
free(): void;
|
|
314
369
|
[Symbol.dispose](): void;
|
|
@@ -332,6 +387,16 @@ export class BollingerBandwidth {
|
|
|
332
387
|
warmupPeriod(): number;
|
|
333
388
|
}
|
|
334
389
|
|
|
390
|
+
export class BreadthThrust {
|
|
391
|
+
free(): void;
|
|
392
|
+
[Symbol.dispose](): void;
|
|
393
|
+
isReady(): boolean;
|
|
394
|
+
constructor(period: number);
|
|
395
|
+
reset(): void;
|
|
396
|
+
update(change: Float64Array, volume: Float64Array, new_high: Float64Array, new_low: Float64Array): number | undefined;
|
|
397
|
+
warmupPeriod(): number;
|
|
398
|
+
}
|
|
399
|
+
|
|
335
400
|
export class Breakaway {
|
|
336
401
|
free(): void;
|
|
337
402
|
[Symbol.dispose](): void;
|
|
@@ -343,6 +408,16 @@ export class Breakaway {
|
|
|
343
408
|
warmupPeriod(): number;
|
|
344
409
|
}
|
|
345
410
|
|
|
411
|
+
export class BullishPercentIndex {
|
|
412
|
+
free(): void;
|
|
413
|
+
[Symbol.dispose](): void;
|
|
414
|
+
isReady(): boolean;
|
|
415
|
+
constructor();
|
|
416
|
+
reset(): void;
|
|
417
|
+
update(change: Float64Array, volume: Float64Array, new_high: Float64Array, new_low: Float64Array, on_buy_signal: Float64Array): number | undefined;
|
|
418
|
+
warmupPeriod(): number;
|
|
419
|
+
}
|
|
420
|
+
|
|
346
421
|
export class CCI {
|
|
347
422
|
free(): void;
|
|
348
423
|
[Symbol.dispose](): void;
|
|
@@ -601,6 +676,16 @@ export class CumulativeVolumeDelta {
|
|
|
601
676
|
warmupPeriod(): number;
|
|
602
677
|
}
|
|
603
678
|
|
|
679
|
+
export class CumulativeVolumeIndex {
|
|
680
|
+
free(): void;
|
|
681
|
+
[Symbol.dispose](): void;
|
|
682
|
+
isReady(): boolean;
|
|
683
|
+
constructor();
|
|
684
|
+
reset(): void;
|
|
685
|
+
update(change: Float64Array, volume: Float64Array, new_high: Float64Array, new_low: Float64Array): number | undefined;
|
|
686
|
+
warmupPeriod(): number;
|
|
687
|
+
}
|
|
688
|
+
|
|
604
689
|
export class CyberneticCycle {
|
|
605
690
|
free(): void;
|
|
606
691
|
[Symbol.dispose](): void;
|
|
@@ -706,6 +791,21 @@ export class DetrendedStdDev {
|
|
|
706
791
|
warmupPeriod(): number;
|
|
707
792
|
}
|
|
708
793
|
|
|
794
|
+
export class DistanceSsd {
|
|
795
|
+
free(): void;
|
|
796
|
+
[Symbol.dispose](): void;
|
|
797
|
+
/**
|
|
798
|
+
* Batch over two equally-sized arrays. Returns one `f64` per
|
|
799
|
+
* input position (`NaN` during warmup).
|
|
800
|
+
*/
|
|
801
|
+
batch(x: Float64Array, y: Float64Array): Float64Array;
|
|
802
|
+
isReady(): boolean;
|
|
803
|
+
constructor(period: number);
|
|
804
|
+
reset(): void;
|
|
805
|
+
update(x: number, y: number): number | undefined;
|
|
806
|
+
warmupPeriod(): number;
|
|
807
|
+
}
|
|
808
|
+
|
|
709
809
|
export class Doji {
|
|
710
810
|
free(): void;
|
|
711
811
|
[Symbol.dispose](): void;
|
|
@@ -1062,6 +1162,21 @@ export class GarmanKlassVolatility {
|
|
|
1062
1162
|
warmupPeriod(): number;
|
|
1063
1163
|
}
|
|
1064
1164
|
|
|
1165
|
+
export class GrangerCausality {
|
|
1166
|
+
free(): void;
|
|
1167
|
+
[Symbol.dispose](): void;
|
|
1168
|
+
/**
|
|
1169
|
+
* Batch over two equally-sized arrays of prices. Returns one `f64` per
|
|
1170
|
+
* input position (`NaN` during warmup).
|
|
1171
|
+
*/
|
|
1172
|
+
batch(a: Float64Array, b: Float64Array): Float64Array;
|
|
1173
|
+
isReady(): boolean;
|
|
1174
|
+
constructor(period: number, lag: number);
|
|
1175
|
+
reset(): void;
|
|
1176
|
+
update(a: number, b: number): number | undefined;
|
|
1177
|
+
warmupPeriod(): number;
|
|
1178
|
+
}
|
|
1179
|
+
|
|
1065
1180
|
export class GravestoneDoji {
|
|
1066
1181
|
free(): void;
|
|
1067
1182
|
[Symbol.dispose](): void;
|
|
@@ -1178,6 +1293,16 @@ export class HiLoActivator {
|
|
|
1178
1293
|
update(high: number, low: number, close: number): number | undefined;
|
|
1179
1294
|
}
|
|
1180
1295
|
|
|
1296
|
+
export class HighLowIndex {
|
|
1297
|
+
free(): void;
|
|
1298
|
+
[Symbol.dispose](): void;
|
|
1299
|
+
isReady(): boolean;
|
|
1300
|
+
constructor(period: number);
|
|
1301
|
+
reset(): void;
|
|
1302
|
+
update(change: Float64Array, volume: Float64Array, new_high: Float64Array, new_low: Float64Array): number | undefined;
|
|
1303
|
+
warmupPeriod(): number;
|
|
1304
|
+
}
|
|
1305
|
+
|
|
1181
1306
|
export class HighWave {
|
|
1182
1307
|
free(): void;
|
|
1183
1308
|
[Symbol.dispose](): void;
|
|
@@ -1434,6 +1559,24 @@ export class KagiBars {
|
|
|
1434
1559
|
update(close: number): Array<any>;
|
|
1435
1560
|
}
|
|
1436
1561
|
|
|
1562
|
+
export class KalmanHedgeRatio {
|
|
1563
|
+
free(): void;
|
|
1564
|
+
[Symbol.dispose](): void;
|
|
1565
|
+
/**
|
|
1566
|
+
* Flat `Float64Array` of length `3 * n`:
|
|
1567
|
+
* `[hedgeRatio0, intercept0, spread0, hedgeRatio1, ...]`. Warmup rows are NaN.
|
|
1568
|
+
*/
|
|
1569
|
+
batch(a: Float64Array, b: Float64Array): Float64Array;
|
|
1570
|
+
isReady(): boolean;
|
|
1571
|
+
constructor(delta: number, observation_var: number);
|
|
1572
|
+
reset(): void;
|
|
1573
|
+
/**
|
|
1574
|
+
* Returns `{ hedgeRatio, intercept, spread }`, or `null` during warmup.
|
|
1575
|
+
*/
|
|
1576
|
+
update(a: number, b: number): any;
|
|
1577
|
+
warmupPeriod(): number;
|
|
1578
|
+
}
|
|
1579
|
+
|
|
1437
1580
|
export class KellyCriterion {
|
|
1438
1581
|
free(): void;
|
|
1439
1582
|
[Symbol.dispose](): void;
|
|
@@ -1831,6 +1974,26 @@ export class MaxDrawdown {
|
|
|
1831
1974
|
warmupPeriod(): number;
|
|
1832
1975
|
}
|
|
1833
1976
|
|
|
1977
|
+
export class McClellanOscillator {
|
|
1978
|
+
free(): void;
|
|
1979
|
+
[Symbol.dispose](): void;
|
|
1980
|
+
isReady(): boolean;
|
|
1981
|
+
constructor();
|
|
1982
|
+
reset(): void;
|
|
1983
|
+
update(change: Float64Array, volume: Float64Array, new_high: Float64Array, new_low: Float64Array): number | undefined;
|
|
1984
|
+
warmupPeriod(): number;
|
|
1985
|
+
}
|
|
1986
|
+
|
|
1987
|
+
export class McClellanSummationIndex {
|
|
1988
|
+
free(): void;
|
|
1989
|
+
[Symbol.dispose](): void;
|
|
1990
|
+
isReady(): boolean;
|
|
1991
|
+
constructor();
|
|
1992
|
+
reset(): void;
|
|
1993
|
+
update(change: Float64Array, volume: Float64Array, new_high: Float64Array, new_low: Float64Array): number | undefined;
|
|
1994
|
+
warmupPeriod(): number;
|
|
1995
|
+
}
|
|
1996
|
+
|
|
1834
1997
|
export class McGinleyDynamic {
|
|
1835
1998
|
free(): void;
|
|
1836
1999
|
[Symbol.dispose](): void;
|
|
@@ -1912,6 +2075,16 @@ export class NVI {
|
|
|
1912
2075
|
update(close: number, volume: number): number | undefined;
|
|
1913
2076
|
}
|
|
1914
2077
|
|
|
2078
|
+
export class NewHighsNewLows {
|
|
2079
|
+
free(): void;
|
|
2080
|
+
[Symbol.dispose](): void;
|
|
2081
|
+
isReady(): boolean;
|
|
2082
|
+
constructor();
|
|
2083
|
+
reset(): void;
|
|
2084
|
+
update(change: Float64Array, volume: Float64Array, new_high: Float64Array, new_low: Float64Array): number | undefined;
|
|
2085
|
+
warmupPeriod(): number;
|
|
2086
|
+
}
|
|
2087
|
+
|
|
1915
2088
|
export class OBV {
|
|
1916
2089
|
free(): void;
|
|
1917
2090
|
[Symbol.dispose](): void;
|
|
@@ -2031,6 +2204,21 @@ export class OrderBookImbalanceTopN {
|
|
|
2031
2204
|
warmupPeriod(): number;
|
|
2032
2205
|
}
|
|
2033
2206
|
|
|
2207
|
+
export class OuHalfLife {
|
|
2208
|
+
free(): void;
|
|
2209
|
+
[Symbol.dispose](): void;
|
|
2210
|
+
/**
|
|
2211
|
+
* Batch over two equally-sized arrays. Returns one `f64` per
|
|
2212
|
+
* input position (`NaN` during warmup).
|
|
2213
|
+
*/
|
|
2214
|
+
batch(x: Float64Array, y: Float64Array): Float64Array;
|
|
2215
|
+
isReady(): boolean;
|
|
2216
|
+
constructor(period: number);
|
|
2217
|
+
reset(): void;
|
|
2218
|
+
update(x: number, y: number): number | undefined;
|
|
2219
|
+
warmupPeriod(): number;
|
|
2220
|
+
}
|
|
2221
|
+
|
|
2034
2222
|
export class PGO {
|
|
2035
2223
|
free(): void;
|
|
2036
2224
|
[Symbol.dispose](): void;
|
|
@@ -2169,6 +2357,16 @@ export class PearsonCorrelation {
|
|
|
2169
2357
|
warmupPeriod(): number;
|
|
2170
2358
|
}
|
|
2171
2359
|
|
|
2360
|
+
export class PercentAboveMa {
|
|
2361
|
+
free(): void;
|
|
2362
|
+
[Symbol.dispose](): void;
|
|
2363
|
+
isReady(): boolean;
|
|
2364
|
+
constructor();
|
|
2365
|
+
reset(): void;
|
|
2366
|
+
update(change: Float64Array, volume: Float64Array, new_high: Float64Array, new_low: Float64Array, above_ma: Float64Array): number | undefined;
|
|
2367
|
+
warmupPeriod(): number;
|
|
2368
|
+
}
|
|
2369
|
+
|
|
2172
2370
|
export class PercentB {
|
|
2173
2371
|
free(): void;
|
|
2174
2372
|
[Symbol.dispose](): void;
|
|
@@ -2429,6 +2627,36 @@ export class RogersSatchellVolatility {
|
|
|
2429
2627
|
warmupPeriod(): number;
|
|
2430
2628
|
}
|
|
2431
2629
|
|
|
2630
|
+
export class RollingCorrelation {
|
|
2631
|
+
free(): void;
|
|
2632
|
+
[Symbol.dispose](): void;
|
|
2633
|
+
/**
|
|
2634
|
+
* Batch over two equally-sized arrays. Returns one `f64` per
|
|
2635
|
+
* input position (`NaN` during warmup).
|
|
2636
|
+
*/
|
|
2637
|
+
batch(x: Float64Array, y: Float64Array): Float64Array;
|
|
2638
|
+
isReady(): boolean;
|
|
2639
|
+
constructor(period: number);
|
|
2640
|
+
reset(): void;
|
|
2641
|
+
update(x: number, y: number): number | undefined;
|
|
2642
|
+
warmupPeriod(): number;
|
|
2643
|
+
}
|
|
2644
|
+
|
|
2645
|
+
export class RollingCovariance {
|
|
2646
|
+
free(): void;
|
|
2647
|
+
[Symbol.dispose](): void;
|
|
2648
|
+
/**
|
|
2649
|
+
* Batch over two equally-sized arrays. Returns one `f64` per
|
|
2650
|
+
* input position (`NaN` during warmup).
|
|
2651
|
+
*/
|
|
2652
|
+
batch(x: Float64Array, y: Float64Array): Float64Array;
|
|
2653
|
+
isReady(): boolean;
|
|
2654
|
+
constructor(period: number);
|
|
2655
|
+
reset(): void;
|
|
2656
|
+
update(x: number, y: number): number | undefined;
|
|
2657
|
+
warmupPeriod(): number;
|
|
2658
|
+
}
|
|
2659
|
+
|
|
2432
2660
|
export class RollingVWAP {
|
|
2433
2661
|
free(): void;
|
|
2434
2662
|
[Symbol.dispose](): void;
|
|
@@ -2619,6 +2847,39 @@ export class SpinningTop {
|
|
|
2619
2847
|
warmupPeriod(): number;
|
|
2620
2848
|
}
|
|
2621
2849
|
|
|
2850
|
+
export class SpreadBollingerBands {
|
|
2851
|
+
free(): void;
|
|
2852
|
+
[Symbol.dispose](): void;
|
|
2853
|
+
/**
|
|
2854
|
+
* Flat `Float64Array` of length `4 * n`:
|
|
2855
|
+
* `[middle0, upper0, lower0, percentB0, middle1, ...]`. Warmup rows are NaN.
|
|
2856
|
+
*/
|
|
2857
|
+
batch(a: Float64Array, b: Float64Array): Float64Array;
|
|
2858
|
+
isReady(): boolean;
|
|
2859
|
+
constructor(period: number, num_std: number);
|
|
2860
|
+
reset(): void;
|
|
2861
|
+
/**
|
|
2862
|
+
* Returns `{ middle, upper, lower, percentB }`, or `null` during warmup.
|
|
2863
|
+
*/
|
|
2864
|
+
update(a: number, b: number): any;
|
|
2865
|
+
warmupPeriod(): number;
|
|
2866
|
+
}
|
|
2867
|
+
|
|
2868
|
+
export class SpreadHurst {
|
|
2869
|
+
free(): void;
|
|
2870
|
+
[Symbol.dispose](): void;
|
|
2871
|
+
/**
|
|
2872
|
+
* Batch over two equally-sized arrays. Returns one `f64` per
|
|
2873
|
+
* input position (`NaN` during warmup).
|
|
2874
|
+
*/
|
|
2875
|
+
batch(x: Float64Array, y: Float64Array): Float64Array;
|
|
2876
|
+
isReady(): boolean;
|
|
2877
|
+
constructor(period: number);
|
|
2878
|
+
reset(): void;
|
|
2879
|
+
update(x: number, y: number): number | undefined;
|
|
2880
|
+
warmupPeriod(): number;
|
|
2881
|
+
}
|
|
2882
|
+
|
|
2622
2883
|
export class StalledPattern {
|
|
2623
2884
|
free(): void;
|
|
2624
2885
|
[Symbol.dispose](): void;
|
|
@@ -3100,6 +3361,16 @@ export class Thrusting {
|
|
|
3100
3361
|
warmupPeriod(): number;
|
|
3101
3362
|
}
|
|
3102
3363
|
|
|
3364
|
+
export class TickIndex {
|
|
3365
|
+
free(): void;
|
|
3366
|
+
[Symbol.dispose](): void;
|
|
3367
|
+
isReady(): boolean;
|
|
3368
|
+
constructor();
|
|
3369
|
+
reset(): void;
|
|
3370
|
+
update(change: Float64Array, volume: Float64Array, new_high: Float64Array, new_low: Float64Array): number | undefined;
|
|
3371
|
+
warmupPeriod(): number;
|
|
3372
|
+
}
|
|
3373
|
+
|
|
3103
3374
|
export class TpoProfile {
|
|
3104
3375
|
free(): void;
|
|
3105
3376
|
[Symbol.dispose](): void;
|
|
@@ -3135,6 +3406,16 @@ export class TreynorRatio {
|
|
|
3135
3406
|
warmupPeriod(): number;
|
|
3136
3407
|
}
|
|
3137
3408
|
|
|
3409
|
+
export class Trin {
|
|
3410
|
+
free(): void;
|
|
3411
|
+
[Symbol.dispose](): void;
|
|
3412
|
+
isReady(): boolean;
|
|
3413
|
+
constructor();
|
|
3414
|
+
reset(): void;
|
|
3415
|
+
update(change: Float64Array, volume: Float64Array, new_high: Float64Array, new_low: Float64Array): number | undefined;
|
|
3416
|
+
warmupPeriod(): number;
|
|
3417
|
+
}
|
|
3418
|
+
|
|
3138
3419
|
export class TrueRange {
|
|
3139
3420
|
free(): void;
|
|
3140
3421
|
[Symbol.dispose](): void;
|
|
@@ -3220,6 +3501,16 @@ export class UniqueThreeRiver {
|
|
|
3220
3501
|
warmupPeriod(): number;
|
|
3221
3502
|
}
|
|
3222
3503
|
|
|
3504
|
+
export class UpDownVolumeRatio {
|
|
3505
|
+
free(): void;
|
|
3506
|
+
[Symbol.dispose](): void;
|
|
3507
|
+
isReady(): boolean;
|
|
3508
|
+
constructor();
|
|
3509
|
+
reset(): void;
|
|
3510
|
+
update(change: Float64Array, volume: Float64Array, new_high: Float64Array, new_low: Float64Array): number | undefined;
|
|
3511
|
+
warmupPeriod(): number;
|
|
3512
|
+
}
|
|
3513
|
+
|
|
3223
3514
|
export class UpsideGapThreeMethods {
|
|
3224
3515
|
free(): void;
|
|
3225
3516
|
[Symbol.dispose](): void;
|
|
@@ -3318,6 +3609,21 @@ export class Variance {
|
|
|
3318
3609
|
warmupPeriod(): number;
|
|
3319
3610
|
}
|
|
3320
3611
|
|
|
3612
|
+
export class VarianceRatio {
|
|
3613
|
+
free(): void;
|
|
3614
|
+
[Symbol.dispose](): void;
|
|
3615
|
+
/**
|
|
3616
|
+
* Batch over two equally-sized arrays of prices. Returns one `f64` per
|
|
3617
|
+
* input position (`NaN` during warmup).
|
|
3618
|
+
*/
|
|
3619
|
+
batch(a: Float64Array, b: Float64Array): Float64Array;
|
|
3620
|
+
isReady(): boolean;
|
|
3621
|
+
constructor(period: number, q: number);
|
|
3622
|
+
reset(): void;
|
|
3623
|
+
update(a: number, b: number): number | undefined;
|
|
3624
|
+
warmupPeriod(): number;
|
|
3625
|
+
}
|
|
3626
|
+
|
|
3321
3627
|
export class VerticalHorizontalFilter {
|
|
3322
3628
|
free(): void;
|
|
3323
3629
|
[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, AVGPRICE, AbandonedBaby, AccelerationBands, AcceleratorOscillator, AdaptiveCycle, AdvanceBlock, Alligator, Alpha, AnchoredRSI, AnchoredVWAP, Aroon, AroonOscillator, AtrBands, AtrTrailingStop, Autocorrelation, AverageDrawdown, AwesomeOscillator, AwesomeOscillatorHistogram, BalanceOfPower, BeltHold, Beta, BollingerBands, BollingerBandwidth, Breakaway, CCI, CFO, CMO, CalendarSpread, CalmarRatio, Camarilla, CenterOfGravity, ChaikinMoneyFlow, ChaikinOscillator, ChaikinVolatility, ChandeKrollStop, ChandelierExit, ChoppinessIndex, ClassicPivots, ClosingMarubozu, CoefficientOfVariation, Cointegration, ConcealingBabySwallow, ConditionalValueAtRisk, ConnorsRSI, Coppock, Counterattack, CumulativeVolumeDelta, CyberneticCycle, DEMA, DPO, DX, Decycler, DecyclerOscillator, DemandIndex, DemarkPivots, DepthSlope, DetrendedStdDev, Doji, DojiStar, Donchian, DonchianStop, DoubleBollinger, DownsideGapThreeMethods, DragonflyDoji, DrawdownDuration, EMA, EVWMA, EaseOfMovement, EffectiveSpread, EhlersStochastic, ElderImpulse, EmpiricalModeDecomposition, Engulfing, EveningDojiStar, FAMA, FRAMA, FallingThreeMethods, FibonacciPivots, FisherTransform, Footprint, ForceIndex, FractalChaosBands, FundingBasis, FundingRate, FundingRateMean, FundingRateZScore, GainLossRatio, GapSideBySideWhite, GarmanKlassVolatility, GravestoneDoji, HMA, HT_DCPHASE, HT_PHASOR, HT_TRENDMODE, Hammer, HangingMan, Harami, HeikinAshi, HiLoActivator, HighWave, Hikkake, HikkakeModified, HilbertDominantCycle, HistoricalVolatility, HomingPigeon, HurstChannel, HurstExponent, Ichimoku, IdenticalThreeCrows, InNeck, Inertia, InformationRatio, InitialBalance, InstantaneousTrendline, InverseFisherTransform, InvertedHammer, JMA, KAMA, KST, KVO, KagiBars, KellyCriterion, Keltner, Kicking, KickingByLength, Kurtosis, KylesLambda, LINEARREG_INTERCEPT, LadderBottom, LaguerreRSI, LeadLagCrossCorrelation, LinRegAngle, LinRegChannel, LinRegSlope, LinearRegression, LiquidationFeatures, LongLeggedDoji, LongLine, LongShortRatio, MACD, MACDEXT, MACDFIX, MAMA, MFI, MIDPOINT, MIDPRICE, MINUS_DI, MINUS_DM, MOM, MaEnvelope, MarketFacilitationIndex, Marubozu, MassIndex, MatHold, MatchingLow, MaxDrawdown, McGinleyDynamic, MedianAbsoluteDeviation, MedianPrice, Microprice, MorningDojiStar, MorningEveningStar, NATR, NVI, OBV, OIPriceDivergence, OIWeighted, OmegaRatio, OnNeck, OpenInterestDelta, OpeningMarubozu, OpeningRange, OrderBookImbalanceFull, OrderBookImbalanceTop1, OrderBookImbalanceTopN, PGO, PLUS_DI, PLUS_DM, PMO, PPO, PSAR, PVI, PainIndex, PairSpreadZScore, PairwiseBeta, ParkinsonVolatility, PearsonCorrelation, PercentB, PercentageTrailingStop, PiercingDarkCloud, PointAndFigureBars, ProfitFactor, QuotedSpread, ROC, ROCP, ROCR, ROCR100, RSI, RSquared, RVI, RVIVolatility, RWI, RealizedSpread, RecoveryFactor, RelativeStrengthAB, RenkoBars, RenkoTrailingStop, RickshawMan, RisingThreeMethods, RogersSatchellVolatility, RollingVWAP, RoofingFilter, SAREXT, SMA, SMI, SMMA, STC, SeparatingLines, SharpeRatio, ShootingStar, ShortLine, SignedVolume, SineWave, Skewness, SortinoRatio, SpearmanCorrelation, SpinningTop, StalledPattern, StandardError, StandardErrorBands, StarcBands, StdDev, StepTrailingStop, StickSandwich, StochRSI, Stochastic, SuperSmoother, SuperTrend, T3, TDCombo, TDCountdown, TDDeMarker, TDDifferential, TDLines, TDOpen, TDPressure, TDREI, TDRangeProjection, TDRiskLevel, TDSequential, TDSetup, TEMA, TII, TRIMA, TRIX, TSF, TSI, TSV, TakerBuySellRatio, Takuri, TasukiGap, TermStructureBasis, ThreeInside, ThreeLineStrike, ThreeOutside, ThreeSoldiersOrCrows, ThreeStarsInSouth, Thrusting, TpoProfile, TradeImbalance, TreynorRatio, TrueRange, TtmSqueeze, Tweezer, TwoCrows, TypicalPrice, UlcerIndex, UltimateOscillator, UniqueThreeRiver, UpsideGapThreeMethods, UpsideGapTwoCrows, VIDYA, VWAP, VWMA, VZO, ValueArea, ValueAtRisk, Variance, VerticalHorizontalFilter, VoltyStop, VolumeOscillator, VolumePriceTrend, VolumeProfile, Vortex, VwapStdDevBands, WMA, WaveTrend, WeightedClose, WilliamsAD, WilliamsFractals, WilliamsR, WoodiePivots, YangZhangVolatility, YoyoExit, ZLEMA, ZScore, ZeroLagMACD, ZigZag, installPanicHook, version
|
|
8
|
+
ADL, ADX, ADXR, ALMA, APO, ATR, AVGPRICE, AbandonedBaby, AbsoluteBreadthIndex, AccelerationBands, AcceleratorOscillator, AdVolumeLine, AdaptiveCycle, AdvanceBlock, AdvanceDecline, AdvanceDeclineRatio, Alligator, Alpha, AnchoredRSI, AnchoredVWAP, Aroon, AroonOscillator, AtrBands, AtrTrailingStop, Autocorrelation, AverageDrawdown, AwesomeOscillator, AwesomeOscillatorHistogram, BalanceOfPower, BeltHold, Beta, BetaNeutralSpread, BollingerBands, BollingerBandwidth, BreadthThrust, Breakaway, BullishPercentIndex, CCI, CFO, CMO, CalendarSpread, CalmarRatio, Camarilla, CenterOfGravity, ChaikinMoneyFlow, ChaikinOscillator, ChaikinVolatility, ChandeKrollStop, ChandelierExit, ChoppinessIndex, ClassicPivots, ClosingMarubozu, CoefficientOfVariation, Cointegration, ConcealingBabySwallow, ConditionalValueAtRisk, ConnorsRSI, Coppock, Counterattack, CumulativeVolumeDelta, CumulativeVolumeIndex, CyberneticCycle, DEMA, DPO, DX, Decycler, DecyclerOscillator, DemandIndex, DemarkPivots, DepthSlope, DetrendedStdDev, DistanceSsd, Doji, DojiStar, Donchian, DonchianStop, DoubleBollinger, DownsideGapThreeMethods, DragonflyDoji, DrawdownDuration, EMA, EVWMA, EaseOfMovement, EffectiveSpread, EhlersStochastic, ElderImpulse, EmpiricalModeDecomposition, Engulfing, EveningDojiStar, FAMA, FRAMA, FallingThreeMethods, FibonacciPivots, FisherTransform, Footprint, ForceIndex, FractalChaosBands, FundingBasis, FundingRate, FundingRateMean, FundingRateZScore, GainLossRatio, GapSideBySideWhite, GarmanKlassVolatility, GrangerCausality, GravestoneDoji, HMA, HT_DCPHASE, HT_PHASOR, HT_TRENDMODE, Hammer, HangingMan, Harami, HeikinAshi, HiLoActivator, HighLowIndex, HighWave, Hikkake, HikkakeModified, HilbertDominantCycle, HistoricalVolatility, HomingPigeon, HurstChannel, HurstExponent, Ichimoku, IdenticalThreeCrows, InNeck, Inertia, InformationRatio, InitialBalance, InstantaneousTrendline, InverseFisherTransform, InvertedHammer, JMA, KAMA, KST, KVO, KagiBars, KalmanHedgeRatio, KellyCriterion, Keltner, Kicking, KickingByLength, Kurtosis, KylesLambda, LINEARREG_INTERCEPT, LadderBottom, LaguerreRSI, LeadLagCrossCorrelation, LinRegAngle, LinRegChannel, LinRegSlope, LinearRegression, LiquidationFeatures, LongLeggedDoji, LongLine, LongShortRatio, MACD, MACDEXT, MACDFIX, MAMA, MFI, MIDPOINT, MIDPRICE, MINUS_DI, MINUS_DM, MOM, MaEnvelope, MarketFacilitationIndex, Marubozu, MassIndex, MatHold, MatchingLow, MaxDrawdown, McClellanOscillator, McClellanSummationIndex, McGinleyDynamic, MedianAbsoluteDeviation, MedianPrice, Microprice, MorningDojiStar, MorningEveningStar, NATR, NVI, NewHighsNewLows, OBV, OIPriceDivergence, OIWeighted, OmegaRatio, OnNeck, OpenInterestDelta, OpeningMarubozu, OpeningRange, OrderBookImbalanceFull, OrderBookImbalanceTop1, OrderBookImbalanceTopN, OuHalfLife, PGO, PLUS_DI, PLUS_DM, PMO, PPO, PSAR, PVI, PainIndex, PairSpreadZScore, PairwiseBeta, ParkinsonVolatility, PearsonCorrelation, PercentAboveMa, PercentB, PercentageTrailingStop, PiercingDarkCloud, PointAndFigureBars, ProfitFactor, QuotedSpread, ROC, ROCP, ROCR, ROCR100, RSI, RSquared, RVI, RVIVolatility, RWI, RealizedSpread, RecoveryFactor, RelativeStrengthAB, RenkoBars, RenkoTrailingStop, RickshawMan, RisingThreeMethods, RogersSatchellVolatility, RollingCorrelation, RollingCovariance, RollingVWAP, RoofingFilter, SAREXT, SMA, SMI, SMMA, STC, SeparatingLines, SharpeRatio, ShootingStar, ShortLine, SignedVolume, SineWave, Skewness, SortinoRatio, SpearmanCorrelation, SpinningTop, SpreadBollingerBands, SpreadHurst, StalledPattern, StandardError, StandardErrorBands, StarcBands, StdDev, StepTrailingStop, StickSandwich, StochRSI, Stochastic, SuperSmoother, SuperTrend, T3, TDCombo, TDCountdown, TDDeMarker, TDDifferential, TDLines, TDOpen, TDPressure, TDREI, TDRangeProjection, TDRiskLevel, TDSequential, TDSetup, TEMA, TII, TRIMA, TRIX, TSF, TSI, TSV, TakerBuySellRatio, Takuri, TasukiGap, TermStructureBasis, ThreeInside, ThreeLineStrike, ThreeOutside, ThreeSoldiersOrCrows, ThreeStarsInSouth, Thrusting, TickIndex, TpoProfile, TradeImbalance, TreynorRatio, Trin, TrueRange, TtmSqueeze, Tweezer, TwoCrows, TypicalPrice, UlcerIndex, UltimateOscillator, UniqueThreeRiver, UpDownVolumeRatio, UpsideGapThreeMethods, UpsideGapTwoCrows, VIDYA, VWAP, VWMA, VZO, ValueArea, ValueAtRisk, Variance, VarianceRatio, VerticalHorizontalFilter, VoltyStop, VolumeOscillator, VolumePriceTrend, VolumeProfile, Vortex, VwapStdDevBands, WMA, WaveTrend, WeightedClose, WilliamsAD, WilliamsFractals, WilliamsR, WoodiePivots, YangZhangVolatility, YoyoExit, ZLEMA, ZScore, ZeroLagMACD, ZigZag, installPanicHook, version
|
|
9
9
|
} from "./wickra_wasm_bg.js";
|