Special Relativity in Financial Modeling 1.0.0
Lorentz transforms, spacetime classification, and geodesic price paths for quantitative finance
Loading...
Searching...
No Matches
Classes | Namespaces | Enumerations | Functions
tick.hpp File Reference

OHLCVTick — atomic market data unit for the lock-free streaming pipeline. More...

#include <cmath>
#include <cstdint>

Go to the source code of this file.

Classes

struct  srfm::stream::OHLCVTick
 Single OHLCV bar tick from the market data feed. More...
 

Namespaces

namespace  srfm
 
namespace  srfm::stream
 

Enumerations

enum class  srfm::stream::TickRejectReason : std::uint8_t {
  srfm::stream::NanOrInfOpen = 0 , srfm::stream::NanOrInfHigh = 1 , srfm::stream::NanOrInfLow = 2 , srfm::stream::NanOrInfClose = 3 ,
  srfm::stream::NanOrInfVolume = 4 , srfm::stream::NonPositivePrice = 5 , srfm::stream::NegativeVolume = 6 , srfm::stream::InvalidTimestamp = 7 ,
  srfm::stream::OhlcInconsistent = 8 , srfm::stream::RingFull = 9
}
 Reason codes for tick rejection (diagnostic, not returned on hot path). More...
 

Functions

bool srfm::stream::tick_is_valid (const OHLCVTick &t) noexcept
 Validate all fields of an OHLCVTick.
 

Detailed Description

OHLCVTick — atomic market data unit for the lock-free streaming pipeline.

Module: include/srfm/stream/ Owner: AGT-10 (Builder) — 2026-03-01

Responsibility

Define the canonical OHLCVTick structure that flows through the streaming pipeline from TickIngester → SignalProcessor. Every field has a defined valid range; validation is performed at the ingestion boundary.

Design Constraints

• Trivially copyable — ring buffer moves raw bytes. • No dynamic allocation — fixed-size POD struct. • All validation is non-throwing (returns bool, never throws).

NOT Responsible For

• Parsing from wire format (TickIngester / PipeTickSource) • Storage or persistence (stateless type definition) • Cross-asset normalisation (CoordinateNormalizer)

Definition in file tick.hpp.