Files
sanguo_vnpy_v2/tests/api/test_submit_cta_fees.py
T
claude_dev 4ad505434b
CI/CD / test (push) Successful in 11s
CI/CD / nas-deploy (push) Successful in 25s
CI/CD / nas-verify (push) Successful in 9s
feat(backtest): 个股回测接入费用(cfg通道)+slippage+benchmark放宽至4基准 [vps]
2026-08-12 23:56:14 +08:00

37 lines
1.3 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
"""Tests for 个股回测费用接入 + benchmark 放宽 (Task D).
schema 层本地可跑(pydantic)_build_fee_cfg 走 routes→auth→jwt,需 NAS docker 或齐后端 venv。
"""
from sanguo_api.schemas import CtaBacktestRequest
def test_slippage_field_present():
req = CtaBacktestRequest(
symbol="600519.SH", strategy="DoubleMaStrategy", start="2024-01-02", end="2024-06-28",
slippage=0.001,
)
assert req.slippage == 0.001
assert req.commission_rate == 0.00025 # 默认仍在
def test_benchmark_accepts_four_values():
for b in ("hs300", "zz500", "zz1000", "zz2000"):
req = CtaBacktestRequest(
symbol="600519.SH", strategy="DoubleMaStrategy",
start="2024-01-02", end="2024-06-28", benchmark=b,
)
assert req.benchmark == b
def test_build_fee_cfg_carries_all_fields():
from sanguo_api.routes import _build_fee_cfg
req = CtaBacktestRequest(
symbol="600519.SH", strategy="DoubleMaStrategy", start="2024-01-02", end="2024-06-28",
commission_rate=0.0003, stamp_duty_rate=0.001, slippage=0.001,
)
cfg = _build_fee_cfg(req)
assert cfg["commission_rate"] == 0.0003
assert cfg["stamp_duty_rate"] == 0.001
assert cfg["slippage"] == 0.001
assert "min_commission" in cfg and "transfer_fee_rate" in cfg