Stock-Split/Consolidation EPS Restatement
Install and import
npm install fintech-algorithmsimport { restateEpsForCapitalEvents } from "fintech-algorithms/earnings-and-per-share-analytics/earnings-and-share-foundations/stock-split-consolidation-eps-restatement";Signature
restateEpsForCapitalEvents(input)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
{
"accounting_framework": "IFRS",
"currency": "USD",
"statements_authorized_for_issue_date": "2026-02-20",
"earnings_scale": "1000",
"share_scale": "1000",
"share_decimal_places": 0,
"eps_decimal_places": 4,
"rounding_mode": "half_even",
"restatement_policy": "Apply IAS 33.64 retrospectively through authorization.",
"event_source_policy": "Board-approved and legally effective capital events.",
"events": [
{
"event_id": "SPLIT-2026-01",
"effective_date": "2026-01-15",
"event_type": "stock_split",
"post_split_shares": "2",
"pre_split_shares": "1",
"event_is_effective": true,
"changes_resources": false
}
],
"periods": [
{
"period_id": "FY2025",
"period_start": "2025-01-01",
"period_end": "2025-12-31",
"basis_date": "2025-12-31",
"basis_is_uniform": true,
"earnings_available_to_ordinary_shareholders": "8000",
"weighted_average_ordinary_shares": "2000",
"is_final": true
}
]
}Call
restateEpsForCapitalEvents(input)Returns
object with 6 fields: metric, accounting_framework, currency, statements_authorized_for_issue_date, status, rows
{
"metric": "stock_split_consolidation_eps_restatement",
"accounting_framework": "IFRS",
"currency": "USD",
"statements_authorized_for_issue_date": "2026-02-20",
"status": "final",
"rows": [
{
"period_id": "FY2025",
"period_start": "2025-01-01",
"period_end": "2025-12-31",
"source_basis_date": "2025-12-31",
"applied_event_ids": ["SPLIT-2026-01"],
"factor_numerator": "2",
"factor_denominator": "1",
"earnings_available_to_ordinary_shareholders": "8000000",
"pre_restatement_shares": "2000000",
"restated_shares": "4000000",
"pre_restatement_basic_eps": "4.0000",
"restated_basic_eps": "2.0000",
"share_rounding_adjusted": false,
"eps_rounding_adjusted": false
}
]
}Diagrams
Calculation flow
Post-period authorization window
sequenceDiagram participant P as "FY2025 ends" participant S as "2-for-1 split" participant A as "Statements authorized" P->>S: "2025-12-31" S->>A: "Effective 2026-01-15" A-->>P: "Present FY2025 on the new share basis"
Restatement calculation flow
flowchart LR A["Validated period row"] --> B["Read uniform source basis date"] E["Effective ordered events through authorization"] --> C["Select events after basis date"] B --> C C --> D["Multiply exact factors"] D --> F["Restated shares = source shares × factor"] A --> G["Preserve earnings numerator"] F --> H["Restated EPS = earnings ÷ restated shares"] G --> H H --> I["Round display fields and emit diagnostics"]
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
- Primary accounting sources
- Historical case sources
- Technical sources
- Applicability and limitations