The finance developer workbenchSearch the reference Development · 0.1.4 · unpublished

Public API / @insiderfinance/totalfinance

@insiderfinance/totalfinance/technical-analysis/math

import from '@insiderfinance/totalfinance/technical-analysis/math'

Every public export in this entry point, including type-only declarations. Search by name or concept.

Jump to an export (24)

BinaryMathStream · CrossPairStream · UnaryMathStream · acos · add · asin · atan · ceil · cos · cosh · crossany · crossover · div · exp · floor · ln · log10 · mult · sin · sinh · sqrt · sub · tan · tanh

class

BinaryMathStream

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

export declare class BinaryMathStream implements IndicatorStream<Pair, number> {
  constructor(parameters: { kind: string; combine: (x: number, y: number) => number; });
  static restore(kind: string, operation: (x: number, y: number) => number): (s: TechnicalAnalysisSnapshot) => BinaryMathStream;
  value: number | null;
  next(pair: Pair): number | null;
  toJSON(): TechnicalAnalysisSnapshot;
}
Fields, parameters & returned members (18)
Name / typeMeaning & unitOptional / default
(parameters)
{ kind: string; combine: (x: number, y: number) => number; }

unitless by name
Required / declared member
No @default declared; consult the signature and description.
(parameters).combine
(x: number, y: number) => number

unitless by name
Required / declared member
No @default declared; consult the signature and description.
(parameters).kind
string

unitless by name
Required / declared member
No @default declared; consult the signature and description.
next
(pair: Pair) => number | null

unitless by name
Required / declared member
No @default declared; consult the signature and description.
next(pair)
Pair

unitless by name
Required / declared member
No @default declared; consult the signature and description.
next(pair).x
number

unitless by name
Required / declared member
No @default declared; consult the signature and description.
next(pair).y
number

unitless by name
Required / declared member
No @default declared; consult the signature and description.
restore
(kind: string, operation: (x: number, y: number) => number) => (s: TechnicalAnalysisSnapshot) => BinaryMathStream

unitless by name
Required / declared member
No @default declared; consult the signature and description.
restore(kind)
string

unitless by name
Required / declared member
No @default declared; consult the signature and description.
restore(operation)
(x: number, y: number) => number

unitless by name
Required / declared member
No @default declared; consult the signature and description.
return.next
(pair: Pair) => number | null

unitless by name
Required / declared member
No @default declared; consult the signature and description.
return.toJSON
() => TechnicalAnalysisSnapshot

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

unitless by name
Required / declared member
No @default declared; consult the signature and description.
toJSON
() => TechnicalAnalysisSnapshot

unitless by name
Required / declared member
No @default declared; consult the signature and description.
toJSON().return.kind
string

unitless by name
Required / declared member
No @default declared; consult the signature and description.
toJSON().return.schemaVersion
number
Schema version, stamped at the serialization boundary by {@link snapshotOf}.
unitless by name
Required / declared member
No @default declared; consult the signature and description.
toJSON().return.state
Record<string, unknown>
Indicator-private stream state. Round-trip it; never read into it.
unitless by name
Required / declared member
No @default declared; consult the signature and description.
value
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.

class

CrossPairStream

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

export declare class CrossPairStream implements IndicatorStream<Pair, number> {
  constructor(parameters: { kind: CrossPairKind; mode: 'over' | 'any'; });
  static fromJSON(snapshot: TechnicalAnalysisSnapshot): CrossPairStream;
  value: number | null;
  next(pair: Pair): number | null;
  toJSON(): TechnicalAnalysisSnapshot;
}
Fields, parameters & returned members (23)
Name / typeMeaning & unitOptional / default
(parameters)
{ kind: CrossPairKind; mode: 'over' | 'any'; }

unitless by name
Required / declared member
No @default declared; consult the signature and description.
(parameters).kind
'crossany' | 'crossover'

unitless by name
Required / declared member
No @default declared; consult the signature and description.
(parameters).mode
'any' | 'over'

unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON
(snapshot: TechnicalAnalysisSnapshot) => CrossPairStream

unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON().return.next
(pair: Pair) => number | null

unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON().return.toJSON
() => TechnicalAnalysisSnapshot

unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON().return.value
number | null

unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON(snapshot)
TechnicalAnalysisSnapshot

unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON(snapshot).kind
string

unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON(snapshot).schemaVersion
number
Schema version, stamped at the serialization boundary by {@link snapshotOf}.
unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON(snapshot).state
Record<string, unknown>
Indicator-private stream state. Round-trip it; never read into it.
unitless by name
Required / declared member
No @default declared; consult the signature and description.
next
(pair: Pair) => number | null

unitless by name
Required / declared member
No @default declared; consult the signature and description.
next(pair)
Pair

unitless by name
Required / declared member
No @default declared; consult the signature and description.
next(pair).x
number

unitless by name
Required / declared member
No @default declared; consult the signature and description.
next(pair).y
number

unitless by name
Required / declared member
No @default declared; consult the signature and description.
return.next
(pair: Pair) => number | null

unitless by name
Required / declared member
No @default declared; consult the signature and description.
return.toJSON
() => TechnicalAnalysisSnapshot

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

unitless by name
Required / declared member
No @default declared; consult the signature and description.
toJSON
() => TechnicalAnalysisSnapshot

unitless by name
Required / declared member
No @default declared; consult the signature and description.
toJSON().return.kind
string

unitless by name
Required / declared member
No @default declared; consult the signature and description.
toJSON().return.schemaVersion
number
Schema version, stamped at the serialization boundary by {@link snapshotOf}.
unitless by name
Required / declared member
No @default declared; consult the signature and description.
toJSON().return.state
Record<string, unknown>
Indicator-private stream state. Round-trip it; never read into it.
unitless by name
Required / declared member
No @default declared; consult the signature and description.
value
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.

class

UnaryMathStream

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

export declare class UnaryMathStream implements IndicatorStream<number, number> {
  constructor(parameters: { kind: string; transform: (x: number) => number; });
  static restore(kind: string, operation: (x: number) => number): (s: TechnicalAnalysisSnapshot) => UnaryMathStream;
  value: number | null;
  next(value: number): number | null;
  toJSON(): TechnicalAnalysisSnapshot;
}
Fields, parameters & returned members (16)
Name / typeMeaning & unitOptional / default
(parameters)
{ kind: string; transform: (x: number) => number; }

unitless by name
Required / declared member
No @default declared; consult the signature and description.
(parameters).kind
string

unitless by name
Required / declared member
No @default declared; consult the signature and description.
(parameters).transform
(x: number) => number

unitless by name
Required / declared member
No @default declared; consult the signature and description.
next
(value: number) => number | null

unitless by name
Required / declared member
No @default declared; consult the signature and description.
next(value)
number

unitless by name
Required / declared member
No @default declared; consult the signature and description.
restore
(kind: string, operation: (x: number) => number) => (s: TechnicalAnalysisSnapshot) => UnaryMathStream

unitless by name
Required / declared member
No @default declared; consult the signature and description.
restore(kind)
string

unitless by name
Required / declared member
No @default declared; consult the signature and description.
restore(operation)
(x: number) => number

unitless by name
Required / declared member
No @default declared; consult the signature and description.
return.next
(value: number) => number | null

unitless by name
Required / declared member
No @default declared; consult the signature and description.
return.toJSON
() => TechnicalAnalysisSnapshot

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

unitless by name
Required / declared member
No @default declared; consult the signature and description.
toJSON
() => TechnicalAnalysisSnapshot

unitless by name
Required / declared member
No @default declared; consult the signature and description.
toJSON().return.kind
string

unitless by name
Required / declared member
No @default declared; consult the signature and description.
toJSON().return.schemaVersion
number
Schema version, stamped at the serialization boundary by {@link snapshotOf}.
unitless by name
Required / declared member
No @default declared; consult the signature and description.
toJSON().return.state
Record<string, unknown>
Indicator-private stream state. Round-trip it; never read into it.
unitless by name
Required / declared member
No @default declared; consult the signature and description.
value
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.

function

acos

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

export declare const acos: import('@insiderfinance/totalfinance/technical-analysis').Indicator<Empty, number, number>;
Fields, parameters & returned members (35)
Name / typeMeaning & unitOptional / default
(input)
ArrayLike<number>

unitless by name
Required / declared member
No @default declared; consult the signature and description.
(parameters)
Empty | undefined

unitless by name
Optional
No @default declared; consult the signature and description.
explain
(input: ArrayLike<number>, parameters?: Empty | undefined) => import('@insiderfinance/totalfinance/technical-analysis').TechnicalAnalysisExplain<number>

unitless by name
Required / declared member
No @default declared; consult the signature and description.
explain().return.assumptions
import('@insiderfinance/totalfinance/core').Assumptions<import('@insiderfinance/totalfinance/technical-analysis').TechnicalAnalysisAssumptionExtras>
Every applied convention, echoed back.
unitless by name
Required / declared member
No @default declared; consult the signature and description.
explain().return.diagnostics
import('@insiderfinance/totalfinance/core').Diagnostics & { warmup: number; }

unitless by name
Required / declared member
No @default declared; consult the signature and description.
explain().return.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.
explain().return.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.
explain().return.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.
explain().return.diagnostics.engine
string
Pricing/solver engine name, e.g. `black-scholes-merton`.
unitless by name
Optional
No @default declared; consult the signature and description.
explain().return.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.
explain().return.diagnostics.iterations
number
Iteration count for iterative methods.
unitless by name
Optional
No @default declared; consult the signature and description.
explain().return.diagnostics.method
string
Numerical method, e.g. `closed-form`, `brent`, `finite-difference`.
unitless by name
Optional
No @default declared; consult the signature and description.
explain().return.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.
explain().return.diagnostics.timingMs
number
Wall-clock timing in milliseconds, when measured.
milliseconds
Optional
No @default declared; consult the signature and description.
explain().return.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.
explain().return.diagnostics.warnings
import('@insiderfinance/totalfinance/core').QuantWarning[]
Structured warnings; always present (possibly empty).
unitless by name
Required / declared member
No @default declared; consult the signature and description.
explain().return.provenance
import('@insiderfinance/totalfinance/core').Provenance
Optional data lineage when the inputs came from a provider.
unitless by name
Optional
No @default declared; consult the signature and description.
explain().return.value
number[]
The computed value. Never `NaN` or `±Infinity`: a value the model cannot produce is `null` beside a diagnostic that says why (Law 7 — a warning never licenses a non-finite number).
unitless by name
Required / declared member
No @default declared; consult the signature and description.
explain(input)
ArrayLike<number>

unitless by name
Required / declared member
No @default declared; consult the signature and description.
explain(parameters)
Empty | undefined

unitless by name
Optional
No @default declared; consult the signature and description.
fromJSON
(snapshot: TechnicalAnalysisSnapshot) => import('@insiderfinance/totalfinance/technical-analysis').LiveStream<number, number>

unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON().return.next
(input: number) => number | null

unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON().return.peek
(input: number) => number | null
The value that WOULD result from `next(input)` applied to the committed state, WITHOUT committing it. Call it repeatedly with the forming bar's evolving value; call `next(input)` once at bar close to commit. Between commits the committed state is untouched, so a live chart never repaints its closed bars. The default cost is O(snapshot) per call (clone-and-apply); indicators may override with an O(1) form later.
unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON().return.toJSON
() => TechnicalAnalysisSnapshot

unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON().return.value
number | null

unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON(snapshot)
TechnicalAnalysisSnapshot

unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON(snapshot).kind
string

unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON(snapshot).schemaVersion
number
Schema version, stamped at the serialization boundary by {@link snapshotOf}.
unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON(snapshot).state
Record<string, unknown>
Indicator-private stream state. Round-trip it; never read into it.
unitless by name
Required / declared member
No @default declared; consult the signature and description.
stream
(parameters?: Empty | undefined) => import('@insiderfinance/totalfinance/technical-analysis').LiveStream<number, number>

unitless by name
Required / declared member
No @default declared; consult the signature and description.
stream().return.next
(input: number) => number | null

unitless by name
Required / declared member
No @default declared; consult the signature and description.
stream().return.peek
(input: number) => number | null
The value that WOULD result from `next(input)` applied to the committed state, WITHOUT committing it. Call it repeatedly with the forming bar's evolving value; call `next(input)` once at bar close to commit. Between commits the committed state is untouched, so a live chart never repaints its closed bars. The default cost is O(snapshot) per call (clone-and-apply); indicators may override with an O(1) form later.
unitless by name
Required / declared member
No @default declared; consult the signature and description.
stream().return.toJSON
() => TechnicalAnalysisSnapshot

unitless by name
Required / declared member
No @default declared; consult the signature and description.
stream().return.value
number | null

unitless by name
Required / declared member
No @default declared; consult the signature and description.
stream(parameters)
Empty | undefined

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.

function

add

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

export declare const add: import('@insiderfinance/totalfinance/technical-analysis').Indicator<Empty, Pair, number>;
Fields, parameters & returned members (35)
Name / typeMeaning & unitOptional / default
(input)
ArrayLike<Pair>

unitless by name
Required / declared member
No @default declared; consult the signature and description.
(parameters)
Empty | undefined

unitless by name
Optional
No @default declared; consult the signature and description.
explain
(input: ArrayLike<Pair>, parameters?: Empty | undefined) => import('@insiderfinance/totalfinance/technical-analysis').TechnicalAnalysisExplain<number>

unitless by name
Required / declared member
No @default declared; consult the signature and description.
explain().return.assumptions
import('@insiderfinance/totalfinance/core').Assumptions<import('@insiderfinance/totalfinance/technical-analysis').TechnicalAnalysisAssumptionExtras>
Every applied convention, echoed back.
unitless by name
Required / declared member
No @default declared; consult the signature and description.
explain().return.diagnostics
import('@insiderfinance/totalfinance/core').Diagnostics & { warmup: number; }

unitless by name
Required / declared member
No @default declared; consult the signature and description.
explain().return.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.
explain().return.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.
explain().return.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.
explain().return.diagnostics.engine
string
Pricing/solver engine name, e.g. `black-scholes-merton`.
unitless by name
Optional
No @default declared; consult the signature and description.
explain().return.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.
explain().return.diagnostics.iterations
number
Iteration count for iterative methods.
unitless by name
Optional
No @default declared; consult the signature and description.
explain().return.diagnostics.method
string
Numerical method, e.g. `closed-form`, `brent`, `finite-difference`.
unitless by name
Optional
No @default declared; consult the signature and description.
explain().return.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.
explain().return.diagnostics.timingMs
number
Wall-clock timing in milliseconds, when measured.
milliseconds
Optional
No @default declared; consult the signature and description.
explain().return.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.
explain().return.diagnostics.warnings
import('@insiderfinance/totalfinance/core').QuantWarning[]
Structured warnings; always present (possibly empty).
unitless by name
Required / declared member
No @default declared; consult the signature and description.
explain().return.provenance
import('@insiderfinance/totalfinance/core').Provenance
Optional data lineage when the inputs came from a provider.
unitless by name
Optional
No @default declared; consult the signature and description.
explain().return.value
number[]
The computed value. Never `NaN` or `±Infinity`: a value the model cannot produce is `null` beside a diagnostic that says why (Law 7 — a warning never licenses a non-finite number).
unitless by name
Required / declared member
No @default declared; consult the signature and description.
explain(input)
ArrayLike<Pair>

unitless by name
Required / declared member
No @default declared; consult the signature and description.
explain(parameters)
Empty | undefined

unitless by name
Optional
No @default declared; consult the signature and description.
fromJSON
(snapshot: TechnicalAnalysisSnapshot) => import('@insiderfinance/totalfinance/technical-analysis').LiveStream<Pair, number>

unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON().return.next
(input: Pair) => number | null

unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON().return.peek
(input: Pair) => number | null
The value that WOULD result from `next(input)` applied to the committed state, WITHOUT committing it. Call it repeatedly with the forming bar's evolving value; call `next(input)` once at bar close to commit. Between commits the committed state is untouched, so a live chart never repaints its closed bars. The default cost is O(snapshot) per call (clone-and-apply); indicators may override with an O(1) form later.
unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON().return.toJSON
() => TechnicalAnalysisSnapshot

unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON().return.value
number | null

unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON(snapshot)
TechnicalAnalysisSnapshot

unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON(snapshot).kind
string

unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON(snapshot).schemaVersion
number
Schema version, stamped at the serialization boundary by {@link snapshotOf}.
unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON(snapshot).state
Record<string, unknown>
Indicator-private stream state. Round-trip it; never read into it.
unitless by name
Required / declared member
No @default declared; consult the signature and description.
stream
(parameters?: Empty | undefined) => import('@insiderfinance/totalfinance/technical-analysis').LiveStream<Pair, number>

unitless by name
Required / declared member
No @default declared; consult the signature and description.
stream().return.next
(input: Pair) => number | null

unitless by name
Required / declared member
No @default declared; consult the signature and description.
stream().return.peek
(input: Pair) => number | null
The value that WOULD result from `next(input)` applied to the committed state, WITHOUT committing it. Call it repeatedly with the forming bar's evolving value; call `next(input)` once at bar close to commit. Between commits the committed state is untouched, so a live chart never repaints its closed bars. The default cost is O(snapshot) per call (clone-and-apply); indicators may override with an O(1) form later.
unitless by name
Required / declared member
No @default declared; consult the signature and description.
stream().return.toJSON
() => TechnicalAnalysisSnapshot

unitless by name
Required / declared member
No @default declared; consult the signature and description.
stream().return.value
number | null

unitless by name
Required / declared member
No @default declared; consult the signature and description.
stream(parameters)
Empty | undefined

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.

function

asin

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

export declare const asin: import('@insiderfinance/totalfinance/technical-analysis').Indicator<Empty, number, number>;
Fields, parameters & returned members (35)
Name / typeMeaning & unitOptional / default
(input)
ArrayLike<number>

unitless by name
Required / declared member
No @default declared; consult the signature and description.
(parameters)
Empty | undefined

unitless by name
Optional
No @default declared; consult the signature and description.
explain
(input: ArrayLike<number>, parameters?: Empty | undefined) => import('@insiderfinance/totalfinance/technical-analysis').TechnicalAnalysisExplain<number>

unitless by name
Required / declared member
No @default declared; consult the signature and description.
explain().return.assumptions
import('@insiderfinance/totalfinance/core').Assumptions<import('@insiderfinance/totalfinance/technical-analysis').TechnicalAnalysisAssumptionExtras>
Every applied convention, echoed back.
unitless by name
Required / declared member
No @default declared; consult the signature and description.
explain().return.diagnostics
import('@insiderfinance/totalfinance/core').Diagnostics & { warmup: number; }

unitless by name
Required / declared member
No @default declared; consult the signature and description.
explain().return.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.
explain().return.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.
explain().return.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.
explain().return.diagnostics.engine
string
Pricing/solver engine name, e.g. `black-scholes-merton`.
unitless by name
Optional
No @default declared; consult the signature and description.
explain().return.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.
explain().return.diagnostics.iterations
number
Iteration count for iterative methods.
unitless by name
Optional
No @default declared; consult the signature and description.
explain().return.diagnostics.method
string
Numerical method, e.g. `closed-form`, `brent`, `finite-difference`.
unitless by name
Optional
No @default declared; consult the signature and description.
explain().return.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.
explain().return.diagnostics.timingMs
number
Wall-clock timing in milliseconds, when measured.
milliseconds
Optional
No @default declared; consult the signature and description.
explain().return.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.
explain().return.diagnostics.warnings
import('@insiderfinance/totalfinance/core').QuantWarning[]
Structured warnings; always present (possibly empty).
unitless by name
Required / declared member
No @default declared; consult the signature and description.
explain().return.provenance
import('@insiderfinance/totalfinance/core').Provenance
Optional data lineage when the inputs came from a provider.
unitless by name
Optional
No @default declared; consult the signature and description.
explain().return.value
number[]
The computed value. Never `NaN` or `±Infinity`: a value the model cannot produce is `null` beside a diagnostic that says why (Law 7 — a warning never licenses a non-finite number).
unitless by name
Required / declared member
No @default declared; consult the signature and description.
explain(input)
ArrayLike<number>

unitless by name
Required / declared member
No @default declared; consult the signature and description.
explain(parameters)
Empty | undefined

unitless by name
Optional
No @default declared; consult the signature and description.
fromJSON
(snapshot: TechnicalAnalysisSnapshot) => import('@insiderfinance/totalfinance/technical-analysis').LiveStream<number, number>

unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON().return.next
(input: number) => number | null

unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON().return.peek
(input: number) => number | null
The value that WOULD result from `next(input)` applied to the committed state, WITHOUT committing it. Call it repeatedly with the forming bar's evolving value; call `next(input)` once at bar close to commit. Between commits the committed state is untouched, so a live chart never repaints its closed bars. The default cost is O(snapshot) per call (clone-and-apply); indicators may override with an O(1) form later.
unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON().return.toJSON
() => TechnicalAnalysisSnapshot

unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON().return.value
number | null

unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON(snapshot)
TechnicalAnalysisSnapshot

unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON(snapshot).kind
string

unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON(snapshot).schemaVersion
number
Schema version, stamped at the serialization boundary by {@link snapshotOf}.
unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON(snapshot).state
Record<string, unknown>
Indicator-private stream state. Round-trip it; never read into it.
unitless by name
Required / declared member
No @default declared; consult the signature and description.
stream
(parameters?: Empty | undefined) => import('@insiderfinance/totalfinance/technical-analysis').LiveStream<number, number>

unitless by name
Required / declared member
No @default declared; consult the signature and description.
stream().return.next
(input: number) => number | null

unitless by name
Required / declared member
No @default declared; consult the signature and description.
stream().return.peek
(input: number) => number | null
The value that WOULD result from `next(input)` applied to the committed state, WITHOUT committing it. Call it repeatedly with the forming bar's evolving value; call `next(input)` once at bar close to commit. Between commits the committed state is untouched, so a live chart never repaints its closed bars. The default cost is O(snapshot) per call (clone-and-apply); indicators may override with an O(1) form later.
unitless by name
Required / declared member
No @default declared; consult the signature and description.
stream().return.toJSON
() => TechnicalAnalysisSnapshot

unitless by name
Required / declared member
No @default declared; consult the signature and description.
stream().return.value
number | null

unitless by name
Required / declared member
No @default declared; consult the signature and description.
stream(parameters)
Empty | undefined

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.

function

atan

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

export declare const atan: import('@insiderfinance/totalfinance/technical-analysis').Indicator<Empty, number, number>;
Fields, parameters & returned members (35)
Name / typeMeaning & unitOptional / default
(input)
ArrayLike<number>

unitless by name
Required / declared member
No @default declared; consult the signature and description.
(parameters)
Empty | undefined

unitless by name
Optional
No @default declared; consult the signature and description.
explain
(input: ArrayLike<number>, parameters?: Empty | undefined) => import('@insiderfinance/totalfinance/technical-analysis').TechnicalAnalysisExplain<number>

unitless by name
Required / declared member
No @default declared; consult the signature and description.
explain().return.assumptions
import('@insiderfinance/totalfinance/core').Assumptions<import('@insiderfinance/totalfinance/technical-analysis').TechnicalAnalysisAssumptionExtras>
Every applied convention, echoed back.
unitless by name
Required / declared member
No @default declared; consult the signature and description.
explain().return.diagnostics
import('@insiderfinance/totalfinance/core').Diagnostics & { warmup: number; }

unitless by name
Required / declared member
No @default declared; consult the signature and description.
explain().return.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.
explain().return.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.
explain().return.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.
explain().return.diagnostics.engine
string
Pricing/solver engine name, e.g. `black-scholes-merton`.
unitless by name
Optional
No @default declared; consult the signature and description.
explain().return.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.
explain().return.diagnostics.iterations
number
Iteration count for iterative methods.
unitless by name
Optional
No @default declared; consult the signature and description.
explain().return.diagnostics.method
string
Numerical method, e.g. `closed-form`, `brent`, `finite-difference`.
unitless by name
Optional
No @default declared; consult the signature and description.
explain().return.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.
explain().return.diagnostics.timingMs
number
Wall-clock timing in milliseconds, when measured.
milliseconds
Optional
No @default declared; consult the signature and description.
explain().return.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.
explain().return.diagnostics.warnings
import('@insiderfinance/totalfinance/core').QuantWarning[]
Structured warnings; always present (possibly empty).
unitless by name
Required / declared member
No @default declared; consult the signature and description.
explain().return.provenance
import('@insiderfinance/totalfinance/core').Provenance
Optional data lineage when the inputs came from a provider.
unitless by name
Optional
No @default declared; consult the signature and description.
explain().return.value
number[]
The computed value. Never `NaN` or `±Infinity`: a value the model cannot produce is `null` beside a diagnostic that says why (Law 7 — a warning never licenses a non-finite number).
unitless by name
Required / declared member
No @default declared; consult the signature and description.
explain(input)
ArrayLike<number>

unitless by name
Required / declared member
No @default declared; consult the signature and description.
explain(parameters)
Empty | undefined

unitless by name
Optional
No @default declared; consult the signature and description.
fromJSON
(snapshot: TechnicalAnalysisSnapshot) => import('@insiderfinance/totalfinance/technical-analysis').LiveStream<number, number>

unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON().return.next
(input: number) => number | null

unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON().return.peek
(input: number) => number | null
The value that WOULD result from `next(input)` applied to the committed state, WITHOUT committing it. Call it repeatedly with the forming bar's evolving value; call `next(input)` once at bar close to commit. Between commits the committed state is untouched, so a live chart never repaints its closed bars. The default cost is O(snapshot) per call (clone-and-apply); indicators may override with an O(1) form later.
unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON().return.toJSON
() => TechnicalAnalysisSnapshot

unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON().return.value
number | null

unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON(snapshot)
TechnicalAnalysisSnapshot

unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON(snapshot).kind
string

unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON(snapshot).schemaVersion
number
Schema version, stamped at the serialization boundary by {@link snapshotOf}.
unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON(snapshot).state
Record<string, unknown>
Indicator-private stream state. Round-trip it; never read into it.
unitless by name
Required / declared member
No @default declared; consult the signature and description.
stream
(parameters?: Empty | undefined) => import('@insiderfinance/totalfinance/technical-analysis').LiveStream<number, number>

unitless by name
Required / declared member
No @default declared; consult the signature and description.
stream().return.next
(input: number) => number | null

unitless by name
Required / declared member
No @default declared; consult the signature and description.
stream().return.peek
(input: number) => number | null
The value that WOULD result from `next(input)` applied to the committed state, WITHOUT committing it. Call it repeatedly with the forming bar's evolving value; call `next(input)` once at bar close to commit. Between commits the committed state is untouched, so a live chart never repaints its closed bars. The default cost is O(snapshot) per call (clone-and-apply); indicators may override with an O(1) form later.
unitless by name
Required / declared member
No @default declared; consult the signature and description.
stream().return.toJSON
() => TechnicalAnalysisSnapshot

unitless by name
Required / declared member
No @default declared; consult the signature and description.
stream().return.value
number | null

unitless by name
Required / declared member
No @default declared; consult the signature and description.
stream(parameters)
Empty | undefined

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.

function

ceil

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

export declare const ceil: import('@insiderfinance/totalfinance/technical-analysis').Indicator<Empty, number, number>;
Fields, parameters & returned members (35)
Name / typeMeaning & unitOptional / default
(input)
ArrayLike<number>

unitless by name
Required / declared member
No @default declared; consult the signature and description.
(parameters)
Empty | undefined

unitless by name
Optional
No @default declared; consult the signature and description.
explain
(input: ArrayLike<number>, parameters?: Empty | undefined) => import('@insiderfinance/totalfinance/technical-analysis').TechnicalAnalysisExplain<number>

unitless by name
Required / declared member
No @default declared; consult the signature and description.
explain().return.assumptions
import('@insiderfinance/totalfinance/core').Assumptions<import('@insiderfinance/totalfinance/technical-analysis').TechnicalAnalysisAssumptionExtras>
Every applied convention, echoed back.
unitless by name
Required / declared member
No @default declared; consult the signature and description.
explain().return.diagnostics
import('@insiderfinance/totalfinance/core').Diagnostics & { warmup: number; }

unitless by name
Required / declared member
No @default declared; consult the signature and description.
explain().return.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.
explain().return.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.
explain().return.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.
explain().return.diagnostics.engine
string
Pricing/solver engine name, e.g. `black-scholes-merton`.
unitless by name
Optional
No @default declared; consult the signature and description.
explain().return.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.
explain().return.diagnostics.iterations
number
Iteration count for iterative methods.
unitless by name
Optional
No @default declared; consult the signature and description.
explain().return.diagnostics.method
string
Numerical method, e.g. `closed-form`, `brent`, `finite-difference`.
unitless by name
Optional
No @default declared; consult the signature and description.
explain().return.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.
explain().return.diagnostics.timingMs
number
Wall-clock timing in milliseconds, when measured.
milliseconds
Optional
No @default declared; consult the signature and description.
explain().return.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.
explain().return.diagnostics.warnings
import('@insiderfinance/totalfinance/core').QuantWarning[]
Structured warnings; always present (possibly empty).
unitless by name
Required / declared member
No @default declared; consult the signature and description.
explain().return.provenance
import('@insiderfinance/totalfinance/core').Provenance
Optional data lineage when the inputs came from a provider.
unitless by name
Optional
No @default declared; consult the signature and description.
explain().return.value
number[]
The computed value. Never `NaN` or `±Infinity`: a value the model cannot produce is `null` beside a diagnostic that says why (Law 7 — a warning never licenses a non-finite number).
unitless by name
Required / declared member
No @default declared; consult the signature and description.
explain(input)
ArrayLike<number>

unitless by name
Required / declared member
No @default declared; consult the signature and description.
explain(parameters)
Empty | undefined

unitless by name
Optional
No @default declared; consult the signature and description.
fromJSON
(snapshot: TechnicalAnalysisSnapshot) => import('@insiderfinance/totalfinance/technical-analysis').LiveStream<number, number>

unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON().return.next
(input: number) => number | null

unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON().return.peek
(input: number) => number | null
The value that WOULD result from `next(input)` applied to the committed state, WITHOUT committing it. Call it repeatedly with the forming bar's evolving value; call `next(input)` once at bar close to commit. Between commits the committed state is untouched, so a live chart never repaints its closed bars. The default cost is O(snapshot) per call (clone-and-apply); indicators may override with an O(1) form later.
unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON().return.toJSON
() => TechnicalAnalysisSnapshot

unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON().return.value
number | null

unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON(snapshot)
TechnicalAnalysisSnapshot

unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON(snapshot).kind
string

unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON(snapshot).schemaVersion
number
Schema version, stamped at the serialization boundary by {@link snapshotOf}.
unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON(snapshot).state
Record<string, unknown>
Indicator-private stream state. Round-trip it; never read into it.
unitless by name
Required / declared member
No @default declared; consult the signature and description.
stream
(parameters?: Empty | undefined) => import('@insiderfinance/totalfinance/technical-analysis').LiveStream<number, number>

unitless by name
Required / declared member
No @default declared; consult the signature and description.
stream().return.next
(input: number) => number | null

unitless by name
Required / declared member
No @default declared; consult the signature and description.
stream().return.peek
(input: number) => number | null
The value that WOULD result from `next(input)` applied to the committed state, WITHOUT committing it. Call it repeatedly with the forming bar's evolving value; call `next(input)` once at bar close to commit. Between commits the committed state is untouched, so a live chart never repaints its closed bars. The default cost is O(snapshot) per call (clone-and-apply); indicators may override with an O(1) form later.
unitless by name
Required / declared member
No @default declared; consult the signature and description.
stream().return.toJSON
() => TechnicalAnalysisSnapshot

unitless by name
Required / declared member
No @default declared; consult the signature and description.
stream().return.value
number | null

unitless by name
Required / declared member
No @default declared; consult the signature and description.
stream(parameters)
Empty | undefined

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.

function

cos

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

export declare const cos: import('@insiderfinance/totalfinance/technical-analysis').Indicator<Empty, number, number>;
Fields, parameters & returned members (35)
Name / typeMeaning & unitOptional / default
(input)
ArrayLike<number>

unitless by name
Required / declared member
No @default declared; consult the signature and description.
(parameters)
Empty | undefined

unitless by name
Optional
No @default declared; consult the signature and description.
explain
(input: ArrayLike<number>, parameters?: Empty | undefined) => import('@insiderfinance/totalfinance/technical-analysis').TechnicalAnalysisExplain<number>

unitless by name
Required / declared member
No @default declared; consult the signature and description.
explain().return.assumptions
import('@insiderfinance/totalfinance/core').Assumptions<import('@insiderfinance/totalfinance/technical-analysis').TechnicalAnalysisAssumptionExtras>
Every applied convention, echoed back.
unitless by name
Required / declared member
No @default declared; consult the signature and description.
explain().return.diagnostics
import('@insiderfinance/totalfinance/core').Diagnostics & { warmup: number; }

unitless by name
Required / declared member
No @default declared; consult the signature and description.
explain().return.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.
explain().return.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.
explain().return.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.
explain().return.diagnostics.engine
string
Pricing/solver engine name, e.g. `black-scholes-merton`.
unitless by name
Optional
No @default declared; consult the signature and description.
explain().return.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.
explain().return.diagnostics.iterations
number
Iteration count for iterative methods.
unitless by name
Optional
No @default declared; consult the signature and description.
explain().return.diagnostics.method
string
Numerical method, e.g. `closed-form`, `brent`, `finite-difference`.
unitless by name
Optional
No @default declared; consult the signature and description.
explain().return.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.
explain().return.diagnostics.timingMs
number
Wall-clock timing in milliseconds, when measured.
milliseconds
Optional
No @default declared; consult the signature and description.
explain().return.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.
explain().return.diagnostics.warnings
import('@insiderfinance/totalfinance/core').QuantWarning[]
Structured warnings; always present (possibly empty).
unitless by name
Required / declared member
No @default declared; consult the signature and description.
explain().return.provenance
import('@insiderfinance/totalfinance/core').Provenance
Optional data lineage when the inputs came from a provider.
unitless by name
Optional
No @default declared; consult the signature and description.
explain().return.value
number[]
The computed value. Never `NaN` or `±Infinity`: a value the model cannot produce is `null` beside a diagnostic that says why (Law 7 — a warning never licenses a non-finite number).
unitless by name
Required / declared member
No @default declared; consult the signature and description.
explain(input)
ArrayLike<number>

unitless by name
Required / declared member
No @default declared; consult the signature and description.
explain(parameters)
Empty | undefined

unitless by name
Optional
No @default declared; consult the signature and description.
fromJSON
(snapshot: TechnicalAnalysisSnapshot) => import('@insiderfinance/totalfinance/technical-analysis').LiveStream<number, number>

unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON().return.next
(input: number) => number | null

unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON().return.peek
(input: number) => number | null
The value that WOULD result from `next(input)` applied to the committed state, WITHOUT committing it. Call it repeatedly with the forming bar's evolving value; call `next(input)` once at bar close to commit. Between commits the committed state is untouched, so a live chart never repaints its closed bars. The default cost is O(snapshot) per call (clone-and-apply); indicators may override with an O(1) form later.
unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON().return.toJSON
() => TechnicalAnalysisSnapshot

unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON().return.value
number | null

unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON(snapshot)
TechnicalAnalysisSnapshot

unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON(snapshot).kind
string

unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON(snapshot).schemaVersion
number
Schema version, stamped at the serialization boundary by {@link snapshotOf}.
unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON(snapshot).state
Record<string, unknown>
Indicator-private stream state. Round-trip it; never read into it.
unitless by name
Required / declared member
No @default declared; consult the signature and description.
stream
(parameters?: Empty | undefined) => import('@insiderfinance/totalfinance/technical-analysis').LiveStream<number, number>

unitless by name
Required / declared member
No @default declared; consult the signature and description.
stream().return.next
(input: number) => number | null

unitless by name
Required / declared member
No @default declared; consult the signature and description.
stream().return.peek
(input: number) => number | null
The value that WOULD result from `next(input)` applied to the committed state, WITHOUT committing it. Call it repeatedly with the forming bar's evolving value; call `next(input)` once at bar close to commit. Between commits the committed state is untouched, so a live chart never repaints its closed bars. The default cost is O(snapshot) per call (clone-and-apply); indicators may override with an O(1) form later.
unitless by name
Required / declared member
No @default declared; consult the signature and description.
stream().return.toJSON
() => TechnicalAnalysisSnapshot

unitless by name
Required / declared member
No @default declared; consult the signature and description.
stream().return.value
number | null

unitless by name
Required / declared member
No @default declared; consult the signature and description.
stream(parameters)
Empty | undefined

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.

function

cosh

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

export declare const cosh: import('@insiderfinance/totalfinance/technical-analysis').Indicator<Empty, number, number>;
Fields, parameters & returned members (35)
Name / typeMeaning & unitOptional / default
(input)
ArrayLike<number>

unitless by name
Required / declared member
No @default declared; consult the signature and description.
(parameters)
Empty | undefined

unitless by name
Optional
No @default declared; consult the signature and description.
explain
(input: ArrayLike<number>, parameters?: Empty | undefined) => import('@insiderfinance/totalfinance/technical-analysis').TechnicalAnalysisExplain<number>

unitless by name
Required / declared member
No @default declared; consult the signature and description.
explain().return.assumptions
import('@insiderfinance/totalfinance/core').Assumptions<import('@insiderfinance/totalfinance/technical-analysis').TechnicalAnalysisAssumptionExtras>
Every applied convention, echoed back.
unitless by name
Required / declared member
No @default declared; consult the signature and description.
explain().return.diagnostics
import('@insiderfinance/totalfinance/core').Diagnostics & { warmup: number; }

unitless by name
Required / declared member
No @default declared; consult the signature and description.
explain().return.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.
explain().return.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.
explain().return.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.
explain().return.diagnostics.engine
string
Pricing/solver engine name, e.g. `black-scholes-merton`.
unitless by name
Optional
No @default declared; consult the signature and description.
explain().return.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.
explain().return.diagnostics.iterations
number
Iteration count for iterative methods.
unitless by name
Optional
No @default declared; consult the signature and description.
explain().return.diagnostics.method
string
Numerical method, e.g. `closed-form`, `brent`, `finite-difference`.
unitless by name
Optional
No @default declared; consult the signature and description.
explain().return.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.
explain().return.diagnostics.timingMs
number
Wall-clock timing in milliseconds, when measured.
milliseconds
Optional
No @default declared; consult the signature and description.
explain().return.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.
explain().return.diagnostics.warnings
import('@insiderfinance/totalfinance/core').QuantWarning[]
Structured warnings; always present (possibly empty).
unitless by name
Required / declared member
No @default declared; consult the signature and description.
explain().return.provenance
import('@insiderfinance/totalfinance/core').Provenance
Optional data lineage when the inputs came from a provider.
unitless by name
Optional
No @default declared; consult the signature and description.
explain().return.value
number[]
The computed value. Never `NaN` or `±Infinity`: a value the model cannot produce is `null` beside a diagnostic that says why (Law 7 — a warning never licenses a non-finite number).
unitless by name
Required / declared member
No @default declared; consult the signature and description.
explain(input)
ArrayLike<number>

unitless by name
Required / declared member
No @default declared; consult the signature and description.
explain(parameters)
Empty | undefined

unitless by name
Optional
No @default declared; consult the signature and description.
fromJSON
(snapshot: TechnicalAnalysisSnapshot) => import('@insiderfinance/totalfinance/technical-analysis').LiveStream<number, number>

unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON().return.next
(input: number) => number | null

unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON().return.peek
(input: number) => number | null
The value that WOULD result from `next(input)` applied to the committed state, WITHOUT committing it. Call it repeatedly with the forming bar's evolving value; call `next(input)` once at bar close to commit. Between commits the committed state is untouched, so a live chart never repaints its closed bars. The default cost is O(snapshot) per call (clone-and-apply); indicators may override with an O(1) form later.
unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON().return.toJSON
() => TechnicalAnalysisSnapshot

unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON().return.value
number | null

unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON(snapshot)
TechnicalAnalysisSnapshot

unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON(snapshot).kind
string

unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON(snapshot).schemaVersion
number
Schema version, stamped at the serialization boundary by {@link snapshotOf}.
unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON(snapshot).state
Record<string, unknown>
Indicator-private stream state. Round-trip it; never read into it.
unitless by name
Required / declared member
No @default declared; consult the signature and description.
stream
(parameters?: Empty | undefined) => import('@insiderfinance/totalfinance/technical-analysis').LiveStream<number, number>

unitless by name
Required / declared member
No @default declared; consult the signature and description.
stream().return.next
(input: number) => number | null

unitless by name
Required / declared member
No @default declared; consult the signature and description.
stream().return.peek
(input: number) => number | null
The value that WOULD result from `next(input)` applied to the committed state, WITHOUT committing it. Call it repeatedly with the forming bar's evolving value; call `next(input)` once at bar close to commit. Between commits the committed state is untouched, so a live chart never repaints its closed bars. The default cost is O(snapshot) per call (clone-and-apply); indicators may override with an O(1) form later.
unitless by name
Required / declared member
No @default declared; consult the signature and description.
stream().return.toJSON
() => TechnicalAnalysisSnapshot

unitless by name
Required / declared member
No @default declared; consult the signature and description.
stream().return.value
number | null

unitless by name
Required / declared member
No @default declared; consult the signature and description.
stream(parameters)
Empty | undefined

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.

function

crossany

1 on the bar where `x` crosses either above or below `y`, else 0.

export declare const crossany: import('@insiderfinance/totalfinance/technical-analysis').Indicator<Empty, Pair, number>;
Fields, parameters & returned members (35)
Name / typeMeaning & unitOptional / default
(input)
ArrayLike<Pair>

unitless by name
Required / declared member
No @default declared; consult the signature and description.
(parameters)
Empty | undefined

unitless by name
Optional
No @default declared; consult the signature and description.
explain
(input: ArrayLike<Pair>, parameters?: Empty | undefined) => import('@insiderfinance/totalfinance/technical-analysis').TechnicalAnalysisExplain<number>

unitless by name
Required / declared member
No @default declared; consult the signature and description.
explain().return.assumptions
import('@insiderfinance/totalfinance/core').Assumptions<import('@insiderfinance/totalfinance/technical-analysis').TechnicalAnalysisAssumptionExtras>
Every applied convention, echoed back.
unitless by name
Required / declared member
No @default declared; consult the signature and description.
explain().return.diagnostics
import('@insiderfinance/totalfinance/core').Diagnostics & { warmup: number; }

unitless by name
Required / declared member
No @default declared; consult the signature and description.
explain().return.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.
explain().return.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.
explain().return.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.
explain().return.diagnostics.engine
string
Pricing/solver engine name, e.g. `black-scholes-merton`.
unitless by name
Optional
No @default declared; consult the signature and description.
explain().return.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.
explain().return.diagnostics.iterations
number
Iteration count for iterative methods.
unitless by name
Optional
No @default declared; consult the signature and description.
explain().return.diagnostics.method
string
Numerical method, e.g. `closed-form`, `brent`, `finite-difference`.
unitless by name
Optional
No @default declared; consult the signature and description.
explain().return.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.
explain().return.diagnostics.timingMs
number
Wall-clock timing in milliseconds, when measured.
milliseconds
Optional
No @default declared; consult the signature and description.
explain().return.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.
explain().return.diagnostics.warnings
import('@insiderfinance/totalfinance/core').QuantWarning[]
Structured warnings; always present (possibly empty).
unitless by name
Required / declared member
No @default declared; consult the signature and description.
explain().return.provenance
import('@insiderfinance/totalfinance/core').Provenance
Optional data lineage when the inputs came from a provider.
unitless by name
Optional
No @default declared; consult the signature and description.
explain().return.value
number[]
The computed value. Never `NaN` or `±Infinity`: a value the model cannot produce is `null` beside a diagnostic that says why (Law 7 — a warning never licenses a non-finite number).
unitless by name
Required / declared member
No @default declared; consult the signature and description.
explain(input)
ArrayLike<Pair>

unitless by name
Required / declared member
No @default declared; consult the signature and description.
explain(parameters)
Empty | undefined

unitless by name
Optional
No @default declared; consult the signature and description.
fromJSON
(snapshot: TechnicalAnalysisSnapshot) => import('@insiderfinance/totalfinance/technical-analysis').LiveStream<Pair, number>

unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON().return.next
(input: Pair) => number | null

unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON().return.peek
(input: Pair) => number | null
The value that WOULD result from `next(input)` applied to the committed state, WITHOUT committing it. Call it repeatedly with the forming bar's evolving value; call `next(input)` once at bar close to commit. Between commits the committed state is untouched, so a live chart never repaints its closed bars. The default cost is O(snapshot) per call (clone-and-apply); indicators may override with an O(1) form later.
unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON().return.toJSON
() => TechnicalAnalysisSnapshot

unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON().return.value
number | null

unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON(snapshot)
TechnicalAnalysisSnapshot

unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON(snapshot).kind
string

unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON(snapshot).schemaVersion
number
Schema version, stamped at the serialization boundary by {@link snapshotOf}.
unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON(snapshot).state
Record<string, unknown>
Indicator-private stream state. Round-trip it; never read into it.
unitless by name
Required / declared member
No @default declared; consult the signature and description.
stream
(parameters?: Empty | undefined) => import('@insiderfinance/totalfinance/technical-analysis').LiveStream<Pair, number>

unitless by name
Required / declared member
No @default declared; consult the signature and description.
stream().return.next
(input: Pair) => number | null

unitless by name
Required / declared member
No @default declared; consult the signature and description.
stream().return.peek
(input: Pair) => number | null
The value that WOULD result from `next(input)` applied to the committed state, WITHOUT committing it. Call it repeatedly with the forming bar's evolving value; call `next(input)` once at bar close to commit. Between commits the committed state is untouched, so a live chart never repaints its closed bars. The default cost is O(snapshot) per call (clone-and-apply); indicators may override with an O(1) form later.
unitless by name
Required / declared member
No @default declared; consult the signature and description.
stream().return.toJSON
() => TechnicalAnalysisSnapshot

unitless by name
Required / declared member
No @default declared; consult the signature and description.
stream().return.value
number | null

unitless by name
Required / declared member
No @default declared; consult the signature and description.
stream(parameters)
Empty | undefined

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.

function

crossover

1 on the bar where `x` crosses above `y`, else 0.

export declare const crossover: import('@insiderfinance/totalfinance/technical-analysis').Indicator<Empty, Pair, number>;
Fields, parameters & returned members (35)
Name / typeMeaning & unitOptional / default
(input)
ArrayLike<Pair>

unitless by name
Required / declared member
No @default declared; consult the signature and description.
(parameters)
Empty | undefined

unitless by name
Optional
No @default declared; consult the signature and description.
explain
(input: ArrayLike<Pair>, parameters?: Empty | undefined) => import('@insiderfinance/totalfinance/technical-analysis').TechnicalAnalysisExplain<number>

unitless by name
Required / declared member
No @default declared; consult the signature and description.
explain().return.assumptions
import('@insiderfinance/totalfinance/core').Assumptions<import('@insiderfinance/totalfinance/technical-analysis').TechnicalAnalysisAssumptionExtras>
Every applied convention, echoed back.
unitless by name
Required / declared member
No @default declared; consult the signature and description.
explain().return.diagnostics
import('@insiderfinance/totalfinance/core').Diagnostics & { warmup: number; }

unitless by name
Required / declared member
No @default declared; consult the signature and description.
explain().return.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.
explain().return.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.
explain().return.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.
explain().return.diagnostics.engine
string
Pricing/solver engine name, e.g. `black-scholes-merton`.
unitless by name
Optional
No @default declared; consult the signature and description.
explain().return.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.
explain().return.diagnostics.iterations
number
Iteration count for iterative methods.
unitless by name
Optional
No @default declared; consult the signature and description.
explain().return.diagnostics.method
string
Numerical method, e.g. `closed-form`, `brent`, `finite-difference`.
unitless by name
Optional
No @default declared; consult the signature and description.
explain().return.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.
explain().return.diagnostics.timingMs
number
Wall-clock timing in milliseconds, when measured.
milliseconds
Optional
No @default declared; consult the signature and description.
explain().return.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.
explain().return.diagnostics.warnings
import('@insiderfinance/totalfinance/core').QuantWarning[]
Structured warnings; always present (possibly empty).
unitless by name
Required / declared member
No @default declared; consult the signature and description.
explain().return.provenance
import('@insiderfinance/totalfinance/core').Provenance
Optional data lineage when the inputs came from a provider.
unitless by name
Optional
No @default declared; consult the signature and description.
explain().return.value
number[]
The computed value. Never `NaN` or `±Infinity`: a value the model cannot produce is `null` beside a diagnostic that says why (Law 7 — a warning never licenses a non-finite number).
unitless by name
Required / declared member
No @default declared; consult the signature and description.
explain(input)
ArrayLike<Pair>

unitless by name
Required / declared member
No @default declared; consult the signature and description.
explain(parameters)
Empty | undefined

unitless by name
Optional
No @default declared; consult the signature and description.
fromJSON
(snapshot: TechnicalAnalysisSnapshot) => import('@insiderfinance/totalfinance/technical-analysis').LiveStream<Pair, number>

unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON().return.next
(input: Pair) => number | null

unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON().return.peek
(input: Pair) => number | null
The value that WOULD result from `next(input)` applied to the committed state, WITHOUT committing it. Call it repeatedly with the forming bar's evolving value; call `next(input)` once at bar close to commit. Between commits the committed state is untouched, so a live chart never repaints its closed bars. The default cost is O(snapshot) per call (clone-and-apply); indicators may override with an O(1) form later.
unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON().return.toJSON
() => TechnicalAnalysisSnapshot

unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON().return.value
number | null

unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON(snapshot)
TechnicalAnalysisSnapshot

unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON(snapshot).kind
string

unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON(snapshot).schemaVersion
number
Schema version, stamped at the serialization boundary by {@link snapshotOf}.
unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON(snapshot).state
Record<string, unknown>
Indicator-private stream state. Round-trip it; never read into it.
unitless by name
Required / declared member
No @default declared; consult the signature and description.
stream
(parameters?: Empty | undefined) => import('@insiderfinance/totalfinance/technical-analysis').LiveStream<Pair, number>

unitless by name
Required / declared member
No @default declared; consult the signature and description.
stream().return.next
(input: Pair) => number | null

unitless by name
Required / declared member
No @default declared; consult the signature and description.
stream().return.peek
(input: Pair) => number | null
The value that WOULD result from `next(input)` applied to the committed state, WITHOUT committing it. Call it repeatedly with the forming bar's evolving value; call `next(input)` once at bar close to commit. Between commits the committed state is untouched, so a live chart never repaints its closed bars. The default cost is O(snapshot) per call (clone-and-apply); indicators may override with an O(1) form later.
unitless by name
Required / declared member
No @default declared; consult the signature and description.
stream().return.toJSON
() => TechnicalAnalysisSnapshot

unitless by name
Required / declared member
No @default declared; consult the signature and description.
stream().return.value
number | null

unitless by name
Required / declared member
No @default declared; consult the signature and description.
stream(parameters)
Empty | undefined

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.

function

div

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

export declare const div: import('@insiderfinance/totalfinance/technical-analysis').Indicator<Empty, Pair, number>;
Fields, parameters & returned members (35)
Name / typeMeaning & unitOptional / default
(input)
ArrayLike<Pair>

unitless by name
Required / declared member
No @default declared; consult the signature and description.
(parameters)
Empty | undefined

unitless by name
Optional
No @default declared; consult the signature and description.
explain
(input: ArrayLike<Pair>, parameters?: Empty | undefined) => import('@insiderfinance/totalfinance/technical-analysis').TechnicalAnalysisExplain<number>

unitless by name
Required / declared member
No @default declared; consult the signature and description.
explain().return.assumptions
import('@insiderfinance/totalfinance/core').Assumptions<import('@insiderfinance/totalfinance/technical-analysis').TechnicalAnalysisAssumptionExtras>
Every applied convention, echoed back.
unitless by name
Required / declared member
No @default declared; consult the signature and description.
explain().return.diagnostics
import('@insiderfinance/totalfinance/core').Diagnostics & { warmup: number; }

unitless by name
Required / declared member
No @default declared; consult the signature and description.
explain().return.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.
explain().return.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.
explain().return.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.
explain().return.diagnostics.engine
string
Pricing/solver engine name, e.g. `black-scholes-merton`.
unitless by name
Optional
No @default declared; consult the signature and description.
explain().return.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.
explain().return.diagnostics.iterations
number
Iteration count for iterative methods.
unitless by name
Optional
No @default declared; consult the signature and description.
explain().return.diagnostics.method
string
Numerical method, e.g. `closed-form`, `brent`, `finite-difference`.
unitless by name
Optional
No @default declared; consult the signature and description.
explain().return.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.
explain().return.diagnostics.timingMs
number
Wall-clock timing in milliseconds, when measured.
milliseconds
Optional
No @default declared; consult the signature and description.
explain().return.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.
explain().return.diagnostics.warnings
import('@insiderfinance/totalfinance/core').QuantWarning[]
Structured warnings; always present (possibly empty).
unitless by name
Required / declared member
No @default declared; consult the signature and description.
explain().return.provenance
import('@insiderfinance/totalfinance/core').Provenance
Optional data lineage when the inputs came from a provider.
unitless by name
Optional
No @default declared; consult the signature and description.
explain().return.value
number[]
The computed value. Never `NaN` or `±Infinity`: a value the model cannot produce is `null` beside a diagnostic that says why (Law 7 — a warning never licenses a non-finite number).
unitless by name
Required / declared member
No @default declared; consult the signature and description.
explain(input)
ArrayLike<Pair>

unitless by name
Required / declared member
No @default declared; consult the signature and description.
explain(parameters)
Empty | undefined

unitless by name
Optional
No @default declared; consult the signature and description.
fromJSON
(snapshot: TechnicalAnalysisSnapshot) => import('@insiderfinance/totalfinance/technical-analysis').LiveStream<Pair, number>

unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON().return.next
(input: Pair) => number | null

unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON().return.peek
(input: Pair) => number | null
The value that WOULD result from `next(input)` applied to the committed state, WITHOUT committing it. Call it repeatedly with the forming bar's evolving value; call `next(input)` once at bar close to commit. Between commits the committed state is untouched, so a live chart never repaints its closed bars. The default cost is O(snapshot) per call (clone-and-apply); indicators may override with an O(1) form later.
unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON().return.toJSON
() => TechnicalAnalysisSnapshot

unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON().return.value
number | null

unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON(snapshot)
TechnicalAnalysisSnapshot

unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON(snapshot).kind
string

unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON(snapshot).schemaVersion
number
Schema version, stamped at the serialization boundary by {@link snapshotOf}.
unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON(snapshot).state
Record<string, unknown>
Indicator-private stream state. Round-trip it; never read into it.
unitless by name
Required / declared member
No @default declared; consult the signature and description.
stream
(parameters?: Empty | undefined) => import('@insiderfinance/totalfinance/technical-analysis').LiveStream<Pair, number>

unitless by name
Required / declared member
No @default declared; consult the signature and description.
stream().return.next
(input: Pair) => number | null

unitless by name
Required / declared member
No @default declared; consult the signature and description.
stream().return.peek
(input: Pair) => number | null
The value that WOULD result from `next(input)` applied to the committed state, WITHOUT committing it. Call it repeatedly with the forming bar's evolving value; call `next(input)` once at bar close to commit. Between commits the committed state is untouched, so a live chart never repaints its closed bars. The default cost is O(snapshot) per call (clone-and-apply); indicators may override with an O(1) form later.
unitless by name
Required / declared member
No @default declared; consult the signature and description.
stream().return.toJSON
() => TechnicalAnalysisSnapshot

unitless by name
Required / declared member
No @default declared; consult the signature and description.
stream().return.value
number | null

unitless by name
Required / declared member
No @default declared; consult the signature and description.
stream(parameters)
Empty | undefined

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.

function

exp

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

export declare const exp: import('@insiderfinance/totalfinance/technical-analysis').Indicator<Empty, number, number>;
Fields, parameters & returned members (35)
Name / typeMeaning & unitOptional / default
(input)
ArrayLike<number>

unitless by name
Required / declared member
No @default declared; consult the signature and description.
(parameters)
Empty | undefined

unitless by name
Optional
No @default declared; consult the signature and description.
explain
(input: ArrayLike<number>, parameters?: Empty | undefined) => import('@insiderfinance/totalfinance/technical-analysis').TechnicalAnalysisExplain<number>

unitless by name
Required / declared member
No @default declared; consult the signature and description.
explain().return.assumptions
import('@insiderfinance/totalfinance/core').Assumptions<import('@insiderfinance/totalfinance/technical-analysis').TechnicalAnalysisAssumptionExtras>
Every applied convention, echoed back.
unitless by name
Required / declared member
No @default declared; consult the signature and description.
explain().return.diagnostics
import('@insiderfinance/totalfinance/core').Diagnostics & { warmup: number; }

unitless by name
Required / declared member
No @default declared; consult the signature and description.
explain().return.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.
explain().return.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.
explain().return.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.
explain().return.diagnostics.engine
string
Pricing/solver engine name, e.g. `black-scholes-merton`.
unitless by name
Optional
No @default declared; consult the signature and description.
explain().return.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.
explain().return.diagnostics.iterations
number
Iteration count for iterative methods.
unitless by name
Optional
No @default declared; consult the signature and description.
explain().return.diagnostics.method
string
Numerical method, e.g. `closed-form`, `brent`, `finite-difference`.
unitless by name
Optional
No @default declared; consult the signature and description.
explain().return.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.
explain().return.diagnostics.timingMs
number
Wall-clock timing in milliseconds, when measured.
milliseconds
Optional
No @default declared; consult the signature and description.
explain().return.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.
explain().return.diagnostics.warnings
import('@insiderfinance/totalfinance/core').QuantWarning[]
Structured warnings; always present (possibly empty).
unitless by name
Required / declared member
No @default declared; consult the signature and description.
explain().return.provenance
import('@insiderfinance/totalfinance/core').Provenance
Optional data lineage when the inputs came from a provider.
unitless by name
Optional
No @default declared; consult the signature and description.
explain().return.value
number[]
The computed value. Never `NaN` or `±Infinity`: a value the model cannot produce is `null` beside a diagnostic that says why (Law 7 — a warning never licenses a non-finite number).
unitless by name
Required / declared member
No @default declared; consult the signature and description.
explain(input)
ArrayLike<number>

unitless by name
Required / declared member
No @default declared; consult the signature and description.
explain(parameters)
Empty | undefined

unitless by name
Optional
No @default declared; consult the signature and description.
fromJSON
(snapshot: TechnicalAnalysisSnapshot) => import('@insiderfinance/totalfinance/technical-analysis').LiveStream<number, number>

unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON().return.next
(input: number) => number | null

unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON().return.peek
(input: number) => number | null
The value that WOULD result from `next(input)` applied to the committed state, WITHOUT committing it. Call it repeatedly with the forming bar's evolving value; call `next(input)` once at bar close to commit. Between commits the committed state is untouched, so a live chart never repaints its closed bars. The default cost is O(snapshot) per call (clone-and-apply); indicators may override with an O(1) form later.
unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON().return.toJSON
() => TechnicalAnalysisSnapshot

unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON().return.value
number | null

unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON(snapshot)
TechnicalAnalysisSnapshot

unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON(snapshot).kind
string

unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON(snapshot).schemaVersion
number
Schema version, stamped at the serialization boundary by {@link snapshotOf}.
unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON(snapshot).state
Record<string, unknown>
Indicator-private stream state. Round-trip it; never read into it.
unitless by name
Required / declared member
No @default declared; consult the signature and description.
stream
(parameters?: Empty | undefined) => import('@insiderfinance/totalfinance/technical-analysis').LiveStream<number, number>

unitless by name
Required / declared member
No @default declared; consult the signature and description.
stream().return.next
(input: number) => number | null

unitless by name
Required / declared member
No @default declared; consult the signature and description.
stream().return.peek
(input: number) => number | null
The value that WOULD result from `next(input)` applied to the committed state, WITHOUT committing it. Call it repeatedly with the forming bar's evolving value; call `next(input)` once at bar close to commit. Between commits the committed state is untouched, so a live chart never repaints its closed bars. The default cost is O(snapshot) per call (clone-and-apply); indicators may override with an O(1) form later.
unitless by name
Required / declared member
No @default declared; consult the signature and description.
stream().return.toJSON
() => TechnicalAnalysisSnapshot

unitless by name
Required / declared member
No @default declared; consult the signature and description.
stream().return.value
number | null

unitless by name
Required / declared member
No @default declared; consult the signature and description.
stream(parameters)
Empty | undefined

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.

function

floor

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

export declare const floor: import('@insiderfinance/totalfinance/technical-analysis').Indicator<Empty, number, number>;
Fields, parameters & returned members (35)
Name / typeMeaning & unitOptional / default
(input)
ArrayLike<number>

unitless by name
Required / declared member
No @default declared; consult the signature and description.
(parameters)
Empty | undefined

unitless by name
Optional
No @default declared; consult the signature and description.
explain
(input: ArrayLike<number>, parameters?: Empty | undefined) => import('@insiderfinance/totalfinance/technical-analysis').TechnicalAnalysisExplain<number>

unitless by name
Required / declared member
No @default declared; consult the signature and description.
explain().return.assumptions
import('@insiderfinance/totalfinance/core').Assumptions<import('@insiderfinance/totalfinance/technical-analysis').TechnicalAnalysisAssumptionExtras>
Every applied convention, echoed back.
unitless by name
Required / declared member
No @default declared; consult the signature and description.
explain().return.diagnostics
import('@insiderfinance/totalfinance/core').Diagnostics & { warmup: number; }

unitless by name
Required / declared member
No @default declared; consult the signature and description.
explain().return.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.
explain().return.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.
explain().return.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.
explain().return.diagnostics.engine
string
Pricing/solver engine name, e.g. `black-scholes-merton`.
unitless by name
Optional
No @default declared; consult the signature and description.
explain().return.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.
explain().return.diagnostics.iterations
number
Iteration count for iterative methods.
unitless by name
Optional
No @default declared; consult the signature and description.
explain().return.diagnostics.method
string
Numerical method, e.g. `closed-form`, `brent`, `finite-difference`.
unitless by name
Optional
No @default declared; consult the signature and description.
explain().return.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.
explain().return.diagnostics.timingMs
number
Wall-clock timing in milliseconds, when measured.
milliseconds
Optional
No @default declared; consult the signature and description.
explain().return.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.
explain().return.diagnostics.warnings
import('@insiderfinance/totalfinance/core').QuantWarning[]
Structured warnings; always present (possibly empty).
unitless by name
Required / declared member
No @default declared; consult the signature and description.
explain().return.provenance
import('@insiderfinance/totalfinance/core').Provenance
Optional data lineage when the inputs came from a provider.
unitless by name
Optional
No @default declared; consult the signature and description.
explain().return.value
number[]
The computed value. Never `NaN` or `±Infinity`: a value the model cannot produce is `null` beside a diagnostic that says why (Law 7 — a warning never licenses a non-finite number).
unitless by name
Required / declared member
No @default declared; consult the signature and description.
explain(input)
ArrayLike<number>

unitless by name
Required / declared member
No @default declared; consult the signature and description.
explain(parameters)
Empty | undefined

unitless by name
Optional
No @default declared; consult the signature and description.
fromJSON
(snapshot: TechnicalAnalysisSnapshot) => import('@insiderfinance/totalfinance/technical-analysis').LiveStream<number, number>

unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON().return.next
(input: number) => number | null

unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON().return.peek
(input: number) => number | null
The value that WOULD result from `next(input)` applied to the committed state, WITHOUT committing it. Call it repeatedly with the forming bar's evolving value; call `next(input)` once at bar close to commit. Between commits the committed state is untouched, so a live chart never repaints its closed bars. The default cost is O(snapshot) per call (clone-and-apply); indicators may override with an O(1) form later.
unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON().return.toJSON
() => TechnicalAnalysisSnapshot

unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON().return.value
number | null

unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON(snapshot)
TechnicalAnalysisSnapshot

unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON(snapshot).kind
string

unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON(snapshot).schemaVersion
number
Schema version, stamped at the serialization boundary by {@link snapshotOf}.
unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON(snapshot).state
Record<string, unknown>
Indicator-private stream state. Round-trip it; never read into it.
unitless by name
Required / declared member
No @default declared; consult the signature and description.
stream
(parameters?: Empty | undefined) => import('@insiderfinance/totalfinance/technical-analysis').LiveStream<number, number>

unitless by name
Required / declared member
No @default declared; consult the signature and description.
stream().return.next
(input: number) => number | null

unitless by name
Required / declared member
No @default declared; consult the signature and description.
stream().return.peek
(input: number) => number | null
The value that WOULD result from `next(input)` applied to the committed state, WITHOUT committing it. Call it repeatedly with the forming bar's evolving value; call `next(input)` once at bar close to commit. Between commits the committed state is untouched, so a live chart never repaints its closed bars. The default cost is O(snapshot) per call (clone-and-apply); indicators may override with an O(1) form later.
unitless by name
Required / declared member
No @default declared; consult the signature and description.
stream().return.toJSON
() => TechnicalAnalysisSnapshot

unitless by name
Required / declared member
No @default declared; consult the signature and description.
stream().return.value
number | null

unitless by name
Required / declared member
No @default declared; consult the signature and description.
stream(parameters)
Empty | undefined

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.