保留模型评分显式调仓日期

This commit is contained in:
boris
2026-07-11 23:50:00 +08:00
parent ab3c821e59
commit 942ba84ca5
+29 -1
View File
@@ -1905,7 +1905,15 @@ fn signal_rebalance_dates(rebalance: &StrategyRebalanceSpec) -> Option<BTreeSet<
.unwrap_or("")
.trim()
.to_ascii_lowercase();
if frequency != "signal_dates" && frequency != "signal-dates" && frequency != "signal dates" {
if !matches!(
frequency.as_str(),
"signal_dates"
| "signal-dates"
| "signal dates"
| "daily_model_score_rank"
| "dynamic_model_score_rank"
| "model_rank_rotation"
) {
return None;
}
let dates = rebalance
@@ -2416,6 +2424,26 @@ mod tests {
assert_eq!(cfg.signal_rebalance_dates.len(), 2);
}
#[test]
fn parses_dynamic_model_score_dates_into_platform_config() {
let spec = serde_json::json!({
"rebalance": {
"frequency": "daily_model_score_rank",
"dates": ["2025-11-10", "2025-11-17"]
}
});
let cfg = platform_expr_config_from_value("", "", &spec).expect("config");
assert_eq!(
cfg.signal_rebalance_dates,
BTreeSet::from([
NaiveDate::from_ymd_opt(2025, 11, 10).unwrap(),
NaiveDate::from_ymd_opt(2025, 11, 17).unwrap(),
])
);
}
#[test]
fn parses_execution_cost_overrides_into_platform_config() {
let spec = serde_json::json!({