跳过零管理费无效集合复制
This commit is contained in:
@@ -2952,20 +2952,27 @@ where
|
||||
merge_broker_report(&mut directive_report, futures_daily_settlement_report);
|
||||
let futures_expiration_report = self.settle_futures_expirations(execution_date);
|
||||
merge_broker_report(&mut directive_report, futures_expiration_report);
|
||||
let dynamic_universe_snapshot = self.dynamic_universe.clone();
|
||||
let subscriptions_snapshot = self.subscriptions.clone();
|
||||
let management_fee_report = self.apply_management_fee(
|
||||
execution_date,
|
||||
decision_date,
|
||||
decision_index,
|
||||
&mut portfolio,
|
||||
&post_close_open_orders,
|
||||
dynamic_universe_snapshot.as_ref(),
|
||||
&subscriptions_snapshot,
|
||||
&mut process_events,
|
||||
result.order_events.as_slice(),
|
||||
result.fills.as_slice(),
|
||||
)?;
|
||||
let management_fee_report = if portfolio.management_fee_rate() <= 0.0 {
|
||||
BrokerExecutionReport::default()
|
||||
} else {
|
||||
// The strategy context needs an immutable view while the
|
||||
// engine mutably invokes the strategy. Avoid cloning these
|
||||
// potentially large sets unless management fees are enabled.
|
||||
let dynamic_universe_snapshot = self.dynamic_universe.clone();
|
||||
let subscriptions_snapshot = self.subscriptions.clone();
|
||||
self.apply_management_fee(
|
||||
execution_date,
|
||||
decision_date,
|
||||
decision_index,
|
||||
&mut portfolio,
|
||||
&post_close_open_orders,
|
||||
dynamic_universe_snapshot.as_ref(),
|
||||
&subscriptions_snapshot,
|
||||
&mut process_events,
|
||||
result.order_events.as_slice(),
|
||||
result.fills.as_slice(),
|
||||
)?
|
||||
};
|
||||
merge_broker_report(&mut directive_report, management_fee_report);
|
||||
publish_phase_event(
|
||||
&mut self.strategy,
|
||||
|
||||
Reference in New Issue
Block a user