# Financial series

Import rendering from `@pibbl/core/viz` and optional queries from
`@pibbl/core/viz/inspection`. VolumeSeries places numeric UTC-millisecond records
on a time scale with an independent numeric volume scale. It does not sort,
aggregate, mutate records, infer sessions, or execute queries during rendering.

```tsx
import {
  BaselineSeries,
  LinearScale,
  UTCScale,
  VolumeSeries,
  bollingerBands,
  movingAverageConvergenceDivergence,
  padLinearDomain,
  percentageReturns,
  relativeStrengthIndex,
  stochasticOscillator,
  visibleOhlcPriceExtent,
} from "@pibbl/core/viz";

const baseTime = Date.UTC(2026, 0, 2, 16);
const prices = [
  { time: baseTime, close: 100 },
  { time: baseTime + 86_400_000, close: 104 },
  { time: baseTime + 2 * 86_400_000, close: 102 },
] as const;
const bars = [
  { time: baseTime, open: 99, high: 103, low: 98, close: 100 },
  { time: baseTime + 86_400_000, open: 100, high: 106, low: 99, close: 104 },
  {
    time: baseTime + 2 * 86_400_000,
    open: 104,
    high: 105,
    low: 101,
    close: 102,
  },
] as const;
const candles = bars;
const trading = {
  logicalRange: [0, 2] as const,
  slotAtTime(time: number): number | undefined {
    const slot = bars.findIndex((bar) => bar.time === time);
    return slot < 0 ? undefined : slot;
  },
};
const entryPrice = 101;

function Volumes() {
  return (
    <UTCScale id="time" domain={[1000, 2000]} range={[20, 180]}>
      <LinearScale id="volume" domain={[0, 100]} range={[100, 20]}>
        <VolumeSeries
          data={[
            { time: 1000, volume: 20 },
            { time: 2000, volume: 60 },
          ]}
          time="time"
          volume="volume"
          xScale="time"
          yScale="volume"
          style={{ width: 12, fill: "#087f8c" }}
        />
      </LinearScale>
    </UTCScale>
  );
}
```

The baseline is zero. Zero-volume rows remain inspectable but paint no rectangle.
Missing/nonfinite accessor values skip a row; finite negative volume rejects.
`defined` runs before accessors. Every result preserves the original datum and
source index, including indices before skipped rows. Style callbacks are plain,
hook-free functions. `style.width` is positive local logical units; default width
is 70% of the smallest positive adjacent mapped spacing, capped at 12 (singleton
fallback 8). Colors are application policy, not an implied financial meaning.
Adjacent equal styles share paint paths; no child component is created per row.

## Optional inspection

`useVolumeInspection(inputs)` infers datum types from data/time/volume without
reading or subscribing to them. Pass its stable ref to one VolumeSeries's
`inspection`. `rendered()` returns the last committed generation or undefined
before paint/after disposal. Borrowed values expire on the next root generation
or disposal, using the same ownership, transforms and clips as other inspection.

`nearestRecordedVolumeX(rendered, { time, filter? })` returns a `NearestVolumeHit`
or undefined. `time` and `timeDelta` use UTC milliseconds. Ties choose first
source index. Default eligibility includes observations outside clips; opt in
with `filter: candidate => candidate.anchorInsideClips()` to test the volume
endpoint. Filters receive captured values and the caller-owned original record.

`paintedVolumeAt(rendered, { rootPoint })` returns a `PaintedVolumeHit` or undefined.
It inverse-transforms root-logical coordinates, applies committed clips and
examines fill/stroke coverage in reverse source order. Zero-height columns,
transparent opacity, gaps and singular transforms return no result. Geometric
coverage does not perform scene-wide occlusion or pixel-alpha analysis.

Both hits contain `datum`, `sourceIndex`, `time`, `volume`, `baseline: 0`,
`anchorLocal`, `anchorRoot`, and `boundsLocal`. Bounds and local anchors are in
series-local logical units; root anchors use Pibbl event coordinates. Calculated
values are copied at paint; original datum objects remain application-owned.
`timeAtRoot(rootPoint)` supplies the committed inverse mapping.

Use the existing `withInspection` adapter when event-local pinning and memoized
requests are useful. Ordinary events are unchanged and no query executes until
requested. Copy values into application state if they must outlive the borrowed
generation. See [rendered series inspection](/reference/functions/rendered-series-inspection/).

## Trading time

`TradingTimeScale` accepts `timestamps`, optional controlled `logicalRange`, and
`range`. Timestamps are safe UTC-millisecond integers, strictly increasing and
unique. They occupy consecutive logical slots even across absent observations.
This compresses observations, without exchange-calendar inference. UTCScale
continues to map elapsed time. Default viewport is half a slot before/after the
supplied observations; empty/singleton viewports are finite.

`useTradingTimeScale(id)` supplies explicit operations: `map(time)` accepts only
a supplied timestamp and rejects unknown values; `mapSlot(slot)` maps fractional
slots/whitespace; `slotAtTime(time)` and `timeAtSlot(slot)` are exact lookups with
undefined misses. `slotAtPosition(position)` returns a fractional logical slot;
`nearestTimeAtPosition(position)` selects supplied UTC timestamps, ties earlier,
clamped to supplied endpoints, undefined for empty data. There is no ambiguous
UTC interpolation or overloaded inverse method.

Axis ticks choose visible supplied timestamps; formatting is ISO UTC by default.
Line, point, area, interval-band, custom Plot and ScaleAdjust use the same exact
map. The public continuous-scale hook and numeric navigation contracts are
unchanged; trading has a dedicated hook. Pan/zoom by updating logicalRange in slot
units, rather than changing timestamps. When prepending history, preserve the
application's chosen timestamp anchor by adding the inserted observation count
to both controlled logical endpoints. No hidden viewport state is retained.

Legacy `HoverData` uses numeric continuous scales and does not accept a trading-time
mapping. Use the optional captured inspection APIs and explicit `timeAtRoot` lookup
for supplied trading observations.

## Visible price domains

`visibleOhlcPriceExtent(data, options)` returns frozen ascending `[low, high]`
endpoints from complete candles whose `positionAtTime(time)` lies inside the
inclusive `visibleRange`. The callback makes the coordinate system explicit:
use UTC milliseconds for elapsed-time windows, or `slotAtTime` and
`logicalRange` for trading time. Fractional slot windows include only contained
candle centers; partly painted wicks do not change the selection. An undefined
position excludes a row. No records are sorted, mutated, or interpolated.

Missing or nonfinite time/OHLC values skip the whole row. `defined` runs before
any accessor. A finite malformed eligible candle rejects when `low` is above an
open/close or `high` is below one. An empty visible selection returns `undefined`.

```ts
const extent = visibleOhlcPriceExtent(bars, {
  time: "time",
  open: "open",
  high: "high",
  low: "low",
  close: "close",
  positionAtTime: (time) => trading.slotAtTime(time),
  visibleRange: trading.logicalRange,
});
const domain = extent
  ? padLinearDomain(extent, { padding: 0.08, minimumSpan: 0.02 })
  : undefined;
```

`padLinearDomain(domain, { padding, minimumSpan })` applies equal padding on
both sides, defaults to 10% per side, and preserves input direction. It expands
flat domains before padding using `minimumSpan`, or
`max(abs(value) * 0.02, 1)` when no floor is supplied. Inputs and the result
must be finite; the returned frozen endpoints are always distinct. Keep manual
domains as ordinary application state. For logarithmic presentation, first
confirm every visible low is positive, pad the logged domain, and exponentiate;
these helpers do not select a scale mode.

## Fixed-base comparison

`percentageReturns(data, { time, value, baseTime, defined? })` computes cumulative
simple return from an exact common base observation: `(value - base) / base * 100`.
This is change from the base, not the return between adjacent observations.
`indexTo100` accepts the same named inputs and computes `value / base * 100`.
The base maps exactly to 0 or 100; observations are never rounded.

```ts
const comparison = percentageReturns(prices, {
  time: "time",
  value: "close",
  baseTime: Date.UTC(2026, 0, 2, 16),
});
if (comparison) {
  // LineSeries: x="time", y="returnPercent". Use the same baseTime for every asset.
}
```

The result is a frozen source-ordered array of frozen points containing the original
`datum`, `sourceIndex`, `time`, and `returnPercent` or `indexValue`. Datum references
remain caller owned. Missing/nonfinite coordinates or values produce null gaps.
`defined` runs before accessors and excluded rows become gaps. Known missing
observations must be explicit null-value rows; these helpers do not infer a calendar.

`baseTime` must be a safe integer UTC millisecond within the platform Date range.
An absent eligible complete exact base returns `undefined`; render an unavailable
asset status. Multiple eligible complete base records, a nonpositive base price,
or a nonfinite derived result throw. Later finite negative prices remain actual
observations. No nearest-date fallback, per-asset rebasing, sorting or mutation
occurs. Changing the viewport does not change the base.

For percentage labels use `formatNumber(value, { suffix: "%" })`: these values
already express percentage points. An Intl percent formatter would multiply them
by 100 again. Formatting belongs to presentation and uses `Intl.NumberFormat`.

## Consecutive-window indicators

`simpleMovingAverage(data, { value, period, defined? })` and
`exponentialMovingAverage(data, { value, period, defined? })` return frozen,
source-aligned `MovingAveragePoint` rows with `datum`, `sourceIndex`, and
`average`. `period` is a positive safe integer. A result stays `null` until the
window contains `period` consecutive eligible finite values. Missing, nonfinite,
and excluded rows return `null` and reset warmup; `defined` runs before `value`.

SMA uses the trailing arithmetic mean. EMA seeds with that first complete SMA and
then uses `2 / (period + 1)` as its smoothing factor. These helpers do not fill
gaps, choose dates, sort data, or mutate source rows.

`bollingerBands(data, { value, period, multiplier?, defined? })` uses the same
consecutive windows and returns frozen `BollingerBandPoint` rows with `mean`,
`lower`, and `upper`. It uses population standard deviation and a finite
non-negative `multiplier`, defaulting to `2`. A band result is null during warmup
or after a reset. Derived nonfinite values reject rather than silently clip.

```ts
const bands = bollingerBands(prices, {
  value: "close",
  period: 20,
  multiplier: 2,
});
// LineSeries: y="mean", y="lower", or y="upper".
```

## Oscillators

`relativeStrengthIndex(data, { value, period, defined? })` returns frozen,
source-aligned `RelativeStrengthIndexPoint` rows. Wilder smoothing seeds after
`period` consecutive price changes, so the first value needs `period + 1`
consecutive prices. Flat gains and losses yield `50`; gain-only and loss-only
windows yield `100` and `0`. Gaps reset the seed.

`movingAverageConvergenceDivergence(data, { value, fastPeriod, slowPeriod,
signalPeriod, defined? })` returns aligned `macd`, `signal`, and `histogram`
fields. The fast period must be smaller than the slow period. Both price EMAs
use SMA seeds; MACD appears once both are available, while the signal and
histogram wait for `signalPeriod` MACD values.

`stochasticOscillator(data, { high, low, close, lookbackPeriod, kPeriod,
dPeriod, defined? })` returns `rawK`, smoothed `k`, and `d` fields. All periods
are positive safe integers. Every finite candle must satisfy `low <= close <= high`.
A zero trailing range returns null and resets only %K/%D smoothing, preserving
the complete OHLC row in the rolling range. Missing, nonfinite, and excluded
records reset warmup in every oscillator; accessors run only after `defined`.

```ts
const rsi = relativeStrengthIndex(prices, { value: "close", period: 14 });
const macd = movingAverageConvergenceDivergence(prices, {
  value: "close",
  fastPeriod: 12,
  slowPeriod: 26,
  signalPeriod: 9,
});
const stochastic = stochasticOscillator(candles, {
  high: "high",
  low: "low",
  close: "close",
  lookbackPeriod: 14,
  kPeriod: 3,
  dPeriod: 3,
});
```

## Candle painting

`CandlestickSeries` accepts original `data`, named `time/open/high/low/close`
accessors, xScale/yScale IDs, `defined`, named `style.body`/`style.wick`, and optional
inspection. Missing/nonfinite fields skip the whole candle. Finite malformed OHLC
rejects with its source index: low must be <= both open/close and high >= both.
Equal open/close paints a centered one-local-unit doji. Body `bandwidth` defaults
to automatic 70% spacing capped at 12, with singleton fallback 8; explicit widths
are positive local units. Body and wick paint are independent. Defaults use teal
for close >= open and coral otherwise; the application may supply its own policy.
Disjoint adjacent equal styles share paths; overlapping records keep sequential
paint, including translucent fills and strokes.

`useCandleInspection(inputs)` owns the same optional capture foundation as volume.
`nearestRecordedCandleX(rendered, { time, filter? })` selects original OHLC (never
interpolates it), adds `timeDelta`, and breaks ties by first source index.
`paintedCandleAt(rendered, { rootPoint })` respects transforms/clips, returns the
last matching source candle and `part: "body" | "wick"`, and tests the body before
its underlying wick. Results preserve captured time/open/high/low/close, original
datum/sourceIndex, close endpoint anchors and body/wick local geometry. Empty
queries return undefined; stale generations throw. The optional typed filter
exposes `anchorInsideClips()` for explicit close-endpoint eligibility.

## OHLC bars

`OhlcBarSeries` accepts the same original `data`, `time/open/high/low/close`,
scales, `defined`, event, pointer, and inspection inputs as `CandlestickSeries`.
It paints a high/low stem, a left-facing open tick, and a right-facing close tick.
Its shared style accepts `bandwidth`, `stroke`, `strokeWidth`, `opacity`, and
`cursor`; a callback receives the original datum, source index, and complete data.
Missing/nonfinite values skip the complete bar and finite malformed OHLC rejects.

`useOhlcBarInspection(inputs)` captures original data and evaluated OHLC values.
`nearestRecordedOhlcBarX(rendered, { time, filter? })` returns the nearest original
bar with `timeDelta`. `paintedOhlcBarAt(rendered, { rootPoint })` respects committed
transforms and clips and returns `part: "stem" | "openTick" | "closeTick"` for the
last painted matching segment. Results retain original datum/sourceIndex, close
anchors, and frozen local stem/open/close tick geometry; stale generations throw.

## Entry-price baseline series

`BaselineSeries` draws linear connections with independently colored lines and
filled regions above and below an explicit finite data-space `baseline`. It uses
`data`, `x`, `y`, `xScale`, `yScale`, `defined`, and optional numeric `inspection`.
`baseline` and data can be signals. Missing/nonfinite observations split runs;
synthetic crossing geometry never becomes an inspection observation.

`style.above` and `style.below` accept `fill` and `stroke` paints.
`fillOpacity` defaults to `0.2` and affects only fills; `strokeWidth` defaults to
`2`. Equal values use the above stroke and have no area. Linear interpolation is
explicit; there is no curve-selection option in this initial component.

```tsx
<BaselineSeries
  data={prices}
  x="time"
  y="close"
  xScale="time"
  yScale="price"
  baseline={entryPrice}
  style={{
    above: { fill: "#29c7ab", stroke: "#00876e" },
    below: { fill: "#ed6975", stroke: "#cb4057" },
    fillOpacity: 0.22,
    strokeWidth: 1.5,
  }}
/>
```

Financial event markers compose existing `PlotSeries` with application-owned
keyed glyphs, labels and focusable hit regions. The application owns fill
selection, coincident-event ordering and clipping policy. Execution Journal
shows this composition with simulated buy/sell fills and a selectable entry
baseline; it does not add a public marker component.

## OHLCV aggregation and session VWAP

`aggregateOhlcv(data, options)` preserves chronological source order and combines
complete records within explicit half-open `{ start, end }` buckets. Accessors
supply `time`, `open`, `high`, `low`, `close`, and `volume`; `bucket(time)` supplies
bounds or `null` to exclude a timestamp. `defined` excludes before accessors run.
First open, maximum high, minimum low, last close and summed volume form each
frozen `AggregatedOhlcvPoint`. Frozen `sources` retain original datum/index pairs.
It creates no empty buckets and does not determine whether a bucket is final.
Missing inputs skip; descending finite times, inconsistent/overlapping bounds,
malformed finite OHLC, negative volume and volume overflow reject. Source records
remain caller-owned and are not frozen or mutated.

`sessionVwap(data, { price, volume, session, defined? })` returns one frozen point
per original record. Session IDs are strings or finite numbers supplied by a
property or callback. Every session change resets accumulation, including an
excluded first observation. Session resolves before `defined`; excluded rows skip
price and volume accessors, report their session and produce null VWAP. Missing
price/volume also produces null while preserving that session's prior state.
Zero volume preserves prior VWAP, or null before the first positive volume.
Negative volume and cumulative volume overflow reject. Weighted price arithmetic
avoids intermediate price-times-volume overflow. Results include original datum,
sourceIndex, session, cumulativeVolume and vwap. The function does not infer a
calendar, reorder data or deduplicate observations.

Trade price and quantity produce trade-based VWAP. Typical bar price
`(high + low + close) / 3` and bar volume produce an approximation; the caller must
label that choice. Derive VWAP from the full source session before slicing the
view or aggregating the display timeframe to preserve a consistent study.

Live updates use ordinary signals: replace the current immutable record or append
a new record and publish the new array. The application owns feed lifetime,
retention, follow-latest policy and historical inspection. Existing chart and
animation APIs continue to own rendering and navigation.

## API details from source

<span id="api-useVolumeInspection"></span>

### useVolumeInspection

Creates a stable optional volume receiver without reading data or subscribing.

```ts
useVolumeInspection: <D>(_inputs: Pick<VolumeSeriesProps<D>, "data" | "time" | "volume">) => VolumeInspectionRef<D>
```

Related API: [useVolumeInspection](/reference/functions/financial-series/), [VolumeSeriesProps](/reference/functions/financial-series/), [VolumeInspectionRef](/reference/functions/financial-series/).

#### Parameters

- **`_inputs`** — Data/accessors used only for original datum inference.

#### Returns

Ref to pass to exactly one VolumeSeries inspection prop.

#### See also

[VolumeInspectionRef](/reference/functions/financial-series/)

[View source — packages/core/src/features/viz/inspection/volume.ts:97](/source/packages/core/src/features/viz/inspection/volume-ts/#L97)

<span id="api-nearestRecordedVolumeX"></span>

### nearestRecordedVolumeX

Selects a recorded volume by timestamp; equal distances choose first source index.

```ts
nearestRecordedVolumeX: <D>(rendered: VolumeRenderedSeries<D>, options: { time: number; filter?: (observation: VolumeInspectionCandidate<D>) => boolean; }) => NearestVolumeHit<D> | undefined
```

Related API: [nearestRecordedVolumeX](/reference/functions/financial-series/), [VolumeRenderedSeries](/reference/functions/financial-series/), [VolumeInspectionCandidate](/reference/functions/financial-series/), [NearestVolumeHit](/reference/functions/financial-series/).

#### Parameters

- **`rendered`** — Borrowed committed volume values.

- **`options`** — UTC-millisecond request and optional pure candidate filter.

#### Returns

Captured original volume and time delta, or undefined when no candidate survives.

#### See also

[NearestVolumeHit](/reference/functions/financial-series/)

[View source — packages/core/src/features/viz/inspection/volume.ts:171](/source/packages/core/src/features/viz/inspection/volume-ts/#L171)

<span id="api-paintedVolumeAt"></span>

### paintedVolumeAt

Finds the last-painted volume column covering a root-logical point.

```ts
paintedVolumeAt: <D>(rendered: VolumeRenderedSeries<D>, options: { rootPoint: Readonly<RenderedSeriesPoint>; }) => PaintedVolumeHit<D> | undefined
```

Related API: [paintedVolumeAt](/reference/functions/financial-series/), [VolumeRenderedSeries](/reference/functions/financial-series/), [RenderedSeriesPoint](/reference/functions/rendered-series-inspection/), [PaintedVolumeHit](/reference/functions/financial-series/).

#### Parameters

- **`rendered`** — Borrowed committed volume values and paint geometry.

- **`options`** — Root-logical point; respects clips, zero height and source paint order.

#### Returns

Captured original volume, or undefined for gaps/singular transforms.

#### See also

[PaintedVolumeHit](/reference/functions/financial-series/)

[View source — packages/core/src/features/viz/inspection/volume.ts:200](/source/packages/core/src/features/viz/inspection/volume-ts/#L200)

<span id="api-VolumeObservation"></span>

### VolumeObservation

One original volume record and the values/geometry evaluated during paint.

```ts
interface VolumeObservation<D>
```

Related API: [VolumeObservation](/reference/functions/financial-series/).

#### See also

[useVolumeInspection](/reference/functions/financial-series/)

[View source — packages/core/src/features/viz/inspection/volume.ts:18](/source/packages/core/src/features/viz/inspection/volume-ts/#L18)

#### Properties and methods

<span id="api-VolumeObservation-datum"></span>
<details>
<summary>datum</summary>


```ts
readonly datum: D
```

Caller-owned original record.

[View source — packages/core/src/features/viz/inspection/volume.ts:19](/source/packages/core/src/features/viz/inspection/volume-ts/#L19)

</details>

<span id="api-VolumeObservation-sourceIndex"></span>
<details>
<summary>sourceIndex</summary>


```ts
readonly sourceIndex: number
```

Original index including skipped rows.

[View source — packages/core/src/features/viz/inspection/volume.ts:20](/source/packages/core/src/features/viz/inspection/volume-ts/#L20)

</details>

<span id="api-VolumeObservation-time"></span>
<details>
<summary>time</summary>


```ts
readonly time: number
```

Evaluated UTC milliseconds.

[View source — packages/core/src/features/viz/inspection/volume.ts:21](/source/packages/core/src/features/viz/inspection/volume-ts/#L21)

</details>

<span id="api-VolumeObservation-volume"></span>
<details>
<summary>volume</summary>


```ts
readonly volume: number
```

Evaluated nonnegative volume.

[View source — packages/core/src/features/viz/inspection/volume.ts:22](/source/packages/core/src/features/viz/inspection/volume-ts/#L22)

</details>

<span id="api-VolumeObservation-baseline"></span>
<details>
<summary>baseline</summary>


```ts
readonly baseline: 0
```

Zero-volume baseline.

[View source — packages/core/src/features/viz/inspection/volume.ts:23](/source/packages/core/src/features/viz/inspection/volume-ts/#L23)

</details>

<span id="api-VolumeObservation-anchorLocal"></span>
<details>
<summary>anchorLocal</summary>


```ts
readonly anchorLocal: Readonly<RenderedSeriesPoint>
```

Related API: [RenderedSeriesPoint](/reference/functions/rendered-series-inspection/).

Volume endpoint in series-local logical coordinates.

[View source — packages/core/src/features/viz/inspection/volume.ts:24](/source/packages/core/src/features/viz/inspection/volume-ts/#L24)

</details>

<span id="api-VolumeObservation-anchorRoot"></span>
<details>
<summary>anchorRoot</summary>


```ts
readonly anchorRoot: Readonly<RenderedSeriesPoint>
```

Related API: [RenderedSeriesPoint](/reference/functions/rendered-series-inspection/).

Volume endpoint in root-logical coordinates.

[View source — packages/core/src/features/viz/inspection/volume.ts:25](/source/packages/core/src/features/viz/inspection/volume-ts/#L25)

</details>

<span id="api-VolumeObservation-boundsLocal"></span>
<details>
<summary>boundsLocal</summary>


```ts
readonly boundsLocal: Readonly<LayoutBox>
```

Related API: [LayoutBox](/reference/types/layout/#layoutbox).

Column bounds in series-local logical coordinates.

[View source — packages/core/src/features/viz/inspection/volume.ts:26](/source/packages/core/src/features/viz/inspection/volume-ts/#L26)

</details>

<span id="api-VolumeInspectionCandidate"></span>

### VolumeInspectionCandidate

A nearest-time candidate with an explicit optional clip predicate.

```ts
interface VolumeInspectionCandidate<D> extends VolumeObservation<D>
```

Related API: [VolumeInspectionCandidate](/reference/functions/financial-series/), [VolumeObservation](/reference/functions/financial-series/).

#### See also

[useVolumeInspection](/reference/functions/financial-series/)

[View source — packages/core/src/features/viz/inspection/volume.ts:31](/source/packages/core/src/features/viz/inspection/volume-ts/#L31)

#### Properties and methods

<span id="api-VolumeInspectionCandidate-anchorInsideClips"></span>
<details>
<summary>anchorInsideClips</summary>


```ts
anchorInsideClips: () => boolean
```

Related API: [anchorInsideClips](/reference/functions/rendered-series-inspection/).



##### Returns

Whether the endpoint lies inside every committed clip.

[View source — packages/core/src/features/viz/inspection/volume.ts:32](/source/packages/core/src/features/viz/inspection/volume-ts/#L32)

</details>

<span id="api-VolumeInspectionCandidate-datum"></span>
<details>
<summary>datum</summary>


```ts
readonly datum: D
```

Caller-owned original record.

[View source — packages/core/src/features/viz/inspection/volume.ts:19](/source/packages/core/src/features/viz/inspection/volume-ts/#L19)

</details>

<span id="api-VolumeInspectionCandidate-sourceIndex"></span>
<details>
<summary>sourceIndex</summary>


```ts
readonly sourceIndex: number
```

Original index including skipped rows.

[View source — packages/core/src/features/viz/inspection/volume.ts:20](/source/packages/core/src/features/viz/inspection/volume-ts/#L20)

</details>

<span id="api-VolumeInspectionCandidate-time"></span>
<details>
<summary>time</summary>


```ts
readonly time: number
```

Evaluated UTC milliseconds.

[View source — packages/core/src/features/viz/inspection/volume.ts:21](/source/packages/core/src/features/viz/inspection/volume-ts/#L21)

</details>

<span id="api-VolumeInspectionCandidate-volume"></span>
<details>
<summary>volume</summary>


```ts
readonly volume: number
```

Evaluated nonnegative volume.

[View source — packages/core/src/features/viz/inspection/volume.ts:22](/source/packages/core/src/features/viz/inspection/volume-ts/#L22)

</details>

<span id="api-VolumeInspectionCandidate-baseline"></span>
<details>
<summary>baseline</summary>


```ts
readonly baseline: 0
```

Zero-volume baseline.

[View source — packages/core/src/features/viz/inspection/volume.ts:23](/source/packages/core/src/features/viz/inspection/volume-ts/#L23)

</details>

<span id="api-VolumeInspectionCandidate-anchorLocal"></span>
<details>
<summary>anchorLocal</summary>


```ts
readonly anchorLocal: Readonly<RenderedSeriesPoint>
```

Related API: [RenderedSeriesPoint](/reference/functions/rendered-series-inspection/).

Volume endpoint in series-local logical coordinates.

[View source — packages/core/src/features/viz/inspection/volume.ts:24](/source/packages/core/src/features/viz/inspection/volume-ts/#L24)

</details>

<span id="api-VolumeInspectionCandidate-anchorRoot"></span>
<details>
<summary>anchorRoot</summary>


```ts
readonly anchorRoot: Readonly<RenderedSeriesPoint>
```

Related API: [RenderedSeriesPoint](/reference/functions/rendered-series-inspection/).

Volume endpoint in root-logical coordinates.

[View source — packages/core/src/features/viz/inspection/volume.ts:25](/source/packages/core/src/features/viz/inspection/volume-ts/#L25)

</details>

<span id="api-VolumeInspectionCandidate-boundsLocal"></span>
<details>
<summary>boundsLocal</summary>


```ts
readonly boundsLocal: Readonly<LayoutBox>
```

Related API: [LayoutBox](/reference/types/layout/#layoutbox).

Column bounds in series-local logical coordinates.

[View source — packages/core/src/features/viz/inspection/volume.ts:26](/source/packages/core/src/features/viz/inspection/volume-ts/#L26)

</details>

<span id="api-NearestVolumeHit"></span>

### NearestVolumeHit

A recorded volume selected by timestamp proximity.

```ts
interface NearestVolumeHit<D> extends VolumeObservation<D>
```

Related API: [NearestVolumeHit](/reference/functions/financial-series/), [VolumeObservation](/reference/functions/financial-series/).

#### See also

[useVolumeInspection](/reference/functions/financial-series/)

[View source — packages/core/src/features/viz/inspection/volume.ts:37](/source/packages/core/src/features/viz/inspection/volume-ts/#L37)

#### Properties and methods

<span id="api-NearestVolumeHit-timeDelta"></span>
<details>
<summary>timeDelta</summary>


```ts
readonly timeDelta: number
```

Absolute UTC-millisecond distance from the requested time.

[View source — packages/core/src/features/viz/inspection/volume.ts:38](/source/packages/core/src/features/viz/inspection/volume-ts/#L38)

</details>

<span id="api-NearestVolumeHit-datum"></span>
<details>
<summary>datum</summary>


```ts
readonly datum: D
```

Caller-owned original record.

[View source — packages/core/src/features/viz/inspection/volume.ts:19](/source/packages/core/src/features/viz/inspection/volume-ts/#L19)

</details>

<span id="api-NearestVolumeHit-sourceIndex"></span>
<details>
<summary>sourceIndex</summary>


```ts
readonly sourceIndex: number
```

Original index including skipped rows.

[View source — packages/core/src/features/viz/inspection/volume.ts:20](/source/packages/core/src/features/viz/inspection/volume-ts/#L20)

</details>

<span id="api-NearestVolumeHit-time"></span>
<details>
<summary>time</summary>


```ts
readonly time: number
```

Evaluated UTC milliseconds.

[View source — packages/core/src/features/viz/inspection/volume.ts:21](/source/packages/core/src/features/viz/inspection/volume-ts/#L21)

</details>

<span id="api-NearestVolumeHit-volume"></span>
<details>
<summary>volume</summary>


```ts
readonly volume: number
```

Evaluated nonnegative volume.

[View source — packages/core/src/features/viz/inspection/volume.ts:22](/source/packages/core/src/features/viz/inspection/volume-ts/#L22)

</details>

<span id="api-NearestVolumeHit-baseline"></span>
<details>
<summary>baseline</summary>


```ts
readonly baseline: 0
```

Zero-volume baseline.

[View source — packages/core/src/features/viz/inspection/volume.ts:23](/source/packages/core/src/features/viz/inspection/volume-ts/#L23)

</details>

<span id="api-NearestVolumeHit-anchorLocal"></span>
<details>
<summary>anchorLocal</summary>


```ts
readonly anchorLocal: Readonly<RenderedSeriesPoint>
```

Related API: [RenderedSeriesPoint](/reference/functions/rendered-series-inspection/).

Volume endpoint in series-local logical coordinates.

[View source — packages/core/src/features/viz/inspection/volume.ts:24](/source/packages/core/src/features/viz/inspection/volume-ts/#L24)

</details>

<span id="api-NearestVolumeHit-anchorRoot"></span>
<details>
<summary>anchorRoot</summary>


```ts
readonly anchorRoot: Readonly<RenderedSeriesPoint>
```

Related API: [RenderedSeriesPoint](/reference/functions/rendered-series-inspection/).

Volume endpoint in root-logical coordinates.

[View source — packages/core/src/features/viz/inspection/volume.ts:25](/source/packages/core/src/features/viz/inspection/volume-ts/#L25)

</details>

<span id="api-NearestVolumeHit-boundsLocal"></span>
<details>
<summary>boundsLocal</summary>


```ts
readonly boundsLocal: Readonly<LayoutBox>
```

Related API: [LayoutBox](/reference/types/layout/#layoutbox).

Column bounds in series-local logical coordinates.

[View source — packages/core/src/features/viz/inspection/volume.ts:26](/source/packages/core/src/features/viz/inspection/volume-ts/#L26)

</details>

<span id="api-PaintedVolumeHit"></span>

### PaintedVolumeHit

A recorded volume whose painted column covers the query point.

```ts
interface PaintedVolumeHit<D> extends VolumeObservation<D>
```

Related API: [PaintedVolumeHit](/reference/functions/financial-series/), [VolumeObservation](/reference/functions/financial-series/).

#### See also

[useVolumeInspection](/reference/functions/financial-series/)

[View source — packages/core/src/features/viz/inspection/volume.ts:43](/source/packages/core/src/features/viz/inspection/volume-ts/#L43)

#### Properties and methods

<span id="api-PaintedVolumeHit-datum"></span>
<details>
<summary>datum</summary>


```ts
readonly datum: D
```

Caller-owned original record.

[View source — packages/core/src/features/viz/inspection/volume.ts:19](/source/packages/core/src/features/viz/inspection/volume-ts/#L19)

</details>

<span id="api-PaintedVolumeHit-sourceIndex"></span>
<details>
<summary>sourceIndex</summary>


```ts
readonly sourceIndex: number
```

Original index including skipped rows.

[View source — packages/core/src/features/viz/inspection/volume.ts:20](/source/packages/core/src/features/viz/inspection/volume-ts/#L20)

</details>

<span id="api-PaintedVolumeHit-time"></span>
<details>
<summary>time</summary>


```ts
readonly time: number
```

Evaluated UTC milliseconds.

[View source — packages/core/src/features/viz/inspection/volume.ts:21](/source/packages/core/src/features/viz/inspection/volume-ts/#L21)

</details>

<span id="api-PaintedVolumeHit-volume"></span>
<details>
<summary>volume</summary>


```ts
readonly volume: number
```

Evaluated nonnegative volume.

[View source — packages/core/src/features/viz/inspection/volume.ts:22](/source/packages/core/src/features/viz/inspection/volume-ts/#L22)

</details>

<span id="api-PaintedVolumeHit-baseline"></span>
<details>
<summary>baseline</summary>


```ts
readonly baseline: 0
```

Zero-volume baseline.

[View source — packages/core/src/features/viz/inspection/volume.ts:23](/source/packages/core/src/features/viz/inspection/volume-ts/#L23)

</details>

<span id="api-PaintedVolumeHit-anchorLocal"></span>
<details>
<summary>anchorLocal</summary>


```ts
readonly anchorLocal: Readonly<RenderedSeriesPoint>
```

Related API: [RenderedSeriesPoint](/reference/functions/rendered-series-inspection/).

Volume endpoint in series-local logical coordinates.

[View source — packages/core/src/features/viz/inspection/volume.ts:24](/source/packages/core/src/features/viz/inspection/volume-ts/#L24)

</details>

<span id="api-PaintedVolumeHit-anchorRoot"></span>
<details>
<summary>anchorRoot</summary>


```ts
readonly anchorRoot: Readonly<RenderedSeriesPoint>
```

Related API: [RenderedSeriesPoint](/reference/functions/rendered-series-inspection/).

Volume endpoint in root-logical coordinates.

[View source — packages/core/src/features/viz/inspection/volume.ts:25](/source/packages/core/src/features/viz/inspection/volume-ts/#L25)

</details>

<span id="api-PaintedVolumeHit-boundsLocal"></span>
<details>
<summary>boundsLocal</summary>


```ts
readonly boundsLocal: Readonly<LayoutBox>
```

Related API: [LayoutBox](/reference/types/layout/#layoutbox).

Column bounds in series-local logical coordinates.

[View source — packages/core/src/features/viz/inspection/volume.ts:26](/source/packages/core/src/features/viz/inspection/volume-ts/#L26)

</details>

<span id="api-VolumeInspectionRef"></span>

### VolumeInspectionRef

Mount-owned optional volume capture.

```ts
interface VolumeInspectionRef<D>
```

Related API: [VolumeInspectionRef](/reference/functions/financial-series/).

#### See also

[useVolumeInspection](/reference/functions/financial-series/)

[View source — packages/core/src/features/viz/inspection/volume.ts:80](/source/packages/core/src/features/viz/inspection/volume-ts/#L80)

#### Properties and methods

<span id="api-VolumeInspectionRef-rendered"></span>
<details>
<summary>rendered</summary>


```ts
rendered: () => VolumeRenderedSeries<D> | undefined
```

Related API: [VolumeRenderedSeries](/reference/functions/financial-series/).



##### Returns

Borrowed committed values, or undefined before paint/after disposal.

[View source — packages/core/src/features/viz/inspection/volume.ts:81](/source/packages/core/src/features/viz/inspection/volume-ts/#L81)

</details>

<span id="api-VolumeInspectionRef-capture"></span>
<details>
<summary>capture</summary>


```ts
capture: (input: { marks: readonly CapturedVolumeMark<D>[]; xScale: NumericPositionScale; yScale: ResolvedContinuousScale; }) => void
```

Related API: [ResolvedContinuousScale](/reference/functions/utc-domains/).



##### Parameters

- **`input`** — Immutable local marks and committed time mapping.

[View source — packages/core/src/features/viz/inspection/volume.ts:85](/source/packages/core/src/features/viz/inspection/volume-ts/#L85)

</details>

<span id="api-VolumeRenderedSeries"></span>

### VolumeRenderedSeries

Borrowed committed volume values; expires after a new root generation or disposal.

```ts
interface VolumeRenderedSeries<D>
```

Related API: [VolumeRenderedSeries](/reference/functions/financial-series/).

#### See also

[useVolumeInspection](/reference/functions/financial-series/)

[View source — packages/core/src/features/viz/inspection/volume.ts:57](/source/packages/core/src/features/viz/inspection/volume-ts/#L57)

#### Properties and methods

<span id="api-VolumeRenderedSeries-observations"></span>
<details>
<summary>observations</summary>


```ts
readonly observations: readonly VolumeObservation<D>[]
```

Related API: [VolumeObservation](/reference/functions/financial-series/).

Original observations and evaluated values in source order.

[View source — packages/core/src/features/viz/inspection/volume.ts:58](/source/packages/core/src/features/viz/inspection/volume-ts/#L58)

</details>

<span id="api-VolumeRenderedSeries-assertLive"></span>
<details>
<summary>assertLive</summary>


```ts
assertLive: () => void
```

Throws when borrowed values are stale or disposed.

[View source — packages/core/src/features/viz/inspection/volume.ts:59](/source/packages/core/src/features/viz/inspection/volume-ts/#L59)

</details>

<span id="api-VolumeRenderedSeries-timeAtRoot"></span>
<details>
<summary>timeAtRoot</summary>


```ts
timeAtRoot: (pointRoot: Readonly<RenderedSeriesPoint>) => number | undefined
```

Related API: [RenderedSeriesPoint](/reference/functions/rendered-series-inspection/).

Inverts a root-logical point to UTC milliseconds.

##### Parameters

- **`pointRoot`** — Root-logical Canvas position.

##### Returns

Timestamp or undefined for unavailable inversion.

[View source — packages/core/src/features/viz/inspection/volume.ts:63](/source/packages/core/src/features/viz/inspection/volume-ts/#L63)

</details>

<span id="api-VolumeRenderedSeries-anchorInsideClips"></span>
<details>
<summary>anchorInsideClips</summary>


```ts
anchorInsideClips: (pointLocal: Readonly<RenderedSeriesPoint>) => boolean
```

Related API: [anchorInsideClips](/reference/functions/rendered-series-inspection/), [RenderedSeriesPoint](/reference/functions/rendered-series-inspection/).

Tests a local point against the committed clip stack.

##### Parameters

- **`pointLocal`** — Series-local position.

##### Returns

Whether every clip includes it.

[View source — packages/core/src/features/viz/inspection/volume.ts:67](/source/packages/core/src/features/viz/inspection/volume-ts/#L67)

</details>

<span id="api-VolumeRenderedSeries-marks"></span>
<details>
<summary>marks</summary>


```ts
readonly marks: readonly CapturedVolumeMark<D>[]
```



[View source — packages/core/src/features/viz/inspection/volume.ts:68](/source/packages/core/src/features/viz/inspection/volume-ts/#L68)

</details>

<span id="api-VolumeRenderedSeries-numeric"></span>
<details>
<summary>numeric</summary>


```ts
readonly numeric: NumericRenderedSeries<D>
```

Related API: [NumericRenderedSeries](/reference/functions/rendered-series-inspection/).



[View source — packages/core/src/features/viz/inspection/volume.ts:69](/source/packages/core/src/features/viz/inspection/volume-ts/#L69)

</details>

<span id="api-VolumeRenderedSeries-localAtRoot"></span>
<details>
<summary>localAtRoot</summary>


```ts
localAtRoot: (point: Readonly<RenderedSeriesPoint>) => Readonly<RenderedSeriesPoint> | undefined
```

Related API: [RenderedSeriesPoint](/reference/functions/rendered-series-inspection/).



##### Parameters

- **`point`** — Root-logical position.

##### Returns

Local position or undefined for a singular transform.

[View source — packages/core/src/features/viz/inspection/volume.ts:73](/source/packages/core/src/features/viz/inspection/volume-ts/#L73)

</details>

<span id="api-useCandleInspection"></span>

### useCandleInspection

Creates a stable optional candle receiver without reading data or subscribing.

```ts
useCandleInspection: <D>(_inputs: Pick<CandlestickSeriesProps<D>, "data" | "time" | "open" | "high" | "low" | "close">) => CandleInspectionRef<D>
```

Related API: [useCandleInspection](/reference/functions/financial-series/), [CandlestickSeriesProps](/reference/functions/financial-series/), [CandleInspectionRef](/reference/functions/financial-series/).

#### Parameters

- **`_inputs`** — Inputs retained only to infer the original datum type.

#### Returns

A ref for exactly one CandlestickSeries inspection prop.

#### See also

[CandleInspectionRef](/reference/functions/financial-series/)

[View source — packages/core/src/features/viz/inspection/candle.ts:152](/source/packages/core/src/features/viz/inspection/candle-ts/#L152)

<span id="api-nearestRecordedCandleX"></span>

### nearestRecordedCandleX

Selects a captured candle nearest to a requested UTC timestamp.

```ts
nearestRecordedCandleX: <D>(rendered: CandleRenderedSeries<D>, options: { time: number; filter?: (observation: CandleInspectionCandidate<D>) => boolean; }) => NearestCandleHit<D> | undefined
```

Related API: [nearestRecordedCandleX](/reference/functions/financial-series/), [CandleRenderedSeries](/reference/functions/financial-series/), [CandleInspectionCandidate](/reference/functions/financial-series/), [NearestCandleHit](/reference/functions/financial-series/).

#### Parameters

- **`rendered`** — Borrowed committed candle generation.

- **`options`** — Timestamp and optional pure candidate filter.

#### Returns

The first source-order candle on a tie, or undefined when none qualifies.

#### See also

[NearestCandleHit](/reference/functions/financial-series/)

[View source — packages/core/src/features/viz/inspection/candle.ts:234](/source/packages/core/src/features/viz/inspection/candle-ts/#L234)

<span id="api-paintedCandleAt"></span>

### paintedCandleAt

Finds the last-painted candle body or wick covering a root-logical point.

Body coverage is tested before wick coverage because a candle paints its body after its wick.

```ts
paintedCandleAt: <D>(rendered: CandleRenderedSeries<D>, options: { rootPoint: Readonly<RenderedSeriesPoint>; }) => PaintedCandleHit<D> | undefined
```

Related API: [paintedCandleAt](/reference/functions/financial-series/), [CandleRenderedSeries](/reference/functions/financial-series/), [RenderedSeriesPoint](/reference/functions/rendered-series-inspection/), [PaintedCandleHit](/reference/functions/financial-series/).

#### Parameters

- **`rendered`** — Borrowed committed candle generation.

- **`options`** — Root-logical point; clips and singular transforms produce no result.

#### Returns

Captured candle and painted part, or undefined for gaps and unpainted geometry.

#### See also

[PaintedCandleHit](/reference/functions/financial-series/)

[View source — packages/core/src/features/viz/inspection/candle.ts:309](/source/packages/core/src/features/viz/inspection/candle-ts/#L309)

<span id="api-CandleObservation"></span>

### CandleObservation

One original candle with its evaluated OHLC values and committed local geometry.

```ts
interface CandleObservation<D>
```

Related API: [CandleObservation](/reference/functions/financial-series/).

#### See also

[CandleRenderedSeries](/reference/functions/financial-series/)

[View source — packages/core/src/features/viz/inspection/candle.ts:18](/source/packages/core/src/features/viz/inspection/candle-ts/#L18)

#### Properties and methods

<span id="api-CandleObservation-datum"></span>
<details>
<summary>datum</summary>


```ts
readonly datum: D
```

Caller-owned original record.

[View source — packages/core/src/features/viz/inspection/candle.ts:20](/source/packages/core/src/features/viz/inspection/candle-ts/#L20)

</details>

<span id="api-CandleObservation-sourceIndex"></span>
<details>
<summary>sourceIndex</summary>


```ts
readonly sourceIndex: number
```

Original source index, including skipped records.

[View source — packages/core/src/features/viz/inspection/candle.ts:22](/source/packages/core/src/features/viz/inspection/candle-ts/#L22)

</details>

<span id="api-CandleObservation-time"></span>
<details>
<summary>time</summary>


```ts
readonly time: number
```

Evaluated UTC-millisecond timestamp.

[View source — packages/core/src/features/viz/inspection/candle.ts:24](/source/packages/core/src/features/viz/inspection/candle-ts/#L24)

</details>

<span id="api-CandleObservation-open"></span>
<details>
<summary>open</summary>


```ts
readonly open: number
```

Evaluated opening value.

[View source — packages/core/src/features/viz/inspection/candle.ts:26](/source/packages/core/src/features/viz/inspection/candle-ts/#L26)

</details>

<span id="api-CandleObservation-high"></span>
<details>
<summary>high</summary>


```ts
readonly high: number
```

Evaluated high value.

[View source — packages/core/src/features/viz/inspection/candle.ts:28](/source/packages/core/src/features/viz/inspection/candle-ts/#L28)

</details>

<span id="api-CandleObservation-low"></span>
<details>
<summary>low</summary>


```ts
readonly low: number
```

Evaluated low value.

[View source — packages/core/src/features/viz/inspection/candle.ts:30](/source/packages/core/src/features/viz/inspection/candle-ts/#L30)

</details>

<span id="api-CandleObservation-close"></span>
<details>
<summary>close</summary>


```ts
readonly close: number
```

Evaluated closing value.

[View source — packages/core/src/features/viz/inspection/candle.ts:32](/source/packages/core/src/features/viz/inspection/candle-ts/#L32)

</details>

<span id="api-CandleObservation-anchorLocal"></span>
<details>
<summary>anchorLocal</summary>


```ts
readonly anchorLocal: Readonly<RenderedSeriesPoint>
```

Related API: [RenderedSeriesPoint](/reference/functions/rendered-series-inspection/).

Closing endpoint in series-local logical units.

[View source — packages/core/src/features/viz/inspection/candle.ts:34](/source/packages/core/src/features/viz/inspection/candle-ts/#L34)

</details>

<span id="api-CandleObservation-anchorRoot"></span>
<details>
<summary>anchorRoot</summary>


```ts
readonly anchorRoot: Readonly<RenderedSeriesPoint>
```

Related API: [RenderedSeriesPoint](/reference/functions/rendered-series-inspection/).

Closing endpoint in root-logical units.

[View source — packages/core/src/features/viz/inspection/candle.ts:36](/source/packages/core/src/features/viz/inspection/candle-ts/#L36)

</details>

<span id="api-CandleObservation-bodyBoundsLocal"></span>
<details>
<summary>bodyBoundsLocal</summary>


```ts
readonly bodyBoundsLocal: Readonly<LayoutBox>
```

Related API: [LayoutBox](/reference/types/layout/#layoutbox).

Body rectangle before world transforms.

[View source — packages/core/src/features/viz/inspection/candle.ts:38](/source/packages/core/src/features/viz/inspection/candle-ts/#L38)

</details>

<span id="api-CandleObservation-wickLocal"></span>
<details>
<summary>wickLocal</summary>


```ts
readonly wickLocal: Readonly<{ x: number; lowY: number; highY: number; }>
```

Wick center and endpoints before world transforms.

[View source — packages/core/src/features/viz/inspection/candle.ts:40](/source/packages/core/src/features/viz/inspection/candle-ts/#L40)

</details>

<span id="api-CandleInspectionCandidate"></span>

### CandleInspectionCandidate

A candle candidate whose closing endpoint can be tested against committed clips.

```ts
interface CandleInspectionCandidate<D> extends CandleObservation<D>
```

Related API: [CandleInspectionCandidate](/reference/functions/financial-series/), [CandleObservation](/reference/functions/financial-series/).

#### See also

[CandleObservation](/reference/functions/financial-series/)

[View source — packages/core/src/features/viz/inspection/candle.ts:53](/source/packages/core/src/features/viz/inspection/candle-ts/#L53)

#### Properties and methods

<span id="api-CandleInspectionCandidate-anchorInsideClips"></span>
<details>
<summary>anchorInsideClips</summary>


```ts
anchorInsideClips: () => boolean
```

Related API: [anchorInsideClips](/reference/functions/rendered-series-inspection/).



##### Returns

Whether the close anchor lies inside every committed clip.

[View source — packages/core/src/features/viz/inspection/candle.ts:57](/source/packages/core/src/features/viz/inspection/candle-ts/#L57)

</details>

<span id="api-CandleInspectionCandidate-datum"></span>
<details>
<summary>datum</summary>


```ts
readonly datum: D
```

Caller-owned original record.

[View source — packages/core/src/features/viz/inspection/candle.ts:20](/source/packages/core/src/features/viz/inspection/candle-ts/#L20)

</details>

<span id="api-CandleInspectionCandidate-sourceIndex"></span>
<details>
<summary>sourceIndex</summary>


```ts
readonly sourceIndex: number
```

Original source index, including skipped records.

[View source — packages/core/src/features/viz/inspection/candle.ts:22](/source/packages/core/src/features/viz/inspection/candle-ts/#L22)

</details>

<span id="api-CandleInspectionCandidate-time"></span>
<details>
<summary>time</summary>


```ts
readonly time: number
```

Evaluated UTC-millisecond timestamp.

[View source — packages/core/src/features/viz/inspection/candle.ts:24](/source/packages/core/src/features/viz/inspection/candle-ts/#L24)

</details>

<span id="api-CandleInspectionCandidate-open"></span>
<details>
<summary>open</summary>


```ts
readonly open: number
```

Evaluated opening value.

[View source — packages/core/src/features/viz/inspection/candle.ts:26](/source/packages/core/src/features/viz/inspection/candle-ts/#L26)

</details>

<span id="api-CandleInspectionCandidate-high"></span>
<details>
<summary>high</summary>


```ts
readonly high: number
```

Evaluated high value.

[View source — packages/core/src/features/viz/inspection/candle.ts:28](/source/packages/core/src/features/viz/inspection/candle-ts/#L28)

</details>

<span id="api-CandleInspectionCandidate-low"></span>
<details>
<summary>low</summary>


```ts
readonly low: number
```

Evaluated low value.

[View source — packages/core/src/features/viz/inspection/candle.ts:30](/source/packages/core/src/features/viz/inspection/candle-ts/#L30)

</details>

<span id="api-CandleInspectionCandidate-close"></span>
<details>
<summary>close</summary>


```ts
readonly close: number
```

Evaluated closing value.

[View source — packages/core/src/features/viz/inspection/candle.ts:32](/source/packages/core/src/features/viz/inspection/candle-ts/#L32)

</details>

<span id="api-CandleInspectionCandidate-anchorLocal"></span>
<details>
<summary>anchorLocal</summary>


```ts
readonly anchorLocal: Readonly<RenderedSeriesPoint>
```

Related API: [RenderedSeriesPoint](/reference/functions/rendered-series-inspection/).

Closing endpoint in series-local logical units.

[View source — packages/core/src/features/viz/inspection/candle.ts:34](/source/packages/core/src/features/viz/inspection/candle-ts/#L34)

</details>

<span id="api-CandleInspectionCandidate-anchorRoot"></span>
<details>
<summary>anchorRoot</summary>


```ts
readonly anchorRoot: Readonly<RenderedSeriesPoint>
```

Related API: [RenderedSeriesPoint](/reference/functions/rendered-series-inspection/).

Closing endpoint in root-logical units.

[View source — packages/core/src/features/viz/inspection/candle.ts:36](/source/packages/core/src/features/viz/inspection/candle-ts/#L36)

</details>

<span id="api-CandleInspectionCandidate-bodyBoundsLocal"></span>
<details>
<summary>bodyBoundsLocal</summary>


```ts
readonly bodyBoundsLocal: Readonly<LayoutBox>
```

Related API: [LayoutBox](/reference/types/layout/#layoutbox).

Body rectangle before world transforms.

[View source — packages/core/src/features/viz/inspection/candle.ts:38](/source/packages/core/src/features/viz/inspection/candle-ts/#L38)

</details>

<span id="api-CandleInspectionCandidate-wickLocal"></span>
<details>
<summary>wickLocal</summary>


```ts
readonly wickLocal: Readonly<{ x: number; lowY: number; highY: number; }>
```

Wick center and endpoints before world transforms.

[View source — packages/core/src/features/viz/inspection/candle.ts:40](/source/packages/core/src/features/viz/inspection/candle-ts/#L40)

</details>

<span id="api-NearestCandleHit"></span>

### NearestCandleHit

Candle selected by nearest timestamp.

```ts
interface NearestCandleHit<D> extends CandleObservation<D>
```

Related API: [NearestCandleHit](/reference/functions/financial-series/), [CandleObservation](/reference/functions/financial-series/).

#### See also

[nearestRecordedCandleX](/reference/functions/financial-series/)

[View source — packages/core/src/features/viz/inspection/candle.ts:63](/source/packages/core/src/features/viz/inspection/candle-ts/#L63)

#### Properties and methods

<span id="api-NearestCandleHit-timeDelta"></span>
<details>
<summary>timeDelta</summary>


```ts
readonly timeDelta: number
```

Absolute UTC-millisecond distance from the requested timestamp.

[View source — packages/core/src/features/viz/inspection/candle.ts:65](/source/packages/core/src/features/viz/inspection/candle-ts/#L65)

</details>

<span id="api-NearestCandleHit-datum"></span>
<details>
<summary>datum</summary>


```ts
readonly datum: D
```

Caller-owned original record.

[View source — packages/core/src/features/viz/inspection/candle.ts:20](/source/packages/core/src/features/viz/inspection/candle-ts/#L20)

</details>

<span id="api-NearestCandleHit-sourceIndex"></span>
<details>
<summary>sourceIndex</summary>


```ts
readonly sourceIndex: number
```

Original source index, including skipped records.

[View source — packages/core/src/features/viz/inspection/candle.ts:22](/source/packages/core/src/features/viz/inspection/candle-ts/#L22)

</details>

<span id="api-NearestCandleHit-time"></span>
<details>
<summary>time</summary>


```ts
readonly time: number
```

Evaluated UTC-millisecond timestamp.

[View source — packages/core/src/features/viz/inspection/candle.ts:24](/source/packages/core/src/features/viz/inspection/candle-ts/#L24)

</details>

<span id="api-NearestCandleHit-open"></span>
<details>
<summary>open</summary>


```ts
readonly open: number
```

Evaluated opening value.

[View source — packages/core/src/features/viz/inspection/candle.ts:26](/source/packages/core/src/features/viz/inspection/candle-ts/#L26)

</details>

<span id="api-NearestCandleHit-high"></span>
<details>
<summary>high</summary>


```ts
readonly high: number
```

Evaluated high value.

[View source — packages/core/src/features/viz/inspection/candle.ts:28](/source/packages/core/src/features/viz/inspection/candle-ts/#L28)

</details>

<span id="api-NearestCandleHit-low"></span>
<details>
<summary>low</summary>


```ts
readonly low: number
```

Evaluated low value.

[View source — packages/core/src/features/viz/inspection/candle.ts:30](/source/packages/core/src/features/viz/inspection/candle-ts/#L30)

</details>

<span id="api-NearestCandleHit-close"></span>
<details>
<summary>close</summary>


```ts
readonly close: number
```

Evaluated closing value.

[View source — packages/core/src/features/viz/inspection/candle.ts:32](/source/packages/core/src/features/viz/inspection/candle-ts/#L32)

</details>

<span id="api-NearestCandleHit-anchorLocal"></span>
<details>
<summary>anchorLocal</summary>


```ts
readonly anchorLocal: Readonly<RenderedSeriesPoint>
```

Related API: [RenderedSeriesPoint](/reference/functions/rendered-series-inspection/).

Closing endpoint in series-local logical units.

[View source — packages/core/src/features/viz/inspection/candle.ts:34](/source/packages/core/src/features/viz/inspection/candle-ts/#L34)

</details>

<span id="api-NearestCandleHit-anchorRoot"></span>
<details>
<summary>anchorRoot</summary>


```ts
readonly anchorRoot: Readonly<RenderedSeriesPoint>
```

Related API: [RenderedSeriesPoint](/reference/functions/rendered-series-inspection/).

Closing endpoint in root-logical units.

[View source — packages/core/src/features/viz/inspection/candle.ts:36](/source/packages/core/src/features/viz/inspection/candle-ts/#L36)

</details>

<span id="api-NearestCandleHit-bodyBoundsLocal"></span>
<details>
<summary>bodyBoundsLocal</summary>


```ts
readonly bodyBoundsLocal: Readonly<LayoutBox>
```

Related API: [LayoutBox](/reference/types/layout/#layoutbox).

Body rectangle before world transforms.

[View source — packages/core/src/features/viz/inspection/candle.ts:38](/source/packages/core/src/features/viz/inspection/candle-ts/#L38)

</details>

<span id="api-NearestCandleHit-wickLocal"></span>
<details>
<summary>wickLocal</summary>


```ts
readonly wickLocal: Readonly<{ x: number; lowY: number; highY: number; }>
```

Wick center and endpoints before world transforms.

[View source — packages/core/src/features/viz/inspection/candle.ts:40](/source/packages/core/src/features/viz/inspection/candle-ts/#L40)

</details>

<span id="api-PaintedCandleHit"></span>

### PaintedCandleHit

Candle part whose actual painted geometry covers a root-logical query point.

```ts
interface PaintedCandleHit<D> extends CandleObservation<D>
```

Related API: [PaintedCandleHit](/reference/functions/financial-series/), [CandleObservation](/reference/functions/financial-series/).

#### See also

[paintedCandleAt](/reference/functions/financial-series/)

[View source — packages/core/src/features/viz/inspection/candle.ts:71](/source/packages/core/src/features/viz/inspection/candle-ts/#L71)

#### Properties and methods

<span id="api-PaintedCandleHit-part"></span>
<details>
<summary>part</summary>


```ts
readonly part: "body" | "wick"
```

Part selected in source paint order: body paints after wick.

[View source — packages/core/src/features/viz/inspection/candle.ts:73](/source/packages/core/src/features/viz/inspection/candle-ts/#L73)

</details>

<span id="api-PaintedCandleHit-datum"></span>
<details>
<summary>datum</summary>


```ts
readonly datum: D
```

Caller-owned original record.

[View source — packages/core/src/features/viz/inspection/candle.ts:20](/source/packages/core/src/features/viz/inspection/candle-ts/#L20)

</details>

<span id="api-PaintedCandleHit-sourceIndex"></span>
<details>
<summary>sourceIndex</summary>


```ts
readonly sourceIndex: number
```

Original source index, including skipped records.

[View source — packages/core/src/features/viz/inspection/candle.ts:22](/source/packages/core/src/features/viz/inspection/candle-ts/#L22)

</details>

<span id="api-PaintedCandleHit-time"></span>
<details>
<summary>time</summary>


```ts
readonly time: number
```

Evaluated UTC-millisecond timestamp.

[View source — packages/core/src/features/viz/inspection/candle.ts:24](/source/packages/core/src/features/viz/inspection/candle-ts/#L24)

</details>

<span id="api-PaintedCandleHit-open"></span>
<details>
<summary>open</summary>


```ts
readonly open: number
```

Evaluated opening value.

[View source — packages/core/src/features/viz/inspection/candle.ts:26](/source/packages/core/src/features/viz/inspection/candle-ts/#L26)

</details>

<span id="api-PaintedCandleHit-high"></span>
<details>
<summary>high</summary>


```ts
readonly high: number
```

Evaluated high value.

[View source — packages/core/src/features/viz/inspection/candle.ts:28](/source/packages/core/src/features/viz/inspection/candle-ts/#L28)

</details>

<span id="api-PaintedCandleHit-low"></span>
<details>
<summary>low</summary>


```ts
readonly low: number
```

Evaluated low value.

[View source — packages/core/src/features/viz/inspection/candle.ts:30](/source/packages/core/src/features/viz/inspection/candle-ts/#L30)

</details>

<span id="api-PaintedCandleHit-close"></span>
<details>
<summary>close</summary>


```ts
readonly close: number
```

Evaluated closing value.

[View source — packages/core/src/features/viz/inspection/candle.ts:32](/source/packages/core/src/features/viz/inspection/candle-ts/#L32)

</details>

<span id="api-PaintedCandleHit-anchorLocal"></span>
<details>
<summary>anchorLocal</summary>


```ts
readonly anchorLocal: Readonly<RenderedSeriesPoint>
```

Related API: [RenderedSeriesPoint](/reference/functions/rendered-series-inspection/).

Closing endpoint in series-local logical units.

[View source — packages/core/src/features/viz/inspection/candle.ts:34](/source/packages/core/src/features/viz/inspection/candle-ts/#L34)

</details>

<span id="api-PaintedCandleHit-anchorRoot"></span>
<details>
<summary>anchorRoot</summary>


```ts
readonly anchorRoot: Readonly<RenderedSeriesPoint>
```

Related API: [RenderedSeriesPoint](/reference/functions/rendered-series-inspection/).

Closing endpoint in root-logical units.

[View source — packages/core/src/features/viz/inspection/candle.ts:36](/source/packages/core/src/features/viz/inspection/candle-ts/#L36)

</details>

<span id="api-PaintedCandleHit-bodyBoundsLocal"></span>
<details>
<summary>bodyBoundsLocal</summary>


```ts
readonly bodyBoundsLocal: Readonly<LayoutBox>
```

Related API: [LayoutBox](/reference/types/layout/#layoutbox).

Body rectangle before world transforms.

[View source — packages/core/src/features/viz/inspection/candle.ts:38](/source/packages/core/src/features/viz/inspection/candle-ts/#L38)

</details>

<span id="api-PaintedCandleHit-wickLocal"></span>
<details>
<summary>wickLocal</summary>


```ts
readonly wickLocal: Readonly<{ x: number; lowY: number; highY: number; }>
```

Wick center and endpoints before world transforms.

[View source — packages/core/src/features/viz/inspection/candle.ts:40](/source/packages/core/src/features/viz/inspection/candle-ts/#L40)

</details>

<span id="api-CandleInspectionRef"></span>

### CandleInspectionRef

Mount-owned optional candle capture.

```ts
interface CandleInspectionRef<D>
```

Related API: [CandleInspectionRef](/reference/functions/financial-series/).

#### See also

[useCandleInspection](/reference/functions/financial-series/)

[View source — packages/core/src/features/viz/inspection/candle.ts:126](/source/packages/core/src/features/viz/inspection/candle-ts/#L126)

#### Properties and methods

<span id="api-CandleInspectionRef-rendered"></span>
<details>
<summary>rendered</summary>


```ts
rendered: () => CandleRenderedSeries<D> | undefined
```

Related API: [CandleRenderedSeries](/reference/functions/financial-series/).



##### Returns

The current borrowed generation, or undefined before paint and after disposal.

[View source — packages/core/src/features/viz/inspection/candle.ts:130](/source/packages/core/src/features/viz/inspection/candle-ts/#L130)

</details>

<span id="api-CandleInspectionRef-capture"></span>
<details>
<summary>capture</summary>


```ts
capture: (input: { marks: readonly CapturedCandleMark<D>[]; xScale: NumericPositionScale; yScale: ResolvedContinuousScale; }) => void
```

Related API: [ResolvedContinuousScale](/reference/functions/utc-domains/).



##### Parameters

- **`input`** — Source-ordered marks and the committed numeric mappings.

[View source — packages/core/src/features/viz/inspection/candle.ts:135](/source/packages/core/src/features/viz/inspection/candle-ts/#L135)

</details>

<span id="api-CandleRenderedSeries"></span>

### CandleRenderedSeries

Borrowed committed candle generation.

```ts
interface CandleRenderedSeries<D>
```

Related API: [CandleRenderedSeries](/reference/functions/financial-series/).

#### See also

[CandleInspectionRef](/reference/functions/financial-series/)

[View source — packages/core/src/features/viz/inspection/candle.ts:92](/source/packages/core/src/features/viz/inspection/candle-ts/#L92)

#### Properties and methods

<span id="api-CandleRenderedSeries-observations"></span>
<details>
<summary>observations</summary>


```ts
readonly observations: readonly CandleObservation<D>[]
```

Related API: [CandleObservation](/reference/functions/financial-series/).

Captured original records, values, and geometry in source order.

[View source — packages/core/src/features/viz/inspection/candle.ts:94](/source/packages/core/src/features/viz/inspection/candle-ts/#L94)

</details>

<span id="api-CandleRenderedSeries-assertLive"></span>
<details>
<summary>assertLive</summary>


```ts
assertLive: () => void
```

Throws after replacement or disposal.

[View source — packages/core/src/features/viz/inspection/candle.ts:96](/source/packages/core/src/features/viz/inspection/candle-ts/#L96)

</details>

<span id="api-CandleRenderedSeries-timeAtRoot"></span>
<details>
<summary>timeAtRoot</summary>


```ts
timeAtRoot: (pointRoot: Readonly<RenderedSeriesPoint>) => number | undefined
```

Related API: [RenderedSeriesPoint](/reference/functions/rendered-series-inspection/).

Selects the supplied/nearest timestamp at a root-logical coordinate.

##### Parameters

- **`pointRoot`** — Root-logical point to invert through the committed transform.

##### Returns

UTC milliseconds, or undefined for singular transforms or empty mappings.

[View source — packages/core/src/features/viz/inspection/candle.ts:102](/source/packages/core/src/features/viz/inspection/candle-ts/#L102)

</details>

<span id="api-CandleRenderedSeries-anchorInsideClips"></span>
<details>
<summary>anchorInsideClips</summary>


```ts
anchorInsideClips: (pointLocal: Readonly<RenderedSeriesPoint>) => boolean
```

Related API: [anchorInsideClips](/reference/functions/rendered-series-inspection/), [RenderedSeriesPoint](/reference/functions/rendered-series-inspection/).

Tests local geometry against each committed clip.

##### Parameters

- **`pointLocal`** — Series-local logical point.

##### Returns

Whether every committed clip contains the point.

[View source — packages/core/src/features/viz/inspection/candle.ts:108](/source/packages/core/src/features/viz/inspection/candle-ts/#L108)

</details>

<span id="api-CandleRenderedSeries-marks"></span>
<details>
<summary>marks</summary>


```ts
readonly marks: readonly CapturedCandleMark<D>[]
```



[View source — packages/core/src/features/viz/inspection/candle.ts:110](/source/packages/core/src/features/viz/inspection/candle-ts/#L110)

</details>

<span id="api-CandleRenderedSeries-numeric"></span>
<details>
<summary>numeric</summary>


```ts
readonly numeric: NumericRenderedSeries<D>
```

Related API: [NumericRenderedSeries](/reference/functions/rendered-series-inspection/).



[View source — packages/core/src/features/viz/inspection/candle.ts:112](/source/packages/core/src/features/viz/inspection/candle-ts/#L112)

</details>

<span id="api-CandleRenderedSeries-localAtRoot"></span>
<details>
<summary>localAtRoot</summary>


```ts
localAtRoot: (point: Readonly<RenderedSeriesPoint>) => Readonly<RenderedSeriesPoint> | undefined
```

Related API: [RenderedSeriesPoint](/reference/functions/rendered-series-inspection/).



##### Parameters

- **`point`** — Root-logical point to convert.

##### Returns

Series-local point, or undefined when the transform is singular.

[View source — packages/core/src/features/viz/inspection/candle.ts:118](/source/packages/core/src/features/viz/inspection/candle-ts/#L118)

</details>

<span id="api-useOhlcBarInspection"></span>

### useOhlcBarInspection

Creates a stable OHLC-bar inspection ref without reading data or subscribing.

```ts
useOhlcBarInspection: <D>(_inputs: Pick<OhlcBarSeriesProps<D>, "data" | "time" | "open" | "high" | "low" | "close">) => OhlcBarInspectionRef<D>
```

Related API: [useOhlcBarInspection](/reference/functions/financial-series/), [OhlcBarSeriesProps](/reference/functions/financial-series/), [OhlcBarInspectionRef](/reference/functions/financial-series/).

#### Parameters

- **`_inputs`** — Inputs retained only to infer the original datum type.

#### Returns

A ref for exactly one OhlcBarSeries inspection prop.

#### See also

[OhlcBarInspectionRef](/reference/functions/financial-series/)

[View source — packages/core/src/features/viz/inspection/ohlc-bar.ts:128](/source/packages/core/src/features/viz/inspection/ohlc-bar-ts/#L128)

<span id="api-nearestRecordedOhlcBarX"></span>

### nearestRecordedOhlcBarX

Selects captured original OHLC by nearest timestamp, retaining source-order ties.

```ts
nearestRecordedOhlcBarX: <D>(rendered: OhlcBarRenderedSeries<D>, options: { time: number; filter?: (observation: OhlcBarInspectionCandidate<D>) => boolean; }) => NearestOhlcBarHit<D> | undefined
```

Related API: [nearestRecordedOhlcBarX](/reference/functions/financial-series/), [OhlcBarRenderedSeries](/reference/functions/financial-series/), [OhlcBarInspectionCandidate](/reference/functions/financial-series/), [NearestOhlcBarHit](/reference/functions/financial-series/).

#### Parameters

- **`rendered`** — Borrowed committed OHLC generation.

- **`options`** — Timestamp and optional pure candidate filter.

#### Returns

First source-order match on a tie, or undefined when none qualifies.

#### See also

[NearestOhlcBarHit](/reference/functions/financial-series/)

[View source — packages/core/src/features/viz/inspection/ohlc-bar.ts:209](/source/packages/core/src/features/viz/inspection/ohlc-bar-ts/#L209)

<span id="api-paintedOhlcBarAt"></span>

### paintedOhlcBarAt

Finds the last-painted OHLC segment covering a root-logical point.

```ts
paintedOhlcBarAt: <D>(rendered: OhlcBarRenderedSeries<D>, options: { rootPoint: Readonly<RenderedSeriesPoint>; }) => PaintedOhlcBarHit<D> | undefined
```

Related API: [paintedOhlcBarAt](/reference/functions/financial-series/), [OhlcBarRenderedSeries](/reference/functions/financial-series/), [RenderedSeriesPoint](/reference/functions/rendered-series-inspection/), [PaintedOhlcBarHit](/reference/functions/financial-series/).

#### Parameters

- **`rendered`** — Borrowed committed OHLC generation.

- **`options`** — Root-logical point; clips and singular transforms produce no result.

#### Returns

Captured OHLC record and painted segment, or undefined for gaps.

#### See also

[PaintedOhlcBarHit](/reference/functions/financial-series/)

[View source — packages/core/src/features/viz/inspection/ohlc-bar.ts:266](/source/packages/core/src/features/viz/inspection/ohlc-bar-ts/#L266)

<span id="api-OhlcBarObservation"></span>

### OhlcBarObservation

One original OHLC record and its values and geometry as evaluated during paint.

```ts
interface OhlcBarObservation<D>
```

Related API: [OhlcBarObservation](/reference/functions/financial-series/).

#### See also

[OhlcBarRenderedSeries](/reference/functions/financial-series/)

[View source — packages/core/src/features/viz/inspection/ohlc-bar.ts:17](/source/packages/core/src/features/viz/inspection/ohlc-bar-ts/#L17)

#### Properties and methods

<span id="api-OhlcBarObservation-datum"></span>
<details>
<summary>datum</summary>


```ts
readonly datum: D
```

Caller-owned original record.

[View source — packages/core/src/features/viz/inspection/ohlc-bar.ts:19](/source/packages/core/src/features/viz/inspection/ohlc-bar-ts/#L19)

</details>

<span id="api-OhlcBarObservation-sourceIndex"></span>
<details>
<summary>sourceIndex</summary>


```ts
readonly sourceIndex: number
```

Original source index, including skipped rows.

[View source — packages/core/src/features/viz/inspection/ohlc-bar.ts:21](/source/packages/core/src/features/viz/inspection/ohlc-bar-ts/#L21)

</details>

<span id="api-OhlcBarObservation-time"></span>
<details>
<summary>time</summary>


```ts
readonly time: number
```

Evaluated UTC-millisecond timestamp.

[View source — packages/core/src/features/viz/inspection/ohlc-bar.ts:23](/source/packages/core/src/features/viz/inspection/ohlc-bar-ts/#L23)

</details>

<span id="api-OhlcBarObservation-open"></span>
<details>
<summary>open</summary>


```ts
readonly open: number
```

Evaluated opening value.

[View source — packages/core/src/features/viz/inspection/ohlc-bar.ts:25](/source/packages/core/src/features/viz/inspection/ohlc-bar-ts/#L25)

</details>

<span id="api-OhlcBarObservation-high"></span>
<details>
<summary>high</summary>


```ts
readonly high: number
```

Evaluated high value.

[View source — packages/core/src/features/viz/inspection/ohlc-bar.ts:27](/source/packages/core/src/features/viz/inspection/ohlc-bar-ts/#L27)

</details>

<span id="api-OhlcBarObservation-low"></span>
<details>
<summary>low</summary>


```ts
readonly low: number
```

Evaluated low value.

[View source — packages/core/src/features/viz/inspection/ohlc-bar.ts:29](/source/packages/core/src/features/viz/inspection/ohlc-bar-ts/#L29)

</details>

<span id="api-OhlcBarObservation-close"></span>
<details>
<summary>close</summary>


```ts
readonly close: number
```

Evaluated closing value.

[View source — packages/core/src/features/viz/inspection/ohlc-bar.ts:31](/source/packages/core/src/features/viz/inspection/ohlc-bar-ts/#L31)

</details>

<span id="api-OhlcBarObservation-anchorLocal"></span>
<details>
<summary>anchorLocal</summary>


```ts
readonly anchorLocal: Readonly<RenderedSeriesPoint>
```

Related API: [RenderedSeriesPoint](/reference/functions/rendered-series-inspection/).

Closing endpoint in series-local coordinates.

[View source — packages/core/src/features/viz/inspection/ohlc-bar.ts:32](/source/packages/core/src/features/viz/inspection/ohlc-bar-ts/#L32)

</details>

<span id="api-OhlcBarObservation-anchorRoot"></span>
<details>
<summary>anchorRoot</summary>


```ts
readonly anchorRoot: Readonly<RenderedSeriesPoint>
```

Related API: [RenderedSeriesPoint](/reference/functions/rendered-series-inspection/).

Closing endpoint in root-logical coordinates.

[View source — packages/core/src/features/viz/inspection/ohlc-bar.ts:33](/source/packages/core/src/features/viz/inspection/ohlc-bar-ts/#L33)

</details>

<span id="api-OhlcBarObservation-stemLocal"></span>
<details>
<summary>stemLocal</summary>


```ts
readonly stemLocal: Readonly<{ x: number; highY: number; lowY: number; }>
```

High/low segment before world transforms.

[View source — packages/core/src/features/viz/inspection/ohlc-bar.ts:34](/source/packages/core/src/features/viz/inspection/ohlc-bar-ts/#L34)

</details>

<span id="api-OhlcBarObservation-openTickLocal"></span>
<details>
<summary>openTickLocal</summary>


```ts
readonly openTickLocal: Readonly<{ x1: number; x2: number; y: number; }>
```

Left-facing opening segment before world transforms.

[View source — packages/core/src/features/viz/inspection/ohlc-bar.ts:39](/source/packages/core/src/features/viz/inspection/ohlc-bar-ts/#L39)

</details>

<span id="api-OhlcBarObservation-closeTickLocal"></span>
<details>
<summary>closeTickLocal</summary>


```ts
readonly closeTickLocal: Readonly<{ x1: number; x2: number; y: number; }>
```

Right-facing closing segment before world transforms.

[View source — packages/core/src/features/viz/inspection/ohlc-bar.ts:44](/source/packages/core/src/features/viz/inspection/ohlc-bar-ts/#L44)

</details>

<span id="api-OhlcBarInspectionCandidate"></span>

### OhlcBarInspectionCandidate

A nearest-time OHLC candidate with committed clip eligibility.

```ts
interface OhlcBarInspectionCandidate<D> extends OhlcBarObservation<D>
```

Related API: [OhlcBarInspectionCandidate](/reference/functions/financial-series/), [OhlcBarObservation](/reference/functions/financial-series/).

#### See also

[nearestRecordedOhlcBarX](/reference/functions/financial-series/)

[View source — packages/core/src/features/viz/inspection/ohlc-bar.ts:53](/source/packages/core/src/features/viz/inspection/ohlc-bar-ts/#L53)

#### Properties and methods

<span id="api-OhlcBarInspectionCandidate-anchorInsideClips"></span>
<details>
<summary>anchorInsideClips</summary>


```ts
anchorInsideClips: () => boolean
```

Related API: [anchorInsideClips](/reference/functions/rendered-series-inspection/).



##### Returns

Whether the close anchor lies inside every committed clip.

[View source — packages/core/src/features/viz/inspection/ohlc-bar.ts:55](/source/packages/core/src/features/viz/inspection/ohlc-bar-ts/#L55)

</details>

<span id="api-OhlcBarInspectionCandidate-datum"></span>
<details>
<summary>datum</summary>


```ts
readonly datum: D
```

Caller-owned original record.

[View source — packages/core/src/features/viz/inspection/ohlc-bar.ts:19](/source/packages/core/src/features/viz/inspection/ohlc-bar-ts/#L19)

</details>

<span id="api-OhlcBarInspectionCandidate-sourceIndex"></span>
<details>
<summary>sourceIndex</summary>


```ts
readonly sourceIndex: number
```

Original source index, including skipped rows.

[View source — packages/core/src/features/viz/inspection/ohlc-bar.ts:21](/source/packages/core/src/features/viz/inspection/ohlc-bar-ts/#L21)

</details>

<span id="api-OhlcBarInspectionCandidate-time"></span>
<details>
<summary>time</summary>


```ts
readonly time: number
```

Evaluated UTC-millisecond timestamp.

[View source — packages/core/src/features/viz/inspection/ohlc-bar.ts:23](/source/packages/core/src/features/viz/inspection/ohlc-bar-ts/#L23)

</details>

<span id="api-OhlcBarInspectionCandidate-open"></span>
<details>
<summary>open</summary>


```ts
readonly open: number
```

Evaluated opening value.

[View source — packages/core/src/features/viz/inspection/ohlc-bar.ts:25](/source/packages/core/src/features/viz/inspection/ohlc-bar-ts/#L25)

</details>

<span id="api-OhlcBarInspectionCandidate-high"></span>
<details>
<summary>high</summary>


```ts
readonly high: number
```

Evaluated high value.

[View source — packages/core/src/features/viz/inspection/ohlc-bar.ts:27](/source/packages/core/src/features/viz/inspection/ohlc-bar-ts/#L27)

</details>

<span id="api-OhlcBarInspectionCandidate-low"></span>
<details>
<summary>low</summary>


```ts
readonly low: number
```

Evaluated low value.

[View source — packages/core/src/features/viz/inspection/ohlc-bar.ts:29](/source/packages/core/src/features/viz/inspection/ohlc-bar-ts/#L29)

</details>

<span id="api-OhlcBarInspectionCandidate-close"></span>
<details>
<summary>close</summary>


```ts
readonly close: number
```

Evaluated closing value.

[View source — packages/core/src/features/viz/inspection/ohlc-bar.ts:31](/source/packages/core/src/features/viz/inspection/ohlc-bar-ts/#L31)

</details>

<span id="api-OhlcBarInspectionCandidate-anchorLocal"></span>
<details>
<summary>anchorLocal</summary>


```ts
readonly anchorLocal: Readonly<RenderedSeriesPoint>
```

Related API: [RenderedSeriesPoint](/reference/functions/rendered-series-inspection/).

Closing endpoint in series-local coordinates.

[View source — packages/core/src/features/viz/inspection/ohlc-bar.ts:32](/source/packages/core/src/features/viz/inspection/ohlc-bar-ts/#L32)

</details>

<span id="api-OhlcBarInspectionCandidate-anchorRoot"></span>
<details>
<summary>anchorRoot</summary>


```ts
readonly anchorRoot: Readonly<RenderedSeriesPoint>
```

Related API: [RenderedSeriesPoint](/reference/functions/rendered-series-inspection/).

Closing endpoint in root-logical coordinates.

[View source — packages/core/src/features/viz/inspection/ohlc-bar.ts:33](/source/packages/core/src/features/viz/inspection/ohlc-bar-ts/#L33)

</details>

<span id="api-OhlcBarInspectionCandidate-stemLocal"></span>
<details>
<summary>stemLocal</summary>


```ts
readonly stemLocal: Readonly<{ x: number; highY: number; lowY: number; }>
```

High/low segment before world transforms.

[View source — packages/core/src/features/viz/inspection/ohlc-bar.ts:34](/source/packages/core/src/features/viz/inspection/ohlc-bar-ts/#L34)

</details>

<span id="api-OhlcBarInspectionCandidate-openTickLocal"></span>
<details>
<summary>openTickLocal</summary>


```ts
readonly openTickLocal: Readonly<{ x1: number; x2: number; y: number; }>
```

Left-facing opening segment before world transforms.

[View source — packages/core/src/features/viz/inspection/ohlc-bar.ts:39](/source/packages/core/src/features/viz/inspection/ohlc-bar-ts/#L39)

</details>

<span id="api-OhlcBarInspectionCandidate-closeTickLocal"></span>
<details>
<summary>closeTickLocal</summary>


```ts
readonly closeTickLocal: Readonly<{ x1: number; x2: number; y: number; }>
```

Right-facing closing segment before world transforms.

[View source — packages/core/src/features/viz/inspection/ohlc-bar.ts:44](/source/packages/core/src/features/viz/inspection/ohlc-bar-ts/#L44)

</details>

<span id="api-NearestOhlcBarHit"></span>

### NearestOhlcBarHit

Original OHLC selected by nearest timestamp.

```ts
interface NearestOhlcBarHit<D> extends OhlcBarObservation<D>
```

Related API: [NearestOhlcBarHit](/reference/functions/financial-series/), [OhlcBarObservation](/reference/functions/financial-series/).

#### See also

[nearestRecordedOhlcBarX](/reference/functions/financial-series/)

[View source — packages/core/src/features/viz/inspection/ohlc-bar.ts:60](/source/packages/core/src/features/viz/inspection/ohlc-bar-ts/#L60)

#### Properties and methods

<span id="api-NearestOhlcBarHit-timeDelta"></span>
<details>
<summary>timeDelta</summary>


```ts
readonly timeDelta: number
```

Absolute UTC-millisecond distance from the requested timestamp.

[View source — packages/core/src/features/viz/inspection/ohlc-bar.ts:62](/source/packages/core/src/features/viz/inspection/ohlc-bar-ts/#L62)

</details>

<span id="api-NearestOhlcBarHit-datum"></span>
<details>
<summary>datum</summary>


```ts
readonly datum: D
```

Caller-owned original record.

[View source — packages/core/src/features/viz/inspection/ohlc-bar.ts:19](/source/packages/core/src/features/viz/inspection/ohlc-bar-ts/#L19)

</details>

<span id="api-NearestOhlcBarHit-sourceIndex"></span>
<details>
<summary>sourceIndex</summary>


```ts
readonly sourceIndex: number
```

Original source index, including skipped rows.

[View source — packages/core/src/features/viz/inspection/ohlc-bar.ts:21](/source/packages/core/src/features/viz/inspection/ohlc-bar-ts/#L21)

</details>

<span id="api-NearestOhlcBarHit-time"></span>
<details>
<summary>time</summary>


```ts
readonly time: number
```

Evaluated UTC-millisecond timestamp.

[View source — packages/core/src/features/viz/inspection/ohlc-bar.ts:23](/source/packages/core/src/features/viz/inspection/ohlc-bar-ts/#L23)

</details>

<span id="api-NearestOhlcBarHit-open"></span>
<details>
<summary>open</summary>


```ts
readonly open: number
```

Evaluated opening value.

[View source — packages/core/src/features/viz/inspection/ohlc-bar.ts:25](/source/packages/core/src/features/viz/inspection/ohlc-bar-ts/#L25)

</details>

<span id="api-NearestOhlcBarHit-high"></span>
<details>
<summary>high</summary>


```ts
readonly high: number
```

Evaluated high value.

[View source — packages/core/src/features/viz/inspection/ohlc-bar.ts:27](/source/packages/core/src/features/viz/inspection/ohlc-bar-ts/#L27)

</details>

<span id="api-NearestOhlcBarHit-low"></span>
<details>
<summary>low</summary>


```ts
readonly low: number
```

Evaluated low value.

[View source — packages/core/src/features/viz/inspection/ohlc-bar.ts:29](/source/packages/core/src/features/viz/inspection/ohlc-bar-ts/#L29)

</details>

<span id="api-NearestOhlcBarHit-close"></span>
<details>
<summary>close</summary>


```ts
readonly close: number
```

Evaluated closing value.

[View source — packages/core/src/features/viz/inspection/ohlc-bar.ts:31](/source/packages/core/src/features/viz/inspection/ohlc-bar-ts/#L31)

</details>

<span id="api-NearestOhlcBarHit-anchorLocal"></span>
<details>
<summary>anchorLocal</summary>


```ts
readonly anchorLocal: Readonly<RenderedSeriesPoint>
```

Related API: [RenderedSeriesPoint](/reference/functions/rendered-series-inspection/).

Closing endpoint in series-local coordinates.

[View source — packages/core/src/features/viz/inspection/ohlc-bar.ts:32](/source/packages/core/src/features/viz/inspection/ohlc-bar-ts/#L32)

</details>

<span id="api-NearestOhlcBarHit-anchorRoot"></span>
<details>
<summary>anchorRoot</summary>


```ts
readonly anchorRoot: Readonly<RenderedSeriesPoint>
```

Related API: [RenderedSeriesPoint](/reference/functions/rendered-series-inspection/).

Closing endpoint in root-logical coordinates.

[View source — packages/core/src/features/viz/inspection/ohlc-bar.ts:33](/source/packages/core/src/features/viz/inspection/ohlc-bar-ts/#L33)

</details>

<span id="api-NearestOhlcBarHit-stemLocal"></span>
<details>
<summary>stemLocal</summary>


```ts
readonly stemLocal: Readonly<{ x: number; highY: number; lowY: number; }>
```

High/low segment before world transforms.

[View source — packages/core/src/features/viz/inspection/ohlc-bar.ts:34](/source/packages/core/src/features/viz/inspection/ohlc-bar-ts/#L34)

</details>

<span id="api-NearestOhlcBarHit-openTickLocal"></span>
<details>
<summary>openTickLocal</summary>


```ts
readonly openTickLocal: Readonly<{ x1: number; x2: number; y: number; }>
```

Left-facing opening segment before world transforms.

[View source — packages/core/src/features/viz/inspection/ohlc-bar.ts:39](/source/packages/core/src/features/viz/inspection/ohlc-bar-ts/#L39)

</details>

<span id="api-NearestOhlcBarHit-closeTickLocal"></span>
<details>
<summary>closeTickLocal</summary>


```ts
readonly closeTickLocal: Readonly<{ x1: number; x2: number; y: number; }>
```

Right-facing closing segment before world transforms.

[View source — packages/core/src/features/viz/inspection/ohlc-bar.ts:44](/source/packages/core/src/features/viz/inspection/ohlc-bar-ts/#L44)

</details>

<span id="api-PaintedOhlcBarHit"></span>

### PaintedOhlcBarHit

An actual painted OHLC stroke segment covering a root-logical point.

```ts
interface PaintedOhlcBarHit<D> extends OhlcBarObservation<D>
```

Related API: [PaintedOhlcBarHit](/reference/functions/financial-series/), [OhlcBarObservation](/reference/functions/financial-series/).

#### See also

[paintedOhlcBarAt](/reference/functions/financial-series/)

[View source — packages/core/src/features/viz/inspection/ohlc-bar.ts:67](/source/packages/core/src/features/viz/inspection/ohlc-bar-ts/#L67)

#### Properties and methods

<span id="api-PaintedOhlcBarHit-part"></span>
<details>
<summary>part</summary>


```ts
readonly part: "closeTick" | "openTick" | "stem"
```

Last painted matching segment.

[View source — packages/core/src/features/viz/inspection/ohlc-bar.ts:69](/source/packages/core/src/features/viz/inspection/ohlc-bar-ts/#L69)

</details>

<span id="api-PaintedOhlcBarHit-datum"></span>
<details>
<summary>datum</summary>


```ts
readonly datum: D
```

Caller-owned original record.

[View source — packages/core/src/features/viz/inspection/ohlc-bar.ts:19](/source/packages/core/src/features/viz/inspection/ohlc-bar-ts/#L19)

</details>

<span id="api-PaintedOhlcBarHit-sourceIndex"></span>
<details>
<summary>sourceIndex</summary>


```ts
readonly sourceIndex: number
```

Original source index, including skipped rows.

[View source — packages/core/src/features/viz/inspection/ohlc-bar.ts:21](/source/packages/core/src/features/viz/inspection/ohlc-bar-ts/#L21)

</details>

<span id="api-PaintedOhlcBarHit-time"></span>
<details>
<summary>time</summary>


```ts
readonly time: number
```

Evaluated UTC-millisecond timestamp.

[View source — packages/core/src/features/viz/inspection/ohlc-bar.ts:23](/source/packages/core/src/features/viz/inspection/ohlc-bar-ts/#L23)

</details>

<span id="api-PaintedOhlcBarHit-open"></span>
<details>
<summary>open</summary>


```ts
readonly open: number
```

Evaluated opening value.

[View source — packages/core/src/features/viz/inspection/ohlc-bar.ts:25](/source/packages/core/src/features/viz/inspection/ohlc-bar-ts/#L25)

</details>

<span id="api-PaintedOhlcBarHit-high"></span>
<details>
<summary>high</summary>


```ts
readonly high: number
```

Evaluated high value.

[View source — packages/core/src/features/viz/inspection/ohlc-bar.ts:27](/source/packages/core/src/features/viz/inspection/ohlc-bar-ts/#L27)

</details>

<span id="api-PaintedOhlcBarHit-low"></span>
<details>
<summary>low</summary>


```ts
readonly low: number
```

Evaluated low value.

[View source — packages/core/src/features/viz/inspection/ohlc-bar.ts:29](/source/packages/core/src/features/viz/inspection/ohlc-bar-ts/#L29)

</details>

<span id="api-PaintedOhlcBarHit-close"></span>
<details>
<summary>close</summary>


```ts
readonly close: number
```

Evaluated closing value.

[View source — packages/core/src/features/viz/inspection/ohlc-bar.ts:31](/source/packages/core/src/features/viz/inspection/ohlc-bar-ts/#L31)

</details>

<span id="api-PaintedOhlcBarHit-anchorLocal"></span>
<details>
<summary>anchorLocal</summary>


```ts
readonly anchorLocal: Readonly<RenderedSeriesPoint>
```

Related API: [RenderedSeriesPoint](/reference/functions/rendered-series-inspection/).

Closing endpoint in series-local coordinates.

[View source — packages/core/src/features/viz/inspection/ohlc-bar.ts:32](/source/packages/core/src/features/viz/inspection/ohlc-bar-ts/#L32)

</details>

<span id="api-PaintedOhlcBarHit-anchorRoot"></span>
<details>
<summary>anchorRoot</summary>


```ts
readonly anchorRoot: Readonly<RenderedSeriesPoint>
```

Related API: [RenderedSeriesPoint](/reference/functions/rendered-series-inspection/).

Closing endpoint in root-logical coordinates.

[View source — packages/core/src/features/viz/inspection/ohlc-bar.ts:33](/source/packages/core/src/features/viz/inspection/ohlc-bar-ts/#L33)

</details>

<span id="api-PaintedOhlcBarHit-stemLocal"></span>
<details>
<summary>stemLocal</summary>


```ts
readonly stemLocal: Readonly<{ x: number; highY: number; lowY: number; }>
```

High/low segment before world transforms.

[View source — packages/core/src/features/viz/inspection/ohlc-bar.ts:34](/source/packages/core/src/features/viz/inspection/ohlc-bar-ts/#L34)

</details>

<span id="api-PaintedOhlcBarHit-openTickLocal"></span>
<details>
<summary>openTickLocal</summary>


```ts
readonly openTickLocal: Readonly<{ x1: number; x2: number; y: number; }>
```

Left-facing opening segment before world transforms.

[View source — packages/core/src/features/viz/inspection/ohlc-bar.ts:39](/source/packages/core/src/features/viz/inspection/ohlc-bar-ts/#L39)

</details>

<span id="api-PaintedOhlcBarHit-closeTickLocal"></span>
<details>
<summary>closeTickLocal</summary>


```ts
readonly closeTickLocal: Readonly<{ x1: number; x2: number; y: number; }>
```

Right-facing closing segment before world transforms.

[View source — packages/core/src/features/viz/inspection/ohlc-bar.ts:44](/source/packages/core/src/features/viz/inspection/ohlc-bar-ts/#L44)

</details>

<span id="api-OhlcBarInspectionRef"></span>

### OhlcBarInspectionRef

Mount-owned optional OHLC bar receiver.

```ts
interface OhlcBarInspectionRef<D>
```

Related API: [OhlcBarInspectionRef](/reference/functions/financial-series/).

#### See also

[useOhlcBarInspection](/reference/functions/financial-series/)

[View source — packages/core/src/features/viz/inspection/ohlc-bar.ts:108](/source/packages/core/src/features/viz/inspection/ohlc-bar-ts/#L108)

#### Properties and methods

<span id="api-OhlcBarInspectionRef-rendered"></span>
<details>
<summary>rendered</summary>


```ts
rendered: () => OhlcBarRenderedSeries<D> | undefined
```

Related API: [OhlcBarRenderedSeries](/reference/functions/financial-series/).



##### Returns

Current borrowed generation, or undefined before paint and after disposal.

[View source — packages/core/src/features/viz/inspection/ohlc-bar.ts:110](/source/packages/core/src/features/viz/inspection/ohlc-bar-ts/#L110)

</details>

<span id="api-OhlcBarInspectionRef-capture"></span>
<details>
<summary>capture</summary>


```ts
capture: (input: { marks: readonly CapturedOhlcBarMark<D>[]; xScale: NumericPositionScale; yScale: ResolvedContinuousScale; }) => void
```

Related API: [ResolvedContinuousScale](/reference/functions/utc-domains/).



##### Parameters

- **`input`** — Captured marks and committed mappings.

[View source — packages/core/src/features/viz/inspection/ohlc-bar.ts:113](/source/packages/core/src/features/viz/inspection/ohlc-bar-ts/#L113)

</details>

<span id="api-OhlcBarRenderedSeries"></span>

### OhlcBarRenderedSeries

Borrowed committed OHLC generation.

```ts
interface OhlcBarRenderedSeries<D>
```

Related API: [OhlcBarRenderedSeries](/reference/functions/financial-series/).

#### See also

[OhlcBarInspectionRef](/reference/functions/financial-series/)

[View source — packages/core/src/features/viz/inspection/ohlc-bar.ts:81](/source/packages/core/src/features/viz/inspection/ohlc-bar-ts/#L81)

#### Properties and methods

<span id="api-OhlcBarRenderedSeries-observations"></span>
<details>
<summary>observations</summary>


```ts
readonly observations: readonly OhlcBarObservation<D>[]
```

Related API: [OhlcBarObservation](/reference/functions/financial-series/).

Captured original observations in source order.

[View source — packages/core/src/features/viz/inspection/ohlc-bar.ts:83](/source/packages/core/src/features/viz/inspection/ohlc-bar-ts/#L83)

</details>

<span id="api-OhlcBarRenderedSeries-assertLive"></span>
<details>
<summary>assertLive</summary>


```ts
assertLive: () => void
```

Throws after replacement or disposal.

[View source — packages/core/src/features/viz/inspection/ohlc-bar.ts:85](/source/packages/core/src/features/viz/inspection/ohlc-bar-ts/#L85)

</details>

<span id="api-OhlcBarRenderedSeries-timeAtRoot"></span>
<details>
<summary>timeAtRoot</summary>


```ts
timeAtRoot: (pointRoot: Readonly<RenderedSeriesPoint>) => number | undefined
```

Related API: [RenderedSeriesPoint](/reference/functions/rendered-series-inspection/).

Inverts a root-logical point to a timestamp.

##### Parameters

- **`pointRoot`** — Root-logical point.

##### Returns

Timestamp, or undefined for a singular transform.

[View source — packages/core/src/features/viz/inspection/ohlc-bar.ts:90](/source/packages/core/src/features/viz/inspection/ohlc-bar-ts/#L90)

</details>

<span id="api-OhlcBarRenderedSeries-anchorInsideClips"></span>
<details>
<summary>anchorInsideClips</summary>


```ts
anchorInsideClips: (pointLocal: Readonly<RenderedSeriesPoint>) => boolean
```

Related API: [anchorInsideClips](/reference/functions/rendered-series-inspection/), [RenderedSeriesPoint](/reference/functions/rendered-series-inspection/).

Tests a local point against every committed clip.

##### Parameters

- **`pointLocal`** — Series-local point.

##### Returns

Whether every committed clip contains it.

[View source — packages/core/src/features/viz/inspection/ohlc-bar.ts:95](/source/packages/core/src/features/viz/inspection/ohlc-bar-ts/#L95)

</details>

<span id="api-OhlcBarRenderedSeries-marks"></span>
<details>
<summary>marks</summary>


```ts
readonly marks: readonly CapturedOhlcBarMark<D>[]
```



[View source — packages/core/src/features/viz/inspection/ohlc-bar.ts:96](/source/packages/core/src/features/viz/inspection/ohlc-bar-ts/#L96)

</details>

<span id="api-OhlcBarRenderedSeries-numeric"></span>
<details>
<summary>numeric</summary>


```ts
readonly numeric: NumericRenderedSeries<D>
```

Related API: [NumericRenderedSeries](/reference/functions/rendered-series-inspection/).



[View source — packages/core/src/features/viz/inspection/ohlc-bar.ts:97](/source/packages/core/src/features/viz/inspection/ohlc-bar-ts/#L97)

</details>

<span id="api-OhlcBarRenderedSeries-localAtRoot"></span>
<details>
<summary>localAtRoot</summary>


```ts
localAtRoot: (point: Readonly<RenderedSeriesPoint>) => Readonly<RenderedSeriesPoint> | undefined
```

Related API: [RenderedSeriesPoint](/reference/functions/rendered-series-inspection/).



##### Parameters

- **`point`** — Root-logical coordinate.

##### Returns

Local coordinate, or undefined for a singular transform.

[View source — packages/core/src/features/viz/inspection/ohlc-bar.ts:101](/source/packages/core/src/features/viz/inspection/ohlc-bar-ts/#L101)

</details>

<span id="api-visibleOhlcPriceExtent"></span>

### visibleOhlcPriceExtent

Finds the ascending low/high extent of complete OHLC rows whose mapped center is visible. See
CandlestickSeries.

The supplied position function keeps elapsed-time and fractional trading-slot visibility
explicit. It does not sort or mutate data, interpolate timestamps, or use painted pixels.

```ts
visibleOhlcPriceExtent: <D>(data: readonly D[], options: VisibleOhlcPriceExtentOptions<D>) => LinearDomain | undefined
```

Related API: [visibleOhlcPriceExtent](/reference/functions/financial-series/), [VisibleOhlcPriceExtentOptions](/reference/functions/financial-series/), [LinearDomain](/reference/components/scale/).

#### Parameters

- **`data`** — Original OHLC records in application-owned source order.

- **`options`** — Named accessors and one caller-defined visibility coordinate system.

#### Returns

Frozen ascending low/high endpoints, or undefined when no complete visible candle exists.

#### See also

CandlestickSeries

[View source — packages/core/src/features/viz/lib/financial-autoscale.ts:62](/source/packages/core/src/features/viz/lib/financial-autoscale-ts/#L62)

<span id="api-padLinearDomain"></span>

### padLinearDomain

Expands a finite numeric domain by equal proportional padding on both sides. See
LinearScale.

Flat domains first receive minimumSpan or max(abs(value) * 0.02, 1), then padding.
Input direction is preserved and output endpoints are frozen.

```ts
padLinearDomain: (domain: LinearDomain, options?: PadLinearDomainOptions) => LinearDomain
```

Related API: [padLinearDomain](/reference/functions/financial-series/), [LinearDomain](/reference/components/scale/), [PadLinearDomainOptions](/reference/functions/financial-series/).

#### Parameters

- **`domain`** — Two finite numeric endpoints, including equal values.

- **`options`** — Padding fraction and optional positive effective-span floor.

#### Returns

A distinct finite padded domain in the input direction.

#### See also

LinearScale

[View source — packages/core/src/features/viz/lib/financial-autoscale.ts:111](/source/packages/core/src/features/viz/lib/financial-autoscale-ts/#L111)

<span id="api-VisibleOhlcPriceExtentOptions"></span>

### VisibleOhlcPriceExtentOptions

Inputs that identify complete OHLC candle values. See visibleOhlcPriceExtent.

```ts
interface VisibleOhlcPriceExtentOptions<D>
```

Related API: [VisibleOhlcPriceExtentOptions](/reference/functions/financial-series/).

[View source — packages/core/src/features/viz/lib/financial-autoscale.ts:7](/source/packages/core/src/features/viz/lib/financial-autoscale-ts/#L7)

#### Properties and methods

<span id="api-VisibleOhlcPriceExtentOptions-time"></span>
<details>
<summary>time</summary>


```ts
readonly time: LineAccessor<D>
```

Related API: [LineAccessor](/reference/components/line-series/).

UTC-millisecond property or callback.

[View source — packages/core/src/features/viz/lib/financial-autoscale.ts:9](/source/packages/core/src/features/viz/lib/financial-autoscale-ts/#L9)

</details>

<span id="api-VisibleOhlcPriceExtentOptions-open"></span>
<details>
<summary>open</summary>


```ts
readonly open: LineAccessor<D>
```

Related API: [LineAccessor](/reference/components/line-series/).

Opening-price property or callback.

[View source — packages/core/src/features/viz/lib/financial-autoscale.ts:11](/source/packages/core/src/features/viz/lib/financial-autoscale-ts/#L11)

</details>

<span id="api-VisibleOhlcPriceExtentOptions-high"></span>
<details>
<summary>high</summary>


```ts
readonly high: LineAccessor<D>
```

Related API: [LineAccessor](/reference/components/line-series/).

High-price property or callback.

[View source — packages/core/src/features/viz/lib/financial-autoscale.ts:13](/source/packages/core/src/features/viz/lib/financial-autoscale-ts/#L13)

</details>

<span id="api-VisibleOhlcPriceExtentOptions-low"></span>
<details>
<summary>low</summary>


```ts
readonly low: LineAccessor<D>
```

Related API: [LineAccessor](/reference/components/line-series/).

Low-price property or callback.

[View source — packages/core/src/features/viz/lib/financial-autoscale.ts:15](/source/packages/core/src/features/viz/lib/financial-autoscale-ts/#L15)

</details>

<span id="api-VisibleOhlcPriceExtentOptions-close"></span>
<details>
<summary>close</summary>


```ts
readonly close: LineAccessor<D>
```

Related API: [LineAccessor](/reference/components/line-series/).

Closing-price property or callback.

[View source — packages/core/src/features/viz/lib/financial-autoscale.ts:17](/source/packages/core/src/features/viz/lib/financial-autoscale-ts/#L17)

</details>

<span id="api-VisibleOhlcPriceExtentOptions-positionAtTime"></span>
<details>
<summary>positionAtTime</summary>


```ts
readonly positionAtTime: (time: number) => number | undefined
```

Maps an exact timestamp into the coordinate system used by visibleRange.

##### Parameters

- **`time`** — Finite UTC-millisecond timestamp from the current source row.

##### Returns

A finite position, or undefined to exclude the row.

##### See also

ResolvedTradingTimeScale

[View source — packages/core/src/features/viz/lib/financial-autoscale.ts:24](/source/packages/core/src/features/viz/lib/financial-autoscale-ts/#L24)

</details>

<span id="api-VisibleOhlcPriceExtentOptions-visibleRange"></span>
<details>
<summary>visibleRange</summary>


```ts
readonly visibleRange: LinearDomain
```

Related API: [LinearDomain](/reference/components/scale/).

Two finite endpoints in the positionAtTime coordinate system; either order is accepted.

[View source — packages/core/src/features/viz/lib/financial-autoscale.ts:26](/source/packages/core/src/features/viz/lib/financial-autoscale-ts/#L26)

</details>

<span id="api-VisibleOhlcPriceExtentOptions-defined"></span>
<details>
<summary>defined (optional)</summary>


```ts
readonly defined?: ((datum: D, index: number, data: readonly D[]) => boolean) | undefined
```

Excludes an original row before any accessor runs.

##### Parameters

- **`datum`** — Original source row.

- **`index`** — Source index.

- **`data`** — Complete original source array.

##### Returns

Whether this row participates.

[View source — packages/core/src/features/viz/lib/financial-autoscale.ts:34](/source/packages/core/src/features/viz/lib/financial-autoscale-ts/#L34)

</details>

<span id="api-PadLinearDomainOptions"></span>

### PadLinearDomainOptions

Options for expanding a continuous numeric domain. See padLinearDomain.

```ts
interface PadLinearDomainOptions
```

Related API: [PadLinearDomainOptions](/reference/functions/financial-series/).

[View source — packages/core/src/features/viz/lib/financial-autoscale.ts:38](/source/packages/core/src/features/viz/lib/financial-autoscale-ts/#L38)

#### Properties and methods

<span id="api-PadLinearDomainOptions-padding"></span>
<details>
<summary>padding (optional)</summary>


```ts
readonly padding?: number | undefined
```

Fraction of the effective span added to each side; defaults to 0.1.

[View source — packages/core/src/features/viz/lib/financial-autoscale.ts:40](/source/packages/core/src/features/viz/lib/financial-autoscale-ts/#L40)

</details>

<span id="api-PadLinearDomainOptions-minimumSpan"></span>
<details>
<summary>minimumSpan (optional)</summary>


```ts
readonly minimumSpan?: number | undefined
```

Positive span floor before padding. Flat domains use a deterministic fallback when omitted.

[View source — packages/core/src/features/viz/lib/financial-autoscale.ts:42](/source/packages/core/src/features/viz/lib/financial-autoscale-ts/#L42)

</details>

<span id="api-percentageReturns"></span>

### percentageReturns

Derives source-ordered cumulative simple percentage returns from one exact positive base.

Each defined finite observation becomes `(value / baseValue - 1) * 100`, expressed in
percentage points. This is a fixed-base return series, not a period-over-period return.
Missing/nonfinite values become explicit gaps; a missing exact base returns undefined.

```ts
percentageReturns: <D>(data: readonly D[], options: ComparisonBaseOptions<D>) => readonly PercentageReturnPoint<D>[] | undefined
```

Related API: [percentageReturns](/reference/functions/financial-series/), [ComparisonBaseOptions](/reference/functions/financial-series/), [PercentageReturnPoint](/reference/functions/financial-series/).

#### Parameters

- **`data`** — Caller-owned source observations in presentation order.

- **`options`** — Time/value accessors, exact common base, and optional eligibility predicate.

#### Returns

Frozen points, or undefined when no eligible complete exact base exists.

#### See also

[ComparisonBaseOptions](/reference/functions/financial-series/)

[View source — packages/core/src/features/viz/lib/financial-comparison.ts:149](/source/packages/core/src/features/viz/lib/financial-comparison-ts/#L149)

<span id="api-indexTo100"></span>

### indexTo100

Derives source-ordered values indexed to 100 at one exact positive base observation.

Missing/nonfinite values become explicit gaps; a missing exact base returns undefined.

```ts
indexTo100: <D>(data: readonly D[], options: ComparisonBaseOptions<D>) => readonly IndexedValuePoint<D>[] | undefined
```

Related API: [indexTo100](/reference/functions/financial-series/), [ComparisonBaseOptions](/reference/functions/financial-series/), [IndexedValuePoint](/reference/functions/financial-series/).

#### Parameters

- **`data`** — Caller-owned source observations in presentation order.

- **`options`** — Time/value accessors, exact common base, and optional eligibility predicate.

#### Returns

Frozen points, or undefined when no eligible complete exact base exists.

#### See also

[ComparisonBaseOptions](/reference/functions/financial-series/)

[View source — packages/core/src/features/viz/lib/financial-comparison.ts:175](/source/packages/core/src/features/viz/lib/financial-comparison-ts/#L175)

<span id="api-ComparisonBaseOptions"></span>

### ComparisonBaseOptions

Inputs for a fixed-base financial comparison. See percentageReturns.

```ts
interface ComparisonBaseOptions<D>
```

Related API: [ComparisonBaseOptions](/reference/functions/financial-series/).

[View source — packages/core/src/features/viz/lib/financial-comparison.ts:5](/source/packages/core/src/features/viz/lib/financial-comparison-ts/#L5)

#### Properties and methods

<span id="api-ComparisonBaseOptions-time"></span>
<details>
<summary>time</summary>


```ts
readonly time: LineAccessor<D>
```

Related API: [LineAccessor](/reference/components/line-series/).

UTC-millisecond property or callback that identifies the common base observation.

[View source — packages/core/src/features/viz/lib/financial-comparison.ts:7](/source/packages/core/src/features/viz/lib/financial-comparison-ts/#L7)

</details>

<span id="api-ComparisonBaseOptions-value"></span>
<details>
<summary>value</summary>


```ts
readonly value: LineAccessor<D>
```

Related API: [LineAccessor](/reference/components/line-series/).

Numeric property or callback that supplies each instrument's observed value.

[View source — packages/core/src/features/viz/lib/financial-comparison.ts:9](/source/packages/core/src/features/viz/lib/financial-comparison-ts/#L9)

</details>

<span id="api-ComparisonBaseOptions-baseTime"></span>
<details>
<summary>baseTime</summary>


```ts
readonly baseTime: number
```

Safe UTC-millisecond timestamp that must match exactly one eligible complete observation.

[View source — packages/core/src/features/viz/lib/financial-comparison.ts:11](/source/packages/core/src/features/viz/lib/financial-comparison-ts/#L11)

</details>

<span id="api-ComparisonBaseOptions-defined"></span>
<details>
<summary>defined (optional)</summary>


```ts
readonly defined?: ((datum: D, index: number, data: readonly D[]) => boolean) | undefined
```

Excludes a row before either accessor runs and produces a derived gap.

##### Parameters

- **`datum`** — Original source observation.

- **`index`** — Original source index.

- **`data`** — Complete original source array.

##### Returns

Whether this observation is eligible for the base and derived points.

[View source — packages/core/src/features/viz/lib/financial-comparison.ts:19](/source/packages/core/src/features/viz/lib/financial-comparison-ts/#L19)

</details>

<span id="api-PercentageReturnPoint"></span>

### PercentageReturnPoint

One source-ordered cumulative simple-return observation. See percentageReturns.

```ts
interface PercentageReturnPoint<D>
```

Related API: [PercentageReturnPoint](/reference/functions/financial-series/).

[View source — packages/core/src/features/viz/lib/financial-comparison.ts:23](/source/packages/core/src/features/viz/lib/financial-comparison-ts/#L23)

#### Properties and methods

<span id="api-PercentageReturnPoint-datum"></span>
<details>
<summary>datum</summary>


```ts
readonly datum: D
```

Caller-owned original observation.

[View source — packages/core/src/features/viz/lib/financial-comparison.ts:25](/source/packages/core/src/features/viz/lib/financial-comparison-ts/#L25)

</details>

<span id="api-PercentageReturnPoint-sourceIndex"></span>
<details>
<summary>sourceIndex</summary>


```ts
readonly sourceIndex: number
```

Original index, including rows that become gaps.

[View source — packages/core/src/features/viz/lib/financial-comparison.ts:27](/source/packages/core/src/features/viz/lib/financial-comparison-ts/#L27)

</details>

<span id="api-PercentageReturnPoint-time"></span>
<details>
<summary>time</summary>


```ts
readonly time: number | null
```

Evaluated finite timestamp, or null for a missing, invalid, or excluded row.

[View source — packages/core/src/features/viz/lib/financial-comparison.ts:29](/source/packages/core/src/features/viz/lib/financial-comparison-ts/#L29)

</details>

<span id="api-PercentageReturnPoint-returnPercent"></span>
<details>
<summary>returnPercent</summary>


```ts
readonly returnPercent: number | null
```

Percentage change from the common base, or null for a gap.

[View source — packages/core/src/features/viz/lib/financial-comparison.ts:31](/source/packages/core/src/features/viz/lib/financial-comparison-ts/#L31)

</details>

<span id="api-IndexedValuePoint"></span>

### IndexedValuePoint

One source-ordered base-100 indexed observation. See indexTo100.

```ts
interface IndexedValuePoint<D>
```

Related API: [IndexedValuePoint](/reference/functions/financial-series/).

[View source — packages/core/src/features/viz/lib/financial-comparison.ts:35](/source/packages/core/src/features/viz/lib/financial-comparison-ts/#L35)

#### Properties and methods

<span id="api-IndexedValuePoint-datum"></span>
<details>
<summary>datum</summary>


```ts
readonly datum: D
```

Caller-owned original observation.

[View source — packages/core/src/features/viz/lib/financial-comparison.ts:37](/source/packages/core/src/features/viz/lib/financial-comparison-ts/#L37)

</details>

<span id="api-IndexedValuePoint-sourceIndex"></span>
<details>
<summary>sourceIndex</summary>


```ts
readonly sourceIndex: number
```

Original index, including rows that become gaps.

[View source — packages/core/src/features/viz/lib/financial-comparison.ts:39](/source/packages/core/src/features/viz/lib/financial-comparison-ts/#L39)

</details>

<span id="api-IndexedValuePoint-time"></span>
<details>
<summary>time</summary>


```ts
readonly time: number | null
```

Evaluated finite timestamp, or null for a missing, invalid, or excluded row.

[View source — packages/core/src/features/viz/lib/financial-comparison.ts:41](/source/packages/core/src/features/viz/lib/financial-comparison-ts/#L41)

</details>

<span id="api-IndexedValuePoint-indexValue"></span>
<details>
<summary>indexValue</summary>


```ts
readonly indexValue: number | null
```

Value indexed to 100 at the common base, or null for a gap.

[View source — packages/core/src/features/viz/lib/financial-comparison.ts:43](/source/packages/core/src/features/viz/lib/financial-comparison-ts/#L43)

</details>

<span id="api-aggregateOhlcv"></span>

### aggregateOhlcv

Aggregates source-ordered complete OHLCV records into caller-defined chronological buckets.

It never sorts or mutates source records. Missing, excluded, and null-bucket records are skipped;
finite malformed candles, negative volume, noncontiguous bucket bounds, and time disorder reject.

```ts
aggregateOhlcv: <D>(data: readonly D[], options: AggregateOhlcvOptions<D>) => readonly AggregatedOhlcvPoint<D>[]
```

Related API: [aggregateOhlcv](/reference/functions/financial-series/), [AggregateOhlcvOptions](/reference/functions/financial-series/), [AggregatedOhlcvPoint](/reference/functions/financial-series/).

#### Parameters

- **`data`** — Caller-owned source observations in chronological order.

- **`options`** — OHLCV accessors, bucket definition, and optional participation callback.

#### Returns

Frozen anchored aggregate bars with frozen original source references.

#### See also

[AggregateOhlcvOptions](/reference/functions/financial-series/)

[AggregatedOhlcvPoint](/reference/functions/financial-series/)

[View source — packages/core/src/features/viz/lib/financial-aggregation.ts:167](/source/packages/core/src/features/viz/lib/financial-aggregation-ts/#L167)

<span id="api-sessionVwap"></span>

### sessionVwap

Derives source-aligned volume-weighted prices that reset whenever the session identifier changes.

Missing prices or volumes and excluded rows produce null without changing the current accumulated
state. Zero-volume complete records preserve the preceding VWAP; negative volumes reject.

```ts
sessionVwap: <D>(data: readonly D[], options: SessionVwapOptions<D>) => readonly SessionVwapPoint<D>[]
```

Related API: [sessionVwap](/reference/functions/financial-series/), [SessionVwapOptions](/reference/functions/financial-series/), [SessionVwapPoint](/reference/functions/financial-series/).

#### Parameters

- **`data`** — Caller-owned source observations in presentation order.

- **`options`** — Price, volume, session accessors, and optional participation callback.

#### Returns

Frozen source-aligned points with current cumulative volume and VWAP or null.

#### See also

[SessionVwapOptions](/reference/functions/financial-series/)

[SessionVwapPoint](/reference/functions/financial-series/)

[View source — packages/core/src/features/viz/lib/financial-aggregation.ts:222](/source/packages/core/src/features/viz/lib/financial-aggregation-ts/#L222)

<span id="api-OhlcvBucket"></span>

### OhlcvBucket

One half-open time interval used to group complete OHLCV records. See AggregateOhlcvOptions.

```ts
interface OhlcvBucket
```

Related API: [OhlcvBucket](/reference/functions/financial-series/).

[View source — packages/core/src/features/viz/lib/financial-aggregation.ts:5](/source/packages/core/src/features/viz/lib/financial-aggregation-ts/#L5)

#### Properties and methods

<span id="api-OhlcvBucket-start"></span>
<details>
<summary>start</summary>


```ts
readonly start: number
```

Inclusive finite start coordinate.

[View source — packages/core/src/features/viz/lib/financial-aggregation.ts:7](/source/packages/core/src/features/viz/lib/financial-aggregation-ts/#L7)

</details>

<span id="api-OhlcvBucket-end"></span>
<details>
<summary>end</summary>


```ts
readonly end: number
```

Exclusive finite end coordinate after the start.

[View source — packages/core/src/features/viz/lib/financial-aggregation.ts:9](/source/packages/core/src/features/viz/lib/financial-aggregation-ts/#L9)

</details>

<span id="api-OhlcvSource"></span>

### OhlcvSource

Original source record that contributed to an aggregated OHLCV bar. See AggregatedOhlcvPoint.

```ts
interface OhlcvSource<D>
```

Related API: [OhlcvSource](/reference/functions/financial-series/).

[View source — packages/core/src/features/viz/lib/financial-aggregation.ts:13](/source/packages/core/src/features/viz/lib/financial-aggregation-ts/#L13)

#### Properties and methods

<span id="api-OhlcvSource-datum"></span>
<details>
<summary>datum</summary>


```ts
readonly datum: D
```

Caller-owned complete contributing record.

[View source — packages/core/src/features/viz/lib/financial-aggregation.ts:15](/source/packages/core/src/features/viz/lib/financial-aggregation-ts/#L15)

</details>

<span id="api-OhlcvSource-sourceIndex"></span>
<details>
<summary>sourceIndex</summary>


```ts
readonly sourceIndex: number
```

Original source index.

[View source — packages/core/src/features/viz/lib/financial-aggregation.ts:17](/source/packages/core/src/features/viz/lib/financial-aggregation-ts/#L17)

</details>

<span id="api-AggregatedOhlcvPoint"></span>

### AggregatedOhlcvPoint

One frozen OHLCV bar aggregated without sorting caller-owned records. See aggregateOhlcv.

```ts
interface AggregatedOhlcvPoint<D> extends OhlcvBucket
```

Related API: [AggregatedOhlcvPoint](/reference/functions/financial-series/), [OhlcvBucket](/reference/functions/financial-series/).

[View source — packages/core/src/features/viz/lib/financial-aggregation.ts:21](/source/packages/core/src/features/viz/lib/financial-aggregation-ts/#L21)

#### Properties and methods

<span id="api-AggregatedOhlcvPoint-open"></span>
<details>
<summary>open</summary>


```ts
readonly open: number
```

Open from the first contributing record.

[View source — packages/core/src/features/viz/lib/financial-aggregation.ts:23](/source/packages/core/src/features/viz/lib/financial-aggregation-ts/#L23)

</details>

<span id="api-AggregatedOhlcvPoint-high"></span>
<details>
<summary>high</summary>


```ts
readonly high: number
```

Maximum high from contributing records.

[View source — packages/core/src/features/viz/lib/financial-aggregation.ts:25](/source/packages/core/src/features/viz/lib/financial-aggregation-ts/#L25)

</details>

<span id="api-AggregatedOhlcvPoint-low"></span>
<details>
<summary>low</summary>


```ts
readonly low: number
```

Minimum low from contributing records.

[View source — packages/core/src/features/viz/lib/financial-aggregation.ts:27](/source/packages/core/src/features/viz/lib/financial-aggregation-ts/#L27)

</details>

<span id="api-AggregatedOhlcvPoint-close"></span>
<details>
<summary>close</summary>


```ts
readonly close: number
```

Close from the last contributing record.

[View source — packages/core/src/features/viz/lib/financial-aggregation.ts:29](/source/packages/core/src/features/viz/lib/financial-aggregation-ts/#L29)

</details>

<span id="api-AggregatedOhlcvPoint-volume"></span>
<details>
<summary>volume</summary>


```ts
readonly volume: number
```

Finite sum of non-negative contributing volumes.

[View source — packages/core/src/features/viz/lib/financial-aggregation.ts:31](/source/packages/core/src/features/viz/lib/financial-aggregation-ts/#L31)

</details>

<span id="api-AggregatedOhlcvPoint-sources"></span>
<details>
<summary>sources</summary>


```ts
readonly sources: readonly OhlcvSource<D>[]
```

Related API: [OhlcvSource](/reference/functions/financial-series/).

Frozen references to contributing caller-owned records.

[View source — packages/core/src/features/viz/lib/financial-aggregation.ts:33](/source/packages/core/src/features/viz/lib/financial-aggregation-ts/#L33)

</details>

<span id="api-AggregatedOhlcvPoint-start"></span>
<details>
<summary>start</summary>


```ts
readonly start: number
```

Inclusive finite start coordinate.

[View source — packages/core/src/features/viz/lib/financial-aggregation.ts:7](/source/packages/core/src/features/viz/lib/financial-aggregation-ts/#L7)

</details>

<span id="api-AggregatedOhlcvPoint-end"></span>
<details>
<summary>end</summary>


```ts
readonly end: number
```

Exclusive finite end coordinate after the start.

[View source — packages/core/src/features/viz/lib/financial-aggregation.ts:9](/source/packages/core/src/features/viz/lib/financial-aggregation-ts/#L9)

</details>

<span id="api-AggregateOhlcvOptions"></span>

### AggregateOhlcvOptions

Inputs for chronological OHLCV aggregation. See aggregateOhlcv.

```ts
interface AggregateOhlcvOptions<D>
```

Related API: [AggregateOhlcvOptions](/reference/functions/financial-series/).

[View source — packages/core/src/features/viz/lib/financial-aggregation.ts:37](/source/packages/core/src/features/viz/lib/financial-aggregation-ts/#L37)

#### Properties and methods

<span id="api-AggregateOhlcvOptions-time"></span>
<details>
<summary>time</summary>


```ts
readonly time: LineAccessor<D>
```

Related API: [LineAccessor](/reference/components/line-series/).

Numeric property or callback that supplies each record's time coordinate.

[View source — packages/core/src/features/viz/lib/financial-aggregation.ts:39](/source/packages/core/src/features/viz/lib/financial-aggregation-ts/#L39)

</details>

<span id="api-AggregateOhlcvOptions-open"></span>
<details>
<summary>open</summary>


```ts
readonly open: LineAccessor<D>
```

Related API: [LineAccessor](/reference/components/line-series/).

Numeric property or callback that supplies open.

[View source — packages/core/src/features/viz/lib/financial-aggregation.ts:41](/source/packages/core/src/features/viz/lib/financial-aggregation-ts/#L41)

</details>

<span id="api-AggregateOhlcvOptions-high"></span>
<details>
<summary>high</summary>


```ts
readonly high: LineAccessor<D>
```

Related API: [LineAccessor](/reference/components/line-series/).

Numeric property or callback that supplies high.

[View source — packages/core/src/features/viz/lib/financial-aggregation.ts:43](/source/packages/core/src/features/viz/lib/financial-aggregation-ts/#L43)

</details>

<span id="api-AggregateOhlcvOptions-low"></span>
<details>
<summary>low</summary>


```ts
readonly low: LineAccessor<D>
```

Related API: [LineAccessor](/reference/components/line-series/).

Numeric property or callback that supplies low.

[View source — packages/core/src/features/viz/lib/financial-aggregation.ts:45](/source/packages/core/src/features/viz/lib/financial-aggregation-ts/#L45)

</details>

<span id="api-AggregateOhlcvOptions-close"></span>
<details>
<summary>close</summary>


```ts
readonly close: LineAccessor<D>
```

Related API: [LineAccessor](/reference/components/line-series/).

Numeric property or callback that supplies close.

[View source — packages/core/src/features/viz/lib/financial-aggregation.ts:47](/source/packages/core/src/features/viz/lib/financial-aggregation-ts/#L47)

</details>

<span id="api-AggregateOhlcvOptions-volume"></span>
<details>
<summary>volume</summary>


```ts
readonly volume: LineAccessor<D>
```

Related API: [LineAccessor](/reference/components/line-series/).

Numeric property or callback that supplies non-negative volume.

[View source — packages/core/src/features/viz/lib/financial-aggregation.ts:49](/source/packages/core/src/features/viz/lib/financial-aggregation-ts/#L49)

</details>

<span id="api-AggregateOhlcvOptions-bucket"></span>
<details>
<summary>bucket</summary>


```ts
readonly bucket: (time: number) => OhlcvBucket | null
```

Related API: [OhlcvBucket](/reference/functions/financial-series/).

Returns the half-open aggregate bucket for one eligible finite timestamp, or null to skip it.

##### Parameters

- **`time`** — Eligible finite source timestamp.

##### Returns

A containing half-open bucket, or null when the record is not aggregated.

##### See also

[OhlcvBucket](/reference/functions/financial-series/)

[View source — packages/core/src/features/viz/lib/financial-aggregation.ts:56](/source/packages/core/src/features/viz/lib/financial-aggregation-ts/#L56)

</details>

<span id="api-AggregateOhlcvOptions-defined"></span>
<details>
<summary>defined (optional)</summary>


```ts
readonly defined?: ((datum: D, index: number, data: readonly D[]) => boolean) | undefined
```

Excludes a record before its OHLCV and bucket accessors run.

##### Parameters

- **`datum`** — Original source observation.

- **`index`** — Zero-based source index.

- **`data`** — Complete caller-supplied source array.

##### Returns

Whether this observation may contribute.

[View source — packages/core/src/features/viz/lib/financial-aggregation.ts:64](/source/packages/core/src/features/viz/lib/financial-aggregation-ts/#L64)

</details>

<span id="api-SessionIdentifier"></span>

### SessionIdentifier

A valid session identifier supplied to sessionVwap.

```ts
type SessionIdentifier = string | number
```

Related API: [SessionIdentifier](/reference/functions/financial-series/).

[View source — packages/core/src/features/viz/lib/financial-aggregation.ts:68](/source/packages/core/src/features/viz/lib/financial-aggregation-ts/#L68)

<span id="api-SessionAccessor"></span>

### SessionAccessor

A property or callback that supplies the session containing a source record.

```ts
type SessionAccessor<D> = | { [K in keyof D]-?: D[K] extends SessionIdentifier ? K : never }[keyof D]
  | ((datum: D, index: number, data: readonly D[]) => SessionIdentifier)
```

Related API: [SessionAccessor](/reference/functions/financial-series/), [SessionIdentifier](/reference/functions/financial-series/).

#### Parameters

- **`datum`** — Source observation under consideration.

- **`index`** — Zero-based source index.

- **`data`** — Complete caller-supplied source array.

#### Returns

The record's string or finite numeric session identifier.

#### See also

[SessionVwapOptions](/reference/functions/financial-series/)

[View source — packages/core/src/features/viz/lib/financial-aggregation.ts:78](/source/packages/core/src/features/viz/lib/financial-aggregation-ts/#L78)

<span id="api-SessionVwapOptions"></span>

### SessionVwapOptions

Inputs for source-aligned session VWAP. See sessionVwap.

```ts
interface SessionVwapOptions<D>
```

Related API: [SessionVwapOptions](/reference/functions/financial-series/).

[View source — packages/core/src/features/viz/lib/financial-aggregation.ts:83](/source/packages/core/src/features/viz/lib/financial-aggregation-ts/#L83)

#### Properties and methods

<span id="api-SessionVwapOptions-price"></span>
<details>
<summary>price</summary>


```ts
readonly price: LineAccessor<D>
```

Related API: [LineAccessor](/reference/components/line-series/).

Numeric property or callback that supplies each record's price.

[View source — packages/core/src/features/viz/lib/financial-aggregation.ts:85](/source/packages/core/src/features/viz/lib/financial-aggregation-ts/#L85)

</details>

<span id="api-SessionVwapOptions-volume"></span>
<details>
<summary>volume</summary>


```ts
readonly volume: LineAccessor<D>
```

Related API: [LineAccessor](/reference/components/line-series/).

Numeric property or callback that supplies non-negative volume.

[View source — packages/core/src/features/viz/lib/financial-aggregation.ts:87](/source/packages/core/src/features/viz/lib/financial-aggregation-ts/#L87)

</details>

<span id="api-SessionVwapOptions-session"></span>
<details>
<summary>session</summary>


```ts
readonly session: SessionAccessor<D>
```

Related API: [SessionAccessor](/reference/functions/financial-series/).

Property or callback that supplies the current string or finite numeric session identifier.

[View source — packages/core/src/features/viz/lib/financial-aggregation.ts:89](/source/packages/core/src/features/viz/lib/financial-aggregation-ts/#L89)

</details>

<span id="api-SessionVwapOptions-defined"></span>
<details>
<summary>defined (optional)</summary>


```ts
readonly defined?: ((datum: D, index: number, data: readonly D[]) => boolean) | undefined
```

Excludes a row before price and volume accessors run; its session still resets state.

##### Parameters

- **`datum`** — Original source observation.

- **`index`** — Zero-based source index.

- **`data`** — Complete caller-supplied source array.

##### Returns

Whether this observation participates in VWAP calculation.

[View source — packages/core/src/features/viz/lib/financial-aggregation.ts:97](/source/packages/core/src/features/viz/lib/financial-aggregation-ts/#L97)

</details>

<span id="api-SessionVwapPoint"></span>

### SessionVwapPoint

One frozen source-aligned session VWAP point. See sessionVwap.

```ts
interface SessionVwapPoint<D>
```

Related API: [SessionVwapPoint](/reference/functions/financial-series/).

[View source — packages/core/src/features/viz/lib/financial-aggregation.ts:101](/source/packages/core/src/features/viz/lib/financial-aggregation-ts/#L101)

#### Properties and methods

<span id="api-SessionVwapPoint-datum"></span>
<details>
<summary>datum</summary>


```ts
readonly datum: D
```

Caller-owned original record.

[View source — packages/core/src/features/viz/lib/financial-aggregation.ts:103](/source/packages/core/src/features/viz/lib/financial-aggregation-ts/#L103)

</details>

<span id="api-SessionVwapPoint-sourceIndex"></span>
<details>
<summary>sourceIndex</summary>


```ts
readonly sourceIndex: number
```

Original source index, including excluded and incomplete records.

[View source — packages/core/src/features/viz/lib/financial-aggregation.ts:105](/source/packages/core/src/features/viz/lib/financial-aggregation-ts/#L105)

</details>

<span id="api-SessionVwapPoint-session"></span>
<details>
<summary>session</summary>


```ts
readonly session: SessionIdentifier
```

Related API: [SessionIdentifier](/reference/functions/financial-series/).

Evaluated session, including for an excluded source record.

[View source — packages/core/src/features/viz/lib/financial-aggregation.ts:107](/source/packages/core/src/features/viz/lib/financial-aggregation-ts/#L107)

</details>

<span id="api-SessionVwapPoint-cumulativeVolume"></span>
<details>
<summary>cumulativeVolume</summary>


```ts
readonly cumulativeVolume: number
```

Finite volume accumulated for this session before or including this record.

[View source — packages/core/src/features/viz/lib/financial-aggregation.ts:109](/source/packages/core/src/features/viz/lib/financial-aggregation-ts/#L109)

</details>

<span id="api-SessionVwapPoint-vwap"></span>
<details>
<summary>vwap</summary>


```ts
readonly vwap: number | null
```

Session VWAP after this valid record, null for incomplete or excluded records.

[View source — packages/core/src/features/viz/lib/financial-aggregation.ts:111](/source/packages/core/src/features/viz/lib/financial-aggregation-ts/#L111)

</details>

<span id="api-simpleMovingAverage"></span>

### simpleMovingAverage

Derives a source-aligned simple moving average from consecutive finite observations.

Missing, nonfinite, and excluded observations produce null and reset warmup. Results are
population-neutral arithmetic means; no timestamps are inferred or changed.

```ts
simpleMovingAverage: <D>(data: readonly D[], options: MovingAverageOptions<D>) => readonly MovingAveragePoint<D>[]
```

Related API: [simpleMovingAverage](/reference/functions/financial-series/), [MovingAverageOptions](/reference/functions/financial-series/), [MovingAveragePoint](/reference/functions/financial-series/).

#### Parameters

- **`data`** — Source observations, retained in their original order.

- **`options`** — Value accessor, consecutive period, and optional participation callback.

#### Returns

Frozen source-aligned average observations, with null during warmup and gaps.

#### See also

[MovingAverageOptions](/reference/functions/financial-series/)

[MovingAveragePoint](/reference/functions/financial-series/)

[View source — packages/core/src/features/viz/lib/financial-indicators.ts:154](/source/packages/core/src/features/viz/lib/financial-indicators-ts/#L154)

<span id="api-exponentialMovingAverage"></span>

### exponentialMovingAverage

Derives a source-aligned exponential moving average seeded by the first complete SMA window.

Its smoothing factor is `2 / (period + 1)`. Missing, nonfinite, and excluded observations
produce null and reset the seed window.

```ts
exponentialMovingAverage: <D>(data: readonly D[], options: MovingAverageOptions<D>) => readonly MovingAveragePoint<D>[]
```

Related API: [exponentialMovingAverage](/reference/functions/financial-series/), [MovingAverageOptions](/reference/functions/financial-series/), [MovingAveragePoint](/reference/functions/financial-series/).

#### Parameters

- **`data`** — Source observations, retained in their original order.

- **`options`** — Value accessor, consecutive seed period, and optional participation callback.

#### Returns

Frozen source-aligned average observations, with null during warmup and gaps.

#### See also

[MovingAverageOptions](/reference/functions/financial-series/)

[MovingAveragePoint](/reference/functions/financial-series/)

[View source — packages/core/src/features/viz/lib/financial-indicators.ts:188](/source/packages/core/src/features/viz/lib/financial-indicators-ts/#L188)

<span id="api-bollingerBands"></span>

### bollingerBands

Derives source-aligned Bollinger bands from trailing consecutive population-standard-deviation windows.

Missing, nonfinite, and excluded observations produce null bands and reset warmup. The multiplier
defaults to 2; caller-owned data are neither sorted nor mutated.

```ts
bollingerBands: <D>(data: readonly D[], options: BollingerBandsOptions<D>) => readonly BollingerBandPoint<D>[]
```

Related API: [bollingerBands](/reference/functions/financial-series/), [BollingerBandsOptions](/reference/functions/financial-series/), [BollingerBandPoint](/reference/functions/financial-series/).

#### Parameters

- **`data`** — Source observations, retained in their original order.

- **`options`** — Value accessor, period, participation callback, and optional band multiplier.

#### Returns

Frozen source-aligned population-standard-deviation band observations.

#### See also

[BollingerBandsOptions](/reference/functions/financial-series/)

[BollingerBandPoint](/reference/functions/financial-series/)

[View source — packages/core/src/features/viz/lib/financial-indicators.ts:227](/source/packages/core/src/features/viz/lib/financial-indicators-ts/#L227)

<span id="api-MovingAverageOptions"></span>

### MovingAverageOptions

Inputs shared by source-aligned moving-average indicators.

```ts
interface MovingAverageOptions<D>
```

Related API: [MovingAverageOptions](/reference/functions/financial-series/).

#### See also

[MovingAveragePoint](/reference/functions/financial-series/)

[LineAccessor](/reference/components/line-series/)

[View source — packages/core/src/features/viz/lib/financial-indicators.ts:10](/source/packages/core/src/features/viz/lib/financial-indicators-ts/#L10)

#### Properties and methods

<span id="api-MovingAverageOptions-value"></span>
<details>
<summary>value</summary>


```ts
readonly value: LineAccessor<D>
```

Related API: [LineAccessor](/reference/components/line-series/).

Numeric property or callback that supplies each observation.

##### See also

[LineAccessor](/reference/components/line-series/)

[View source — packages/core/src/features/viz/lib/financial-indicators.ts:16](/source/packages/core/src/features/viz/lib/financial-indicators-ts/#L16)

</details>

<span id="api-MovingAverageOptions-period"></span>
<details>
<summary>period</summary>


```ts
readonly period: number
```

Required number of consecutive complete observations in each window.

##### See also

[MovingAveragePoint](/reference/functions/financial-series/)

[View source — packages/core/src/features/viz/lib/financial-indicators.ts:22](/source/packages/core/src/features/viz/lib/financial-indicators-ts/#L22)

</details>

<span id="api-MovingAverageOptions-defined"></span>
<details>
<summary>defined (optional)</summary>


```ts
readonly defined?: ((datum: D, index: number, data: readonly D[]) => boolean) | undefined
```

Excludes a row before its value accessor runs and resets the current window.

##### Parameters

- **`datum`** — Source observation under consideration.

- **`index`** — Zero-based source index.

- **`data`** — Complete caller-supplied source data.

##### Returns

Whether the observation participates in the current consecutive window.

##### See also

[LineAccessor](/reference/components/line-series/)

[View source — packages/core/src/features/viz/lib/financial-indicators.ts:32](/source/packages/core/src/features/viz/lib/financial-indicators-ts/#L32)

</details>

<span id="api-BollingerBandsOptions"></span>

### BollingerBandsOptions

Inputs for source-aligned population-standard-deviation Bollinger bands.

```ts
interface BollingerBandsOptions<D> extends MovingAverageOptions<D>
```

Related API: [BollingerBandsOptions](/reference/functions/financial-series/), [MovingAverageOptions](/reference/functions/financial-series/).

#### See also

[MovingAverageOptions](/reference/functions/financial-series/)

[BollingerBandPoint](/reference/functions/financial-series/)

[View source — packages/core/src/features/viz/lib/financial-indicators.ts:41](/source/packages/core/src/features/viz/lib/financial-indicators-ts/#L41)

#### Properties and methods

<span id="api-BollingerBandsOptions-multiplier"></span>
<details>
<summary>multiplier (optional)</summary>


```ts
readonly multiplier?: number | undefined
```

Number of population standard deviations from the mean; defaults to 2.

##### See also

[BollingerBandPoint](/reference/functions/financial-series/)

[View source — packages/core/src/features/viz/lib/financial-indicators.ts:47](/source/packages/core/src/features/viz/lib/financial-indicators-ts/#L47)

</details>

<span id="api-BollingerBandsOptions-value"></span>
<details>
<summary>value</summary>


```ts
readonly value: LineAccessor<D>
```

Related API: [LineAccessor](/reference/components/line-series/).

Numeric property or callback that supplies each observation.

##### See also

[LineAccessor](/reference/components/line-series/)

[View source — packages/core/src/features/viz/lib/financial-indicators.ts:16](/source/packages/core/src/features/viz/lib/financial-indicators-ts/#L16)

</details>

<span id="api-BollingerBandsOptions-period"></span>
<details>
<summary>period</summary>


```ts
readonly period: number
```

Required number of consecutive complete observations in each window.

##### See also

[MovingAveragePoint](/reference/functions/financial-series/)

[View source — packages/core/src/features/viz/lib/financial-indicators.ts:22](/source/packages/core/src/features/viz/lib/financial-indicators-ts/#L22)

</details>

<span id="api-BollingerBandsOptions-defined"></span>
<details>
<summary>defined (optional)</summary>


```ts
readonly defined?: ((datum: D, index: number, data: readonly D[]) => boolean) | undefined
```

Excludes a row before its value accessor runs and resets the current window.

##### Parameters

- **`datum`** — Source observation under consideration.

- **`index`** — Zero-based source index.

- **`data`** — Complete caller-supplied source data.

##### Returns

Whether the observation participates in the current consecutive window.

##### See also

[LineAccessor](/reference/components/line-series/)

[View source — packages/core/src/features/viz/lib/financial-indicators.ts:32](/source/packages/core/src/features/viz/lib/financial-indicators-ts/#L32)

</details>

<span id="api-MovingAveragePoint"></span>

### MovingAveragePoint

One source-aligned simple or exponential moving-average observation.

```ts
interface MovingAveragePoint<D>
```

Related API: [MovingAveragePoint](/reference/functions/financial-series/).

#### See also

[MovingAverageOptions](/reference/functions/financial-series/)

[View source — packages/core/src/features/viz/lib/financial-indicators.ts:55](/source/packages/core/src/features/viz/lib/financial-indicators-ts/#L55)

#### Properties and methods

<span id="api-MovingAveragePoint-datum"></span>
<details>
<summary>datum</summary>


```ts
readonly datum: D
```

Caller-owned original observation.

[View source — packages/core/src/features/viz/lib/financial-indicators.ts:57](/source/packages/core/src/features/viz/lib/financial-indicators-ts/#L57)

</details>

<span id="api-MovingAveragePoint-sourceIndex"></span>
<details>
<summary>sourceIndex</summary>


```ts
readonly sourceIndex: number
```

Original source index, including rows that become gaps.

[View source — packages/core/src/features/viz/lib/financial-indicators.ts:59](/source/packages/core/src/features/viz/lib/financial-indicators-ts/#L59)

</details>

<span id="api-MovingAveragePoint-average"></span>
<details>
<summary>average</summary>


```ts
readonly average: number | null
```

Average after a complete consecutive window, or null during warmup/a gap.

[View source — packages/core/src/features/viz/lib/financial-indicators.ts:61](/source/packages/core/src/features/viz/lib/financial-indicators-ts/#L61)

</details>

<span id="api-BollingerBandPoint"></span>

### BollingerBandPoint

One source-aligned population-standard-deviation Bollinger-band observation.

```ts
interface BollingerBandPoint<D>
```

Related API: [BollingerBandPoint](/reference/functions/financial-series/).

#### See also

[BollingerBandsOptions](/reference/functions/financial-series/)

[View source — packages/core/src/features/viz/lib/financial-indicators.ts:69](/source/packages/core/src/features/viz/lib/financial-indicators-ts/#L69)

#### Properties and methods

<span id="api-BollingerBandPoint-datum"></span>
<details>
<summary>datum</summary>


```ts
readonly datum: D
```

Caller-owned original observation.

[View source — packages/core/src/features/viz/lib/financial-indicators.ts:71](/source/packages/core/src/features/viz/lib/financial-indicators-ts/#L71)

</details>

<span id="api-BollingerBandPoint-sourceIndex"></span>
<details>
<summary>sourceIndex</summary>


```ts
readonly sourceIndex: number
```

Original source index, including rows that become gaps.

[View source — packages/core/src/features/viz/lib/financial-indicators.ts:73](/source/packages/core/src/features/viz/lib/financial-indicators-ts/#L73)

</details>

<span id="api-BollingerBandPoint-mean"></span>
<details>
<summary>mean</summary>


```ts
readonly mean: number | null
```

Window mean, or null during warmup/a gap.

[View source — packages/core/src/features/viz/lib/financial-indicators.ts:75](/source/packages/core/src/features/viz/lib/financial-indicators-ts/#L75)

</details>

<span id="api-BollingerBandPoint-lower"></span>
<details>
<summary>lower</summary>


```ts
readonly lower: number | null
```

Mean minus multiplier population standard deviations, or null during warmup/a gap.

[View source — packages/core/src/features/viz/lib/financial-indicators.ts:77](/source/packages/core/src/features/viz/lib/financial-indicators-ts/#L77)

</details>

<span id="api-BollingerBandPoint-upper"></span>
<details>
<summary>upper</summary>


```ts
readonly upper: number | null
```

Mean plus multiplier population standard deviations, or null during warmup/a gap.

[View source — packages/core/src/features/viz/lib/financial-indicators.ts:79](/source/packages/core/src/features/viz/lib/financial-indicators-ts/#L79)

</details>

<span id="api-relativeStrengthIndex"></span>

### relativeStrengthIndex

Derives source-aligned Wilder relative strength index observations.

The first RSI follows a full `period` of consecutive price changes, requiring `period + 1`
consecutive prices. Flat average gain/loss yields 50; gain-only yields 100 and loss-only yields
0. Missing, nonfinite, and excluded rows produce null and reset the seed.

```ts
relativeStrengthIndex: <D>(data: readonly D[], options: RelativeStrengthIndexOptions<D>) => readonly RelativeStrengthIndexPoint<D>[]
```

Related API: [relativeStrengthIndex](/reference/functions/financial-series/), [RelativeStrengthIndexOptions](/reference/functions/financial-series/), [RelativeStrengthIndexPoint](/reference/functions/financial-series/).

#### Parameters

- **`data`** — Source observations, retained in their original order.

- **`options`** — Closing value accessor, Wilder period, and optional participation callback.

#### Returns

Frozen source-aligned RSI observations.

#### See also

[RelativeStrengthIndexOptions](/reference/functions/financial-series/)

[RelativeStrengthIndexPoint](/reference/functions/financial-series/)

[View source — packages/core/src/features/viz/lib/financial-oscillators.ts:202](/source/packages/core/src/features/viz/lib/financial-oscillators-ts/#L202)

<span id="api-movingAverageConvergenceDivergence"></span>

### movingAverageConvergenceDivergence

Derives source-aligned MACD, signal, and histogram observations from SMA-seeded EMAs.

Missing, nonfinite, and excluded rows produce null fields and reset all EMA warmup. The MACD
value appears once both price EMAs are seeded; signal and histogram wait for their own EMA seed.

```ts
movingAverageConvergenceDivergence: <D>(data: readonly D[], options: MovingAverageConvergenceDivergenceOptions<D>) => readonly MovingAverageConvergenceDivergencePoint<D>[]
```

Related API: [movingAverageConvergenceDivergence](/reference/functions/financial-series/), [MovingAverageConvergenceDivergenceOptions](/reference/functions/financial-series/), [MovingAverageConvergenceDivergencePoint](/reference/functions/financial-series/).

#### Parameters

- **`data`** — Source observations, retained in their original order.

- **`options`** — Closing value accessor, ordered EMA periods, and participation callback.

#### Returns

Frozen source-aligned MACD observations.

#### See also

[MovingAverageConvergenceDivergenceOptions](/reference/functions/financial-series/)

[MovingAverageConvergenceDivergencePoint](/reference/functions/financial-series/)

[View source — packages/core/src/features/viz/lib/financial-oscillators.ts:271](/source/packages/core/src/features/viz/lib/financial-oscillators-ts/#L271)

<span id="api-stochasticOscillator"></span>

### stochasticOscillator

Derives source-aligned rolling stochastic %K, smoothed %K, and %D observations.

%K uses the trailing high/low range. A zero range yields null raw %K and resets only the %K/%D
smoothing warmup, while its complete OHLC row remains in the rolling range. Missing, nonfinite,
and excluded rows reset every window; malformed finite candles reject.

```ts
stochasticOscillator: <D>(data: readonly D[], options: StochasticOscillatorOptions<D>) => readonly StochasticOscillatorPoint<D>[]
```

Related API: [stochasticOscillator](/reference/functions/financial-series/), [StochasticOscillatorOptions](/reference/functions/financial-series/), [StochasticOscillatorPoint](/reference/functions/financial-series/).

#### Parameters

- **`data`** — Source OHLC observations, retained in their original order.

- **`options`** — OHLC accessors, rolling periods, and optional participation callback.

#### Returns

Frozen source-aligned stochastic oscillator observations.

#### See also

[StochasticOscillatorOptions](/reference/functions/financial-series/)

[StochasticOscillatorPoint](/reference/functions/financial-series/)

[View source — packages/core/src/features/viz/lib/financial-oscillators.ts:406](/source/packages/core/src/features/viz/lib/financial-oscillators-ts/#L406)

<span id="api-OscillatorOptions"></span>

### OscillatorOptions

Shared inputs for source-aligned closing-price oscillators.

```ts
interface OscillatorOptions<D>
```

Related API: [OscillatorOptions](/reference/functions/financial-series/).

#### See also

[RelativeStrengthIndexPoint](/reference/functions/financial-series/)

[MovingAverageConvergenceDivergencePoint](/reference/functions/financial-series/)

[View source — packages/core/src/features/viz/lib/financial-oscillators.ts:10](/source/packages/core/src/features/viz/lib/financial-oscillators-ts/#L10)

#### Properties and methods

<span id="api-OscillatorOptions-value"></span>
<details>
<summary>value</summary>


```ts
readonly value: LineAccessor<D>
```

Related API: [LineAccessor](/reference/components/line-series/).

Numeric property or callback that supplies each closing observation.

##### See also

[LineAccessor](/reference/components/line-series/)

[View source — packages/core/src/features/viz/lib/financial-oscillators.ts:16](/source/packages/core/src/features/viz/lib/financial-oscillators-ts/#L16)

</details>

<span id="api-OscillatorOptions-defined"></span>
<details>
<summary>defined (optional)</summary>


```ts
readonly defined?: ((datum: D, index: number, data: readonly D[]) => boolean) | undefined
```

Excludes a row before its accessor runs and resets the current warmup.

##### Parameters

- **`datum`** — Source observation under consideration.

- **`index`** — Zero-based source index.

- **`data`** — Complete caller-supplied source data.

##### Returns

Whether the observation participates in the consecutive calculation.

##### See also

[LineAccessor](/reference/components/line-series/)

[View source — packages/core/src/features/viz/lib/financial-oscillators.ts:26](/source/packages/core/src/features/viz/lib/financial-oscillators-ts/#L26)

</details>

<span id="api-RelativeStrengthIndexOptions"></span>

### RelativeStrengthIndexOptions

Inputs for Wilder's relative strength index.

```ts
interface RelativeStrengthIndexOptions<D> extends OscillatorOptions<D>
```

Related API: [RelativeStrengthIndexOptions](/reference/functions/financial-series/), [OscillatorOptions](/reference/functions/financial-series/).

#### See also

[OscillatorOptions](/reference/functions/financial-series/)

[RelativeStrengthIndexPoint](/reference/functions/financial-series/)

[View source — packages/core/src/features/viz/lib/financial-oscillators.ts:35](/source/packages/core/src/features/viz/lib/financial-oscillators-ts/#L35)

#### Properties and methods

<span id="api-RelativeStrengthIndexOptions-period"></span>
<details>
<summary>period</summary>


```ts
readonly period: number
```

Positive safe number of consecutive price changes used by Wilder smoothing.

##### See also

[relativeStrengthIndex](/reference/functions/financial-series/)

[View source — packages/core/src/features/viz/lib/financial-oscillators.ts:41](/source/packages/core/src/features/viz/lib/financial-oscillators-ts/#L41)

</details>

<span id="api-RelativeStrengthIndexOptions-value"></span>
<details>
<summary>value</summary>


```ts
readonly value: LineAccessor<D>
```

Related API: [LineAccessor](/reference/components/line-series/).

Numeric property or callback that supplies each closing observation.

##### See also

[LineAccessor](/reference/components/line-series/)

[View source — packages/core/src/features/viz/lib/financial-oscillators.ts:16](/source/packages/core/src/features/viz/lib/financial-oscillators-ts/#L16)

</details>

<span id="api-RelativeStrengthIndexOptions-defined"></span>
<details>
<summary>defined (optional)</summary>


```ts
readonly defined?: ((datum: D, index: number, data: readonly D[]) => boolean) | undefined
```

Excludes a row before its accessor runs and resets the current warmup.

##### Parameters

- **`datum`** — Source observation under consideration.

- **`index`** — Zero-based source index.

- **`data`** — Complete caller-supplied source data.

##### Returns

Whether the observation participates in the consecutive calculation.

##### See also

[LineAccessor](/reference/components/line-series/)

[View source — packages/core/src/features/viz/lib/financial-oscillators.ts:26](/source/packages/core/src/features/viz/lib/financial-oscillators-ts/#L26)

</details>

<span id="api-MovingAverageConvergenceDivergenceOptions"></span>

### MovingAverageConvergenceDivergenceOptions

Inputs for moving average convergence/divergence.

```ts
interface MovingAverageConvergenceDivergenceOptions<D> extends OscillatorOptions<D>
```

Related API: [MovingAverageConvergenceDivergenceOptions](/reference/functions/financial-series/), [OscillatorOptions](/reference/functions/financial-series/).

#### See also

[OscillatorOptions](/reference/functions/financial-series/)

[MovingAverageConvergenceDivergencePoint](/reference/functions/financial-series/)

[View source — packages/core/src/features/viz/lib/financial-oscillators.ts:50](/source/packages/core/src/features/viz/lib/financial-oscillators-ts/#L50)

#### Properties and methods

<span id="api-MovingAverageConvergenceDivergenceOptions-fastPeriod"></span>
<details>
<summary>fastPeriod</summary>


```ts
readonly fastPeriod: number
```

Positive safe EMA period shorter than slowPeriod.

[View source — packages/core/src/features/viz/lib/financial-oscillators.ts:54](/source/packages/core/src/features/viz/lib/financial-oscillators-ts/#L54)

</details>

<span id="api-MovingAverageConvergenceDivergenceOptions-slowPeriod"></span>
<details>
<summary>slowPeriod</summary>


```ts
readonly slowPeriod: number
```

Positive safe EMA period longer than fastPeriod.

[View source — packages/core/src/features/viz/lib/financial-oscillators.ts:56](/source/packages/core/src/features/viz/lib/financial-oscillators-ts/#L56)

</details>

<span id="api-MovingAverageConvergenceDivergenceOptions-signalPeriod"></span>
<details>
<summary>signalPeriod</summary>


```ts
readonly signalPeriod: number
```

Positive safe EMA period used to smooth available MACD observations.

[View source — packages/core/src/features/viz/lib/financial-oscillators.ts:58](/source/packages/core/src/features/viz/lib/financial-oscillators-ts/#L58)

</details>

<span id="api-MovingAverageConvergenceDivergenceOptions-value"></span>
<details>
<summary>value</summary>


```ts
readonly value: LineAccessor<D>
```

Related API: [LineAccessor](/reference/components/line-series/).

Numeric property or callback that supplies each closing observation.

##### See also

[LineAccessor](/reference/components/line-series/)

[View source — packages/core/src/features/viz/lib/financial-oscillators.ts:16](/source/packages/core/src/features/viz/lib/financial-oscillators-ts/#L16)

</details>

<span id="api-MovingAverageConvergenceDivergenceOptions-defined"></span>
<details>
<summary>defined (optional)</summary>


```ts
readonly defined?: ((datum: D, index: number, data: readonly D[]) => boolean) | undefined
```

Excludes a row before its accessor runs and resets the current warmup.

##### Parameters

- **`datum`** — Source observation under consideration.

- **`index`** — Zero-based source index.

- **`data`** — Complete caller-supplied source data.

##### Returns

Whether the observation participates in the consecutive calculation.

##### See also

[LineAccessor](/reference/components/line-series/)

[View source — packages/core/src/features/viz/lib/financial-oscillators.ts:26](/source/packages/core/src/features/viz/lib/financial-oscillators-ts/#L26)

</details>

<span id="api-StochasticOscillatorOptions"></span>

### StochasticOscillatorOptions

Inputs for the rolling stochastic oscillator.

```ts
interface StochasticOscillatorOptions<D>
```

Related API: [StochasticOscillatorOptions](/reference/functions/financial-series/).

#### See also

[StochasticOscillatorPoint](/reference/functions/financial-series/)

[LineAccessor](/reference/components/line-series/)

[View source — packages/core/src/features/viz/lib/financial-oscillators.ts:67](/source/packages/core/src/features/viz/lib/financial-oscillators-ts/#L67)

#### Properties and methods

<span id="api-StochasticOscillatorOptions-high"></span>
<details>
<summary>high</summary>


```ts
readonly high: LineAccessor<D>
```

Related API: [LineAccessor](/reference/components/line-series/).

Numeric property or callback that supplies each high. See LineAccessor.

[View source — packages/core/src/features/viz/lib/financial-oscillators.ts:69](/source/packages/core/src/features/viz/lib/financial-oscillators-ts/#L69)

</details>

<span id="api-StochasticOscillatorOptions-low"></span>
<details>
<summary>low</summary>


```ts
readonly low: LineAccessor<D>
```

Related API: [LineAccessor](/reference/components/line-series/).

Numeric property or callback that supplies each low. See LineAccessor.

[View source — packages/core/src/features/viz/lib/financial-oscillators.ts:71](/source/packages/core/src/features/viz/lib/financial-oscillators-ts/#L71)

</details>

<span id="api-StochasticOscillatorOptions-close"></span>
<details>
<summary>close</summary>


```ts
readonly close: LineAccessor<D>
```

Related API: [LineAccessor](/reference/components/line-series/).

Numeric property or callback that supplies each close. See LineAccessor.

[View source — packages/core/src/features/viz/lib/financial-oscillators.ts:73](/source/packages/core/src/features/viz/lib/financial-oscillators-ts/#L73)

</details>

<span id="api-StochasticOscillatorOptions-lookbackPeriod"></span>
<details>
<summary>lookbackPeriod</summary>


```ts
readonly lookbackPeriod: number
```

Positive safe count of consecutive OHLC rows in the raw %K range.

[View source — packages/core/src/features/viz/lib/financial-oscillators.ts:75](/source/packages/core/src/features/viz/lib/financial-oscillators-ts/#L75)

</details>

<span id="api-StochasticOscillatorOptions-kPeriod"></span>
<details>
<summary>kPeriod</summary>


```ts
readonly kPeriod: number
```

Positive safe count of raw %K values in the smoothed %K average.

[View source — packages/core/src/features/viz/lib/financial-oscillators.ts:77](/source/packages/core/src/features/viz/lib/financial-oscillators-ts/#L77)

</details>

<span id="api-StochasticOscillatorOptions-dPeriod"></span>
<details>
<summary>dPeriod</summary>


```ts
readonly dPeriod: number
```

Positive safe count of smoothed %K values in the %D average.

[View source — packages/core/src/features/viz/lib/financial-oscillators.ts:79](/source/packages/core/src/features/viz/lib/financial-oscillators-ts/#L79)

</details>

<span id="api-StochasticOscillatorOptions-defined"></span>
<details>
<summary>defined (optional)</summary>


```ts
readonly defined?: ((datum: D, index: number, data: readonly D[]) => boolean) | undefined
```

Excludes a row before its accessors run and resets all oscillator warmup.

##### Parameters

- **`datum`** — Source observation under consideration.

- **`index`** — Zero-based source index.

- **`data`** — Complete caller-supplied source data.

##### Returns

Whether the observation participates in consecutive windows.

##### See also

[LineAccessor](/reference/components/line-series/)

[View source — packages/core/src/features/viz/lib/financial-oscillators.ts:89](/source/packages/core/src/features/viz/lib/financial-oscillators-ts/#L89)

</details>

<span id="api-RelativeStrengthIndexPoint"></span>

### RelativeStrengthIndexPoint

One source-aligned relative strength index observation.

```ts
interface RelativeStrengthIndexPoint<D>
```

Related API: [RelativeStrengthIndexPoint](/reference/functions/financial-series/).

#### See also

[RelativeStrengthIndexOptions](/reference/functions/financial-series/)

[View source — packages/core/src/features/viz/lib/financial-oscillators.ts:97](/source/packages/core/src/features/viz/lib/financial-oscillators-ts/#L97)

#### Properties and methods

<span id="api-RelativeStrengthIndexPoint-datum"></span>
<details>
<summary>datum</summary>


```ts
readonly datum: D
```

Caller-owned original observation.

[View source — packages/core/src/features/viz/lib/financial-oscillators.ts:99](/source/packages/core/src/features/viz/lib/financial-oscillators-ts/#L99)

</details>

<span id="api-RelativeStrengthIndexPoint-sourceIndex"></span>
<details>
<summary>sourceIndex</summary>


```ts
readonly sourceIndex: number
```

Original source index, including rows that become gaps.

[View source — packages/core/src/features/viz/lib/financial-oscillators.ts:101](/source/packages/core/src/features/viz/lib/financial-oscillators-ts/#L101)

</details>

<span id="api-RelativeStrengthIndexPoint-rsi"></span>
<details>
<summary>rsi</summary>


```ts
readonly rsi: number | null
```

Wilder RSI from zero through 100, or null during warmup and gaps.

[View source — packages/core/src/features/viz/lib/financial-oscillators.ts:103](/source/packages/core/src/features/viz/lib/financial-oscillators-ts/#L103)

</details>

<span id="api-MovingAverageConvergenceDivergencePoint"></span>

### MovingAverageConvergenceDivergencePoint

One source-aligned moving average convergence/divergence observation.

```ts
interface MovingAverageConvergenceDivergencePoint<D>
```

Related API: [MovingAverageConvergenceDivergencePoint](/reference/functions/financial-series/).

#### See also

[MovingAverageConvergenceDivergenceOptions](/reference/functions/financial-series/)

[View source — packages/core/src/features/viz/lib/financial-oscillators.ts:111](/source/packages/core/src/features/viz/lib/financial-oscillators-ts/#L111)

#### Properties and methods

<span id="api-MovingAverageConvergenceDivergencePoint-datum"></span>
<details>
<summary>datum</summary>


```ts
readonly datum: D
```

Caller-owned original observation.

[View source — packages/core/src/features/viz/lib/financial-oscillators.ts:113](/source/packages/core/src/features/viz/lib/financial-oscillators-ts/#L113)

</details>

<span id="api-MovingAverageConvergenceDivergencePoint-sourceIndex"></span>
<details>
<summary>sourceIndex</summary>


```ts
readonly sourceIndex: number
```

Original source index, including rows that become gaps.

[View source — packages/core/src/features/viz/lib/financial-oscillators.ts:115](/source/packages/core/src/features/viz/lib/financial-oscillators-ts/#L115)

</details>

<span id="api-MovingAverageConvergenceDivergencePoint-macd"></span>
<details>
<summary>macd</summary>


```ts
readonly macd: number | null
```

Fast EMA minus slow EMA, or null before both are seeded.

[View source — packages/core/src/features/viz/lib/financial-oscillators.ts:117](/source/packages/core/src/features/viz/lib/financial-oscillators-ts/#L117)

</details>

<span id="api-MovingAverageConvergenceDivergencePoint-signal"></span>
<details>
<summary>signal</summary>


```ts
readonly signal: number | null
```

Related API: [signal](/reference/functions/signal/).

EMA of available MACD values, or null during signal warmup.

[View source — packages/core/src/features/viz/lib/financial-oscillators.ts:119](/source/packages/core/src/features/viz/lib/financial-oscillators-ts/#L119)

</details>

<span id="api-MovingAverageConvergenceDivergencePoint-histogram"></span>
<details>
<summary>histogram</summary>


```ts
readonly histogram: number | null
```

MACD minus its signal, or null before the signal is available.

[View source — packages/core/src/features/viz/lib/financial-oscillators.ts:121](/source/packages/core/src/features/viz/lib/financial-oscillators-ts/#L121)

</details>

<span id="api-StochasticOscillatorPoint"></span>

### StochasticOscillatorPoint

One source-aligned stochastic oscillator observation.

```ts
interface StochasticOscillatorPoint<D>
```

Related API: [StochasticOscillatorPoint](/reference/functions/financial-series/).

#### See also

[StochasticOscillatorOptions](/reference/functions/financial-series/)

[View source — packages/core/src/features/viz/lib/financial-oscillators.ts:129](/source/packages/core/src/features/viz/lib/financial-oscillators-ts/#L129)

#### Properties and methods

<span id="api-StochasticOscillatorPoint-datum"></span>
<details>
<summary>datum</summary>


```ts
readonly datum: D
```

Caller-owned original observation.

[View source — packages/core/src/features/viz/lib/financial-oscillators.ts:131](/source/packages/core/src/features/viz/lib/financial-oscillators-ts/#L131)

</details>

<span id="api-StochasticOscillatorPoint-sourceIndex"></span>
<details>
<summary>sourceIndex</summary>


```ts
readonly sourceIndex: number
```

Original source index, including rows that become gaps.

[View source — packages/core/src/features/viz/lib/financial-oscillators.ts:133](/source/packages/core/src/features/viz/lib/financial-oscillators-ts/#L133)

</details>

<span id="api-StochasticOscillatorPoint-rawK"></span>
<details>
<summary>rawK</summary>


```ts
readonly rawK: number | null
```

Unsmoothed %K from zero through 100, or null during warmup/a zero range.

[View source — packages/core/src/features/viz/lib/financial-oscillators.ts:135](/source/packages/core/src/features/viz/lib/financial-oscillators-ts/#L135)

</details>

<span id="api-StochasticOscillatorPoint-k"></span>
<details>
<summary>k</summary>


```ts
readonly k: number | null
```

SMA-smoothed %K, or null during warmup/a zero range.

[View source — packages/core/src/features/viz/lib/financial-oscillators.ts:137](/source/packages/core/src/features/viz/lib/financial-oscillators-ts/#L137)

</details>

<span id="api-StochasticOscillatorPoint-d"></span>
<details>
<summary>d</summary>


```ts
readonly d: number | null
```

SMA of smoothed %K, or null during warmup/a zero range.

[View source — packages/core/src/features/viz/lib/financial-oscillators.ts:139](/source/packages/core/src/features/viz/lib/financial-oscillators-ts/#L139)

</details>

<span id="api-VolumeSeries"></span>

### VolumeSeries

Paints source-ordered time-aligned volume columns, batching adjacent equal styles.
Zero volume is recorded but has no painted coverage. Finite negative volume rejects.

```ts
VolumeSeries: <D>({ data: input, time: timeInput, volume: volumeInput, xScale, yScale, defined, style: styleInput, inspection, pointerEvents, ...events }: VolumeSeriesProps<D>) => PibblNode
```

Related API: [VolumeSeries](/reference/functions/financial-series/), [VolumeSeriesProps](/reference/functions/financial-series/), [PibblNode](/reference/types/elements-components/#pibblnode).

#### Parameters

- **`props`** — Original records, numeric scales, accessors and optional capture.

#### Returns

Ordinary Pibbl paint/event composition.

#### See also

[VolumeSeriesProps](/reference/functions/financial-series/)

[View source — packages/core/src/features/viz/lib/volume-series.tsx:82](/source/packages/core/src/features/viz/lib/volume-series-tsx/#L82)

<span id="api-VolumeSeriesProps"></span>

### VolumeSeriesProps

Time-aligned volume columns with an independent numeric y-scale.

```ts
interface VolumeSeriesProps<D> extends PibblEventHandlers, PibblEventParticipationOptions
```

Related API: [VolumeSeriesProps](/reference/functions/financial-series/), [PibblEventHandlers](/reference/types/events/#pibbleventhandlers), [PibblEventParticipationOptions](/reference/types/events/#pibbleventparticipationoptions).

#### See also

[VolumeSeries](/reference/functions/financial-series/)

[View source — packages/core/src/features/viz/lib/volume-series.tsx:44](/source/packages/core/src/features/viz/lib/volume-series-tsx/#L44)

#### Properties and methods

<span id="api-VolumeSeriesProps-data"></span>
<details>
<summary>data</summary>


```ts
readonly data: SignalValue<readonly D[]>
```

Related API: [SignalValue](/reference/types/signal-inputs/#signalvalue).

Original records or a signal of records; never sorted or mutated.

[View source — packages/core/src/features/viz/lib/volume-series.tsx:47](/source/packages/core/src/features/viz/lib/volume-series-tsx/#L47)

</details>

<span id="api-VolumeSeriesProps-time"></span>
<details>
<summary>time</summary>


```ts
readonly time: LineAccessor<D>
```

Related API: [LineAccessor](/reference/components/line-series/).

UTC-millisecond property or callback; missing/nonfinite values skip the row.

[View source — packages/core/src/features/viz/lib/volume-series.tsx:49](/source/packages/core/src/features/viz/lib/volume-series-tsx/#L49)

</details>

<span id="api-VolumeSeriesProps-volume"></span>
<details>
<summary>volume</summary>


```ts
readonly volume: LineAccessor<D>
```

Related API: [LineAccessor](/reference/components/line-series/).

Nonnegative volume property or callback; missing/nonfinite values skip the row.

[View source — packages/core/src/features/viz/lib/volume-series.tsx:51](/source/packages/core/src/features/viz/lib/volume-series-tsx/#L51)

</details>

<span id="api-VolumeSeriesProps-defined"></span>
<details>
<summary>defined (optional)</summary>


```ts
readonly defined?: ((datum: D, index: number, data: readonly D[]) => boolean) | undefined
```

Selects source records before evaluating accessors.

##### Parameters

- **`datum`** — Original record.

- **`index`** — Original source index.

- **`data`** — Complete source array.

##### Returns

Whether the row participates.

[View source — packages/core/src/features/viz/lib/volume-series.tsx:58](/source/packages/core/src/features/viz/lib/volume-series-tsx/#L58)

</details>

<span id="api-VolumeSeriesProps-xScale"></span>
<details>
<summary>xScale</summary>


```ts
readonly xScale: ScaleId
```

Related API: [ScaleId](/reference/components/scale/).

Numeric time scale identity.

[View source — packages/core/src/features/viz/lib/volume-series.tsx:60](/source/packages/core/src/features/viz/lib/volume-series-tsx/#L60)

</details>

<span id="api-VolumeSeriesProps-yScale"></span>
<details>
<summary>yScale</summary>


```ts
readonly yScale: ScaleId
```

Related API: [ScaleId](/reference/components/scale/).

Independent numeric volume scale identity; the baseline is zero.

[View source — packages/core/src/features/viz/lib/volume-series.tsx:62](/source/packages/core/src/features/viz/lib/volume-series-tsx/#L62)

</details>

<span id="api-VolumeSeriesProps-style"></span>
<details>
<summary>style (optional)</summary>


```ts
readonly style?: ((datum: D, index: number, data: readonly D[]) => VolumeSeriesStyle) | SignalValue<VolumeSeriesStyle> | undefined
```

Related API: [VolumeSeriesStyle](/reference/functions/financial-series/), [SignalValue](/reference/types/signal-inputs/#signalvalue).

Constant presentation or a hook-free per-record resolver.

##### Parameters

- **`datum`** — Original record.

- **`index`** — Original source index.

- **`data`** — Complete source array.

##### Returns

Column presentation.

[View source — packages/core/src/features/viz/lib/volume-series.tsx:69](/source/packages/core/src/features/viz/lib/volume-series-tsx/#L69)

</details>

<span id="api-VolumeSeriesProps-inspection"></span>
<details>
<summary>inspection (optional)</summary>


```ts
readonly inspection?: VolumeInspectionRef<D> | undefined
```

Related API: [VolumeInspectionRef](/reference/functions/financial-series/).

Optional committed capture; importing the renderer does not import inspection queries.

[View source — packages/core/src/features/viz/lib/volume-series.tsx:73](/source/packages/core/src/features/viz/lib/volume-series-tsx/#L73)

</details>

<span id="api-VolumeSeriesProps-pointerEvents"></span>
<details>
<summary>pointerEvents (optional)</summary>


```ts
readonly pointerEvents?: PibblPointerEvents | undefined
```

Related API: [PibblPointerEvents](/reference/types/events/#pibblpointerevents).

Whether this content participates in pointer targeting. See PibblPointerEvents.

[View source — packages/core/src/lib/events/types.ts:126](/source/packages/core/src/lib/events/types-ts/#L126)

</details>

<span id="api-VolumeSeriesStyle"></span>

### VolumeSeriesStyle

Local column presentation; color meaning is supplied by the application.

```ts
interface VolumeSeriesStyle
```

Related API: [VolumeSeriesStyle](/reference/functions/financial-series/).

#### See also

[VolumeSeries](/reference/functions/financial-series/)

[View source — packages/core/src/features/viz/lib/volume-series.tsx:27](/source/packages/core/src/features/viz/lib/volume-series-tsx/#L27)

#### Properties and methods

<span id="api-VolumeSeriesStyle-width"></span>
<details>
<summary>width (optional)</summary>


```ts
readonly width?: number | undefined
```

Positive column width in local logical units; default 70% spacing capped at 12.

[View source — packages/core/src/features/viz/lib/volume-series.tsx:29](/source/packages/core/src/features/viz/lib/volume-series-tsx/#L29)

</details>

<span id="api-VolumeSeriesStyle-fill"></span>
<details>
<summary>fill (optional)</summary>


```ts
readonly fill?: FillStyle | undefined
```

Related API: [FillStyle](/reference/types/styles/#fillstyle).

Interior paint; defaults to teal.

[View source — packages/core/src/features/viz/lib/volume-series.tsx:31](/source/packages/core/src/features/viz/lib/volume-series-tsx/#L31)

</details>

<span id="api-VolumeSeriesStyle-stroke"></span>
<details>
<summary>stroke (optional)</summary>


```ts
readonly stroke?: StrokeStyle | undefined
```

Related API: [StrokeStyle](/reference/types/styles/#strokestyle).

Optional column outline paint.

[View source — packages/core/src/features/viz/lib/volume-series.tsx:33](/source/packages/core/src/features/viz/lib/volume-series-tsx/#L33)

</details>

<span id="api-VolumeSeriesStyle-strokeWidth"></span>
<details>
<summary>strokeWidth (optional)</summary>


```ts
readonly strokeWidth?: number | undefined
```

Nonnegative outline width in local units; default 1.

[View source — packages/core/src/features/viz/lib/volume-series.tsx:35](/source/packages/core/src/features/viz/lib/volume-series-tsx/#L35)

</details>

<span id="api-VolumeSeriesStyle-opacity"></span>
<details>
<summary>opacity (optional)</summary>


```ts
readonly opacity?: number | undefined
```

Related API: [opacity](/reference/types/filters/#opacity).

Paint opacity from zero through one; default 1.

[View source — packages/core/src/features/viz/lib/volume-series.tsx:37](/source/packages/core/src/features/viz/lib/volume-series-tsx/#L37)

</details>

<span id="api-VolumeSeriesStyle-cursor"></span>
<details>
<summary>cursor (optional)</summary>


```ts
readonly cursor?: string | undefined
```

Cursor when the series owns coordinate targeting.

[View source — packages/core/src/features/viz/lib/volume-series.tsx:39](/source/packages/core/src/features/viz/lib/volume-series-tsx/#L39)

</details>

<span id="api-TradingTimeScale"></span>

### TradingTimeScale

Provides gapless positions for ordered supplied observations, leaving application-owned viewport control explicit.

```ts
TradingTimeScale: (props: TradingTimeScaleProps) => PibblNode
```

Related API: [TradingTimeScale](/reference/functions/financial-series/), [TradingTimeScaleProps](/reference/functions/financial-series/), [PibblNode](/reference/types/elements-components/#pibblnode).

#### Parameters

- **`props`** — Timestamps, optional logical viewport, output range and children.

#### Returns

Descendant composition in the named mapping scope.

#### See also

[TradingTimeScaleProps](/reference/functions/financial-series/)

[View source — packages/core/src/features/viz/lib/trading-time-scale.ts:118](/source/packages/core/src/features/viz/lib/trading-time-scale-ts/#L118)

<span id="api-useTradingTimeScale"></span>

### useTradingTimeScale

Reads a stable dedicated ancestor trading-time signal.

```ts
useTradingTimeScale: (id: ScaleId) => Signal<ResolvedTradingTimeScale>
```

Related API: [useTradingTimeScale](/reference/functions/financial-series/), [ScaleId](/reference/components/scale/), [Signal](/reference/types/canvas-runtime/#signal), [ResolvedTradingTimeScale](/reference/functions/financial-series/).

#### Parameters

- **`id`** — Ancestor TradingTimeScale identity.

#### Returns

Readonly mapping with explicit timestamp and logical-slot operations.

#### See also

[TradingTimeScale](/reference/functions/financial-series/)

[View source — packages/core/src/features/viz/lib/trading-time-scale.ts:102](/source/packages/core/src/features/viz/lib/trading-time-scale-ts/#L102)

<span id="api-TradingTimeScaleProps"></span>

### TradingTimeScaleProps

Controlled gapless observation slots; UTCScale retains elapsed-time semantics.

```ts
interface TradingTimeScaleProps
```

Related API: [TradingTimeScaleProps](/reference/functions/financial-series/).

#### See also

[TradingTimeScale](/reference/functions/financial-series/)

[View source — packages/core/src/features/viz/lib/trading-time-scale.ts:23](/source/packages/core/src/features/viz/lib/trading-time-scale-ts/#L23)

#### Properties and methods

<span id="api-TradingTimeScaleProps-id"></span>
<details>
<summary>id</summary>


```ts
readonly id: ScaleId
```

Related API: [ScaleId](/reference/components/scale/).

Ancestor scale identity.

[View source — packages/core/src/features/viz/lib/trading-time-scale.ts:24](/source/packages/core/src/features/viz/lib/trading-time-scale-ts/#L24)

</details>

<span id="api-TradingTimeScaleProps-timestamps"></span>
<details>
<summary>timestamps</summary>


```ts
readonly timestamps: SignalValue<readonly number[]>
```

Related API: [SignalValue](/reference/types/signal-inputs/#signalvalue).

Strictly increasing, unique UTC-millisecond observations; copied by the mapping.

[View source — packages/core/src/features/viz/lib/trading-time-scale.ts:25](/source/packages/core/src/features/viz/lib/trading-time-scale-ts/#L25)

</details>

<span id="api-TradingTimeScaleProps-logicalRange"></span>
<details>
<summary>logicalRange (optional)</summary>


```ts
readonly logicalRange?: SignalValue<readonly [number, number]> | undefined
```

Related API: [SignalValue](/reference/types/signal-inputs/#signalvalue).

Visible logical slot endpoints, possibly fractional/reversed; default covers supplied slots.

[View source — packages/core/src/features/viz/lib/trading-time-scale.ts:28](/source/packages/core/src/features/viz/lib/trading-time-scale-ts/#L28)

</details>

<span id="api-TradingTimeScaleProps-range"></span>
<details>
<summary>range</summary>


```ts
readonly range: SignalValue<ScaleRange>
```

Related API: [SignalValue](/reference/types/signal-inputs/#signalvalue), [ScaleRange](/reference/components/scale/).

Output in local logical units or the receiving allocation's width/height.

[View source — packages/core/src/features/viz/lib/trading-time-scale.ts:31](/source/packages/core/src/features/viz/lib/trading-time-scale-ts/#L31)

</details>

<span id="api-TradingTimeScaleProps-reverse"></span>
<details>
<summary>reverse (optional)</summary>


```ts
readonly reverse?: SignalValue<boolean> | undefined
```

Related API: [SignalValue](/reference/types/signal-inputs/#signalvalue).

Reverses physical output without reordering supplied observations.

[View source — packages/core/src/features/viz/lib/trading-time-scale.ts:32](/source/packages/core/src/features/viz/lib/trading-time-scale-ts/#L32)

</details>

<span id="api-TradingTimeScaleProps-style"></span>
<details>
<summary>style (optional)</summary>


<details>
<summary>Full type declaration</summary>

```ts
readonly style?: SignalValue<Readonly<{ left?: SignalValue<number | `${number}%` | undefined>; top?: SignalValue<number | `${number}%` | undefined>; width?: SignalValue<Length | undefined>; height?: SignalValue<Length | undefined>; alignSelf?: SignalValue<"auto" | "center" | "end" | "flex-end" | "flex-start" | "start" | "stretch" | undefined>; justifySelf?: SignalValue<"auto" | "center" | "end" | "start" | "stretch" | undefined>; flexBasis?: SignalValue<Length | undefined>; flexGrow?: SignalValue<number | undefined>; flexShrink?: SignalValue<number | undefined>; gridColumnStart?: SignalValue<number | undefined>; gridColumnSpan?: SignalValue<number | undefined>; gridRowStart?: SignalValue<number | undefined>; gridRowSpan?: SignalValue<number | undefined>; transition?: SignalValue<PibblTransitionBinding | undefined>; custom?: unknown; filter?: SignalValue<PibblFilter | readonly PibblFilter[] | undefined>; }>> | undefined
```

</details>

Related API: [SignalValue](/reference/types/signal-inputs/#signalvalue), [Length](/reference/types/layout/#length), [PibblTransitionBinding](/reference/hooks/use-visibility-transition/), [PibblFilter](/reference/types/filters/#pibblfilter).

Receiving scale frame allocation and layout participation.

[View source — packages/core/src/features/viz/lib/trading-time-scale.ts:33](/source/packages/core/src/features/viz/lib/trading-time-scale-ts/#L33)

</details>

<span id="api-TradingTimeScaleProps-children"></span>
<details>
<summary>children (optional)</summary>


```ts
readonly children?: PibblNode
```

Related API: [PibblNode](/reference/types/elements-components/#pibblnode).

Descendant visualization composition.

[View source — packages/core/src/features/viz/lib/trading-time-scale.ts:36](/source/packages/core/src/features/viz/lib/trading-time-scale-ts/#L36)

</details>

<span id="api-ResolvedTradingTimeScale"></span>

### ResolvedTradingTimeScale

Dedicated exact-time/slot mapping; no interpolated UTC timestamps are fabricated.

```ts
interface ResolvedTradingTimeScale
```

Related API: [ResolvedTradingTimeScale](/reference/functions/financial-series/).

#### See also

[TradingTimeScale](/reference/functions/financial-series/)

[View source — packages/core/src/features/viz/lib/trading-time-scale.ts:41](/source/packages/core/src/features/viz/lib/trading-time-scale-ts/#L41)

#### Properties and methods

<span id="api-ResolvedTradingTimeScale-type"></span>
<details>
<summary>type</summary>


```ts
readonly type: "trading-time"
```

Describes this resolved mapping.

[View source — packages/core/src/features/viz/lib/trading-time-scale.ts:42](/source/packages/core/src/features/viz/lib/trading-time-scale-ts/#L42)

</details>

<span id="api-ResolvedTradingTimeScale-timestamps"></span>
<details>
<summary>timestamps</summary>


```ts
readonly timestamps: readonly number[]
```

Owned supplied timestamps in ascending order, also used as the data domain.

[View source — packages/core/src/features/viz/lib/trading-time-scale.ts:43](/source/packages/core/src/features/viz/lib/trading-time-scale-ts/#L43)

</details>

<span id="api-ResolvedTradingTimeScale-domain"></span>
<details>
<summary>domain</summary>


```ts
readonly domain: readonly number[]
```

Owned supplied timestamp domain, not logical slot endpoints.

[View source — packages/core/src/features/viz/lib/trading-time-scale.ts:44](/source/packages/core/src/features/viz/lib/trading-time-scale-ts/#L44)

</details>

<span id="api-ResolvedTradingTimeScale-logicalRange"></span>
<details>
<summary>logicalRange</summary>


```ts
readonly logicalRange: readonly [number, number]
```

Controlled viewport endpoints in logical slot units.

[View source — packages/core/src/features/viz/lib/trading-time-scale.ts:45](/source/packages/core/src/features/viz/lib/trading-time-scale-ts/#L45)

</details>

<span id="api-ResolvedTradingTimeScale-range"></span>
<details>
<summary>range</summary>


```ts
readonly range: readonly [number, number]
```

Output local-logical endpoints.

[View source — packages/core/src/features/viz/lib/trading-time-scale.ts:49](/source/packages/core/src/features/viz/lib/trading-time-scale-ts/#L49)

</details>

<span id="api-ResolvedTradingTimeScale-frame"></span>
<details>
<summary>frame</summary>


```ts
readonly frame: Readonly<{ x: number; y: number; width: number; height: number; }>
```

Receiving allocation in local logical units.

[View source — packages/core/src/features/viz/lib/trading-time-scale.ts:53](/source/packages/core/src/features/viz/lib/trading-time-scale-ts/#L53)

</details>

<span id="api-ResolvedTradingTimeScale-map"></span>
<details>
<summary>map</summary>


```ts
map: (time: number) => number
```

Maps an exact supplied UTC timestamp; unknown timestamps throw.

##### Parameters

- **`time`** — Supplied UTC milliseconds.

##### Returns

Series-local coordinate.

[View source — packages/core/src/features/viz/lib/trading-time-scale.ts:62](/source/packages/core/src/features/viz/lib/trading-time-scale-ts/#L62)

</details>

<span id="api-ResolvedTradingTimeScale-mapSlot"></span>
<details>
<summary>mapSlot</summary>


```ts
mapSlot: (slot: number) => number
```

Maps a possibly fractional logical slot, including viewport whitespace.

##### Parameters

- **`slot`** — Logical observation slot.

##### Returns

Series-local coordinate.

[View source — packages/core/src/features/viz/lib/trading-time-scale.ts:66](/source/packages/core/src/features/viz/lib/trading-time-scale-ts/#L66)

</details>

<span id="api-ResolvedTradingTimeScale-slotAtTime"></span>
<details>
<summary>slotAtTime</summary>


```ts
slotAtTime: (time: number) => number | undefined
```

Exact timestamp lookup.

##### Parameters

- **`time`** — UTC milliseconds.

##### Returns

Supplied slot index, or undefined.

[View source — packages/core/src/features/viz/lib/trading-time-scale.ts:70](/source/packages/core/src/features/viz/lib/trading-time-scale-ts/#L70)

</details>

<span id="api-ResolvedTradingTimeScale-timeAtSlot"></span>
<details>
<summary>timeAtSlot</summary>


```ts
timeAtSlot: (slot: number) => number | undefined
```

Exact integer slot lookup.

##### Parameters

- **`slot`** — Integer logical observation slot.

##### Returns

Supplied timestamp, or undefined.

[View source — packages/core/src/features/viz/lib/trading-time-scale.ts:74](/source/packages/core/src/features/viz/lib/trading-time-scale-ts/#L74)

</details>

<span id="api-ResolvedTradingTimeScale-slotAtPosition"></span>
<details>
<summary>slotAtPosition</summary>


```ts
slotAtPosition: (position: number) => number
```

Inverts local geometry to fractional slots.

##### Parameters

- **`position`** — Series-local logical coordinate.

##### Returns

Fractional logical slot.

[View source — packages/core/src/features/viz/lib/trading-time-scale.ts:78](/source/packages/core/src/features/viz/lib/trading-time-scale-ts/#L78)

</details>

<span id="api-ResolvedTradingTimeScale-nearestTimeAtPosition"></span>
<details>
<summary>nearestTimeAtPosition</summary>


```ts
nearestTimeAtPosition: (position: number) => number | undefined
```

Selects a supplied timestamp; ties choose earlier, outside positions clamp.

##### Parameters

- **`position`** — Series-local logical coordinate.

##### Returns

Supplied UTC milliseconds, or undefined for empty input.

[View source — packages/core/src/features/viz/lib/trading-time-scale.ts:82](/source/packages/core/src/features/viz/lib/trading-time-scale-ts/#L82)

</details>

<span id="api-ResolvedTradingTimeScale-ticks"></span>
<details>
<summary>ticks</summary>


```ts
ticks: (count?: number) => readonly number[]
```

Chooses at most count visible supplied observations as date ticks.

##### Parameters

- **`count`** — Integer maximum from zero through 100, default five.

##### Returns

Original UTC timestamps in physical axis order.

[View source — packages/core/src/features/viz/lib/trading-time-scale.ts:86](/source/packages/core/src/features/viz/lib/trading-time-scale-ts/#L86)

</details>

<span id="api-ResolvedTradingTimeScale-formatTick"></span>
<details>
<summary>formatTick</summary>


```ts
formatTick: (time: number) => string
```

Formats supplied or finite valid UTC timestamps without inferring sessions.

##### Parameters

- **`time`** — UTC milliseconds in Date range.

##### Returns

ISO UTC timestamp.

[View source — packages/core/src/features/viz/lib/trading-time-scale.ts:90](/source/packages/core/src/features/viz/lib/trading-time-scale-ts/#L90)

</details>

<span id="api-CandlestickSeries"></span>

### CandlestickSeries

Paints OHLC bodies and wicks, preserving source order and skipping complete missing candles.
Finite malformed OHLC rejects; equal open/close paints a one-local-unit doji.

```ts
CandlestickSeries: <D>({ data: input, time: timeInput, open: openInput, high: highInput, low: lowInput, close: closeInput, xScale, yScale, defined, style: styleInput, inspection, pointerEvents, ...events }: CandlestickSeriesProps<D>) => PibblNode
```

Related API: [CandlestickSeries](/reference/functions/financial-series/), [CandlestickSeriesProps](/reference/functions/financial-series/), [PibblNode](/reference/types/elements-components/#pibblnode).

#### Parameters

- **`props`** — Named OHLC accessors, scales, styles and optional inspection.

#### Returns

Ordinary Pibbl composition; disjoint equal styles share paint paths.

#### See also

[CandlestickSeriesProps](/reference/functions/financial-series/)

[View source — packages/core/src/features/viz/lib/candlestick-series.tsx:91](/source/packages/core/src/features/viz/lib/candlestick-series-tsx/#L91)

<span id="api-CandlestickSeriesProps"></span>

### CandlestickSeriesProps

Source-ordered OHLC records with named accessors and optional shared inspection.

```ts
interface CandlestickSeriesProps<D> extends PibblEventHandlers, PibblEventParticipationOptions
```

Related API: [CandlestickSeriesProps](/reference/functions/financial-series/), [PibblEventHandlers](/reference/types/events/#pibbleventhandlers), [PibblEventParticipationOptions](/reference/types/events/#pibbleventparticipationoptions).

#### See also

[CandlestickSeries](/reference/functions/financial-series/)

[View source — packages/core/src/features/viz/lib/candlestick-series.tsx:52](/source/packages/core/src/features/viz/lib/candlestick-series-tsx/#L52)

#### Properties and methods

<span id="api-CandlestickSeriesProps-data"></span>
<details>
<summary>data</summary>


```ts
readonly data: SignalValue<readonly D[]>
```

Related API: [SignalValue](/reference/types/signal-inputs/#signalvalue).

Original records/signal; never sorted or mutated.

[View source — packages/core/src/features/viz/lib/candlestick-series.tsx:54](/source/packages/core/src/features/viz/lib/candlestick-series-tsx/#L54)

</details>

<span id="api-CandlestickSeriesProps-time"></span>
<details>
<summary>time</summary>


```ts
readonly time: LineAccessor<D>
```

Related API: [LineAccessor](/reference/components/line-series/).

UTC-millisecond property or callback.

[View source — packages/core/src/features/viz/lib/candlestick-series.tsx:57](/source/packages/core/src/features/viz/lib/candlestick-series-tsx/#L57)

</details>

<span id="api-CandlestickSeriesProps-open"></span>
<details>
<summary>open</summary>


```ts
readonly open: LineAccessor<D>
```

Related API: [LineAccessor](/reference/components/line-series/).

Open price property or callback.

[View source — packages/core/src/features/viz/lib/candlestick-series.tsx:58](/source/packages/core/src/features/viz/lib/candlestick-series-tsx/#L58)

</details>

<span id="api-CandlestickSeriesProps-high"></span>
<details>
<summary>high</summary>


```ts
readonly high: LineAccessor<D>
```

Related API: [LineAccessor](/reference/components/line-series/).

High price property or callback.

[View source — packages/core/src/features/viz/lib/candlestick-series.tsx:59](/source/packages/core/src/features/viz/lib/candlestick-series-tsx/#L59)

</details>

<span id="api-CandlestickSeriesProps-low"></span>
<details>
<summary>low</summary>


```ts
readonly low: LineAccessor<D>
```

Related API: [LineAccessor](/reference/components/line-series/).

Low price property or callback.

[View source — packages/core/src/features/viz/lib/candlestick-series.tsx:60](/source/packages/core/src/features/viz/lib/candlestick-series-tsx/#L60)

</details>

<span id="api-CandlestickSeriesProps-close"></span>
<details>
<summary>close</summary>


```ts
readonly close: LineAccessor<D>
```

Related API: [LineAccessor](/reference/components/line-series/).

Close price property or callback.

[View source — packages/core/src/features/viz/lib/candlestick-series.tsx:61](/source/packages/core/src/features/viz/lib/candlestick-series-tsx/#L61)

</details>

<span id="api-CandlestickSeriesProps-xScale"></span>
<details>
<summary>xScale</summary>


```ts
readonly xScale: ScaleId
```

Related API: [ScaleId](/reference/components/scale/).

Numeric/UTC/trading horizontal mapping identity.

[View source — packages/core/src/features/viz/lib/candlestick-series.tsx:62](/source/packages/core/src/features/viz/lib/candlestick-series-tsx/#L62)

</details>

<span id="api-CandlestickSeriesProps-yScale"></span>
<details>
<summary>yScale</summary>


```ts
readonly yScale: ScaleId
```

Related API: [ScaleId](/reference/components/scale/).

Independent numeric price mapping identity.

[View source — packages/core/src/features/viz/lib/candlestick-series.tsx:63](/source/packages/core/src/features/viz/lib/candlestick-series-tsx/#L63)

</details>

<span id="api-CandlestickSeriesProps-defined"></span>
<details>
<summary>defined (optional)</summary>


```ts
readonly defined?: ((datum: D, index: number, data: readonly D[]) => boolean) | undefined
```

Tests original rows before accessor evaluation.

##### Parameters

- **`datum`** — Original row.

- **`index`** — Source index including skipped rows.

- **`data`** — Original complete array.

##### Returns

Whether the candle participates.

[View source — packages/core/src/features/viz/lib/candlestick-series.tsx:69](/source/packages/core/src/features/viz/lib/candlestick-series-tsx/#L69)

</details>

<span id="api-CandlestickSeriesProps-style"></span>
<details>
<summary>style (optional)</summary>


```ts
readonly style?: ((datum: D, index: number, data: readonly D[]) => CandlestickSeriesStyle) | SignalValue<CandlestickSeriesStyle> | undefined
```

Related API: [CandlestickSeriesStyle](/reference/functions/financial-series/), [SignalValue](/reference/types/signal-inputs/#signalvalue).

Named body/wick appearance or a hook-free datum resolver.

##### Parameters

- **`datum`** — Original row.

- **`index`** — Original source index.

- **`data`** — Complete source array.

##### Returns

Plain named candle styles.

[View source — packages/core/src/features/viz/lib/candlestick-series.tsx:79](/source/packages/core/src/features/viz/lib/candlestick-series-tsx/#L79)

</details>

<span id="api-CandlestickSeriesProps-inspection"></span>
<details>
<summary>inspection (optional)</summary>


```ts
readonly inspection?: CandleInspectionRef<D> | undefined
```

Related API: [CandleInspectionRef](/reference/functions/financial-series/).

Optional capture on the ordinary inspection foundation; no queries while painting.

[View source — packages/core/src/features/viz/lib/candlestick-series.tsx:82](/source/packages/core/src/features/viz/lib/candlestick-series-tsx/#L82)

</details>

<span id="api-CandlestickSeriesProps-pointerEvents"></span>
<details>
<summary>pointerEvents (optional)</summary>


```ts
readonly pointerEvents?: PibblPointerEvents | undefined
```

Related API: [PibblPointerEvents](/reference/types/events/#pibblpointerevents).

Whether this content participates in pointer targeting. See PibblPointerEvents.

[View source — packages/core/src/lib/events/types.ts:126](/source/packages/core/src/lib/events/types-ts/#L126)

</details>

<span id="api-CandlestickSeriesStyle"></span>

### CandlestickSeriesStyle

Accepted named body/wick presentation for OHLC marks.

```ts
interface CandlestickSeriesStyle
```

Related API: [CandlestickSeriesStyle](/reference/functions/financial-series/).

#### See also

[CandlestickSeries](/reference/functions/financial-series/)

[View source — packages/core/src/features/viz/lib/candlestick-series.tsx:41](/source/packages/core/src/features/viz/lib/candlestick-series-tsx/#L41)

#### Properties and methods

<span id="api-CandlestickSeriesStyle-bandwidth"></span>
<details>
<summary>bandwidth (optional)</summary>


```ts
readonly bandwidth?: number | "auto" | undefined
```

Positive local body width, or automatic 70% spacing capped at 12; singleton fallback 8.

[View source — packages/core/src/features/viz/lib/candlestick-series.tsx:42](/source/packages/core/src/features/viz/lib/candlestick-series-tsx/#L42)

</details>

<span id="api-CandlestickSeriesStyle-body"></span>
<details>
<summary>body (optional)</summary>


```ts
readonly body?: CandleBodyStyle | undefined
```

Related API: [CandleBodyStyle](/reference/functions/financial-series/).

Independent open/close body appearance.

[View source — packages/core/src/features/viz/lib/candlestick-series.tsx:44](/source/packages/core/src/features/viz/lib/candlestick-series-tsx/#L44)

</details>

<span id="api-CandlestickSeriesStyle-wick"></span>
<details>
<summary>wick (optional)</summary>


```ts
readonly wick?: CandleWickStyle | undefined
```

Related API: [CandleWickStyle](/reference/functions/financial-series/).

Independent high/low wick appearance.

[View source — packages/core/src/features/viz/lib/candlestick-series.tsx:45](/source/packages/core/src/features/viz/lib/candlestick-series-tsx/#L45)

</details>

<span id="api-CandlestickSeriesStyle-opacity"></span>
<details>
<summary>opacity (optional)</summary>


```ts
readonly opacity?: number | undefined
```

Related API: [opacity](/reference/types/filters/#opacity).

Opacity zero through one; default 1.

[View source — packages/core/src/features/viz/lib/candlestick-series.tsx:46](/source/packages/core/src/features/viz/lib/candlestick-series-tsx/#L46)

</details>

<span id="api-CandlestickSeriesStyle-cursor"></span>
<details>
<summary>cursor (optional)</summary>


```ts
readonly cursor?: string | undefined
```

Cursor while the series owns targeting.

[View source — packages/core/src/features/viz/lib/candlestick-series.tsx:47](/source/packages/core/src/features/viz/lib/candlestick-series-tsx/#L47)

</details>

<span id="api-CandleBodyStyle"></span>

### CandleBodyStyle

Open/close body paint, independent from wick paint.

```ts
interface CandleBodyStyle
```

Related API: [CandleBodyStyle](/reference/functions/financial-series/).

#### See also

[CandlestickSeries](/reference/functions/financial-series/)

[View source — packages/core/src/features/viz/lib/candlestick-series.tsx:26](/source/packages/core/src/features/viz/lib/candlestick-series-tsx/#L26)

#### Properties and methods

<span id="api-CandleBodyStyle-fill"></span>
<details>
<summary>fill (optional)</summary>


```ts
readonly fill?: FillStyle | undefined
```

Related API: [FillStyle](/reference/types/styles/#fillstyle).

Interior; default teal for close >= open, coral otherwise. Empty string disables fill.

[View source — packages/core/src/features/viz/lib/candlestick-series.tsx:27](/source/packages/core/src/features/viz/lib/candlestick-series-tsx/#L27)

</details>

<span id="api-CandleBodyStyle-stroke"></span>
<details>
<summary>stroke (optional)</summary>


```ts
readonly stroke?: StrokeStyle | undefined
```

Related API: [StrokeStyle](/reference/types/styles/#strokestyle).

Optional body outline.

[View source — packages/core/src/features/viz/lib/candlestick-series.tsx:28](/source/packages/core/src/features/viz/lib/candlestick-series-tsx/#L28)

</details>

<span id="api-CandleBodyStyle-strokeWidth"></span>
<details>
<summary>strokeWidth (optional)</summary>


```ts
readonly strokeWidth?: number | undefined
```

Nonnegative local outline width; default 1.

[View source — packages/core/src/features/viz/lib/candlestick-series.tsx:29](/source/packages/core/src/features/viz/lib/candlestick-series-tsx/#L29)

</details>

<span id="api-CandleWickStyle"></span>

### CandleWickStyle

High/low wick paint.

```ts
interface CandleWickStyle
```

Related API: [CandleWickStyle](/reference/functions/financial-series/).

#### See also

[CandlestickSeries](/reference/functions/financial-series/)

[View source — packages/core/src/features/viz/lib/candlestick-series.tsx:34](/source/packages/core/src/features/viz/lib/candlestick-series-tsx/#L34)

#### Properties and methods

<span id="api-CandleWickStyle-stroke"></span>
<details>
<summary>stroke (optional)</summary>


```ts
readonly stroke?: StrokeStyle | undefined
```

Related API: [StrokeStyle](/reference/types/styles/#strokestyle).

Wick paint; default dark teal. Empty string disables wick paint.

[View source — packages/core/src/features/viz/lib/candlestick-series.tsx:35](/source/packages/core/src/features/viz/lib/candlestick-series-tsx/#L35)

</details>

<span id="api-CandleWickStyle-strokeWidth"></span>
<details>
<summary>strokeWidth (optional)</summary>


```ts
readonly strokeWidth?: number | undefined
```

Nonnegative local width; default 1.

[View source — packages/core/src/features/viz/lib/candlestick-series.tsx:36](/source/packages/core/src/features/viz/lib/candlestick-series-tsx/#L36)

</details>

<span id="api-OhlcBarSeries"></span>

### OhlcBarSeries

Paints source-ordered OHLC bars with a high/low stem, left open tick, and right close tick.

```ts
OhlcBarSeries: <D>({ data: input, time: timeInput, open: openInput, high: highInput, low: lowInput, close: closeInput, xScale, yScale, defined, style: styleInput, inspection, pointerEvents, ...events }: OhlcBarSeriesProps<D>) => PibblNode
```

Related API: [OhlcBarSeries](/reference/functions/financial-series/), [OhlcBarSeriesProps](/reference/functions/financial-series/), [PibblNode](/reference/types/elements-components/#pibblnode).

#### Parameters

- **`props`** — Original OHLC accessors, scales, styles, events, and optional capture.

#### Returns

Ordinary Pibbl composition; equal disjoint styles share paths.

#### See also

[OhlcBarSeriesProps](/reference/functions/financial-series/)

[View source — packages/core/src/features/viz/lib/ohlc-bar-series.tsx:80](/source/packages/core/src/features/viz/lib/ohlc-bar-series-tsx/#L80)

<span id="api-OhlcBarSeriesProps"></span>

### OhlcBarSeriesProps

Source-ordered OHLC records rendered as a high/low stem with open/close ticks.

```ts
interface OhlcBarSeriesProps<D> extends PibblEventHandlers, PibblEventParticipationOptions
```

Related API: [OhlcBarSeriesProps](/reference/functions/financial-series/), [PibblEventHandlers](/reference/types/events/#pibbleventhandlers), [PibblEventParticipationOptions](/reference/types/events/#pibbleventparticipationoptions).

#### See also

[OhlcBarSeries](/reference/functions/financial-series/)

[View source — packages/core/src/features/viz/lib/ohlc-bar-series.tsx:38](/source/packages/core/src/features/viz/lib/ohlc-bar-series-tsx/#L38)

#### Properties and methods

<span id="api-OhlcBarSeriesProps-data"></span>
<details>
<summary>data</summary>


```ts
readonly data: SignalValue<readonly D[]>
```

Related API: [SignalValue](/reference/types/signal-inputs/#signalvalue).

Original records or signal; never sorted or mutated.

[View source — packages/core/src/features/viz/lib/ohlc-bar-series.tsx:41](/source/packages/core/src/features/viz/lib/ohlc-bar-series-tsx/#L41)

</details>

<span id="api-OhlcBarSeriesProps-time"></span>
<details>
<summary>time</summary>


```ts
readonly time: LineAccessor<D>
```

Related API: [LineAccessor](/reference/components/line-series/).

UTC-millisecond property or callback.

[View source — packages/core/src/features/viz/lib/ohlc-bar-series.tsx:43](/source/packages/core/src/features/viz/lib/ohlc-bar-series-tsx/#L43)

</details>

<span id="api-OhlcBarSeriesProps-open"></span>
<details>
<summary>open</summary>


```ts
readonly open: LineAccessor<D>
```

Related API: [LineAccessor](/reference/components/line-series/).

Opening price property or callback.

[View source — packages/core/src/features/viz/lib/ohlc-bar-series.tsx:45](/source/packages/core/src/features/viz/lib/ohlc-bar-series-tsx/#L45)

</details>

<span id="api-OhlcBarSeriesProps-high"></span>
<details>
<summary>high</summary>


```ts
readonly high: LineAccessor<D>
```

Related API: [LineAccessor](/reference/components/line-series/).

High price property or callback.

[View source — packages/core/src/features/viz/lib/ohlc-bar-series.tsx:47](/source/packages/core/src/features/viz/lib/ohlc-bar-series-tsx/#L47)

</details>

<span id="api-OhlcBarSeriesProps-low"></span>
<details>
<summary>low</summary>


```ts
readonly low: LineAccessor<D>
```

Related API: [LineAccessor](/reference/components/line-series/).

Low price property or callback.

[View source — packages/core/src/features/viz/lib/ohlc-bar-series.tsx:49](/source/packages/core/src/features/viz/lib/ohlc-bar-series-tsx/#L49)

</details>

<span id="api-OhlcBarSeriesProps-close"></span>
<details>
<summary>close</summary>


```ts
readonly close: LineAccessor<D>
```

Related API: [LineAccessor](/reference/components/line-series/).

Closing price property or callback.

[View source — packages/core/src/features/viz/lib/ohlc-bar-series.tsx:51](/source/packages/core/src/features/viz/lib/ohlc-bar-series-tsx/#L51)

</details>

<span id="api-OhlcBarSeriesProps-xScale"></span>
<details>
<summary>xScale</summary>


```ts
readonly xScale: ScaleId
```

Related API: [ScaleId](/reference/components/scale/).

Numeric, UTC, or trading-time horizontal mapping identity.

[View source — packages/core/src/features/viz/lib/ohlc-bar-series.tsx:53](/source/packages/core/src/features/viz/lib/ohlc-bar-series-tsx/#L53)

</details>

<span id="api-OhlcBarSeriesProps-yScale"></span>
<details>
<summary>yScale</summary>


```ts
readonly yScale: ScaleId
```

Related API: [ScaleId](/reference/components/scale/).

Continuous price mapping identity.

[View source — packages/core/src/features/viz/lib/ohlc-bar-series.tsx:55](/source/packages/core/src/features/viz/lib/ohlc-bar-series-tsx/#L55)

</details>

<span id="api-OhlcBarSeriesProps-defined"></span>
<details>
<summary>defined (optional)</summary>


```ts
readonly defined?: ((datum: D, index: number, data: readonly D[]) => boolean) | undefined
```

Tests original rows before accessor evaluation.

##### Parameters

- **`datum`** — Original row.

- **`index`** — Source index including skipped rows.

- **`data`** — Complete source array.

##### Returns

Whether the bar participates.

[View source — packages/core/src/features/viz/lib/ohlc-bar-series.tsx:62](/source/packages/core/src/features/viz/lib/ohlc-bar-series-tsx/#L62)

</details>

<span id="api-OhlcBarSeriesProps-style"></span>
<details>
<summary>style (optional)</summary>


```ts
readonly style?: ((datum: D, index: number, data: readonly D[]) => OhlcBarSeriesStyle) | SignalValue<OhlcBarSeriesStyle> | undefined
```

Related API: [OhlcBarSeriesStyle](/reference/functions/financial-series/), [SignalValue](/reference/types/signal-inputs/#signalvalue).

Shared presentation or a hook-free original-row resolver.

##### Parameters

- **`datum`** — Original row.

- **`index`** — Source index.

- **`data`** — Complete source array.

##### Returns

Plain OHLC-bar style.

[View source — packages/core/src/features/viz/lib/ohlc-bar-series.tsx:69](/source/packages/core/src/features/viz/lib/ohlc-bar-series-tsx/#L69)

</details>

<span id="api-OhlcBarSeriesProps-inspection"></span>
<details>
<summary>inspection (optional)</summary>


```ts
readonly inspection?: OhlcBarInspectionRef<D> | undefined
```

Related API: [OhlcBarInspectionRef](/reference/functions/financial-series/).

Optional committed capture; the renderer does not execute inspection queries.

[View source — packages/core/src/features/viz/lib/ohlc-bar-series.tsx:72](/source/packages/core/src/features/viz/lib/ohlc-bar-series-tsx/#L72)

</details>

<span id="api-OhlcBarSeriesProps-pointerEvents"></span>
<details>
<summary>pointerEvents (optional)</summary>


```ts
readonly pointerEvents?: PibblPointerEvents | undefined
```

Related API: [PibblPointerEvents](/reference/types/events/#pibblpointerevents).

Whether this content participates in pointer targeting. See PibblPointerEvents.

[View source — packages/core/src/lib/events/types.ts:126](/source/packages/core/src/lib/events/types-ts/#L126)

</details>

<span id="api-OhlcBarSeriesStyle"></span>

### OhlcBarSeriesStyle

Shared stroke presentation for an OHLC bar.

```ts
interface OhlcBarSeriesStyle
```

Related API: [OhlcBarSeriesStyle](/reference/functions/financial-series/).

#### See also

[OhlcBarSeries](/reference/functions/financial-series/)

[View source — packages/core/src/features/viz/lib/ohlc-bar-series.tsx:26](/source/packages/core/src/features/viz/lib/ohlc-bar-series-tsx/#L26)

#### Properties and methods

<span id="api-OhlcBarSeriesStyle-bandwidth"></span>
<details>
<summary>bandwidth (optional)</summary>


```ts
readonly bandwidth?: number | "auto" | undefined
```

Positive total width, or automatic 70% spacing capped at 12; singleton fallback 8.

[View source — packages/core/src/features/viz/lib/ohlc-bar-series.tsx:27](/source/packages/core/src/features/viz/lib/ohlc-bar-series-tsx/#L27)

</details>

<span id="api-OhlcBarSeriesStyle-stroke"></span>
<details>
<summary>stroke (optional)</summary>


```ts
readonly stroke?: StrokeStyle | undefined
```

Related API: [StrokeStyle](/reference/types/styles/#strokestyle).

Stem and tick stroke; defaults to dark teal. Empty string disables painting.

[View source — packages/core/src/features/viz/lib/ohlc-bar-series.tsx:29](/source/packages/core/src/features/viz/lib/ohlc-bar-series-tsx/#L29)

</details>

<span id="api-OhlcBarSeriesStyle-strokeWidth"></span>
<details>
<summary>strokeWidth (optional)</summary>


```ts
readonly strokeWidth?: number | undefined
```

Nonnegative local stroke width; default 1.

[View source — packages/core/src/features/viz/lib/ohlc-bar-series.tsx:30](/source/packages/core/src/features/viz/lib/ohlc-bar-series-tsx/#L30)

</details>

<span id="api-OhlcBarSeriesStyle-opacity"></span>
<details>
<summary>opacity (optional)</summary>


```ts
readonly opacity?: number | undefined
```

Related API: [opacity](/reference/types/filters/#opacity).

Paint opacity from zero through one; default 1.

[View source — packages/core/src/features/viz/lib/ohlc-bar-series.tsx:31](/source/packages/core/src/features/viz/lib/ohlc-bar-series-tsx/#L31)

</details>

<span id="api-OhlcBarSeriesStyle-cursor"></span>
<details>
<summary>cursor (optional)</summary>


```ts
readonly cursor?: string | undefined
```

Cursor while the series owns targeting.

[View source — packages/core/src/features/viz/lib/ohlc-bar-series.tsx:32](/source/packages/core/src/features/viz/lib/ohlc-bar-series-tsx/#L32)

</details>

<span id="api-BaselineSeries"></span>

### BaselineSeries

Draws a linear connected series with independently painted regions above and below a baseline.
Equal values belong to the above stroke; zero-area spans never receive a fill. Gaps split runs,
and optional inspection captures only original records.

```ts
BaselineSeries: <D>({ data: dataInput, x: xInput, y: yInput, xScale: xId, yScale: yId, baseline: baselineInput, defined, inspection, style: styleInput, ...eventProps }: BaselineSeriesProps<D>) => JSX.Element
```

Related API: [BaselineSeries](/reference/functions/financial-series/), [BaselineSeriesProps](/reference/functions/financial-series/), [JSX](/reference/overview/).

#### Parameters

- **`props`** — Records, a numeric or trading-time x scale, linear price y scale, baseline, event props, and shared side paint.

#### Returns

Filled and stroked Pibbl paths in source paint order.

#### See also

[LineSeriesProps](/reference/components/line-series/)

[View source — packages/core/src/features/viz/lib/baseline-series.tsx:100](/source/packages/core/src/features/viz/lib/baseline-series-tsx/#L100)

<span id="api-BaselineSeriesProps"></span>

### BaselineSeriesProps

A linear connected series split into independently painted regions at baseline crossings. See
BaselineSeries.

```ts
interface BaselineSeriesProps<D> extends PibblEventHandlers, PibblEventParticipationOptions
```

Related API: [BaselineSeriesProps](/reference/functions/financial-series/), [PibblEventHandlers](/reference/types/events/#pibbleventhandlers), [PibblEventParticipationOptions](/reference/types/events/#pibbleventparticipationoptions).

[View source — packages/core/src/features/viz/lib/baseline-series.tsx:41](/source/packages/core/src/features/viz/lib/baseline-series-tsx/#L41)

#### Properties and methods

<span id="api-BaselineSeriesProps-data"></span>
<details>
<summary>data</summary>


```ts
readonly data: SignalValue<readonly D[]>
```

Related API: [SignalValue](/reference/types/signal-inputs/#signalvalue).

Application records or a signal of records; source order is retained.

[View source — packages/core/src/features/viz/lib/baseline-series.tsx:44](/source/packages/core/src/features/viz/lib/baseline-series-tsx/#L44)

</details>

<span id="api-BaselineSeriesProps-x"></span>
<details>
<summary>x</summary>


```ts
readonly x: LineAccessor<D>
```

Related API: [LineAccessor](/reference/components/line-series/).

Property key or callback extracting horizontal coordinates.

[View source — packages/core/src/features/viz/lib/baseline-series.tsx:46](/source/packages/core/src/features/viz/lib/baseline-series-tsx/#L46)

</details>

<span id="api-BaselineSeriesProps-y"></span>
<details>
<summary>y</summary>


```ts
readonly y: LineAccessor<D>
```

Related API: [LineAccessor](/reference/components/line-series/).

Property key or callback extracting vertical coordinates.

[View source — packages/core/src/features/viz/lib/baseline-series.tsx:48](/source/packages/core/src/features/viz/lib/baseline-series-tsx/#L48)

</details>

<span id="api-BaselineSeriesProps-xScale"></span>
<details>
<summary>xScale</summary>


```ts
readonly xScale: ScaleId
```

Related API: [ScaleId](/reference/components/scale/).

Numeric or trading-time horizontal scale identity.

[View source — packages/core/src/features/viz/lib/baseline-series.tsx:50](/source/packages/core/src/features/viz/lib/baseline-series-tsx/#L50)

</details>

<span id="api-BaselineSeriesProps-yScale"></span>
<details>
<summary>yScale</summary>


```ts
readonly yScale: ScaleId
```

Related API: [ScaleId](/reference/components/scale/).

Linear vertical scale identity.

[View source — packages/core/src/features/viz/lib/baseline-series.tsx:52](/source/packages/core/src/features/viz/lib/baseline-series-tsx/#L52)

</details>

<span id="api-BaselineSeriesProps-baseline"></span>
<details>
<summary>baseline</summary>


```ts
readonly baseline: SignalValue<number>
```

Related API: [SignalValue](/reference/types/signal-inputs/#signalvalue).

Finite data-space division between the above and below presentations.

[View source — packages/core/src/features/viz/lib/baseline-series.tsx:54](/source/packages/core/src/features/viz/lib/baseline-series-tsx/#L54)

</details>

<span id="api-BaselineSeriesProps-defined"></span>
<details>
<summary>defined (optional)</summary>


```ts
readonly defined?: ((datum: D, index: number, data: readonly D[]) => boolean) | undefined
```

Excludes a record before its accessors run.

[View source — packages/core/src/features/viz/lib/baseline-series.tsx:56](/source/packages/core/src/features/viz/lib/baseline-series-tsx/#L56)

</details>

<span id="api-BaselineSeriesProps-inspection"></span>
<details>
<summary>inspection (optional)</summary>


```ts
readonly inspection?: NumericInspectionRef<D> | undefined
```

Related API: [NumericInspectionRef](/reference/functions/rendered-series-inspection/).

Optional committed original-record capture on the standard numeric inspection foundation.

[View source — packages/core/src/features/viz/lib/baseline-series.tsx:58](/source/packages/core/src/features/viz/lib/baseline-series-tsx/#L58)

</details>

<span id="api-BaselineSeriesProps-style"></span>
<details>
<summary>style (optional)</summary>


```ts
readonly style?: SignalValue<Readonly<{ readonly above?: SignalValue<BaselineSideStyle | undefined>; readonly below?: SignalValue<BaselineSideStyle | undefined>; readonly fillOpacity?: SignalValue<number | undefined>; readonly strokeWidth?: SignalValue<number | undefined>; readonly cursor?: SignalValue<string | undefined>; }>> | undefined
```

Related API: [SignalValue](/reference/types/signal-inputs/#signalvalue), [BaselineSideStyle](/reference/functions/financial-series/).

Shared above/below paint and interaction presentation.

[View source — packages/core/src/features/viz/lib/baseline-series.tsx:60](/source/packages/core/src/features/viz/lib/baseline-series-tsx/#L60)

</details>

<span id="api-BaselineSeriesProps-pointerEvents"></span>
<details>
<summary>pointerEvents (optional)</summary>


```ts
readonly pointerEvents?: PibblPointerEvents | undefined
```

Related API: [PibblPointerEvents](/reference/types/events/#pibblpointerevents).

Whether this content participates in pointer targeting. See PibblPointerEvents.

[View source — packages/core/src/lib/events/types.ts:126](/source/packages/core/src/lib/events/types-ts/#L126)

</details>

<span id="api-BaselineSeriesStyle"></span>

### BaselineSeriesStyle

Shared presentation for a linear baseline series. See BaselineSeries.

```ts
interface BaselineSeriesStyle
```

Related API: [BaselineSeriesStyle](/reference/functions/financial-series/).

[View source — packages/core/src/features/viz/lib/baseline-series.tsx:25](/source/packages/core/src/features/viz/lib/baseline-series-tsx/#L25)

#### Properties and methods

<span id="api-BaselineSeriesStyle-above"></span>
<details>
<summary>above (optional)</summary>


```ts
readonly above?: BaselineSideStyle | undefined
```

Related API: [BaselineSideStyle](/reference/functions/financial-series/).

Paint for y values greater than or equal to baseline.

[View source — packages/core/src/features/viz/lib/baseline-series.tsx:27](/source/packages/core/src/features/viz/lib/baseline-series-tsx/#L27)

</details>

<span id="api-BaselineSeriesStyle-below"></span>
<details>
<summary>below (optional)</summary>


```ts
readonly below?: BaselineSideStyle | undefined
```

Related API: [BaselineSideStyle](/reference/functions/financial-series/).

Paint for y values less than baseline.

[View source — packages/core/src/features/viz/lib/baseline-series.tsx:29](/source/packages/core/src/features/viz/lib/baseline-series-tsx/#L29)

</details>

<span id="api-BaselineSeriesStyle-fillOpacity"></span>
<details>
<summary>fillOpacity (optional)</summary>


```ts
readonly fillOpacity?: number | undefined
```

Opacity for both area fills; defaults to 0.2.

[View source — packages/core/src/features/viz/lib/baseline-series.tsx:31](/source/packages/core/src/features/viz/lib/baseline-series-tsx/#L31)

</details>

<span id="api-BaselineSeriesStyle-strokeWidth"></span>
<details>
<summary>strokeWidth (optional)</summary>


```ts
readonly strokeWidth?: number | undefined
```

Width for both line strokes; defaults to 2.

[View source — packages/core/src/features/viz/lib/baseline-series.tsx:33](/source/packages/core/src/features/viz/lib/baseline-series-tsx/#L33)

</details>

<span id="api-BaselineSeriesStyle-cursor"></span>
<details>
<summary>cursor (optional)</summary>


```ts
readonly cursor?: string | undefined
```

Cursor while a painted series path owns targeting.

[View source — packages/core/src/features/viz/lib/baseline-series.tsx:35](/source/packages/core/src/features/viz/lib/baseline-series-tsx/#L35)

</details>

<span id="api-BaselineSideStyle"></span>

### BaselineSideStyle

Shared paint for one side of a baseline. See BaselineSeries.

```ts
interface BaselineSideStyle
```

Related API: [BaselineSideStyle](/reference/functions/financial-series/).

[View source — packages/core/src/features/viz/lib/baseline-series.tsx:17](/source/packages/core/src/features/viz/lib/baseline-series-tsx/#L17)

#### Properties and methods

<span id="api-BaselineSideStyle-fill"></span>
<details>
<summary>fill (optional)</summary>


```ts
readonly fill?: FillStyle | undefined
```

Related API: [FillStyle](/reference/types/styles/#fillstyle).

Area fill for this side of the baseline.

[View source — packages/core/src/features/viz/lib/baseline-series.tsx:19](/source/packages/core/src/features/viz/lib/baseline-series-tsx/#L19)

</details>

<span id="api-BaselineSideStyle-stroke"></span>
<details>
<summary>stroke (optional)</summary>


```ts
readonly stroke?: StrokeStyle | undefined
```

Related API: [StrokeStyle](/reference/types/styles/#strokestyle).

Line stroke for this side of the baseline.

[View source — packages/core/src/features/viz/lib/baseline-series.tsx:21](/source/packages/core/src/features/viz/lib/baseline-series-tsx/#L21)

</details>

## Implementation guidance for agents

Read the [Data visualization companion](/agents/topics/visualization/) for ownership, adaptation, failure modes, and verification. [Agent start](/agents/) provides the version-selection workflow.

## Complete minimal examples

- [OHLCV buckets and session VWAP](/minimal-examples/viz/financial-aggregation/): Aggregate source bars and compute session-reset volume-weighted pricing. [Plain source](/minimal/viz/financial-aggregation.tsx)
- [Common-base percentage returns](/minimal-examples/viz/financial-percentage-returns/): Derive cumulative simple returns with explicit null gaps from one exact base. [Plain source](/minimal/viz/financial-percentage-returns.tsx)
- [Common-base indexed values](/minimal-examples/viz/financial-index-to-100/): Index supplied prices to 100 at one exact common base. [Plain source](/minimal/viz/financial-index-to-100.tsx)
- [Consecutive financial indicators](/minimal-examples/viz/financial-indicators/): Derive aligned SMA, EMA, and population-standard-deviation bands with explicit gap resets. [Plain source](/minimal/viz/financial-indicators.tsx)
- [Financial oscillators](/minimal-examples/viz/financial-oscillators/): Derive source-aligned RSI, MACD, and stochastic values with explicit gap resets. [Plain source](/minimal/viz/financial-oscillators.tsx)
- [Entry-price baseline](/minimal-examples/viz/financial-baseline/): Paint linear price changes above and below an explicit entry reference. [Plain source](/minimal/viz/financial-baseline.tsx)
- [Candlestick OHLC marks](/minimal-examples/viz/financial-candles/): Render named open, high, low, and close values with independently styled bodies and wicks. [Plain source](/minimal/viz/financial-candles.tsx)
- [Candle inspection](/minimal-examples/viz/financial-candle-inspection/): Read committed OHLC records and distinguish body coverage from wick coverage. [Plain source](/minimal/viz/financial-candle-inspection.tsx)
- [Snapped OHLCV inspection](/minimal-examples/viz/financial-crosshair/): Compose a recorded-time crosshair that keyboard navigation can retain. [Plain source](/minimal/viz/financial-crosshair.tsx)
- [OHLC bar inspection](/minimal-examples/viz/financial-ohlc-bars/): Render OHLC stems and ticks, then query committed nearest and painted bars. [Plain source](/minimal/viz/financial-ohlc-bars.tsx)
- [Trading-time observation slots](/minimal-examples/viz/financial-trading-time/): Place supplied UTC observations in consecutive logical slots without modeling an exchange calendar. [Plain source](/minimal/viz/financial-trading-time.tsx)
- [Financial volume columns](/minimal-examples/viz/financial-volume/): Paint time-aligned nonnegative volume columns with a numeric baseline. [Plain source](/minimal/viz/financial-volume.tsx)
- [Volume inspection](/minimal-examples/viz/financial-volume-inspection/): Read committed volume observations with typed nearest-time and painted-column queries. [Plain source](/minimal/viz/financial-volume-inspection.tsx)
- [Visible OHLC autoscaling](/minimal-examples/viz/financial-visible-autoscale/): Derive a padded linear domain from complete candles in one visible window. [Plain source](/minimal/viz/financial-visible-autoscale.tsx)
## Documentation version

Documentation built with @pibbl/core 0.0.2, revision dd39ce2. ALPHA — NOT FOR PRODUCTION USE.
