Files
nexus-quant-terminal/frontend/src/api/client.js
T
Kansaram 61e145a442 feat: launch NEXUS TERMINAL — Bloomberg-style FX options analytics platform
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>
2026-06-07 18:19:23 +05:30

31 lines
1.6 KiB
JavaScript

import axios from 'axios'
const api = axios.create({ baseURL: '/api' })
// Market
export const fetchMarket = (ticker) => api.get(`/market/${ticker}`).then(r=>r.data)
export const fetchIVSurface = (ticker) => api.get(`/market/iv-surface/${ticker}`).then(r=>r.data)
// Forex
export const fetchForexRates = () => api.get('/forex/rates').then(r=>r.data)
export const fetchForexRate = (pair) => api.get(`/forex/rate/${pair}`).then(r=>r.data)
export const fetchOHLC = (pair,iv,period) => api.get(`/forex/ohlc/${pair}`,{params:{interval:iv,period}}).then(r=>r.data)
export const fetchSignals = (pair) => api.get(`/forex/signals/${pair}`).then(r=>r.data)
export const fetchPairs = () => api.get('/forex/pairs').then(r=>r.data)
// Options analytics
export const fetchStrategies = () => api.get('/strategies').then(r=>r.data)
export const computeGreeks = (p) => api.post('/greeks', p).then(r=>r.data)
export const computeSurface = (p) => api.post('/surface', p).then(r=>r.data)
export const computeMonteCarlo = (p) => api.post('/montecarlo', p).then(r=>r.data)
export const computeScenarios = (p) => api.post('/scenarios', p).then(r=>r.data)
export const exportCSV = (p) => api.post('/export/csv', p, {responseType:'blob'}).then(r=>r.data)
// Institutional flow
export const fetchInstitutional = (pair, weeks) =>
api.get(`/institutional/${pair}`, { params: { weeks } }).then(r => r.data)
// Economic calendar (Forex Factory)
export const fetchCalendar = () =>
api.get('/news/calendar').then(r => r.data)