83 [[nodiscard]] std::string
to_string()
const;
106 double ir_lift() const noexcept;
109 [[nodiscard]] std::
string to_string() const;
116 double effective_mass = 1.0;
117 double max_gamma = 3.0;
118 bool verbose =
false;
136 [[nodiscard]]
static std::optional<double>
137 sharpe(std::span<const double> returns,
138 double risk_free_rate = constants::DEFAULT_RISK_FREE_RATE,
139 double annualisation = constants::ANNUALISATION_FACTOR)
noexcept;
150 [[nodiscard]]
static std::optional<double>
151 sortino(std::span<const double> returns,
152 double risk_free_rate = constants::DEFAULT_RISK_FREE_RATE,
153 double annualisation = constants::ANNUALISATION_FACTOR)
noexcept;
165 [[nodiscard]]
static std::optional<double>
166 max_drawdown(std::span<const double> returns)
noexcept;
180 [[nodiscard]]
static std::optional<double>
181 gamma_weighted_ir(std::span<const double> strategy_returns,
182 std::span<const double> benchmark_returns,
183 std::span<const double> gamma_factors)
noexcept;
187 static double mean(std::span<const double> v)
noexcept;
189 static double stddev(std::span<const double> v,
double mean_val)
noexcept;
191 static double downside_stddev(std::span<const double> v,
192 double threshold)
noexcept;
221 [[nodiscard]] std::optional<LorentzCorrectedSeries>
222 adjust(std::span<const BarData> bars)
const noexcept;
228 [[nodiscard]]
static std::optional<double>
232 double effective_mass_;
266 [[nodiscard]] std::optional<BacktestComparison>
267 run(std::span<const BarData> bars,
268 std::span<const double> asset_returns)
const noexcept;
272 [[nodiscard]] std::optional<LorentzCorrectedSeries>
273 apply_corrections(std::span<const BarData> bars)
const noexcept;
277 std::optional<PerformanceMetrics>
278 compute_metrics(std::span<const double> returns,
279 std::span<const double> benchmark_returns,
280 std::span<const double> gamma_factors)
const noexcept;
315 double timelike_fraction{0.0};
317 double spacelike_fraction{0.0};
319 double lightlike_fraction{0.0};
322 double timelike_variance{0.0};
324 double spacelike_variance{0.0};
332 [[nodiscard]] std::string to_string()
const;
338 static constexpr double LIGHTLIKE_EPSILON = 1e-6;
357 [[nodiscard]] std::optional<RegimeBacktestResult>
358 run(std::span<const BarDataEx> bars)
const noexcept;
Physical and financial constants for the SRFM system.
std::vector< double > ReturnSeries
static constexpr double DEFAULT_RISK_FREE_RATE
Default annualised risk-free rate (zero — excess-return framing by default).
static constexpr double ANNUALISATION_FACTOR
Default annualisation factor: 252 trading days per year.
Side-by-side comparison of raw vs relativistic strategy metrics.
std::string to_string() const
Formatted comparison table.
double max_gamma_applied
Maximum γ multiplier actually applied (capped at BacktestConfig::max_gamma).
double drawdown_delta() const noexcept
raw.mdd − rel.mdd (positive = improvement)
double sharpe_lift() const noexcept
rel.sharpe − raw.sharpe
double ir_lift() const noexcept
rel.ir − raw.ir
double sortino_lift() const noexcept
rel.sortino − raw.sortino
PerformanceMetrics relativistic
Metrics from γ-scaled position signals.
PerformanceMetrics raw
Metrics from unmodified (unit-position) signals.
double mean_gamma
Mean Lorentz factor γ across all bars.
Configuration for a backtest run.
double ds2
Spacetime interval ds² for this bar.
double asset_return
Realised asset return for this bar.
BarData base
Standard bar data (raw_signal, beta, benchmark)
A single time-bar of backtester input.
double benchmark
Benchmark return for information-ratio computation.
double raw_signal
Strategy signal before relativistic correction.
BetaVelocity beta
Market velocity β at this bar.
A complete set of relativistic corrections for one return series.
std::vector< double > adjusted_signals
γ_t × raw_signal_t
std::vector< double > gamma_factors
γ(β_t) for every bar
Performance summary for all three regime strategies.
PerformanceMetrics always_in
Unfiltered always-in strategy.
double timelike_sharpe_lift() const noexcept
Sharpe lift of TIMELIKE-only vs always-in.
PerformanceMetrics timelike_relativistic
γ-scaled TIMELIKE-gated strategy
PerformanceMetrics timelike_only
TIMELIKE-gated strategy (flat on others)
Shared primitive types for the Special Relativity in Financial Modeling (SRFM) system.