Files
wickra/bindings/node
kingchenc 6643f7a81d F13b: add True Range, Chaikin Volatility, Z-Score and Linear Regression Angle
Second half of the eight indicators that fill out the new family taxonomy.

- Rust core: true_range.rs (TrueRange — the raw single-bar volatility ATR
  averages), chaikin_volatility.rs (ChaikinVolatility — rate of change of a
  smoothed high-low spread), z_score.rs (ZScore — price normalised against
  its rolling mean and standard deviation) and linreg_angle.rs (LinRegAngle
  — the rolling regression slope as a degree angle). Each with a full
  Indicator impl, runnable doctest and reference / property / warmup /
  reset / batch==streaming tests.
- Python / Node / WASM: classes wired through all three bindings (ZScore
  and LinRegAngle ride the scalar macros where possible) plus .pyi stubs
  and __init__.py / __all__ entries.
- Wiki: four new Indicator-*.md pages.

The eight-family taxonomy restructure (Overview / Home / README / folder
layout) lands next in F13c.

cargo fmt + clippy (core/wickra/data/wasm/node) clean; 508 core tests,
25 data tests and 74 doctests green.
2026-05-22 21:06:36 +02:00
..
2026-05-22 16:22:52 +02:00

@wickra/wickra

Node.js bindings for the Wickra streaming-first technical indicators library.

Install

Once published, install per platform via the precompiled native package:

npm install @wickra/wickra

Build from source

cd bindings/node
npm install
npm run build
npm test

The native module is built via napi-rs. The build script produces a wickra.<platform>-<arch>.node binary in the package root that index.js loads at runtime.

Usage

import { SMA, RSI, MACD, version } from '@wickra/wickra';

console.log('wickra', version());

// Batch:
const prices = Array.from({ length: 1000 }, (_, i) => 100 + Math.sin(i * 0.1) * 5);
const rsi = new RSI(14).batch(prices);

// Streaming:
const macd = new MACD(12, 26, 9);
for (const p of livePriceStream) {
  const v = macd.update(p);
  if (v && v.histogram > 0) console.log('bullish crossover candidate');
}

See index.d.ts for the full TypeScript surface.