use ahash::AHashMap;
use nautilus_core::{UUID4, UnixNanos};
#[derive(Debug)]
#[cfg_attr(
feature = "python",
pyo3::pyclass(
module = "nautilus_trader.core.nautilus_pyo3.backtest",
skip_from_py_object
)
)]
#[cfg_attr(
feature = "python",
pyo3_stub_gen::derive::gen_stub_pyclass(module = "nautilus_trader.backtest")
)]
pub struct BacktestResult {
pub trader_id: String,
pub machine_id: String,
pub instance_id: UUID4,
pub run_config_id: Option<String>,
pub run_id: Option<UUID4>,
pub run_started: Option<UnixNanos>,
pub run_finished: Option<UnixNanos>,
pub backtest_start: Option<UnixNanos>,
pub backtest_end: Option<UnixNanos>,
pub elapsed_time_secs: f64,
pub iterations: usize,
pub total_events: usize,
pub total_orders: usize,
pub total_positions: usize,
pub stats_pnls: AHashMap<String, AHashMap<String, f64>>,
pub stats_returns: AHashMap<String, f64>,
pub stats_general: AHashMap<String, f64>,
}