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 | Functions | Variables
momentum.hpp File Reference

Momentum-Velocity Signal Processor (AGT-03 / SRFM) More...

#include <cmath>
#include <optional>
#include <span>
#include <vector>

Go to the source code of this file.

Classes

class  srfm::momentum::BetaVelocity
 Normalised market velocity β = price_velocity / c_market. More...
 
class  srfm::momentum::LorentzFactor
 Pre-computed Lorentz factor γ = 1/√(1−β²). Always ≥ 1.0. More...
 
class  srfm::momentum::EffectiveMass
 ADV-based effective mass proxy. More...
 
struct  srfm::momentum::RawSignal
 A raw (pre-correction) market signal value. More...
 
struct  srfm::momentum::RelativisticSignal
 A gamma-corrected relativistic momentum signal. More...
 
class  srfm::momentum::RelativisticSignalProcessor
 

Namespaces

namespace  srfm
 
namespace  srfm::simd
 
namespace  srfm::momentum
 

Functions

std::optional< LorentzFactor > srfm::momentum::lorentz_gamma (BetaVelocity beta) noexcept
 Compute Lorentz factor γ = 1/√(1−β²).
 
std::optional< std::pair< double, LorentzFactor > > srfm::momentum::apply_momentum_correction (double raw_signal, BetaVelocity beta, EffectiveMass m_eff) noexcept
 Apply relativistic momentum correction: p_rel = γ · m_eff · raw.
 
std::optional< BetaVelocity > srfm::momentum::compose_velocities (BetaVelocity beta1, BetaVelocity beta2) noexcept
 Relativistic velocity composition: β_result = (β₁+β₂)/(1+β₁β₂).
 
std::optional< double > srfm::momentum::inverse_transform (double dilated_value, BetaVelocity beta) noexcept
 Recover the proper (un-dilated) value: proper = dilated / γ.
 

Variables

constexpr double srfm::momentum::BETA_MAX_SAFE = 0.9999
 

Detailed Description

Momentum-Velocity Signal Processor (AGT-03 / SRFM)

Module: src/momentum/ Owner: AGT-03 (Builder) — 2026-02-28

Responsibility

Compute relativistic momentum signals for financial time-series:

p_rel = γ · m_eff · v_market

where β (BetaVelocity) = normalised market velocity, |β| ∈ [0, BETA_MAX_SAFE) γ (LorentzFactor) = 1/√(1−β²) ≥ 1 m_eff (EffectiveMass) = ADV / ADV_baseline (liquidity proxy) v_market = raw signal value

Higher liquidity → higher m_eff → momentum harder to shift; this mirrors the relativistic mechanic where higher rest-mass resists acceleration.

Design Constraints

• Zero raw pointers in the public API. • All fallible operations return std::optional (no exceptions thrown). • All public methods are noexcept. • Thread-safe: RelativisticSignalProcessor is stateless.

NOT Responsible For

• Sourcing ADV data (caller provides EffectiveMass) • Signal persistence (stateless) • Cross-asset normalisation

Note on upstream headers

AGT-01 (src/lorentz/) and AGT-02 (src/manifold/) had not yet landed in this repository at the time AGT-03 shipped. The Lorentz primitives are therefore defined here. When AGT-01's header is available, replace the BetaVelocity / LorentzFactor definitions with an #include of that header.

Definition in file momentum.hpp.