qntjs-lib 1.0.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.
Files changed (72) hide show
  1. package/LICENSE +695 -0
  2. package/README.md +60 -0
  3. package/dist/arr/arr.d.ts +81 -0
  4. package/dist/bundle/index.d.ts +1573 -0
  5. package/dist/bundle/index.js +3169 -0
  6. package/dist/index.d.ts +4 -0
  7. package/dist/math/basic.d.ts +174 -0
  8. package/dist/math/index.d.ts +11 -0
  9. package/dist/math/linalg.d.ts +36 -0
  10. package/dist/math/minmax.d.ts +81 -0
  11. package/dist/math/prod.d.ts +20 -0
  12. package/dist/math/random.d.ts +22 -0
  13. package/dist/math/sum.d.ts +26 -0
  14. package/dist/stats/index.d.ts +10 -0
  15. package/dist/stats/mean.d.ts +53 -0
  16. package/dist/stats/quantile.d.ts +42 -0
  17. package/dist/stats/sampling.d.ts +23 -0
  18. package/dist/stats/skew.d.ts +26 -0
  19. package/dist/stats/transforms.d.ts +48 -0
  20. package/dist/stats/var.d.ts +42 -0
  21. package/dist/ta/index.d.ts +13 -0
  22. package/dist/ta/momentum-oscillators/ao.d.ts +11 -0
  23. package/dist/ta/momentum-oscillators/apo.d.ts +11 -0
  24. package/dist/ta/momentum-oscillators/aroon.d.ts +11 -0
  25. package/dist/ta/momentum-oscillators/cmo.d.ts +10 -0
  26. package/dist/ta/momentum-oscillators/index.d.ts +14 -0
  27. package/dist/ta/momentum-oscillators/kst.d.ts +29 -0
  28. package/dist/ta/momentum-oscillators/macd.d.ts +12 -0
  29. package/dist/ta/momentum-oscillators/mom.d.ts +9 -0
  30. package/dist/ta/momentum-oscillators/ppo.d.ts +11 -0
  31. package/dist/ta/momentum-oscillators/roc.d.ts +18 -0
  32. package/dist/ta/momentum-oscillators/rsi.d.ts +14 -0
  33. package/dist/ta/momentum-oscillators/stoch.d.ts +14 -0
  34. package/dist/ta/momentum-oscillators/stochrsi.d.ts +9 -0
  35. package/dist/ta/momentum-oscillators/ultosc.d.ts +17 -0
  36. package/dist/ta/momentum-oscillators/wpr.d.ts +12 -0
  37. package/dist/ta/moving-averages/dema.d.ts +10 -0
  38. package/dist/ta/moving-averages/ema.d.ts +10 -0
  39. package/dist/ta/moving-averages/hma.d.ts +10 -0
  40. package/dist/ta/moving-averages/index.d.ts +11 -0
  41. package/dist/ta/moving-averages/kama.d.ts +14 -0
  42. package/dist/ta/moving-averages/rma.d.ts +11 -0
  43. package/dist/ta/moving-averages/sma.d.ts +11 -0
  44. package/dist/ta/moving-averages/t3.d.ts +24 -0
  45. package/dist/ta/moving-averages/tema.d.ts +10 -0
  46. package/dist/ta/moving-averages/trima.d.ts +9 -0
  47. package/dist/ta/moving-averages/vwma.d.ts +17 -0
  48. package/dist/ta/moving-averages/wma.d.ts +11 -0
  49. package/dist/ta/trend/cci.d.ts +13 -0
  50. package/dist/ta/trend/di.d.ts +36 -0
  51. package/dist/ta/trend/dpo.d.ts +10 -0
  52. package/dist/ta/trend/ichimoku.d.ts +20 -0
  53. package/dist/ta/trend/index.d.ts +6 -0
  54. package/dist/ta/trend/psar.d.ts +10 -0
  55. package/dist/ta/trend/supertrend.d.ts +14 -0
  56. package/dist/ta/util.d.ts +53 -0
  57. package/dist/ta/volatility/atr.d.ts +23 -0
  58. package/dist/ta/volatility/bb.d.ts +11 -0
  59. package/dist/ta/volatility/bbw.d.ts +10 -0
  60. package/dist/ta/volatility/donchian.d.ts +11 -0
  61. package/dist/ta/volatility/index.d.ts +5 -0
  62. package/dist/ta/volatility/keltner.d.ts +12 -0
  63. package/dist/ta/volume-money-flow/ad.d.ts +12 -0
  64. package/dist/ta/volume-money-flow/adosc.d.ts +15 -0
  65. package/dist/ta/volume-money-flow/index.d.ts +6 -0
  66. package/dist/ta/volume-money-flow/mfi.d.ts +12 -0
  67. package/dist/ta/volume-money-flow/obv.d.ts +9 -0
  68. package/dist/ta/volume-money-flow/pnvi.d.ts +10 -0
  69. package/dist/ta/volume-money-flow/wad.d.ts +11 -0
  70. package/dist/untyped/index.d.ts +1194 -0
  71. package/dist/untyped/index.js +29 -0
  72. package/package.json +58 -0
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Accumulation/Distribution (AD) line.
3
+ * Computes the cumulative money flow: AD[i] = AD[i-1] + MFM[i] * volume[i],
4
+ * where MFM = ((close - low) - (high - close)) / (high - low).
5
+ * NaNs propagate for invalid input tuples and the accumulator only updates on finite values.
6
+ * @param high High price series
7
+ * @param low Low price series
8
+ * @param close Close price series
9
+ * @param volume Volume series
10
+ * @returns Float64Array of AD values
11
+ */
12
+ export declare function ad(high: ArrayLike<number>, low: ArrayLike<number>, close: ArrayLike<number>, volume: ArrayLike<number>): Float64Array;
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Accumulation/Distribution Oscillator (ADOSC).
3
+ * Computes the difference between short- and long-term EMAs of the cumulative
4
+ * money flow (AD). Supports NaN-aware and dense fast-paths; outputs are NaN
5
+ * until the long EMA seeding is complete.
6
+ * @param high High price series
7
+ * @param low Low price series
8
+ * @param close Close price series
9
+ * @param volume Volume series
10
+ * @param shortPeriod Short EMA period
11
+ * @param longPeriod Long EMA period
12
+ * @param skipna Whether to ignore NaNs during computation (default: true)
13
+ * @returns Float64Array of ADOSC values (NaN where undefined)
14
+ */
15
+ export declare function adosc(high: ArrayLike<number>, low: ArrayLike<number>, close: ArrayLike<number>, volume: ArrayLike<number>, shortPeriod: number, longPeriod: number, skipna?: boolean): Float64Array;
@@ -0,0 +1,6 @@
1
+ export * from './ad.js';
2
+ export * from './adosc.js';
3
+ export * from './mfi.js';
4
+ export * from './obv.js';
5
+ export * from './pnvi.js';
6
+ export * from './wad.js';
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Money Flow Index (MFI).
3
+ * Computes MFI over `period` using typical price and money flow; NaN-aware
4
+ * sliding-window implementation that emits NaN where insufficient valid data exists.
5
+ * @param high High price series
6
+ * @param low Low price series
7
+ * @param close Close price series
8
+ * @param volume Volume series
9
+ * @param period Lookback period (must be > 0)
10
+ * @returns Float64Array of MFI values in [0,100]
11
+ */
12
+ export declare function mfi(high: ArrayLike<number>, low: ArrayLike<number>, close: ArrayLike<number>, volume: ArrayLike<number>, period: number): Float64Array;
@@ -0,0 +1,9 @@
1
+ /**
2
+ * On-Balance Volume (OBV).
3
+ * Accumulates volume by sign of price change: add volume when price rises,
4
+ * subtract when price falls; NaNs in inputs yield NaN outputs for that index.
5
+ * @param price Price series
6
+ * @param volume Volume series
7
+ * @returns Float64Array of OBV values
8
+ */
9
+ export declare function obv(price: ArrayLike<number>, volume: ArrayLike<number>): Float64Array;
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Positive/Negative Volume Index (PNVI).
3
+ * Returns `[pvi, nvi]` series tracking separate indices when volume increases
4
+ * (PVI) or decreases (NVI). Preserves NaNs and treats zero close as missing.
5
+ * @param close Close price series
6
+ * @param volume Volume series
7
+ * @param start Initial index value (default: 1000)
8
+ * @returns Tuple `[pvi, nvi]` as Float64Array
9
+ */
10
+ export declare function pnvi(close: ArrayLike<number>, volume: ArrayLike<number>, start?: number): [Float64Array, Float64Array];
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Williams Accumulation/Distribution (WAD).
3
+ * Accumulates the money flow based on price movement using either a dense
4
+ * fast-path or a NaN-aware path depending on `skipna` and input contents.
5
+ * @param high High price series
6
+ * @param low Low price series
7
+ * @param close Close price series
8
+ * @param skipna Whether to ignore NaNs (default: true)
9
+ * @returns Float64Array of WAD values (NaN where undefined)
10
+ */
11
+ export declare function wad(high: ArrayLike<number>, low: ArrayLike<number>, close: ArrayLike<number>, skipna?: boolean): Float64Array;