Optimizador Estacional
Se abre desde el menú Estrategias → Optimizador Estacional…. No confundir con el Análisis Estacional, que está en el menú Mercado y sólo describe: éste busca y produce una estrategia. Busca patrones de calendario — ventanas del año en las que conviene estar largo o corto — usando el Día del Año (DOY, normalizado 1–366, constante entre años). Módulo separado del Testeo Masivo: la estacionalidad se descompone por ciclo (round-trips independientes), no por combinación AND.
Con fuerza bruta sobre millones de ventanas, la «mejor» casi siempre parece buena por azar. Por eso este módulo no solo encuentra patrones (4 buscadores) sino que los valida con criterio estadístico (perfil + capa de robustez con p-valor).
Cuatro tipos de búsqueda
① Cíclico (peine regular)
Pocos parámetros para todo el año: Inicio, DíasLargo, DíasCorto, DíasFlat, Repeticiones. Fuerza bruta paralelizada, muy robusto anti-curva por su parsimonia. DíasLargo = duración mantenida en posición, no ventana de disparo.
② Bloques (segmentado)
Divide el año en segmentos y elige la mejor ventana (largo/corto) de cada uno — ventanas irregulares, una por segmento. Cada fila de la rejilla = UNA ventana (≈1 operación/año); la estrategia es el conjunto de todas.
③ Estadístico (perfil)
No es fuerza bruta: calcula el t-stat de cada día (retorno medio / error), marca los significativos (|t| ≥ umbral) y fusiona días consecutivos de la misma dirección en ventanas (con tolerancia de huecos). Principiado y poco sobreajustable. Si no aparecen ventanas, afloja el t-stat o baja Mín. observaciones — necesita varios años de dato por día.
④ Óptimo global (DP)
Programación dinámica que elige el conjunto ÓPTIMO de ventanas no solapadas (cualquier posición y ancho) que maximiza la consistencia conjunta del año. Es «Bloques bien hecho»: colocación global, no por segmento fijo.
Métrica del buscador = consistencia (Bº medio anual × % de años positivos, con guardarraíles de mín. trades / años). Largos, cortos o ambos. Validación por % In-Sample (para comparar contra TradeStation, pon In-Sample = 100). Los guardarraíles (mín. trades / años) se ajustan solos según el buscador (el cíclico cuenta el total; los de ventana operan ~1 vez/año).
La rejilla: In-Sample / Out-of-Sample / Total
Cada fila lleva su Score y Máx. DD, y a continuación tres bloques — In-Sample, Out-of-Sample y Total — cada uno con Ops · Neto $ · Win% · PF. El corte lo marca el slider In-Sample (y coincide con el de la curva). Ordena por cualquier columna, incluidas las de dentro de cada bloque.
Lectura clave: si el Neto de OOS sigue en verde y su PF > 1, la estacionalidad aguanta fuera de muestra; si se desploma respecto al IS, huele a sobreajuste.
Perfil / Mapa de calor
Botón Perfil / Mapa de calor: el «año típico» del símbolo cargado, promediando todos los años.
Franja Ene→Dic; cada día en verde/rojo según su retorno medio.
Retorno acumulado medio con banda ±1σ: dónde está el edge y cuán fiable.
Fecha, DOY, media, t-stat y año medio; resalta los días con |t| ≥ 2.
Robustez del plan
Botón Robustez: valida el plan descubierto en tres frentes.
Split temporal por años (70/30): ¿aguanta fuera de la muestra?
Terciles del histórico: estabilidad por décadas.
Recoloca el plan al azar 300 veces → p-valor: ¿señal o ruido de calendario?
El histograma muestra la distribución aleatoria con la línea del plan real: si cae en la cola derecha, el calendario es especial; si en el montón, es azar.
Ver y exportar
- ·Rendimiento del plan (o doble-clic): informe completo — métricas en tres columnas Global / In-Sample / Out-of-Sample, equity con el corte marcado («OOS →») y tabla por años.
- ·Operaciones: tabla op-a-op con colores y resumen; Copiar/Guardar CSV.
- ·Exportar EL / Ver AQL: código EasyLanguage fiel y desglose AQL por ventanas.
Hand-off al resto de AniQuant
Clic derecho en la rejilla: ensambla todas las ventanas del plan en una sola estrategia (condiciones de DayOfYear, con largos y cortos unidos por OR y reversión long+short) y la envía a:
El módulo descubre; el Portafolio combina equity y la Supervivencia calcula el AQ Survival Score.
Panel interactivo (todo en una ventana)
A la derecha de la rejilla de resultados, el panel tiene pestañas en la parte superior: Curva (In-Sample / Out-of-Sample) y Mapa de calor (Entrada × Holding). La clave para entenderlo: lo que es por plan reacciona a la fila seleccionada; lo que es del símbolo no depende del plan.
| Vista | ¿Cambia al cambiar de fila? | Por qué |
|---|---|---|
| IS / OOS (pestaña) | Sí | Es por plan: cada fila es un plan → recalcula su equity IS/OOS. |
| Entrada × Holding (pestaña) | No | Es del símbolo: el mapa se calcula sobre todos los datos. Solo cambia con el calendario y el combo Largo/Corto. |
| Perfil / Mapa de calor | No | El mapa es del símbolo (el «año típico»). Las ventanas que pinta encima son una foto del plan al abrirla. |
| Robustez | Sí* | Se calcula para el plan de la fila seleccionada al pulsar el botón (ventana modal; refleja esa fila). |
Regla mental: lo por plan (IS/OOS, Robustez) refleja la fila; lo del símbolo/datos (Entrada×Holding, Perfil) no depende del plan. El control In-Sample es una barra deslizable arriba del panel de configuración; arranca en 70% (deja 30% OOS para validar) y muestra el reparto IS/OOS en barras al arrastrarlo. Ese mismo corte gobierna la curva, los bloques de la rejilla y el split de Performance.
El Max DD estacional estaba en dólares
Un fallo de unidades, silencioso y con consecuencias. En todo AniQuant la columna Max DD % es un porcentaje — pero el buscador del Análisis Estacional la rellenaba en dinero. Una estrategia estacional guardada llegaba al Portafolio con dólares en esa columna, compitiendo en la misma tabla con las demás, que sí van en por ciento.
El plan menos arriesgado parecía el más arriesgado: el orden por riesgo salía al revés. Cualquier decisión tomada mirando esa columna —descartar un plan, elegir para la cartera— podía ser exactamente la contraria a la buena.
Por eso el buscador calcula las dos curvas por separado, cada una con su nombre, y a «Max DD %» va la que corresponde. El drawdown en dinero no se pierde — sigue donde el Optimizador lo enseña.
AniQuant se prueba gratis durante 30 días, con todos los módulos y sin tarjeta.