assumptions
GridAssumptions | 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.hygiene
{ splits: number | null; confidence: number; degenerateTrialSharpe: 0; } | unitless by name | Required / declared member No @default declared; consult the signature and description. |
assumptions.hygiene.confidence
number | unitless by name | Required / declared member No @default declared; consult the signature and description. |
assumptions.hygiene.degenerateTrialSharpe
0 | The trial Sharpe recorded for a degenerate return series. unitless by name | Required / declared member No @default declared; consult the signature and description. |
assumptions.hygiene.splits
number | null | The CSCV blocks actually used, or `null` when the overfitting probability was not computed. unitless by name | Required / declared member No @default declared; consult the signature and description. |
assumptions.maximumVariations
number | unitless by name | Required / declared member No @default declared; consult the signature and description. |
assumptions.paths
string[] | unitless by name | Required / declared member No @default declared; consult the signature and description. |
assumptions.periodsPerYear
number | per year (count) | Required / declared member No @default declared; consult the signature and description. |
assumptions.riskFreeRate
number | decimal rate (0.05 = 5%) | Required / declared member No @default declared; consult the signature and description. |
assumptions.selectionMetric
GridSelectionMetric | unitless by name | Required / declared member No @default declared; consult the signature and description. |
assumptions.variationCount
number | count (integer) | Required / declared member No @default declared; consult the signature and description. |
best
{ index: number; metric: GridSelectionMetric; runId: string; value: number; } | null | The best trial by the selection metric, or `null` when no variation carries the metric. unitless by name | Required / declared member No @default declared; consult the signature and description. |
best.index
number | unitless by name | Required / declared member No @default declared; consult the signature and description. |
best.metric
GridSelectionMetric | unitless by name | Required / declared member No @default declared; consult the signature and description. |
best.runId
string | unitless by name | Required / declared member No @default declared; consult the signature and description. |
best.value
number | unitless by name | Required / declared member No @default declared; consult the signature and description. |
diagnostics
GridDiagnostics | unitless by name | Required / declared member No @default declared; consult the signature and description. |
diagnostics.autoReason
string | When a meta-engine (e.g. `engines.auto()`) selected a delegate, this is a one-sentence,
human-readable explanation of WHY that delegate was chosen (`engine` then names the delegate).
Absent when no auto-selection took place. unitless by name | Optional No @default declared; consult the signature and description. |
diagnostics.converged
boolean | Whether an iterative procedure converged. `false` means the value is not trustworthy. unitless by name | Optional No @default declared; consult the signature and description. |
diagnostics.decomposition
Record<string, number> | Named intermediate quantities the value decomposes into — a par spread's protection leg and
risky annuity, a forward variance's near/far legs. The H-series explain paths disclose their
arithmetic here so a caller can audit the ratio, not just receive it (3B.3). unitless by name | Optional No @default declared; consult the signature and description. |
diagnostics.degenerateTrialCount
number | count (integer) | Required / declared member No @default declared; consult the signature and description. |
diagnostics.engine
string | Pricing/solver engine name, e.g. `black-scholes-merton`. unitless by name | Optional No @default declared; consult the signature and description. |
diagnostics.finiteDifferenceBumps
Record<string, number> | Finite-difference engines: the ACTUAL bump sizes used for FD Greeks (spec P2.3) — adaptive
near the vol/time boundaries, so the caller can see exactly what was differenced.
Keys: `spotStep`, `volatilityStep`, `timeStepYears`, `rateStep`, and — extended Greeks only —
`dividendYieldStep`. Each is the actual step differenced, in the unit of the coordinate it
bumps. (This doc named the retired `hS`/`hSig`/`hT`/`hR`/`hQ` keys for one release after the
emit sites had moved to the semantic names, so a caller following it read `undefined`.) unitless by name | Optional No @default declared; consult the signature and description. |
diagnostics.iterations
number | Iteration count for iterative methods. unitless by name | Optional No @default declared; consult the signature and description. |
diagnostics.method
string | Numerical method, e.g. `closed-form`, `brent`, `finite-difference`. unitless by name | Optional No @default declared; consult the signature and description. |
diagnostics.selection
import('@insiderfinance/totalfinance/core/pricing').SelectionReport | The structured engine-selection report (Gate C, `@insiderfinance/totalfinance/core/pricing`): who was selected,
why, and — for automatic selection — every candidate considered with its verdict. This is the
machine-readable superset of `engine` + `autoReason` (which remain for compatibility);
`selected.name` always agrees with `engine` when both are present. unitless by name | Optional No @default declared; consult the signature and description. |
diagnostics.selection.candidates
readonly import('@insiderfinance/totalfinance/core/pricing').SelectionCandidate[] | Candidates an automatic selection considered; absent for explicit mode. unitless by name | Optional No @default declared; consult the signature and description. |
diagnostics.selection.mode
'explicit' | 'automatic' | unitless by name | Required / declared member No @default declared; consult the signature and description. |
diagnostics.selection.reason
string | Why the selected engine answers this request. unitless by name | Required / declared member No @default declared; consult the signature and description. |
diagnostics.selection.selected
{ name: string; version?: string; } | unitless by name | Required / declared member No @default declared; consult the signature and description. |
diagnostics.selection.selected.name
string | unitless by name | Required / declared member No @default declared; consult the signature and description. |
diagnostics.selection.selected.version
string | unitless by name | Optional No @default declared; consult the signature and description. |
diagnostics.skippedHygiene
{ block: 'researchProtocol' | 'backtestOverfitting' | 'deflatedSharpe'; reason: string; }[] | The hygiene blocks that were not computed, each with its reason. unitless by name | Required / declared member No @default declared; consult the signature and description. |
diagnostics.timingMs
number | Wall-clock timing in milliseconds, when measured. milliseconds | Optional No @default declared; consult the signature and description. |
diagnostics.variationCount
number | count (integer) | Required / declared member No @default declared; consult the signature and description. |
diagnostics.warmup
number | Series facades: number of leading output slots that are warmup sentinels (null/NaN) while the
computation seeds. Equals the input length when the indicator never emitted. unitless by name | Optional No @default declared; consult the signature and description. |
diagnostics.warnings
QuantWarning[] | Structured warnings; always present (possibly empty). unitless by name | Required / declared member No @default declared; consult the signature and description. |
hygiene
GridHygiene | unitless by name | Required / declared member No @default declared; consult the signature and description. |
hygiene.backtestOverfitting
BacktestOverfittingProbabilityResult | null | `probabilityOfBacktestOverfitting` over the periods × variations return matrix; `null` when fewer than two variations or too few periods. unitless by name | Required / declared member No @default declared; consult the signature and description. |
hygiene.backtestOverfitting.assumptions
{ [k: string]: unknown; conventionsVersion: string; } | Applied conventions, echoed (Law 2 report grammar). unitless by name | Required / declared member No @default declared; consult the signature and description. |
hygiene.backtestOverfitting.assumptions.conventionsVersion
string | unitless by name | Required / declared member No @default declared; consult the signature and description. |
hygiene.backtestOverfitting.backtestOverfittingProbability
number | Probability of backtest overfitting: the fraction of the `C(S, S/2)` symmetric train/test splits on
which the in-sample-best configuration ranks **below the out-of-sample median** (logit `λ < 0`). Near
`0.5` for noise (selection is worthless out of sample), near `0` for a genuinely persistent edge. unitless by name | Required / declared member No @default declared; consult the signature and description. |
hygiene.backtestOverfitting.combinations
number | Number of symmetric train/test splits evaluated: `C(S, S/2)`. unitless by name | Required / declared member No @default declared; consult the signature and description. |
hygiene.backtestOverfitting.diagnostics
{ warnings: QuantWarning[]; } | Structured warnings; always present (possibly empty). unitless by name | Required / declared member No @default declared; consult the signature and description. |
hygiene.backtestOverfitting.diagnostics.warnings
QuantWarning[] | unitless by name | Required / declared member No @default declared; consult the signature and description. |
hygiene.backtestOverfitting.medianLogit
number | Median logit `λ = ln(r̄/(1−r̄))` across the splits (`r̄` = OOS relative rank of the IS-best); `< 0` ⇒ overfit-leaning. unitless by name | Required / declared member No @default declared; consult the signature and description. |
hygiene.backtestOverfitting.observations
number | Observations (rows) used after trimming to a multiple of `S`. unitless by name | Required / declared member No @default declared; consult the signature and description. |
hygiene.backtestOverfitting.splits
number | Blocks `S` actually used. unitless by name | Required / declared member No @default declared; consult the signature and description. |
hygiene.backtestOverfitting.trials
number | Number of strategy configurations (columns) `N`. unitless by name | Required / declared member No @default declared; consult the signature and description. |
hygiene.deflatedSharpe
DeflatedSharpeResult | null | `deflatedSharpeRatio` for the best trial against the pool; `null` when the best trial is degenerate. unitless by name | Required / declared member No @default declared; consult the signature and description. |
hygiene.deflatedSharpe.assumptions
{ [k: string]: unknown; conventionsVersion: string; } | Applied conventions, echoed (Law 2 report grammar). unitless by name | Required / declared member No @default declared; consult the signature and description. |
hygiene.deflatedSharpe.assumptions.conventionsVersion
string | unitless by name | Required / declared member No @default declared; consult the signature and description. |
hygiene.deflatedSharpe.deflatedSharpe
number | null | `null` when the statistics carry no Sharpe (a zero-variance series). unitless by name | Required / declared member No @default declared; consult the signature and description. |
hygiene.deflatedSharpe.diagnostics
{ warnings: QuantWarning[]; } | Structured warnings; always present (possibly empty). unitless by name | Required / declared member No @default declared; consult the signature and description. |
hygiene.deflatedSharpe.diagnostics.warnings
QuantWarning[] | unitless by name | Required / declared member No @default declared; consult the signature and description. |
hygiene.deflatedSharpe.expectedMaxSharpe
number | Expected maximum Sharpe across `trialCount` under the null — the deflation benchmark `SR₀`. unitless by name | Required / declared member No @default declared; consult the signature and description. |
hygiene.deflatedSharpe.probabilisticSharpe
number | null | The un-deflated PSR (benchmark 0), for comparison. unitless by name | Required / declared member No @default declared; consult the signature and description. |
hygiene.deflatedSharpe.trialCount
number | count (integer) | Required / declared member No @default declared; consult the signature and description. |
hygiene.researchProtocol
ResearchVerdict | null | `researchProtocol` over the best trial's returns with the pool; `null` when the best trial is degenerate. unitless by name | Required / declared member No @default declared; consult the signature and description. |
hygiene.researchProtocol.assumptions
{ confidence: number; conventionsVersion: string; periodsPerYear: number; } | unitless by name | Required / declared member No @default declared; consult the signature and description. |
hygiene.researchProtocol.assumptions.confidence
number | unitless by name | Required / declared member No @default declared; consult the signature and description. |
hygiene.researchProtocol.assumptions.conventionsVersion
string | unitless by name | Required / declared member No @default declared; consult the signature and description. |
hygiene.researchProtocol.assumptions.periodsPerYear
number | per year (count) | Required / declared member No @default declared; consult the signature and description. |
hygiene.researchProtocol.deflatedSharpe
number | null | Probability the true Sharpe beats the selection-adjusted benchmark SR₀; `null` with `inSample.sharpe`. unitless by name | Required / declared member No @default declared; consult the signature and description. |
hygiene.researchProtocol.diagnostics
Diagnostics | unitless by name | Required / declared member No @default declared; consult the signature and description. |
hygiene.researchProtocol.diagnostics.autoReason
string | When a meta-engine (e.g. `engines.auto()`) selected a delegate, this is a one-sentence,
human-readable explanation of WHY that delegate was chosen (`engine` then names the delegate).
Absent when no auto-selection took place. unitless by name | Optional No @default declared; consult the signature and description. |
hygiene.researchProtocol.diagnostics.converged
boolean | Whether an iterative procedure converged. `false` means the value is not trustworthy. unitless by name | Optional No @default declared; consult the signature and description. |
hygiene.researchProtocol.diagnostics.decomposition
Record<string, number> | Named intermediate quantities the value decomposes into — a par spread's protection leg and
risky annuity, a forward variance's near/far legs. The H-series explain paths disclose their
arithmetic here so a caller can audit the ratio, not just receive it (3B.3). unitless by name | Optional No @default declared; consult the signature and description. |
hygiene.researchProtocol.diagnostics.engine
string | Pricing/solver engine name, e.g. `black-scholes-merton`. unitless by name | Optional No @default declared; consult the signature and description. |
hygiene.researchProtocol.diagnostics.finiteDifferenceBumps
Record<string, number> | Finite-difference engines: the ACTUAL bump sizes used for FD Greeks (spec P2.3) — adaptive
near the vol/time boundaries, so the caller can see exactly what was differenced.
Keys: `spotStep`, `volatilityStep`, `timeStepYears`, `rateStep`, and — extended Greeks only —
`dividendYieldStep`. Each is the actual step differenced, in the unit of the coordinate it
bumps. (This doc named the retired `hS`/`hSig`/`hT`/`hR`/`hQ` keys for one release after the
emit sites had moved to the semantic names, so a caller following it read `undefined`.) unitless by name | Optional No @default declared; consult the signature and description. |
hygiene.researchProtocol.diagnostics.iterations
number | Iteration count for iterative methods. unitless by name | Optional No @default declared; consult the signature and description. |
hygiene.researchProtocol.diagnostics.method
string | Numerical method, e.g. `closed-form`, `brent`, `finite-difference`. unitless by name | Optional No @default declared; consult the signature and description. |
hygiene.researchProtocol.diagnostics.selection
import('@insiderfinance/totalfinance/core/pricing').SelectionReport | The structured engine-selection report (Gate C, `@insiderfinance/totalfinance/core/pricing`): who was selected,
why, and — for automatic selection — every candidate considered with its verdict. This is the
machine-readable superset of `engine` + `autoReason` (which remain for compatibility);
`selected.name` always agrees with `engine` when both are present. unitless by name | Optional No @default declared; consult the signature and description. |
hygiene.researchProtocol.diagnostics.selection.candidates
readonly import('@insiderfinance/totalfinance/core/pricing').SelectionCandidate[] | Candidates an automatic selection considered; absent for explicit mode. unitless by name | Optional No @default declared; consult the signature and description. |
hygiene.researchProtocol.diagnostics.selection.mode
'explicit' | 'automatic' | unitless by name | Required / declared member No @default declared; consult the signature and description. |
hygiene.researchProtocol.diagnostics.selection.reason
string | Why the selected engine answers this request. unitless by name | Required / declared member No @default declared; consult the signature and description. |
hygiene.researchProtocol.diagnostics.selection.selected
{ name: string; version?: string; } | unitless by name | Required / declared member No @default declared; consult the signature and description. |
hygiene.researchProtocol.diagnostics.selection.selected.name
string | unitless by name | Required / declared member No @default declared; consult the signature and description. |
hygiene.researchProtocol.diagnostics.selection.selected.version
string | unitless by name | Optional No @default declared; consult the signature and description. |
hygiene.researchProtocol.diagnostics.timingMs
number | Wall-clock timing in milliseconds, when measured. milliseconds | Optional No @default declared; consult the signature and description. |
hygiene.researchProtocol.diagnostics.warmup
number | Series facades: number of leading output slots that are warmup sentinels (null/NaN) while the
computation seeds. Equals the input length when the indicator never emitted. unitless by name | Optional No @default declared; consult the signature and description. |
hygiene.researchProtocol.diagnostics.warnings
QuantWarning[] | Structured warnings; always present (possibly empty). unitless by name | Required / declared member No @default declared; consult the signature and description. |
hygiene.researchProtocol.expectedMaxSharpe
number | SR₀ — the expected-max Sharpe of `trialCount` under the null (0 for a single hypothesis). unitless by name | Required / declared member No @default declared; consult the signature and description. |
hygiene.researchProtocol.inSample
{ annualizedSharpe: number | null; observations: number; sharpe: number | null; } | Sharpe figures are `null` (C hygiene) when the returns have zero variance; the verdict is then `inconclusive`. unitless by name | Required / declared member No @default declared; consult the signature and description. |
hygiene.researchProtocol.inSample.annualizedSharpe
number | null | unitless by name | Required / declared member No @default declared; consult the signature and description. |
hygiene.researchProtocol.inSample.observations
number | unitless by name | Required / declared member No @default declared; consult the signature and description. |
hygiene.researchProtocol.inSample.sharpe
number | null | unitless by name | Required / declared member No @default declared; consult the signature and description. |
hygiene.researchProtocol.minTrackRecordLength
number | Observations needed for `deflatedSharpe ≥ confidence` (`Infinity` when SR ≤ SR₀). count (integer) | Required / declared member No @default declared; consult the signature and description. |
hygiene.researchProtocol.outOfSample
{ annualizedSharpe: number | null; degradation: number | null; sharpe: number | null; } | Present when out-of-sample returns are given; `null` figures when either series has zero variance. unitless by name | Optional No @default declared; consult the signature and description. |
hygiene.researchProtocol.outOfSample.annualizedSharpe
number | null | unitless by name | Required / declared member No @default declared; consult the signature and description. |
hygiene.researchProtocol.outOfSample.degradation
number | null | unitless by name | Required / declared member No @default declared; consult the signature and description. |
hygiene.researchProtocol.outOfSample.sharpe
number | null | unitless by name | Required / declared member No @default declared; consult the signature and description. |
hygiene.researchProtocol.probabilisticSharpe
number | null | Un-deflated PSR (benchmark 0), for comparison; `null` with `inSample.sharpe`. unitless by name | Required / declared member No @default declared; consult the signature and description. |
hygiene.researchProtocol.rationale
string | Prose an agent relays. unitless by name | Required / declared member No @default declared; consult the signature and description. |
hygiene.researchProtocol.trialCount
number | count (integer) | Required / declared member No @default declared; consult the signature and description. |
hygiene.researchProtocol.verdict
'significant' | 'inconclusive' | 'likely-overfit' | unitless by name | Required / declared member No @default declared; consult the signature and description. |
hygiene.trialSharpes
number[] | The trial Sharpes in variation order — the pool `researchProtocol` deflates against. unitless by name | Required / declared member No @default declared; consult the signature and description. |
runs
CrossSectionalBacktestResult[] | Every child run, index-aligned with `variations` — the same function, called once per point. unitless by name | Required / declared member No @default declared; consult the signature and description. |
sweepId
string | The parent sweep hash: the content hash of the axes and every child run hash. unitless by name | Required / declared member No @default declared; consult the signature and description. |
variations
GridVariationRow[] | unitless by name | Required / declared member No @default declared; consult the signature and description. |