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>
This commit is contained in:
Kansaram
2026-06-07 18:19:23 +05:30
co-authored by Claude Sonnet 4.6
commit 61e145a442
75 changed files with 13323 additions and 0 deletions
+41
View File
@@ -0,0 +1,41 @@
"""
config.py — Central configuration and default parameters.
Change values here instead of hunting through the codebase.
"""
# ---------------------------------------------------------------------------
# Default market parameters
# ---------------------------------------------------------------------------
DEFAULT_SPOT: float = 100.0 # Starting underlying price (S₀)
DEFAULT_VOLATILITY: float = 0.20 # Implied volatility (σ), 20 %
DEFAULT_RISK_FREE_RATE: float = 0.01 # Annualised risk-free rate (r), 1 %
DEFAULT_TIME_TO_EXPIRY: float = 0.5 # Time to expiry in years (T)
# ---------------------------------------------------------------------------
# Surface scan ranges
# ---------------------------------------------------------------------------
SPOT_LOW: float = 80.0
SPOT_HIGH: float = 120.0
SPOT_STEPS: int = 50
VOL_LOW: float = 0.10
VOL_HIGH: float = 0.40
VOL_STEPS: int = 50
# ---------------------------------------------------------------------------
# Plot settings
# ---------------------------------------------------------------------------
FIGURE_SIZE: tuple = (8, 7)
SAVE_PLOTS: bool = True # Set False to skip saving PNG files
PLOT_OUTPUT_DIR: str = "plots" # Relative to the directory main.py is run from
# ---------------------------------------------------------------------------
# Example portfolio (list of option legs)
# Each leg: type ('call'|'put'), K (strike), T (expiry in years), qty (signed)
# ---------------------------------------------------------------------------
EXAMPLE_PORTFOLIO: list = [
{"type": "call", "K": 100.0, "T": 0.5, "qty": 2}, # Long 2 ATM calls
{"type": "put", "K": 95.0, "T": 0.5, "qty": -1}, # Short 1 OTM put
{"type": "call", "K": 110.0, "T": 0.5, "qty": -1}, # Short 1 OTM call (spread)
]