37#include "../momentum/momentum.hpp"
41using momentum::BetaVelocity;
68[[nodiscard]] std::optional<double>
78[[nodiscard]] std::optional<double>
88[[nodiscard]] std::optional<BetaVelocityResult>
128 double c_market = 1.0) const noexcept;
BetaCalculator() noexcept=default
std::optional< BetaVelocityResult > fromPriceVelocityOnline(const std::vector< double > &prices, double c_market=1.0) const noexcept
Compute BetaVelocityResult from a streaming price series.
std::optional< BetaVelocityResult > full_beta_result(double beta_value) noexcept
Compute full BetaVelocityResult for a given β value.
std::optional< double > doppler_factor(BetaVelocity beta) noexcept
Compute relativistic Doppler factor D(β) = √((1+β)/(1−β)).
std::optional< double > rapidity(BetaVelocity beta) noexcept
Compute rapidity φ = atanh(β).
constexpr double BETA_MAX_SAFE
Computed relativistic quantities for a given β.
double beta
Normalised market velocity β ∈ (−BETA_MAX_SAFE, BETA_MAX_SAFE)
double rapidity
φ = atanh(β) (additive under composition)
double gamma
Lorentz factor γ = 1/√(1−β²) ≥ 1.
double doppler
D(β) = √((1+β)/(1−β)) (Doppler factor > 0)