- domain/entities/replay.py:ReplayDay{top/events/counts}/ReplayResult 时间线
- ReplayService:universe.symbols 白名单必填(≤40)且重放交易日 ≤90(防全市场长任务);
每个交易日以 <=as_of 数据经同一 signal/score 引擎生成帧
- POST /api/replays(边界校验)→ 时间线;供前端 Bar Replay 控件(v3 §20.6 阶段二)
- tests/test_replays.py:重放帧 == 回测 selection_history 逐调仓日一致;范围约束;
后段暴涨股不泄漏进早段帧(未来函数);API 400/200;全量 pytest 通过
41 lines
1.0 KiB
Python
41 lines
1.0 KiB
Python
"""API 路由聚合。
|
|
|
|
业务路由面向业务对象(AGENT.md §17):/api/stocks /api/factors
|
|
/api/factor-tests /api/backtests /api/experiments(Phase4) /api/jobs(Phase4) /api/agent(Phase5)
|
|
"""
|
|
|
|
from __future__ import annotations
|
|
|
|
from fastapi import APIRouter
|
|
|
|
from app.api import (
|
|
agent,
|
|
charts,
|
|
composites,
|
|
experiments,
|
|
factors,
|
|
health,
|
|
jobs,
|
|
replays,
|
|
research,
|
|
selections,
|
|
signals,
|
|
stocks,
|
|
strategies,
|
|
)
|
|
|
|
api_router = APIRouter()
|
|
api_router.include_router(health.router)
|
|
api_router.include_router(stocks.router)
|
|
api_router.include_router(factors.router)
|
|
api_router.include_router(composites.router)
|
|
api_router.include_router(research.router)
|
|
api_router.include_router(selections.router)
|
|
api_router.include_router(charts.router)
|
|
api_router.include_router(replays.router)
|
|
api_router.include_router(signals.router)
|
|
api_router.include_router(strategies.router)
|
|
api_router.include_router(jobs.router)
|
|
api_router.include_router(experiments.router)
|
|
api_router.include_router(agent.router)
|