Contenido del artículo

Evidencia y alcance

Este artículo propone un flujo de trabajo de validación, no una estrategia rentable ni una nueva prueba retrospectiva. Las fuentes citadas abordan la inferencia de patrones, la mecánica de simulación y el sobreajuste estadístico; ninguna certifica la rentabilidad de todos los métodos de esta biblioteca.

Datos y mercadosAplicable a la investigación en acciones, futuros, divisas y criptomonedas, con datos específicos del mercado, contratos, costes y convenciones de sesión.
Marcos temporales de investigaciónCualquier señal declarada y horizonte de mantenimiento de la posición; todas las observaciones, órdenes y etiquetas requieren marcas de tiempo explícitas.
Una serie ilustrativa del patrimonio de la cuenta se divide cronológicamente en desarrollo, validación y prueba, sin mezclar el orden temporal.Abrir ilustración en tamaño completo
El capital sintético y el recuento de oportunidades ilustran únicamente las particiones cronológicas; no representan los resultados de la estrategia. El eje vertical corresponde al capital normalizado. Los límites de las fases deben especificarse antes de la evaluación, no se pueden seleccionar a partir de esta ilustración.

Flujo de trabajo práctico

Flujo de trabajo de Validar una estrategia: datos, ejecución y pruebas fuera de muestra
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. Registrar la hipótesisCongelar el mercado, las normas, los costes, las métricas y los ensayos permitidos.
  2. Validar las entradasVerifique la disponibilidad en un momento dado, el significado del volumen, el universo y las marcas de tiempo.
  3. Reproduzca los eventos respetando la disponibilidad de datosConfirme las señales antes de crear órdenes y permitir su ejecución.
  4. Limitar el riesgoAplique límites de tamaño, margen y exposición, y escenarios de estrés por gaps.
  5. Evalúe con walk-forwardElimine las etiquetas superpuestas, seleccione en la validación y congele cada prueba.
  6. Informe todas las pruebasPublicar los resultados de las ablaciones, las pruebas de estrés, la incertidumbre y el nivel de evidencia.

Responda cuatro preguntas diferentes en orden

Primero, ¿se puede reconocer el patrón de forma consistente? Segundo, ¿contiene información condicional sobre resultados posteriores? Tercero, ¿se puede convertir esa información en rendimientos netos positivos con órdenes factibles? Cuarto, ¿se mantiene el resultado con datos realmente desconocidos? Un estudio que responde a una pregunta no debe presentarse como si respondiera a las cuatro.

La investigación formal de patrones demuestra cómo se pueden estudiar el reconocimiento y la inferencia estadística. [1] Un doble techo visualmente convincente o una distribución de rendimientos estadísticamente diferente aún no constituyen un sistema de negociación completo. Las entradas, las salidas, los costos, el tamaño de la posición y el conjunto de oportunidades siguen determinando los resultados económicos.

Antes de analizar el rendimiento, elabore una ficha de hipótesis. Incluya el mercado elegible, el marco temporal, los campos de entrada, la regla de formación, el retraso de confirmación, los mecanismos de entrada y salida, el presupuesto de riesgo, los costos, el índice de referencia, la métrica de evaluación y las variaciones de parámetros permitidas. La ficha debe ser lo suficientemente precisa como para que otra persona pueda implementarla sin necesidad de interpretar la estética del gráfico.

También es importante definir un resultado negativo útil. Por ejemplo, un filtro de volumen podría no generar ninguna expectativa neta incremental tras igualar la exposición. Registrar este resultado evita que el proceso de investigación reemplace silenciosamente la pregunta original cuando no se obtiene el resultado deseado.

1. Datos disponibles en cada momento y significado del volumen

Es fundamental distinguir cuándo ocurrió un evento, cuándo se recibieron los datos y cuándo la estrategia pudo utilizarlos. Una marca de tiempo en una barra por sí sola puede no revelar un retraso en la transmisión, una corrección o una latencia de publicación. Las simulaciones históricas deben reconstruir el conjunto de información relevante en lugar de utilizar indiscriminadamente la base de datos corregida más reciente.

Mantenga estables los identificadores de instrumentos, el historial de membresía y los registros de eventos corporativos. Las acciones que siguen en circulación hoy no representan el universo de inversión de ayer. Gestione explícitamente las exclusiones de cotización, la reutilización de símbolos bursátiles, las nuevas cotizaciones y los precios no disponibles. En el caso de las operaciones corporativas, las fechas de entrada en vigor y las fechas de anuncio pueden responder a diferentes preguntas sobre la disponibilidad.

Utilice precios negociables sin procesar para las ejecuciones y una convención de ajuste documentada para las señales. Una serie continua de futuros puede ser útil desde el punto de vista analítico, pero la ejecución debe producirse en un contrato real a un precio real. Las transacciones de renovación, los multiplicadores y el vencimiento de los contratos no pueden inferirse a partir de un gráfico continuo.

El volumen es específico de cada mercado. El volumen de acciones en una bolsa, el volumen de contratos de futuros, el recuento de ticks de divisas y la cantidad negociada en una plataforma de criptomonedas son medidas diferentes. Una etiqueta como volumen de compra o delta requiere un método de clasificación específico; los datos OHLCV ordinarios no revela la identidad de los participantes ni el flujo de órdenes del mercado en general.

Cree pruebas de integridad para barras duplicadas, intervalos faltantes, relaciones OHLC imposibles, volumen negativo y discontinuidades de zona horaria. Conserve las versiones del conjunto de datos y los registros de corrección. Un código base reproducible con entradas sin control de versiones no produce un experimento reproducible.

2. Tiempos de confirmación e invariancia de prefijo.

Un punto de inflexión en el índice i que requiere r barras a su derecha se confirma no antes de i+r. Su ubicación se puede dibujar en i para su análisis, pero no se puede tomar una decisión de compraventa allí retrospectivamente. Almacene occurred_at y confirmed_at como campos separados y ejecute desde la marca de tiempo más reciente disponible.

La invariancia del prefijo es una prueba práctica: ejecute el algoritmo en cada prefijo creciente del conjunto de datos y compare los eventos confirmados ya publicados. Las observaciones futuras que se añadan no deben sobrescribirlas. Los candidatos provisionales pueden cambiar si se etiquetan explícitamente como provisionales; las señales históricas confirmadas deben permanecer estables con entradas sin cambios.

Los datos de marcos temporales superiores requieren la misma disciplina. Incorpore un valor horario completo a una estrategia de minutos solo después de que la observación horaria esté disponible. El máximo, mínimo o cierre final de una hora incompleta no se puede utilizar para decisiones de minutos anteriores.

Ajuste normalizaciones, parámetros de agrupamiento y modelos estadísticos en la partición histórica permitida. Un escalador entrenado con el conjunto de datos completo filtra información sobre la distribución futura, incluso cuando cada entrada de operación individual se retrasa correctamente. La causalidad se aplica tanto al preprocesamiento como a los indicadores.

Una prueba informativa modifica deliberadamente los precios y volúmenes futuros manteniendo fijo el prefijo histórico. Si una señal confirmada previamente cambia, se debe rastrear la dependencia en lugar de asumir que la plataforma de gráficos ha resuelto el repintado automáticamente.

3. Debe existir un pedido antes de que pueda completarse.

Representa la secuencia desde la señal hasta la creación, envío, aceptación, activación, ejecución parcial y finalización o cancelación de la orden. Puede existir latencia en cada etapa. Un contacto histórico con el precio que precedió a la aceptación de la orden no constituye una ejecución disponible para dicha orden.

La documentación de la estrategia de la plataforma ayuda a identificar los supuestos de sincronización y órdenes del emulador. [2] Estos mecanismos son convenciones del simulador, no una garantía de ejecución real en la bolsa. Una orden stop-market restringe la activación, mientras que su precio final puede variar; una orden límite restringe el precio, pero puede que no se ejecute. [3]

Las barras OHLC no revelan el orden de los eventos intrabarra. Si la entrada, el stop y el objetivo se encuentran dentro de una misma barra, utilice datos más precisos o revele los límites de los resultados. No seleccione la opción que mejore la estrategia. Una orden de espera tampoco se puede cancelar después de observar la ejecución desfavorable que su existencia permitió.

Modele las ejecuciones parciales y las cantidades pendientes. Si se crea un stop de protección solo después de la entrada, indique cuánto tiempo puede permanecer la posición sin protección. Si se revierte una entrada antes de su finalización, concilie la exposición real y las órdenes pendientes en lugar de asumir que se alcanzó cada objetivo solicitado.

Incluya comisión, spread, slippage, impacto, préstamo de activos y funding o financiación aplicables. Impute cada costo en su momento contractual real. No suponga el mismo intervalo de funding para todos los productos cripto ni duplique el spread cuando ya esté incluido en ejecuciones al bid/ask.

4. La estimación del riesgo debe utilizar unidades consistentes.

Para un instrumento lineal, la fórmula de tamaño propuesta es q=floor(B/(abs(E−S)×multiplier+c_unit)), donde B es el presupuesto de pérdidas de efectivo, E el precio de entrada previsto, S el punto de parada y c_unit el costo estimado de ida y vuelta por unidad. Las conversiones de moneda deben expresar el numerador y el denominador en la misma moneda de la cuenta.

Esta fórmula estima la pérdida prevista; no limita la pérdida por gap. Los contratos inversos, las opciones y los productos no lineales requieren su propio cálculo de rentabilidad en lugar de utilizar una fórmula para acciones. Los tamaños mínimos de lote y el margen del corredor pueden reducir aún más la cantidad factible.

Consideremos un capital sintético de $20,000 y un riesgo de 0.5%, lo que da como resultado B=$100. Con entrada en 100, stop en 99.50 y costo estimado de $0.04 por acción, q=floor(100/0.54)=185. La pérdida planificada, incluyendo ese costo, es $99.90.

Si la salida se completa en 99.20, la pérdida de precio es $148 y el mismo costo estimado es $7.40, lo que suma un total de $155.40. Un informe que recorta esta pérdida al presupuesto previsto de $100 elimina el riesgo de ejecución en lugar de medirlo.

A nivel de cartera, reserve la exposición para las órdenes abiertas, limite los riesgos nocionales brutos y netos, y los riesgos correlacionados agregados. Varias posiciones pequeñas individualmente pueden reaccionar ante el mismo shock de mercado. Informe tanto el riesgo de stop planificado como la pérdida por estrés ante movimientos adversos simultáneos.

5. Evaluación walk-forward, purga y embargo

Separe el desarrollo, la validación y la evaluación en el tiempo. Ajuste los modelos con los datos de entrenamiento, seleccione la configuración permitida con los datos de validación y, a continuación, congele la configuración antes de evaluar el siguiente segmento de prueba. Repetir este proceso cronológico mide un procedimiento de actualización en lugar de una única configuración seleccionada retrospectivamente.

Las etiquetas pueden superponerse a los límites. Si el resultado de un ejemplo de entrenamiento se extiende al intervalo de validación o de prueba, elimine dicho ejemplo del conjunto de entrenamiento. Del mismo modo, las etiquetas de validación utilizadas para la selección no deben incluir resultados del intervalo de prueba. Registre el inicio y el final de cada etiqueta en lugar de eliminar un número fijo de filas estimado.

Un embargo excluye observaciones cercanas donde, de otro modo, el diseño de validación cruzada permitiría que las muestras de entrenamiento futuras compartieran información con un intervalo de prueba. No es un sustituto universal de la separación cronológica y no corrige marcas de tiempo de características incorrectas. La presentación del autor citado analiza estos mecanismos; no es evidencia de que cualquier duración de embargo arbitraria sea suficiente. [4]

Si el proceso de investigación inspecciona repetidamente los resultados walk-forward, mantenga una reserva final adicional. Una vez que estos resultados guíen las revisiones, habrán influido en el desarrollo. Seleccione la configuración final utilizando únicamente la información de desarrollo, evalúe la reserva bloqueada una sola vez e informe el resultado sin volver a ajustarla.

Cada transformación ajustada debe estar dentro del pliegue: escaladores, selección de características, umbrales de régimen y líneas base de volumen que requieren estimación. Una división de etiquetas cuidadosamente depurada aún puede presentar fugas si se aplicó un paso de preprocesamiento a la muestra completa.

6. Ablación, ensayos múltiples y pruebas de estrés.

La ablación pregunta qué aporta cada componente. Compare el precio solamente, el precio más RVOL y el precio más RVOL más VWAP utilizando el mismo universo de oportunidades, dimensionamiento y supuestos de ejecución. Modifique por separado la lógica de entrada y salida cuando ambas utilicen el nuevo indicador; de lo contrario, el origen de la mejora no quedará claro.

Mantenga un registro de ensayos que incluya ideas fallidas, filtros manuales de gráficos, plazos, conjuntos de datos, cuadrículas de parámetros y subconjuntos de mercado. Informar únicamente sobre la configuración final exitosa oculta la cantidad de oportunidades que tuvo el investigador para descubrir un resultado afortunado.

El índice de Sharpe deflactado aborda el sesgo de selección y el comportamiento de rendimiento no normal bajo sus supuestos. [5] No es una probabilidad de que una estrategia genere ganancias en tiempo real. La probabilidad de sobreajuste en el backtesting se refiere al deterioro de la clasificación en las particiones de su marco, no a una probabilidad directa de perder capital en la cuenta. [6]

Sometemos a prueba los costos de ejecución a múltiplos predefinidos como 1.5 y 2, retrasamos las entradas una barra, analizamos parámetros cercanos y examinamos la dependencia de las cinco operaciones más grandes. Estas son las pruebas de sensibilidad propuestas. Una estrategia de tendencia depende naturalmente de grandes ganancias; eliminarlas es informativo, pero no es una regla de éxito o fracaso automática.

Analice la sensibilidad al régimen y a la capacidad con suficientes observaciones para respaldar la comparación. Dividir los datos en muchos regímenes favorables pequeños genera otro problema de selección. Un efecto estable simple después de considerar los costos suele ser más convincente que una explicación elaborada basada en unos pocos períodos excepcionales.

7. Métricas, expectativas y niveles de evidencia

Informe por separado el número de oportunidades, órdenes enviadas, operaciones ejecutadas, transacciones completadas y días rentables. Un filtro puede mejorar la tasa de éxito de las operaciones, aunque excluyendo muchas oportunidades rentables. La frecuencia de días rentables no es una tasa de éxito de las operaciones, y ninguna de las dos determina la rentabilidad esperada sin considerar el tamaño de ganancias y pérdidas.

Calcule la reducción máxima a partir de una serie del patrimonio de la cuenta valorado a mercado que incluya posiciones abiertas y costos. Indique la frecuencia de retorno para Sharpe en lugar de considerar los retornos de operaciones irregulares como intercambiables con los retornos diarios. Mantenga la distinción entre el retorno total, CAGR, el flujo de caja sensible IRR y el alfa de regresión.

Una estrategia sintética con probabilidad de victoria 0.40, ganador promedio 2R, perdedor promedio 1R y costo 0.08R tiene una expectativa 0.40×2−0.60×1−0.08=0.12R. Su tasa de victorias de equilibrio bajo esos pagos fijos es (1+0.08)/(2+1)=0.36.

Otra estrategia sintética que gana 65% operaciones, obtiene una ganancia de 0.5R en las operaciones ganadoras y pierde 1R en las demás, con el mismo coste, tiene una expectativa de 0.65×0.5−0.35×1−0.08=−0.105R. Por lo tanto, una mayor tasa de éxito puede coexistir con un sistema perdedor.

Incluya pérdidas extremas, tiempo transcurrido por debajo del máximo previo de capital, rotación, participación, exposición e intervalos de incertidumbre. Distinga entre método descriptivo, backtesting reportado por el autor, reproducción de código y datos, revisión independiente, negociación simulada prospectiva y evidencia real verificada. Estas etapas responden a preguntas progresivamente diferentes; ninguna implica una rentabilidad futura garantizada.

Publique artefactos que otro investigador pueda inspeccionar.

Archive la versión de la hipótesis, las versiones de los datos de entrada, el registro de ensayos, los límites de pliegue, los eventos de señal, los eventos de orden, los llenados, los costos y los cálculos de capital. Una tabla de rendimiento final sin los libros intermedios es difícil de diagnosticar cuando otra implementación no coincide.

El siguiente diagrama separa el período de desarrollo, que se utiliza repetidamente, de una fase final de prueba. Sus funciones son especificaciones para implementar y probar, no una prueba ejecutable de su corrección. En particular, la purga debe inspeccionar los intervalos de etiquetas y la ejecución debe respetar la disponibilidad real de los eventos.

Un paquete de revisión útil incluye al menos un ejemplo exitoso, una operación fallida, una orden rechazada y un caso intrabar ambiguo, cuando esté disponible. Explique cómo el simulador gestiona cada uno de estos casos. Esto proporciona evidencia concreta de que las reglas funcionan de manera consistente incluso cuando los resultados son desfavorables.

Congele las métricas de publicación antes de leer el último conjunto de datos de prueba. Si el resultado final no es satisfactorio, infórmelo y comience una nueva versión de la investigación con un nuevo plan de evaluación. Editar repetidamente el mismo método con el mismo conjunto de datos supuestamente reservados para prueba destruye la evidencia que este último debía proporcionar.

spec = freeze_hypothesis_and_trial_registry()
data = load_versioned_point_in_time_inputs()
assert_data_integrity(data)
assert_confirmed_events_are_prefix_invariant(data)
development, final_test = split_chronologically_before_research(data)
for fold in chronological_folds(development, spec):
    train = purge_overlapping_labels(fold.train, fold.validation + fold.test)
    validation = purge_overlapping_labels(fold.validation, fold.test)
    model = fit_using_train_only(train)
    config = select_on_validation(model, validation)
    freeze(config)
    events = replay_causally(fold.test, config)
    fills = simulate_orders_after_available_at(events, spec.execution)
    equity = mark_to_market(fills, fees=spec.costs)
    archive_all_results(config, events, fills, equity)
final_config = freeze_selection_using_development_only()
evaluate_final_holdout_once(final_test, final_config)
report_net_metrics_ablations_stress_and_uncertainty()

Errores frecuentes

Considerar un detector atractivo como una estrategia rentable

La geometría, la información predictiva, la ejecución y el rendimiento fuera de la muestra son etapas de validación independientes. Superar una no garantiza la superación de las demás.

Un gráfico limpio con señales confirmadas solo más tarde

Dibujar un punto de inflexión en su ubicación histórica puede ocultar una hora de confirmación posterior. Almacene tanto occurred_at como confirmed_at y compruebe cada decisión con la disponibilidad de la información.

Comprimir cada costo en una pequeña comisión.

El spread, el impacto, los préstamos o la financiación, así como las operaciones no realizadas, pueden ser más importantes que la comisión. Analícelos en función del instrumento y su liquidez.

Una línea de tarifas realista con rellenos poco realistas.

La comisión no puede compensar las ejecuciones imposibles de cierre de señal, un orden favorable supuesto para los eventos dentro de la barra ni la ejecución garantizada de límites.

Inspeccionar repetidamente el mismo período de prueba

Una vez que los resultados de las pruebas guían las revisiones, ese período pasa a formar parte del desarrollo. Registre cada uso y conserve una nueva etapa de evaluación sin modificaciones.

Guardar únicamente las configuraciones ganadoras

Sin conocer el número de ensayos y la distribución de las variantes fallidas, la evidencia a favor de la estrategia seleccionada puede ser exagerada.

Utilizar correcciones estadísticas como certificados de rentabilidad

DSR, PBO y los valores p abordan preguntas de inferencia específicas bajo supuestos. No reemplazan las pruebas de ejecución ni establecen ganancias futuras para la cuenta.

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/16 puntos

Preguntas frecuentes

¿Cuántas operaciones son suficientes para demostrar que una estrategia funciona?

No existe un umbral universal. La dependencia, las colas de pago, los regímenes de mercado y la magnitud del efecto determinan la incertidumbre. Es mejor informar sobre estas características que considerar un número fijo de operaciones como prueba.

¿Debería rechazarse una estrategia si los costes eliminan la ventaja declarada?

La versión negociable puede fallar, aunque la relación estadística subyacente siga siendo útil. Presente ambas conclusiones y evite mostrar el efecto bruto como un rendimiento neto ejecutable.

¿Publicar el código hace que una prueba retrospectiva sea reproducible?

El código es solo uno de los requisitos. Las versiones de los datos, las convenciones de actuación corporativa, los parámetros, el historial de pruebas y las suposiciones de ejecución también deben estar disponibles o documentados con precisión.

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. Foundations of Technical Analysis: Computational Algorithms, Statistical Inference, and Empirical ImplementationAndrew W. Lo, Harry Mamaysky, Jiang Wang. Lectura de investigaciones originales sobre reconocimiento de patrones e inferencia estadística. No demuestra la rentabilidad de todas las reglas de la biblioteca. Verificado el: .
  2. Pine Script — StrategiesTradingView. La documentación principal se consulta para conocer la sincronización de las órdenes de estrategia y el comportamiento del emulador del corredor, no como un modelo de ejecución de bolsa universal. Verificado el: .
  3. Understanding Order Types — Investor BulletinU.S. SEC — Investor.gov. Boletín principal para conocer el funcionamiento de las órdenes de mercado, límite y stop, así como sus limitaciones de ejecución. Verificado el: .
  4. MLX 2018 — The 7 Reasons Most Machine Learning Funds FailMarcos López de Prado — bản trình bày đăng trên SlideShare. Se leyeron las diapositivas del autor sobre purga de etiquetas y embargo temporal de observaciones en validación cruzada. No se afirma haber accedido ni leído el libro completo de aprendizaje automático financiero. Verificado el: .
  5. The Deflated Sharpe Ratio: Correcting for Selection Bias, Backtest Overfitting and Non-NormalityDavid H. Bailey, Marcos López de Prado — 2014. Se ha leído el artículo metodológico completo. Su ajuste del sesgo de selección requiere supuestos e información de los ensayos; no es una probabilidad de beneficio real. Verificado el: .
  6. The Probability of Backtest OverfittingBailey, Borwein, López de Prado, Zhu. Metodología consultada para CSCV y PBO. El deterioro del rango fuera de la muestra se distingue de la probabilidad de perder dinero. 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