The finance developer workbenchSearch the reference Development · 0.1.4 · unpublished

value

CURVE_MODEL_FAMILIES

Public declaration. Read the signature and parameter/member contracts below; no additional behavior is inferred.

export declare const CURVE_MODEL_FAMILIES: readonly CurveModelFamily[];
Stability, warnings & conventions
stable-by-law (pre-1.0; not a 1.0 stability guarantee)

Declared field units are shown above. “Unitless by name” means the name alone does not establish a unit, not that a financial quantity has none. Check source descriptions, conventions, and the returned diagnostics. Errors and warnings are part of the result contract.

type

CalibrationOf

Public declaration. Read the signature and parameter/member contracts below; no additional behavior is inferred.

export type CalibrationOf<F extends CurveModelFamily> = CurveCalibrations[F];
Stability, warnings & conventions
stable-by-law (pre-1.0; not a 1.0 stability guarantee)

Declared field units are shown above. “Unitless by name” means the name alone does not establish a unit, not that a financial quantity has none. Check source descriptions, conventions, and the returned diagnostics. Errors and warnings are part of the result contract.

interface

CurveCalibrations

The direct bootstrap's input per family, verbatim (live curves where the bootstrap takes them).

/** The direct bootstrap's input per family, verbatim (live curves where the bootstrap takes them). */
export interface CurveCalibrations {
    'discount-curve': {
        instruments: BootstrapInstrument[];
        options: BootstrapOptions;
    };
    'projection-curve': {
        instruments: BootstrapInstrument[];
        options: ProjectionBootstrapOptions;
    };
    'multi-curve': {
        options: MultiCurveBootstrapOptions;
    };
    'hazard-curve': {
        quotes: CdsQuote[];
        options: HazardBootstrapOptions;
    };
}
Fields, parameters & returned members (87)
Name / typeMeaning & unitOptional / default
discount-curve
{ instruments: BootstrapInstrument[]; options: BootstrapOptions; }

unitless by name
Required / declared member
No @default declared; consult the signature and description.
discount-curve.instruments
BootstrapInstrument[]

unitless by name
Required / declared member
No @default declared; consult the signature and description.
discount-curve.options
BootstrapOptions

unitless by name
Required / declared member
No @default declared; consult the signature and description.
discount-curve.options.dayCount
import('@insiderfinance/totalfinance/fixed-income').FixedIncomeDayCount
Curve day count (default `ACT/365F`).
count (integer)
Optional
No @default declared; consult the signature and description.
discount-curve.options.extrapolation
import('@insiderfinance/totalfinance/fixed-income').CurveExtrapolation

unitless by name
Optional
No @default declared; consult the signature and description.
discount-curve.options.interpolation
import('@insiderfinance/totalfinance/fixed-income').CurveInterpolation

unitless by name
Optional
No @default declared; consult the signature and description.
discount-curve.options.referenceDate
string
Curve reference/settlement date (t = 0).
calendar date (YYYY-MM-DD)
Required / declared member
No @default declared; consult the signature and description.
hazard-curve
{ quotes: CdsQuote[]; options: HazardBootstrapOptions; }

unitless by name
Required / declared member
No @default declared; consult the signature and description.
hazard-curve.options
HazardBootstrapOptions

unitless by name
Required / declared member
No @default declared; consult the signature and description.
hazard-curve.options.accrualOnDefault
boolean

unitless by name
Optional
No @default declared; consult the signature and description.
hazard-curve.options.dayCount
import('@insiderfinance/totalfinance/fixed-income').FixedIncomeDayCount

count (integer)
Optional
No @default declared; consult the signature and description.
hazard-curve.options.discountCurve
YieldCurve

unitless by name
Required / declared member
No @default declared; consult the signature and description.
hazard-curve.options.discountCurve.addSpread
(spread: YieldCurve) => YieldCurve
Combine with a term-structure spread curve: the continuous zeros ADD at each tenor (equivalently discount factors multiply, `D(t)·D_spread(t)`). Unions both curves' pillar tenors so the spread's shape — not just a level — is preserved. Used to discount over `benchmark + spread` (e.g. OIS + a sector/rating spread) while keeping curve construction out of leaf entrypoints.
unitless by name
Required / declared member
No @default declared; consult the signature and description.
hazard-curve.options.discountCurve.addSpread(spread)
YieldCurve

unitless by name
Required / declared member
No @default declared; consult the signature and description.
hazard-curve.options.discountCurve.bumpPillar
(index: number, delta: number) => YieldCurve
Bump a single pillar's continuous zero by `delta` (key-rate risk).
unitless by name
Required / declared member
No @default declared; consult the signature and description.
hazard-curve.options.discountCurve.bumpPillar(delta)
number

unitless by name
Required / declared member
No @default declared; consult the signature and description.
hazard-curve.options.discountCurve.bumpPillar(index)
number

unitless by name
Required / declared member
No @default declared; consult the signature and description.
hazard-curve.options.discountCurve.dayCount
import('@insiderfinance/totalfinance/fixed-income').FixedIncomeDayCount

count (integer)
Required / declared member
No @default declared; consult the signature and description.
hazard-curve.options.discountCurve.discount
(at: string | number) => number
Discount factor to a date or year fraction.
unitless by name
Required / declared member
No @default declared; consult the signature and description.
hazard-curve.options.discountCurve.discount(at)
string | number

unitless by name
Required / declared member
No @default declared; consult the signature and description.
hazard-curve.options.discountCurve.extrapolation
import('@insiderfinance/totalfinance/fixed-income').CurveExtrapolation

unitless by name
Required / declared member
No @default declared; consult the signature and description.
hazard-curve.options.discountCurve.forwardRate
(from: string | number, to: string | number, dayCount?: import('@insiderfinance/totalfinance/fixed-income').FixedIncomeDayCount) => number
Simple (money-market) forward rate between two times/dates under `dayCount`.
decimal rate (0.05 = 5%)
Required / declared member
No @default declared; consult the signature and description.
hazard-curve.options.discountCurve.forwardRate(dayCount)
import('@insiderfinance/totalfinance/fixed-income').FixedIncomeDayCount | undefined

unitless by name
Optional
No @default declared; consult the signature and description.
hazard-curve.options.discountCurve.forwardRate(from)
string | number

unitless by name
Required / declared member
No @default declared; consult the signature and description.
hazard-curve.options.discountCurve.forwardRate(to)
string | number

unitless by name
Required / declared member
No @default declared; consult the signature and description.
hazard-curve.options.discountCurve.instantaneousForward
(at: string | number) => number
Instantaneous (continuously-compounded) forward rate at a time/date.
unitless by name
Required / declared member
No @default declared; consult the signature and description.
hazard-curve.options.discountCurve.instantaneousForward(at)
string | number

unitless by name
Required / declared member
No @default declared; consult the signature and description.
hazard-curve.options.discountCurve.interpolation
import('@insiderfinance/totalfinance/fixed-income').CurveInterpolation

unitless by name
Required / declared member
No @default declared; consult the signature and description.
hazard-curve.options.discountCurve.pillars
readonly import('@insiderfinance/totalfinance/fixed-income').CurvePillar[]

unitless by name
Required / declared member
No @default declared; consult the signature and description.
hazard-curve.options.discountCurve.referenceDate
string

calendar date (YYYY-MM-DD)
Required / declared member
No @default declared; consult the signature and description.
hazard-curve.options.discountCurve.shift
(delta: number) => YieldCurve
Parallel shift of every pillar's continuous zero by `delta` (e.g. +0.0001 = +1bp).
unitless by name
Required / declared member
No @default declared; consult the signature and description.
hazard-curve.options.discountCurve.shift(delta)
number

unitless by name
Required / declared member
No @default declared; consult the signature and description.
hazard-curve.options.discountCurve.timeTo
(at: string | number) => number
Year fraction from the reference date to a date (or pass a number through unchanged).
unitless by name
Required / declared member
No @default declared; consult the signature and description.
hazard-curve.options.discountCurve.timeTo(at)
string | number

unitless by name
Required / declared member
No @default declared; consult the signature and description.
hazard-curve.options.discountCurve.zeroRate
(at: string | number, compounding?: import('@insiderfinance/totalfinance/core').InterestCompounding) => number
Zero rate to a date or year fraction, in the requested compounding (default continuous).
decimal rate (0.05 = 5%)
Required / declared member
No @default declared; consult the signature and description.
hazard-curve.options.discountCurve.zeroRate(at)
string | number

unitless by name
Required / declared member
No @default declared; consult the signature and description.
hazard-curve.options.discountCurve.zeroRate(compounding)
import('@insiderfinance/totalfinance/core').InterestCompounding | undefined

unitless by name
Optional
No @default declared; consult the signature and description.
hazard-curve.options.discountCurve.zeroRate(compounding).periodsPerYear
number

per year (count)
Required / declared member
No @default declared; consult the signature and description.
hazard-curve.options.discountCurve.zeroRate(compounding).type
'periodic'

unitless by name
Required / declared member
No @default declared; consult the signature and description.
hazard-curve.options.frequency
import('@insiderfinance/totalfinance/fixed-income').Frequency

unitless by name
Optional
No @default declared; consult the signature and description.
hazard-curve.options.protectionSteps
number

unitless by name
Optional
No @default declared; consult the signature and description.
hazard-curve.options.recovery
number

unitless by name
Optional
No @default declared; consult the signature and description.
hazard-curve.options.referenceDate
string

calendar date (YYYY-MM-DD)
Required / declared member
No @default declared; consult the signature and description.
hazard-curve.quotes
CdsQuote[]

unitless by name
Required / declared member
No @default declared; consult the signature and description.
multi-curve
{ options: MultiCurveBootstrapOptions; }

unitless by name
Required / declared member
No @default declared; consult the signature and description.
multi-curve.options
MultiCurveBootstrapOptions

unitless by name
Required / declared member
No @default declared; consult the signature and description.
multi-curve.options.dayCount
import('@insiderfinance/totalfinance/fixed-income').FixedIncomeDayCount
Curve day count (default `ACT/365F`).
count (integer)
Optional
No @default declared; consult the signature and description.
multi-curve.options.extrapolation
import('@insiderfinance/totalfinance/fixed-income').CurveExtrapolation

unitless by name
Optional
No @default declared; consult the signature and description.
multi-curve.options.interpolation
import('@insiderfinance/totalfinance/fixed-income').CurveInterpolation

unitless by name
Optional
No @default declared; consult the signature and description.
multi-curve.options.ois
BootstrapInstrument[]
Instruments defining the OIS discount curve (self-discounting).
unitless by name
Required / declared member
No @default declared; consult the signature and description.
multi-curve.options.projection
BootstrapInstrument[]
Instruments defining the index projection curve (discounted on the OIS curve).
unitless by name
Required / declared member
No @default declared; consult the signature and description.
multi-curve.options.referenceDate
string
Curve reference/settlement date (t = 0).
calendar date (YYYY-MM-DD)
Required / declared member
No @default declared; consult the signature and description.
projection-curve
{ instruments: BootstrapInstrument[]; options: ProjectionBootstrapOptions; }

unitless by name
Required / declared member
No @default declared; consult the signature and description.
projection-curve.instruments
BootstrapInstrument[]

unitless by name
Required / declared member
No @default declared; consult the signature and description.
projection-curve.options
ProjectionBootstrapOptions

unitless by name
Required / declared member
No @default declared; consult the signature and description.
projection-curve.options.dayCount
import('@insiderfinance/totalfinance/fixed-income').FixedIncomeDayCount
Curve day count (default `ACT/365F`).
count (integer)
Optional
No @default declared; consult the signature and description.
projection-curve.options.discountCurve
YieldCurve
The (OIS) discount curve. Each par swap discounts its legs on THIS curve while its floating forwards project off the curve being built — the post-2008 dual-curve convention. Build it first with {@link bootstrap} (self-discounting OIS), then pass it here.
unitless by name
Required / declared member
No @default declared; consult the signature and description.
projection-curve.options.discountCurve.addSpread
(spread: YieldCurve) => YieldCurve
Combine with a term-structure spread curve: the continuous zeros ADD at each tenor (equivalently discount factors multiply, `D(t)·D_spread(t)`). Unions both curves' pillar tenors so the spread's shape — not just a level — is preserved. Used to discount over `benchmark + spread` (e.g. OIS + a sector/rating spread) while keeping curve construction out of leaf entrypoints.
unitless by name
Required / declared member
No @default declared; consult the signature and description.
projection-curve.options.discountCurve.addSpread(spread)
YieldCurve

unitless by name
Required / declared member
No @default declared; consult the signature and description.
projection-curve.options.discountCurve.bumpPillar
(index: number, delta: number) => YieldCurve
Bump a single pillar's continuous zero by `delta` (key-rate risk).
unitless by name
Required / declared member
No @default declared; consult the signature and description.
projection-curve.options.discountCurve.bumpPillar(delta)
number

unitless by name
Required / declared member
No @default declared; consult the signature and description.
projection-curve.options.discountCurve.bumpPillar(index)
number

unitless by name
Required / declared member
No @default declared; consult the signature and description.
projection-curve.options.discountCurve.dayCount
import('@insiderfinance/totalfinance/fixed-income').FixedIncomeDayCount

count (integer)
Required / declared member
No @default declared; consult the signature and description.
projection-curve.options.discountCurve.discount
(at: string | number) => number
Discount factor to a date or year fraction.
unitless by name
Required / declared member
No @default declared; consult the signature and description.
projection-curve.options.discountCurve.discount(at)
string | number

unitless by name
Required / declared member
No @default declared; consult the signature and description.
projection-curve.options.discountCurve.extrapolation
import('@insiderfinance/totalfinance/fixed-income').CurveExtrapolation

unitless by name
Required / declared member
No @default declared; consult the signature and description.
projection-curve.options.discountCurve.forwardRate
(from: string | number, to: string | number, dayCount?: import('@insiderfinance/totalfinance/fixed-income').FixedIncomeDayCount) => number
Simple (money-market) forward rate between two times/dates under `dayCount`.
decimal rate (0.05 = 5%)
Required / declared member
No @default declared; consult the signature and description.
projection-curve.options.discountCurve.forwardRate(dayCount)
import('@insiderfinance/totalfinance/fixed-income').FixedIncomeDayCount | undefined

unitless by name
Optional
No @default declared; consult the signature and description.
projection-curve.options.discountCurve.forwardRate(from)
string | number

unitless by name
Required / declared member
No @default declared; consult the signature and description.
projection-curve.options.discountCurve.forwardRate(to)
string | number

unitless by name
Required / declared member
No @default declared; consult the signature and description.
projection-curve.options.discountCurve.instantaneousForward
(at: string | number) => number
Instantaneous (continuously-compounded) forward rate at a time/date.
unitless by name
Required / declared member
No @default declared; consult the signature and description.
projection-curve.options.discountCurve.instantaneousForward(at)
string | number

unitless by name
Required / declared member
No @default declared; consult the signature and description.
projection-curve.options.discountCurve.interpolation
import('@insiderfinance/totalfinance/fixed-income').CurveInterpolation

unitless by name
Required / declared member
No @default declared; consult the signature and description.
projection-curve.options.discountCurve.pillars
readonly import('@insiderfinance/totalfinance/fixed-income').CurvePillar[]

unitless by name
Required / declared member
No @default declared; consult the signature and description.
projection-curve.options.discountCurve.referenceDate
string

calendar date (YYYY-MM-DD)
Required / declared member
No @default declared; consult the signature and description.
projection-curve.options.discountCurve.shift
(delta: number) => YieldCurve
Parallel shift of every pillar's continuous zero by `delta` (e.g. +0.0001 = +1bp).
unitless by name
Required / declared member
No @default declared; consult the signature and description.
projection-curve.options.discountCurve.shift(delta)
number

unitless by name
Required / declared member
No @default declared; consult the signature and description.
projection-curve.options.discountCurve.timeTo
(at: string | number) => number
Year fraction from the reference date to a date (or pass a number through unchanged).
unitless by name
Required / declared member
No @default declared; consult the signature and description.
projection-curve.options.discountCurve.timeTo(at)
string | number

unitless by name
Required / declared member
No @default declared; consult the signature and description.
projection-curve.options.discountCurve.zeroRate
(at: string | number, compounding?: import('@insiderfinance/totalfinance/core').InterestCompounding) => number
Zero rate to a date or year fraction, in the requested compounding (default continuous).
decimal rate (0.05 = 5%)
Required / declared member
No @default declared; consult the signature and description.
projection-curve.options.discountCurve.zeroRate(at)
string | number

unitless by name
Required / declared member
No @default declared; consult the signature and description.
projection-curve.options.discountCurve.zeroRate(compounding)
import('@insiderfinance/totalfinance/core').InterestCompounding | undefined

unitless by name
Optional
No @default declared; consult the signature and description.
projection-curve.options.discountCurve.zeroRate(compounding).periodsPerYear
number

per year (count)
Required / declared member
No @default declared; consult the signature and description.
projection-curve.options.discountCurve.zeroRate(compounding).type
'periodic'

unitless by name
Required / declared member
No @default declared; consult the signature and description.
projection-curve.options.extrapolation
import('@insiderfinance/totalfinance/fixed-income').CurveExtrapolation

unitless by name
Optional
No @default declared; consult the signature and description.
projection-curve.options.interpolation
import('@insiderfinance/totalfinance/fixed-income').CurveInterpolation

unitless by name
Optional
No @default declared; consult the signature and description.
projection-curve.options.referenceDate
string
Curve reference/settlement date (t = 0).
calendar date (YYYY-MM-DD)
Required / declared member
No @default declared; consult the signature and description.
Stability, warnings & conventions
stable-by-law (pre-1.0; not a 1.0 stability guarantee)

Declared field units are shown above. “Unitless by name” means the name alone does not establish a unit, not that a financial quantity has none. Check source descriptions, conventions, and the returned diagnostics. Errors and warnings are part of the result contract.

interface

CurveEvaluationDifference

Public declaration. Read the signature and parameter/member contracts below; no additional behavior is inferred.

export interface CurveEvaluationDifference {
    measure: string;
    unit: string;
    grid: Array<Record<string, number | string>>;
    comparedCount: number;
    nullCount: number;
    maximumAbsoluteDifference: number | null;
    rootMeanSquareDifference: number | null;
    placement: string;
}
Fields, parameters & returned members (8)
Name / typeMeaning & unitOptional / default
comparedCount
number

count (integer)
Required / declared member
No @default declared; consult the signature and description.
grid
Record<string, string | number>[]

unitless by name
Required / declared member
No @default declared; consult the signature and description.
maximumAbsoluteDifference
number | null

unitless by name
Required / declared member
No @default declared; consult the signature and description.
measure
string

unitless by name
Required / declared member
No @default declared; consult the signature and description.
nullCount
number

count (integer)
Required / declared member
No @default declared; consult the signature and description.
placement
string

unitless by name
Required / declared member
No @default declared; consult the signature and description.
rootMeanSquareDifference
number | null

unitless by name
Required / declared member
No @default declared; consult the signature and description.
unit
string

unitless by name
Required / declared member
No @default declared; consult the signature and description.
Stability, warnings & conventions
stable-by-law (pre-1.0; not a 1.0 stability guarantee)

Declared field units are shown above. “Unitless by name” means the name alone does not establish a unit, not that a financial quantity has none. Check source descriptions, conventions, and the returned diagnostics. Errors and warnings are part of the result contract.

interface

CurveEvaluations

What `evaluateFittedModel` takes per family — the restored curve's own query, at dates.

/** What `evaluateFittedModel` takes per family — the restored curve's own query, at dates. */
export interface CurveEvaluations {
    'discount-curve': {
        dates: string[];
        measure: YieldCurveMeasure;
    };
    'projection-curve': {
        dates: string[];
        measure: YieldCurveMeasure;
    };
    'multi-curve': {
        curve: 'discountCurve' | 'forecastCurve';
        dates: string[];
        measure: YieldCurveMeasure;
    };
    'hazard-curve': {
        dates: string[];
        measure: SurvivalCurveMeasure;
    };
}
Fields, parameters & returned members (13)
Name / typeMeaning & unitOptional / default
discount-curve
{ dates: string[]; measure: YieldCurveMeasure; }

unitless by name
Required / declared member
No @default declared; consult the signature and description.
discount-curve.dates
string[]

unitless by name
Required / declared member
No @default declared; consult the signature and description.
discount-curve.measure
YieldCurveMeasure

unitless by name
Required / declared member
No @default declared; consult the signature and description.
hazard-curve
{ dates: string[]; measure: SurvivalCurveMeasure; }

unitless by name
Required / declared member
No @default declared; consult the signature and description.
hazard-curve.dates
string[]

unitless by name
Required / declared member
No @default declared; consult the signature and description.
hazard-curve.measure
SurvivalCurveMeasure

unitless by name
Required / declared member
No @default declared; consult the signature and description.
multi-curve
{ curve: 'discountCurve' | 'forecastCurve'; dates: string[]; measure: YieldCurveMeasure; }

unitless by name
Required / declared member
No @default declared; consult the signature and description.
multi-curve.curve
'discountCurve' | 'forecastCurve'

unitless by name
Required / declared member
No @default declared; consult the signature and description.
multi-curve.dates
string[]

unitless by name
Required / declared member
No @default declared; consult the signature and description.
multi-curve.measure
YieldCurveMeasure

unitless by name
Required / declared member
No @default declared; consult the signature and description.
projection-curve
{ dates: string[]; measure: YieldCurveMeasure; }

unitless by name
Required / declared member
No @default declared; consult the signature and description.
projection-curve.dates
string[]

unitless by name
Required / declared member
No @default declared; consult the signature and description.
projection-curve.measure
YieldCurveMeasure

unitless by name
Required / declared member
No @default declared; consult the signature and description.
Stability, warnings & conventions
stable-by-law (pre-1.0; not a 1.0 stability guarantee)

Declared field units are shown above. “Unitless by name” means the name alone does not establish a unit, not that a financial quantity has none. Check source descriptions, conventions, and the returned diagnostics. Errors and warnings are part of the result contract.

interface

CurveFits

The stored fit per family: the live result's own data members.

/** The stored fit per family: the live result's own data members. */
export interface CurveFits {
    'discount-curve': YieldCurveData;
    'projection-curve': YieldCurveData;
    'multi-curve': {
        discountCurve: YieldCurveData;
        forecastCurve: YieldCurveData;
    };
    'hazard-curve': SurvivalCurveData;
}
Fields, parameters & returned members (33)
Name / typeMeaning & unitOptional / default
discount-curve
YieldCurveData

unitless by name
Required / declared member
No @default declared; consult the signature and description.
discount-curve.dayCount
import('@insiderfinance/totalfinance/fixed-income').FixedIncomeDayCount

count (integer)
Required / declared member
No @default declared; consult the signature and description.
discount-curve.extrapolation
import('@insiderfinance/totalfinance/fixed-income').CurveExtrapolation

unitless by name
Required / declared member
No @default declared; consult the signature and description.
discount-curve.interpolation
import('@insiderfinance/totalfinance/fixed-income').CurveInterpolation

unitless by name
Required / declared member
No @default declared; consult the signature and description.
discount-curve.pillars
import('@insiderfinance/totalfinance/fixed-income').CurvePillar[]

unitless by name
Required / declared member
No @default declared; consult the signature and description.
discount-curve.referenceDate
string

calendar date (YYYY-MM-DD)
Required / declared member
No @default declared; consult the signature and description.
discount-curve.zeroRateAtOrigin
import('@insiderfinance/totalfinance/fixed-income/artifacts').ZeroRateAtOrigin

unitless by name
Required / declared member
No @default declared; consult the signature and description.
hazard-curve
SurvivalCurveData

unitless by name
Required / declared member
No @default declared; consult the signature and description.
hazard-curve.dayCount
import('@insiderfinance/totalfinance/fixed-income').FixedIncomeDayCount

count (integer)
Required / declared member
No @default declared; consult the signature and description.
hazard-curve.pillars
import('@insiderfinance/totalfinance/fixed-income').SurvivalPillar[]

unitless by name
Required / declared member
No @default declared; consult the signature and description.
hazard-curve.referenceDate
string

calendar date (YYYY-MM-DD)
Required / declared member
No @default declared; consult the signature and description.
multi-curve
{ discountCurve: YieldCurveData; forecastCurve: YieldCurveData; }

unitless by name
Required / declared member
No @default declared; consult the signature and description.
multi-curve.discountCurve
YieldCurveData

unitless by name
Required / declared member
No @default declared; consult the signature and description.
multi-curve.discountCurve.dayCount
import('@insiderfinance/totalfinance/fixed-income').FixedIncomeDayCount

count (integer)
Required / declared member
No @default declared; consult the signature and description.
multi-curve.discountCurve.extrapolation
import('@insiderfinance/totalfinance/fixed-income').CurveExtrapolation

unitless by name
Required / declared member
No @default declared; consult the signature and description.
multi-curve.discountCurve.interpolation
import('@insiderfinance/totalfinance/fixed-income').CurveInterpolation

unitless by name
Required / declared member
No @default declared; consult the signature and description.
multi-curve.discountCurve.pillars
import('@insiderfinance/totalfinance/fixed-income').CurvePillar[]

unitless by name
Required / declared member
No @default declared; consult the signature and description.
multi-curve.discountCurve.referenceDate
string

calendar date (YYYY-MM-DD)
Required / declared member
No @default declared; consult the signature and description.
multi-curve.discountCurve.zeroRateAtOrigin
import('@insiderfinance/totalfinance/fixed-income/artifacts').ZeroRateAtOrigin

unitless by name
Required / declared member
No @default declared; consult the signature and description.
multi-curve.forecastCurve
YieldCurveData

unitless by name
Required / declared member
No @default declared; consult the signature and description.
multi-curve.forecastCurve.dayCount
import('@insiderfinance/totalfinance/fixed-income').FixedIncomeDayCount

count (integer)
Required / declared member
No @default declared; consult the signature and description.
multi-curve.forecastCurve.extrapolation
import('@insiderfinance/totalfinance/fixed-income').CurveExtrapolation

unitless by name
Required / declared member
No @default declared; consult the signature and description.
multi-curve.forecastCurve.interpolation
import('@insiderfinance/totalfinance/fixed-income').CurveInterpolation

unitless by name
Required / declared member
No @default declared; consult the signature and description.
multi-curve.forecastCurve.pillars
import('@insiderfinance/totalfinance/fixed-income').CurvePillar[]

unitless by name
Required / declared member
No @default declared; consult the signature and description.
multi-curve.forecastCurve.referenceDate
string

calendar date (YYYY-MM-DD)
Required / declared member
No @default declared; consult the signature and description.
multi-curve.forecastCurve.zeroRateAtOrigin
import('@insiderfinance/totalfinance/fixed-income/artifacts').ZeroRateAtOrigin

unitless by name
Required / declared member
No @default declared; consult the signature and description.
projection-curve
YieldCurveData

unitless by name
Required / declared member
No @default declared; consult the signature and description.
projection-curve.dayCount
import('@insiderfinance/totalfinance/fixed-income').FixedIncomeDayCount

count (integer)
Required / declared member
No @default declared; consult the signature and description.
projection-curve.extrapolation
import('@insiderfinance/totalfinance/fixed-income').CurveExtrapolation

unitless by name
Required / declared member
No @default declared; consult the signature and description.
projection-curve.interpolation
import('@insiderfinance/totalfinance/fixed-income').CurveInterpolation

unitless by name
Required / declared member
No @default declared; consult the signature and description.
projection-curve.pillars
import('@insiderfinance/totalfinance/fixed-income').CurvePillar[]

unitless by name
Required / declared member
No @default declared; consult the signature and description.
projection-curve.referenceDate
string

calendar date (YYYY-MM-DD)
Required / declared member
No @default declared; consult the signature and description.
projection-curve.zeroRateAtOrigin
import('@insiderfinance/totalfinance/fixed-income/artifacts').ZeroRateAtOrigin

unitless by name
Required / declared member
No @default declared; consult the signature and description.
Stability, warnings & conventions
stable-by-law (pre-1.0; not a 1.0 stability guarantee)

Declared field units are shown above. “Unitless by name” means the name alone does not establish a unit, not that a financial quantity has none. Check source descriptions, conventions, and the returned diagnostics. Errors and warnings are part of the result contract.

type

CurveFittedModelReport

The typed report every curve verb reads and writes — the artifact's `result`, verbatim.

/** The typed report every curve verb reads and writes — the artifact's `result`, verbatim. */
export type CurveFittedModelReport<F extends CurveModelFamily = CurveModelFamily> = Readonly<Record<string, unknown>> & {
    family: F;
    modelVersion: number;
    summary: FittedModelSummary;
    /** The bootstrap's result as its own data (restored exactly by the public constructors). */
    fit: FitOf<F>;
    /** The bootstrap's input, verbatim, with live curves as their data and referenced row sets as handles. */
    calibration: StoredCalibrationOf<F>;
    referencedData: Record<string, TableHandle>;
    assumptions: {
        conventionsVersion: string;
        family: F;
        modelVersion: number;
        calibrator: string;
        evaluator: string | null;
        inputPolicy: 'embedded' | 'referenced';
        /** The curve's currency — a stored curve without a unit is a number without one. */
        currency: string;
        projection: string;
    };
    diagnostics: {
        warnings: QuantWarning[];
        fitWarningCount: number;
        embeddedCalibrationBytes: number;
        referencedRowSets: string[];
    };
};
Fields, parameters & returned members (47)
Name / typeMeaning & unitOptional / default
assumptions
{ conventionsVersion: string; family: F; modelVersion: number; calibrator: string; evaluator: string | null; inputPolicy: 'embedded' | 'referenced'; currency: string; projection: string; }

unitless by name
Required / declared member
No @default declared; consult the signature and description.
assumptions.calibrator
string

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.currency
string
The curve's currency — a stored curve without a unit is a number without one.
unitless by name
Required / declared member
No @default declared; consult the signature and description.
assumptions.evaluator
string | null

unitless by name
Required / declared member
No @default declared; consult the signature and description.
assumptions.family
F

unitless by name
Required / declared member
No @default declared; consult the signature and description.
assumptions.inputPolicy
'embedded' | 'referenced'

unitless by name
Required / declared member
No @default declared; consult the signature and description.
assumptions.modelVersion
number

unitless by name
Required / declared member
No @default declared; consult the signature and description.
assumptions.projection
string

unitless by name
Required / declared member
No @default declared; consult the signature and description.
calibration
StoredCalibrationOf<F>
The bootstrap's input, verbatim, with live curves as their data and referenced row sets as handles.
unitless by name
Required / declared member
No @default declared; consult the signature and description.
diagnostics
{ warnings: QuantWarning[]; fitWarningCount: number; embeddedCalibrationBytes: number; referencedRowSets: string[]; }

unitless by name
Required / declared member
No @default declared; consult the signature and description.
diagnostics.embeddedCalibrationBytes
number

unitless by name
Required / declared member
No @default declared; consult the signature and description.
diagnostics.fitWarningCount
number

count (integer)
Required / declared member
No @default declared; consult the signature and description.
diagnostics.referencedRowSets
string[]

unitless by name
Required / declared member
No @default declared; consult the signature and description.
diagnostics.warnings
QuantWarning[]

unitless by name
Required / declared member
No @default declared; consult the signature and description.
family
F

unitless by name
Required / declared member
No @default declared; consult the signature and description.
fit
FitOf<F>
The bootstrap's result as its own data (restored exactly by the public constructors).
unitless by name
Required / declared member
No @default declared; consult the signature and description.
modelVersion
number

unitless by name
Required / declared member
No @default declared; consult the signature and description.
referencedData
Record<string, TableHandle>

unitless by name
Required / declared member
No @default declared; consult the signature and description.
summary
FittedModelSummary

unitless by name
Required / declared member
No @default declared; consult the signature and description.
summary.convergence
{ converged: boolean; iterations: number | null; reason?: string; }

unitless by name
Required / declared member
No @default declared; consult the signature and description.
summary.convergence.converged
boolean

unitless by name
Required / declared member
No @default declared; consult the signature and description.
summary.convergence.iterations
number | null

unitless by name
Required / declared member
No @default declared; consult the signature and description.
summary.convergence.reason
string

unitless by name
Optional
No @default declared; consult the signature and description.
summary.family
string
Dot-namespaced family, e.g. `'volatility.ssvi'` or `'fixed-income.discount-curve'`.
unitless by name
Required / declared member
No @default declared; consult the signature and description.
summary.inputIdentity
{ calibrationHash: string; snapshotHash: string | null; }
Identity of what was fitted: the calibration input's content hash, and the market snapshot's when one was read.
unitless by name
Required / declared member
No @default declared; consult the signature and description.
summary.inputIdentity.calibrationHash
string

unitless by name
Required / declared member
No @default declared; consult the signature and description.
summary.inputIdentity.snapshotHash
string | null

unitless by name
Required / declared member
No @default declared; consult the signature and description.
summary.modelRisk
{ arbitrageFree: boolean | null; calibratedRange: Record<string, { minimum: number; maximum: number; }>; notes: string[]; }

unitless by name
Required / declared member
No @default declared; consult the signature and description.
summary.modelRisk.arbitrageFree
boolean | null
Butterfly/calendar freedom for smiles and surfaces; null where the notion does not apply.
unitless by name
Required / declared member
No @default declared; consult the signature and description.
summary.modelRisk.calibratedRange
Record<string, { minimum: number; maximum: number; }>
The coordinate range the fit was calibrated over; evaluation outside it warns.
unitless by name
Required / declared member
No @default declared; consult the signature and description.
summary.modelRisk.notes
string[]

unitless by name
Required / declared member
No @default declared; consult the signature and description.
summary.modelVersion
number
The family's integer semantics/shape version; bumps when the calibrator's result shape or meaning changes.
unitless by name
Required / declared member
No @default declared; consult the signature and description.
summary.objective
{ kind: import('@insiderfinance/totalfinance/core/artifacts').FittedModelObjectiveKind; reason?: string; unit: string; value: number | null; }

unitless by name
Required / declared member
No @default declared; consult the signature and description.
summary.objective.kind
import('@insiderfinance/totalfinance/core/artifacts').FittedModelObjectiveKind

unitless by name
Required / declared member
No @default declared; consult the signature and description.
summary.objective.reason
string
Required exactly when `value` is null.
unitless by name
Optional
No @default declared; consult the signature and description.
summary.objective.unit
string
The objective's unit or basis, e.g. `'total variance'`, `'implied volatility'`, `'log-likelihood'`.
unitless by name
Required / declared member
No @default declared; consult the signature and description.
summary.objective.value
number | null

unitless by name
Required / declared member
No @default declared; consult the signature and description.
summary.parameters
Record<string, string | number | number[]>
Flat, named, JSON-safe parameters — the numbers a reader would want to diff (dot paths for nested members).
unitless by name
Required / declared member
No @default declared; consult the signature and description.
summary.residuals
{ count: number; maximumAbsolute: number | null; rootMeanSquare: number | null; source: import('@insiderfinance/totalfinance/core/artifacts').FittedModelResidualSource; unit: string; } | null
Null when the family has no per-point residual (with the reason in `modelRisk.notes`).
unitless by name
Required / declared member
No @default declared; consult the signature and description.
summary.residuals.count
number

unitless by name
Required / declared member
No @default declared; consult the signature and description.
summary.residuals.maximumAbsolute
number | null

unitless by name
Required / declared member
No @default declared; consult the signature and description.
summary.residuals.rootMeanSquare
number | null

unitless by name
Required / declared member
No @default declared; consult the signature and description.
summary.residuals.source
import('@insiderfinance/totalfinance/core/artifacts').FittedModelResidualSource

unitless by name
Required / declared member
No @default declared; consult the signature and description.
summary.residuals.unit
string

unitless by name
Required / declared member
No @default declared; consult the signature and description.
summary.warningCount
number

count (integer)
Required / declared member
No @default declared; consult the signature and description.
summary.weighting
string | null
The weighting the calibrator applied, when it applied one; null otherwise.
unitless by name
Required / declared member
No @default declared; consult the signature and description.
Stability, warnings & conventions
stable-by-law (pre-1.0; not a 1.0 stability guarantee)

Declared field units are shown above. “Unitless by name” means the name alone does not establish a unit, not that a financial quantity has none. Check source descriptions, conventions, and the returned diagnostics. Errors and warnings are part of the result contract.

interface

CurveLiveFits

The live result per family — what the direct bootstrap returns and what `fittedModelArtifact` accepts.

/** The live result per family — what the direct bootstrap returns and what `fittedModelArtifact` accepts. */
export interface CurveLiveFits {
    'discount-curve': YieldCurve;
    'projection-curve': YieldCurve;
    'multi-curve': MultiCurve;
    'hazard-curve': SurvivalCurve;
}
Fields, parameters & returned members (129)
Name / typeMeaning & unitOptional / default
discount-curve
YieldCurve

unitless by name
Required / declared member
No @default declared; consult the signature and description.
discount-curve.addSpread
(spread: YieldCurve) => YieldCurve
Combine with a term-structure spread curve: the continuous zeros ADD at each tenor (equivalently discount factors multiply, `D(t)·D_spread(t)`). Unions both curves' pillar tenors so the spread's shape — not just a level — is preserved. Used to discount over `benchmark + spread` (e.g. OIS + a sector/rating spread) while keeping curve construction out of leaf entrypoints.
unitless by name
Required / declared member
No @default declared; consult the signature and description.
discount-curve.addSpread(spread)
YieldCurve

unitless by name
Required / declared member
No @default declared; consult the signature and description.
discount-curve.bumpPillar
(index: number, delta: number) => YieldCurve
Bump a single pillar's continuous zero by `delta` (key-rate risk).
unitless by name
Required / declared member
No @default declared; consult the signature and description.
discount-curve.bumpPillar(delta)
number

unitless by name
Required / declared member
No @default declared; consult the signature and description.
discount-curve.bumpPillar(index)
number

unitless by name
Required / declared member
No @default declared; consult the signature and description.
discount-curve.dayCount
import('@insiderfinance/totalfinance/fixed-income').FixedIncomeDayCount

count (integer)
Required / declared member
No @default declared; consult the signature and description.
discount-curve.discount
(at: string | number) => number
Discount factor to a date or year fraction.
unitless by name
Required / declared member
No @default declared; consult the signature and description.
discount-curve.discount(at)
string | number

unitless by name
Required / declared member
No @default declared; consult the signature and description.
discount-curve.extrapolation
import('@insiderfinance/totalfinance/fixed-income').CurveExtrapolation

unitless by name
Required / declared member
No @default declared; consult the signature and description.
discount-curve.forwardRate
(from: string | number, to: string | number, dayCount?: import('@insiderfinance/totalfinance/fixed-income').FixedIncomeDayCount) => number
Simple (money-market) forward rate between two times/dates under `dayCount`.
decimal rate (0.05 = 5%)
Required / declared member
No @default declared; consult the signature and description.
discount-curve.forwardRate(dayCount)
import('@insiderfinance/totalfinance/fixed-income').FixedIncomeDayCount | undefined

unitless by name
Optional
No @default declared; consult the signature and description.
discount-curve.forwardRate(from)
string | number

unitless by name
Required / declared member
No @default declared; consult the signature and description.
discount-curve.forwardRate(to)
string | number

unitless by name
Required / declared member
No @default declared; consult the signature and description.
discount-curve.instantaneousForward
(at: string | number) => number
Instantaneous (continuously-compounded) forward rate at a time/date.
unitless by name
Required / declared member
No @default declared; consult the signature and description.
discount-curve.instantaneousForward(at)
string | number

unitless by name
Required / declared member
No @default declared; consult the signature and description.
discount-curve.interpolation
import('@insiderfinance/totalfinance/fixed-income').CurveInterpolation

unitless by name
Required / declared member
No @default declared; consult the signature and description.
discount-curve.pillars
readonly import('@insiderfinance/totalfinance/fixed-income').CurvePillar[]

unitless by name
Required / declared member
No @default declared; consult the signature and description.
discount-curve.referenceDate
string

calendar date (YYYY-MM-DD)
Required / declared member
No @default declared; consult the signature and description.
discount-curve.shift
(delta: number) => YieldCurve
Parallel shift of every pillar's continuous zero by `delta` (e.g. +0.0001 = +1bp).
unitless by name
Required / declared member
No @default declared; consult the signature and description.
discount-curve.shift(delta)
number

unitless by name
Required / declared member
No @default declared; consult the signature and description.
discount-curve.timeTo
(at: string | number) => number
Year fraction from the reference date to a date (or pass a number through unchanged).
unitless by name
Required / declared member
No @default declared; consult the signature and description.
discount-curve.timeTo(at)
string | number

unitless by name
Required / declared member
No @default declared; consult the signature and description.
discount-curve.zeroRate
(at: string | number, compounding?: import('@insiderfinance/totalfinance/core').InterestCompounding) => number
Zero rate to a date or year fraction, in the requested compounding (default continuous).
decimal rate (0.05 = 5%)
Required / declared member
No @default declared; consult the signature and description.
discount-curve.zeroRate(at)
string | number

unitless by name
Required / declared member
No @default declared; consult the signature and description.
discount-curve.zeroRate(compounding)
import('@insiderfinance/totalfinance/core').InterestCompounding | undefined

unitless by name
Optional
No @default declared; consult the signature and description.
discount-curve.zeroRate(compounding).periodsPerYear
number

per year (count)
Required / declared member
No @default declared; consult the signature and description.
discount-curve.zeroRate(compounding).type
'periodic'

unitless by name
Required / declared member
No @default declared; consult the signature and description.
hazard-curve
SurvivalCurve

unitless by name
Required / declared member
No @default declared; consult the signature and description.
hazard-curve.conditionalDefaultProbability
(from: string | number, to: string | number) => number
Conditional default probability over `[from, to]` given survival to `from`: 1 − Q(to)/Q(from).
unitless by name
Required / declared member
No @default declared; consult the signature and description.
hazard-curve.conditionalDefaultProbability(from)
string | number

unitless by name
Required / declared member
No @default declared; consult the signature and description.
hazard-curve.conditionalDefaultProbability(to)
string | number

unitless by name
Required / declared member
No @default declared; consult the signature and description.
hazard-curve.dayCount
import('@insiderfinance/totalfinance/fixed-income').FixedIncomeDayCount

count (integer)
Required / declared member
No @default declared; consult the signature and description.
hazard-curve.defaultProbability
(from: string | number, to: string | number) => number
Unconditional default probability in the window `[from, to]`: Q(from) − Q(to).
unitless by name
Required / declared member
No @default declared; consult the signature and description.
hazard-curve.defaultProbability(from)
string | number

unitless by name
Required / declared member
No @default declared; consult the signature and description.
hazard-curve.defaultProbability(to)
string | number

unitless by name
Required / declared member
No @default declared; consult the signature and description.
hazard-curve.hazard
(at: string | number) => number
Instantaneous (piecewise-constant) hazard rate at a date or year fraction.
unitless by name
Required / declared member
No @default declared; consult the signature and description.
hazard-curve.hazard(at)
string | number

unitless by name
Required / declared member
No @default declared; consult the signature and description.
hazard-curve.pillars
readonly import('@insiderfinance/totalfinance/fixed-income').SurvivalPillar[]

unitless by name
Required / declared member
No @default declared; consult the signature and description.
hazard-curve.referenceDate
string

calendar date (YYYY-MM-DD)
Required / declared member
No @default declared; consult the signature and description.
hazard-curve.survival
(at: string | number) => number
Survival probability Q to a date or year fraction.
unitless by name
Required / declared member
No @default declared; consult the signature and description.
hazard-curve.survival(at)
string | number

unitless by name
Required / declared member
No @default declared; consult the signature and description.
hazard-curve.timeTo
(at: string | number) => number

unitless by name
Required / declared member
No @default declared; consult the signature and description.
hazard-curve.timeTo(at)
string | number

unitless by name
Required / declared member
No @default declared; consult the signature and description.
multi-curve
MultiCurve

unitless by name
Required / declared member
No @default declared; consult the signature and description.
multi-curve.discountCurve
YieldCurve

unitless by name
Required / declared member
No @default declared; consult the signature and description.
multi-curve.discountCurve.addSpread
(spread: YieldCurve) => YieldCurve
Combine with a term-structure spread curve: the continuous zeros ADD at each tenor (equivalently discount factors multiply, `D(t)·D_spread(t)`). Unions both curves' pillar tenors so the spread's shape — not just a level — is preserved. Used to discount over `benchmark + spread` (e.g. OIS + a sector/rating spread) while keeping curve construction out of leaf entrypoints.
unitless by name
Required / declared member
No @default declared; consult the signature and description.
multi-curve.discountCurve.addSpread(spread)
YieldCurve

unitless by name
Required / declared member
No @default declared; consult the signature and description.
multi-curve.discountCurve.bumpPillar
(index: number, delta: number) => YieldCurve
Bump a single pillar's continuous zero by `delta` (key-rate risk).
unitless by name
Required / declared member
No @default declared; consult the signature and description.
multi-curve.discountCurve.bumpPillar(delta)
number

unitless by name
Required / declared member
No @default declared; consult the signature and description.
multi-curve.discountCurve.bumpPillar(index)
number

unitless by name
Required / declared member
No @default declared; consult the signature and description.
multi-curve.discountCurve.dayCount
import('@insiderfinance/totalfinance/fixed-income').FixedIncomeDayCount

count (integer)
Required / declared member
No @default declared; consult the signature and description.
multi-curve.discountCurve.discount
(at: string | number) => number
Discount factor to a date or year fraction.
unitless by name
Required / declared member
No @default declared; consult the signature and description.
multi-curve.discountCurve.discount(at)
string | number

unitless by name
Required / declared member
No @default declared; consult the signature and description.
multi-curve.discountCurve.extrapolation
import('@insiderfinance/totalfinance/fixed-income').CurveExtrapolation

unitless by name
Required / declared member
No @default declared; consult the signature and description.
multi-curve.discountCurve.forwardRate
(from: string | number, to: string | number, dayCount?: import('@insiderfinance/totalfinance/fixed-income').FixedIncomeDayCount) => number
Simple (money-market) forward rate between two times/dates under `dayCount`.
decimal rate (0.05 = 5%)
Required / declared member
No @default declared; consult the signature and description.
multi-curve.discountCurve.forwardRate(dayCount)
import('@insiderfinance/totalfinance/fixed-income').FixedIncomeDayCount | undefined

unitless by name
Optional
No @default declared; consult the signature and description.
multi-curve.discountCurve.forwardRate(from)
string | number

unitless by name
Required / declared member
No @default declared; consult the signature and description.
multi-curve.discountCurve.forwardRate(to)
string | number

unitless by name
Required / declared member
No @default declared; consult the signature and description.
multi-curve.discountCurve.instantaneousForward
(at: string | number) => number
Instantaneous (continuously-compounded) forward rate at a time/date.
unitless by name
Required / declared member
No @default declared; consult the signature and description.
multi-curve.discountCurve.instantaneousForward(at)
string | number

unitless by name
Required / declared member
No @default declared; consult the signature and description.
multi-curve.discountCurve.interpolation
import('@insiderfinance/totalfinance/fixed-income').CurveInterpolation

unitless by name
Required / declared member
No @default declared; consult the signature and description.
multi-curve.discountCurve.pillars
readonly import('@insiderfinance/totalfinance/fixed-income').CurvePillar[]

unitless by name
Required / declared member
No @default declared; consult the signature and description.
multi-curve.discountCurve.referenceDate
string

calendar date (YYYY-MM-DD)
Required / declared member
No @default declared; consult the signature and description.
multi-curve.discountCurve.shift
(delta: number) => YieldCurve
Parallel shift of every pillar's continuous zero by `delta` (e.g. +0.0001 = +1bp).
unitless by name
Required / declared member
No @default declared; consult the signature and description.
multi-curve.discountCurve.shift(delta)
number

unitless by name
Required / declared member
No @default declared; consult the signature and description.
multi-curve.discountCurve.timeTo
(at: string | number) => number
Year fraction from the reference date to a date (or pass a number through unchanged).
unitless by name
Required / declared member
No @default declared; consult the signature and description.
multi-curve.discountCurve.timeTo(at)
string | number

unitless by name
Required / declared member
No @default declared; consult the signature and description.
multi-curve.discountCurve.zeroRate
(at: string | number, compounding?: import('@insiderfinance/totalfinance/core').InterestCompounding) => number
Zero rate to a date or year fraction, in the requested compounding (default continuous).
decimal rate (0.05 = 5%)
Required / declared member
No @default declared; consult the signature and description.
multi-curve.discountCurve.zeroRate(at)
string | number

unitless by name
Required / declared member
No @default declared; consult the signature and description.
multi-curve.discountCurve.zeroRate(compounding)
import('@insiderfinance/totalfinance/core').InterestCompounding | undefined

unitless by name
Optional
No @default declared; consult the signature and description.
multi-curve.discountCurve.zeroRate(compounding).periodsPerYear
number

per year (count)
Required / declared member
No @default declared; consult the signature and description.
multi-curve.discountCurve.zeroRate(compounding).type
'periodic'

unitless by name
Required / declared member
No @default declared; consult the signature and description.
multi-curve.forecastCurve
YieldCurve

unitless by name
Required / declared member
No @default declared; consult the signature and description.
multi-curve.forecastCurve.addSpread
(spread: YieldCurve) => YieldCurve
Combine with a term-structure spread curve: the continuous zeros ADD at each tenor (equivalently discount factors multiply, `D(t)·D_spread(t)`). Unions both curves' pillar tenors so the spread's shape — not just a level — is preserved. Used to discount over `benchmark + spread` (e.g. OIS + a sector/rating spread) while keeping curve construction out of leaf entrypoints.
unitless by name
Required / declared member
No @default declared; consult the signature and description.
multi-curve.forecastCurve.addSpread(spread)
YieldCurve

unitless by name
Required / declared member
No @default declared; consult the signature and description.
multi-curve.forecastCurve.bumpPillar
(index: number, delta: number) => YieldCurve
Bump a single pillar's continuous zero by `delta` (key-rate risk).
unitless by name
Required / declared member
No @default declared; consult the signature and description.
multi-curve.forecastCurve.bumpPillar(delta)
number

unitless by name
Required / declared member
No @default declared; consult the signature and description.
multi-curve.forecastCurve.bumpPillar(index)
number

unitless by name
Required / declared member
No @default declared; consult the signature and description.
multi-curve.forecastCurve.dayCount
import('@insiderfinance/totalfinance/fixed-income').FixedIncomeDayCount

count (integer)
Required / declared member
No @default declared; consult the signature and description.
multi-curve.forecastCurve.discount
(at: string | number) => number
Discount factor to a date or year fraction.
unitless by name
Required / declared member
No @default declared; consult the signature and description.
multi-curve.forecastCurve.discount(at)
string | number

unitless by name
Required / declared member
No @default declared; consult the signature and description.
multi-curve.forecastCurve.extrapolation
import('@insiderfinance/totalfinance/fixed-income').CurveExtrapolation

unitless by name
Required / declared member
No @default declared; consult the signature and description.
multi-curve.forecastCurve.forwardRate
(from: string | number, to: string | number, dayCount?: import('@insiderfinance/totalfinance/fixed-income').FixedIncomeDayCount) => number
Simple (money-market) forward rate between two times/dates under `dayCount`.
decimal rate (0.05 = 5%)
Required / declared member
No @default declared; consult the signature and description.
multi-curve.forecastCurve.forwardRate(dayCount)
import('@insiderfinance/totalfinance/fixed-income').FixedIncomeDayCount | undefined

unitless by name
Optional
No @default declared; consult the signature and description.
multi-curve.forecastCurve.forwardRate(from)
string | number

unitless by name
Required / declared member
No @default declared; consult the signature and description.
multi-curve.forecastCurve.forwardRate(to)
string | number

unitless by name
Required / declared member
No @default declared; consult the signature and description.
multi-curve.forecastCurve.instantaneousForward
(at: string | number) => number
Instantaneous (continuously-compounded) forward rate at a time/date.
unitless by name
Required / declared member
No @default declared; consult the signature and description.
multi-curve.forecastCurve.instantaneousForward(at)
string | number

unitless by name
Required / declared member
No @default declared; consult the signature and description.
multi-curve.forecastCurve.interpolation
import('@insiderfinance/totalfinance/fixed-income').CurveInterpolation

unitless by name
Required / declared member
No @default declared; consult the signature and description.
multi-curve.forecastCurve.pillars
readonly import('@insiderfinance/totalfinance/fixed-income').CurvePillar[]

unitless by name
Required / declared member
No @default declared; consult the signature and description.
multi-curve.forecastCurve.referenceDate
string

calendar date (YYYY-MM-DD)
Required / declared member
No @default declared; consult the signature and description.
multi-curve.forecastCurve.shift
(delta: number) => YieldCurve
Parallel shift of every pillar's continuous zero by `delta` (e.g. +0.0001 = +1bp).
unitless by name
Required / declared member
No @default declared; consult the signature and description.
multi-curve.forecastCurve.shift(delta)
number

unitless by name
Required / declared member
No @default declared; consult the signature and description.
multi-curve.forecastCurve.timeTo
(at: string | number) => number
Year fraction from the reference date to a date (or pass a number through unchanged).
unitless by name
Required / declared member
No @default declared; consult the signature and description.
multi-curve.forecastCurve.timeTo(at)
string | number

unitless by name
Required / declared member
No @default declared; consult the signature and description.
multi-curve.forecastCurve.zeroRate
(at: string | number, compounding?: import('@insiderfinance/totalfinance/core').InterestCompounding) => number
Zero rate to a date or year fraction, in the requested compounding (default continuous).
decimal rate (0.05 = 5%)
Required / declared member
No @default declared; consult the signature and description.
multi-curve.forecastCurve.zeroRate(at)
string | number

unitless by name
Required / declared member
No @default declared; consult the signature and description.
multi-curve.forecastCurve.zeroRate(compounding)
import('@insiderfinance/totalfinance/core').InterestCompounding | undefined

unitless by name
Optional
No @default declared; consult the signature and description.
multi-curve.forecastCurve.zeroRate(compounding).periodsPerYear
number

per year (count)
Required / declared member
No @default declared; consult the signature and description.
multi-curve.forecastCurve.zeroRate(compounding).type
'periodic'

unitless by name
Required / declared member
No @default declared; consult the signature and description.
projection-curve
YieldCurve

unitless by name
Required / declared member
No @default declared; consult the signature and description.
projection-curve.addSpread
(spread: YieldCurve) => YieldCurve
Combine with a term-structure spread curve: the continuous zeros ADD at each tenor (equivalently discount factors multiply, `D(t)·D_spread(t)`). Unions both curves' pillar tenors so the spread's shape — not just a level — is preserved. Used to discount over `benchmark + spread` (e.g. OIS + a sector/rating spread) while keeping curve construction out of leaf entrypoints.
unitless by name
Required / declared member
No @default declared; consult the signature and description.
projection-curve.addSpread(spread)
YieldCurve

unitless by name
Required / declared member
No @default declared; consult the signature and description.
projection-curve.bumpPillar
(index: number, delta: number) => YieldCurve
Bump a single pillar's continuous zero by `delta` (key-rate risk).
unitless by name
Required / declared member
No @default declared; consult the signature and description.
projection-curve.bumpPillar(delta)
number

unitless by name
Required / declared member
No @default declared; consult the signature and description.
projection-curve.bumpPillar(index)
number

unitless by name
Required / declared member
No @default declared; consult the signature and description.
projection-curve.dayCount
import('@insiderfinance/totalfinance/fixed-income').FixedIncomeDayCount

count (integer)
Required / declared member
No @default declared; consult the signature and description.
projection-curve.discount
(at: string | number) => number
Discount factor to a date or year fraction.
unitless by name
Required / declared member
No @default declared; consult the signature and description.
projection-curve.discount(at)
string | number

unitless by name
Required / declared member
No @default declared; consult the signature and description.
projection-curve.extrapolation
import('@insiderfinance/totalfinance/fixed-income').CurveExtrapolation

unitless by name
Required / declared member
No @default declared; consult the signature and description.
projection-curve.forwardRate
(from: string | number, to: string | number, dayCount?: import('@insiderfinance/totalfinance/fixed-income').FixedIncomeDayCount) => number
Simple (money-market) forward rate between two times/dates under `dayCount`.
decimal rate (0.05 = 5%)
Required / declared member
No @default declared; consult the signature and description.
projection-curve.forwardRate(dayCount)
import('@insiderfinance/totalfinance/fixed-income').FixedIncomeDayCount | undefined

unitless by name
Optional
No @default declared; consult the signature and description.
projection-curve.forwardRate(from)
string | number

unitless by name
Required / declared member
No @default declared; consult the signature and description.
projection-curve.forwardRate(to)
string | number

unitless by name
Required / declared member
No @default declared; consult the signature and description.
projection-curve.instantaneousForward
(at: string | number) => number
Instantaneous (continuously-compounded) forward rate at a time/date.
unitless by name
Required / declared member
No @default declared; consult the signature and description.
projection-curve.instantaneousForward(at)
string | number

unitless by name
Required / declared member
No @default declared; consult the signature and description.
projection-curve.interpolation
import('@insiderfinance/totalfinance/fixed-income').CurveInterpolation

unitless by name
Required / declared member
No @default declared; consult the signature and description.
projection-curve.pillars
readonly import('@insiderfinance/totalfinance/fixed-income').CurvePillar[]

unitless by name
Required / declared member
No @default declared; consult the signature and description.
projection-curve.referenceDate
string

calendar date (YYYY-MM-DD)
Required / declared member
No @default declared; consult the signature and description.
projection-curve.shift
(delta: number) => YieldCurve
Parallel shift of every pillar's continuous zero by `delta` (e.g. +0.0001 = +1bp).
unitless by name
Required / declared member
No @default declared; consult the signature and description.
projection-curve.shift(delta)
number

unitless by name
Required / declared member
No @default declared; consult the signature and description.
projection-curve.timeTo
(at: string | number) => number
Year fraction from the reference date to a date (or pass a number through unchanged).
unitless by name
Required / declared member
No @default declared; consult the signature and description.
projection-curve.timeTo(at)
string | number

unitless by name
Required / declared member
No @default declared; consult the signature and description.
projection-curve.zeroRate
(at: string | number, compounding?: import('@insiderfinance/totalfinance/core').InterestCompounding) => number
Zero rate to a date or year fraction, in the requested compounding (default continuous).
decimal rate (0.05 = 5%)
Required / declared member
No @default declared; consult the signature and description.
projection-curve.zeroRate(at)
string | number

unitless by name
Required / declared member
No @default declared; consult the signature and description.
projection-curve.zeroRate(compounding)
import('@insiderfinance/totalfinance/core').InterestCompounding | undefined

unitless by name
Optional
No @default declared; consult the signature and description.
projection-curve.zeroRate(compounding).periodsPerYear
number

per year (count)
Required / declared member
No @default declared; consult the signature and description.
projection-curve.zeroRate(compounding).type
'periodic'

unitless by name
Required / declared member
No @default declared; consult the signature and description.
Stability, warnings & conventions
stable-by-law (pre-1.0; not a 1.0 stability guarantee)

Declared field units are shown above. “Unitless by name” means the name alone does not establish a unit, not that a financial quantity has none. Check source descriptions, conventions, and the returned diagnostics. Errors and warnings are part of the result contract.

type

CurveModelFamily

Public declaration. Read the signature and parameter/member contracts below; no additional behavior is inferred.

// ─────────────────────────────────────────── the grammar ───────────────────────────────────────────
export type CurveModelFamily = 'discount-curve' | 'projection-curve' | 'multi-curve' | 'hazard-curve';
Stability, warnings & conventions
stable-by-law (pre-1.0; not a 1.0 stability guarantee)

Declared field units are shown above. “Unitless by name” means the name alone does not establish a unit, not that a financial quantity has none. Check source descriptions, conventions, and the returned diagnostics. Errors and warnings are part of the result contract.

interface

CurveStoredCalibrations

The STORED calibration: live curves as their data, the bulk row sets optionally as `TableHandle`s.

/** The STORED calibration: live curves as their data, the bulk row sets optionally as `TableHandle`s. */
export interface CurveStoredCalibrations {
    'discount-curve': {
        instruments: BootstrapInstrument[] | TableHandle;
        options: BootstrapOptions;
    };
    'projection-curve': {
        instruments: BootstrapInstrument[] | TableHandle;
        options: Omit<ProjectionBootstrapOptions, 'discountCurve'> & {
            discountCurve: YieldCurveData;
        };
    };
    'multi-curve': {
        options: Omit<MultiCurveBootstrapOptions, 'ois' | 'projection'> & {
            ois: BootstrapInstrument[] | TableHandle;
            projection: BootstrapInstrument[] | TableHandle;
        };
    };
    'hazard-curve': {
        quotes: CdsQuote[] | TableHandle;
        options: Omit<HazardBootstrapOptions, 'discountCurve'> & {
            discountCurve: YieldCurveData;
        };
    };
}
Fields, parameters & returned members (80)
Name / typeMeaning & unitOptional / default
discount-curve
{ instruments: BootstrapInstrument[] | TableHandle; options: BootstrapOptions; }

unitless by name
Required / declared member
No @default declared; consult the signature and description.
discount-curve.instruments
BootstrapInstrument[] | TableHandle

unitless by name
Required / declared member
No @default declared; consult the signature and description.
discount-curve.instruments.columnCount
number

count (integer)
Required / declared member
No @default declared; consult the signature and description.
discount-curve.instruments.columns
string[]
Column names, in table order; when present, `columns.length === columnCount`.
unitless by name
Optional
No @default declared; consult the signature and description.
discount-curve.instruments.contentHash
string
`sha256:` hash of the table's canonical JSON row projection — encoding-independent identity.
unitless by name
Required / declared member
No @default declared; consult the signature and description.
discount-curve.instruments.kind
'totalfinance.table-handle'

unitless by name
Required / declared member
No @default declared; consult the signature and description.
discount-curve.instruments.locator
string
Storage-agnostic opaque reference — meaningful only to the storage layer that minted it.
unitless by name
Optional
No @default declared; consult the signature and description.
discount-curve.instruments.mediaType
string
Concrete encoding of the stored bytes. `application/json` unless a future Arrow mapping lands.
unitless by name
Optional
No @default declared; consult the signature and description.
discount-curve.instruments.rowCount
number

count (integer)
Required / declared member
No @default declared; consult the signature and description.
discount-curve.options
BootstrapOptions

unitless by name
Required / declared member
No @default declared; consult the signature and description.
discount-curve.options.dayCount
import('@insiderfinance/totalfinance/fixed-income').FixedIncomeDayCount
Curve day count (default `ACT/365F`).
count (integer)
Optional
No @default declared; consult the signature and description.
discount-curve.options.extrapolation
import('@insiderfinance/totalfinance/fixed-income').CurveExtrapolation

unitless by name
Optional
No @default declared; consult the signature and description.
discount-curve.options.interpolation
import('@insiderfinance/totalfinance/fixed-income').CurveInterpolation

unitless by name
Optional
No @default declared; consult the signature and description.
discount-curve.options.referenceDate
string
Curve reference/settlement date (t = 0).
calendar date (YYYY-MM-DD)
Required / declared member
No @default declared; consult the signature and description.
hazard-curve
{ quotes: CdsQuote[] | TableHandle; options: Omit<HazardBootstrapOptions, 'discountCurve'> & { discountCurve: YieldCurveData; }; }

unitless by name
Required / declared member
No @default declared; consult the signature and description.
hazard-curve.options
Omit<HazardBootstrapOptions, 'discountCurve'> & { discountCurve: YieldCurveData; }

unitless by name
Required / declared member
No @default declared; consult the signature and description.
hazard-curve.options.accrualOnDefault
boolean

unitless by name
Optional
No @default declared; consult the signature and description.
hazard-curve.options.dayCount
import('@insiderfinance/totalfinance/fixed-income').FixedIncomeDayCount

count (integer)
Optional
No @default declared; consult the signature and description.
hazard-curve.options.discountCurve
YieldCurveData

unitless by name
Required / declared member
No @default declared; consult the signature and description.
hazard-curve.options.discountCurve.dayCount
import('@insiderfinance/totalfinance/fixed-income').FixedIncomeDayCount

count (integer)
Required / declared member
No @default declared; consult the signature and description.
hazard-curve.options.discountCurve.extrapolation
import('@insiderfinance/totalfinance/fixed-income').CurveExtrapolation

unitless by name
Required / declared member
No @default declared; consult the signature and description.
hazard-curve.options.discountCurve.interpolation
import('@insiderfinance/totalfinance/fixed-income').CurveInterpolation

unitless by name
Required / declared member
No @default declared; consult the signature and description.
hazard-curve.options.discountCurve.pillars
import('@insiderfinance/totalfinance/fixed-income').CurvePillar[]

unitless by name
Required / declared member
No @default declared; consult the signature and description.
hazard-curve.options.discountCurve.referenceDate
string

calendar date (YYYY-MM-DD)
Required / declared member
No @default declared; consult the signature and description.
hazard-curve.options.discountCurve.zeroRateAtOrigin
import('@insiderfinance/totalfinance/fixed-income/artifacts').ZeroRateAtOrigin

unitless by name
Required / declared member
No @default declared; consult the signature and description.
hazard-curve.options.frequency
import('@insiderfinance/totalfinance/fixed-income').Frequency

unitless by name
Optional
No @default declared; consult the signature and description.
hazard-curve.options.protectionSteps
number

unitless by name
Optional
No @default declared; consult the signature and description.
hazard-curve.options.recovery
number

unitless by name
Optional
No @default declared; consult the signature and description.
hazard-curve.options.referenceDate
string

calendar date (YYYY-MM-DD)
Required / declared member
No @default declared; consult the signature and description.
hazard-curve.quotes
CdsQuote[] | TableHandle

unitless by name
Required / declared member
No @default declared; consult the signature and description.
hazard-curve.quotes.columnCount
number

count (integer)
Required / declared member
No @default declared; consult the signature and description.
hazard-curve.quotes.columns
string[]
Column names, in table order; when present, `columns.length === columnCount`.
unitless by name
Optional
No @default declared; consult the signature and description.
hazard-curve.quotes.contentHash
string
`sha256:` hash of the table's canonical JSON row projection — encoding-independent identity.
unitless by name
Required / declared member
No @default declared; consult the signature and description.
hazard-curve.quotes.kind
'totalfinance.table-handle'

unitless by name
Required / declared member
No @default declared; consult the signature and description.
hazard-curve.quotes.locator
string
Storage-agnostic opaque reference — meaningful only to the storage layer that minted it.
unitless by name
Optional
No @default declared; consult the signature and description.
hazard-curve.quotes.mediaType
string
Concrete encoding of the stored bytes. `application/json` unless a future Arrow mapping lands.
unitless by name
Optional
No @default declared; consult the signature and description.
hazard-curve.quotes.rowCount
number

count (integer)
Required / declared member
No @default declared; consult the signature and description.
multi-curve
{ options: Omit<MultiCurveBootstrapOptions, 'ois' | 'projection'> & { ois: BootstrapInstrument[] | TableHandle; projection: BootstrapInstrument[] | TableHandle; }; }

unitless by name
Required / declared member
No @default declared; consult the signature and description.
multi-curve.options
Omit<MultiCurveBootstrapOptions, 'ois' | 'projection'> & { ois: BootstrapInstrument[] | TableHandle; projection: BootstrapInstrument[] | TableHandle; }

unitless by name
Required / declared member
No @default declared; consult the signature and description.
multi-curve.options.dayCount
import('@insiderfinance/totalfinance/fixed-income').FixedIncomeDayCount
Curve day count (default `ACT/365F`).
count (integer)
Optional
No @default declared; consult the signature and description.
multi-curve.options.extrapolation
import('@insiderfinance/totalfinance/fixed-income').CurveExtrapolation

unitless by name
Optional
No @default declared; consult the signature and description.
multi-curve.options.interpolation
import('@insiderfinance/totalfinance/fixed-income').CurveInterpolation

unitless by name
Optional
No @default declared; consult the signature and description.
multi-curve.options.ois
BootstrapInstrument[] | TableHandle

unitless by name
Required / declared member
No @default declared; consult the signature and description.
multi-curve.options.ois.columnCount
number

count (integer)
Required / declared member
No @default declared; consult the signature and description.
multi-curve.options.ois.columns
string[]
Column names, in table order; when present, `columns.length === columnCount`.
unitless by name
Optional
No @default declared; consult the signature and description.
multi-curve.options.ois.contentHash
string
`sha256:` hash of the table's canonical JSON row projection — encoding-independent identity.
unitless by name
Required / declared member
No @default declared; consult the signature and description.
multi-curve.options.ois.kind
'totalfinance.table-handle'

unitless by name
Required / declared member
No @default declared; consult the signature and description.
multi-curve.options.ois.locator
string
Storage-agnostic opaque reference — meaningful only to the storage layer that minted it.
unitless by name
Optional
No @default declared; consult the signature and description.
multi-curve.options.ois.mediaType
string
Concrete encoding of the stored bytes. `application/json` unless a future Arrow mapping lands.
unitless by name
Optional
No @default declared; consult the signature and description.
multi-curve.options.ois.rowCount
number

count (integer)
Required / declared member
No @default declared; consult the signature and description.
multi-curve.options.projection
BootstrapInstrument[] | TableHandle

unitless by name
Required / declared member
No @default declared; consult the signature and description.
multi-curve.options.projection.columnCount
number

count (integer)
Required / declared member
No @default declared; consult the signature and description.
multi-curve.options.projection.columns
string[]
Column names, in table order; when present, `columns.length === columnCount`.
unitless by name
Optional
No @default declared; consult the signature and description.
multi-curve.options.projection.contentHash
string
`sha256:` hash of the table's canonical JSON row projection — encoding-independent identity.
unitless by name
Required / declared member
No @default declared; consult the signature and description.
multi-curve.options.projection.kind
'totalfinance.table-handle'

unitless by name
Required / declared member
No @default declared; consult the signature and description.
multi-curve.options.projection.locator
string
Storage-agnostic opaque reference — meaningful only to the storage layer that minted it.
unitless by name
Optional
No @default declared; consult the signature and description.
multi-curve.options.projection.mediaType
string
Concrete encoding of the stored bytes. `application/json` unless a future Arrow mapping lands.
unitless by name
Optional
No @default declared; consult the signature and description.
multi-curve.options.projection.rowCount
number

count (integer)
Required / declared member
No @default declared; consult the signature and description.
multi-curve.options.referenceDate
string
Curve reference/settlement date (t = 0).
calendar date (YYYY-MM-DD)
Required / declared member
No @default declared; consult the signature and description.
projection-curve
{ instruments: BootstrapInstrument[] | TableHandle; options: Omit<ProjectionBootstrapOptions, 'discountCurve'> & { discountCurve: YieldCurveData; }; }

unitless by name
Required / declared member
No @default declared; consult the signature and description.
projection-curve.instruments
BootstrapInstrument[] | TableHandle

unitless by name
Required / declared member
No @default declared; consult the signature and description.
projection-curve.instruments.columnCount
number

count (integer)
Required / declared member
No @default declared; consult the signature and description.
projection-curve.instruments.columns
string[]
Column names, in table order; when present, `columns.length === columnCount`.
unitless by name
Optional
No @default declared; consult the signature and description.
projection-curve.instruments.contentHash
string
`sha256:` hash of the table's canonical JSON row projection — encoding-independent identity.
unitless by name
Required / declared member
No @default declared; consult the signature and description.
projection-curve.instruments.kind
'totalfinance.table-handle'

unitless by name
Required / declared member
No @default declared; consult the signature and description.
projection-curve.instruments.locator
string
Storage-agnostic opaque reference — meaningful only to the storage layer that minted it.
unitless by name
Optional
No @default declared; consult the signature and description.
projection-curve.instruments.mediaType
string
Concrete encoding of the stored bytes. `application/json` unless a future Arrow mapping lands.
unitless by name
Optional
No @default declared; consult the signature and description.
projection-curve.instruments.rowCount
number

count (integer)
Required / declared member
No @default declared; consult the signature and description.
projection-curve.options
Omit<ProjectionBootstrapOptions, 'discountCurve'> & { discountCurve: YieldCurveData; }

unitless by name
Required / declared member
No @default declared; consult the signature and description.
projection-curve.options.dayCount
import('@insiderfinance/totalfinance/fixed-income').FixedIncomeDayCount
Curve day count (default `ACT/365F`).
count (integer)
Optional
No @default declared; consult the signature and description.
projection-curve.options.discountCurve
YieldCurveData

unitless by name
Required / declared member
No @default declared; consult the signature and description.
projection-curve.options.discountCurve.dayCount
import('@insiderfinance/totalfinance/fixed-income').FixedIncomeDayCount

count (integer)
Required / declared member
No @default declared; consult the signature and description.
projection-curve.options.discountCurve.extrapolation
import('@insiderfinance/totalfinance/fixed-income').CurveExtrapolation

unitless by name
Required / declared member
No @default declared; consult the signature and description.
projection-curve.options.discountCurve.interpolation
import('@insiderfinance/totalfinance/fixed-income').CurveInterpolation

unitless by name
Required / declared member
No @default declared; consult the signature and description.
projection-curve.options.discountCurve.pillars
import('@insiderfinance/totalfinance/fixed-income').CurvePillar[]

unitless by name
Required / declared member
No @default declared; consult the signature and description.
projection-curve.options.discountCurve.referenceDate
string

calendar date (YYYY-MM-DD)
Required / declared member
No @default declared; consult the signature and description.
projection-curve.options.discountCurve.zeroRateAtOrigin
import('@insiderfinance/totalfinance/fixed-income/artifacts').ZeroRateAtOrigin

unitless by name
Required / declared member
No @default declared; consult the signature and description.
projection-curve.options.extrapolation
import('@insiderfinance/totalfinance/fixed-income').CurveExtrapolation

unitless by name
Optional
No @default declared; consult the signature and description.
projection-curve.options.interpolation
import('@insiderfinance/totalfinance/fixed-income').CurveInterpolation

unitless by name
Optional
No @default declared; consult the signature and description.
projection-curve.options.referenceDate
string
Curve reference/settlement date (t = 0).
calendar date (YYYY-MM-DD)
Required / declared member
No @default declared; consult the signature and description.
Stability, warnings & conventions
stable-by-law (pre-1.0; not a 1.0 stability guarantee)

Declared field units are shown above. “Unitless by name” means the name alone does not establish a unit, not that a financial quantity has none. Check source descriptions, conventions, and the returned diagnostics. Errors and warnings are part of the result contract.

type

EvaluationOf

Public declaration. Read the signature and parameter/member contracts below; no additional behavior is inferred.

export type EvaluationOf<F extends CurveModelFamily> = CurveEvaluations[F];
Stability, warnings & conventions
stable-by-law (pre-1.0; not a 1.0 stability guarantee)

Declared field units are shown above. “Unitless by name” means the name alone does not establish a unit, not that a financial quantity has none. Check source descriptions, conventions, and the returned diagnostics. Errors and warnings are part of the result contract.

value

FITTED_MODEL_FAMILIES

The frozen, data-only descriptor table (Program 5's registry metadata) for the curve families.

export declare const FITTED_MODEL_FAMILIES: Readonly<Record<CurveModelFamily, FittedModelFamilyDescriptor>>;
Stability, warnings & conventions
stable-by-law (pre-1.0; not a 1.0 stability guarantee)

Declared field units are shown above. “Unitless by name” means the name alone does not establish a unit, not that a financial quantity has none. Check source descriptions, conventions, and the returned diagnostics. Errors and warnings are part of the result contract.

value

FIXED_INCOME_FITTED_MODEL_ARTIFACT_TYPE

Public declaration. Read the signature and parameter/member contracts below; no additional behavior is inferred.

export declare const FIXED_INCOME_FITTED_MODEL_ARTIFACT_TYPE: 'fixed-income.fitted-model';
Stability, warnings & conventions
stable-by-law (pre-1.0; not a 1.0 stability guarantee)

Declared field units are shown above. “Unitless by name” means the name alone does not establish a unit, not that a financial quantity has none. Check source descriptions, conventions, and the returned diagnostics. Errors and warnings are part of the result contract.

type

FitOf

Public declaration. Read the signature and parameter/member contracts below; no additional behavior is inferred.

export type FitOf<F extends CurveModelFamily> = CurveFits[F];
Stability, warnings & conventions
stable-by-law (pre-1.0; not a 1.0 stability guarantee)

Declared field units are shown above. “Unitless by name” means the name alone does not establish a unit, not that a financial quantity has none. Check source descriptions, conventions, and the returned diagnostics. Errors and warnings are part of the result contract.

interface

FittedModelArtifactInput

Public declaration. Read the signature and parameter/member contracts below; no additional behavior is inferred.

export interface FittedModelArtifactInput<F extends CurveModelFamily> {
    family: F;
    /** The live result the bootstrap returned (a YieldCurve, a MultiCurve, a SurvivalCurve). */
    fit: LiveFitOf<F>;
    /** The bootstrap's input with its rows and live curves — the adapter stores curve data and mints handles. */
    calibration: CalibrationOf<F>;
    currency: string;
    referenceRowSets?: readonly string[];
    locators?: Record<string, string>;
    snapshotHash?: string;
    libraryVersion?: string;
    createdFrom?: string[];
    provenance?: Provenance;
    limits?: FittedModelArtifactLimits;
}
Fields, parameters & returned members (20)
Name / typeMeaning & unitOptional / default
calibration
CalibrationOf<F>
The bootstrap's input with its rows and live curves — the adapter stores curve data and mints handles.
unitless by name
Required / declared member
No @default declared; consult the signature and description.
createdFrom
string[]

unitless by name
Optional
No @default declared; consult the signature and description.
currency
string

unitless by name
Required / declared member
No @default declared; consult the signature and description.
family
F

unitless by name
Required / declared member
No @default declared; consult the signature and description.
fit
LiveFitOf<F>
The live result the bootstrap returned (a YieldCurve, a MultiCurve, a SurvivalCurve).
unitless by name
Required / declared member
No @default declared; consult the signature and description.
libraryVersion
string

unitless by name
Optional
No @default declared; consult the signature and description.
limits
FittedModelArtifactLimits

unitless by name
Optional
No @default declared; consult the signature and description.
limits.embeddedRowLimit
number

unitless by name
Optional
No @default declared; consult the signature and description.
limits.maximumEmbeddedBytes
number

unitless by name
Optional
No @default declared; consult the signature and description.
locators
Record<string, string>

unitless by name
Optional
No @default declared; consult the signature and description.
provenance
Provenance

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.
referenceRowSets
readonly string[]

unitless by name
Optional
No @default declared; consult the signature and description.
snapshotHash
string

unitless by name
Optional
No @default declared; consult the signature and description.
Stability, warnings & conventions
stable-by-law (pre-1.0; not a 1.0 stability guarantee)

Declared field units are shown above. “Unitless by name” means the name alone does not establish a unit, not that a financial quantity has none. Check source descriptions, conventions, and the returned diagnostics. Errors and warnings are part of the result contract.

interface

FittedModelArtifactLimits

Public declaration. Read the signature and parameter/member contracts below; no additional behavior is inferred.

export interface FittedModelArtifactLimits {
    maximumEmbeddedBytes?: number;
    embeddedRowLimit?: number;
}
Fields, parameters & returned members (2)
Name / typeMeaning & unitOptional / default
embeddedRowLimit
number

unitless by name
Optional
No @default declared; consult the signature and description.
maximumEmbeddedBytes
number

unitless by name
Optional
No @default declared; consult the signature and description.
Stability, warnings & conventions
stable-by-law (pre-1.0; not a 1.0 stability guarantee)

Declared field units are shown above. “Unitless by name” means the name alone does not establish a unit, not that a financial quantity has none. Check source descriptions, conventions, and the returned diagnostics. Errors and warnings are part of the result contract.

interface

FittedModelComparison

Public declaration. Read the signature and parameter/member contracts below; no additional behavior is inferred.

export interface FittedModelComparison<F extends CurveModelFamily = CurveModelFamily> {
    family: F;
    artifactIds: {
        baseline: string | null;
        candidate: string | null;
    };
    sameMarket: boolean | null;
    sameCalibrationInput: boolean;
    sameCurrency: boolean;
    parameters: ParameterDelta[];
    objective: {
        kind: string;
        unit: string;
        baselineValue: number | null;
        candidateValue: number | null;
        absoluteDelta: number | null;
    };
    convergence: {
        baseline: boolean;
        candidate: boolean;
    };
    residuals: {
        baselineRootMeanSquare: number | null;
        candidateRootMeanSquare: number | null;
        absoluteDelta: number | null;
    };
    fit: {
        differenceCount: number;
        retainedDifferences: number;
        addedPaths: string[];
        removedPaths: string[];
        truncated: boolean;
    };
    /** One section per measure on the union of both fits' pillar dates (Decision 6's curve rule). */
    evaluation: CurveEvaluationDifference[];
    withinTolerance: boolean | null;
    assumptions: {
        conventionsVersion: string;
        family: F;
        tolerance: ComparisonTolerance | null;
        limits: {
            maximumDifferences: number;
            maximumLeaves: number;
        };
    };
    diagnostics: {
        warnings: QuantWarning[];
    };
}
Fields, parameters & returned members (40)
Name / typeMeaning & unitOptional / default
artifactIds
{ baseline: string | null; candidate: string | null; }

unitless by name
Required / declared member
No @default declared; consult the signature and description.
artifactIds.baseline
string | null

unitless by name
Required / declared member
No @default declared; consult the signature and description.
artifactIds.candidate
string | null

unitless by name
Required / declared member
No @default declared; consult the signature and description.
assumptions
{ conventionsVersion: string; family: F; tolerance: ComparisonTolerance | null; limits: { maximumDifferences: number; maximumLeaves: number; }; }

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.family
F

unitless by name
Required / declared member
No @default declared; consult the signature and description.
assumptions.limits
{ maximumDifferences: number; maximumLeaves: number; }

unitless by name
Required / declared member
No @default declared; consult the signature and description.
assumptions.limits.maximumDifferences
number

unitless by name
Required / declared member
No @default declared; consult the signature and description.
assumptions.limits.maximumLeaves
number

unitless by name
Required / declared member
No @default declared; consult the signature and description.
assumptions.tolerance
ComparisonTolerance | null

unitless by name
Required / declared member
No @default declared; consult the signature and description.
assumptions.tolerance.absolute
number
Absolute tolerance in the leaf's own unit; `≥ 0`, finite.
unitless by name
Required / declared member
No @default declared; consult the signature and description.
assumptions.tolerance.relative
number
Relative tolerance as a fraction of the baseline's magnitude; `≥ 0`, finite.
unitless by name
Required / declared member
No @default declared; consult the signature and description.
convergence
{ baseline: boolean; candidate: boolean; }

unitless by name
Required / declared member
No @default declared; consult the signature and description.
convergence.baseline
boolean

unitless by name
Required / declared member
No @default declared; consult the signature and description.
convergence.candidate
boolean

unitless by name
Required / declared member
No @default declared; consult the signature and description.
diagnostics
{ warnings: QuantWarning[]; }

unitless by name
Required / declared member
No @default declared; consult the signature and description.
diagnostics.warnings
QuantWarning[]

unitless by name
Required / declared member
No @default declared; consult the signature and description.
evaluation
CurveEvaluationDifference[]
One section per measure on the union of both fits' pillar dates (Decision 6's curve rule).
unitless by name
Required / declared member
No @default declared; consult the signature and description.
family
F

unitless by name
Required / declared member
No @default declared; consult the signature and description.
fit
{ addedPaths: string[]; differenceCount: number; removedPaths: string[]; retainedDifferences: number; truncated: boolean; }

unitless by name
Required / declared member
No @default declared; consult the signature and description.
fit.addedPaths
string[]

unitless by name
Required / declared member
No @default declared; consult the signature and description.
fit.differenceCount
number

count (integer)
Required / declared member
No @default declared; consult the signature and description.
fit.removedPaths
string[]

unitless by name
Required / declared member
No @default declared; consult the signature and description.
fit.retainedDifferences
number

unitless by name
Required / declared member
No @default declared; consult the signature and description.
fit.truncated
boolean

unitless by name
Required / declared member
No @default declared; consult the signature and description.
objective
{ absoluteDelta: number | null; baselineValue: number | null; candidateValue: number | null; kind: string; unit: string; }

unitless by name
Required / declared member
No @default declared; consult the signature and description.
objective.absoluteDelta
number | null

unitless by name
Required / declared member
No @default declared; consult the signature and description.
objective.baselineValue
number | null

currency amount (the field or record currency)
Required / declared member
No @default declared; consult the signature and description.
objective.candidateValue
number | null

currency amount (the field or record currency)
Required / declared member
No @default declared; consult the signature and description.
objective.kind
string

unitless by name
Required / declared member
No @default declared; consult the signature and description.
objective.unit
string

unitless by name
Required / declared member
No @default declared; consult the signature and description.
parameters
ParameterDelta[]

unitless by name
Required / declared member
No @default declared; consult the signature and description.
residuals
{ absoluteDelta: number | null; baselineRootMeanSquare: number | null; candidateRootMeanSquare: number | null; }

unitless by name
Required / declared member
No @default declared; consult the signature and description.
residuals.absoluteDelta
number | null

unitless by name
Required / declared member
No @default declared; consult the signature and description.
residuals.baselineRootMeanSquare
number | null

unitless by name
Required / declared member
No @default declared; consult the signature and description.
residuals.candidateRootMeanSquare
number | null

unitless by name
Required / declared member
No @default declared; consult the signature and description.
sameCalibrationInput
boolean

unitless by name
Required / declared member
No @default declared; consult the signature and description.
sameCurrency
boolean

ISO-4217 currency code
Required / declared member
No @default declared; consult the signature and description.
sameMarket
boolean | null

unitless by name
Required / declared member
No @default declared; consult the signature and description.
withinTolerance
boolean | null

unitless by name
Required / declared member
No @default declared; consult the signature and description.
Stability, warnings & conventions
stable-by-law (pre-1.0; not a 1.0 stability guarantee)

Declared field units are shown above. “Unitless by name” means the name alone does not establish a unit, not that a financial quantity has none. Check source descriptions, conventions, and the returned diagnostics. Errors and warnings are part of the result contract.

interface

FittedModelEvaluation

Public declaration. Read the signature and parameter/member contracts below; no additional behavior is inferred.

export interface FittedModelEvaluation<F extends CurveModelFamily = CurveModelFamily> {
    family: F;
    at: EvaluationOf<F>;
    values: (number | null)[];
    reasons: Array<{
        index: number;
        reason: string;
    }>;
    coordinates: Array<Record<string, number | string>>;
    unit: string;
    assumptions: {
        conventionsVersion: string;
        family: F;
        modelVersion: number;
        currency: string;
        evaluator: string;
        options: Record<string, unknown>;
        extrapolation: string;
    };
    diagnostics: {
        warnings: QuantWarning[];
        outsideCalibratedRange: number;
    };
}
Fields, parameters & returned members (17)
Name / typeMeaning & unitOptional / default
assumptions
{ conventionsVersion: string; family: F; modelVersion: number; currency: string; evaluator: string; options: Record<string, unknown>; extrapolation: string; }

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.currency
string

unitless by name
Required / declared member
No @default declared; consult the signature and description.
assumptions.evaluator
string

unitless by name
Required / declared member
No @default declared; consult the signature and description.
assumptions.extrapolation
string

unitless by name
Required / declared member
No @default declared; consult the signature and description.
assumptions.family
F

unitless by name
Required / declared member
No @default declared; consult the signature and description.
assumptions.modelVersion
number

unitless by name
Required / declared member
No @default declared; consult the signature and description.
assumptions.options
Record<string, unknown>

unitless by name
Required / declared member
No @default declared; consult the signature and description.
at
EvaluationOf<F>

unitless by name
Required / declared member
No @default declared; consult the signature and description.
coordinates
Record<string, string | number>[]

unitless by name
Required / declared member
No @default declared; consult the signature and description.
diagnostics
{ outsideCalibratedRange: number; warnings: QuantWarning[]; }

unitless by name
Required / declared member
No @default declared; consult the signature and description.
diagnostics.outsideCalibratedRange
number

unitless by name
Required / declared member
No @default declared; consult the signature and description.
diagnostics.warnings
QuantWarning[]

unitless by name
Required / declared member
No @default declared; consult the signature and description.
family
F

unitless by name
Required / declared member
No @default declared; consult the signature and description.
reasons
{ index: number; reason: string; }[]

unitless by name
Required / declared member
No @default declared; consult the signature and description.
unit
string

unitless by name
Required / declared member
No @default declared; consult the signature and description.
values
(number | null)[]

unitless by name
Required / declared member
No @default declared; consult the signature and description.
Stability, warnings & conventions
stable-by-law (pre-1.0; not a 1.0 stability guarantee)

Declared field units are shown above. “Unitless by name” means the name alone does not establish a unit, not that a financial quantity has none. Check source descriptions, conventions, and the returned diagnostics. Errors and warnings are part of the result contract.

interface

FittedModelFamilyDescriptor

Public declaration. Read the signature and parameter/member contracts below; no additional behavior is inferred.

export interface FittedModelFamilyDescriptor {
    family: string;
    qualifiedFamily: string;
    modelVersion: number;
    calibrator: string;
    evaluator: string | null;
    warmStart: boolean;
    referenceableRowSets: readonly string[];
    costClass: 'closed-form' | 'least-squares' | 'iterative-pricing' | 'bootstrap' | 'statistic';
    requiredData: string;
    supportedProducts: string;
}
Fields, parameters & returned members (10)
Name / typeMeaning & unitOptional / default
calibrator
string

unitless by name
Required / declared member
No @default declared; consult the signature and description.
costClass
'statistic' | 'closed-form' | 'least-squares' | 'iterative-pricing' | 'bootstrap'

unitless by name
Required / declared member
No @default declared; consult the signature and description.
evaluator
string | null

unitless by name
Required / declared member
No @default declared; consult the signature and description.
family
string

unitless by name
Required / declared member
No @default declared; consult the signature and description.
modelVersion
number

unitless by name
Required / declared member
No @default declared; consult the signature and description.
qualifiedFamily
string

unitless by name
Required / declared member
No @default declared; consult the signature and description.
referenceableRowSets
readonly string[]

unitless by name
Required / declared member
No @default declared; consult the signature and description.
requiredData
string

unitless by name
Required / declared member
No @default declared; consult the signature and description.
supportedProducts
string

unitless by name
Required / declared member
No @default declared; consult the signature and description.
warmStart
boolean

unitless by name
Required / declared member
No @default declared; consult the signature and description.
Stability, warnings & conventions
stable-by-law (pre-1.0; not a 1.0 stability guarantee)

Declared field units are shown above. “Unitless by name” means the name alone does not establish a unit, not that a financial quantity has none. Check source descriptions, conventions, and the returned diagnostics. Errors and warnings are part of the result contract.

interface

FittedModelHoldoutInput

Public declaration. Read the signature and parameter/member contracts below; no additional behavior is inferred.

export interface FittedModelHoldoutInput<F extends CurveModelFamily> {
    family: F;
    calibration: CalibrationOf<F>;
    holdout: FittedModelHoldoutSelection;
}
Fields, parameters & returned members (6)
Name / typeMeaning & unitOptional / default
calibration
CalibrationOf<F>

unitless by name
Required / declared member
No @default declared; consult the signature and description.
family
F

unitless by name
Required / declared member
No @default declared; consult the signature and description.
holdout
FittedModelHoldoutSelection

unitless by name
Required / declared member
No @default declared; consult the signature and description.
holdout.everyNth
number

unitless by name
Required / declared member
No @default declared; consult the signature and description.
holdout.indices
number[]

unitless by name
Required / declared member
No @default declared; consult the signature and description.
holdout.offset
number

unitless by name
Required / declared member
No @default declared; consult the signature and description.
Stability, warnings & conventions
stable-by-law (pre-1.0; not a 1.0 stability guarantee)

Declared field units are shown above. “Unitless by name” means the name alone does not establish a unit, not that a financial quantity has none. Check source descriptions, conventions, and the returned diagnostics. Errors and warnings are part of the result contract.