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

Range and Interquartile Range

Install and import#

bash
npm install fintech-algorithms
ts
import { rangeAndInterquartileRange } from "fintech-algorithms/foundations/dispersion-shape-and-robust-statistics/range-and-interquartile-range";

Signature#

rangeAndInterquartileRange(input)

Measures spread two ways on the same series: the full distance from smallest to largest, and the distance covering the middle half between the first and third quartiles.

Parameters#

NameTypeNotes
input{ values: number[] }The observations whose spread is being measured, under the key values. Quartiles use linear interpolation between neighbouring order statistics.

Returns#

{ range: number; iqr: number; q1: number; q3: number }

range is maximum - minimum, iqr is q3 - q1, and q1 and q3 are returned alongside so the interquartile range can be traced back to the cut points it came from.

Errors#

  • When input is null, an array, or not an object — throws TypeError
  • When values is missing, is not an array, or is empty — throws RangeError
  • When any entry of values does not coerce to a finite number — throws RangeError

Complexity: time O(n log n), space O(n).

Worked example#

verified This is the worked example published in the article, replayed by the test suite on every run. The output cannot drift.

Input#

input
{
  "values": [1, 2, 2, 4, 9]
}

Call#

rangeAndInterquartileRange(input)

Returns#

object with 2 fields: range, iqr

{
  "range": 8,
  "iqr": 2
}

Diagrams#

Range and Interquartile Range — article hero
Range and Interquartile Range — calculation ledger
Range and Interquartile Range — concept anatomy
Range and Interquartile Range — failure boundary
Range and Interquartile Range — method map
Range and Interquartile Range — scenario contrast

How it works#

This page states the contract — how to call it correctly. The article explains the concept: why it works, and where it breaks.

Read the article →

References#

The rest of the Dispersion, Shape, and Robust Statistics family#