pub struct ModeReportingManager { /* private fields */ }
Expand description
Mode-specific reporting manager
Implementations§
Source§impl ModeReportingManager
impl ModeReportingManager
Sourcepub fn new(mode: TradingMode, initial_balance: f64) -> Self
pub fn new(mode: TradingMode, initial_balance: f64) -> Self
Create a new mode reporting manager
Sourcepub fn update_performance(&mut self, metrics: CommonPerformanceMetrics)
pub fn update_performance(&mut self, metrics: CommonPerformanceMetrics)
Update performance metrics
Sourcepub fn update_positions(&mut self, positions: HashMap<String, PositionSnapshot>)
pub fn update_positions(&mut self, positions: HashMap<String, PositionSnapshot>)
Update position snapshot
Sourcepub fn update_pnl(&mut self, pnl_report: RealTimePnLReport)
pub fn update_pnl(&mut self, pnl_report: RealTimePnLReport)
Update PnL report
Sourcepub fn add_alert(&mut self, alert: AlertEntry)
pub fn add_alert(&mut self, alert: AlertEntry)
Add alert entry
Sourcepub fn update_funding_impact(&mut self, funding_impact: FundingImpactAnalysis)
pub fn update_funding_impact(&mut self, funding_impact: FundingImpactAnalysis)
Update funding impact analysis
Sourcepub fn update_risk_metrics(&mut self, risk_metrics: RiskMetrics)
pub fn update_risk_metrics(&mut self, risk_metrics: RiskMetrics)
Update risk metrics
Sourcepub fn update_connection_metrics(
&mut self,
connection_metrics: ConnectionMetrics,
)
pub fn update_connection_metrics( &mut self, connection_metrics: ConnectionMetrics, )
Update connection metrics
Sourcepub fn generate_paper_trading_report(
&self,
trade_log: Vec<TradeLogEntry>,
positions: HashMap<String, Position>,
) -> Result<PaperTradingReport>
pub fn generate_paper_trading_report( &self, trade_log: Vec<TradeLogEntry>, positions: HashMap<String, Position>, ) -> Result<PaperTradingReport>
Generate paper trading report
Sourcepub fn generate_live_trading_report(
&self,
trade_log: Vec<TradeLogEntry>,
positions: HashMap<String, Position>,
) -> Result<LiveTradingReport>
pub fn generate_live_trading_report( &self, trade_log: Vec<TradeLogEntry>, positions: HashMap<String, Position>, ) -> Result<LiveTradingReport>
Generate live trading report
Sourcepub fn generate_real_time_pnl_report(
&self,
current_balance: f64,
positions: HashMap<String, Position>,
) -> Result<RealTimePnLReport>
pub fn generate_real_time_pnl_report( &self, current_balance: f64, positions: HashMap<String, Position>, ) -> Result<RealTimePnLReport>
Generate real-time PnL report
Sourcepub fn generate_monitoring_dashboard(
&self,
current_balance: f64,
available_balance: f64,
positions: HashMap<String, Position>,
active_orders: usize,
order_stats: OrderSummary,
) -> Result<MonitoringDashboardData>
pub fn generate_monitoring_dashboard( &self, current_balance: f64, available_balance: f64, positions: HashMap<String, Position>, active_orders: usize, order_stats: OrderSummary, ) -> Result<MonitoringDashboardData>
Generate monitoring dashboard data for live trading
Sourcepub fn calculate_annualized_return(
&self,
metrics: &CommonPerformanceMetrics,
) -> f64
pub fn calculate_annualized_return( &self, metrics: &CommonPerformanceMetrics, ) -> f64
Calculate annualized return
Sourcepub fn calculate_risk_adjusted_returns(&self) -> (f64, f64, f64)
pub fn calculate_risk_adjusted_returns(&self) -> (f64, f64, f64)
Calculate risk adjusted returns (Sharpe ratio, Sortino ratio, daily volatility)
Sourcepub fn calculate_period_pnl(&self, hours: i64) -> f64
pub fn calculate_period_pnl(&self, hours: i64) -> f64
Calculate period PnL for the specified number of hours
Sourcepub fn get_mode(&self) -> TradingMode
pub fn get_mode(&self) -> TradingMode
Get the trading mode
Sourcepub fn get_initial_balance(&self) -> f64
pub fn get_initial_balance(&self) -> f64
Get thance
Sourcepub fn get_latest_performance_metrics(
&self,
) -> Option<&CommonPerformanceMetrics>
pub fn get_latest_performance_metrics( &self, ) -> Option<&CommonPerformanceMetrics>
Get the latest performance metrics
Sourcepub fn get_latest_positions(&self) -> Option<&HashMap<String, Position>>
pub fn get_latest_positions(&self) -> Option<&HashMap<String, Position>>
Get the latest positions
Sourcepub fn get_latest_pnl_report(&self) -> Option<&RealTimePnLReport>
pub fn get_latest_pnl_report(&self) -> Option<&RealTimePnLReport>
Get the latest PnL report
Sourcepub fn get_alerts(&self) -> &Vec<AlertEntry>
pub fn get_alerts(&self) -> &Vec<AlertEntry>
Get all alerts
Sourcepub fn get_funding_impact(&self) -> Option<&FundingImpactAnalysis>
pub fn get_funding_impact(&self) -> Option<&FundingImpactAnalysis>
Get the funding impact analysis
Sourcepub fn get_latest_risk_metrics(&self) -> Option<&RiskMetrics>
pub fn get_latest_risk_metrics(&self) -> Option<&RiskMetrics>
Get the latest risk metrics
Sourcepub fn get_latest_connection_metrics(&self) -> Option<&ConnectionMetrics>
pub fn get_latest_connection_metrics(&self) -> Option<&ConnectionMetrics>
Get the latest connection metrics
Sourcepub fn convert_positions_to_snapshots(
&self,
positions: &HashMap<String, Position>,
) -> HashMap<String, PositionSnapshot>
pub fn convert_positions_to_snapshots( &self, positions: &HashMap<String, Position>, ) -> HashMap<String, PositionSnapshot>
Convert positions to position snapshots
Sourcepub fn add_daily_report(&mut self, report: DailyReport)
pub fn add_daily_report(&mut self, report: DailyReport)
Add a daily report
Sourcepub fn analyze_funding_impact(
&self,
positions: &HashMap<String, Position>,
funding_rates: &HashMap<String, Vec<f64>>,
funding_timestamps: &HashMap<String, Vec<DateTime<FixedOffset>>>,
) -> Result<FundingImpactAnalysis>
pub fn analyze_funding_impact( &self, positions: &HashMap<String, Position>, funding_rates: &HashMap<String, Vec<f64>>, funding_timestamps: &HashMap<String, Vec<DateTime<FixedOffset>>>, ) -> Result<FundingImpactAnalysis>
Analyze funding impact across multiple positions
Sourcepub fn calculate_risk_adjusted_returns_with_metrics(
&self,
metrics: &PerformanceMetrics,
) -> (f64, f64, f64)
pub fn calculate_risk_adjusted_returns_with_metrics( &self, metrics: &PerformanceMetrics, ) -> (f64, f64, f64)
Calculate risk adjusted returns with metrics
Sourcepub fn calculate_annualized_return_with_metrics(
&self,
metrics: &PerformanceMetrics,
) -> f64
pub fn calculate_annualized_return_with_metrics( &self, metrics: &PerformanceMetrics, ) -> f64
Calculate annualized return with performance metrics
Sourcepub fn calculate_period_pnl_alt(&self, hours: i64) -> f64
pub fn calculate_period_pnl_alt(&self, hours: i64) -> f64
Calculate period PnL (alternative implementation)
Auto Trait Implementations§
impl Freeze for ModeReportingManager
impl RefUnwindSafe for ModeReportingManager
impl Send for ModeReportingManager
impl Sync for ModeReportingManager
impl Unpin for ModeReportingManager
impl UnwindSafe for ModeReportingManager
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> FmtForward for T
impl<T> FmtForward for T
Source§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
self
to use its Binary
implementation when Debug
-formatted.Source§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
self
to use its Display
implementation when
Debug
-formatted.Source§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
self
to use its LowerExp
implementation when
Debug
-formatted.Source§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
self
to use its LowerHex
implementation when
Debug
-formatted.Source§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
self
to use its Octal
implementation when Debug
-formatted.Source§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
self
to use its Pointer
implementation when
Debug
-formatted.Source§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
self
to use its UpperExp
implementation when
Debug
-formatted.Source§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
self
to use its UpperHex
implementation when
Debug
-formatted.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
Source§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
Source§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
self
and passes that borrow into the pipe function. Read moreSource§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
self
and passes that borrow into the pipe function. Read moreSource§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
Source§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
Source§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
self
, then passes self.as_ref()
into the pipe function.Source§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
self
, then passes self.as_mut()
into the pipe
function.Source§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
self
, then passes self.deref()
into the pipe function.Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> Tap for T
impl<T> Tap for T
Source§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Borrow<B>
of a value. Read moreSource§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
BorrowMut<B>
of a value. Read moreSource§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
AsRef<R>
view of a value. Read moreSource§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
AsMut<R>
view of a value. Read moreSource§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Deref::Target
of a value. Read moreSource§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Deref::Target
of a value. Read moreSource§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap()
only in debug builds, and is erased in release builds.Source§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut()
only in debug builds, and is erased in release
builds.Source§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
.tap_borrow()
only in debug builds, and is erased in release
builds.Source§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
.tap_borrow_mut()
only in debug builds, and is erased in release
builds.Source§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
.tap_ref()
only in debug builds, and is erased in release
builds.Source§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
.tap_ref_mut()
only in debug builds, and is erased in release
builds.Source§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
.tap_deref()
only in debug builds, and is erased in release
builds.