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.
Properties
Section titled “Properties”accruedSinceLastCapitalization
Section titled “accruedSinceLastCapitalization”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.
asOfDate
Section titled “asOfDate”readonly asOfDate: string;Defined in: types/domain.ts:155
currentUnitQuote
Section titled “currentUnitQuote”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.
currentValueGross
Section titled “currentValueGross”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).
currentValueNet
Section titled “currentValueNet”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.
irsRate
Section titled “irsRate”readonly irsRate: string;Defined in: types/domain.ts:158
Effective IRS rate applied this run, formatted to 4 decimals.
matured
Section titled “matured”readonly matured: boolean;Defined in: types/domain.ts:199
maturityDate
Section titled “maturityDate”readonly maturityDate: string;Defined in: types/domain.ts:200
schedule?
Section titled “schedule?”readonly optional schedule?: readonly ScheduleRow[];Defined in: types/domain.ts:219
series
Section titled “series”readonly series: SeriesCode;Defined in: types/domain.ts:153
seriesMetadata
Section titled “seriesMetadata”readonly seriesMetadata: SeriesMetadata;Defined in: types/domain.ts:218
subscriptionDate
Section titled “subscriptionDate”readonly subscriptionDate: string;Defined in: types/domain.ts:154
totalInterestGross
Section titled “totalInterestGross”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.
totalInterestNet
Section titled “totalInterestNet”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.
totalIrsWithheld
Section titled “totalIrsWithheld”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