feat: cockpit

This commit is contained in:
OpenSquared
2026-07-21 16:48:12 +02:00
parent 24e5e4b03b
commit b6e9b96dc4
10 changed files with 644 additions and 142 deletions

View File

@@ -225,3 +225,26 @@ def catalog(
@router.get("/catalog/summary")
def catalog_summary():
return get_saxo_catalog_summary()
# ── Saxo-only options analytics (Options Lab "Saxo" section) ─────────────────
# Computed exclusively from our own accumulated saxo_option_snapshots history — never
# blended with the yfinance-based /api/options-vol/* endpoints. Symbols come from the
# Saxo watchlist above (the same ones already being snapshotted every ~5 min).
@router.get("/iv-watchlist")
def saxo_iv_watchlist():
from services.saxo_iv_engine import get_saxo_iv_watchlist
return get_saxo_iv_watchlist()
@router.get("/iv-snapshot/{symbol}")
def saxo_iv_snapshot(symbol: str):
from services.saxo_iv_engine import get_saxo_iv_snapshot
return get_saxo_iv_snapshot(symbol)
@router.get("/iv-history/{symbol}")
def saxo_iv_history(symbol: str, days: int = Query(90, ge=1, le=730)):
from services.saxo_iv_engine import get_saxo_iv_history
return get_saxo_iv_history(symbol, days)