mirror of
https://github.com/Mihirkansara/nexus-quant-terminal.git
synced 2026-08-06 15:37:44 +00:00
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:
@@ -0,0 +1,49 @@
|
||||
name: Python Check
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: ["**"]
|
||||
pull_request:
|
||||
branches: ["**"]
|
||||
|
||||
jobs:
|
||||
check:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Set up Python 3.10
|
||||
uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: "3.10"
|
||||
|
||||
- name: Install dependencies
|
||||
run: pip install -r requirements.txt
|
||||
|
||||
- name: Verify script executes without error
|
||||
# Use a non-interactive matplotlib backend so plots don't open a window
|
||||
env:
|
||||
MPLBACKEND: Agg
|
||||
run: |
|
||||
cd src
|
||||
python -c "
|
||||
import sys, os
|
||||
sys.path.insert(0, os.path.abspath('.'))
|
||||
from config import *
|
||||
from greeks import portfolio_greeks
|
||||
from surface import risk_surface, pnl_surface
|
||||
import numpy as np
|
||||
|
||||
S_range = np.linspace(SPOT_LOW, SPOT_HIGH, 10)
|
||||
sigma_range = np.linspace(VOL_LOW, VOL_HIGH, 10)
|
||||
D, G, V, Th = risk_surface(EXAMPLE_PORTFOLIO, S_range, sigma_range, DEFAULT_TIME_TO_EXPIRY, DEFAULT_RISK_FREE_RATE)
|
||||
P = pnl_surface(EXAMPLE_PORTFOLIO, S_range, sigma_range, DEFAULT_TIME_TO_EXPIRY, DEFAULT_RISK_FREE_RATE, DEFAULT_SPOT, DEFAULT_VOLATILITY)
|
||||
assert D.shape == (10, 10), 'Delta surface shape mismatch'
|
||||
assert G.shape == (10, 10), 'Gamma surface shape mismatch'
|
||||
assert V.shape == (10, 10), 'Vega surface shape mismatch'
|
||||
assert Th.shape == (10, 10), 'Theta surface shape mismatch'
|
||||
assert P.shape == (10, 10), 'PnL surface shape mismatch'
|
||||
print('All checks passed.')
|
||||
"
|
||||
Reference in New Issue
Block a user