Saltar a contenido

Preguntas frecuentes

Conceptos

1. ¿FinazTradingEngine es un sistema de trading en vivo?

No. Es una plataforma de cálculo con un banco de backtesting y un runtime causal. Su arquitectura declara explícitamente sin live trading, sin GPU y sin K8s.

2. ¿Qué motor es «mejor», VectorTA o NautilusTrader?

El banco no elige: los ejecuta con el mismo contrato y compara capa a capa. VectorTA fue ~20× más rápido en el pipeline de fase A (P01 NVDA 1d: speedup 20,57), pero Nautilus modela órdenes, cuentas y venues. Ver Nautilus vs VectorTA.

3. ¿Por qué el RSI de Nautilus y el de VectorTA no dan el mismo número?

Por dos motivos. Primero, la semilla difiere: first_valid_index 13 frente a 14. Segundo, y más importante, Nautilus suaviza con α = 2/(n+1) (como una EMA) en lugar del α = 1/n de Wilder que usa VectorTA, así que las curvas no convergen con el tiempo. Es una VARIANT declarada (nt_init_period_minus_1_scaled_0_1), no un error.

4. ¿Qué significa next-open?

Decidir con el cierre de la barra t y ejecutar en la apertura operable de t+1. Ver Backtesting causal.

5. ¿Por qué el dinero se calcula en enteros?

Para que la paridad no dependa del último bit de un float64. La comisión se redondea half-even con aritmética entera exacta.

6. ¿Puedo simular latencia o fills parciales?

No: eso sería SIM-R, que responde 501 LANE_UNSUPPORTED.

7. ¿Los resultados de Q01–Q03 son evidencia económica?

No. El coste de préstamo no se modela y el adjclose de Yahoo no es point-in-time; las reservas viajan en run_metrics.warnings.

Datos

8. ¿Por qué hay 1d y 1d_long?

1d se deriva del minuto (2020→); 1d_long es el diario del proveedor (1999→ NVDA, 1970→ KO). Mezclarlos daría dos valores para la misma sesión.

9. ¿Qué pasa si pido total_return_adjusted para NVDA?

Lanza un error: twelvedata no entrega adjclose. El banco no sustituye en silencio.

10. ¿Se rellenan los huecos de datos?

No. Se cuentan y se declaran; un hueco nunca se convierte en festivo implícito.

API

11. ¿Dónde pruebo la API de backtesting y análisis?

docker compose --profile bench-api up -d bench-api y abre http://localhost:8000/docs. Hay 44 ficheros reales de petición/respuesta en examples/api/.

12. ¿Por qué POST /v1/backtest a veces devuelve 202?

Decisión D-33: si el caso no cabe en el presupuesto síncrono pero sí en la política de recursos, se crea un job (GET /v1/jobs/{id}). Si la excede, 507 RESOURCE_LIMIT.

13. ¿Cuántos indicadores puedo calcular por la API?

375 de los 386 del catálogo. Pero no todos con las mismas garantías: 33 son primitivas del proyecto con fórmula canónica y paridad verificada; 342 se calculan por paso directo al motor (execution_mode: engine_passthrough): valores del motor, first_valid observado, sin fórmula canónica ni paridad, y siguen en nivel discovered. Los 11 restantes no son ejecutables y la API explica por qué en not_computable_reason.

14. ¿Cómo me autentico en la API de plataforma?

Con Authorization: Bearer <TOKEN> que te entrega el operador. La API está en 127.0.0.1:18300 del servidor: ejecuta las peticiones en el propio servidor (o a través de un túnel SSH). La API de backtesting y análisis (:8000) no lleva token.

15. Envié x-finaz-principal y me da 401. ¿Por qué?

Porque el cliente no puede declarar su identidad: esas cabeceras se rechazan siempre fuera del modo dev/test.

Operación

16. ¿Puedo hacer docker compose down en el servidor?

Nunca sobre el proyecto finaz, y nunca con -v. En finaz-trading-engine se recrea solo el servicio afectado con up -d --no-deps.

17. ¿Cada cuánto se hace backup y cuánto puedo perder?

Cada 6 h, retención 20, con copia off-host verificada. RPO observado 3,4 s en el drill; máximo teórico 6 h.

18. ¿Cómo se hace un rollback?

Por digest de imagen: FINAZ_API_IMAGE=finaz-te-api:s2 … up -d --no-deps api, y verify_release.sh. Drill completo en Backup y rollback.

19. ¿Por qué mis tiempos del portátil no valen en el servidor?

Cada medida lleva host_fingerprint; solo se comparan series con la misma huella.

20. ¿El AVX2 acelera VectorTA?

Medido en WP-08b: no en estas rutas (single ≈1,00; batch 0,87–1,06).

21. ¿Qué gates siguen abiertos?

Según docs/v2/GATES.md (hito 4, 2026-09-22), todos los gates G0-A…G9, S0–S4 y S6 están en PASS con sus exclusiones declaradas (por ejemplo D-42 en G0-B). Solo S5 sigue INCOMPLETO: el daemon worker-stream corre la imagen :s3 sin fencing y su emit vivo no es golden; la corrección está verificada en :s4 (drill G3) y falta promoverla. Otros límites declarados: G7 es PASS sobre datos sintéticos, y las imágenes :s4 no están aún en release-manifest.s2.json. Suite del runtime en el hito 4: 1641 passed, 69 skipped, 0 failed. Detalle en Gates.

22. ¿Dónde están los secretos?

En ~/finaz-secrets-v2/ del servidor, fuera del repo, montados como ficheros. Nunca en git, imágenes, logs ni en este manual.

23. ¿Cómo se publica este manual?

MkDocs Material construye manual/site/, y manual/deploy/publicar_cloudflare_pages.sh lo sube a Cloudflare Pages (finaztradingengine.iort.io) si hay token.