fintech-algorithms
Using a coding agent? Give it the skill: npx skills add IslamBaraka90/Fintech-Algorithms-Library What it does →

Momentum

30 algorithms in Technical Indicators · 30 with asserted arithmetic.

In this family#

  1. Relative Strength Index (RSI) verified

    Relative strength index: Wilder-smoothed average gain over average loss, mapped to 0–100. In a strong trend a high reading means strength persisting, not exhaustion — which is the most common misreading of this indicator.

    rsi(close, p)
  2. Stochastic Oscillator verified

    Where the close sits within the high–low range of the lookback, expressed as 0–100, then smoothed twice.

    stochastic(high, low, close, kp, sk, sd)
  3. Stochastic RSI verified

    The stochastic formula applied to RSI rather than to price — a second-order indicator that measures where RSI sits within its own recent range, and therefore moves far faster than either input.

    stochasticRsi(close, rp, sp, sk, sd)
  4. Williams %R verified

    Where the close sits within the lookback's high–low range, on a −100…0 scale. Arithmetically the inverse of fast %K.

    williamsR(high, low, close, p)
  5. Commodity Channel Index (CCI) verified

    Commodity channel index: the typical price's distance from its moving average, scaled by mean absolute deviation. Unbounded, unlike RSI or the stochastics.

    cci(high, low, close, p, k)
  6. Ultimate Oscillator verified

    Weighted buying pressure across three lookbacks at once, which is what makes it less sensitive to the choice of any single period than a plain oscillator.

    ultimateOscillator(high, low, close, s, m, g)
  7. True Strength Index (TSI) verified

    True strength index: price change smoothed twice, divided by absolute price change smoothed the same way. The double smoothing is what separates it from a plain momentum reading.

    tsi(close, g, s)
  8. Connors RSI verified

    The average of three components: RSI of price, RSI of the up/down streak length, and the percentile rank of the latest return. Designed for short-horizon mean reversion rather than trend.

    connorsRsi(close, pp, sp, rp)
  9. Absolute Price Oscillator verified

    Subtracts a slow EMA of close from a fast EMA of close, leaving the momentum spread in price units rather than as a percentage.

    absolutePriceOscillator(input)
  10. Rate-of-Change Variants (ROC, ROCP, and ROCR) verified

    Expresses the same period-bar price ratio three ways: as a percentage, as a proportion, and as the raw ratio.

    rateOfChangeVariantsRocRocpAndRocr(input)
  11. Price Momentum (MOM) verified

    The plain price difference between the current close and the close period bars earlier.

    priceMomentumMom(input)
  12. Chande Momentum Oscillator verified

    Compares summed up-closes against summed down-closes over a period window and scales the imbalance to a -100..100 range.

    chandeMomentumOscillator(input)
  13. Awesome Oscillator verified

    Subtracts a 34-period simple average of the median price from a 5-period one, measuring the gap between short and long swing momentum.

    awesomeOscillator(input)
  14. Accelerator Oscillator verified

    Subtracts a 5-period simple average of the Awesome Oscillator from the oscillator itself, isolating the change in momentum rather than its level.

    acceleratorOscillator(input)
  15. TRIX verified

    The one-bar percentage rate of change of a triple-smoothed EMA of close, which strips most short-cycle noise before measuring momentum.

    trix(input)
  16. Stochastic Momentum Index verified

    Measures where close sits relative to the midpoint of the period high-low range, then double-smooths both the distance and the range before scaling to -100..100.

    stochasticMomentumIndex(input)
  17. Relative Vigor Index verified

    Divides the period average of the candle body by the period average of the candle range, reading closing vigour relative to the day's travel.

    relativeVigorIndex(input)
  18. Relative Momentum Index verified

    An RSI-shaped 0..100 reading built on the change over momentum_lag bars instead of the one-bar change, Wilder-smoothed over period.

    relativeMomentumIndex(input)
  19. Fisher Transform verified

    Rescales close to its position within the period high-low range of closes, clamps it just inside -1..1, and applies the Fisher transform to give the result near-Gaussian tails.

    fisherTransform(input)
  20. Inverse Fisher Transform verified

    Squashes a scaled one-bar close change into -1..1 with the inverse Fisher transform, which is the hyperbolic tangent of the scaled input.

    inverseFisherTransform(input)
  21. Schaff Trend Cycle verified

    Runs the MACD line through two stochastic passes, each followed by a 3-period EMA, turning a trend measure into a 0..100 cycle oscillator.

    schaffTrendCycle(input)
  22. Quantitative Qualitative Estimation (QQE) verified

    Smooths a Wilder RSI with a 5-period EMA and wraps it in a volatility band derived from a double Wilder-smoothed average of the smoothed RSI's own absolute change.

    quantitativeQualitativeEstimationQqe(input)
  23. WaveTrend Oscillator verified

    Builds a CCI-style channel index from the typical price against its own 10-period EMA and mean deviation, then smooths it into a fast line and a slower trigger.

    wavetrendOscillator(input)
  24. Know Sure Thing (KST) verified

    Weights four smoothed rate-of-change readings taken over different lookbacks into a single momentum line, with a simple-average signal.

    knowSureThingKst(input)
  25. Chande Forecast Oscillator verified

    Fits a least-squares line to the last period closes and reports how far the actual close sits from that line's endpoint, as a percentage of price.

    chandeForecastOscillator(input)
  26. Detrended Price Oscillator verified

    Removes the trend by subtracting the current period simple average from a close shifted back half that window, leaving the short cycle around the average.

    detrendedPriceOscillator(input)
  27. Balance of Power verified

    Divides each candle's body by its full range, giving a per-bar -1..1 reading of how much of the session's travel the close managed to keep.

    balanceOfPower(input)
  28. Psychological Line verified

    The percentage of the last period bars that closed above the previous close, a plain count of how one-sided recent sentiment has been.

    psychologicalLine(input)
  29. Pretty Good Oscillator verified

    Expresses the gap between close and its period simple average in units of average true range, so readings stay comparable across volatility regimes.

    prettyGoodOscillator(input)
  30. Price Momentum Oscillator verified

    Smooths a heavily scaled one-bar rate of change through two successive EMAs, then adds a third EMA as the signal line.

    priceMomentumOscillator(input)

What they share#

Every topic here is a series-transform, so once you have called one the rest follow the same shape. Import paths differ only in the final segment:

ts
import { rsi } from "fintech-algorithms/technical-indicators/momentum/rsi";
import { stochastic } from "fintech-algorithms/technical-indicators/momentum/stochastic-oscillator";

Read them in the order above — the sequence is pedagogical, not alphabetical.

Where this sits#

Technical Indicators collects 137 algorithms across 9 families. For the concept behind this family rather than the call signatures, see the concept guides.