assumptions
Assumptions<{ shock?: SurfaceShock; }> | 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.shock
SurfaceShock | unitless by name | Optional No @default declared; consult the signature and description. |
assumptions.shock.parallel
number | Additive parallel shift applied to every stored IV (in vol points, e.g. `0.02` = +2 vol). unitless by name | Required / declared member No @default declared; consult the signature and description. |
assumptions.shock.skewTilt
number | Skew rotation: adds `skewTilt · k` where `k = ln(K/forward)` (log-moneyness). unitless by name | Required / declared member No @default declared; consult the signature and description. |
assumptions.shock.sticky
'strike' | 'moneyness' | Which quantity the tilt is pinned to: `'strike'` (default) or `'moneyness'`. unitless by name | Required / declared member 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. |
config
{ cosineExpansionTerms: number; dividendYield: number; riskFreeRate: number; sabrBeta: number; sabrVolatilityType: SabrVolatilityType; smoothingBandwidth?: number; } | Config knobs needed to rebuild the per-slice interpolators without re-solving from quotes. unitless by name | Required / declared member No @default declared; consult the signature and description. |
config.cosineExpansionTerms
number | unitless by name | Required / declared member No @default declared; consult the signature and description. |
config.dividendYield
number | decimal rate (0.05 = 5%) | Required / declared member No @default declared; consult the signature and description. |
config.riskFreeRate
number | decimal rate (0.05 = 5%) | Required / declared member No @default declared; consult the signature and description. |
config.sabrBeta
number | unitless by name | Required / declared member No @default declared; consult the signature and description. |
config.sabrVolatilityType
SabrVolatilityType | unitless by name | Required / declared member No @default declared; consult the signature and description. |
config.smoothingBandwidth
number | unitless by name | Optional No @default declared; consult the signature and description. |
diagnostics
Diagnostics | 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. |
essvi
ESSVIParameters | The global eSSVI parameters when `model: 'essvi'`. unitless by name | Optional No @default declared; consult the signature and description. |
essvi.phi
import('@insiderfinance/totalfinance/volatility').SSVIPhi | Curvature function (global), same family as SSVI. unitless by name | Required / declared member No @default declared; consult the signature and description. |
essvi.phi.eta
number | unitless by name | Required / declared member No @default declared; consult the signature and description. |
essvi.phi.gamma
number | unitless by name | Required / declared member No @default declared; consult the signature and description. |
essvi.phi.kind
('heston') | ('power-law') | unitless by name | Required / declared member No @default declared; consult the signature and description. |
essvi.phi.lambda
number | unitless by name | Required / declared member No @default declared; consult the signature and description. |
essvi.thetaTerm
{ timeToExpiryYears: number; theta: number; rho: number; }[] | Per-knot `(t, θ, ρ)`: θ strictly increasing (calendar backbone), ρ ∈ (−1, 1) per maturity. unitless by name | Required / declared member No @default declared; consult the signature and description. |
heston
HestonParameters | The global Heston parameters when `model: 'heston'`. unitless by name | Optional No @default declared; consult the signature and description. |
heston.kappa
number | Mean-reversion speed κ. unitless by name | Required / declared member No @default declared; consult the signature and description. |
heston.rho
number | Spot/variance correlation ρ ∈ [−1, 1]. unitless by name | Required / declared member No @default declared; consult the signature and description. |
heston.sigma
number | Volatility of variance ξ ("vol of vol"). unitless by name | Required / declared member No @default declared; consult the signature and description. |
heston.theta
number | Long-run variance θ. unitless by name | Required / declared member No @default declared; consult the signature and description. |
heston.v0
number | Initial instantaneous variance v₀ (= σ₀²). unitless by name | Required / declared member No @default declared; consult the signature and description. |
model
SurfaceModel | unitless by name | Required / declared member No @default declared; consult the signature and description. |
points
SurfacePoint[] | unitless by name | Required / declared member No @default declared; consult the signature and description. |
referenceSpot
number | unitless by name | Required / declared member No @default declared; consult the signature and description. |
schemaVersion
string | unitless by name | Required / declared member No @default declared; consult the signature and description. |
slices
SurfaceSlice[] | unitless by name | Required / declared member No @default declared; consult the signature and description. |
ssvi
SSVIParameters | The global SSVI parameters when `model: 'ssvi'`. unitless by name | Optional No @default declared; consult the signature and description. |
ssvi.phi
import('@insiderfinance/totalfinance/volatility').SSVIPhi | Curvature function. unitless by name | Required / declared member No @default declared; consult the signature and description. |
ssvi.phi.eta
number | unitless by name | Required / declared member No @default declared; consult the signature and description. |
ssvi.phi.gamma
number | unitless by name | Required / declared member No @default declared; consult the signature and description. |
ssvi.phi.kind
('heston') | ('power-law') | unitless by name | Required / declared member No @default declared; consult the signature and description. |
ssvi.phi.lambda
number | unitless by name | Required / declared member No @default declared; consult the signature and description. |
ssvi.rho
number | Global skew `ρ ∈ (−1, 1)`. unitless by name | Required / declared member No @default declared; consult the signature and description. |
ssvi.thetaTerm
{ timeToExpiryYears: number; theta: number; }[] | ATM total-variance knots `(t, θ)`, strictly increasing in both (calendar-arbitrage-free). unitless by name | Required / declared member No @default declared; consult the signature and description. |