diff --git a/crates/fidc-core/src/engine.rs b/crates/fidc-core/src/engine.rs index 7556cd2..c7b2f1f 100644 --- a/crates/fidc-core/src/engine.rs +++ b/crates/fidc-core/src/engine.rs @@ -3129,7 +3129,6 @@ where { self.validate_decision_projection_calendar()?; let mut portfolio = PortfolioState::new(self.config.initial_cash); - portfolio.record_empty_simulation_origin(self.config.start_date).map_err(BacktestError::Execution)?; let mut manual_cursor = self.manual_execution_source.as_ref().map(|source| crate::manual_execution::ManualReplayCursor::from_shared(source.clone())).transpose().map_err(BacktestError::Execution)?; let manual_has_fills = manual_cursor.as_ref().is_some_and(|cursor| cursor.next_observation_at().is_some()); @@ -3149,6 +3148,9 @@ where .iter() .map(|(execution_date, _)| *execution_date) .collect::>(); + if let Some(first) = execution_dates.first() { + portfolio.record_empty_simulation_origin(*first).map_err(BacktestError::Execution)?; + } self.manual_corporate_replay = if manual_has_fills && execution_dates .iter()