From 49e883827eb44d71ff258f7d9f2d0203536c66f9 Mon Sep 17 00:00:00 2001 From: boris Date: Wed, 1 Jul 2026 13:09:19 +0800 Subject: [PATCH] =?UTF-8?q?=E5=85=BC=E5=AE=B9AiQuant=E5=9B=9E=E6=B5=8Bprof?= =?UTF-8?q?ile=E5=88=AB=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- crates/fidc-core/src/platform_strategy_spec.rs | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/crates/fidc-core/src/platform_strategy_spec.rs b/crates/fidc-core/src/platform_strategy_spec.rs index 9f79754..cf607d2 100644 --- a/crates/fidc-core/src/platform_strategy_spec.rs +++ b/crates/fidc-core/src/platform_strategy_spec.rs @@ -395,7 +395,7 @@ fn valid_non_negative(value: Option) -> Option { fn is_aiquant_profile(value: Option<&str>) -> bool { value .map(|item| item.trim().to_ascii_lowercase().replace('-', "_")) - .is_some_and(|item| item == "aiquant") + .is_some_and(|item| item == "aiquant" || item == "aiquant_rqalpha" || item == "rqalpha") } fn apply_cost_overrides( @@ -1865,6 +1865,22 @@ mod tests { assert!(cfg.aiquant_transaction_cost); } + #[test] + fn engine_config_profile_name_accepts_aiquant_rqalpha_alias() { + let spec = serde_json::json!({ + "engineConfig": { + "profileName": "aiquant_rqalpha" + } + }); + + let cfg = platform_expr_config_from_value("", "", &spec).expect("config"); + + assert!(cfg.aiquant_transaction_cost); + assert!(cfg.daily_top_up_enabled); + assert!(cfg.retry_empty_rebalance); + assert!(cfg.strict_value_budget); + } + #[test] fn runtime_expressions_infer_ma_windows_from_literal_strategy_logic() { let spec = serde_json::json!({