Summary
ClosePressureReversalSignal is RTTA's streaming implementation of: End-of-day cross-sectional reversal signal using rest-of-day return, volume/transaction pressure, VWAP location, and rolling conformal-style error bands.
Update API
result = rtta.ClosePressureReversalSignal().update(open, high, low, close, volume)
The update(...) call consumes one observation using open, high, low, close, volume. advance(...)
uses the same inputs when the caller wants to update state without materializing
a Python return value.
Theory Of Operation
ClosePressureReversalSignal converts the end-of-day reversal idea into a causal bar stream. It freezes the session return at a configured cutoff, normalizes loser/winner pressure by realized intraday volatility, adjusts for volume, transactions, and VWAP location, and only emits entries during the late-session window. The longer research note linked below gives the empirical motivation and parameter interpretation.
Recurrence
Let \(z_t = (open_t, high_t, low_t, close_t, volume_t)\) denote the observation consumed by one
update(...) call and let \(\theta\) denote constructor parameters such as
window lengths, thresholds, and smoothing constants.
update(...) returns a result struct with fields bar_number, rod_return, frozen_rod_return, loser_z, winner_z, range_z, volume_shock, transaction_shock, vwap_gap, pressure_score, prediction, radius, score, signal, target_fraction, max_trade_dollars, realized_error, entry_window, exit_window, frozen, news_guard.
Implementation Notes
The recurrence is implemented in src/rtta/indicator.cpp in class ClosePressureReversalSignal.
