2 votos

Descomposición de datos de precios para el análisis de rentabilidad de señales

Estoy buscando realizar pruebas de hipótesis en algunas de mis señales de trading para ver si los rendimientos de la señal son estadísticamente significativos para falsificar mi hipótesis nula de que la señal no tiene poder predictivo.

Los rendimientos de una señal pueden ser distorsionados por 2 cosas: (1) el sesgo de posición largo/corto de la señal, y (2) la tendencia neta del mercado durante el período de back-test. Ambos componentes aparentemente pueden ser eliminados mediante la eliminación de tendencias de los datos.

Un fragmento de "Análisis Técnico Basado en la Evidencia": "Para realizar la transformación de des-tendencia, primero se determina el cambio de precio diario promedio del mercado que se está operando durante el período de prueba histórico. Este valor promedio se resta luego de cada cambio diario de precio." Posteriormente menciona que se deben usar los rendimientos logarítmicos en lugar de los rendimientos basados en porcentaje.

Surgen algunas preguntas:

1) Si mi estrategia es intradía, ¿debería seguir utilizando el cambio de precio diario promedio para eliminar tendencias de los datos, o debería bajar a la frecuencia en la que opero y calcular los cambios de precio promedio de 1 minuto (estrategia opera en 1M)?

2) ¿Debería realmente utilizar una estadística futura (el cambio de precio promedio del mercado durante el período de backtest) que no se conoce hasta que se complete el backtest para eliminar tendencias de datos pasados, post-backtest? Me preocupa que esto resulte en una conclusión estadística que solo sea válida para el período de backtest. ¿O debería calcular el rendimiento del mercado des-tendido en cada barra? En ese caso, ¿debería utilizar una ventana acumulativa o móvil para calcular el rendimiento promedio del mercado (a ser restado del rendimiento actual)?

3) Sé que hay otras formas de eliminar tendencias de datos además de:

( Log(PrecioActual/PrecioAnterior) - Promedio(Log(PrecioActual/PrecioAnterior)) )

¿Alguien conoce un método que sea particularmente más adecuado para mi dominio de problema?

Gracias

2voto

Vipul Naik Puntos 3037

Debe eliminar la tendencia a la escala de frecuencia que esté probando. Es decir, 1 min significa eliminar la tendencia de datos de 1 min. Meramente al moverse a datos de frecuencia más alta, está eliminando gran parte del sesgo sistemático presente en escalas más altas -- como

1) tiene muchas más muestras para comparar (minimizando el error estándar) 2) En intervalos más pequeños, el componente de deriva también se reduce progresivamente más.

Si está operando en escalas de intervalo de muestreo mucho más altas, por ejemplo, 1 mes, tendría más sentido comparar retornos durante el periodo más largo para ser coherente en las comparaciones.

Las transformaciones de retorno en escala logarítmica suelen ser preferidas ya que pueden ser más estacionarias (y más cercanas a las suposiciones IID para pruebas estadísticas basadas en parámetros).

La elección de utilizar una ventana móvil vs. todo el histórico es un poco de arte vs. ciencia pura. Hoy en día (post 'Análisis Técnico Basado en Evidencia'), se está prestando mucho más atención al rendimiento fuera de la muestra y a la capacidad de generalizar (la validación cruzada es una forma de abordar esto).

1voto

Ant Puntos 121

En respuesta a tu pregunta 2, debes desestacionalizar/suavizar sobre todo el rango del período de prueba. El propósito de la desestacionalización es cumplir/crear la hipótesis nula para la prueba de bootstrap (no es estrictamente necesario para la prueba de permutación). Esta hipótesis es que el rendimiento de tu estrategia es cero. Para crear esta hipótesis nula cero, debes

1) Desestacionalizar sobre todo el conjunto de datos para eliminar cualquier tendencia a largo plazo, eliminando efectivamente el rendimiento que se podría obtener de la estrategia de comprar y mantener, y también eliminando el sesgo largo/corto de tu sistema

2) luego eliminar el rendimiento promedio de tu sistema en estos datos desestacionalizados de arriba para crear la distribución de hipótesis nula para el arranque de bootstrap

Tu preocupación sobre "estadística futura" no aplica aquí - ninguno de los anteriores informa el proceso de toma de decisiones del sistema, ya que esta prueba se ejecuta después de haber generado tu vector de señal. Es simplemente una prueba estadística realizada en los datos después de haber sido recolectados.

0voto

Eric White Puntos 98

Dado que no tengo suficiente reputación para agregar un comentario, comento aquí.

1) elimina la tendencia de todo el conjunto de datos para eliminar cualquier tendencia a largo plazo, eliminando así el rendimiento que se podría obtener de una simple compra y retención, y esto también elimina el sesgo largo/corto de su sistema

esto es el verdadero des-tendido en el libro de EBTA, que compara la estrategia con la estrategia aleatoria con el mismo sesgo largo/corto, el apéndice proporciona una prueba de que el des-tendido es equivalente a la comparación basada en el sesgo de posición.

2) luego elimine el rendimiento promedio de su sistema en estos datos des-tendidos de arriba para crear la distribución de hipótesis nula para el bootstrapping.

Esta es el ajuste centrado en cero en el libro de EBTA, como dices esto crea la hipótesis nula para el bootstrapping.

Finanhelp.com

FinanHelp es una comunidad para personas con conocimientos de economía y finanzas, o quiere aprender. Puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X