The finance developer workbenchSearch the reference Development · 0.1.4 · unpublished

Public API / @insiderfinance/totalfinance

@insiderfinance/totalfinance/technical-analysis/transforms

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

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

Jump to an export (17)

GapStream · HeikinAshiBar · HeikinAshiStream · MapBarStream · TrueRangeStream · averagePrice · bar · candleRange · gap · heikinAshi · lowerShadow · medianPrice · realBody · trueRange · typicalPrice · upperShadow · weightedClose

class

GapStream

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

export declare class GapStream implements IndicatorStream<BarInput, number> {
  constructor();
  static fromJSON(snapshot: TechnicalAnalysisSnapshot): GapStream;
  value: number | null;
  next(bar: BarInput): number | null;
  toJSON(): TechnicalAnalysisSnapshot;
}
Fields, parameters & returned members (23)
Name / typeMeaning & unitOptional / default
fromJSON
(snapshot: TechnicalAnalysisSnapshot) => GapStream

unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON().return.next
(bar: BarInput) => 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
(bar: BarInput) => number | null

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

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

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

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

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

unitless by name
Optional
No @default declared; consult the signature and description.
next(bar).volume
number

unitless by name
Optional
No @default declared; consult the signature and description.
return.next
(bar: BarInput) => 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.

interface

HeikinAshiBar

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

// ---- Heikin-Ashi (smoothed candles; also re-exported by chart-types) ----
export interface HeikinAshiBar {
    open: number;
    high: number;
    low: number;
    close: number;
}
Fields, parameters & returned members (4)
Name / typeMeaning & unitOptional / default
close
number

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

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

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

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

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

class

HeikinAshiStream

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

export declare class HeikinAshiStream implements IndicatorStream<BarInput, HeikinAshiBar> {
  constructor();
  static fromJSON(snapshot: TechnicalAnalysisSnapshot): HeikinAshiStream;
  value: HeikinAshiBar | null;
  next(bar: BarInput): HeikinAshiBar | null;
  toJSON(): TechnicalAnalysisSnapshot;
}
Fields, parameters & returned members (39)
Name / typeMeaning & unitOptional / default
fromJSON
(snapshot: TechnicalAnalysisSnapshot) => HeikinAshiStream

unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON().return.next
(bar: BarInput) => HeikinAshiBar | 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
HeikinAshiBar | null

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

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

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

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

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
(bar: BarInput) => HeikinAshiBar | null

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

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

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

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

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

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

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

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

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

unitless by name
Optional
No @default declared; consult the signature and description.
next(bar).volume
number

unitless by name
Optional
No @default declared; consult the signature and description.
return.next
(bar: BarInput) => HeikinAshiBar | 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
HeikinAshiBar | null

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

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

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

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

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
HeikinAshiBar | null

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

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

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

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

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

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

class

MapBarStream

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

export declare class MapBarStream implements IndicatorStream<BarInput, number> {
  constructor(parameters: { kind: string; project: (bar: BarInput) => number; });
  value: number | null;
  next(bar: BarInput): number | null;
  toJSON(): TechnicalAnalysisSnapshot;
}
Fields, parameters & returned members (18)
Name / typeMeaning & unitOptional / default
(parameters)
{ kind: string; project: (bar: BarInput) => 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).project
(bar: BarInput) => number

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

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

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

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

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

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

unitless by name
Optional
No @default declared; consult the signature and description.
next(bar).volume
number

unitless by name
Optional
No @default declared; consult the signature and description.
return.next
(bar: BarInput) => 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

TrueRangeStream

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

export declare class TrueRangeStream implements IndicatorStream<BarInput, number> {
  constructor();
  static fromJSON(snapshot: TechnicalAnalysisSnapshot): TrueRangeStream;
  value: number | null;
  next(bar: BarInput): number | null;
  toJSON(): TechnicalAnalysisSnapshot;
}
Fields, parameters & returned members (23)
Name / typeMeaning & unitOptional / default
fromJSON
(snapshot: TechnicalAnalysisSnapshot) => TrueRangeStream

unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON().return.next
(bar: BarInput) => 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
(bar: BarInput) => number | null

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

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

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

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

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

unitless by name
Optional
No @default declared; consult the signature and description.
next(bar).volume
number

unitless by name
Optional
No @default declared; consult the signature and description.
return.next
(bar: BarInput) => 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

averagePrice

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

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

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<BarInput>, 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<BarInput>

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<BarInput, number>

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

unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON().return.peek
(input: BarInput) => 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<BarInput, number>

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

unitless by name
Required / declared member
No @default declared; consult the signature and description.
stream().return.peek
(input: BarInput) => 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.

value

bar

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

export declare const bar: { readonly average: (bar: BarInput) => number; readonly body: (bar: BarInput) => number; readonly lowerShadow: (bar: BarInput) => number; readonly median: (bar: BarInput) => number; readonly open: (bar: BarInput) => number; readonly range: (bar: BarInput) => number; readonly trueRange: (bar: BarInput, previousClose: number) => number; readonly typical: (bar: BarInput) => number; readonly upperShadow: (bar: BarInput) => number; readonly weighted: (bar: BarInput) => number; };
Fields, parameters & returned members (80)
Name / typeMeaning & unitOptional / default
average
(bar: BarInput) => number

unitless by name
Required / declared member
No @default declared; consult the signature and description.
average(bar)
BarInput

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

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

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

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

unitless by name
Optional
No @default declared; consult the signature and description.
average(bar).volume
number

unitless by name
Optional
No @default declared; consult the signature and description.
average(rest)
[]

unitless by name
Required / declared member
No @default declared; consult the signature and description.
body
(bar: BarInput) => number

unitless by name
Required / declared member
No @default declared; consult the signature and description.
body(bar)
BarInput

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

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

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

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

unitless by name
Optional
No @default declared; consult the signature and description.
body(bar).volume
number

unitless by name
Optional
No @default declared; consult the signature and description.
body(rest)
[]

unitless by name
Required / declared member
No @default declared; consult the signature and description.
lowerShadow
(bar: BarInput) => number

unitless by name
Required / declared member
No @default declared; consult the signature and description.
lowerShadow(bar)
BarInput

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

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

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

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

unitless by name
Optional
No @default declared; consult the signature and description.
lowerShadow(bar).volume
number

unitless by name
Optional
No @default declared; consult the signature and description.
lowerShadow(rest)
[]

unitless by name
Required / declared member
No @default declared; consult the signature and description.
median
(bar: BarInput) => number

unitless by name
Required / declared member
No @default declared; consult the signature and description.
median(bar)
BarInput

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

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

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

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

unitless by name
Optional
No @default declared; consult the signature and description.
median(bar).volume
number

unitless by name
Optional
No @default declared; consult the signature and description.
median(rest)
[]

unitless by name
Required / declared member
No @default declared; consult the signature and description.
open
(bar: BarInput) => number

unitless by name
Required / declared member
No @default declared; consult the signature and description.
open(bar)
BarInput

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

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

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

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

unitless by name
Optional
No @default declared; consult the signature and description.
open(bar).volume
number

unitless by name
Optional
No @default declared; consult the signature and description.
open(rest)
[]

unitless by name
Required / declared member
No @default declared; consult the signature and description.
range
(bar: BarInput) => number

unitless by name
Required / declared member
No @default declared; consult the signature and description.
range(bar)
BarInput

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

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

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

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

unitless by name
Optional
No @default declared; consult the signature and description.
range(bar).volume
number

unitless by name
Optional
No @default declared; consult the signature and description.
range(rest)
[]

unitless by name
Required / declared member
No @default declared; consult the signature and description.
trueRange
(bar: BarInput, previousClose: number) => number

unitless by name
Required / declared member
No @default declared; consult the signature and description.
trueRange(bar)
BarInput

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

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

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

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

unitless by name
Optional
No @default declared; consult the signature and description.
trueRange(bar).volume
number

unitless by name
Optional
No @default declared; consult the signature and description.
trueRange(rest)
[previousClose: number]

unitless by name
Required / declared member
No @default declared; consult the signature and description.
typical
(bar: BarInput) => number

unitless by name
Required / declared member
No @default declared; consult the signature and description.
typical(bar)
BarInput

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

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

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

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

unitless by name
Optional
No @default declared; consult the signature and description.
typical(bar).volume
number

unitless by name
Optional
No @default declared; consult the signature and description.
typical(rest)
[]

unitless by name
Required / declared member
No @default declared; consult the signature and description.
upperShadow
(bar: BarInput) => number

unitless by name
Required / declared member
No @default declared; consult the signature and description.
upperShadow(bar)
BarInput

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

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

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

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

unitless by name
Optional
No @default declared; consult the signature and description.
upperShadow(bar).volume
number

unitless by name
Optional
No @default declared; consult the signature and description.
upperShadow(rest)
[]

unitless by name
Required / declared member
No @default declared; consult the signature and description.
weighted
(bar: BarInput) => number

unitless by name
Required / declared member
No @default declared; consult the signature and description.
weighted(bar)
BarInput

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

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

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

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

unitless by name
Optional
No @default declared; consult the signature and description.
weighted(bar).volume
number

unitless by name
Optional
No @default declared; consult the signature and description.
weighted(rest)
[]

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

candleRange

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

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

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<BarInput>, 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<BarInput>

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<BarInput, number>

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

unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON().return.peek
(input: BarInput) => 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<BarInput, number>

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

unitless by name
Required / declared member
No @default declared; consult the signature and description.
stream().return.peek
(input: BarInput) => 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

gap

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

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

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<BarInput>, 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<BarInput>

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<BarInput, number>

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

unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON().return.peek
(input: BarInput) => 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<BarInput, number>

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

unitless by name
Required / declared member
No @default declared; consult the signature and description.
stream().return.peek
(input: BarInput) => 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

heikinAshi

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

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

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<BarInput>, parameters?: Empty | undefined) => import('@insiderfinance/totalfinance/technical-analysis').TechnicalAnalysisExplain<HeikinAshiBar>

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
HeikinAshiBar[]
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<BarInput>

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<BarInput, HeikinAshiBar>

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

unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON().return.peek
(input: BarInput) => HeikinAshiBar | 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
HeikinAshiBar | null

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

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

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

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

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<BarInput, HeikinAshiBar>

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

unitless by name
Required / declared member
No @default declared; consult the signature and description.
stream().return.peek
(input: BarInput) => HeikinAshiBar | 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
HeikinAshiBar | null

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

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

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

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

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

lowerShadow

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

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

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<BarInput>, 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<BarInput>

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<BarInput, number>

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

unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON().return.peek
(input: BarInput) => 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<BarInput, number>

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

unitless by name
Required / declared member
No @default declared; consult the signature and description.
stream().return.peek
(input: BarInput) => 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

medianPrice

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

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

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<BarInput>, 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<BarInput>

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<BarInput, number>

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

unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON().return.peek
(input: BarInput) => 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<BarInput, number>

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

unitless by name
Required / declared member
No @default declared; consult the signature and description.
stream().return.peek
(input: BarInput) => 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

realBody

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

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

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<BarInput>, 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<BarInput>

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<BarInput, number>

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

unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON().return.peek
(input: BarInput) => 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<BarInput, number>

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

unitless by name
Required / declared member
No @default declared; consult the signature and description.
stream().return.peek
(input: BarInput) => 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

trueRange

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

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

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<BarInput>, 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<BarInput>

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<BarInput, number>

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

unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON().return.peek
(input: BarInput) => 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<BarInput, number>

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

unitless by name
Required / declared member
No @default declared; consult the signature and description.
stream().return.peek
(input: BarInput) => 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

typicalPrice

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

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

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<BarInput>, 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<BarInput>

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<BarInput, number>

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

unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON().return.peek
(input: BarInput) => 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<BarInput, number>

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

unitless by name
Required / declared member
No @default declared; consult the signature and description.
stream().return.peek
(input: BarInput) => 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.