feat: page VaR Analyse avec approche delta Black-Scholes

- Service var_service.py : calcul VaR Historique / Paramétrique / Monte Carlo
  stressé (vol ×1.5) + CVaR par méthode, deltas BS par position, fallback
  synthétique si yfinance indisponible
- Router /api/var/compute : paramètres confidence, horizon, lookback, IV défaut
- Page VaRAnalysis.tsx : cartes métriques %, montants EUR, histogramme retours,
  VaR glissante 30j, tableau positions + deltas, backtest Kupiec pass/fail
- Route /var + nav sidebar « VaR Analyse »

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
OpenSquared
2026-06-19 23:15:39 +02:00
parent 27846a1b63
commit d64d1029bf
6 changed files with 756 additions and 1 deletions

20
backend/routers/var.py Normal file
View File

@@ -0,0 +1,20 @@
from fastapi import APIRouter, Query
from services.var_service import compute_var
router = APIRouter(prefix="/api/var", tags=["var"])
@router.get("/compute")
def var_compute(
confidence: float = Query(default=0.95, ge=0.90, le=0.99),
horizon_days: int = Query(default=1, ge=1, le=30),
lookback_days: int = Query(default=252, ge=60, le=504),
default_iv: float = Query(default=0.20, ge=0.05, le=0.80),
):
"""Compute portfolio VaR using Black-Scholes delta approach."""
return compute_var(
confidence=confidence,
horizon_days=horizon_days,
lookback_days=lookback_days,
default_iv=default_iv,
)