2 votos

De cointegración par de negociación - cómo probar un comercio de la regla usando Monte Carlo?

Estoy haciendo un ejercicio de investigación donde tengo dos series de precios $X_t, Y_t$ que me regresan el uno contra el otro y la prueba de cointegración.
Una vez que confirme que se trata de cointegrated (utilizando CADF o de la prueba de Johansen) me derivar la ecuación de la difusión como
$$spread_t = Y_t - (\alpha + \beta X_t)$$

o, alternativamente,
$$spread_t = Y_t - \beta X_t$$

donde $\alpha$ es el intercepto y $\beta$ es el coeficiente de la pendiente de la regresión de $Y_t$ a $X_t$.

Como un siguiente paso que quiero hacer simulaciones de Monte Carlo para probar el simple comercio de la regla.

  • si la propagación por encima de los 2 pt.dev wrt equilibrio comprar X y vender Y;
  • si la propagación por debajo de los 2 pt.dev wrt equilibrio vender X y comprar Y;

pero no sabe cómo construir el Monte Carlo caminos para la simulación.

Podría alguien explicar cómo la simulación puede llevarse a cabo?

La mayoría de los libros de texto y trabajos de investigación de explicar cómo encontrar los pares de activos y la prueba de la cointegración. Algunos de explicar la parte de atrás de pruebas en los datos históricos. No he encontrado ninguna explicación de cómo la simulación de Monte Carlo puede ser utilizado para probar su estrategia de trading.

Debe ser sólo la propagación modelado en el AR(1) como proceso? Parece que uno necesitaría para simular los precios de los activos de todos modos. Debería tal vez de usar el de Vectores Auto-regresivos (Modelo VAR)? Mi entendimiento es que esto me daría una cierta ecuación de nuevo cuando la diferencia se expresa en termias de rezagado de los precios de los activos.
Cada uno de los dos activos no tiene que ser la media de revertir. Si yo modelo de los precios independientemente de cómo, a continuación, la relación de cointegración) entre ellos se conservan?

1voto

user984260 Puntos 146

Usted no puede utilizar la simulación de Monte Carlo para poner a prueba una estrategia de negociación. Los parámetros de (supuestos) se pone en la simulación de las rutas de confirmar o rechazar la hipótesis.

Usted no puede tener un agnóstico de Monte Carlo de la prueba. Si usted hace un punto de vista estocástico prueba y escribir el código para esto, usted no necesita ejecutar para saber los resultados. X e y se supone que convergen o no lo están. Si convergen, la prueba tendrá resultados positivos. Si no, su cartera de mierda. Eso es todo. Si la simulación de las rutas de incluir una regla que convergen en z desviaciones estándar, a continuación, la cartera de las normas de trabajo. Si no tienen ninguna de las reglas a converger, a continuación, su cartera de reglas va a chupar.

Es por eso que el uso de datos históricos. Los datos históricos no requiere que usted para imponer cualquiera de los supuestos de la simulación. Ya sea que convergen pasado 2 SD o no, pero usted no sabe. Ejecutar la prueba para saber si dos valores son cointegrated suficiente para ejecutar un stat arb estrategia de negociación en ellos con éxito.

1voto

user1178317 Puntos 44

Estoy un poco falta de objetividad o de la distinción de que el objetivo de la pregunta. Sin embargo, aquí están las conclusiones sobre lo que he entendido.

PASO I: Definir y determinar el número mínimo de los datos de los puntos que usted necesita, para la determinación de $\alpha$ e $\beta$ y dejar que este número mínimo se denomina como un PEDAZO o QUANTUM o PAQUETE. También definir el incremento de pisar el tamaño por ejemplo,$\mathscr{step\_size}$, por lo que el fragmento se movería hacia adelante en el tiempo. Para un $\mathscr{chunk\_size}$ = 1000 e $\mathscr{step\_size}$ = 200, los datos de entrada se mueve de 0 a 1000; de 200 a 1200, 400 a 1400; de 600 a 1600 y de la misma manera, y vamos a llamar a estos SEGMENTOS.

PASO II: Cada SEGMENTO (después de las pruebas para la cointegración), daría un poco diferentes valores para el $\alpha$ e $\beta$, lo que daría a los diferentes valores de $\mathscr{spread_t}$ forma de un conjunto de números aleatorios, aunque muy de cerca sembradas uno. A partir de estos valores de SEGMENTO, la toma de decisiones se puede hacer.

Nota 1: creo que es el primer paso para el que desea crear MonteCarlo rutas para las simulaciones. Con C++, que puede lograrse mediante el uso de OpenMP, aunque es muy de la edad de piedra primitivo para algo como MonteCarlo, pero con algunos trucos inteligentes, generalmente consiente a programador deseos. Nota 2: el quid de La cuestión el enfoque es mantener el $\mathscr{step\_size}$ suficientemente corto; a través de la cual una gran cantidad de poco espaciados y azar(lo cual es una paradoja; por lo tanto cuasi-aleatoria) los valores de $\mathscr{spread_t}$ puede ser generado. Nota 3: simulaciones de MonteCarlo son utilizadas fundamentalmente donde la paramétrico forma de condicionamiento ha sido ya establecido y con un gran número de experimentos necesarios para ser hecho para determinar el valor de la variable requerida. En este caso, puede ser adjudicadas que la forma paramétrica para determinar el $\mathscr{spread_t}$ a que se ha comprobado y por lo tanto una MonteCarlo procedimiento puede ser llevado a cabo, con la introducción de estocásticos no lineales de peso en función de la $\mathscr{spread_t}$ (ver abajo). Por favor, tenga en cuenta que, estos $\mathscr{chunk\_size}$ e $\mathscr{step\_size}$ sí puede hacerse al azar, que quizás requieren de mayor número de experimentos a realizar.

Dado este problema, mi enfoque personal sería diferente, algo a lo largo de las líneas de:

PASO I: La modificación de la extensión, después de la prueba para la cointegración ha sido confirmado, ya que esto establece la linealidad de la relación. La introducción de una función, tales como, $f(t) = k+e^{-\zeta(t, \sigma(t), \eta(t), \delta, \gamma, \cdots)}$ donde $k$ es un número real, el factor de turnos, $\delta$ es una función que da el número aleatorio entre 0 y 1, que representan el mercado normalizado de ruido (esta función imita el llamado $\epsilon_i$, la componente aleatoria, en los análisis de regresión) y donde $\eta(t)$ es simplemente la causal de la función. Me gustaría introducir otra variable multiplicativa $\gamma$, dependiendo de la histórica pesos y la mayor parte de los titulares cuantificables de la toma de decisiones de los patrones. (Sería mucho más fácil, si $X_t$ e $Y_t$ son los componentes del DOW y el S&P 500, como la importante participación accionarial de las cifras y la información sobre los accionistas a sí mismos, están fácilmente disponibles para las empresas). Por favor, observe que soy deliberadamente introducción el control de la no-linealidad en esta relación para la evaluación dinámica de la $\mathscr{spread_t}$. Aquí he construido una función para $\eta(t)$ para el NASDAQ:AAPL con sólo 8 puntos de datos, aunque es extremadamente primitivo, pone de manifiesto la forma y tendencia futura de la equidad en el barrio de AGOSTO.19.2016. $$\eta(\tau) = \sin \left( 0.04545\tau \right) \times e^{1.22\sin \tau + \cos \tau} - 0.00840 \times \sin ({\tau}) \times \mathscr{e} ^{-\tau \sin(\tau)}$$ He utilizado $\tau$ por tiempo variable para la claridad visual en la ecuación.

A continuación se desplaza la variación de este como $\eta(\tau-0.77)$ shifted-variation as $\eta(\tau-0.77)$ y aquí está el resultado final(aunque es muy crudo, debido a la falta de HP de la Informática, por lo que el pin-señala el momento exacto no es muy fiable. the red line indicates the most probable behavior in the neighborhood of AUG.19.2016, note that the shareholders' quantifiable input has been excluded.

PASO II: Ahora, a partir de aquí, podría seguir y seguir la mencionada norma de procedimiento, con la escritura de OpenMP bucles en C++ para llevar a cabo tantas iteraciones como pude, sin llegar a los núcleos de ahorcado, para obtener un bloqueo en la $\mathscr{spread\_t}$. Y una vez, un bloqueo en el predefinidos de comercio de ancho de banda se logra, el comercio automatizado se puede realizar, como por las condiciones deseadas.

Nota 1 La idea de cointegración en pares-el comercio (y en varios otros estocástico binario del sistema de análisis y estimación de los procedimientos) se deriva básicamente del hecho de que, en el largo plazo, los activos, o, en general, la cointegrated par de variables, se suelen estabilizar hacia su equilibrio(o la media de regresión); el llamado "largo plazo de equilibrio"(por favor, tenga en cuenta que esto es sólo una informal analogía). Y ahora, las simulaciones de MonteCarlo, trabajar hacia atrás, es decir, el volumen o el espacio de todos los posibles resultados, y la interpretación de este volumen o el espacio como la probabilidad; a pesar de que el análisis y la costumbre de la pedagogía de Monte Carlo por lo general va a mostrar la equivalencia de Monte Carlo para estimar el valor Esperado de todos los resultados posibles de un determinado bien definida y distinta condición(invocar posteriormente la "ley de los grandes números") y de ahí en adelante el habitual análisis estadístico se hace cargo. Esto explica la dificultad en la búsqueda de simulación de Monte Carlo para los pares de-estrategia de negociación.

No he encontrado ninguna explicación de cómo la simulación de Monte Carlo puede ser utilizado para probar su estrategia de trading.

También, desde la cointegración, se establece una relación lineal entre dos caminos aleatorios y simulaciones de Monte Carlo, en general, no funcionan bien con los sistemas con un modelo lineal. Esta es la razón por la que he introducido un transcedental la no-linealidad en mi enfoque. Sin embargo, ha habido algunos avances, por favor consulte este enlace. Ahora, para responder a su primera pregunta, en teoría es posible modelo de un activo en forma aislada (sin cointegración y el regresivo características, dinámicas o de otra manera, y varios otros de la variable dependiente herramientas estadísticas, usando sólo el tiempo-propiedades de la serie inteligentemente), pero esto no genera resultados realistas. Yo había usado, Compuesto NASDAQ y el NASDAQ:AAPL en el primer ejemplo. Y para responder a la segunda pregunta, en mi opinión, se trata más bien de una elección entre la preservación de linealidad establecidos por pruebas de cointegración y realistas de los resultados en la estimación de los precios futuros. Me decidí por la segunda, como es evidente en mi enfoque. Por favor, tenga en cuenta que no he visto ninguna de simulaciones de Monte Carlo para un lineal sistema binario, como de todavía. Y yo podría ser muy bien el mal.

Nota 2 Para paramétrico forma de relación, que es lineal, y sus constantes de proporcionalidad, cuya determinación es un tema clave en todos los tipos de simulación, cuando se ven obligados a una simulación de MonteCarlo, se requiere de al menos la relación con el ser dependiente no trivialmente sobre la no-estocásticos términos y funciones, para que los límites de las rutas de las simulaciones para este tipo de procedimiento y los rendimientos innecesario de memoria y tiempo de complejidades. Cualquier intento de forzar genuino MonteCarlo erradica la linealidad de la base de la relación. Los diferentes métodos presentados para simular Cointegrated Sistemas parecen estar bien, y puede ser programado, en su forma original, sin invocar el método MonteCarlo para obtener los resultados deseados.

0voto

Van Gale Puntos 170

Creo que se puede confundir con el de Monte Carlo y modelos de serie de tiempo que usted está usando. Como usted dijo que algunos trabajos muestran de nuevo la prueba de par de la estrategia de negociación, en la práctica lo hará. Después de la colocación de la propagación de la serie en el conjunto de datos de muestra (de la causa de co-integración de prueba válido también), optimizar parámetros, como el comercio de umbral y el stop-loss, a continuación, poner esta estrategia en conjunto de datos de muestra para realizar las pruebas. Si se realiza una buena y estable, a continuación, es ACEPTAR estrategia listo para usar.

Para el Monte Carlo parte, es difícil decir cómo se puede utilizar directamente. En general, el ajuste de los dos de la serie Xs & Ys(depende del proceso que se utiliza, por lo general las poblaciones uso lognormal proceso, a continuación, ejecute de Monte Carlo para producir una especie de "fuera de muestra" de datos, a continuación, ajuste la propagación de la serie en la simulación de la serie, después de que haga su mejor esfuerzo para encontrar parámetros(demasiado) que hace que una estrategia (generalmente de encontrar buenos parámetros en torno a la simulación de medios y control de pérdidas cuando los extremos de suceder).

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