"""组合管理路由 — 再平衡 + Monte Carlo。""" from fastapi import APIRouter, Depends from app.core.dependencies import get_current_user from app.models.user import User from app.schemas.common import ApiResponse, success from app.services.portfolio_rebalancer import rebalance_portfolio from app.services.monte_carlo import simulate_portfolio router = APIRouter(prefix="/portfolio", tags=["portfolio"]) @router.post("/rebalance", response_model=ApiResponse[dict]) async def rebalance(req: dict, user: User = Depends(get_current_user)): """组合再平衡建议。""" result = rebalance_portfolio(req.get("company_returns", [])) return success(data=result) @router.post("/monte-carlo", response_model=ApiResponse[dict]) async def monte_carlo(req: dict, user: User = Depends(get_current_user)): """Monte Carlo 模拟。""" result = await simulate_portfolio(req.get("company_returns", []), req.get("iterations", 10000)) return success(data=result)