mirror of
https://github.com/Mihirkansara/nexus-quant-terminal.git
synced 2026-08-15 03:28:07 +00:00
Full-stack forex options analytics terminal with Bloomberg-inspired UI. Backend (FastAPI + Python): - Garman-Kohlhagen options pricing engine with full Greeks - Goldman Sachs gs-quant AI signals (RSI, MACD, Bollinger, Hurst, OU) - Monte Carlo GBM simulation and volatility surface generation - CFTC COT institutional positioning + Forex Factory economic calendar - Live data proxy: OpenSky aircraft + USGS earthquakes (CORS-safe) - Multi-leg strategy library (straddle, iron condor, butterfly, spreads) Frontend (React 18 + Vite): - NEXUS animated orbital logo (3-ring SVG) + canvas favicon animation - Bloomberg terminal design: JetBrains Mono, color-mix() tokens - 11 dashboard tabs: Greeks, Chart, AI Signals, 3D Surfaces, Breakeven, Scenarios, Monte Carlo, Institutional, Calendar, Live Map, Live Feeds - Live World Map (react-leaflet): aircraft, earthquakes, weather radar - Live Feeds: CoinGecko crypto top-12 + Windy.com global webcams - Economic calendar with filters + institutional flow (CFTC COT) - Animated landing page + session-based routing - Fully responsive dark-only terminal design system Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
15 lines
612 B
Python
15 lines
612 B
Python
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)
|