修正AiQuant回测佣金模型

This commit is contained in:
boris
2026-07-01 15:07:33 +08:00
parent cad8877b7a
commit fb9d8f3b9a
+17 -1
View File
@@ -55,7 +55,7 @@ impl Default for ChinaAShareCostModel {
impl ChinaAShareCostModel {
pub fn aiquant_default() -> Self {
Self {
commission_rate: 0.00025,
commission_rate: 0.0008,
stamp_tax_rate_before_change: 0.0005,
stamp_tax_rate_after_change: 0.0005,
..Self::default()
@@ -170,3 +170,19 @@ impl CostModel for ChinaAShareCostModel {
}
}
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn aiquant_default_matches_current_backtest_fee_model() {
let model = ChinaAShareCostModel::aiquant_default();
let date = NaiveDate::from_ymd_opt(2025, 11, 11).expect("valid date");
assert!((model.commission_for(248_059.812) - 198.4478496).abs() < 1e-9);
assert!(
(model.stamp_tax_for(date, OrderSide::Sell, 245_747.007) - 122.8735035).abs() < 1e-9
);
}
}