Special Relativity in Financial Modeling 1.0.0
Lorentz transforms, spacetime classification, and geodesic price paths for quantitative finance
Loading...
Searching...
No Matches
Classes | Public Member Functions | List of all members
srfm::backtest::ExtendedBacktester Class Reference

#include <geodesic_strategy.hpp>

Classes

struct  TripleComparison
 Three-way performance comparison across all strategy modes. More...
 

Public Member Functions

 ExtendedBacktester (BacktestConfig config=BacktestConfig{}, std::size_t rolling_window=100) noexcept
 
std::optional< TripleComparison > run_triple (const std::vector< GeodesicBarData > &bars, const std::vector< double > &asset_returns, const std::string &ticker="") const noexcept
 
std::optional< std::vector< double > > geodesic_returns (const std::vector< GeodesicBarData > &bars, const std::vector< double > &asset_returns) const noexcept
 

Detailed Description

Runs all three strategy modes side by side and reports metrics.

Usage

auto result = ext.run_triple(bars, asset_returns, "AAPL");
if (result) {
fmt::print("RAW Sharpe: {:.3f}\n", result->raw.sharpe_ratio);
fmt::print("Relativistic Sharpe: {:.3f}\n", result->relativistic.sharpe_ratio);
fmt::print("Geodesic Sharpe: {:.3f}\n", result->geodesic.sharpe_ratio);
}
std::optional< TripleComparison > run_triple(const std::vector< GeodesicBarData > &bars, const std::vector< double > &asset_returns, const std::string &ticker="") const noexcept

Definition at line 64 of file geodesic_strategy.hpp.

Constructor & Destructor Documentation

◆ ExtendedBacktester()

srfm::backtest::ExtendedBacktester::ExtendedBacktester ( BacktestConfig  config = BacktestConfig{},
std::size_t  rolling_window = 100 
)
explicitnoexcept

Construct with backtesting configuration and rolling window size.

Arguments

  • config — Risk-free rate, annualisation, effective mass, etc.
  • rolling_window — Window for rolling p75 deviation (in bars).

Definition at line 74 of file geodesic_strategy.cpp.

Member Function Documentation

◆ geodesic_returns()

std::optional< std::vector< double > > srfm::backtest::ExtendedBacktester::geodesic_returns ( const std::vector< GeodesicBarData > &  bars,
const std::vector< double > &  asset_returns 
) const
noexcept

Compute only the geodesic strategy return series (for inspection).

Returns

Return series, or nullopt on invalid input.

Definition at line 137 of file geodesic_strategy.cpp.

◆ run_triple()

std::optional< ExtendedBacktester::TripleComparison > srfm::backtest::ExtendedBacktester::run_triple ( const std::vector< GeodesicBarData > &  bars,
const std::vector< double > &  asset_returns,
const std::string &  ticker = "" 
) const
noexcept

Run all three strategies and return a three-way comparison.

Arguments

  • bars — One GeodesicBarData per time step.
  • asset_returns — Realised asset returns aligned to bars (same length).
  • ticker — Ticker label for the output (informational only).

Returns

TripleComparison, or nullopt if:

  • bars and asset_returns have different sizes
  • Fewer than MIN_RETURN_SERIES_LENGTH bars
  • Any metric computation is numerically degenerate

Definition at line 159 of file geodesic_strategy.cpp.


The documentation for this class was generated from the following files: