Special Relativity in Financial Modeling 1.0.0
Lorentz transforms, spacetime classification, and geodesic price paths for quantitative finance
Loading...
Searching...
No Matches
constants.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <cstddef>
4
5/// @file include/srfm/constants.hpp
6/// @brief Physical and financial constants for the SRFM system.
7///
8/// READ-ONLY for all agents except the designated maintainer.
9/// Submit a CROSS_AGENT_REQUESTS.md entry to propose additions.
10
11namespace srfm::constants {
12
13// ─── Relativistic Bounds ──────────────────────────────────────────────────────
14
15/// Maximum safe beta value. β must stay strictly below 1.0 (speed of light).
16/// Set to 0.9999 to avoid numerical instability near the singularity.
17static constexpr double BETA_MAX_SAFE = 0.9999;
18
19/// Below this β, relativistic corrections are negligible (γ ≈ 1 + β²/2).
20static constexpr double BETA_NEWTONIAN_THRESHOLD = 0.1;
21
22// ─── Numerical Tolerances ─────────────────────────────────────────────────────
23
24/// General floating-point comparison epsilon.
25static constexpr double FLOAT_EPSILON = 1e-12;
26
27/// Epsilon for metric invertibility check (det(g) must exceed this).
28static constexpr double METRIC_SINGULARITY_EPSILON = 1e-14;
29
30/// Minimum volatility to prevent a singular diagonal metric entry.
31static constexpr double MIN_VOLATILITY = 1e-8;
32
33// ─── Financial Spacetime ──────────────────────────────────────────────────────
34
35/// Normalised speed of information propagation in the market frame.
36/// Analogous to c = 1 in natural units.
37static constexpr double SPEED_OF_INFORMATION = 1.0;
38
39/// Default proper-time step for geodesic integration.
40static constexpr double DEFAULT_GEODESIC_STEP = 0.01;
41
42/// Default finite-difference step for numerical metric derivatives.
43static constexpr double DEFAULT_FD_STEP = 1e-5;
44
45// ─── Backtester Defaults ──────────────────────────────────────────────────────
46
47/// Minimum number of return observations required for a Backtester run.
48/// (The standalone PerformanceCalculator metrics only need two samples.)
49static constexpr std::size_t MIN_RETURN_SERIES_LENGTH = 30;
50
51/// Default annualised risk-free rate (zero — excess-return framing by default).
52static constexpr double DEFAULT_RISK_FREE_RATE = 0.0;
53
54/// Default annualisation factor: 252 trading days per year.
55static constexpr double ANNUALISATION_FACTOR = 252.0;
56
57} // namespace srfm::constants
static constexpr double SPEED_OF_INFORMATION
Definition constants.hpp:37
static constexpr double BETA_NEWTONIAN_THRESHOLD
Below this β, relativistic corrections are negligible (γ ≈ 1 + β²/2).
Definition constants.hpp:20
static constexpr double DEFAULT_GEODESIC_STEP
Default proper-time step for geodesic integration.
Definition constants.hpp:40
static constexpr double DEFAULT_RISK_FREE_RATE
Default annualised risk-free rate (zero — excess-return framing by default).
Definition constants.hpp:52
static constexpr double FLOAT_EPSILON
General floating-point comparison epsilon.
Definition constants.hpp:25
static constexpr double METRIC_SINGULARITY_EPSILON
Epsilon for metric invertibility check (det(g) must exceed this).
Definition constants.hpp:28
static constexpr double ANNUALISATION_FACTOR
Default annualisation factor: 252 trading days per year.
Definition constants.hpp:55
static constexpr double DEFAULT_FD_STEP
Default finite-difference step for numerical metric derivatives.
Definition constants.hpp:43
static constexpr std::size_t MIN_RETURN_SERIES_LENGTH
Definition constants.hpp:49
static constexpr double MIN_VOLATILITY
Minimum volatility to prevent a singular diagonal metric entry.
Definition constants.hpp:31
static constexpr double BETA_MAX_SAFE
Definition constants.hpp:17