The finance developer workbenchSearch the reference Development · 0.1.4 · unpublished

Public API / @insiderfinance/totalfinance

@insiderfinance/totalfinance/technical-analysis/cycle

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

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

Jump to an export (24)

DspParameters · DspStream · EbswParameters · EbswStream · HilbertCore · HilbertOut · HtPhasorStream · HtScalarStream · HtSineStream · HtTrendModeStream · MswParameters · MswPoint · MswStream · PhasorPoint · SinePoint · dsp · ebsw · htDcPeriod · htDcPhase · htPhasor · htSine · htTrendMode · htTrendline · msw

interface

DspParameters

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

// ───────────────────────── pandas-ta cycle additions ─────────────────────────
export interface DspParameters {
    period?: number;
}
Fields, parameters & returned members (1)
Name / typeMeaning & unitOptional / default
period
number

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

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

class

DspStream

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

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

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

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

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

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

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

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

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

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

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

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

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

interface

EbswParameters

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

export interface EbswParameters {
    /** Max cycle/trend period. pandas-ta enforces a practical minimum of 39. Default 40. */
    period?: number;
    /** Low-pass filtering period. Default 10. */
    bars?: number;
}
Fields, parameters & returned members (2)
Name / typeMeaning & unitOptional / default
bars
number
Low-pass filtering period. Default 10.
unitless by name
Optional
No @default declared; consult the signature and description.
period
number
Max cycle/trend period. pandas-ta enforces a practical minimum of 39. Default 40.
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.

class

EbswStream

Even Better Sinewave — **pandas-ta-compatible, including pandas-ta's degree/radian defect.** pandas-ta's `ebsw` feeds `360 / period` (and `√2·180 / bars`) to `sin`/`cos`, which take RADIANS, so the high-pass and super-smoother coefficients are not the ones Ehlers published (his use `2π / period` and `√2·π / bars`). TotalFinance reproduces pandas-ta bit-for-bit — that is what the certified golden pins and what a pandas-ta user comparing outputs expects — which means **this is not Ehlers's published filter**. Treat `ebsw` as "pandas-ta's EBSW", and do not port its coefficients to a from-scratch Ehlers implementation.

export declare class EbswStream implements IndicatorStream<number, number> {
  constructor(parameters: { period: number; bars: number; });
  static fromJSON(snapshot: TechnicalAnalysisSnapshot): EbswStream;
  value: number | null;
  next(value: number): number | null;
  toJSON(): TechnicalAnalysisSnapshot;
}
Fields, parameters & returned members (21)
Name / typeMeaning & unitOptional / default
(parameters)
{ period: number; bars: number; }

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

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

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

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

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

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

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

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

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

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

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

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

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

class

HilbertCore

Shared Ehlers Hilbert-transform discriminator. Emits once the FIR history has filled (~6 bars).

export declare class HilbertCore {
  constructor();
  static fromJSON(snapshot: TechnicalAnalysisSnapshot): HilbertCore;
  toJSON(): TechnicalAnalysisSnapshot;
  update(priceValue: number): HilbertOut | null;
}
Fields, parameters & returned members (20)
Name / typeMeaning & unitOptional / default
fromJSON
(snapshot: TechnicalAnalysisSnapshot) => HilbertCore

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.update
(priceValue: number) => HilbertOut | 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.
return.toJSON
() => TechnicalAnalysisSnapshot

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

unitless by name
Required / declared member
No @default declared; consult the signature and description.
update().return.dcPeriod
number
Dominant cycle period (smoothed), clamped to [6, 50].
unitless by name
Required / declared member
No @default declared; consult the signature and description.
update().return.dcPhase
number
Dominant cycle phase in degrees (TA-Lib DCPhase algorithm).
unitless by name
Required / declared member
No @default declared; consult the signature and description.
update().return.inPhase
number
In-phase component.
unitless by name
Required / declared member
No @default declared; consult the signature and description.
update().return.quadrature
number
Quadrature component.
unitless by name
Required / declared member
No @default declared; consult the signature and description.
update().return.trendline
number
Instantaneous trendline (dominant-cycle SMA of price, 4-3-2-1 smoothed).
unitless by name
Required / declared member
No @default declared; consult the signature and description.
update(priceValue)
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.

interface

HilbertOut

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

export interface HilbertOut {
    /** Dominant cycle period (smoothed), clamped to [6, 50]. */
    dcPeriod: number;
    /** In-phase component. */
    inPhase: number;
    /** Quadrature component. */
    quadrature: number;
    /** Dominant cycle phase in degrees (TA-Lib DCPhase algorithm). */
    dcPhase: number;
    /** Instantaneous trendline (dominant-cycle SMA of price, 4-3-2-1 smoothed). */
    trendline: number;
}
Fields, parameters & returned members (5)
Name / typeMeaning & unitOptional / default
dcPeriod
number
Dominant cycle period (smoothed), clamped to [6, 50].
unitless by name
Required / declared member
No @default declared; consult the signature and description.
dcPhase
number
Dominant cycle phase in degrees (TA-Lib DCPhase algorithm).
unitless by name
Required / declared member
No @default declared; consult the signature and description.
inPhase
number
In-phase component.
unitless by name
Required / declared member
No @default declared; consult the signature and description.
quadrature
number
Quadrature component.
unitless by name
Required / declared member
No @default declared; consult the signature and description.
trendline
number
Instantaneous trendline (dominant-cycle SMA of price, 4-3-2-1 smoothed).
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

HtPhasorStream

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

export declare class HtPhasorStream implements IndicatorStream<number, PhasorPoint> {
  constructor();
  static fromJSON(snapshot: TechnicalAnalysisSnapshot): HtPhasorStream;
  core: HilbertCore;
  value: PhasorPoint | null;
  next(value: number): PhasorPoint | null;
  toJSON(): TechnicalAnalysisSnapshot;
}
Fields, parameters & returned members (40)
Name / typeMeaning & unitOptional / default
core
HilbertCore

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

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

unitless by name
Required / declared member
No @default declared; consult the signature and description.
core.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.
core.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.
core.update
(priceValue: number) => HilbertOut | null

unitless by name
Required / declared member
No @default declared; consult the signature and description.
core.update().return.dcPeriod
number
Dominant cycle period (smoothed), clamped to [6, 50].
unitless by name
Required / declared member
No @default declared; consult the signature and description.
core.update().return.dcPhase
number
Dominant cycle phase in degrees (TA-Lib DCPhase algorithm).
unitless by name
Required / declared member
No @default declared; consult the signature and description.
core.update().return.inPhase
number
In-phase component.
unitless by name
Required / declared member
No @default declared; consult the signature and description.
core.update().return.quadrature
number
Quadrature component.
unitless by name
Required / declared member
No @default declared; consult the signature and description.
core.update().return.trendline
number
Instantaneous trendline (dominant-cycle SMA of price, 4-3-2-1 smoothed).
unitless by name
Required / declared member
No @default declared; consult the signature and description.
core.update(priceValue)
number

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

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

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

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

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

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

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

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

unitless by name
Required / declared member
No @default declared; consult the signature and description.
return.core
HilbertCore

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

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

unitless by name
Required / declared member
No @default declared; consult the signature and description.
return.value.quadrature
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
PhasorPoint | null

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

unitless by name
Required / declared member
No @default declared; consult the signature and description.
value.quadrature
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

HtScalarStream

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

export declare class HtScalarStream implements IndicatorStream<number, number> {
  constructor(parameters: { kind: string; pick: (output: HilbertOut) => number; });
  core: HilbertCore;
  value: number | null;
  next(value: number): number | null;
  toJSON(): TechnicalAnalysisSnapshot;
}
Fields, parameters & returned members (26)
Name / typeMeaning & unitOptional / default
(parameters)
{ kind: string; pick: (output: HilbertOut) => 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).pick
(output: HilbertOut) => number

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

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

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

unitless by name
Required / declared member
No @default declared; consult the signature and description.
core.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.
core.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.
core.update
(priceValue: number) => HilbertOut | null

unitless by name
Required / declared member
No @default declared; consult the signature and description.
core.update().return.dcPeriod
number
Dominant cycle period (smoothed), clamped to [6, 50].
unitless by name
Required / declared member
No @default declared; consult the signature and description.
core.update().return.dcPhase
number
Dominant cycle phase in degrees (TA-Lib DCPhase algorithm).
unitless by name
Required / declared member
No @default declared; consult the signature and description.
core.update().return.inPhase
number
In-phase component.
unitless by name
Required / declared member
No @default declared; consult the signature and description.
core.update().return.quadrature
number
Quadrature component.
unitless by name
Required / declared member
No @default declared; consult the signature and description.
core.update().return.trendline
number
Instantaneous trendline (dominant-cycle SMA of price, 4-3-2-1 smoothed).
unitless by name
Required / declared member
No @default declared; consult the signature and description.
core.update(priceValue)
number

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

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

unitless by name
Required / declared member
No @default declared; consult the signature and description.
return.core
HilbertCore

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

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

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

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

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

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

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

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

class

HtSineStream

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

export declare class HtSineStream implements IndicatorStream<number, SinePoint> {
  constructor();
  static fromJSON(snapshot: TechnicalAnalysisSnapshot): HtSineStream;
  core: HilbertCore;
  value: SinePoint | null;
  next(value: number): SinePoint | null;
  toJSON(): TechnicalAnalysisSnapshot;
}
Fields, parameters & returned members (40)
Name / typeMeaning & unitOptional / default
core
HilbertCore

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

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

unitless by name
Required / declared member
No @default declared; consult the signature and description.
core.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.
core.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.
core.update
(priceValue: number) => HilbertOut | null

unitless by name
Required / declared member
No @default declared; consult the signature and description.
core.update().return.dcPeriod
number
Dominant cycle period (smoothed), clamped to [6, 50].
unitless by name
Required / declared member
No @default declared; consult the signature and description.
core.update().return.dcPhase
number
Dominant cycle phase in degrees (TA-Lib DCPhase algorithm).
unitless by name
Required / declared member
No @default declared; consult the signature and description.
core.update().return.inPhase
number
In-phase component.
unitless by name
Required / declared member
No @default declared; consult the signature and description.
core.update().return.quadrature
number
Quadrature component.
unitless by name
Required / declared member
No @default declared; consult the signature and description.
core.update().return.trendline
number
Instantaneous trendline (dominant-cycle SMA of price, 4-3-2-1 smoothed).
unitless by name
Required / declared member
No @default declared; consult the signature and description.
core.update(priceValue)
number

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

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

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

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

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

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

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

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

unitless by name
Required / declared member
No @default declared; consult the signature and description.
return.core
HilbertCore

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

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

unitless by name
Required / declared member
No @default declared; consult the signature and description.
return.value.sine
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
SinePoint | null

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

unitless by name
Required / declared member
No @default declared; consult the signature and description.
value.sine
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

HtTrendModeStream

1 = trend, 0 = cycle. Cycle mode is entered on a sine/lead-sine crossing and held for roughly one dominant cycle (an Ehlers-style heuristic; TA-Lib's exact trend test differs in detail).

export declare class HtTrendModeStream implements IndicatorStream<number, number> {
  constructor();
  static fromJSON(snapshot: TechnicalAnalysisSnapshot): HtTrendModeStream;
  core: HilbertCore;
  value: number | null;
  next(value: number): number | null;
  toJSON(): TechnicalAnalysisSnapshot;
}
Fields, parameters & returned members (32)
Name / typeMeaning & unitOptional / default
core
HilbertCore

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

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

unitless by name
Required / declared member
No @default declared; consult the signature and description.
core.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.
core.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.
core.update
(priceValue: number) => HilbertOut | null

unitless by name
Required / declared member
No @default declared; consult the signature and description.
core.update().return.dcPeriod
number
Dominant cycle period (smoothed), clamped to [6, 50].
unitless by name
Required / declared member
No @default declared; consult the signature and description.
core.update().return.dcPhase
number
Dominant cycle phase in degrees (TA-Lib DCPhase algorithm).
unitless by name
Required / declared member
No @default declared; consult the signature and description.
core.update().return.inPhase
number
In-phase component.
unitless by name
Required / declared member
No @default declared; consult the signature and description.
core.update().return.quadrature
number
Quadrature component.
unitless by name
Required / declared member
No @default declared; consult the signature and description.
core.update().return.trendline
number
Instantaneous trendline (dominant-cycle SMA of price, 4-3-2-1 smoothed).
unitless by name
Required / declared member
No @default declared; consult the signature and description.
core.update(priceValue)
number

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

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

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

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

unitless by name
Required / declared member
No @default declared; consult the signature and description.
return.core
HilbertCore

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

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

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

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

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

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

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

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

interface

MswParameters

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

export interface MswParameters {
    period?: number;
}
Fields, parameters & returned members (1)
Name / typeMeaning & unitOptional / default
period
number

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

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

interface

MswPoint

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

export interface MswPoint {
    sine: number;
    lead: number;
}
Fields, parameters & returned members (2)
Name / typeMeaning & unitOptional / default
lead
number

unitless by name
Required / declared member
No @default declared; consult the signature and description.
sine
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

MswStream

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

export declare class MswStream implements IndicatorStream<number, MswPoint> {
  constructor(period: number);
  static fromJSON(snapshot: TechnicalAnalysisSnapshot): MswStream;
  value: MswPoint | null;
  next(value: number): MswPoint | null;
  toJSON(): TechnicalAnalysisSnapshot;
}
Fields, parameters & returned members (27)
Name / typeMeaning & unitOptional / default
(period)
number

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

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

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

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

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

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

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

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

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

unitless by name
Required / declared member
No @default declared; consult the signature and description.
return.value.sine
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
MswPoint | null

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

unitless by name
Required / declared member
No @default declared; consult the signature and description.
value.sine
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.

interface

PhasorPoint

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

// ───────────────────────── HT_PHASOR ─────────────────────────
export interface PhasorPoint {
    inPhase: number;
    quadrature: number;
}
Fields, parameters & returned members (2)
Name / typeMeaning & unitOptional / default
inPhase
number

unitless by name
Required / declared member
No @default declared; consult the signature and description.
quadrature
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.

interface

SinePoint

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

// ───────────────────────── HT_SINE ─────────────────────────
export interface SinePoint {
    sine: number;
    leadSine: number;
}
Fields, parameters & returned members (2)
Name / typeMeaning & unitOptional / default
leadSine
number

unitless by name
Required / declared member
No @default declared; consult the signature and description.
sine
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.

function

dsp

Detrended Synthetic Price: `close - EMA(close, period)` (pandas-ta `dsp`).

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

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

unitless by name
Optional
No @default declared; consult the signature and description.
(parameters).period
number

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

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

unitless by name
Required / declared member
No @default declared; consult the signature and description.
explain().return.diagnostics.autoReason
string
When a meta-engine (e.g. `engines.auto()`) selected a delegate, this is a one-sentence, human-readable explanation of WHY that delegate was chosen (`engine` then names the delegate). Absent when no auto-selection took place.
unitless by name
Optional
No @default declared; consult the signature and description.
explain().return.diagnostics.converged
boolean
Whether an iterative procedure converged. `false` means the value is not trustworthy.
unitless by name
Optional
No @default declared; consult the signature and description.
explain().return.diagnostics.decomposition
Record<string, number>
Named intermediate quantities the value decomposes into — a par spread's protection leg and risky annuity, a forward variance's near/far legs. The H-series explain paths disclose their arithmetic here so a caller can audit the ratio, not just receive it (3B.3).
unitless by name
Optional
No @default declared; consult the signature and description.
explain().return.diagnostics.engine
string
Pricing/solver engine name, e.g. `black-scholes-merton`.
unitless by name
Optional
No @default declared; consult the signature and description.
explain().return.diagnostics.finiteDifferenceBumps
Record<string, number>
Finite-difference engines: the ACTUAL bump sizes used for FD Greeks (spec P2.3) — adaptive near the vol/time boundaries, so the caller can see exactly what was differenced. Keys: `spotStep`, `volatilityStep`, `timeStepYears`, `rateStep`, and — extended Greeks only — `dividendYieldStep`. Each is the actual step differenced, in the unit of the coordinate it bumps. (This doc named the retired `hS`/`hSig`/`hT`/`hR`/`hQ` keys for one release after the emit sites had moved to the semantic names, so a caller following it read `undefined`.)
unitless by name
Optional
No @default declared; consult the signature and description.
explain().return.diagnostics.iterations
number
Iteration count for iterative methods.
unitless by name
Optional
No @default declared; consult the signature and description.
explain().return.diagnostics.method
string
Numerical method, e.g. `closed-form`, `brent`, `finite-difference`.
unitless by name
Optional
No @default declared; consult the signature and description.
explain().return.diagnostics.selection
import('@insiderfinance/totalfinance/core/pricing').SelectionReport
The structured engine-selection report (Gate C, `@insiderfinance/totalfinance/core/pricing`): who was selected, why, and — for automatic selection — every candidate considered with its verdict. This is the machine-readable superset of `engine` + `autoReason` (which remain for compatibility); `selected.name` always agrees with `engine` when both are present.
unitless by name
Optional
No @default declared; consult the signature and description.
explain().return.diagnostics.timingMs
number
Wall-clock timing in milliseconds, when measured.
milliseconds
Optional
No @default declared; consult the signature and description.
explain().return.diagnostics.warmup
number
Series facades: number of leading output slots that are warmup sentinels (null/NaN) while the computation seeds. Equals the input length when the indicator never emitted.
unitless by name
Optional
No @default declared; consult the signature and description.
explain().return.diagnostics.warnings
import('@insiderfinance/totalfinance/core').QuantWarning[]
Structured warnings; always present (possibly empty).
unitless by name
Required / declared member
No @default declared; consult the signature and description.
explain().return.provenance
import('@insiderfinance/totalfinance/core').Provenance
Optional data lineage when the inputs came from a provider.
unitless by name
Optional
No @default declared; consult the signature and description.
explain().return.value
number[]
The computed value. Never `NaN` or `±Infinity`: a value the model cannot produce is `null` beside a diagnostic that says why (Law 7 — a warning never licenses a non-finite number).
unitless by name
Required / declared member
No @default declared; consult the signature and description.
explain(input)
ArrayLike<number>

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

unitless by name
Optional
No @default declared; consult the signature and description.
explain(parameters).period
number

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

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

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

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

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

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

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

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

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

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

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

unitless by name
Optional
No @default declared; consult the signature and description.
stream(parameters).period
number

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

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

function

ebsw

Even Better Sinewave (pandas-ta `ebsw`), bounded roughly to [-1, 1]. Matches pandas-ta **including its degree/radian translation defect** — it is not Ehlers's published filter (see `EbswStream` and `docs/compatibility/talib-differences.md`).

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

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

unitless by name
Optional
No @default declared; consult the signature and description.
(parameters).bars
number
Low-pass filtering period. Default 10.
unitless by name
Optional
No @default declared; consult the signature and description.
(parameters).period
number
Max cycle/trend period. pandas-ta enforces a practical minimum of 39. Default 40.
unitless by name
Optional
No @default declared; consult the signature and description.
explain
(input: ArrayLike<number>, parameters?: EbswParameters | undefined) => import('@insiderfinance/totalfinance/technical-analysis').TechnicalAnalysisExplain<number>

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

unitless by name
Required / declared member
No @default declared; consult the signature and description.
explain().return.diagnostics.autoReason
string
When a meta-engine (e.g. `engines.auto()`) selected a delegate, this is a one-sentence, human-readable explanation of WHY that delegate was chosen (`engine` then names the delegate). Absent when no auto-selection took place.
unitless by name
Optional
No @default declared; consult the signature and description.
explain().return.diagnostics.converged
boolean
Whether an iterative procedure converged. `false` means the value is not trustworthy.
unitless by name
Optional
No @default declared; consult the signature and description.
explain().return.diagnostics.decomposition
Record<string, number>
Named intermediate quantities the value decomposes into — a par spread's protection leg and risky annuity, a forward variance's near/far legs. The H-series explain paths disclose their arithmetic here so a caller can audit the ratio, not just receive it (3B.3).
unitless by name
Optional
No @default declared; consult the signature and description.
explain().return.diagnostics.engine
string
Pricing/solver engine name, e.g. `black-scholes-merton`.
unitless by name
Optional
No @default declared; consult the signature and description.
explain().return.diagnostics.finiteDifferenceBumps
Record<string, number>
Finite-difference engines: the ACTUAL bump sizes used for FD Greeks (spec P2.3) — adaptive near the vol/time boundaries, so the caller can see exactly what was differenced. Keys: `spotStep`, `volatilityStep`, `timeStepYears`, `rateStep`, and — extended Greeks only — `dividendYieldStep`. Each is the actual step differenced, in the unit of the coordinate it bumps. (This doc named the retired `hS`/`hSig`/`hT`/`hR`/`hQ` keys for one release after the emit sites had moved to the semantic names, so a caller following it read `undefined`.)
unitless by name
Optional
No @default declared; consult the signature and description.
explain().return.diagnostics.iterations
number
Iteration count for iterative methods.
unitless by name
Optional
No @default declared; consult the signature and description.
explain().return.diagnostics.method
string
Numerical method, e.g. `closed-form`, `brent`, `finite-difference`.
unitless by name
Optional
No @default declared; consult the signature and description.
explain().return.diagnostics.selection
import('@insiderfinance/totalfinance/core/pricing').SelectionReport
The structured engine-selection report (Gate C, `@insiderfinance/totalfinance/core/pricing`): who was selected, why, and — for automatic selection — every candidate considered with its verdict. This is the machine-readable superset of `engine` + `autoReason` (which remain for compatibility); `selected.name` always agrees with `engine` when both are present.
unitless by name
Optional
No @default declared; consult the signature and description.
explain().return.diagnostics.timingMs
number
Wall-clock timing in milliseconds, when measured.
milliseconds
Optional
No @default declared; consult the signature and description.
explain().return.diagnostics.warmup
number
Series facades: number of leading output slots that are warmup sentinels (null/NaN) while the computation seeds. Equals the input length when the indicator never emitted.
unitless by name
Optional
No @default declared; consult the signature and description.
explain().return.diagnostics.warnings
import('@insiderfinance/totalfinance/core').QuantWarning[]
Structured warnings; always present (possibly empty).
unitless by name
Required / declared member
No @default declared; consult the signature and description.
explain().return.provenance
import('@insiderfinance/totalfinance/core').Provenance
Optional data lineage when the inputs came from a provider.
unitless by name
Optional
No @default declared; consult the signature and description.
explain().return.value
number[]
The computed value. Never `NaN` or `±Infinity`: a value the model cannot produce is `null` beside a diagnostic that says why (Law 7 — a warning never licenses a non-finite number).
unitless by name
Required / declared member
No @default declared; consult the signature and description.
explain(input)
ArrayLike<number>

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

unitless by name
Optional
No @default declared; consult the signature and description.
explain(parameters).bars
number
Low-pass filtering period. Default 10.
unitless by name
Optional
No @default declared; consult the signature and description.
explain(parameters).period
number
Max cycle/trend period. pandas-ta enforces a practical minimum of 39. Default 40.
unitless by name
Optional
No @default declared; consult the signature and description.
fromJSON
(snapshot: TechnicalAnalysisSnapshot) => import('@insiderfinance/totalfinance/technical-analysis').LiveStream<number, number>

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

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

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

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

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

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

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

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

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

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

unitless by name
Optional
No @default declared; consult the signature and description.
stream(parameters).bars
number
Low-pass filtering period. Default 10.
unitless by name
Optional
No @default declared; consult the signature and description.
stream(parameters).period
number
Max cycle/trend period. pandas-ta enforces a practical minimum of 39. Default 40.
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

htDcPeriod

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

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

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

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

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

unitless by name
Required / declared member
No @default declared; consult the signature and description.
explain().return.diagnostics.autoReason
string
When a meta-engine (e.g. `engines.auto()`) selected a delegate, this is a one-sentence, human-readable explanation of WHY that delegate was chosen (`engine` then names the delegate). Absent when no auto-selection took place.
unitless by name
Optional
No @default declared; consult the signature and description.
explain().return.diagnostics.converged
boolean
Whether an iterative procedure converged. `false` means the value is not trustworthy.
unitless by name
Optional
No @default declared; consult the signature and description.
explain().return.diagnostics.decomposition
Record<string, number>
Named intermediate quantities the value decomposes into — a par spread's protection leg and risky annuity, a forward variance's near/far legs. The H-series explain paths disclose their arithmetic here so a caller can audit the ratio, not just receive it (3B.3).
unitless by name
Optional
No @default declared; consult the signature and description.
explain().return.diagnostics.engine
string
Pricing/solver engine name, e.g. `black-scholes-merton`.
unitless by name
Optional
No @default declared; consult the signature and description.
explain().return.diagnostics.finiteDifferenceBumps
Record<string, number>
Finite-difference engines: the ACTUAL bump sizes used for FD Greeks (spec P2.3) — adaptive near the vol/time boundaries, so the caller can see exactly what was differenced. Keys: `spotStep`, `volatilityStep`, `timeStepYears`, `rateStep`, and — extended Greeks only — `dividendYieldStep`. Each is the actual step differenced, in the unit of the coordinate it bumps. (This doc named the retired `hS`/`hSig`/`hT`/`hR`/`hQ` keys for one release after the emit sites had moved to the semantic names, so a caller following it read `undefined`.)
unitless by name
Optional
No @default declared; consult the signature and description.
explain().return.diagnostics.iterations
number
Iteration count for iterative methods.
unitless by name
Optional
No @default declared; consult the signature and description.
explain().return.diagnostics.method
string
Numerical method, e.g. `closed-form`, `brent`, `finite-difference`.
unitless by name
Optional
No @default declared; consult the signature and description.
explain().return.diagnostics.selection
import('@insiderfinance/totalfinance/core/pricing').SelectionReport
The structured engine-selection report (Gate C, `@insiderfinance/totalfinance/core/pricing`): who was selected, why, and — for automatic selection — every candidate considered with its verdict. This is the machine-readable superset of `engine` + `autoReason` (which remain for compatibility); `selected.name` always agrees with `engine` when both are present.
unitless by name
Optional
No @default declared; consult the signature and description.
explain().return.diagnostics.timingMs
number
Wall-clock timing in milliseconds, when measured.
milliseconds
Optional
No @default declared; consult the signature and description.
explain().return.diagnostics.warmup
number
Series facades: number of leading output slots that are warmup sentinels (null/NaN) while the computation seeds. Equals the input length when the indicator never emitted.
unitless by name
Optional
No @default declared; consult the signature and description.
explain().return.diagnostics.warnings
import('@insiderfinance/totalfinance/core').QuantWarning[]
Structured warnings; always present (possibly empty).
unitless by name
Required / declared member
No @default declared; consult the signature and description.
explain().return.provenance
import('@insiderfinance/totalfinance/core').Provenance
Optional data lineage when the inputs came from a provider.
unitless by name
Optional
No @default declared; consult the signature and description.
explain().return.value
number[]
The computed value. Never `NaN` or `±Infinity`: a value the model cannot produce is `null` beside a diagnostic that says why (Law 7 — a warning never licenses a non-finite number).
unitless by name
Required / declared member
No @default declared; consult the signature and description.
explain(input)
ArrayLike<number>

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

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

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

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

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

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

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

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

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

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

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

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

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

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

function

htDcPhase

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

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

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

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

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

unitless by name
Required / declared member
No @default declared; consult the signature and description.
explain().return.diagnostics.autoReason
string
When a meta-engine (e.g. `engines.auto()`) selected a delegate, this is a one-sentence, human-readable explanation of WHY that delegate was chosen (`engine` then names the delegate). Absent when no auto-selection took place.
unitless by name
Optional
No @default declared; consult the signature and description.
explain().return.diagnostics.converged
boolean
Whether an iterative procedure converged. `false` means the value is not trustworthy.
unitless by name
Optional
No @default declared; consult the signature and description.
explain().return.diagnostics.decomposition
Record<string, number>
Named intermediate quantities the value decomposes into — a par spread's protection leg and risky annuity, a forward variance's near/far legs. The H-series explain paths disclose their arithmetic here so a caller can audit the ratio, not just receive it (3B.3).
unitless by name
Optional
No @default declared; consult the signature and description.
explain().return.diagnostics.engine
string
Pricing/solver engine name, e.g. `black-scholes-merton`.
unitless by name
Optional
No @default declared; consult the signature and description.
explain().return.diagnostics.finiteDifferenceBumps
Record<string, number>
Finite-difference engines: the ACTUAL bump sizes used for FD Greeks (spec P2.3) — adaptive near the vol/time boundaries, so the caller can see exactly what was differenced. Keys: `spotStep`, `volatilityStep`, `timeStepYears`, `rateStep`, and — extended Greeks only — `dividendYieldStep`. Each is the actual step differenced, in the unit of the coordinate it bumps. (This doc named the retired `hS`/`hSig`/`hT`/`hR`/`hQ` keys for one release after the emit sites had moved to the semantic names, so a caller following it read `undefined`.)
unitless by name
Optional
No @default declared; consult the signature and description.
explain().return.diagnostics.iterations
number
Iteration count for iterative methods.
unitless by name
Optional
No @default declared; consult the signature and description.
explain().return.diagnostics.method
string
Numerical method, e.g. `closed-form`, `brent`, `finite-difference`.
unitless by name
Optional
No @default declared; consult the signature and description.
explain().return.diagnostics.selection
import('@insiderfinance/totalfinance/core/pricing').SelectionReport
The structured engine-selection report (Gate C, `@insiderfinance/totalfinance/core/pricing`): who was selected, why, and — for automatic selection — every candidate considered with its verdict. This is the machine-readable superset of `engine` + `autoReason` (which remain for compatibility); `selected.name` always agrees with `engine` when both are present.
unitless by name
Optional
No @default declared; consult the signature and description.
explain().return.diagnostics.timingMs
number
Wall-clock timing in milliseconds, when measured.
milliseconds
Optional
No @default declared; consult the signature and description.
explain().return.diagnostics.warmup
number
Series facades: number of leading output slots that are warmup sentinels (null/NaN) while the computation seeds. Equals the input length when the indicator never emitted.
unitless by name
Optional
No @default declared; consult the signature and description.
explain().return.diagnostics.warnings
import('@insiderfinance/totalfinance/core').QuantWarning[]
Structured warnings; always present (possibly empty).
unitless by name
Required / declared member
No @default declared; consult the signature and description.
explain().return.provenance
import('@insiderfinance/totalfinance/core').Provenance
Optional data lineage when the inputs came from a provider.
unitless by name
Optional
No @default declared; consult the signature and description.
explain().return.value
number[]
The computed value. Never `NaN` or `±Infinity`: a value the model cannot produce is `null` beside a diagnostic that says why (Law 7 — a warning never licenses a non-finite number).
unitless by name
Required / declared member
No @default declared; consult the signature and description.
explain(input)
ArrayLike<number>

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

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

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

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

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

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

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

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

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

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

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

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

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

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

function

htPhasor

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

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

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

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

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
PhasorPoint[]
The computed value. Never `NaN` or `±Infinity`: a value the model cannot produce is `null` beside a diagnostic that says why (Law 7 — a warning never licenses a non-finite number).
unitless by name
Required / declared member
No @default declared; consult the signature and description.
explain(input)
ArrayLike<number>

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

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

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

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

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

unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON().return.value.quadrature
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<number, PhasorPoint>

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

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

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

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

htSine

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

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

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

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

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
SinePoint[]
The computed value. Never `NaN` or `±Infinity`: a value the model cannot produce is `null` beside a diagnostic that says why (Law 7 — a warning never licenses a non-finite number).
unitless by name
Required / declared member
No @default declared; consult the signature and description.
explain(input)
ArrayLike<number>

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

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

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

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

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

unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON().return.value.sine
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<number, SinePoint>

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

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

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

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

htTrendMode

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

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

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

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

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

unitless by name
Required / declared member
No @default declared; consult the signature and description.
explain().return.diagnostics.autoReason
string
When a meta-engine (e.g. `engines.auto()`) selected a delegate, this is a one-sentence, human-readable explanation of WHY that delegate was chosen (`engine` then names the delegate). Absent when no auto-selection took place.
unitless by name
Optional
No @default declared; consult the signature and description.
explain().return.diagnostics.converged
boolean
Whether an iterative procedure converged. `false` means the value is not trustworthy.
unitless by name
Optional
No @default declared; consult the signature and description.
explain().return.diagnostics.decomposition
Record<string, number>
Named intermediate quantities the value decomposes into — a par spread's protection leg and risky annuity, a forward variance's near/far legs. The H-series explain paths disclose their arithmetic here so a caller can audit the ratio, not just receive it (3B.3).
unitless by name
Optional
No @default declared; consult the signature and description.
explain().return.diagnostics.engine
string
Pricing/solver engine name, e.g. `black-scholes-merton`.
unitless by name
Optional
No @default declared; consult the signature and description.
explain().return.diagnostics.finiteDifferenceBumps
Record<string, number>
Finite-difference engines: the ACTUAL bump sizes used for FD Greeks (spec P2.3) — adaptive near the vol/time boundaries, so the caller can see exactly what was differenced. Keys: `spotStep`, `volatilityStep`, `timeStepYears`, `rateStep`, and — extended Greeks only — `dividendYieldStep`. Each is the actual step differenced, in the unit of the coordinate it bumps. (This doc named the retired `hS`/`hSig`/`hT`/`hR`/`hQ` keys for one release after the emit sites had moved to the semantic names, so a caller following it read `undefined`.)
unitless by name
Optional
No @default declared; consult the signature and description.
explain().return.diagnostics.iterations
number
Iteration count for iterative methods.
unitless by name
Optional
No @default declared; consult the signature and description.
explain().return.diagnostics.method
string
Numerical method, e.g. `closed-form`, `brent`, `finite-difference`.
unitless by name
Optional
No @default declared; consult the signature and description.
explain().return.diagnostics.selection
import('@insiderfinance/totalfinance/core/pricing').SelectionReport
The structured engine-selection report (Gate C, `@insiderfinance/totalfinance/core/pricing`): who was selected, why, and — for automatic selection — every candidate considered with its verdict. This is the machine-readable superset of `engine` + `autoReason` (which remain for compatibility); `selected.name` always agrees with `engine` when both are present.
unitless by name
Optional
No @default declared; consult the signature and description.
explain().return.diagnostics.timingMs
number
Wall-clock timing in milliseconds, when measured.
milliseconds
Optional
No @default declared; consult the signature and description.
explain().return.diagnostics.warmup
number
Series facades: number of leading output slots that are warmup sentinels (null/NaN) while the computation seeds. Equals the input length when the indicator never emitted.
unitless by name
Optional
No @default declared; consult the signature and description.
explain().return.diagnostics.warnings
import('@insiderfinance/totalfinance/core').QuantWarning[]
Structured warnings; always present (possibly empty).
unitless by name
Required / declared member
No @default declared; consult the signature and description.
explain().return.provenance
import('@insiderfinance/totalfinance/core').Provenance
Optional data lineage when the inputs came from a provider.
unitless by name
Optional
No @default declared; consult the signature and description.
explain().return.value
number[]
The computed value. Never `NaN` or `±Infinity`: a value the model cannot produce is `null` beside a diagnostic that says why (Law 7 — a warning never licenses a non-finite number).
unitless by name
Required / declared member
No @default declared; consult the signature and description.
explain(input)
ArrayLike<number>

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

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

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

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

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

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

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

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

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

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

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

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

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

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