PineForge HPO 0.1.0
Native hyperparameter optimization for PineForge strategies
Loading...
Searching...
No Matches
pineforge::hpo::ReportSnapshot Struct Reference

Owning report snapshot detached from strategy and C-ABI report lifetimes. More...

#include <pineforge/hpo/trial_executor.hpp>

Public Member Functions

std::optional< double > metric (std::string_view path) const noexcept
 Resolves a canonical objective path without allocating a string map.
 

Public Attributes

std::int32_t total_trades = 0
 Number of completed trades.
 
double net_profit = 0.0
 Report-level net profit in account currency.
 
std::int64_t input_bars_processed = 0
 Number of input-timeframe bars processed by the engine.
 
std::int64_t script_bars_processed = 0
 Number of script-timeframe bars processed by the strategy.
 
std::int64_t security_feeds_total = 0
 Number of requested secondary security feeds.
 
std::int64_t security_complete_total = 0
 Number of complete secondary-feed observations.
 
std::int64_t security_partial_total = 0
 Number of partial secondary-feed observations.
 
std::int64_t magnifier_sub_bars_total = 0
 Total magnifier sub-bars processed.
 
std::int64_t magnifier_sample_ticks_total = 0
 Total synthetic magnifier ticks sampled.
 
std::int32_t input_tf_seconds = 0
 Input timeframe duration in seconds.
 
std::int32_t script_tf_seconds = 0
 Script timeframe duration in seconds.
 
std::int32_t script_tf_ratio = 0
 Integer aggregation ratio reported by the engine.
 
bool needs_aggregation = false
 Whether the engine aggregated input bars for script execution.
 
bool bar_magnifier_enabled = false
 Whether bar magnification was active.
 
pf_metrics_t metrics {}
 Complete detached PineForge metrics structure.
 
std::vector< pf_equity_point_t > equity_curve
 Optional owned copy controlled by BacktestConfiguration::capture_equity_curve.
 

Detailed Description

Owning report snapshot detached from strategy and C-ABI report lifetimes.

When requested, the equity curve supports independent sleeve alignment and approximate portfolio aggregation. It is not a shared-account simulation: completed reports cannot reconstruct shared cash, margin admission, or cross-strategy order ordering.

Definition at line 49 of file trial_executor.hpp.

Member Function Documentation

◆ metric()

std::optional< double > pineforge::hpo::ReportSnapshot::metric ( std::string_view  path) const
noexcept

Resolves a canonical objective path without allocating a string map.

Public fields under metrics.all, metrics.longs, metrics.shorts, and metrics.equity are supported, along with selected report.* counters. Integer metrics are converted losslessly to double for objective arithmetic. Unknown paths return std::nullopt.

Member Data Documentation

◆ bar_magnifier_enabled

bool pineforge::hpo::ReportSnapshot::bar_magnifier_enabled = false

Whether bar magnification was active.

Definition at line 79 of file trial_executor.hpp.

◆ equity_curve

std::vector<pf_equity_point_t> pineforge::hpo::ReportSnapshot::equity_curve

Optional owned copy controlled by BacktestConfiguration::capture_equity_curve.

Definition at line 84 of file trial_executor.hpp.

◆ input_bars_processed

std::int64_t pineforge::hpo::ReportSnapshot::input_bars_processed = 0

Number of input-timeframe bars processed by the engine.

Definition at line 56 of file trial_executor.hpp.

◆ input_tf_seconds

std::int32_t pineforge::hpo::ReportSnapshot::input_tf_seconds = 0

Input timeframe duration in seconds.

Definition at line 71 of file trial_executor.hpp.

◆ magnifier_sample_ticks_total

std::int64_t pineforge::hpo::ReportSnapshot::magnifier_sample_ticks_total = 0

Total synthetic magnifier ticks sampled.

Definition at line 68 of file trial_executor.hpp.

◆ magnifier_sub_bars_total

std::int64_t pineforge::hpo::ReportSnapshot::magnifier_sub_bars_total = 0

Total magnifier sub-bars processed.

Definition at line 66 of file trial_executor.hpp.

◆ metrics

pf_metrics_t pineforge::hpo::ReportSnapshot::metrics {}

Complete detached PineForge metrics structure.

Definition at line 82 of file trial_executor.hpp.

◆ needs_aggregation

bool pineforge::hpo::ReportSnapshot::needs_aggregation = false

Whether the engine aggregated input bars for script execution.

Definition at line 77 of file trial_executor.hpp.

◆ net_profit

double pineforge::hpo::ReportSnapshot::net_profit = 0.0

Report-level net profit in account currency.

Definition at line 53 of file trial_executor.hpp.

◆ script_bars_processed

std::int64_t pineforge::hpo::ReportSnapshot::script_bars_processed = 0

Number of script-timeframe bars processed by the strategy.

Definition at line 58 of file trial_executor.hpp.

◆ script_tf_ratio

std::int32_t pineforge::hpo::ReportSnapshot::script_tf_ratio = 0

Integer aggregation ratio reported by the engine.

Definition at line 75 of file trial_executor.hpp.

◆ script_tf_seconds

std::int32_t pineforge::hpo::ReportSnapshot::script_tf_seconds = 0

Script timeframe duration in seconds.

Definition at line 73 of file trial_executor.hpp.

◆ security_complete_total

std::int64_t pineforge::hpo::ReportSnapshot::security_complete_total = 0

Number of complete secondary-feed observations.

Definition at line 62 of file trial_executor.hpp.

◆ security_feeds_total

std::int64_t pineforge::hpo::ReportSnapshot::security_feeds_total = 0

Number of requested secondary security feeds.

Definition at line 60 of file trial_executor.hpp.

◆ security_partial_total

std::int64_t pineforge::hpo::ReportSnapshot::security_partial_total = 0

Number of partial secondary-feed observations.

Definition at line 64 of file trial_executor.hpp.

◆ total_trades

std::int32_t pineforge::hpo::ReportSnapshot::total_trades = 0

Number of completed trades.

Definition at line 51 of file trial_executor.hpp.


The documentation for this struct was generated from the following file: