Absolute Breadth Index
Install and import
npm install fintech-algorithmsimport { evaluateAbsoluteBreadthIndex } from "fintech-algorithms/market-breadth-and-internals/advance-decline-breadth/absolute-breadth-index";Signature
evaluateAbsoluteBreadthIndex(request)Worked example
executed Captured by running this function on the input its own test provides. Real output of real code — but not asserted against a published figure.
Input
{
"decision_time": "2026-01-05T21:05:00Z",
"metric_variant": "raw_issue_count",
"records": [
{
"record_id": "synthetic-r1",
"revision": 1,
"supersedes_record_id": null,
"kind": "observation",
"effective_at": "2026-01-05T21:00:00Z",
"available_at": "2026-01-05T21:01:00Z",
"is_final": true,
"session_date": "2026-01-05",
"venue_id": "SYNTH:XNAS",
"universe_id": "SYNTH:ACTIVE-100",
"universe_revision": "2026-01-05-r1",
"session_id": "regular",
"calendar_id": "SYNTH:XNAS-2026",
"comparison_basis": "official-close-to-adjusted-comparable-prior-close"
}
]
}Call
evaluateAbsoluteBreadthIndex(request)Returns
object with 32 fields: session_date, venue_id, universe_id, universe_revision, session_id, calendar_id, comparison_basis, corporate_action_policy, …
{
"session_date": "2026-01-05",
"venue_id": "SYNTH:XNAS",
"universe_id": "SYNTH:ACTIVE-100",
"universe_revision": "2026-01-05-r1",
"session_id": "regular",
"calendar_id": "SYNTH:XNAS-2026",
"comparison_basis": "official-close-to-adjusted-comparable-prior-close",
"corporate_action_policy": "synthetic-split-and-distribution-adjusted-v1",
"listing_identifier_scheme": "synthetic-stable-listing-id-v1",
"advances": 60,
"declines": 30,
"unchanged": 8,
"excluded": 2,
"missing": 0
}Showing 14 of 32 fields.
Diagrams
Calculation flow
Absolute Breadth Index evidence and calculation flow
flowchart LR
A["Raw issue-count request"] --> B{"Supported variant?"}
B -- "No" --> U["Unsupported; ABI null"]
B -- "Yes" --> C["Keep records effective and available by decision time"]
C --> D{"Any causal record?"}
D -- "No" --> I["Incomplete; ABI null"]
D -- "Yes" --> E{"One identity and contiguous lineage?"}
E -- "No" --> M["Ambiguous; ABI null"]
E -- "Yes" --> F{"Current record complete and not cancelled?"}
F -- "No" --> I
F -- "Yes" --> G["Net Advances = A - D"]
G --> H["Raw ABI = absolute value of Net Advances"]
H --> R["Resolved; retain counts, sign, clocks, revision, finality"]
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.
References
- Schwab thinkorswim AdvanceDecline study
- TC2000 T2101 help
- Nasdaq Trader Daily Market Files
- Nasdaq Daily Market Summary definitions
- Nasdaq Trader 2026 annual CSV
- Evidence reconciliation