💼 Backtest de Cartera: capital limitado
El escáner responde "¿cómo le fue a mi estrategia en cada acción, por separado?". El Backtest de Cartera responde la pregunta que de verdad importa: «Si el 1 de enero de 2000 hubiera tenido 100.000 $ y hubiera ejecutado esta estrategia sobre todo el NYSE, con un máximo de 10 posiciones a la vez… ¿qué habría pasado con MI dinero?»
Está dentro de la ventana Acciones → Backtest, en su propia tarjeta. Usa la misma estrategia, las mismas acciones marcadas y el Capital/Posiciones/Valor mín. de la Gestión Monetaria — pero ahora una sola cuenta compartida para todas.
El problema: más señales que dinero
Tu estrategia sigue siendo exactamente la misma — sus entradas y salidas mandan, no hay que diseñarla especial. Pero al correrla sobre miles de acciones, un día cualquiera puede dar 80 señales de compra… y con 100.000 $ y 10 posiciones máximas solo caben unas pocas. Alguien tiene que decidir cuáles se ejecutan. Ese es el trabajo del módulo:
- 1.Cada día se procesan primero las salidas (liberan dinero y hueco ese mismo día).
- 2.Se recogen TODAS las señales nuevas del día.
- 3.El criterio de Selección las ordena (nunca el orden de la lista: ver abajo).
- 4.Se abren las que caben (equal weight: cada posición apunta a equity ÷ N). Las demás se descartan — no se encolan.
Si el cash no llega al tamaño objetivo, eliges encoger la posición o saltar la señal. Lo no invertido queda en cash y forma parte del backtest (por eso se mide la Exposición). Una posición solo se cierra cuando su estrategia da la salida — no porque aparezca otra candidata «mejor»: esto NO es trading rotacional, es tu estrategia de siempre con el dinero contado.
El criterio de Selección — ¿cuáles compro?
Prioriza las que más han subido en las últimas n sesiones (la «Ventana momentum»: 20 ≈ 1 mes, 100 ≈ 5 meses, 250 ≈ 1 año). El edge mejor documentado de la literatura.
Prioriza las más tranquilas (ATR de la entrada ÷ precio). Filosofía low-volatility: mismo edge, menos sustos… si funciona en tu universo.
Elige al azar con semilla fija (reproducible). No es una tontería: es el listón contra el que se mide todo lo demás.
Otros backtesters, si no defines prioridad, desempatan por orden de símbolo: tu resultado depende de que la acción se llame AAPL o ZTS, y reordenar la lista cambia el backtest. AniQuant nunca usa el orden de la lista: o decide tu criterio, o decide un azar medido y reproducible.
La Banda de Selección Aleatoria — ¿mérito o suerte?
Concepto 100% AniQuant. El Monte Carlo repite el backtest completo N veces (100 por defecto) dejando que el AZAR elija las señales — mismo capital, mismas reglas, misma estrategia. El resultado es la banda p5 / p50 / p95: el abanico de lo que se consigue sin ningún criterio de selección, pura suerte.
Es el clásico mono lanzando dardos 🐒🎯: si un gestor no gana al mono, no hay talento — hay suerte. Tu criterio se sitúa en un percentil dentro de esa banda:
Por encima de la banda: el criterio elige mejor que el azar. Edge de selección real.
Indistinguible de la suerte: el criterio no aporta. El resultado habría sido parecido eligiendo a ciegas.
Por debajo de la banda: elige peor que el azar. Pasa más de lo que parece — mejor quitarlo.
Bonus: fíjate en el ancho de la banda. Si es muy ancha, el resultado del backtest depende muchísimo de qué señales toques — el número concreto que te dio merece poca confianza, sea cual sea.
Comparativa de criterios — el Edge de Selección, aislado
La tabla corre los tres criterios sobre las mismas señales, el mismo capital y las mismas reglas — lo único que cambia entre filas es el desempate. Cualquier diferencia es, por construcción, edge (o lastre) de la selección, no de la estrategia. Tu criterio activo va marcado con ◀ y cada fila lleva su percentil vs azar.
+ EDGE DE SELECCIÓN (cuáles comprar cuando no caben todas)
+ EDGE DE SIZING (cuánto comprar)
= EDGE DE CARTERA
Con miles de señales descartadas por falta de capital, el edge de selección puede valer tanto como el de la estrategia. Esta tabla lo mide por separado — casi nadie lo hace.
La tabla incluye además el momentum a 1, 3, 5 y 12 meses (ROC 20/60/100/250) junto a tu ventana. Comparando sus percentiles ves dónde vive el edge de selección: ¿en la fuerza reciente o en la tendencia larga?
La última fila es comprar y mantener el universo (equal-weight, point-in-time: las que nacen entran y las deslistadas salen con su castigo). Es la vara definitiva: si tu estrategia + selección no baten esta fila, todo lo demás sobra.
El cuadro de mando
La cuenta día a día: cash + posiciones a coste, con el P&L apuntado al cierre de cada operación. La línea punteada es tu capital inicial, y la línea gris es el benchmark 🏁 comprar-y-mantener equal-weight del mismo universo.
% del tiempo con N posiciones abiertas (la barra verde = cartera LLENA). Llena el ~90% → el capital es el cuello de botella y la selección importa muchísimo. Medio vacía → sobra capital: el problema son las señales, no la selección.
Cuánto y cuánto tiempo sufre la cuenta; y la forma del P&L por operación (¿muchas pequeñas y pocas grandes? ¿colas gordas?).
El heatmap enseña la consistencia entre décadas (¿edge estable o dos años locos?). El top de tickers destapa la concentración: si 2 valores explican todo el neto, el resultado es frágil.
Más las tarjetas: Neto, Retorno, CAGR, Máx DD, Ret/DD, operaciones ejecutadas de señales totales, descartadas (el tamaño real del cuello de botella), % acierto, posiciones medias/máx, exposición, Profit Factor, promedios, mejor/peor operación, racha de pérdidas y duración media.
Abajo, el 📋 Detalle de operaciones: todas las operaciones ejecutadas —sin límite, da igual que sean 30.000— con entrada y salida completas (fecha, precio y valor en $ de cada lado), acciones, días, P&L y equity. Clic para seleccionar (naranja), flechas ↑↓ / AvPág / Inicio-Fin para navegar y buscador por ticker.
Validación IS / OOS — ¿el edge persiste?
La selección rodante ya es honesta, pero hay un sobreajuste sutil: tú eliges el criterio, la ventana y el nº de posiciones mirando el período completo. La validación IS/OOS lo destapa: defines dos tramos por fechas exactas (p. ej. IS 2010-2020, OOS 2021-2023) y cada uno se simula con capital fresco y contra su propia banda aleatoria.
El CAGR OOS conserva ≥50% del IS y sigue batiendo al azar de su tramo (percentil ≥90). El edge viaja en el tiempo.
Sobrevive pero degradado. Pide más evidencia: otro tramo OOS, otro universo.
El OOS no sostiene el edge: la configuración probablemente está ajustada al pasado.
El tramo OOS aparece sombreado en ámbar sobre la curva de equity. Las operaciones entradas dentro de un tramo cierran en su fecha real aunque caiga fuera.
Si el resultado sale en miles de millones, no has descubierto la máquina de hacer dinero: alguna serie rota (ticker reciclado, fat-finger, reverse-split extremo) está componiendo P&L irreales. El check Excluir ⚠️ (activado por defecto) aparta las series marcadas como sospechosas, y el Valor máx. de posición limita el compounding — aun así, ante un número increíble, la primera hipótesis siempre es el dato, no el edge.
Dos costes que separan el backtest de la realidad: el Slippage (% del importe perdido en cada lado por el roce con el spread — con cientos de miles de operaciones de pocos días es el coste dominante; 0,1%/lado es un mínimo razonable) y la Liquidez mínima ($ negociados al día, media de 20 sesiones en la entrada: una posición de 100.000 $ en una microcap que negocia 50.000 $/día no se ejecuta — el filtro descarta esas señales imposibles y te dice cuántas eran).
Optimizador de Cartera
El botón 🧪 Optimizador abre el laboratorio de money management: barre miles de combinaciones de apalancamiento, método de sizing, límites de posición y selección de señales sobre tu estrategia — con validación IS/OOS, mapa anti-sobreoptimización e informes ilustrados. Tiene su propia sección con todos los detalles.
1) Ocupación: ¿el capital fue el cuello de botella? 2) Banda aleatoria: ¿tu resultado es mérito o suerte? 3) Comparativa: ¿qué desempate aporta de verdad? 4) Heatmap: ¿consistente entre décadas? 5) Top tickers: ¿depende de 2 valores? No busques el Neto más grande — busca percentil alto, banda estrecha y heatmap consistente. Ese es el backtest en el que puedes confiar.
AniQuant se prueba gratis durante 30 días, con todos los módulos y sin tarjeta.