feat(front+api): #79+#94+#95验收三连——#79:策略库卡片收益格移除(用户'回测·最新10.44%没啥用',回测数字口径易误导,收益看各列表/全景;latestRet/retInfoOf孤儿函数随删,pct/retClass巡检仍在);#94:实盘列表标的列接poolLabel(all→全市场)+实例列建instanceNames映射显实例名(原绑row.instance但后端list_lives从未填恒'—',对齐模拟盘#71口径,兜底实例#id);#95:标的池默认值统一改all全市场——前端三表单(paper/live/PortfolioBacktest poolForm)+后端四处默认(routes_live setdefault/routes_portfolio Field/routes_paper/orchestrator runner)同步对齐防口径分裂,标签'全市场(慢,非MVP)'简化'全市场';936绿+build绿 [vps]
CI/CD / test (push) Successful in 11s
CI/CD / nas-deploy (push) Successful in 25s
CI/CD / nas-verify (push) Successful in 10s

This commit is contained in:
2026-08-16 22:29:29 +08:00
parent 17c51c44c7
commit 6ecdaab959
9 changed files with 31 additions and 32 deletions
+1 -1
View File
@@ -138,7 +138,7 @@ def create_live(req: LiveCreateRequest):
# 组合实盘:vt_symbol 占位为池名;setting 存组合参数(supervisor 转发 env)
if not payload.get("strategy_class"):
raise HTTPException(400, "组合实盘需选择策略(strategy_class)")
payload.setdefault("pool", "hs300_subset")
payload.setdefault("pool", "all")
payload.setdefault("max_pool", 30)
payload.setdefault("benchmark", "000300.XSHG")
payload["vt_symbol"] = payload["pool"]
+1 -1
View File
@@ -61,7 +61,7 @@ class PaperCreateRequest(BaseModel):
strategy_type: str = "cta"
# 撮合引擎(影子柜台 P1):eod_replay=日终回放(NAS 20:30) / shadow=影子柜台(VPS 盘中实时)
engine: str = "eod_replay"
pool: str = "hs300_subset"
pool: str = "all"
max_pool: int = 30
benchmark: str = "000300.XSHG"
# §12.6 实例做实:账户绑档案;空=发起即建档(自动创建实例再发起)
+1 -1
View File
@@ -29,7 +29,7 @@ async def verify_token(authorization: str | None = Header(None)):
class PortfolioBacktestRequest(BaseModel):
pool: str = Field(default="hs300_subset", description="标的池(占位,MVP 用默认)")
pool: str = Field(default="all", description="标的池(all=全市场)")
start_date: str = Field(default="2024-01-01", description="YYYY-MM-DD")
end_date: str = Field(default="2024-02-29", description="YYYY-MM-DD")
initial_cash: float = Field(default=1_000_000.0, description="初始资金(元)")