diff --git a/crates/fidc-core/src/platform_expr_strategy.rs b/crates/fidc-core/src/platform_expr_strategy.rs index 3152e98..37dae48 100644 --- a/crates/fidc-core/src/platform_expr_strategy.rs +++ b/crates/fidc-core/src/platform_expr_strategy.rs @@ -6638,7 +6638,7 @@ impl PlatformExprStrategy { } continue; } - candidates.push((candidate.symbol.clone(), rank_value)); + candidates.push((candidate.symbol.clone(), rank_value, stock)); } candidates.sort_by(|lhs, rhs| { let ordering = if self.config.rank_desc { @@ -6660,9 +6660,8 @@ impl PlatformExprStrategy { let mut quote_candidate_symbols = Vec::new(); let mut selected_symbols = Vec::new(); let mut processed_scope = 0usize; - for (symbol, _) in &candidates { + for (symbol, _, stock) in &candidates { processed_scope += 1; - let stock = self.stock_state_with_factor_date(ctx, date, stock_factor_date, symbol)?; if !self.stock_passes_quote_plan_filter(ctx, day, &stock, quote_usage)? { if diagnostics.len() < 12 { diagnostics.push(format!("{symbol} quote_plan rejected by stock_expr"));