diff --git a/crates/fidc-core/src/data.rs b/crates/fidc-core/src/data.rs index 7a90fd8..e6c5768 100644 --- a/crates/fidc-core/src/data.rs +++ b/crates/fidc-core/src/data.rs @@ -2501,12 +2501,14 @@ impl DataSet { if start > end { return Vec::new(); } + let Some(symbol_id) = self.symbol_id(symbol) else { + return Vec::new(); + }; let field = normalize_field(field); let mut rows = self .factor_by_date .range(start..=end) - .flat_map(|(_, snapshots)| snapshots.iter()) - .filter(|snapshot| snapshot.symbol == symbol) + .filter_map(|(date, _)| self.factor_by_symbol_id(*date, symbol_id)) .filter_map(|snapshot| { factor_numeric_value(snapshot, &field).map(|value| FactorValue { date: snapshot.date,