assumptions
Assumptions<Record<never, never>> | 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.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.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
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
import('@insiderfinance/totalfinance/core').QuantWarning[] | Structured warnings; always present (possibly empty). unitless by name | Required / declared member No @default declared; consult the signature and description. |
greeks
import('@insiderfinance/totalfinance/options').Greeks | import('@insiderfinance/totalfinance/options').ExtendedGreeks | unitless by name | Optional No @default declared; consult the signature and description. |
greeks.charm
number | unitless by name | Required / declared member No @default declared; consult the signature and description. |
greeks.color
number | unitless by name | Required / declared member No @default declared; consult the signature and description. |
greeks.delta
number | unitless by name | Required / declared member No @default declared; consult the signature and description. |
greeks.gamma
number | unitless by name | Required / declared member No @default declared; consult the signature and description. |
greeks.lambda
number | null | Elasticity / effective leverage `Λ = Δ·S / V` (dimensionless). `null` when the price
underflows to zero (deep-OTM): elasticity is undefined at V = 0 and is disclosed as null with
a `greeks.lambda_undefined` warning on explained paths — never NaN/Infinity (Law 7). unitless by name | Required / declared member No @default declared; consult the signature and description. |
greeks.phi
number | Dividend rho (epsilon) `ε = ∂V/∂q`, per 1% dividend yield (scaled like `rho`). unitless by name | Required / declared member No @default declared; consult the signature and description. |
greeks.rho
number | unitless by name | Required / declared member No @default declared; consult the signature and description. |
greeks.speed
number | unitless by name | Required / declared member No @default declared; consult the signature and description. |
greeks.theta
number | unitless by name | Required / declared member No @default declared; consult the signature and description. |
greeks.ultima
number | `∂vomma/∂σ = ∂³V/∂σ³` (raw). unitless by name | Required / declared member No @default declared; consult the signature and description. |
greeks.vanna
number | unitless by name | Required / declared member No @default declared; consult the signature and description. |
greeks.vega
number | unitless by name | Required / declared member No @default declared; consult the signature and description. |
greeks.vera
number | `∂rho/∂σ = ∂²V/∂r∂σ` (raw, per 1.00 σ; rho here is per 1.00 rate). unitless by name | Required / declared member No @default declared; consult the signature and description. |
greeks.veta
number | `∂vega/∂T` (raw, per year of time-to-expiry; vega here is per 1.00 σ) — the ∂/∂T sibling of vega. unitless by name | Required / declared member No @default declared; consult the signature and description. |
greeks.vomma
number | unitless by name | Required / declared member No @default declared; consult the signature and description. |
greeks.zomma
number | `∂Γ/∂σ = ∂³V/∂S²∂σ` (raw, per 1.00 σ). unitless by name | Required / declared member No @default declared; consult the signature and description. |
monteCarlo
MonteCarloStatistics | unitless by name | Required / declared member No @default declared; consult the signature and description. |
monteCarlo.confidenceInterval
[number, number] | null | Confidence interval at the requested level (default 95%); null for unsupported QMC uncertainty or unrepresentable endpoints (disclosed with nonconvergence), even when standardError is positive. unitless by name | Required / declared member No @default declared; consult the signature and description. |
monteCarlo.method
import('@insiderfinance/totalfinance/options').MonteCarloMethod | The sampling method actually used (may differ from the request if QMC fell back to pseudo). unitless by name | Required / declared member No @default declared; consult the signature and description. |
monteCarlo.paths
number | Number of paths actually evaluated (antithetic pairs count as one path). unitless by name | Required / declared member No @default declared; consult the signature and description. |
monteCarlo.seed
number | The seed, echoed for reproducibility. unitless by name | Required / declared member No @default declared; consult the signature and description. |
monteCarlo.standardError
number | null | Standard error of the mean estimate — `null` for the QUASI-random methods (`sobol`, `halton`).
The sample-variance formula `√(s²/n)` assumes independent draws. A low-discrepancy sequence is
deterministic and negatively correlated by construction, so that formula does not estimate its
error: at 16k Sobol points on a European call it overstated the true deviation by ~75×, and a
confidence interval built from it was neither a confidence nor an interval. QMC error is
estimated by RANDOMIZING the sequence (scrambling/shifting) and taking the variance ACROSS
independent randomizations — which this estimator does not do, so it reports `null` and says so. unitless by name | Required / declared member No @default declared; consult the signature and description. |
monteCarlo.varianceReduction
import('@insiderfinance/totalfinance/options').VarianceReduction | Which variance-reduction techniques were applied. unitless by name | Required / declared member No @default declared; consult the signature and description. |
monteCarlo.varianceReduction.antithetic
boolean | unitless by name | Required / declared member No @default declared; consult the signature and description. |
monteCarlo.varianceReduction.brownianBridge
boolean | unitless by name | Required / declared member No @default declared; consult the signature and description. |
monteCarlo.varianceReduction.controlVariate
boolean | 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
import('@insiderfinance/totalfinance/core').QuantWarning[] | unitless by name | Optional No @default declared; consult the signature and description. |
value
number | 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. |