"""因子目录 API:/api/factors。""" from __future__ import annotations from fastapi import APIRouter from app.quant.factors import list_factors router = APIRouter(prefix="/factors", tags=["factors"]) @router.get("", summary="因子目录(含元数据)") def list_factor_catalog() -> list[dict]: return [ { "name": d.name, "description": d.description, "brief": d.brief, "formula": d.formula, "frequency": d.frequency, "lookback": d.lookback, "direction": d.direction, "requires": list(d.requires), } for d in list_factors() ]