# UI Architecture — Trading / Paper / Calibration Modes ## Objetivo General Construir una UI web unificada para el bot de trading con **tres modos claramente separados**, cada uno con un propósito distinto: 1) **Trading Mode** — Supervisión de trading real (LIVE) 2) **Paper Mode** — Supervisión de simulación en tiempo real 3) **Calibration Mode** — Workflow guiado de investigación y calibración El selector de modo será global (dropdown en navbar) y cada modo tendrá sus propios tabs y vistas. --- ## Navegación Global ### Selector de Modo (Dropdown obligatorio) Ubicado en la barra superior: - Mode - Trading - Paper - Calibration Reglas: - El modo activo define completamente la UI. - Cada modo tiene su propio set de tabs. - Persistir el modo seleccionado en `localStorage`. - URLs separadas: - `/ui/trading/...` - `/ui/paper/...` - `/ui/calibrate/...` --- ## 🔵 Trading Mode (LIVE) ### Propósito Supervisar **trading real** con foco en: - estabilidad - riesgo - latencia - seguridad Este modo debe ser **sobrio y conservador**. --- ### Tabs — Trading Mode #### 1) Overview **Pregunta que responde:** > ¿El bot está operando correctamente ahora mismo? Componentes: - KPIs (obligatorios): - Equity - Realized PnL - Max Drawdown (según rango) - **Latency (obligatoria)** - exchange latency - data latency - execution latency (si existe) - Bot State (RUNNING / PAUSED / ERROR) - Last heartbeat / last update timestamp - Gráfica: - Equity curve (simplificada) - Rango: 1h / 6h / 24h / ALL - Alertas críticas: - Latency > threshold - Exchange unreachable - No new data - Errors --- #### 2) Positions - Open Positions - Closed Positions Datos mínimos: - Symbol - Side - Size / Notional - Entry / Exit - PnL - Strategy - Duration Fuente de verdad: - `broker_snapshot` (preferido) --- #### 3) Trades Log detallado de ejecución: - timestamp - symbol - side - price - qty - fee - latency (si existe) - strategy --- #### 4) Risk / Performance - Max DD - Current DD - Exposure - Win rate - Avg trade - Expectancy --- #### 5) Events / Logs - INFO / WARN / ERROR - búsqueda y filtros - útil para incidentes --- ## 🟢 Paper Mode (SIMULATION) ### Propósito Validar comportamiento del bot **en tiempo real sin riesgo**. Este modo es **más analítico y visual** que Trading Mode. --- ### Tabs — Paper Mode #### 1) Overview (Ya implementado en gran parte) Componentes: - KPIs: - Equity - Realized PnL - Max DD - **Latency (obligatoria también aquí)** - Bot State - Gráfica avanzada: - Equity + Cash - Drawdown shading (toggle) - Markers BUY / SELL - Tooltips ricos - Zoom / Pan - Rango: 1h / 6h / 24h / ALL --- #### 2) Positions Igual que Trading Mode, pero en simulación. --- #### 3) Trades Igual que Trading Mode, con más detalle si se desea. --- #### 4) Performance Más libertad que en Trading: - Distribución de retornos - Drawdown curve - Rolling metrics --- #### 5) Events Eventos del loop de paper trading: - señales - ejecuciones - warnings --- ## 🟣 Calibration Mode (WORKFLOW) ### Propósito Convertir el proceso manual de investigación/calibración en un **pipeline reproducible y guiado**. Este modo **no es realtime**. --- ### Filosofía - Cada calibración = una sesión - Cada paso = un run - Todo genera artefactos versionados - Reproducibilidad total --- ### Tabs — Calibration Mode (Wizard) 1) Select Asset 2) Download / Prepare Data 3) Market Regimes / Filters (opcional) 4) Stops / Risk Model 5) Strategy Selection 6) Parameter Search / Optimization 7) Walk-Forward Validation 8) Portfolio Builder 9) Export / Deploy Cada tab: - inputs controlados - botón “Run” - logs del run - outputs: - tablas - gráficas - métricas - artefactos persistidos --- ## Backend — Principios - Trading/Paper: endpoints read-only + polling - Calibration: jobs asincrónicos - No ejecutar procesos largos en requests síncronas Persistencia mínima: - calibration_sessions - calibration_runs - calibration_artifacts Artefactos: - `data/calibration/{session_id}/{run_id}/` --- ## Frontend — Principios - Modo define layout y navegación - Tabs solo dentro del modo - Componentes reutilizables: - KPICard - DataTable - ChartPanel - LogViewer - ArtifactViewer --- ## Roadmap de Implementación ### Fase 1 — Paper Mode completo - Overview (hecho) - Positions - Trades - Performance - Events ### Fase 2 — Trading Mode - Reutilizar vistas - Añadir latencia + alertas - UX más conservadora ### Fase 3 — Calibration Mode (Skeleton) - Session management - Select Asset - Download Data ### Fase 4 — Calibration Core - Stops - Strategies - Params - Walk Forward ### Fase 5 — Portfolio + Export - Construcción de portfolio - Export a configs - Reproducibilidad --- ## Decisiones Abiertas - Modelo exacto de latencia (qué medir y cómo) - Fuente final de posiciones (broker_snapshot vs derivado) - Motor de jobs (threads vs celery) - Formato final de export (json/yaml)