Contenido del artículo

Evidencia y alcance

El estudio reporta un rendimiento total de +1,985%, una IRR de 19.6%, un índice de Sharpe de 1.33 y una caída máxima de 25% entre mayo de 2007 y abril de 2024, incluidas la comisión y el deslizamiento que declara. Son resultados reportados por los autores; aquí no se realizó un backtest independiente. [1]

Datos y mercadosLa investigación principal utiliza datos por minuto de SPY. Otros ETF y estructuras de sesión requieren calibración y validación por separado.
Marcos temporales de investigaciónBandas intradiarias estimadas a partir de 14 sesiones anteriores; decisiones en puntos de control específicos de media hora.
La distancia por encima del umbral largo se vuelve positiva y posteriormente negativa en un punto de control de decisión, lo que ilustra la entrada y salida programadas.Abrir ilustración en tamaño completo
Datos sintéticos. El eje vertical representa el precio de cierre menos max(upper band, VWAP), expresado en dólares, no el precio SPY. Los marcadores indican puntos de control de decisión; un valor positivo entre puntos de control no genera una orden.

Flujo de trabajo práctico

Flujo de trabajo de Bandas de ruido SPY e impulso VWAP: un plan de investigación
Los pasos completos aparecen abajo. En cada etapa, se debe registrar el motivo de rechazo si faltan datos o no se cumplen las condiciones.
  1. Preparar historiaAlinee las 14 sesiones anteriores por hora del reloj y calcule la volatilidad diaria.
  2. Construir bandasAnclaje a la apertura y al cierre anterior con un tratamiento coherente de las acciones corporativas.
  3. Actualizar VWAPUtilice únicamente el volumen de la sesión actual ya recibido.
  4. Evaluar según lo programadoTras el cierre de la barra del checkpoint, fije un objetivo largo, corto o sin posición.
  5. Ejecutar y liquidarCobre los costos de todos los cambios de posición y cierre toda exposición antes del límite de la sesión.
  6. Contribuciones separadasCompare bandas, VWAP y tamaño de posición con datos de evaluación aún no utilizados.

Una envolvente específica en el tiempo, no una banda de porcentaje constante.

La volatilidad de apertura y la volatilidad de mediodía presentan distribuciones diferentes. El método de bandas de ruido mide el movimiento absoluto normal desde la apertura de la sesión por separado en cada momento del día. Una observación de última hora de la mañana se compara con observaciones de última hora de la mañana de sesiones anteriores, en lugar de con una secuencia móvil de minutos adyacentes.

Para la hora k, defina sigma(d, k) = mean(abs(P(d−j, k)/Open(d−j)−1), j=1…14). Usar solo sesiones anteriores ya finalizadas hace que la referencia sea causal. El límite superior es U(d, k)=max(Open(d), PreviousClose(d))×(1+sigma(d, k)); el inferior es L(d, k)=min(Open(d), PreviousClose(d))×(1−sigma(d, k)). Los anclajes que tienen en cuenta la brecha amplían la envolvente cuando se produce una brecha entre sesiones.

Este sigma representa el desplazamiento absoluto medio, no la desviación estándar de los rendimientos por minuto. Sustituirla por un indicador de volatilidad móvil convencional modifica la señal. Un gap de apertura amplio también tiene un efecto diferente al de un movimiento significativo tras la apertura, ya que los anclajes y el desplazamiento intradiario desempeñan funciones distintas.

La hipótesis de la estrategia se basa en la persistencia tras movimientos de precios que superan el ruido intradiario habitual. Puede fallar cuando un repunte noticioso se revierte, cuando las sesiones previas (14) subestiman la volatilidad actual o cuando el precio cruza repetidamente el límite. Ninguno de estos resultados se descarta ante una ruptura de alto volumen.

La alineación de datos determina qué era cognoscible.

El estudio utiliza datos por minuto de IQFeed. Sus resultados reportados incluyen la comisión $0.0035 y el deslizamiento $0.001 por acción. [1] Estas son suposiciones explícitas, no una garantía de que cada orden histórica se hubiera podido ejecutar a ese costo.

Construya la matriz histórica por sesión de la bolsa y hora del reloj. Los días festivos, las transiciones al horario de verano y las sesiones acortadas requieren un manejo que tenga en cuenta el calendario. Una observación 10:00 faltante no equivale a un retorno cero. Indique si una sesión histórica incompleta se excluye o si la decisión actual está deshabilitada.

Utilice una convención coherente para las operaciones corporativas, tanto para la apertura como para el cierre anterior y los precios históricos. Mezclar un cierre anterior ajustado con una apertura actual sin ajustar puede generar una brecha. Almacene las series de ejecución originales por separado de cualquier serie transformada utilizada para estimar los rendimientos.

La sesión VWAP debe utilizar únicamente operaciones recibidas o barras completadas. Una aproximación basada en barras puede utilizar el precio típico, (H+L+C)/3, ponderado por el volumen de la barra; este difiere de un índice de referencia a nivel de transacción. La diferencia debe medirse cuando se disponga de datos de mayor resolución, especialmente para barras con un amplio rango.

Convierta el concepto en una regla explícita de posición objetivo.

La implementación propuesta a continuación evalúa únicamente en puntos de control predefinidos de media hora. En cada punto de control, su objetivo es largo por encima de max(U, VWAP), corto por debajo de min(L, VWAP) y sin posición en caso contrario. Envía el objetivo resultante una vez que la barra esté disponible. Esta es una variante de investigación explícita; las salidas de protección continuas y las actualizaciones de exposición programadas no deben considerarse equivalentes.

Entre puntos de control, cruzar temporalmente el límite no genera una nueva decisión en esta variante. Si se desea una stop protector continuamente activo, especifíquela como una regla independiente basada en eventos y pruebe su rotación adicional. Una estrategia con un horario de entrada cada media hora y salidas a nivel de tick presenta una dependencia de trayectoria diferente a la de una que modifica toda la exposición solo cada media hora.

El objetivo es una posición deseada, no una instrucción para abrir nuevas posiciones repetidamente. Pasar de +q acciones a −q requiere vender 2q acciones. Pasar de +q a cero requiere q acciones. Los costos deben reflejar el cambio de posición real, incluyendo ambas fases de una reversión.

Al llegar la hora límite de liquidación, cerrar todas las posiciones tiene prioridad sobre una nueva señal de entrada. En producción, cancele entradas pendientes antes de pedir la salida final y concilie las ejecuciones que lleguen durante la cancelación.

before_session(d):
    bands = build_from_completed_sessions(d, lookback=14)
    daily_vol = sample_std(previous_14_daily_returns)
    if data_incomplete or not isfinite(daily_vol) or daily_vol <= 0:
        disable_session(); return
    multiplier = min(4, 0.02 / daily_vol)
    shares = floor(previous_equity * multiplier / session_open)
on_completed_bar(k):
    if is_liquidation_deadline(k):
        cancel_pending_entries(); submit_flat(); return
    if session_disabled: return
    update_session_vwap()
    if is_decision_time(k):
        target = 1 if close > max(upper[k], vwap) else (
                 -1 if close < min(lower[k], vwap) else 0)
        submit_target_after_available_at(target * shares)

El tamaño de posición por volatilidad modifica la exposición

Una especificación del tamaño de la posición es multiplier = min(4, 0.02/s), donde s es la desviación estándar muestral de los 14 rendimientos diarios anteriores ya completos. El número de acciones es floor(previous account equity × multiplier / session open). El objetivo de 2% y el límite de apalancamiento pertenecen a esta configuración; no son recomendaciones universales de riesgo.

Cuando s es cero, falta o es no finito, deshabilitar la sesión es más seguro que permitir que la división genere un tamaño ilimitado. Un límite mínimo de volatilidad constituiría una regla diferente. La serie de dimensionamiento debe fijarse antes de la sesión, en lugar de recalcularse con el rendimiento de cierre del día actual.

Las versiones apalancadas y sin apalancamiento deben mostrarse por separado. En el estudio, la versión con exposición de una vez el capital reporta un rendimiento total de +380%, una IRR de 9.7%, un índice de Sharpe de 1.24 y una caída máxima de 12%. [1] La diferencia de rendimiento no puede atribuirse por completo a una mejor señal de entrada cuando la política de exposición también ha cambiado.

Los límites de tamaño requieren restricciones operativas adicionales. Verifique el poder adquisitivo, el valor nominal bruto, el margen del bróker y la participación en el intervalo de ejecución. Una regla de exposición basada en un período reciente de calma puede generar grandes posiciones justo antes de un repunte de volatilidad, por lo que son necesarias pruebas de estrés con brechas y salidas retardadas.

Aritmética sintética y una continuación fallida

Supongamos que el cierre anterior es 500, la apertura de hoy es 505 y sigma en el punto de control es 0.003. Entonces U=505×1.003=506.515 y L=500×0.997=498.50. La asimetría es causada por la brecha de apertura. Una banda simétrica alrededor de 505 no sería el mismo cálculo.

En 10:00, sea VWAP 506.20 y el cierre completado 506.80. La regla propuesta apunta a posiciones largas porque 506.80 supera a max(506.515,506.20). Si la orden se ejecuta en 506.86 y sale en 509.00, la ganancia de precio es $2.14 por acción antes de costos. La ejecución es deliberadamente posterior y diferente del cierre de la señal.

En caso de fallo, el cierre 10:30 es 506.30, su banda superior actualizada es 506.60 y VWAP es 506.50. El objetivo pasa a ser no tener posición. Una ejecución de salida en 506.24 pierde $0.62 por acción desde la entrada 506.86. Un cruce anterior por debajo de la banda no proporciona retroactivamente una mejor salida para una implementación de decisión programada.

Pruebe igualdad y tiempos: bajo comparaciones estrictas, un cierre exactamente en el umbral exige quedar sin posición; una observación recibida tarde no permite ejecutar a un precio anterior; y una sesión con historial insuficiente no produce bandas completamente estimadas. Estos casos suelen explicar diferencias entre implementaciones públicas.

Evidencia publicada y una comparación reproducible

El índice de aciertos diarios del documento es 43%, mientras que su tabla de operaciones informa 37% sobre 7,668 operaciones. [1] Estos denominadores responden a preguntas diferentes. Mantenga IRR, el rendimiento total, la tasa de éxito por operación y la frecuencia de días rentables en campos separados.

El artículo de código público de los autores es útil para inspeccionar VWAP, los cambios de exposición y la mecánica, pero el ejemplo completo también incluye un componente de reversión a la media con brecha nocturna. [2] Su capital combinado no puede atribuirse automáticamente solo al componente de impulso intradiario.

Un archivo README de un repositorio público independiente informa sobre el índice de Sharpe fuera de muestra de 0.39, el rendimiento anual de 4.8% y la caída máxima de 18.5% para el período comprendido entre mayo (2024) y marzo (2026), en comparación con su índice de Sharpe dentro de la muestra de 1.34. Solo se inspeccionó el archivo README; sus datos con licencia y su ejecución completa no se reprodujeron de forma independiente. [3]

Compare bandas solas, bandas con VWAP y las mismas señales con tamaño de posición ajustado por volatilidad. Mantenga idénticos el modelo de ejecución, los ajustes de datos y las fechas de evaluación. Informe si VWAP cambia la calidad de entrada, el momento de salida, el tiempo expuesto al mercado o solo la rotación.

Compare las bandas diarias y las marcas de tiempo de la posición objetivo antes de los retornos. Analice los costos con los supuestos establecidos y los costos bajo estrés, retrasos de una barra, períodos de análisis retrospectivo cercanos y períodos de mercado independientes. El objetivo es determinar qué supuestos respaldan el resultado, no buscar hasta que reaparezca un titular preferido.

Errores frecuentes

Reemplazar la estadística de ruido sin cambiar el nombre de la variante

El movimiento absoluto medio de apertura al tiempo no es una desviación estándar móvil. La sustitución modifica tanto la escala del umbral como la interpretación económica.

Dar señales programadas de ejecución continua

Un backtest puede mejorar artificialmente las salidas al utilizar cada cruce intrabarra y afirmar que las decisiones se toman cada media hora. Especifique las frecuencias de los eventos de entrada y salida.

Atribuir un ejemplo de código combinado a un componente

Un ejemplo que contenga reversión a la media de la brecha y momento necesita una atribución separada antes de que se pueda validar cualquiera de los componentes.

Lista de verificación antes de usar este método

Marca cada punto después de verificarlo con tus datos. El progreso se guarda en este navegador; no certifica que la estrategia sea rentable.

0/8 puntos

Preguntas frecuentes

¿VWAP es lo mismo que la banda de ruido superior o inferior?

No. VWAP es una referencia de precio de la sesión actual ponderada por volumen; las bandas estiman el desplazamiento típico de sesiones anteriores en un momento coincidente.

¿El índice Sharpe publicado refleja la rentabilidad actual?

No. Describe una muestra y un modelo de costos específicos. La evidencia de períodos posteriores, la replicación de la ejecución y la incertidumbre deben evaluarse por separado.

Fuentes de investigación

Cada fuente respalda la definición o evidencia descrita a su lado. El pseudocódigo, los ejemplos sintéticos y los parámetros propuestos requieren una validación independiente.

  1. Beat the Market: An Effective Intraday Momentum Strategy for S&P500 ETF (SPY)Zarattini, Aziz, Barbon — bản 03/02/2025. Se leyó el PDF completo, incluida la versión con fecha 3 de febrero 2025. Las tablas 3 y 4 aparecen en las páginas físicas e impresas 15 y 16. No se realizó ninguna replicación nueva. Verificado el: .
  2. Designing a Profitable Intraday Strategy Using Python and AlpacaConcretum Group. Artículo de los autores y código público consultado. El ejemplo completo incluye un componente adicional de gap nocturno y no es automáticamente una replicación de momentum pura. Verificado el: .
  3. Out-of-Sample Evaluation of an Intraday Momentum Strategy for SPYSheimy Paz Serpa. Solo se inspeccionó el archivo README del repositorio; las entradas con licencia completa y su ejecución fuera de muestra reportada no se reprodujeron de forma independiente. Verificado el: .

Métodos relacionados

Nota de riesgo

Este contenido sirve para la educación y el diseño de investigaciones; no constituye asesoría financiera. Backtest simula datos históricos, no garantiza resultados futuros y no ejecuta operaciones reales. Los métodos de esta biblioteca no son necesariamente funciones disponibles en la aplicación. Consulta la metodología y el centro de aprendizaje.

Valida las reglas antes de arriesgar capital real

Revisa la compatibilidad de la aplicación, los datos y cada operación simulada; los detectores avanzados pueden requerir una implementación independiente.

Descarga Backtest en App Store