Contenido del artículo

Evidencia y alcance

Para 2016–2023, los autores reportan retorno total de +1,637%, IRR de 41.6%, Sharpe de 2.81 y drawdown máximo de 12%, con comisión de $0.0035 por acción y sin modelo separado de deslizamiento. Son resultados de investigación reportados, no una nueva replicación ni una cuenta auditada. [1]

Datos y mercadosEl estudio principal se centra en las acciones estadounidenses. Los futuros, las criptomonedas y los mercados con interrupciones de sesión requieren hipótesis y modelos de ejecución independientes.
Marcos temporales de investigaciónRango de apertura de cinco minutos; datos por evento o con resolución de segundos para estudiar la ejecución.
El precio alcanza el máximo inicial de 50.30; la entrada se ejecuta después a 50.34 y el precio sube a 51.14. El stop protector está 0.20 por debajo de la entrada ejecutada.Abrir ilustración en tamaño completo
Datos sintéticos. Las primeras cinco observaciones ilustran la ventana de apertura; los puntos posteriores son eventos seleccionados con intervalos de tiempo desiguales. El volumen se expresa en miles de acciones.

Flujo de trabajo práctico

Flujo de trabajo de Ruptura del rango inicial con RVOL: Reglas y evidencia
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 historiaUtilice el universo y los datos históricos disponibles antes de la sesión.
  2. Espere a que termine el intervalo de aperturaEspere los cinco minutos completos y registre cuándo están disponibles sus datos.
  3. Congelar rangos RVOLFije las acciones elegidas, la dirección y el presupuesto de capital.
  4. Envíe órdenes stop de entradaActivar los pedidos después de su procesamiento; conservar las entradas rechazadas y las que faltan.
  5. Proteger y liquidarProteja la cantidad realmente ejecutada y cierre las posiciones según el horario de sesión.

El volumen selecciona la acción; el precio proporciona la dirección.

Muchas acciones experimentan fuertes fluctuaciones durante los primeros minutos. La hipótesis comprobable es que una ruptura presenta un comportamiento condicional diferente cuando la actividad de negociación es inusualmente alta en relación con la actividad normal de apertura de esa acción. El volumen relativo no identifica a un comprador ni a un vendedor: en cada operación completada intervienen ambos. La dirección debe derivarse de una regla de precios independiente, mientras que el volumen mide la intensidad de la participación.

Defina el volumen relativo de apertura como RVOL(d) = V(d, opening window) / mean(V(d−j, same window), j=1…14). El denominador debe estar disponible a partir de sesiones anteriores. Comparar los primeros cinco minutos con un volumen promedio de todo el día responde a una pregunta diferente e introduce unidades de tiempo incompatibles. TradingView distingue el volumen acumulado del volumen en un momento coincidente; una implementación debe elegir una definición de forma consistente. [3]

Un RVOL de cuatro no implica cuatro veces el rendimiento esperado de un RVOL de uno. La alta actividad puede ir acompañada de noticias, diferenciales más amplios, una suspensión o una corrección de informes. Una acción con un volumen de apertura habitual mínimo también puede obtener una relación espectacular con una actividad absoluta modesta. Por lo tanto, los filtros de elegibilidad y una evaluación de la ejecución deben preceder a la decisión final de compraventa.

La contribución económica del filtro de volumen es una cuestión empírica. Pruebe la misma regla de precios con y sin RVOL, manteniendo un riesgo y una exposición comparables. De lo contrario, una mejor curva de capital podría simplemente reflejar menos operaciones o posiciones más grandes en el grupo seleccionado.

Separe la configuración del documento de las opciones de implementación.

La configuración de referencia exige precio de apertura superior a $5, volumen medio de los 14 días anteriores de al menos un millón de acciones, ATR14 superior a $0.50 y las 20 acciones mejor clasificadas con RVOL de cinco minutos de al menos uno. Una vela inicial verde define entrada en largo al romper; una roja, venta en corto; se omite el doji. El stop queda a 0.1 ATR del precio ejecutado, las posiciones se cierran intradía, el riesgo es 1% del capital asignado y el apalancamiento se limita a cuatro veces. [1]

Las siguientes convenciones de ingeniería son especificaciones propuestas, no afirmaciones adicionales del documento. Utilice el calendario bursátil en America/New_York, incluyendo los cambios por horario de verano y las sesiones acortadas. Las ventanas históricas faltantes corresponden a observaciones no disponibles, no a días con volumen cero. Una barra de apertura retardada solo se puede utilizar cuando sus datos hayan llegado realmente.

Fije una instantánea con el universo, OHLC de apertura, ATR diario, las 14 observaciones históricas de volumen y la clasificación final. Desempate mediante un identificador estable del instrumento. No agregue una acción después de ver su ruptura. Si solo califican 12 acciones, decida antes de evaluar rendimientos si conservará sin usar o redistribuirá la asignación restante.

La instantánea debe conservar tanto la hora del evento como la hora de disponibilidad. Un proveedor puede registrar la hora de una barra en 09:35 y, posteriormente, entregar una corrección. Reconstruir todas las decisiones a partir del historial corregido final describiría un conjunto de información diferente al disponible para el proceso de pedido original.

Una máquina de estados impide las entradas retroactivas.

Una orden de entrada solo existe tras su selección, procesamiento y envío. Un cruce de precios anterior a esta secuencia no puede ejecutar la nueva orden. Si el mercado ya ha superado el precio de activación cuando se activa una orden stop-market, esta puede ejecutarse inmediatamente cerca del precio actual; asignar el precio de activación anterior generaría una ejecución favorable.

Construya el stop de protección a partir de la ejecución real de la orden de entrada. Las ejecuciones parciales requieren protección para la cantidad ya ejecutada, además de una política para el resto no ejecutado. El rechazo de una venta en corto, la falta de préstamo disponible o el rechazo por riesgo del corredor son resultados registrados por el sistema. Eliminar silenciosamente estos casos puede hacer que la muestra de operaciones restante parezca más fácil de ejecutar que el conjunto real de oportunidades.

Mantenga estados explícitos como seleccionado, enviado, parcialmente completado, protegido, cerrado y rechazado. Cada transición requiere una marca de tiempo y una cantidad. Esto permite verificar si una orden de protección podría haber actuado durante una reversión rápida inmediatamente después de su ingreso.

on_opening_range_ready(session):
    snapshot = freeze_available_data(session)
    candidates = rank_eligible_by_rvol(snapshot)
    selected = candidates[:20]
    for asset in selected:
        side = sign(asset.or_close - asset.or_open)
        if side == 0: continue
        trigger = asset.or_high if side > 0 else asset.or_low
        submit_stop_after_processing_delay(asset, side, trigger)
on_entry_fill(fill):
    stop_distance = 0.1 * frozen_daily_atr[fill.asset]
    protective_stop = fill.price - fill.side * stop_distance
    protect_filled_quantity(fill, protective_stop)
on_session_liquidation_deadline():
    cancel_pending_entries()
    close_remaining_positions()

El capital asignado es diferente del patrimonio total de la cuenta.

Considere una cuenta sintética de $100,000 dividida en 20 asignaciones de $5,000. Arriesgar 1% de una asignación supone $50 para toda la posición en cada acción. Interpretarlo como 1% de la cuenta entera daría $1,000 por posición: veinte veces más antes de discutir el apalancamiento. Esta diferencia importa al comparar implementaciones con nombres parecidos.

Con una distancia de parada de $0.20 y sin costes aún incluidos, un presupuesto de pérdidas de $50 permite 250 acciones. A un precio de las acciones de $50, el valor nominal es de $12,500, superando la asignación de efectivo de $5,000. Por lo tanto, el tamaño real debe satisfacer el mínimo entre el límite de riesgo, el límite nominal, la disponibilidad de préstamos y la capacidad restante de la cartera.

Un límite de apalancamiento para la cartera no autoriza a dimensionar todas las operaciones simultáneas a ese límite. Reserve la exposición para las órdenes enviadas y libérela en caso de cancelación o rechazo. De lo contrario, las órdenes individualmente válidas pueden superar el límite en conjunto si se ejecutan varias a la vez.

Distinga la pérdida prevista al stop de una pérdida extrema realmente sufrida. Acciones correlacionadas pueden abrir gaps que atraviesen sus stops a la vez. Informe la pérdida de cartera planeada si todos los stops se ejecutan como se previó; luego haga pruebas de estrés con spreads mayores, protección demorada y gaps adversos. Veinte símbolos no garantizan veinte riesgos independientes.

Éxito sintético, fracaso y barras ambiguas

Supongamos que el rango de apertura tiene O=50, H=50.30, L=49.90 y C=50.20. El volumen de apertura es 600,000 acciones frente a una media histórica de 200,000 acciones, por lo que RVOL=3. El ATR diario anterior es 2. Una vez que la selección está lista, el stop de compra en 50.30 se ejecuta en 50.34. El stop de protección es 50.14. Una venta al final del día a 51.14 genera $0.80 por acción, o 4R antes de costos cuando R=$0.20 por acción.

Con la misma configuración inicial, una reversión podría ejecutar el stop en 50.10. La pérdida es de $0.24 por acción, o 1.2R antes de comisiones. No debe forzarse a volver a −1R porque el nivel de stop previsto era 50.14. La diferencia radica precisamente en la exposición a la ejecución que un stop estrecho puede magnificar.

Si el proveedor posteriormente modifica el volumen inicial de 600,000 a 150,000, conserve por separado el valor original recibido y la modificación. Una decisión en tiempo real basada en el primero no puede evaluarse como si el segundo se hubiera conocido en el momento de la selección.

Una sola barra OHLC puede contener precios de entrada y de stop sin revelar su orden. Utilice datos más precisos o informe límites conservadores y optimistas. Elegir la secuencia intrabarra ganadora no es una simplificación neutral. Una prueba unitaria útil construye dos trayectorias de ticks con OHLC idénticos y verifica que el simulador reconozca sus diferentes resultados.

Lea los resultados públicos dentro de su alcance real.

La implementación pública de QuantConnect informa una prueba de 2016 con un universo de 1,000 acciones y Sharpe 2.396. Su análisis identifica diferencias entre la versión inicial de Python y la implementación en C#. [2] Es un punto de partida útil para la replicación, pero no verifica de forma independiente todo el estudio de ocho años.

Conserve la etiqueta IRR del documento. Un alfa de regresión no es CAGR, y una tasa de éxito de cartera no puede renombrarse como tasa de éxito por operación sin establecer su denominador. Las diferencias en las convenciones de rentabilidad pueden producir cifras anualizadas distintas incluso cuando la rentabilidad total principal es similar.

Una propuesta de ablación utiliza A: ORB solo por precio; B: ORB más el umbral RVOL; C: umbral más la clasificación top-20. Compare los recuentos de oportunidades, las órdenes aceptadas, las ejecuciones reales, la rotación y los resultados netos en el mismo calendario de evaluación bloqueado. Informe los costos en relación con la R de cada operación, no solo como un pequeño porcentaje del valor nominal.

Antes de comparar las curvas de capital finales, compare los universos elegibles diarios, los símbolos seleccionados, los tiempos de activación y las cantidades. Una discrepancia en este punto indica un problema de reglas o de datos; ajustar el deslizamiento para que el rendimiento final coincida lo ocultaría. Una reproducción fiable documenta las discrepancias restantes y luego evalúa un período que no haya sido modificado.

Errores frecuentes

Clasificación de la apertura con información al final del día

El volumen de sesión completa no está disponible en 09:35. Utilizarlo para seleccionar operaciones de apertura genera un sesgo de anticipación.

Combinar paradas estrechas con costes irrealmente bajos

Unos pocos centavos de spread o deslizamiento pueden consumir una gran fracción de R. Informe la distribución del costo en unidades de riesgo.

Retrasar la protección en una barra

Crear la orden de stop una barra después de la entrada puede hacer que se pierda una reversión inmediata. Modele la secuencia de entrada a protección con supuestos de procesamiento reales.

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

¿Un valor alto de RVOL significa que los inversores informados están comprando?

No. Mide la actividad comercial inusual ya realizada. La dirección y la identidad del participante requieren pruebas diferentes.

¿Se puede cambiar el rango de apertura a 15 minutos?

Sí, como una variante probada por separado. Haga coincidir el intervalo de volumen histórico con 15 minutos y tenga en cuenta las entradas posteriores, las diferentes paradas, los costos y el ensayo de investigación adicional.

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. A Profitable Day Trading Strategy For The U.S. Equity MarketZarattini, Barbon, Aziz — 16/02/2024. Se leyó el PDF completo; la tabla 2 está en la página física 17 del PDF, numerada como 16. Los resultados usan las hipótesis de los autores; no se ejecutó un nuevo backtest. Verificado el: .
  2. Opening Range Breakout for Stocks in PlayDerek Melchin — QuantConnect. Se leyó el artículo, el código de ejemplo y la explicación de su implementación. El código no se ejecutó. Verificado el: .
  3. Relative Volume at TimeTradingView. Documentación principal que define el volumen relativo en el mismo período de tiempo. No establece la rentabilidad de ORB. 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