Streaming

Streaming / Incremental Indicators — bar-by-bar stateful classes.

All streaming classes are implemented in Rust (PyO3) for maximum performance. The Python module re-exports the Rust classes from the _ferro_ta extension. The extension must be built; there is no Python fallback.

Usage

>>> from ferro_ta.data.streaming import StreamingSMA, StreamingEMA, StreamingRSI
>>> import numpy as np
>>> sma = StreamingSMA(period=3)
>>> for close in [10.0, 11.0, 12.0, 13.0, 14.0]:
...     val = sma.update(close)
...     print(f"{close} → {val:.4f}" if not np.isnan(val) else f"{close} → NaN")
10.0 → NaN
11.0 → NaN
12.0 → 11.0000
13.0 → 12.0000
14.0 → 13.0000

Live bars

update(x) commits a closed bar; update(x, closed=False) previews the still-forming bar without changing state. count / is_ready report committed progress, copy.copy snapshots state, and NaN/±inf ticks are skipped (they return NaN without poisoning state).

Available classes

StreamingSMA — Simple Moving Average StreamingEMA — Exponential Moving Average StreamingRSI — Relative Strength Index (Wilder seeding) StreamingATR — Average True Range (Wilder seeding) StreamingBBands — Bollinger Bands (upper, middle, lower) StreamingMACD — MACD line, signal, histogram StreamingStoch — Slow Stochastic (slowk, slowd) StreamingVWAP — Volume Weighted Average Price (cumulative) StreamingSupertrend — ATR-based Supertrend StreamingCross — Dead-band cross of two series (1 / -1 / 0 events) StreamingStreak — “N bars in a row” condition StreamingCooldown — Mute repeat signals for N bars StreamingOptionGreeks — Live IV + greeks for one option contract BarBuilder — Session-aligned tick → OHLCV bar builder (yields Bar)

Plus one class per registry stream (StreamingSum, StreamingAdd, StreamingRollingMaxindex …): Streaming + the batch function name in UpperCamel, taking that function’s parameters (same names and defaults) and its inputs, one value each, in update. See __all__ for the full list.

Rust backend

All classes are PyO3 classes compiled into the _ferro_ta extension module. Import them directly from the extension for zero-overhead access:

from ferro_ta._ferro_ta import StreamingSMA
class ferro_ta.streaming.Bar(start_ms, end_ms, open, high, low, close, volume, ticks)

Bases: object

One OHLCV bar covering [start_ms, end_ms) (UTC epoch milliseconds).

close
end_ms
high
low
open
start_ms
ticks
volume
class ferro_ta.streaming.BarBuilder(interval_secs, *, session_open='09:15', session_close='15:30', utc_offset_minutes=330)

Bases: object

Session-aligned tick → bar builder.

Bars sit on a session-local grid (session_open + k * interval; the last bar is cut at session_close), so 5-minute NSE bars start at 09:15, 09:20, … Gaps without ticks produce no bars. Late, duplicate, out-of-session and invalid ticks are rejected with a status string.

utc_offset_minutes is fixed (no DST): for markets that observe daylight saving, create a new builder with the new offset when clocks change.

forming

The bar currently being built, if any.

static from_json(json)

Restore a snapshot made by to_json.

interval_secs
on_tick(ts_ms, price, qty=0.0)

Feed one tick. Returns (status, closed_bar_or_None) where status is "accepted", "late", "duplicate", "out_of_session" or "invalid".

on_time(now_ms)

Close the forming bar once now_ms reaches its end (no tick needed).

reset()
to_json()

Versioned JSON snapshot, including the forming bar (see from_json).

class ferro_ta.streaming.StreamingATR(period=Ellipsis)

Bases: object

Average True Range with TA-Lib–compatible Wilder seeding.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a non-NaN value.

period
reset()

Reset state to initial condition.

to_json()

Versioned JSON snapshot of the full state (see from_json).

update(high, low, close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingAc(fastperiod=5, slowperiod=34, timeperiod=5)

Bases: object

Streaming Accelerator Oscillator: AO - SMA(AO, timeperiod).

count

Number of committed (closed) bars.

fastperiod
static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

slowperiod
timeperiod
to_json()

Versioned JSON snapshot of the full state (see from_json).

update(high, low, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingAd

Bases: object

Streaming Chaikin accumulation / distribution line.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

to_json()

Versioned JSON snapshot of the full state (see from_json).

update(high, low, close, volume, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingAdd

Bases: object

Streaming element-wise a + b.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

to_json()

Versioned JSON snapshot of the full state (see from_json).

update(a, b, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingAdosc(fastperiod=3, slowperiod=10)

Bases: object

Streaming Chaikin A/D oscillator: fast EMA - slow EMA of the A/D line, both seeded from its first value.

count

Number of committed (closed) bars.

fastperiod
static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

slowperiod
to_json()

Versioned JSON snapshot of the full state (see from_json).

update(high, low, close, volume, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingAdx(timeperiod=14)

Bases: object

Streaming average directional index; first value at bar 2 * timeperiod - 1.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

timeperiod
to_json()

Versioned JSON snapshot of the full state (see from_json).

update(high, low, close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingAdxr(timeperiod=14)

Bases: object

Streaming ADX rating: (ADX + ADX timeperiod - 1 bars ago) / 2.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

timeperiod
to_json()

Versioned JSON snapshot of the full state (see from_json).

update(high, low, close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingAlligator(jaw_period=13, jaw_shift=8, teeth_period=8, teeth_shift=5, lips_period=5, lips_shift=3)

Bases: object

Streaming Bill Williams Alligator: (jaw, teeth, lips) SMMAs of the median price, each shifted forward by its shift.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

jaw_period
jaw_shift
lips_period
lips_shift
reset()

Reset state to initial condition.

teeth_period
teeth_shift
to_json()

Versioned JSON snapshot of the full state (see from_json).

update(high, low, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingAlma(timeperiod=21, offset=0.85, sigma=6.0)

Bases: object

Streaming Arnaud Legoux moving average: Gaussian-weighted mean of the last timeperiod closes.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

offset
reset()

Reset state to initial condition.

sigma
timeperiod
to_json()

Versioned JSON snapshot of the full state (see from_json).

update(close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingAo(fastperiod=5, slowperiod=34)

Bases: object

Streaming Awesome Oscillator: SMA(median price, fast) - SMA(median price, slow).

count

Number of committed (closed) bars.

fastperiod
static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

slowperiod
to_json()

Versioned JSON snapshot of the full state (see from_json).

update(high, low, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingApo(fastperiod=12, slowperiod=26, matype=1)

Bases: object

Streaming absolute price oscillator: fast MA - slow MA (both of type matype).

count

Number of committed (closed) bars.

fastperiod
static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

matype
reset()

Reset state to initial condition.

slowperiod
to_json()

Versioned JSON snapshot of the full state (see from_json).

update(close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingAroon(timeperiod=14)

Bases: object

Streaming Aroon: (aroon_down, aroon_up) over a timeperiod + 1 bar window; ties go to the most recent bar.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

timeperiod
to_json()

Versioned JSON snapshot of the full state (see from_json).

update(high, low, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingAroonosc(timeperiod=14)

Bases: object

Streaming Aroon oscillator: aroon_up - aroon_down.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

timeperiod
to_json()

Versioned JSON snapshot of the full state (see from_json).

update(high, low, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingAvgprice

Bases: object

Streaming average price: (open + high + low + close) / 4.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

to_json()

Versioned JSON snapshot of the full state (see from_json).

update(open, high, low, close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingBBands(period=Ellipsis, nbdevup=Ellipsis, nbdevdn=Ellipsis)

Bases: object

Bollinger Bands — returns (upper, middle, lower).

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a non-NaN value.

period
reset()

Reset state to initial condition.

to_json()

Versioned JSON snapshot of the full state (see from_json).

update(value, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingBbpercent(timeperiod=5, nbdevup=2.0, nbdevdn=2.0)

Bases: object

Streaming Bollinger %B: (close - lower) / (upper - lower) of SMA bands (NaN on a zero-width band).

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

nbdevdn
nbdevup
reset()

Reset state to initial condition.

timeperiod
to_json()

Versioned JSON snapshot of the full state (see from_json).

update(close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingBbwidth(timeperiod=5, nbdevup=2.0, nbdevdn=2.0)

Bases: object

Streaming Bollinger bandwidth: (upper - lower) / middle of SMA bands (NaN on a zero middle).

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

nbdevdn
nbdevup
reset()

Reset state to initial condition.

timeperiod
to_json()

Versioned JSON snapshot of the full state (see from_json).

update(close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingBeta(timeperiod=5)

Bases: object

Streaming rolling beta of real1 returns on real0 returns over timeperiod returns.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

timeperiod
to_json()

Versioned JSON snapshot of the full state (see from_json).

update(real0, real1, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingBop

Bases: object

Streaming Balance of Power: (close - open) / (high - low).

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

to_json()

Versioned JSON snapshot of the full state (see from_json).

update(open, high, low, close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingCci(timeperiod=14)

Bases: object

Streaming Commodity Channel Index over timeperiod bars.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

timeperiod
to_json()

Versioned JSON snapshot of the full state (see from_json).

update(high, low, close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingCdl2crows

Bases: object

Streaming Two Crows candlestick pattern: -100 (bearish) when matched, else 0.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

to_json()

Versioned JSON snapshot of the full state (see from_json).

update(open, high, low, close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingCdl3blackcrows

Bases: object

Streaming Three Black Crows candlestick pattern: -100 (bearish) when matched, else 0.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

to_json()

Versioned JSON snapshot of the full state (see from_json).

update(open, high, low, close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingCdl3inside

Bases: object

Streaming Three Inside Up/Down candlestick pattern: 100 bullish, -100 bearish, else 0.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

to_json()

Versioned JSON snapshot of the full state (see from_json).

update(open, high, low, close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingCdl3linestrike

Bases: object

Streaming Three-Line Strike candlestick pattern: 100 bullish, -100 bearish, else 0.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

to_json()

Versioned JSON snapshot of the full state (see from_json).

update(open, high, low, close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingCdl3outside

Bases: object

Streaming Three Outside Up/Down candlestick pattern: 100 bullish, -100 bearish, else 0.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

to_json()

Versioned JSON snapshot of the full state (see from_json).

update(open, high, low, close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingCdl3starsinsouth

Bases: object

Streaming Three Stars In The South candlestick pattern: 100 (bullish) when matched, else 0.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

to_json()

Versioned JSON snapshot of the full state (see from_json).

update(open, high, low, close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingCdl3whitesoldiers

Bases: object

Streaming Three Advancing White Soldiers candlestick pattern: 100 (bullish) when matched, else 0.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

to_json()

Versioned JSON snapshot of the full state (see from_json).

update(open, high, low, close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingCdlabandonedbaby

Bases: object

Streaming Abandoned Baby candlestick pattern: 100 bullish, -100 bearish, else 0.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

to_json()

Versioned JSON snapshot of the full state (see from_json).

update(open, high, low, close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingCdladvanceblock

Bases: object

Streaming Advance Block candlestick pattern: -100 (bearish) when matched, else 0.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

to_json()

Versioned JSON snapshot of the full state (see from_json).

update(open, high, low, close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingCdlbelthold

Bases: object

Streaming Belt-hold candlestick pattern: 100 bullish, -100 bearish, else 0.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

to_json()

Versioned JSON snapshot of the full state (see from_json).

update(open, high, low, close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingCdlbreakaway

Bases: object

Streaming Breakaway candlestick pattern: 100 bullish, -100 bearish, else 0.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

to_json()

Versioned JSON snapshot of the full state (see from_json).

update(open, high, low, close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingCdlclosingmarubozu

Bases: object

Streaming Closing Marubozu candlestick pattern: 100 bullish, -100 bearish, else 0.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

to_json()

Versioned JSON snapshot of the full state (see from_json).

update(open, high, low, close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingCdlconcealbabyswall

Bases: object

Streaming Concealing Baby Swallow candlestick pattern: 100 (bullish) when matched, else 0.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

to_json()

Versioned JSON snapshot of the full state (see from_json).

update(open, high, low, close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingCdlcounterattack

Bases: object

Streaming Counterattack candlestick pattern: 100 bullish, -100 bearish, else 0.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

to_json()

Versioned JSON snapshot of the full state (see from_json).

update(open, high, low, close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingCdldarkcloudcover

Bases: object

Streaming Dark Cloud Cover candlestick pattern: -100 (bearish) when matched, else 0.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

to_json()

Versioned JSON snapshot of the full state (see from_json).

update(open, high, low, close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingCdldoji

Bases: object

Streaming Doji candlestick pattern: 100 when the candle matches (pattern present, not a direction), else 0.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

to_json()

Versioned JSON snapshot of the full state (see from_json).

update(open, high, low, close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingCdldojistar

Bases: object

Streaming Doji Star candlestick pattern: 100 bullish, -100 bearish, else 0.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

to_json()

Versioned JSON snapshot of the full state (see from_json).

update(open, high, low, close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingCdldragonflydoji

Bases: object

Streaming Dragonfly Doji candlestick pattern: 100 when the candle matches (pattern present, not a direction), else 0.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

to_json()

Versioned JSON snapshot of the full state (see from_json).

update(open, high, low, close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingCdlengulfing

Bases: object

Streaming Engulfing candlestick pattern: 100 bullish, -100 bearish, else 0.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

to_json()

Versioned JSON snapshot of the full state (see from_json).

update(open, high, low, close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingCdleveningdojistar

Bases: object

Streaming Evening Doji Star candlestick pattern: -100 (bearish) when matched, else 0.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

to_json()

Versioned JSON snapshot of the full state (see from_json).

update(open, high, low, close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingCdleveningstar

Bases: object

Streaming Evening Star candlestick pattern: -100 (bearish) when matched, else 0.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

to_json()

Versioned JSON snapshot of the full state (see from_json).

update(open, high, low, close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingCdlgapsidesidewhite

Bases: object

Streaming Up/Down-gap side-by-side white lines candlestick pattern: 100 bullish, -100 bearish, else 0.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

to_json()

Versioned JSON snapshot of the full state (see from_json).

update(open, high, low, close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingCdlgravestonedoji

Bases: object

Streaming Gravestone Doji candlestick pattern: -100 (bearish) when matched, else 0.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

to_json()

Versioned JSON snapshot of the full state (see from_json).

update(open, high, low, close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingCdlhammer

Bases: object

Streaming Hammer candlestick pattern: 100 (bullish) when matched, else 0.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

to_json()

Versioned JSON snapshot of the full state (see from_json).

update(open, high, low, close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingCdlhangingman

Bases: object

Streaming Hanging Man candlestick pattern: -100 (bearish) when matched, else 0.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

to_json()

Versioned JSON snapshot of the full state (see from_json).

update(open, high, low, close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingCdlharami

Bases: object

Streaming Harami candlestick pattern: 100 bullish, -100 bearish, else 0.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

to_json()

Versioned JSON snapshot of the full state (see from_json).

update(open, high, low, close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingCdlharamicross

Bases: object

Streaming Harami Cross candlestick pattern: 100 bullish, -100 bearish, else 0.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

to_json()

Versioned JSON snapshot of the full state (see from_json).

update(open, high, low, close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingCdlhighwave

Bases: object

Streaming High-Wave Candle candlestick pattern: 100 bullish, -100 bearish, else 0.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

to_json()

Versioned JSON snapshot of the full state (see from_json).

update(open, high, low, close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingCdlhikkake

Bases: object

Streaming Hikkake Pattern candlestick pattern: 100 bullish, -100 bearish, else 0.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

to_json()

Versioned JSON snapshot of the full state (see from_json).

update(open, high, low, close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingCdlhikkakemod

Bases: object

Streaming Modified Hikkake Pattern candlestick pattern: 100 bullish, -100 bearish, else 0.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

to_json()

Versioned JSON snapshot of the full state (see from_json).

update(open, high, low, close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingCdlhomingpigeon

Bases: object

Streaming Homing Pigeon candlestick pattern: 100 (bullish) when matched, else 0.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

to_json()

Versioned JSON snapshot of the full state (see from_json).

update(open, high, low, close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingCdlidentical3crows

Bases: object

Streaming Identical Three Crows candlestick pattern: -100 (bearish) when matched, else 0.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

to_json()

Versioned JSON snapshot of the full state (see from_json).

update(open, high, low, close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingCdlinneck

Bases: object

Streaming In-Neck Pattern candlestick pattern: -100 (bearish) when matched, else 0.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

to_json()

Versioned JSON snapshot of the full state (see from_json).

update(open, high, low, close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingCdlinvertedhammer

Bases: object

Streaming Inverted Hammer candlestick pattern: 100 (bullish) when matched, else 0.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

to_json()

Versioned JSON snapshot of the full state (see from_json).

update(open, high, low, close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingCdlkicking

Bases: object

Streaming Kicking candlestick pattern: 100 bullish, -100 bearish, else 0.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

to_json()

Versioned JSON snapshot of the full state (see from_json).

update(open, high, low, close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingCdlkickingbylength

Bases: object

Streaming Kicking by length (direction follows the longer marubozu) candlestick pattern: 100 bullish, -100 bearish, else 0.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

to_json()

Versioned JSON snapshot of the full state (see from_json).

update(open, high, low, close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingCdlladderbottom

Bases: object

Streaming Ladder Bottom candlestick pattern: 100 (bullish) when matched, else 0.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

to_json()

Versioned JSON snapshot of the full state (see from_json).

update(open, high, low, close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingCdllongleggeddoji

Bases: object

Streaming Long Legged Doji candlestick pattern: 100 when the candle matches (pattern present, not a direction), else 0.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

to_json()

Versioned JSON snapshot of the full state (see from_json).

update(open, high, low, close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingCdllongline

Bases: object

Streaming Long Line Candle candlestick pattern: 100 bullish, -100 bearish, else 0.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

to_json()

Versioned JSON snapshot of the full state (see from_json).

update(open, high, low, close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingCdlmarubozu

Bases: object

Streaming Marubozu candlestick pattern: 100 bullish, -100 bearish, else 0.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

to_json()

Versioned JSON snapshot of the full state (see from_json).

update(open, high, low, close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingCdlmatchinglow

Bases: object

Streaming Matching Low candlestick pattern: 100 (bullish) when matched, else 0.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

to_json()

Versioned JSON snapshot of the full state (see from_json).

update(open, high, low, close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingCdlmathold

Bases: object

Streaming Mat Hold candlestick pattern: 100 (bullish) when matched, else 0.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

to_json()

Versioned JSON snapshot of the full state (see from_json).

update(open, high, low, close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingCdlmorningdojistar

Bases: object

Streaming Morning Doji Star candlestick pattern: 100 (bullish) when matched, else 0.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

to_json()

Versioned JSON snapshot of the full state (see from_json).

update(open, high, low, close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingCdlmorningstar

Bases: object

Streaming Morning Star candlestick pattern: 100 (bullish) when matched, else 0.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

to_json()

Versioned JSON snapshot of the full state (see from_json).

update(open, high, low, close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingCdlonneck

Bases: object

Streaming On-Neck Pattern candlestick pattern: -100 (bearish) when matched, else 0.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

to_json()

Versioned JSON snapshot of the full state (see from_json).

update(open, high, low, close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingCdlpiercing

Bases: object

Streaming Piercing Pattern candlestick pattern: 100 (bullish) when matched, else 0.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

to_json()

Versioned JSON snapshot of the full state (see from_json).

update(open, high, low, close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingCdlrickshawman

Bases: object

Streaming Rickshaw Man candlestick pattern: 100 when the candle matches (pattern present, not a direction), else 0.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

to_json()

Versioned JSON snapshot of the full state (see from_json).

update(open, high, low, close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingCdlrisefall3methods

Bases: object

Streaming Rising/Falling Three Methods candlestick pattern: 100 bullish, -100 bearish, else 0.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

to_json()

Versioned JSON snapshot of the full state (see from_json).

update(open, high, low, close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingCdlseparatinglines

Bases: object

Streaming Separating Lines candlestick pattern: 100 bullish, -100 bearish, else 0.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

to_json()

Versioned JSON snapshot of the full state (see from_json).

update(open, high, low, close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingCdlshootingstar

Bases: object

Streaming Shooting Star candlestick pattern: -100 (bearish) when matched, else 0.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

to_json()

Versioned JSON snapshot of the full state (see from_json).

update(open, high, low, close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingCdlshortline

Bases: object

Streaming Short Line Candle candlestick pattern: 100 bullish, -100 bearish, else 0.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

to_json()

Versioned JSON snapshot of the full state (see from_json).

update(open, high, low, close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingCdlspinningtop

Bases: object

Streaming Spinning Top candlestick pattern: 100 bullish, -100 bearish, else 0.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

to_json()

Versioned JSON snapshot of the full state (see from_json).

update(open, high, low, close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingCdlstalledpattern

Bases: object

Streaming Stalled Pattern candlestick pattern: -100 (bearish) when matched, else 0.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

to_json()

Versioned JSON snapshot of the full state (see from_json).

update(open, high, low, close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingCdlsticksandwich

Bases: object

Streaming Stick Sandwich candlestick pattern: 100 (bullish) when matched, else 0.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

to_json()

Versioned JSON snapshot of the full state (see from_json).

update(open, high, low, close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingCdltakuri

Bases: object

Streaming Takuri (Dragonfly Doji with very long lower shadow) candlestick pattern: 100 when the candle matches (pattern present, not a direction), else 0.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

to_json()

Versioned JSON snapshot of the full state (see from_json).

update(open, high, low, close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingCdltasukigap

Bases: object

Streaming Tasuki Gap candlestick pattern: 100 bullish, -100 bearish, else 0.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

to_json()

Versioned JSON snapshot of the full state (see from_json).

update(open, high, low, close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingCdlthrusting

Bases: object

Streaming Thrusting Pattern candlestick pattern: -100 (bearish) when matched, else 0.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

to_json()

Versioned JSON snapshot of the full state (see from_json).

update(open, high, low, close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingCdltristar

Bases: object

Streaming Tristar Pattern candlestick pattern: 100 bullish, -100 bearish, else 0.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

to_json()

Versioned JSON snapshot of the full state (see from_json).

update(open, high, low, close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingCdlunique3river

Bases: object

Streaming Unique 3 River candlestick pattern: 100 (bullish) when matched, else 0.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

to_json()

Versioned JSON snapshot of the full state (see from_json).

update(open, high, low, close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingCdlupsidegap2crows

Bases: object

Streaming Upside Gap Two Crows candlestick pattern: -100 (bearish) when matched, else 0.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

to_json()

Versioned JSON snapshot of the full state (see from_json).

update(open, high, low, close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingCdlxsidegap3methods

Bases: object

Streaming Upside/Downside Gap Three Methods candlestick pattern: 100 bullish, -100 bearish, else 0.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

to_json()

Versioned JSON snapshot of the full state (see from_json).

update(open, high, low, close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingChaikinVol(timeperiod=10, rocperiod=10)

Bases: object

Streaming Chaikin volatility: rocperiod-bar percent rate of change of an EMA of the high-low range.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

rocperiod
timeperiod
to_json()

Versioned JSON snapshot of the full state (see from_json).

update(high, low, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingChandeKrollStop(timeperiod=10, multiplier=1.0, stop_period=9)

Bases: object

Streaming Chande Kroll stop: rolling stop_period extremes of the ATR-offset timeperiod highest high / lowest low.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

multiplier
reset()

Reset state to initial condition.

stop_period
timeperiod
to_json()

Versioned JSON snapshot of the full state (see from_json).

update(high, low, close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingChandelierExit(timeperiod=22, multiplier=3.0)

Bases: object

Streaming Chandelier exit: (highest high - multiplier * ATR, lowest low + multiplier * ATR) over timeperiod bars.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

multiplier
reset()

Reset state to initial condition.

timeperiod
to_json()

Versioned JSON snapshot of the full state (see from_json).

update(high, low, close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingCheckCross

Bases: object

Streaming cross event between fast and slow: 1 cross-over, -1 cross-under, 0 none.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

to_json()

Versioned JSON snapshot of the full state (see from_json).

update(fast, slow, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingCho(fastperiod=3, slowperiod=10)

Bases: object

Streaming Chaikin oscillator: fast EMA - slow EMA of the A/D line, both seeded from its first value (same as ADOSC).

count

Number of committed (closed) bars.

fastperiod
static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

slowperiod
to_json()

Versioned JSON snapshot of the full state (see from_json).

update(high, low, close, volume, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingChoppinessIndex(timeperiod=14)

Bases: object

Streaming Choppiness Index over timeperiod bars (first value at bar timeperiod).

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

timeperiod
to_json()

Versioned JSON snapshot of the full state (see from_json).

update(high, low, close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingCloseToCloseVol(window=20, trading_days=252.0)

Bases: object

Streaming annualised close-to-close realized volatility (first value after window returns).

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

to_json()

Versioned JSON snapshot of the full state (see from_json).

trading_days
update(close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

window
class ferro_ta.streaming.StreamingCmf(timeperiod=20)

Bases: object

Streaming Chaikin money flow: timeperiod-bar sum of CLV * volume over the volume sum. Mirrors the batch zero-exact running volume sums, so an all-zero-volume window is NaN exactly as in the batch function.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

timeperiod
to_json()

Versioned JSON snapshot of the full state (see from_json).

update(high, low, close, volume, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingCmo(timeperiod=14)

Bases: object

Streaming Chande momentum oscillator (Wilder smoothed gains and losses).

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

timeperiod
to_json()

Versioned JSON snapshot of the full state (see from_json).

update(close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingCooldown(bars)

Bases: object

Passes the first non-zero signal’s sign, then mutes the next bars bars.

bars
count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a non-NaN value.

reset()

Reset state to initial condition.

to_json()

Versioned JSON snapshot of the full state (see from_json).

update(signal, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingCoppock(wma_period=10, roc1=14, roc2=11)

Bases: object

Streaming Coppock curve: WMA(ROC(roc1) + ROC(roc2), wma_period).

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

roc1
roc2
to_json()

Versioned JSON snapshot of the full state (see from_json).

update(close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

wma_period
class ferro_ta.streaming.StreamingCorrel(timeperiod=30)

Bases: object

Streaming rolling Pearson correlation of two series over timeperiod bars.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

timeperiod
to_json()

Versioned JSON snapshot of the full state (see from_json).

update(real0, real1, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingCross(dead_band=Ellipsis)

Bases: object

Cross of a over b with a dead band — emits 1 (up), -1 (down), 0.

Inside ±dead_band the side is unchanged, so noise around the level fires at most once per real crossing.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a non-NaN value.

reset()

Reset state to initial condition.

to_json()

Versioned JSON snapshot of the full state (see from_json).

update(a, b, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingCrsi(timeperiod=3, streakperiod=2, rankperiod=100)

Bases: object

Streaming Connors RSI: mean of RSI(close), RSI(up/down streak) and the percent rank of the 1-bar ROC.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

rankperiod
reset()

Reset state to initial condition.

streakperiod
timeperiod
to_json()

Versioned JSON snapshot of the full state (see from_json).

update(close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingDema(timeperiod=30)

Bases: object

Streaming double exponential moving average: 2*EMA - EMA(EMA).

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

timeperiod
to_json()

Versioned JSON snapshot of the full state (see from_json).

update(close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingDetectBreaksCusum(window=20, threshold=3.0, slack=0.5)

Bases: object

Streaming CUSUM structural-break flag (1 at a break bar) against the previous window bars.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

slack
threshold
to_json()

Versioned JSON snapshot of the full state (see from_json).

update(series, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

window
class ferro_ta.streaming.StreamingDiv

Bases: object

Streaming element-wise a / b (NaN where b = 0).

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

to_json()

Versioned JSON snapshot of the full state (see from_json).

update(a, b, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingDmi(timeperiod=14)

Bases: object

Streaming directional movement index: (+DI, -DI, ADX) from one Wilder state.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

timeperiod
to_json()

Versioned JSON snapshot of the full state (see from_json).

update(high, low, close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingDonchian(timeperiod=20)

Bases: object

Streaming Donchian channels: (upper, middle, lower) = rolling highest high, midpoint, lowest low over timeperiod bars.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

timeperiod
to_json()

Versioned JSON snapshot of the full state (see from_json).

update(high, low, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingDpo(timeperiod=20)

Bases: object

Streaming detrended price oscillator: close timeperiod / 2 + 1 bars ago minus SMA(close, timeperiod).

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

timeperiod
to_json()

Versioned JSON snapshot of the full state (see from_json).

update(close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingDx(timeperiod=14)

Bases: object

Streaming directional movement index: 100 * abs(+DI - -DI) / (+DI + -DI); first value at bar timeperiod.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

timeperiod
to_json()

Versioned JSON snapshot of the full state (see from_json).

update(high, low, close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingEMA(period)

Bases: object

Exponential Moving Average with SMA seeding.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a non-NaN value.

period
reset()

Reset state to initial condition.

to_json()

Versioned JSON snapshot of the full state (see from_json).

update(value, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingElderRay(timeperiod=13)

Bases: object

Streaming Elder Ray: (bull, bear) = (high - EMA(close), low - EMA(close)).

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

timeperiod
to_json()

Versioned JSON snapshot of the full state (see from_json).

update(high, low, close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingEmv(timeperiod=14, scale=10000.0)

Bases: object

Streaming ease of movement: SMA over timeperiod bars of midpoint move * range * scale / volume (raw when timeperiod is 1).

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

scale
timeperiod
to_json()

Versioned JSON snapshot of the full state (see from_json).

update(high, low, volume, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingFisher(timeperiod=9)

Bases: object

Streaming Ehlers Fisher transform of the median price over timeperiod bars, plus the previous value as signal.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

timeperiod
to_json()

Versioned JSON snapshot of the full state (see from_json).

update(high, low, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingForceIndex(timeperiod=13)

Bases: object

Streaming force index: EMA of (close - previous close) * volume (raw when timeperiod is 1).

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

timeperiod
to_json()

Versioned JSON snapshot of the full state (see from_json).

update(close, volume, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingFrama(timeperiod=16)

Bases: object

Streaming Ehlers fractal adaptive moving average, seeded with the close at bar timeperiod - 1.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

timeperiod
to_json()

Versioned JSON snapshot of the full state (see from_json).

update(close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingFundingCumulativePnl

Bases: object

Streaming cumulative funding PnL: running sum of -position_size * funding_rate.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

to_json()

Versioned JSON snapshot of the full state (see from_json).

update(position_size, funding_rate, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingGarmanKlassVol(window=20, trading_days=252.0)

Bases: object

Streaming annualised Garman-Klass OHLC realized volatility.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

to_json()

Versioned JSON snapshot of the full state (see from_json).

trading_days
update(open, high, low, close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

window
class ferro_ta.streaming.StreamingGator(jaw_period=13, jaw_shift=8, teeth_period=8, teeth_shift=5, lips_period=5, lips_shift=3)

Bases: object

Streaming Gator oscillator: (abs(jaw - teeth), -abs(teeth - lips)) of the Alligator lines.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

jaw_period
jaw_shift
lips_period
lips_shift
reset()

Reset state to initial condition.

teeth_period
teeth_shift
to_json()

Versioned JSON snapshot of the full state (see from_json).

update(high, low, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingHistoricalVolatility(timeperiod=20, annual=252.0)

Bases: object

Streaming close-to-close historical volatility: population stddev of timeperiod log returns, annualised, in percent.

annual
count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

timeperiod
to_json()

Versioned JSON snapshot of the full state (see from_json).

update(close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingHtDcperiod

Bases: object

Streaming Hilbert-transform dominant cycle period in bars; first value at bar 63.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

to_json()

Versioned JSON snapshot of the full state (see from_json).

update(close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingHtDcphase

Bases: object

Streaming Hilbert-transform dominant cycle phase in degrees; first value at bar 63.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

to_json()

Versioned JSON snapshot of the full state (see from_json).

update(close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingHtPhasor

Bases: object

Streaming Hilbert-transform phasor components (inphase, quadrature); first value at bar 63.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

to_json()

Versioned JSON snapshot of the full state (see from_json).

update(close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingHtSine

Bases: object

Streaming Hilbert-transform sine wave (sine, leadsine = sine 45 degrees ahead); first value at bar 63.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

to_json()

Versioned JSON snapshot of the full state (see from_json).

update(close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingHtTrendline

Bases: object

Streaming Hilbert-transform instantaneous trendline: mean of the 4-bar smoothed price over the rounded dominant cycle period; first value at bar 63.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

to_json()

Versioned JSON snapshot of the full state (see from_json).

update(close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingHtTrendmode

Bases: object

Streaming Hilbert-transform trend mode: 1 while the smoothed dominant cycle period is below 20 bars, else 0; 0 before bar 63.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

to_json()

Versioned JSON snapshot of the full state (see from_json).

update(close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingHullMa(timeperiod=16)

Bases: object

Streaming Hull moving average: WMA(2 * WMA(n/2) - WMA(n), sqrt(n)).

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

timeperiod
to_json()

Versioned JSON snapshot of the full state (see from_json).

update(close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingIchimoku(tenkan_period=9, kijun_period=26, senkou_b_period=52, displacement=26)

Bases: object

Streaming Ichimoku cloud: (tenkan, kijun, senkou_a, senkou_b); the senkou spans are the values computed displacement bars ago. Chikou (close displacement bars ahead) needs future bars and is not streamed.

count

Number of committed (closed) bars.

displacement
static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

kijun_period
reset()

Reset state to initial condition.

senkou_b_period
tenkan_period
to_json()

Versioned JSON snapshot of the full state (see from_json).

update(high, low, close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingIvPercentile(window=252)

Bases: object

Streaming IV percentile: share of window values at or below the latest IV.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

to_json()

Versioned JSON snapshot of the full state (see from_json).

update(iv_series, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

window
class ferro_ta.streaming.StreamingIvRank(window=252)

Bases: object

Streaming IV rank: position of the latest IV between the window’s min and max.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

to_json()

Versioned JSON snapshot of the full state (see from_json).

update(iv_series, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

window
class ferro_ta.streaming.StreamingIvZscore(window=252)

Bases: object

Streaming IV z-score of the latest IV against the window mean and deviation.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

to_json()

Versioned JSON snapshot of the full state (see from_json).

update(iv_series, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

window
class ferro_ta.streaming.StreamingKama(timeperiod=30)

Bases: object

Streaming Kaufman adaptive moving average (TA-Lib); first value at bar timeperiod.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

timeperiod
to_json()

Versioned JSON snapshot of the full state (see from_json).

update(close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingKeltnerChannels(timeperiod=20, atr_period=10, multiplier=2.0)

Bases: object

Streaming Keltner channels: (upper, middle, lower) = EMA(close) +/- multiplier * ATR(atr_period); the middle EMA is emitted on its own once seeded.

atr_period
count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

multiplier
reset()

Reset state to initial condition.

timeperiod
to_json()

Versioned JSON snapshot of the full state (see from_json).

update(high, low, close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingKst(roc1=10, roc2=15, roc3=20, roc4=30, sma1=10, sma2=10, sma3=10, sma4=15, signalperiod=9)

Bases: object

Streaming Know Sure Thing: weighted sum of four SMA-smoothed ROCs, plus an SMA signal.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

roc1
roc2
roc3
roc4
signalperiod
sma1
sma2
sma3
sma4
to_json()

Versioned JSON snapshot of the full state (see from_json).

update(close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingKvo(fastperiod=34, slowperiod=55, signalperiod=13)

Bases: object

Streaming Klinger volume oscillator: EMA(volume force, fast) - EMA(volume force, slow), plus an EMA signal.

count

Number of committed (closed) bars.

fastperiod
static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

signalperiod
slowperiod
to_json()

Versioned JSON snapshot of the full state (see from_json).

update(high, low, close, volume, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingLinearreg(timeperiod=14)

Bases: object

Streaming linear regression fitted value at the last bar of the window.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

timeperiod
to_json()

Versioned JSON snapshot of the full state (see from_json).

update(close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingLinearregAngle(timeperiod=14)

Bases: object

Streaming angle of the rolling regression line in degrees.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

timeperiod
to_json()

Versioned JSON snapshot of the full state (see from_json).

update(close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingLinearregIntercept(timeperiod=14)

Bases: object

Streaming intercept of the rolling linear regression line.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

timeperiod
to_json()

Versioned JSON snapshot of the full state (see from_json).

update(close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingLinearregSlope(timeperiod=14)

Bases: object

Streaming slope of the rolling linear regression line.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

timeperiod
to_json()

Versioned JSON snapshot of the full state (see from_json).

update(close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingMACD(fastperiod=Ellipsis, slowperiod=Ellipsis, signalperiod=Ellipsis)

Bases: object

MACD — returns (macd_line, signal_line, histogram).

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a non-NaN value.

reset()

Reset state to initial condition.

to_json()

Versioned JSON snapshot of the full state (see from_json).

update(value, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingMa(timeperiod=30, matype=0)

Bases: object

Streaming moving average of type matype (0=SMA, 1=EMA, 2=WMA, 3=DEMA, 4=TEMA, 5=TRIMA, 6=KAMA, 7/8=T3).

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

matype
reset()

Reset state to initial condition.

timeperiod
to_json()

Versioned JSON snapshot of the full state (see from_json).

update(close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingMaEnvelopes(timeperiod=20, percent=2.5, matype=0)

Bases: object

Streaming moving-average envelopes: (upper, middle, lower) = MA * (1 +/- percent / 100), MA of type matype.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

matype
percent
reset()

Reset state to initial condition.

timeperiod
to_json()

Versioned JSON snapshot of the full state (see from_json).

update(close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingMacdext(fastperiod=12, fastmatype=1, slowperiod=26, slowmatype=1, signalperiod=9, signalmatype=1)

Bases: object

Streaming MACD with a moving-average type per leg: (macd, signal, hist), NaN until the signal is valid.

count

Number of committed (closed) bars.

fastmatype
fastperiod
static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

signalmatype
signalperiod
slowmatype
slowperiod
to_json()

Versioned JSON snapshot of the full state (see from_json).

update(close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingMacdfix(signalperiod=9)

Bases: object

Streaming MACD with fixed 12/26 EMAs: (macd, signal, hist), NaN until the signal is valid.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

signalperiod
to_json()

Versioned JSON snapshot of the full state (see from_json).

update(close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingMama(fastlimit=0.5, slowlimit=0.05)

Bases: object

Streaming MESA adaptive moving average (mama, fama); first value at bar 32. Requires slowlimit <= fastlimit.

count

Number of committed (closed) bars.

fastlimit
static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

slowlimit
to_json()

Versioned JSON snapshot of the full state (see from_json).

update(close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingMass(timeperiod=9, sumperiod=25)

Bases: object

Streaming Mass index: sumperiod-bar sum of EMA(range) / EMA(EMA(range)); the sum restarts after a non-finite ratio.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

sumperiod
timeperiod
to_json()

Versioned JSON snapshot of the full state (see from_json).

update(high, low, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingMavp(minperiod=2, maxperiod=30, matype=0)

Bases: object

Streaming moving average with a per-bar period: periods is rounded and clamped to [minperiod, maxperiod].

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

matype
maxperiod
minperiod
reset()

Reset state to initial condition.

to_json()

Versioned JSON snapshot of the full state (see from_json).

update(close, periods, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingMax(timeperiod=30)

Bases: object

Streaming rolling maximum over timeperiod bars.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

timeperiod
to_json()

Versioned JSON snapshot of the full state (see from_json).

update(real, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingMcginley(timeperiod=14)

Bases: object

Streaming McGinley dynamic, seeded with the SMA of the first timeperiod closes.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

timeperiod
to_json()

Versioned JSON snapshot of the full state (see from_json).

update(close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingMedian(timeperiod=3)

Bases: object

Streaming rolling median over timeperiod bars (even windows average the two central values).

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

timeperiod
to_json()

Versioned JSON snapshot of the full state (see from_json).

update(real, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingMedianBands(timeperiod=3, atr_period=14, multiplier=2.0)

Bases: object

Streaming median bands: (median, upper, lower, median EMA) from the rolling median of (high + low) / 2, ATR envelopes and an EMA of the median.

atr_period
count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

multiplier
reset()

Reset state to initial condition.

timeperiod
to_json()

Versioned JSON snapshot of the full state (see from_json).

update(high, low, close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingMedprice

Bases: object

Streaming median price: (high + low) / 2.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

to_json()

Versioned JSON snapshot of the full state (see from_json).

update(high, low, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingMfi(timeperiod=14)

Bases: object

Streaming money flow index over timeperiod bars of typical-price money flow. Mirrors the batch zero-exact running flow sums, so a window without money flow (e.g. all-zero volume) is 0 exactly as in the batch function.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

timeperiod
to_json()

Versioned JSON snapshot of the full state (see from_json).

update(high, low, close, volume, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingMidpoint(timeperiod=14)

Bases: object

Streaming midpoint: (max(close) + min(close)) / 2 over timeperiod bars.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

timeperiod
to_json()

Versioned JSON snapshot of the full state (see from_json).

update(close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingMidprice(timeperiod=14)

Bases: object

Streaming midprice: (highest high + lowest low) / 2 over timeperiod bars.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

timeperiod
to_json()

Versioned JSON snapshot of the full state (see from_json).

update(high, low, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingMin(timeperiod=30)

Bases: object

Streaming rolling minimum over timeperiod bars.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

timeperiod
to_json()

Versioned JSON snapshot of the full state (see from_json).

update(real, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingMinusDi(timeperiod=14)

Bases: object

Streaming -DI = 100 * smoothed -DM / smoothed TR; first value at bar timeperiod.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

timeperiod
to_json()

Versioned JSON snapshot of the full state (see from_json).

update(high, low, close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingMinusDm(timeperiod=14)

Bases: object

Streaming -DM, Wilder smoothed; first value at bar timeperiod - 1 (raw -DM when timeperiod is 1).

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

timeperiod
to_json()

Versioned JSON snapshot of the full state (see from_json).

update(high, low, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingMode(timeperiod=20, bins=10)

Bases: object

Streaming rolling mode: centre of the most populous of bins equal-width bins over timeperiod bars.

bins
count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

timeperiod
to_json()

Versioned JSON snapshot of the full state (see from_json).

update(real, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingMom(timeperiod=10)

Bases: object

Streaming momentum: close - close[timeperiod bars ago].

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

timeperiod
to_json()

Versioned JSON snapshot of the full state (see from_json).

update(close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingMult

Bases: object

Streaming element-wise a * b.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

to_json()

Versioned JSON snapshot of the full state (see from_json).

update(a, b, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingNatr(timeperiod=14)

Bases: object

Streaming normalized ATR: Wilder ATR / close * 100 (NaN where close is 0).

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

timeperiod
to_json()

Versioned JSON snapshot of the full state (see from_json).

update(high, low, close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingNvi

Bases: object

Streaming negative volume index from 1000: moves with the close only on bars whose volume falls.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

to_json()

Versioned JSON snapshot of the full state (see from_json).

update(close, volume, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingNviWithEma(timeperiod=255)

Bases: object

Streaming negative volume index and an EMA signal of it.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

timeperiod
to_json()

Versioned JSON snapshot of the full state (see from_json).

update(close, volume, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingObv

Bases: object

Streaming on-balance volume; the first bar is the first volume.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

to_json()

Versioned JSON snapshot of the full state (see from_json).

update(close, volume, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingObvSmoothed(timeperiod=20, matype=1)

Bases: object

Streaming on-balance volume smoothed by a moving average of type matype.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

matype
reset()

Reset state to initial condition.

timeperiod
to_json()

Versioned JSON snapshot of the full state (see from_json).

update(close, volume, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingOptionGreeks(strike, option_type=Ellipsis, model=Ellipsis, rate=Ellipsis, carry=Ellipsis)

Bases: object

Live implied volatility and greeks for one option contract.

update(option_price, underlying, time_to_expiry) returns (iv, delta, gamma, vega, theta, rho). The IV solver is seeded with the previous tick’s IV; a price no volatility can reproduce yields all-NaN and keeps the seed.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a non-NaN value.

reset()

Reset state to initial condition.

to_json()

Versioned JSON snapshot of the full state (see from_json).

update(option_price, underlying, time_to_expiry, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingParkinsonVol(window=20, trading_days=252.0)

Bases: object

Streaming annualised Parkinson high-low realized volatility.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

to_json()

Versioned JSON snapshot of the full state (see from_json).

trading_days
update(high, low, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

window
class ferro_ta.streaming.StreamingPlusDi(timeperiod=14)

Bases: object

Streaming +DI = 100 * smoothed +DM / smoothed TR; first value at bar timeperiod.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

timeperiod
to_json()

Versioned JSON snapshot of the full state (see from_json).

update(high, low, close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingPlusDm(timeperiod=14)

Bases: object

Streaming +DM, Wilder smoothed; first value at bar timeperiod - 1 (raw +DM when timeperiod is 1).

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

timeperiod
to_json()

Versioned JSON snapshot of the full state (see from_json).

update(high, low, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingPo(fastperiod=10, slowperiod=21)

Bases: object

Streaming price oscillator: SMA(close, fast) - SMA(close, slow).

count

Number of committed (closed) bars.

fastperiod
static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

slowperiod
to_json()

Versioned JSON snapshot of the full state (see from_json).

update(close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingPpo(fastperiod=12, slowperiod=26, signalperiod=9, matype=1)

Bases: object

Streaming percentage price oscillator: (ppo, signal, hist); the signal is an EMA of the PPO line.

count

Number of committed (closed) bars.

fastperiod
static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

matype
reset()

Reset state to initial condition.

signalperiod
slowperiod
to_json()

Versioned JSON snapshot of the full state (see from_json).

update(close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingPvi

Bases: object

Streaming positive volume index from 1000: moves with the close only on bars whose volume rises.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

to_json()

Versioned JSON snapshot of the full state (see from_json).

update(close, volume, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingPviWithSignal(timeperiod=255, matype=1)

Bases: object

Streaming positive volume index and a moving-average signal of type matype.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

matype
reset()

Reset state to initial condition.

timeperiod
to_json()

Versioned JSON snapshot of the full state (see from_json).

update(close, volume, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingPvt

Bases: object

Streaming price volume trend: cumulative volume * (close - previous close) / previous close, from 0.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

to_json()

Versioned JSON snapshot of the full state (see from_json).

update(close, volume, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingRSI(period=Ellipsis)

Bases: object

Relative Strength Index with TA-Lib–compatible Wilder seeding.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a non-NaN value.

period
reset()

Reset state to initial condition.

to_json()

Versioned JSON snapshot of the full state (see from_json).

update(value, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingRatio

Bases: object

Streaming ratio a / b (NaN where b is 0).

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

to_json()

Versioned JSON snapshot of the full state (see from_json).

update(a, b, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingRegimeAdx(threshold=25.0)

Bases: object

Streaming trend (1) / range (0) label from ADX against threshold (-1 where ADX is NaN).

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

threshold
to_json()

Versioned JSON snapshot of the full state (see from_json).

update(adx, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingRegimeCombined(adx_threshold=25.0, atr_pct_threshold=0.005)

Bases: object

Streaming trend (1) / range (0) label: ADX above adx_threshold and ATR / close above atr_pct_threshold.

adx_threshold
atr_pct_threshold
count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

to_json()

Versioned JSON snapshot of the full state (see from_json).

update(adx, atr, close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingRelativeStrength

Bases: object

Streaming relative strength: cumulative product of (1 + asset return) over that of the benchmark.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

to_json()

Versioned JSON snapshot of the full state (see from_json).

update(asset_returns, benchmark_returns, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingRoc(timeperiod=10)

Bases: object

Streaming rate of change: (close - prev) / prev * 100 (NaN where prev is 0).

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

timeperiod
to_json()

Versioned JSON snapshot of the full state (see from_json).

update(close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingRocp(timeperiod=10)

Bases: object

Streaming rate of change percentage: (close - prev) / prev (NaN where prev is 0).

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

timeperiod
to_json()

Versioned JSON snapshot of the full state (see from_json).

update(close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingRocr(timeperiod=10)

Bases: object

Streaming rate of change ratio: close / prev (NaN where prev is 0).

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

timeperiod
to_json()

Versioned JSON snapshot of the full state (see from_json).

update(close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingRocr100(timeperiod=10)

Bases: object

Streaming rate of change ratio x 100: close / prev * 100 (NaN where prev is 0).

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

timeperiod
to_json()

Versioned JSON snapshot of the full state (see from_json).

update(close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingRogersSatchellVol(window=20, trading_days=252.0)

Bases: object

Streaming annualised Rogers-Satchell OHLC realized volatility.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

to_json()

Versioned JSON snapshot of the full state (see from_json).

trading_days
update(open, high, low, close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

window
class ferro_ta.streaming.StreamingRollingBeta(window=20)

Bases: object

Streaming rolling beta of asset against benchmark over window bars.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

to_json()

Versioned JSON snapshot of the full state (see from_json).

update(asset, benchmark, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

window
class ferro_ta.streaming.StreamingRollingMax(timeperiod=30)

Bases: object

Streaming rolling maximum over timeperiod bars.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

timeperiod
to_json()

Versioned JSON snapshot of the full state (see from_json).

update(real, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingRollingMaxindex(timeperiod=30)

Bases: object

Streaming index of the rolling maximum: the absolute 0-based bar index since the first bar (most recent on ties), -1 during warm-up.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

timeperiod
to_json()

Versioned JSON snapshot of the full state (see from_json).

update(real, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingRollingMin(timeperiod=30)

Bases: object

Streaming rolling minimum over timeperiod bars.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

timeperiod
to_json()

Versioned JSON snapshot of the full state (see from_json).

update(real, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingRollingMinindex(timeperiod=30)

Bases: object

Streaming index of the rolling minimum: the absolute 0-based bar index since the first bar (most recent on ties), -1 during warm-up.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

timeperiod
to_json()

Versioned JSON snapshot of the full state (see from_json).

update(real, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingRollingSum(timeperiod=30)

Bases: object

Streaming rolling sum over timeperiod bars.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

timeperiod
to_json()

Versioned JSON snapshot of the full state (see from_json).

update(real, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingRollingVarianceBreak(short_window=10, long_window=50, threshold=2.0)

Bases: object

Streaming volatility-regime break flag: short / long window variance ratio above threshold (current bar excluded).

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

long_window
reset()

Reset state to initial condition.

short_window
threshold
to_json()

Versioned JSON snapshot of the full state (see from_json).

update(series, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingRsiThresholdSignals(timeperiod=14, oversold=30.0, overbought=70.0)

Bases: object

Streaming RSI threshold signal: +1 at or below oversold, -1 at or above overbought, else 0 (NaN during warm-up).

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

overbought
oversold
reset()

Reset state to initial condition.

timeperiod
to_json()

Versioned JSON snapshot of the full state (see from_json).

update(close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingRvi(timeperiod=10)

Bases: object

Streaming Relative Vigor Index and its 4-bar weighted signal (the batch running window sums are mirrored, so a flat window’s zero denominator matches the batch function).

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

timeperiod
to_json()

Versioned JSON snapshot of the full state (see from_json).

update(open, high, low, close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingRvol(timeperiod=20)

Bases: object

Streaming relative volume: volume / SMA(volume, timeperiod). Mirrors the batch zero-exact running volume sums, so an all-zero-volume window is NaN exactly as in the batch function.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

timeperiod
to_json()

Versioned JSON snapshot of the full state (see from_json).

update(volume, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingRwi(timeperiod=14)

Bases: object

Streaming Random Walk Index: (high, low) maxima over lookbacks 2..=`timeperiod` of the range move per ATR * sqrt(lookback).

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

timeperiod
to_json()

Versioned JSON snapshot of the full state (see from_json).

update(high, low, close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingSMA(period)

Bases: object

Simple Moving Average — O(1) per update via running sum.

Returns NaN during the first period - 1 bars.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a non-NaN value.

period
reset()

Reset state to initial condition.

to_json()

Versioned JSON snapshot of the full state (see from_json).

update(value, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingSar(acceleration=0.02, maximum=0.2)

Bases: object

Streaming parabolic SAR; first value at bar 1, initial direction rising when high[1] >= high[0].

acceleration
count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

maximum
reset()

Reset state to initial condition.

to_json()

Versioned JSON snapshot of the full state (see from_json).

update(high, low, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingSarext(startvalue=0.0, offsetonreverse=0.0, accelerationinitlong=0.02, accelerationlong=0.02, accelerationmaxlong=0.2, accelerationinitshort=0.02, accelerationshort=0.02, accelerationmaxshort=0.2)

Bases: object

Streaming extended parabolic SAR: signed start value, offset on reverse, separate long / short acceleration; first value at bar 1.

accelerationinitlong
accelerationinitshort
accelerationlong
accelerationmaxlong
accelerationmaxshort
accelerationshort
count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

offsetonreverse
reset()

Reset state to initial condition.

startvalue
to_json()

Versioned JSON snapshot of the full state (see from_json).

update(high, low, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingSlidingMax(timeperiod=30)

Bases: object

Streaming sliding maximum over timeperiod bars.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

timeperiod
to_json()

Versioned JSON snapshot of the full state (see from_json).

update(real, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingSlidingMin(timeperiod=30)

Bases: object

Streaming sliding minimum over timeperiod bars.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

timeperiod
to_json()

Versioned JSON snapshot of the full state (see from_json).

update(real, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingSpread(hedge=1.0)

Bases: object

Streaming spread a - hedge * b.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

hedge
is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

to_json()

Versioned JSON snapshot of the full state (see from_json).

update(a, b, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingStarc(timeperiod=15, atr_period=15, multiplier=2.0)

Bases: object

Streaming STARC bands: (upper, middle, lower) = SMA(close) +/- multiplier * ATR(atr_period); the middle SMA is emitted on its own once full.

atr_period
count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

multiplier
reset()

Reset state to initial condition.

timeperiod
to_json()

Versioned JSON snapshot of the full state (see from_json).

update(high, low, close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingStc(fastperiod=23, slowperiod=50, cycleperiod=10, d1=3, d2=3)

Bases: object

Streaming Schaff Trend Cycle: stochastic of the EMA MACD, EMA-smoothed, stochastic again, EMA-smoothed, clamped to [0, 100].

count

Number of committed (closed) bars.

cycleperiod
d1
d2
fastperiod
static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

slowperiod
to_json()

Versioned JSON snapshot of the full state (see from_json).

update(close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingStddev(timeperiod=5, nbdev=1.0)

Bases: object

Streaming rolling population standard deviation over timeperiod bars, scaled by nbdev.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

nbdev
reset()

Reset state to initial condition.

timeperiod
to_json()

Versioned JSON snapshot of the full state (see from_json).

update(real, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingStoch(fastk_period=Ellipsis, slowk_period=Ellipsis, slowd_period=Ellipsis)

Bases: object

Slow Stochastic (SMA-smoothed) — returns (slowk, slowd).

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a non-NaN value.

reset()

Reset state to initial condition.

to_json()

Versioned JSON snapshot of the full state (see from_json).

update(high, low, close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingStochf(fastk_period=5, fastd_period=3, fastd_matype=0)

Bases: object

Streaming fast stochastic: (fastk, fastd); both NaN until %D is valid.

count

Number of committed (closed) bars.

fastd_matype
fastd_period
fastk_period
static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

to_json()

Versioned JSON snapshot of the full state (see from_json).

update(high, low, close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingStochrsi(timeperiod=14, fastk_period=5, fastd_period=3, fastd_matype=0)

Bases: object

Streaming stochastic RSI: (fastk, fastd); both NaN until %D is valid.

count

Number of committed (closed) bars.

fastd_matype
fastd_period
fastk_period
static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

timeperiod
to_json()

Versioned JSON snapshot of the full state (see from_json).

update(close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingStreak(n)

Bases: object

“N bars in a row” — emits 1 while the run of non-zero inputs is >= n.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a non-NaN value.

n
reset()

Reset state to initial condition.

to_json()

Versioned JSON snapshot of the full state (see from_json).

update(condition, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingSub

Bases: object

Streaming element-wise a - b.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

to_json()

Versioned JSON snapshot of the full state (see from_json).

update(a, b, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingSum(timeperiod=30)

Bases: object

Streaming rolling sum over timeperiod bars.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

timeperiod
to_json()

Versioned JSON snapshot of the full state (see from_json).

update(real, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingSupertrend(period=Ellipsis, multiplier=Ellipsis)

Bases: object

ATR-based Supertrend — returns (supertrend_line, direction).

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a non-NaN value.

period
reset()

Reset state to initial condition.

to_json()

Versioned JSON snapshot of the full state (see from_json).

update(high, low, close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingT3(timeperiod=5, vfactor=0.7)

Bases: object

Streaming Tillson T3: six cascaded EMAs combined with volume factor vfactor.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

timeperiod
to_json()

Versioned JSON snapshot of the full state (see from_json).

update(close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

vfactor
class ferro_ta.streaming.StreamingTema(timeperiod=30)

Bases: object

Streaming triple exponential moving average: 3*EMA - 3*EMA(EMA) + EMA(EMA(EMA)).

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

timeperiod
to_json()

Versioned JSON snapshot of the full state (see from_json).

update(close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingTrange

Bases: object

Streaming true range (NaN on the first bar: no previous close).

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

to_json()

Versioned JSON snapshot of the full state (see from_json).

update(high, low, close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingTrima(timeperiod=30)

Bases: object

Streaming triangular moving average over timeperiod bars.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

timeperiod
to_json()

Versioned JSON snapshot of the full state (see from_json).

update(close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingTrix(timeperiod=30)

Bases: object

Streaming TRIX: one-bar percent rate of change of a triple EMA.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

timeperiod
to_json()

Versioned JSON snapshot of the full state (see from_json).

update(close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingTsf(timeperiod=14)

Bases: object

Streaming time series forecast: the regression line extrapolated one bar ahead.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

timeperiod
to_json()

Versioned JSON snapshot of the full state (see from_json).

update(close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingTsi(longperiod=25, shortperiod=13, signalperiod=13)

Bases: object

Streaming True Strength Index: 100 * double-EMA(momentum) / double-EMA(abs(momentum)), plus an EMA signal.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

longperiod
reset()

Reset state to initial condition.

shortperiod
signalperiod
to_json()

Versioned JSON snapshot of the full state (see from_json).

update(close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingTypprice

Bases: object

Streaming typical price: (high + low + close) / 3.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

to_json()

Versioned JSON snapshot of the full state (see from_json).

update(high, low, close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingUlcerIndex(timeperiod=14)

Bases: object

Streaming Ulcer Index: RMS over timeperiod bars of the percent drawdown from the rolling timeperiod-bar high (the batch running sum is mirrored, so a rounding-negative mean square is NaN as in the batch function).

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

timeperiod
to_json()

Versioned JSON snapshot of the full state (see from_json).

update(close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingUltosc(timeperiod1=7, timeperiod2=14, timeperiod3=28)

Bases: object

Streaming Ultimate Oscillator: buying pressure over three periods weighted 4 / 2 / 1.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

timeperiod1
timeperiod2
timeperiod3
to_json()

Versioned JSON snapshot of the full state (see from_json).

update(high, low, close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingVWAP

Bases: object

Cumulative Volume Weighted Average Price. Call reset() at session open.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a non-NaN value.

reset()

Reset state to initial condition.

to_json()

Versioned JSON snapshot of the full state (see from_json).

update(high, low, close, volume, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingVar(timeperiod=5, nbdev=1.0)

Bases: object

Streaming rolling population variance over timeperiod bars, scaled by nbdev**2.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

nbdev
reset()

Reset state to initial condition.

timeperiod
to_json()

Versioned JSON snapshot of the full state (see from_json).

update(real, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingVidya(timeperiod=14, cmo_period=9)

Bases: object

Streaming Chande VIDYA: an EMA whose factor is scaled by abs(CMO(cmo_period)) / 100, seeded with the close on the first CMO bar.

cmo_period
count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

timeperiod
to_json()

Versioned JSON snapshot of the full state (see from_json).

update(close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingVolosc(fastperiod=5, slowperiod=10)

Bases: object

Streaming volume oscillator: 100 * (SMA(volume, fast) - SMA(volume, slow)) / SMA(volume, slow). Mirrors the batch zero-exact running volume sums, so an all-zero-volume window is NaN exactly as in the batch function.

count

Number of committed (closed) bars.

fastperiod
static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

slowperiod
to_json()

Versioned JSON snapshot of the full state (see from_json).

update(volume, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingVortex(timeperiod=14)

Bases: object

Streaming Vortex indicator: (+VI, -VI) over timeperiod bars; a non-finite true range counts as 0.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

timeperiod
to_json()

Versioned JSON snapshot of the full state (see from_json).

update(high, low, close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingVroc(timeperiod=25)

Bases: object

Streaming volume rate of change over timeperiod bars, in percent.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

timeperiod
to_json()

Versioned JSON snapshot of the full state (see from_json).

update(volume, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingVwma(timeperiod=20)

Bases: object

Streaming volume-weighted moving average over timeperiod bars.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

timeperiod
to_json()

Versioned JSON snapshot of the full state (see from_json).

update(close, volume, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingWclprice

Bases: object

Streaming weighted close price: (high + low + 2 * close) / 4.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

to_json()

Versioned JSON snapshot of the full state (see from_json).

update(high, low, close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingWeightedContinuous

Bases: object

Streaming weighted contract stitching: front * (1 - w) + next * w.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

to_json()

Versioned JSON snapshot of the full state (see from_json).

update(front, next, next_weights, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingWillr(timeperiod=14)

Bases: object

Streaming Williams %R: -100 * (highest high - close) / (highest high - lowest low) over timeperiod bars.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

timeperiod
to_json()

Versioned JSON snapshot of the full state (see from_json).

update(high, low, close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingWma(timeperiod=30)

Bases: object

Streaming linearly weighted moving average over timeperiod bars.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

timeperiod
to_json()

Versioned JSON snapshot of the full state (see from_json).

update(close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingYangZhangVol(window=20, trading_days=252.0)

Bases: object

Streaming annualised Yang-Zhang OHLC realized volatility (first value after window bars plus the prior close).

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

to_json()

Versioned JSON snapshot of the full state (see from_json).

trading_days
update(open, high, low, close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

window
class ferro_ta.streaming.StreamingZlema(timeperiod=14)

Bases: object

Streaming zero-lag EMA: EMA of close + (close - close (timeperiod - 1) / 2 bars ago), seeded on the first full finite window.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

timeperiod
to_json()

Versioned JSON snapshot of the full state (see from_json).

update(close, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

class ferro_ta.streaming.StreamingZscoreSeries(window=20)

Bases: object

Streaming rolling z-score of x over window bars.

count

Number of committed (closed) bars.

static from_json(json)

Restore a snapshot made by to_json of this same class.

is_ready

True once the last committed bar produced a value.

reset()

Reset state to initial condition.

to_json()

Versioned JSON snapshot of the full state (see from_json).

update(x, *, closed=True)

Feed one tick.

closed=True (default) commits the bar. closed=False previews the still-forming bar from committed state without changing it, so repeated ticks of one bar replace each other.

window