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

Vectorization, Index Alignment, and Shape Safety

Install and import#

bash
npm install fintech-algorithms
ts
import { vectorizationIndexAlignmentAndShapeSafety } from "fintech-algorithms/foundations/statistical-computing-and-reproducibility/vectorization-index-alignment-and-shape-safety";

Signature#

vectorizationIndexAlignmentAndShapeSafety(input)

Inner-joins two labelled vectors on their index field and reports what each side lost in the process.

Parameters#

NameTypeNotes
inputD00InputReads leftVector and rightVector, each a list of records carrying an index label and a numeric value. A non-empty values list of finite numbers must also be present; it is validated but not joined.

Returns#

D00Output

aligned holds one record per shared label with index, left and right, keeping the left vector's order. alignedCount sizes it, and droppedLeft and droppedRight are each side's length minus that count.

Errors#

  • When values is absent, empty, or holds a non-finite number — throws RangeError

Complexity: time O(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, 3, 4, 5],
  "floatingValue": 0.1,
  "maxSafeMagnitude": 1.7976931348623157e+308,
  "window": 3,
  "rawValues": [1, null, 2, "bad", 3],
  "invalidPolicy": "drop-and-report",
  "seed": 42,
  "sampleCount": 5,
  "leftVector": [
    {
      "index": "A",
      "value": 1
    },
    {
      "index": "B",
      "value": 2
    }
  ],
  "rightVector": [
    {
      "index": "B",
      "value": 20
    },
    {
      "index": "C",
      "value": 30
    }
  ],
  "train": [10, 12, 14, 16],
  "test": [18, 20],
  "actual": [1, 2.0000001, 3],
  "expected": [1, 2, 3]
}

Showing 14 of 18 fields.

Call#

vectorizationIndexAlignmentAndShapeSafety(input)

Returns#

object with 2 fields: aligned, alignedCount

{
  "aligned": [
    {
      "index": "B",
      "left": 2,
      "right": 20
    }
  ],
  "alignedCount": 1
}

Diagrams#

Vectorization, Index Alignment, and Shape Safety — article hero
Vectorization, Index Alignment, and Shape Safety — calculation ledger
Vectorization, Index Alignment, and Shape Safety — concept anatomy
Vectorization, Index Alignment, and Shape Safety — failure boundary
Vectorization, Index Alignment, and Shape Safety — method map
Vectorization, Index Alignment, and Shape Safety — 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 Statistical Computing and Reproducibility family#