The finance developer workbenchSearch the reference Development · 0.1.4 · unpublished

Public API / @insiderfinance/totalfinance

@insiderfinance/totalfinance/technical-analysis/macd

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

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

Jump to an export (4)

MacdParameters · MacdPoint · MacdStream · macd

interface

MacdParameters

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

export interface MacdParameters {
    fast?: number;
    slow?: number;
    signal?: number;
}
Fields, parameters & returned members (3)
Name / typeMeaning & unitOptional / default
fast
number

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

unitless by name
Optional
No @default declared; consult the signature and description.
slow
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

MacdPoint

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

export interface MacdPoint {
    macd: number;
    signal: number;
    histogram: number;
}
Fields, parameters & returned members (3)
Name / typeMeaning & unitOptional / default
histogram
number

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

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

MacdStream

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

export declare class MacdStream implements IndicatorStream<number, MacdPoint> {
  constructor(parameters: { fast: number; slow: number; signal: number; });
  static fromJSON(snapshot: TechnicalAnalysisSnapshot): MacdStream;
  value: MacdPoint | null;
  next(value: number): MacdPoint | null;
  toJSON(): TechnicalAnalysisSnapshot;
}
Fields, parameters & returned members (34)
Name / typeMeaning & unitOptional / default
(parameters)
{ fast: number; slow: number; signal: number; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

macd

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

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

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

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

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

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

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

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
MacdPoint[]
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)
MacdParameters | undefined

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

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

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

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

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

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

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

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

unitless by name
Required / declared member
No @default declared; consult the signature and description.
fromJSON().return.value.signal
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?: MacdParameters | undefined) => import('@insiderfinance/totalfinance/technical-analysis').LiveStream<number, MacdPoint>

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

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

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

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

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

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

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

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

unitless by name
Optional
No @default declared; consult the signature and description.
stream(parameters).slow
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.