fintech-algorithms

Backward Split Adjustment

Install and import

bash
npm install fintech-algorithms
ts
import { calculate } from "fintech-algorithms/corporate-actions-and-security-master-data/adjustment-factors/backward-split-adjustment";

Signature

calculate(input)

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
{
  "prices": [120, 123, 60, 62],
  "volumes": [1000, 1200, 2400, 2000],
  "eventIndex": 2,
  "postSplitSharesPerPreSplitShare": 2
}

Call

calculate(input)

Returns

object with 4 fields: adjustedPrices, adjustedVolumes, eventIndex, ratioConvention

{
  "adjustedPrices": [60, 61.5, 60, 62],
  "adjustedVolumes": [2000, 2400, 2400, 2000],
  "eventIndex": 2,
  "ratioConvention": "post_split_shares_per_pre_split_share"
}

Diagrams

Backward Split Adjustment — article hero
Backward Split Adjustment — failure guard
Backward Split Adjustment — worked example

Calculation flow

Backward Split Adjustment calculation flow
flowchart LR
    A["Raw series and sourced event"] --> B["Validate identity, dates, and units"]
    B --> C["Normalize ratio as post shares per pre share"]
    C --> D{"Observation before eventIndex?"}
    D -->|Yes| E["Price ÷ r; share quantity × r"]
    D -->|No| F["Keep observation unchanged"]
    E --> G["Derived series with audit metadata"]
    F --> G
    B -->|Invalid or ambiguous| H["Reject with diagnostic"]
Backward Split Adjustment evidence lifecycle
stateDiagram-v2
    [*] --> RawPreserved
    RawPreserved --> EventValidated
    EventValidated --> RatioNormalized
    EventValidated --> Rejected: invalid or ambiguous evidence
    RatioNormalized --> Eligible: available for declared as-of view
    RatioNormalized --> NotYetAvailable: unavailable at decision time
    Eligible --> Applied: transform pre-boundary observations
    Applied --> Audited
    NotYetAvailable --> Audited
    Rejected --> Audited

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

  • Apple Reports Third Quarter Results — Apple Inc.
  • Apple Form 8-K, accession 0001193125-20-213158 — Apple Inc.; filed with the U.S. Securities and Exchange Commission
  • Apple 2020 Form 10-K — Apple Inc.; filed with the U.S. Securities and Exchange Commission
  • CRSP US Stock Data Descriptions Guide — Center for Research in Security Prices, surfaced through WRDS