Benchmarked causal algorithms
in the current registry
Streaming market intelligence
Market signals,
without a time machine.
RTTA is a low-latency C++23 engine for technical indicators, online change detection, regime monitoring, and research signals—wrapped in a clean Python API and designed to stay causal one tick at a time.
Across three published CPU runs
- 12:45:01.1233471.2561.8
- 12:45:01.1243471.2662.1
- 12:45:01.1253471.1958.7
- 12:45:01.1263471.2863.0
Average state-only advance
Across published CPU runs
Average update with result
Across published CPU runs
Published benchmark ledgers
ARM · x86 · LoongArch
01 / CAUSAL BY CONSTRUCTION
One tick in. One honest answer out.
RTTA algorithms are stateful objects. They consume observations in chronological order and can only react to what they have already seen—so the API itself helps keep accidental lookahead out of live systems and research loops.
Close, OHLCV, quote, trade, feature, or cross-asset observation.
Call update when you need a value, or advance when you only need the transition.
Rolling windows, filters, regimes, and detectors remain ready for the next tick.
Feed a feature, risk check, research signal, dashboard, or simulator decision.
import rtta
rsi = rtta.RSI()
for close in close_stream:
value = rsi.update(close)
if value > 70.0:
reduce_position()
# State is already ready for the next tick.
No dataframe ceremony on the hot path.
Use small stateful objects in streaming code. For restart and research workflows, batch and replay paths consume history causally in C++ and leave the same object ready for its next live observation.
02 / WHAT IT WATCHES
More than chart indicators.
RTTA puts classic technical analysis beside online model health, liquidity state, market microstructure, and research-grade streaming signals—all behind a consistent incremental surface.
Technical indicators that belong in a live loop.
Moving averages, momentum, oscillators, bands, channels, volatility, volume, returns, price transforms, and adaptive state-space filters.
Browse the catalogDetect when the process changes.
CUSUM, Page-Hinkley, ADWIN, KSWIN, EWMA shifts, residual drift, calibration drift, and rolling two-window detectors for means, variance, beta, correlation, and liquidity.
Inspect a detectorKeep market regimes online.
Threshold and hysteresis regimes, volatility states, trend/chop, order-flow, correlation, pairs spreads, bounded BOCPD, HMM-style filters, and Gaussian mixtures.
See regime monitoringRead the market below the candle.
Order-flow imbalance, bid-ask bounce, VPIN, Amihud illiquidity, Kyle lambda, spread features, quote stuffing, lead-lag state, and execution-cost regimes.
Explore microstructure03 / ONE ENGINE, MANY JOBS
A full market toolbox, kept online.
The same update, advance, last, batch, and replay conventions carry across simple rolling values and multi-output research systems. Learn one shape; move through the whole catalog.
Read the API guideTrend + momentum
EMA · SMA · RSI · MACD · STOCHASTIC · AROON · SUPERTREND · KST · TSI · VORTEX
Filters + envelopes
KALMAN · PARTICLE FILTER · IMM · GAUSSIAN PROCESS · SAVITZKY–GOLAY · NADARAYA–WATSON
Shift + drift
CUSUM · ADWIN · DDM · EDDM · HDDM · KSWIN · PAGE-HINKLEY · EWMA Z-SCORE
Regimes + transitions
BOCPD · ONLINE HMM · STICKY HMM · GMM · VOLATILITY · LIQUIDITY · AUCTION TRANSITIONS
Flow + liquidity
OFI · VPIN · KYLE LAMBDA · AMIHUD · SPREAD FEATURES · QUOTE INTENSITY · BID-ASK BOUNCE
Higher-order live features
MATCHED FLOW · CLOCK ECHO · CLOSE PRESSURE · COINTEGRATION BREAKDOWN · LEAD-LAG
04 / MEASURED LIVE PATH
Nanoseconds, not vibes.
Across three published architecture runs, the per-CPU medians average 70.2 ns for a state-only advance and 84.9 ns for an update that returns a Python result. Every source page still publishes its environment and full 188-algorithm ledger.
Average state-transition latency across the three published architecture runs.
Average latency to change state and return the current value or result.
05 / START STREAMING
Bring your next tick.
Install the Python distribution as pyrtta, then import rtta. The C++ extension, NumPy integration, and stateful algorithm surface arrive together.
$ pip install pyrtta