Contenido del artículo

Evidencia y alcance

Las tres referencias son documentos oficiales de SciPy (API) que respaldan las definiciones y el comportamiento de la implementación. No proporcionan ninguna evidencia de que una estrategia de trading basada en estas características sea rentable.

Datos y mercadosUtilice una serie consistente de precios de cierre o un indicador numérico. Gestione las observaciones faltantes y las brechas entre sesiones antes de detectar valores extremos; no mezcle unidades de precio ni convenciones de ajuste.
Marcos temporales de investigaciónH=1 y las barras diarias son posibles configuraciones de investigación. La longitud de la ventana contabiliza las observaciones, no necesariamente una cantidad equivalente de tiempo de mercado en todos los instrumentos.
El pico 106 se sitúa cuatro puntos por encima de su base superior de 102; el pico 110 se eleva solo ligeramente por encima de la base 109.7 en su ventana local separada.Abrir ilustración en tamaño completo
Precios sintéticos originales. Las ventanas locales separadas muestran por qué 106 puede ser más prominente que una ondulación en 110. La serie completa graficada no se trata como una sola ventana de prominencia.

Flujo de trabajo práctico

Flujo de trabajo de Prominencia de picos: filtrar máximos y mínimos por estructura local
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. Elige la serieFijar los precios de cierre o un indicador y validar los datos faltantes.
  2. Esperar a que se complete la ventanaEvalúe su centro solo después de que se cierre el lado derecho.
  3. Encuentra ambas basesRespete los límites de las ventanas y los picos más altos.
  4. NormalizarCompare la prominencia con el umbral registrado y consistente con la unidad.
  5. Congelar el eventoAlmacene las propiedades y la marca de tiempo de confirmación real.

Un precio más alto no implica necesariamente un pico más prominente.

Un cierre en 120 por encima de una base circundante cercana a 119.8 puede ser estructuralmente menos distintivo que un cierre en 105 por encima de una base cercana a 100. La altura absoluta depende del precio nominal del instrumento. La prominencia plantea una pregunta geométrica diferente: ¿cuánto se eleva el candidato por encima del contorno que conecta su estructura circundante?

SciPy define la prominencia utilizando la base lateral más alta ([1]). El ancho se mide a una altura de prominencia relativa específica ([2]), mientras que find_peaks expone varios filtros independientes ([3]). Estas son herramientas de series numéricas. Interpretar un pico aceptado como resistencia, distribución u oportunidad de trading requiere contexto adicional y pruebas independientes.

El beneficio previsto es una reducción reproducible de anclajes insignificantes. No se garantiza que una gran prominencia identifique un máximo final. Una tendencia fuerte puede generar picos locales prominentes seguidos de precios aún más altos, y esperar a que se forme una estructura circundante puede resultar en una relación beneficio/riesgo poco favorable para cuando se confirme el evento.

Un detector local con un retardo de confirmación finito

La línea base propuesta utiliza las observaciones W=11 y el radio h=5. Al cierre de t, evalúe solo el candidato i=t−5 dentro de i−5 a través de i+5. Requiere prominencia de al menos 1.5×ATR[i−1]. W=11 y 1.5 son configuraciones experimentales, no valores optimizados. ATR de antes del candidato proporciona una referencia de volatilidad fija ya conocida por confirmación.

Desde el pico, examine cada lado hasta que el límite de la ventana o un pico más alto limite la búsqueda. Encuentre el mínimo en cada intervalo resultante, elija la base más alta y réstela del valor candidato. Para los valles, aplique la misma geometría a la serie de precios de cierre con el signo invertido. Tomar el valor más bajo en ambos lados sobreestimaría la prominencia de un pico situado en el hombro de una estructura mayor.

El código restringe las mesetas a una sola observación. Si se necesitan cimas planas, defina su marca de tiempo representativa y política de confirmación completa en otra versión. Los valores NaN no deben convertirse automáticamente en ceros, ya que esto crearía bases profundas artificiales. Un candidato en el límite de una ventana carece de la evidencia circundante necesaria y no debe tratarse como un pico centrado.

h = 5; W = 2*h + 1
on_closed_bar(t):
    i = t - h
    if i-h < 0 or invalid_data(i-h, t): return
    x = close[i-h:t+1]
    candidates, _ = find_peaks(x, plateau_size=(1,1))
    if h not in candidates: return
    prominences, left_bases, right_bases = peak_prominences(x, [h], wlen=W)
    p = prominences[0]
    a = ATR[i-1]
    if a is not missing and isfinite(a) and a > 0 and p / a >= 1.5:
        emit_once(i, confirmed_at=t, prominence=p, window=W)
# Troughs: repeat on -close, preserving timestamps and ATR.

Altura, umbral, prominencia y anchura responden a preguntas diferentes.

La altura es el valor máximo. El umbral mide su diferencia inmediata con respecto a las observaciones vecinas. La prominencia utiliza una base circundante más amplia. El ancho mide la extensión horizontal en un nivel vertical determinado. Una cima ancha y redondeada puede presentar pequeñas diferencias con las observaciones vecinas inmediatas, manteniendo una prominencia considerable; un umbral elevado puede, inadvertidamente, conservar solo picos de una sola barra.

El filtrado por distancia también requiere una política causal. Ejecutar find_peaks sobre la serie histórica completa y permitir que un pico futuro mayor elimine un pico cercano anterior puede modificar la selección pasada. El método de referencia evalúa cada candidato centrado y no aplica poda de distancia global. Un período de espera después de los eventos publicados es una alternativa posible, pero prioriza la disponibilidad cronológica sobre el pico más impresionante visible posteriormente.

Conserve todas las propiedades medidas en el registro del evento, incluso cuando un filtro rechace al candidato. Esto permite diagnosticar qué condición eliminó las oportunidades. De lo contrario, agregar ancho y distancia simultáneamente puede mejorar una estadística agregada, pero sin ofrecer una explicación clara de si el cambio se debió a la forma, el momento o a un número diferente de transacciones.

Ejemplos numéricos, ondas rechazadas y operaciones perdedoras.

Segmento local sintético: 100, 101, 103, 106, 104, 102, 103. Dentro de este segmento ilustrativo, la base izquierda es 100 y la base derecha es 102, por lo que la prominencia es 4. Con la referencia ATR=2, la prominencia normalizada es 2 ATR y supera el umbral propuesto 1.5. La ventana circundante aún debe finalizar antes de que esto pueda ser un evento publicado.

Otro segmento, 108, 109, 110, 109.8, 109.7, contiene un pico absoluto más alto pero una base lateral más alta de 109.7. Su prominencia local es solo 0.3; con ATR=1 no pasa el mismo filtro. Estos segmentos ilustran la geometría en lugar de configuraciones completas de W=11 o evidencia de que uno produce operaciones rentables y el otro no.

Una operación puede resultar perdedora tras alcanzar un máximo significativo. Supongamos que la confirmación permite una venta en corto, el siguiente precio de ejecución disponible es 101.8 y el stop estructural se sitúa en 106.2. El riesgo de precio previsto ya es de 4.4 puntos. Un rebote hasta 107 produce una pérdida en la operación, aunque el detector haya medido correctamente el extremo anterior. Un objetivo proyectado igual a la prominencia constituiría, en sí mismo, una hipótesis independiente.

Para evaluar la localidad, se añade un pico vecino más alto justo dentro y justo fuera de la ventana fija. La prominencia del candidato recién evaluado puede variar entre estos conjuntos de datos, pero un evento publicado previamente con un prefijo sin cambios no debe modificarse. Esto distingue una definición de ventana deliberada del uso accidental de una estructura futura.

Utilice la prominencia como característica de anclaje antes de inventar una entrada.

Una de las aplicaciones propuestas es seleccionar anclas para dobles cimas o zonas de resistencia, dejando el disparador para un evento posterior, como un cierre por debajo de un mínimo intermedio. Congele window_start, window_end, ambas bases, prominencia, ATR_ref, versión del detector y confirmed_at con el candidato. Estos campos permiten la reconstrucción exacta de la decisión.

Una entrada inmediata tras la confirmación requiere su propio stop loss, tiempo de salida, límites de exposición y modelo de ejecución. La prominencia no proporciona un precio objetivo garantizado de forma natural. Compare una proyección basada en la prominencia con un objetivo R fijo o un tiempo de salida únicamente dentro de las configuraciones registradas; no elija la salida por separado para cada gráfico atractivo.

Cuando el detector opera sobre RSI u otro indicador acotado, su prominencia se mide en puntos indicadores. Dividir la prominencia de RSI entre el ATR expresado en unidades de precio produce una mezcla de unidades. Utilice una normalización dimensionalmente consistente o conserve los puntos indicadores sin procesar como una característica calibrada por separado. La misma advertencia se aplica al comparar detectores de precio logarítmico y de precio ordinario.

Dejemos que el volumen pruebe una contribución distinta

El volumen no está incluido en la fórmula de prominencia, por lo que se puede agregar una característica de datos separada, pero esto no garantiza la independencia estadística. Guarde la actividad cerca del extremo y RVOL en el desencadenante final por separado. Un volumen agregado alto por sí solo no permite identificar la participación institucional, y los picos prominentes en torno a las noticias pueden coincidir con diferenciales costosos.

Agrupe las observaciones por prominencia/ATR y compare los diferentes rangos RVOL dentro de esos grupos. Esto permite determinar si el volumen aporta información adicional más allá de la amplitud del precio, en lugar de simplemente seleccionar movimientos de mayor magnitud. Utilice líneas base comparables en el tiempo de sesión para los activos intradiarios y establezca convenciones fijas de plataforma y volumen base versus volumen de cotización para las criptomonedas.

Informe cómo el filtro de volumen modifica el recuento de señales, el tiempo promedio de tenencia y la exposición. Un mayor beneficio promedio por operación ejecutada puede coexistir con un menor rendimiento de la cartera si el filtro descarta muchas oportunidades útiles. La falta de volumen debe tener una política explícita de datos no disponibles, en lugar de interpretarse como una escasez extrema.

Validar la geometría, la estabilidad y el valor económico por separado.

Los datos de prueba deben incluir un pico pequeño anidado junto a uno más grande, mesetas planas, valores NaN, bordes de ventana y candidatos muy próximos entre sí. Verifique la ubicación exacta de la base, así como la prominencia resultante. Si se utiliza SciPy, registre su versión y cualquier preprocesamiento; un filtro de suavizado centrado añade su propio retardo de datos futuros.

Mida la cantidad de anclas retenidas, el retraso fijo de h barras para confirmar y la fracción de patrones posteriores que están obsoletos cuando su ancla final está disponible. Luego, evalúe los resultados netos en un período de prueba bloqueado de antemano con costos y ejecución realistas. Un gráfico visualmente más limpio no es una métrica económica.

Al aumentar W, se modifica la definición de la estructura local recién evaluada. No debe modificar los eventos ya publicados pertenecientes a la versión anterior. Compare los tamaños de ventana cercanos en los datos de desarrollo, registre el número de ensayos e informe si el filtrado adicional mejora significativamente la expectativa neta o el riesgo después de considerar las oportunidades perdidas.

Errores frecuentes

Confundir prominencia con altura absoluta

Un precio nominal más alto no implica un pico más distintivo en relación con su base local.

Eliminar picos por distancia después de ver toda la serie

Un pico futuro puede anular un evento anterior. En su lugar, utilice la repetición o un tiempo de espera causal preestablecido.

Suavizado sin tener en cuenta el retraso

Un suavizador centrado utiliza observaciones posteriores. Añada ese retraso a la disponibilidad real del evento.

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

¿Es mejor la prominencia que un pivote ordinario?

Añade un criterio de amplitud y base. Que esto sea útil o no depende del propósito del detector y del rendimiento fuera de muestra de la estrategia que consume sus anclas.

¿Puede Prominence detectar los picos RSI?

Sí, porque RSI es una serie numérica. Las unidades resultantes son puntos RSI, por lo que el ATR expresado en unidades de precio no es un denominador directo válido.

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. scipy.signal.peak_prominencesSciPy. Lea las definiciones de base, wlen y algoritmo; se trata de documentación numérica, no de investigación financiera. Verificado el: .
  2. scipy.signal.peak_widthsSciPy. Lea la medición del ancho de prominencia relativa y el comportamiento de interpolación. Verificado el: .
  3. scipy.signal.find_peaksSciPy. Lea las definiciones de los filtros y el manejo de la distancia. 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