Files
nexus-quant-terminal/backend/app/routers/surface.py
T

15 lines
612 B
Python
Raw Normal View History

import numpy as np
from fastapi import APIRouter
from ..schemas import SurfaceRequest
from ..core.surface import compute_surfaces
router = APIRouter(prefix="/surface", tags=["surface"])
@router.post("")
def compute_surface(req: SurfaceRequest):
options = [o.model_dump() for o in req.options]
# If caller didn't set S range, default to ±20% around midpoint — handled frontend-side
S_range = np.linspace(req.S_low, req.S_high, req.S_steps)
sigma_range = np.linspace(req.vol_low, req.vol_high, req.vol_steps)
return compute_surfaces(options, S_range, sigma_range, req.T, req.r_d, req.r_f)