Files
sanguo_vnpy_v2/sanguo_api/schemas.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

43 lines
1.1 KiB
Python

"""
Pydantic schemas for FastAPI request/response models
"""
from pydantic import BaseModel
class CtaBacktestRequest(BaseModel):
"""CTA backtest request schema"""
symbol: str
strategy: str
params: dict = {}
start: str
end: str
benchmark: str = "hs300"
capital: float = 1_000_000
position_pct: float = 0.95
# K 线周期:"d"=日线(默认) / "5m" / "15m"。5m/15m 走 AShareBacktestingEngine 适配。
interval: str = "d"
# A 股费用参数(可选,前端先不暴露,给默认值)
commission_rate: float = 0.00025 # 万 2.5
min_commission: float = 5.0 # 最低 5 元
stamp_duty_rate: float = 0.0005 # 卖方 0.05%
transfer_fee_rate: float = 0.00001 # 沪市 0.001%
slippage: float = 0.0 # 滑点(比率,万10=0.001);0=不加滑点
class OptimizeRequest(BaseModel):
"""Optimization request schema"""
symbol: str
strategy: str
grid: dict
start: str
end: str
max_workers: int = 2
class FactorAnalysisRequest(BaseModel):
"""Factor analysis request schema"""
symbols: list[str]
factor_names: list[str]
start: str
end: str