assumptions
import('@insiderfinance/totalfinance/core').Assumptions<{ benchmarkSharpe: number; observations: number; }> | Every applied convention, echoed back. unitless by name | Required / declared member No @default declared; consult the signature and description. |
assumptions.asOf
number | an instant: epoch milliseconds or a YYYY-MM-DD / zoned ISO string (the resolveAsOf convention) | Optional No @default declared; consult the signature and description. |
assumptions.benchmarkSharpe
number | unitless by name | Required / declared member No @default declared; consult the signature and description. |
assumptions.calendar
string | unitless by name | Optional No @default declared; consult the signature and description. |
assumptions.calendarVersion
string | unitless by name | Optional No @default declared; consult the signature and description. |
assumptions.compounding
import('@insiderfinance/totalfinance/core').InterestCompounding | unitless by name | Optional No @default declared; consult the signature and description. |
assumptions.compounding.periodsPerYear
number | per year (count) | Required / declared member No @default declared; consult the signature and description. |
assumptions.compounding.type
'periodic' | unitless by name | Required / declared member No @default declared; consult the signature and description. |
assumptions.conventionsVersion
string | unitless by name | Required / declared member No @default declared; consult the signature and description. |
assumptions.dayCount
import('@insiderfinance/totalfinance/core').DayCount | count (integer) | Optional No @default declared; consult the signature and description. |
assumptions.dividendModel
import('@insiderfinance/totalfinance/core').DividendModel | unitless by name | Optional No @default declared; consult the signature and description. |
assumptions.engine
string | unitless by name | Optional No @default declared; consult the signature and description. |
assumptions.expiryConvention
'us-equity-close' | 'explicit-instant' | How the contract's expiry label was resolved to an instant: `'us-equity-close'` when a
date-only `YYYY-MM-DD` expiry resolved to the US equity/options close — 16:00 America/New_York,
or 13:00 on an early-close day;
`'explicit-instant'` when the caller supplied a zoned datetime. Named so the convention is
never silent (alignment spec P1.6); instrument builders own the full story in Phase 3. unitless by name | Optional No @default declared; consult the signature and description. |
assumptions.model
string | unitless by name | Optional No @default declared; consult the signature and description. |
assumptions.observations
number | unitless by name | Required / declared member No @default declared; consult the signature and description. |
assumptions.seed
number | The randomness seed this result was computed under — REQUIRED echo for a
`randomness: 'seeded'` Pricer (Gate C, 2026-08-23): a stochastic result that does not name
its seed cannot be replayed from the result alone. Deterministic paths never set it. unitless by name | Optional No @default declared; consult the signature and description. |
assumptions.timeToExpiryConvention
never | unitless by name | Optional No @default declared; consult the signature and description. |
assumptions.timeToExpiryYears
number | years (decimal) | Optional No @default declared; consult the signature and description. |
assumptions.units
import('@insiderfinance/totalfinance/core').GreekUnits | unitless by name | Optional No @default declared; consult the signature and description. |
assumptions.units.rho
import('@insiderfinance/totalfinance/core').RhoUnit | unitless by name | Required / declared member No @default declared; consult the signature and description. |
assumptions.units.theta
import('@insiderfinance/totalfinance/core').ThetaUnit | unitless by name | Required / declared member No @default declared; consult the signature and description. |
assumptions.units.vega
import('@insiderfinance/totalfinance/core').VegaUnit | unitless by name | Required / declared member No @default declared; consult the signature and description. |
diagnostics
import('@insiderfinance/totalfinance/core').Diagnostics | How the value was computed, plus any warnings. unitless by name | Required / declared member No @default declared; consult the signature and description. |
diagnostics.autoReason
string | When a meta-engine (e.g. `engines.auto()`) selected a delegate, this is a one-sentence,
human-readable explanation of WHY that delegate was chosen (`engine` then names the delegate).
Absent when no auto-selection took place. unitless by name | Optional No @default declared; consult the signature and description. |
diagnostics.converged
boolean | Whether an iterative procedure converged. `false` means the value is not trustworthy. unitless by name | Optional No @default declared; consult the signature and description. |
diagnostics.decomposition
Record<string, number> | Named intermediate quantities the value decomposes into — a par spread's protection leg and
risky annuity, a forward variance's near/far legs. The H-series explain paths disclose their
arithmetic here so a caller can audit the ratio, not just receive it (3B.3). unitless by name | Optional No @default declared; consult the signature and description. |
diagnostics.engine
string | Pricing/solver engine name, e.g. `black-scholes-merton`. unitless by name | Optional No @default declared; consult the signature and description. |
diagnostics.finiteDifferenceBumps
Record<string, number> | Finite-difference engines: the ACTUAL bump sizes used for FD Greeks (spec P2.3) — adaptive
near the vol/time boundaries, so the caller can see exactly what was differenced.
Keys: `spotStep`, `volatilityStep`, `timeStepYears`, `rateStep`, and — extended Greeks only —
`dividendYieldStep`. Each is the actual step differenced, in the unit of the coordinate it
bumps. (This doc named the retired `hS`/`hSig`/`hT`/`hR`/`hQ` keys for one release after the
emit sites had moved to the semantic names, so a caller following it read `undefined`.) unitless by name | Optional No @default declared; consult the signature and description. |
diagnostics.iterations
number | Iteration count for iterative methods. unitless by name | Optional No @default declared; consult the signature and description. |
diagnostics.method
string | Numerical method, e.g. `closed-form`, `brent`, `finite-difference`. unitless by name | Optional No @default declared; consult the signature and description. |
diagnostics.selection
import('@insiderfinance/totalfinance/core/pricing').SelectionReport | The structured engine-selection report (Gate C, `@insiderfinance/totalfinance/core/pricing`): who was selected,
why, and — for automatic selection — every candidate considered with its verdict. This is the
machine-readable superset of `engine` + `autoReason` (which remain for compatibility);
`selected.name` always agrees with `engine` when both are present. unitless by name | Optional No @default declared; consult the signature and description. |
diagnostics.selection.candidates
readonly import('@insiderfinance/totalfinance/core/pricing').SelectionCandidate[] | Candidates an automatic selection considered; absent for explicit mode. unitless by name | Optional No @default declared; consult the signature and description. |
diagnostics.selection.mode
'explicit' | 'automatic' | unitless by name | Required / declared member No @default declared; consult the signature and description. |
diagnostics.selection.reason
string | Why the selected engine answers this request. unitless by name | Required / declared member No @default declared; consult the signature and description. |
diagnostics.selection.selected
{ name: string; version?: string; } | unitless by name | Required / declared member No @default declared; consult the signature and description. |
diagnostics.selection.selected.name
string | unitless by name | Required / declared member No @default declared; consult the signature and description. |
diagnostics.selection.selected.version
string | unitless by name | Optional No @default declared; consult the signature and description. |
diagnostics.timingMs
number | Wall-clock timing in milliseconds, when measured. milliseconds | Optional No @default declared; consult the signature and description. |
diagnostics.warmup
number | Series facades: number of leading output slots that are warmup sentinels (null/NaN) while the
computation seeds. Equals the input length when the indicator never emitted. unitless by name | Optional No @default declared; consult the signature and description. |
diagnostics.warnings
QuantWarning[] | Structured warnings; always present (possibly empty). unitless by name | Required / declared member No @default declared; consult the signature and description. |
provenance
import('@insiderfinance/totalfinance/core').Provenance | Optional data lineage when the inputs came from a provider. unitless by name | Optional No @default declared; consult the signature and description. |
provenance.asOf
number | an instant: epoch milliseconds or a YYYY-MM-DD / zoned ISO string (the resolveAsOf convention) | Optional No @default declared; consult the signature and description. |
provenance.dataset
string | unitless by name | Optional No @default declared; consult the signature and description. |
provenance.provider
string | unitless by name | Optional No @default declared; consult the signature and description. |
provenance.receivedAt
number | unitless by name | Optional No @default declared; consult the signature and description. |
provenance.requestId
string | unitless by name | Optional No @default declared; consult the signature and description. |
provenance.sourceVersion
string | unitless by name | Optional No @default declared; consult the signature and description. |
provenance.warnings
QuantWarning[] | unitless by name | Optional No @default declared; consult the signature and description. |
value
number | null | The computed value. Never `NaN` or `±Infinity`: a value the model cannot produce is `null`
beside a diagnostic that says why (Law 7 — a warning never licenses a non-finite number). unitless by name | Required / declared member No @default declared; consult the signature and description. |