Skip to content

SimulateResult

Defined in: types/domain.ts:152

Result returned by simulate.

Every monetary field is a banker’s-rounded decimal string in EUR; rate fields are decimal strings expressed as fractions (e.g. "0.02750" for 2.75% per annum). The shape is JSON-serializable as-is.

readonly accruedSinceLastCapitalization: string;

Defined in: types/domain.ts:217

Gross interest accumulated since the last capitalization, when asOfDate falls strictly inside an open quarter; "0.00" otherwise.

This is a library convention, not an IGCP-published number. It is computed as balance × quarterlyRate × elapsedDays / totalDays (calendar-day pro-rata of the would-be quarterly interest) at full precision, and rounded to cents only here at serialization. IRS is not withheld on this amount — withholding only occurs at capitalization, so callers projecting a “value if redeemed today” should subtract the expected withholding themselves (accrued × irsRate).

Surface this as a separate informational field rather than folding it into currentValue* / totalInterest* so audit trails against IGCP statements stay clean.


readonly asOfDate: string;

Defined in: types/domain.ts:155


readonly currentUnitQuote: string;

Defined in: types/domain.ts:173

Current per-unit net quote after completed capitalizations, rounded to the series’ SeriesMetadata.unitQuoteDecimals. This is the primary booked-value state used to mirror IGCP’s quote model.


readonly currentValueGross: string;

Defined in: types/domain.ts:167

Principal + sum of capitalized gross interest. Derived from a single full-precision running balance and rounded to cents at serialization. Gross interest itself is booked per quarter at holding-level cent precision for totalInterestGross. Excludes any partial interest accrued since the last capitalization (see accruedSinceLastCapitalization).


readonly currentValueNet: string;

Defined in: types/domain.ts:179

Booked net value for the holding, computed as round(units × currentUnitQuote, 2), matching what aforro.net displays for an already-booked cohort on the as-of date. Excludes accrued.


readonly irsRate: string;

Defined in: types/domain.ts:158

Effective IRS rate applied this run, formatted to 4 decimals.


readonly matured: boolean;

Defined in: types/domain.ts:199


readonly maturityDate: string;

Defined in: types/domain.ts:200


readonly optional schedule?: readonly ScheduleRow[];

Defined in: types/domain.ts:219


readonly series: SeriesCode;

Defined in: types/domain.ts:153


readonly seriesMetadata: SeriesMetadata;

Defined in: types/domain.ts:218


readonly subscriptionDate: string;

Defined in: types/domain.ts:154


readonly totalInterestGross: string;

Defined in: types/domain.ts:185

Sum of every quarter’s gross interest, with each quarter cent-rounded at the holding level before accumulation. Reconciles exactly with the sum of ScheduleRow.interestGross across schedule rows.


readonly totalInterestNet: string;

Defined in: types/domain.ts:192

Sum of every quarter’s net interest (gross − IRS), with each quarter computed from cent-rounded holding-level gross interest and IRS withholding before accumulation. Reconciles exactly with the sum of ScheduleRow.interestNet across schedule rows.


readonly totalIrsWithheld: string;

Defined in: types/domain.ts:198

Sum of every quarter’s IRS withholding, with each quarter cent-rounded at the holding level before accumulation. Reconciles exactly with the sum of ScheduleRow.irsWithheld across schedule rows.


readonly units: number;

Defined in: types/domain.ts:156