Special Relativity in Financial Modeling 1.0.0
Lorentz transforms, spacetime classification, and geodesic price paths for quantitative finance
Loading...
Searching...
No Matches
Classes | Typedefs | Enumerations | Functions | Variables
srfm::stream Namespace Reference

Classes

class  BetaCalculator
 Online β estimator with a sliding window of N log-returns. More...
 
class  CoordinateNormalizer
 Rolling z-score normaliser using Welford's online algorithm. More...
 
class  LorentzTransform
 Applies a 1+1D Lorentz boost to tick coordinates. More...
 
struct  ManifoldResult
 Result of a single manifold update — interval, regime, and signal. More...
 
struct  OHLCVTick
 Single OHLCV bar tick from the market data feed. More...
 
class  PipeTickSource
 Tick source that reads raw OHLCVTick bytes from a named pipe / FIFO. More...
 
class  ReconnectingTickSource
 Wraps any TickSource with automatic reconnection on read failure. More...
 
class  SignalConsumer
 JSON output thread owner. Non-copyable, non-movable. More...
 
struct  SignalConsumerCounters
 Diagnostic counters for the signal consumer thread. More...
 
class  SignalProcessor
 Signal processing thread owner. Non-copyable, non-movable. More...
 
struct  SignalProcessorCounters
 Diagnostic counters for the signal-processing thread. More...
 
class  SpacetimeManifold
 Minkowski interval computer for sequential Lorentz-boosted events. More...
 
class  SPSCRing
 Lock-free single-producer / single-consumer ring buffer. More...
 
struct  StreamRelativisticSignal
 Fully-characterised relativistic signal for one processed tick. More...
 
class  TickIngester
 Ingestion thread owner. Non-copyable, non-movable. More...
 
struct  TickIngesterCounters
 Diagnostic counters for the ingestion thread. More...
 
class  TickSource
 Abstract source of raw OHLCVTick values. More...
 
struct  TransformedEvent
 Lorentz-boosted spacetime event coordinates. More...
 

Typedefs

using BetaCalculatorFix3 = BetaCalculator< 3u >
 Convenience alias for the default FIX-3 mode used throughout this pipeline.
 

Enumerations

enum class  Regime : std::uint8_t { TIMELIKE = 0 , LIGHTLIKE = 1 , SPACELIKE = 2 }
 Spacetime interval regime derived from the Lorentz-transformed coordinates of consecutive ticks. More...
 
enum class  TickRejectReason : std::uint8_t {
  NanOrInfOpen = 0 , NanOrInfHigh = 1 , NanOrInfLow = 2 , NanOrInfClose = 3 ,
  NanOrInfVolume = 4 , NonPositivePrice = 5 , NegativeVolume = 6 , InvalidTimestamp = 7 ,
  OhlcInconsistent = 8 , RingFull = 9
}
 Reason codes for tick rejection (diagnostic, not returned on hot path). More...
 

Functions

const char * regime_to_str (Regime r) noexcept
 Convert Regime to a null-terminated ASCII string.
 
bool tick_is_valid (const OHLCVTick &t) noexcept
 Validate all fields of an OHLCVTick.
 

Variables

constexpr double BETA_MAX_SAFE = 0.9999
 Maximum safe |β| — mirrors srfm::momentum::BETA_MAX_SAFE.
 
constexpr double DEFAULT_C_MARKET = 0.02
 

Typedef Documentation

◆ BetaCalculatorFix3

Convenience alias for the default FIX-3 mode used throughout this pipeline.

Definition at line 167 of file beta_calculator.hpp.

Enumeration Type Documentation

◆ Regime

enum class srfm::stream::Regime : std::uint8_t
strong

Spacetime interval regime derived from the Lorentz-transformed coordinates of consecutive ticks.

The invariant spacetime interval is Δs² = Δt'² - Δx'² (c = 1 in normalised units).

TIMELIKE : Δs² > ε — causal connection; signal is meaningful. LIGHTLIKE : |Δs²| ≤ ε — on the light cone boundary. SPACELIKE : Δs² < -ε — acausal separation; signal strength is attenuated.

Enumerator
TIMELIKE 
LIGHTLIKE 
SPACELIKE 

Definition at line 39 of file stream_signal.hpp.

◆ TickRejectReason

enum class srfm::stream::TickRejectReason : std::uint8_t
strong

Reason codes for tick rejection (diagnostic, not returned on hot path).

Used by TickIngester to categorise dropped ticks in its counters.

Enumerator
NanOrInfOpen 
NanOrInfHigh 
NanOrInfLow 
NanOrInfClose 
NanOrInfVolume 
NonPositivePrice 
NegativeVolume 
InvalidTimestamp 
OhlcInconsistent 
RingFull 

Valid tick dropped because ring buffer was full.

Definition at line 97 of file tick.hpp.

Function Documentation

◆ regime_to_str()

const char * srfm::stream::regime_to_str ( Regime  r)
inlinenoexcept

Convert Regime to a null-terminated ASCII string.

Returned pointer is to a string literal (static storage).

Definition at line 50 of file stream_signal.hpp.

◆ tick_is_valid()

bool srfm::stream::tick_is_valid ( const OHLCVTick &  t)
inlinenoexcept

Validate all fields of an OHLCVTick.

Rejects ticks that would produce NaN or negative prices/volumes downstream. This is the single authoritative validation gate; call it exactly once at the ingestion boundary.

Returns
true iff the tick satisfies all field invariants.
false on any out-of-range, NaN, or Inf value.
Note
noexcept — safe to call in the hot path inside the ingestion thread.

Definition at line 73 of file tick.hpp.

Variable Documentation

◆ BETA_MAX_SAFE

constexpr double srfm::stream::BETA_MAX_SAFE = 0.9999
inlineconstexpr

Maximum safe |β| — mirrors srfm::momentum::BETA_MAX_SAFE.

Definition at line 47 of file beta_calculator.hpp.

◆ DEFAULT_C_MARKET

constexpr double srfm::stream::DEFAULT_C_MARKET = 0.02
inlineconstexpr

Default market "speed of light" calibration constant. Represents a ~2 % per-tick log-return magnitude, which saturates β → 1.

Definition at line 51 of file beta_calculator.hpp.