sandbox-quant 1.0.10

Exchange-truth trading core for Binance Spot and Futures
Documentation
use crate::app::bootstrap::BinanceMode;

#[derive(Debug, Default, Clone, PartialEq, Eq)]
pub struct RecorderMetrics {
    pub liquidation_events: u64,
    pub book_ticker_events: u64,
    pub agg_trade_events: u64,
    pub derived_kline_1s_bars: u64,
    pub schema_version: Option<String>,
    pub last_liquidation_event_time: Option<String>,
    pub last_book_ticker_event_time: Option<String>,
    pub last_agg_trade_event_time: Option<String>,
    pub top_liquidation_symbols: Vec<String>,
    pub top_book_ticker_symbols: Vec<String>,
    pub top_agg_trade_symbols: Vec<String>,
}

#[derive(Debug, Clone, PartialEq)]
pub struct LiquidationEventRow {
    pub event_time_ms: i64,
    pub force_side: String,
    pub price: f64,
    pub qty: f64,
    pub notional: f64,
}

#[derive(Debug, Clone, PartialEq)]
pub struct BookTickerRow {
    pub event_time_ms: i64,
    pub bid: f64,
    pub ask: f64,
}

#[derive(Debug, Clone, PartialEq)]
pub struct DerivedKlineRow {
    pub open_time_ms: i64,
    pub close_time_ms: i64,
    pub open: f64,
    pub high: f64,
    pub low: f64,
    pub close: f64,
    pub volume: f64,
    pub quote_volume: f64,
    pub trade_count: u64,
}

#[derive(Debug, Clone, PartialEq, Eq)]
pub struct BacktestDatasetSummary {
    pub mode: BinanceMode,
    pub symbol: String,
    pub symbol_found: bool,
    pub from: String,
    pub to: String,
    pub liquidation_events: u64,
    pub book_ticker_events: u64,
    pub agg_trade_events: u64,
    pub derived_kline_1s_bars: u64,
}

#[derive(Debug, Clone, PartialEq)]
pub struct BacktestRunSummaryRow {
    pub run_id: i64,
    pub created_at: String,
    pub mode: BinanceMode,
    pub template: String,
    pub instrument: String,
    pub from: String,
    pub to: String,
    pub trigger_count: u64,
    pub closed_trades: u64,
    pub open_trades: u64,
    pub wins: u64,
    pub losses: u64,
    pub net_pnl: f64,
    pub ending_equity: f64,
}