Oscar Cagigas
Gestión del capital, ondas de Elliott y sistemas de trading

Pruebas para confirmar la validez de los sistemas de trading

17
Publicado por Oscar Cagigas el 25 de junio de 2012

Con los ratios anteriores podemos evaluar la bondad de un sistema de trading. Lo siguiente es lo que yo considero que son las características de un sistema que merece la pena ser operado con dinero real:

  • Tiene menos de 4 o 5 parámetros (es sencillo)
  • Está evaluado en suficientes datos. Al menos 2 años si es intradiario y al menos 10 años si es diario. Como mínimo buscaremos unas 200 operaciones.
  • Genera ganancias año tras año, aunque sean limitadas o Es robusto; variando ligeramente sus parámetros sus resultados varían ligeramente; es decir, no está construido sobre un pico de ganancia.
  • Funciona en la mayoría de instrumentos con características similares (otra forma de robustez).
  • Ratio de Sharpe >= 1 (menor no implica que sea un mal sistema sino que habrá que seguir investigando)
  • Recovery Factor >= 6
  • MSD < 30%
  • Profit Factor >= 2

En cuanto al porcentaje de aciertos y payoff ratio es una cuestión de preferencias, siempre y cuando entre los dos se consiga una combinación que genere resultados positivos. Más adelante veremos la expectativa y cómo combinar adecuadamente estos datos.

A la hora de diseñar un sistema no es necesario conseguir una rentabilidad anual demasiado elevada sino que se mantenga en el tiempo. Suponga que su sistema genera una rentabilidad del 25% anual. Si consigue mantenerlo así solamente 3 años duplicará su capital, y si opera durante 21 años un sistema así, partiendo de 10.000 euros, al final conseguirá 1 millón de euros. No busque un sistema que le genere un 500% el año próximo, busque uno estable y sencillo, que pueda funcionar en varios mercados diferentes porque si es así probablemente siga funcionando dentro de unos años.

Ahora supongamos que ya tenemos el sistema diseñado. La pregunta es obvia:
 
¿Funciona este sistema? ¿Dará ganancias en mercado real?
 
Cuando se trata de confirmar que un sistema funciona hay que ser muy cuidadosos para no incurrir en muchos de los errores típicos como “si el backtest es positivo entonces el sistema funciona”. Como hemos visto ya en el apartado “Requisitos de los sistemas” se trata de asumir que nuestro sistema no es rentable (su ganancia media es cero) y que las pruebas confirmen estadísticamente que estamos en un error.
 

Robustez

Antes de explicar el método científico conviene hablar de la robustez de un sistema. Vamos a definir la robustez como la capacidad de un sistema para funcionar en otros mercados diferentes del que fue diseñado. Cuantos más mercados terminen en ganancias en nuestro sistema, más robusto será éste. En Kaufman “New trading systems and methods” el autor utiliza esta definición de robustez y explica que si un sistema diseñado para el SP500 da pérdidas en el Nasdaq entonces es que no es robusto y por tanto no es fiable. Puede estar sobreoptimizado y adaptado a los datos históricos y por tanto no tendrá poder predictivo. Un buen sistema debe ser robusto y funcionar en mercados equivalentes. Así, un sistema para Forex (divisas) no tiene porqué funcionar bien con acciones o con índices. Pero un buen sistema aplicado sobre 20 materias primas debería dar ganancias en el mayor número posible de ellas, ya que son instrumentos equivalentes. Si genera beneficios en 17 tendría entonces una robustez del 17/20=85%. Los sistemas clásicos y los mejores sistemas suelen tener una robustez entre el 70 y el 100%. En el siguiente documento se explican las pruebas de robustez que se hicieron para diseñar un sistema sobre materias primas: El sistema XINV para materias primas

El hecho de que un sistema funcione en varios mercados nos ayuda adicionalmente a evitar el error de extraer demasiadas conclusiones de una muestra muy pequeña de datos por probar un sistema solamente en un mercado. Incluso si podemos probar estadísticamente que un sistema es fiable, si no es robusto no lo querremos operar porque podríamos estar ante una sobreoptimización o ante un error de diseño.

Una vez vista la importancia de tener sistemas robustos vamos a ver qué se necesita para que un sistema sea estadísticamente fiable.
 

La prueba estadística de un sistema

Como se ha explicado ya, todo consiste en ser capaces de poder demostrar al menos al 95% de confianza que no es cierto que nuestro sistema tenga una ganancia promedio de cero euros.

Para comparar la media de nuestro sistema con cero utilizamos el estadístico t de student, que se aplica cuando la población estudiada sigue una distribución normal pero el tamaño de la muestra es pequeño. Esta es la misma prueba que utilizan los laboratorios farmacéuticos para comprobar la efectividad de un medicamento de forma científica.

Desde un punto de vista práctico no hace falta saber toda la teoría detrás de la prueba de student. Todo se reduce a calcular el estadístico t que arroja la ganancia de nuestro sistema y si es mayor que un valor de referencia entonces nuestro sistema será fiable estadísticamente.

El estadístico t se calcula a partir de la media y desviación de las ganancias individuales. Conviene dividir entre el riesgo de cada operación individual para que el resultado sea independiente del tamaño de la posición. Así, si tenemos las siguientes operaciones.

ganancias individuales

Dividimos cada una entre el riesgo que se asumió al abrirla y el resultado será una hilera de ganancias y pérdidas ecualizadas en términos de riesgo. Así en este caso tendríamos.

ganancia riesgo

 

A la columna Ganancia/Riesgo es a la que aplicamos el cálculo de la media y la desviación estándar:
formula ganancia riesgo
 

Aquí la ganancia media es de 0.88R (R significa múltiplos del riesgo) y la desviación es de 2.945R. El cociente entre estos dos valores será muy importante ya que nos dirá lo que gana un sistema con respecto al riesgo de operarlo. Este cociente forma parte del estadístico t, de forma que el estadístico t se define así:

t = (Media/Desv)*raíz(Num operaciones)

en este caso sería: 0.88/2.945*raíz(5)=0.668

gan/riesgo

 

Este valor, t=0.668 debe compararse con una tabla de valores significativos de t al grado de confianza que queramos confirmar (normalmente el 95%). Si buscamos el valor de t para 5 datos y 95% de confianza encontramos t=2.015. Por consiguiente este sistema no sería estadísticamente fiable al 95% de confianza. Su estadístico t es menor que el t(5,95%).

En esta prueba con solo 5 operaciones es bastante lógico haber encontrado que el sistema no es diferente de cero o que no es rentable, o mejor dicho, que no podemos negar que su ganancia media sea nula. En general se pide que cualquier muestra de datos contenga al menos 30. Esto es debido a que el error de muestreo es proporcional a 1/raíz(N), siendo N el número de operaciones, y por eso a partir de 30 este error empieza a ser aceptable (con 30 es del 18%). Por otra parte, cuando estimamos la desviación de la población a partir de la desviación de la muestra tenemos un error que es raíz(N/(N-1)) y que es más pequeño cuantas más muestras tengamos.

El estadístico t de referencia (el de las tablas) es mayor cuantas menos muestras tengamos. Podemos decir que para pocas operaciones “el listón está muy alto” y por eso en este caso tenemos un valor de 2.015 para 5 operaciones y 95% de confianza.
 
Si en el ejemplo anterior convertimos en ganancias de 1000 euros las dos últimas operaciones, que eran pérdidas, entonces el resultado sería:
 
resultado ganancia riesgo
 
Éste sí que sería un sistema estadísticamente fiable ya que: t(sistema) > t(5,95%)
distribucion t de student
 
Figura 2. Tabla de la distribución t de student. Se resalta el estadístico t para 95% de confianza y 5 operaciones o grados de libertad.
 
Aquí podríamos incluir una tabla con el estadístico t. Pero no hace falta ya que siempre vamos a procurar tener al menos 100 operaciones antes de sacar conclusiones sobre un sistema, y en ese caso, con mínimo de 100 operaciones y 95% de confianza el estadístico t de referencia es:
 
t(más de 100 operaciones, 95%) = 1.7
 
Así que si nuestro sistema arroja un t mayor de 1.7 entonces tendremos un sistema estadísticamente fiable al 95% de confianza. Así de sencillo.
 

Afortunadamente hay paquetes de software que lo calculan todo automáticamente y nos dicen si se superan los test estadísticos. Uno de ellos es MSA o Market System Analyser, que es un software muy bueno para evaluar sistemas. Más adelante veremos todo esto sobre un sistema real.

¿Un sistema o un conjunto de sistemas?

Una vez se ha diseñado un sistema de trading rentable se tienen las bases para una operativa regular que genere beneficios. Sin embargo no es tan sencillo ya que todos los sistemas pasan por periodos de drawdown que en algunos casos pueden durar incluso años. Diversificar por mercados no es la solución ya que el mismo sistema dará las señales de forma simultánea en los instrumentos a operar, con lo cual la correlación entre elementos será tan alta que dará lo mismo tener mucho riesgo en una posición que poco en muchas posiciones. El drawdown será el mismo. Para evitar esto lo mejor es combinar sistemas de forma que cuando unos vayan mal otros vayan bien y la curva de capital resultante nos evite pasar mucho tiempo en pérdidas.

Lo bueno de combinar sistemas es que si tienen una lógica diferente (si no fuera el caso no hablaríamos de sistemas diferentes) entonces sus señales de entrada y salida vendrán en momentos diferentes de forma que la ganancia total al final será una suma algebraica de beneficios pero el drawdown no será una suma de drawdowns individuales porque cuando un sistema puede estar en drawdown el otro puede estar en ganancias, produciendo un drawdown conjunto pequeño o nulo. Se entiende mejor si imaginamos dos curvas de capital diferentes y las sumamos. La ganancia total al final de la curva será la suma, pero por el camino ambas curvas se combinan y normalmente generan menos drawdown que de forma individual. En el peor de los casos los drawdown vendrían a la vez, pero esto es poco frecuente. De forma práctica podemos decir que cuando se combinan sistemas la ganancia es la suma y el drawdown es un valor intermedio entre los sistemas.

Para demostrar todas estas afirmaciones veamos un ejemplo. A continuación tenemos las estadísticas del sistema para el Nasdaq100 que está funcionando en el servicio de recomendaciones onda4.com para dar señales de entrada y salida. Esta simulación se hace en el periodo 2002- 2012 con un futuro grande (100 dólares por punto). Las estadísticas de estos 10 años son:

drawdown nasdaq

Figura 3. Drawdown individual del sistema sobre el Nasdaq100.

El mayor valor ocurre al final del periodo de simulación y es de un 37%.

Como vemos tras 17 operaciones la ganancia es de 38.000 dólares con un drawdown del 37%, que empieza a ser excesivo. Como vimos en el apartado anterior se busca que el drawdown no supere el 30%.
 

Este sistema opera solo en el lado largo, aprovechando el sesgo alcista del mercado a largo plazo. Vamos a ver qué pasaría si lo combinamos con el sistema del DAX, un sistema que opera tanto el lado largo como el lado corto del mercado.

A continuación se muestra una tabla con las estadísticas del sistema sobre el DAX en el periodo 2002-2012 operando un futuro (25 euros
por punto). El resultado es:
 
DAX
Este sistema tiene una ganancia mucho mayor, de 127.000 euros y con un drawdown bastante menor, de solo el 17%. Tal y como hemos explicado antes podemos esperar que al juntar los dos sistemas en uno solo tener una ganancia que sea la suma y un drawdown intermedio, entre el 37% del Nasdaq y el 17% del DAX. Debajo mostramos la curva de drawdown del DAX y vemos que a pesar de nuestros intentos de hacer sistemas diferentes el drawdown aparece también en el 2009 y a finales de 2011, que es cuando en ambos sistemas es mayor.
 
drawdown
Figura 4. Drawdown individual del sistema sobre el DAX. El mayor valor es del 17%.
 

Combinando sistemas

Pues bien, ha llegado el momento de combinar los dos sistemas en uno solo. Esto se puede hacer fácilmente en Amibroker con un poco de código. Este software es extremadamente potente y nos permitirá hacer todo tipo de pruebas que se nos ocurran.

Las estadísticas del sistema conjunto (Nasdaq100+DAX) en el periodo 2002-2012 y operando cada uno con su multiplicador son:(NOTA: Por simplicidad estamos obviando el hecho de que el Nasdaq se opera en dólares y el DAX en euros)
 
nasdaq100+DAX
 

Como vemos la ganancia es la suma algebraica de las ganancias individuales de los dos sistemas. Y el drawdown es un valor intermedio. Mejor que el del Nasdaq solo y peor que el del DAX solo. Es un 28% que entra dentro de lo aceptable. Es decir, al combinar los dos sistemas ahora tenemos un sistema que gana lo mismo que los dos juntos pero con un drawdown intermedio. ¡Es una combinación beneficiosa!

drawdown combinado

Figura 5. Conjunto de los sistemas sobre el Nasdaq100 y el DAX. Su valor es intermedio entre los dos valores que lo componen.
 

Fíjese que el resto de métricas también toma un valor intermedio, como sería el caso del Recovery Factor, Profit Factor, y por supuesto el porcentaje de aciertos, que al combinarse nos da un valor medio del 40%, siendo el del Nasdaq del 50 y el del DAX del 37%.

Algo muy interesante es lo que sucede con el ratio K. El ratio nos dice lo buena que es la curva de capital. Lo suave que es. Se calcula dividiendo la pendiente de subida de la curva entre su desviación estadística. Es un ratio aceptado en la industria del trading como buen indicador de la “operabilidad” de un sistema.

Pues bien, el sistema combinado tiene un ratio K de 0.06 que es mayor que cualquiera de los ratios K de los sistemas individuales.
 
¿Qué quiere decir esto?
 
Que el sistema conjunto tiene una curva de capital mejor que los sistemas individuales. Tiene una curva mejor que el mejor de los sistemas, que es el sistema del DAX, que gana más y con menos drawdown.
 
En conclusión, vemos que interesa combinar sistemas. Esta afirmación es tan categórica que hasta se pueden encontrar ejemplos en los que al añadir un sistema perdedor a una cartera de sistemas la ganancia total y el drawdown total mejoran. Este sistema perdedor solo tiene que operar “ayudando” a los otros sistemas en los periodos en los que vayan peor.
 
curva capital sistema combinado
 
Figura 6. Curva de capital combinada de los sistemas para el Nasdaq100 y DAX.
Etiquetas: Trading · Sistema de Trading



Añadir comentario
17
Comentarios
1 Atione
26 de junio de 2012 (16:05)

Hola,
En la primera tabla pones una ganancia de -800 con un riesgo de 500. ¿Como puede ser la ganancia negativa (o perdida) más grande que el riesgo?
Saludos

Me gusta
2 Oscar Cagigas
Oscar Cagigas  en respuesta a  Atione
26 de junio de 2012 (16:13)

El riesgo normalmente se considera como la distancia al stop. Pero si no hay stop definido entonces el riesgo puede ser un múltiplo del rango de variación diario (ATR). Tanto en el primer caso como en el segundo un valor o índice puede abrir con hueco y producir una pérdida mayor que el riesgo asumido inicialmente.

Imagínate un sistema de cruce de medias. Si queremos operarlo en real le pondríamos un stop a 3 ATRs si queremos limitar el riesgo ya que en teoría solo se vendería con el cruce bajista, lo cual puede producir una pérdida "sin control". Si el valor se pone muy volátil (ATR dinámico) o abre con hueco la pérdida puede ser mayor de lo planificado.

Esto también incluiría los casos en que la horquilla (spread) se abre mucho o no hay contrapartida. En realidad una pérdida mayor de lo arriesgado es un buen ejemplo de trading real. Saludos,

Me gusta
3 aa123
28 de junio de 2012 (14:30)

Hola Oscar, de los criterios que comentas para ver si un sistema es válido me parece que el más restrictivo, con diferencia, es el del Profit Factor >= 2
Mis sistemas pasan el resto de criterios pero se quedan lejos del PF>2 en series históricas multianuales. En realidad, me parece un ratio inalcanzable en series largas.

En cambio, un Drawdown de 20-30% me parece personalmente inaceptable. Busco Drawdowns bastante menores porque rangos de 20-30% suele ser indicativo de:
1. El sistema no se comporta bien en determinadas circunstancias de mercado (alcista, bajista, etc) ó
2. Es un sistema que produce muchas operaciones pequeñas de perdidas que compensa con una operacion grande de ganacias (no me gusta nada ese tipo de sistema)

Me gusta
4 Oscar Cagigas
Oscar Cagigas  en respuesta a  aa123
28 de junio de 2012 (23:45)

Sí, es difícil mantener con muchas operaciones un PF >= 2. Si tenemos 1000 operaciones y un PF=1.8 yo diría que es un buen sistema. Bueno, son indicaciones generales ya que el tipo de sistema determina si alguno de esos ratios es demasiado restrictivo. El Recovery Factor va creciendo con el número de operaciones así que también dependerá del histórico.

Un 30% de drawdown puede o no ser aceptable y por supuesto que si se puede conseguir menor entonces mucho mejor, pero si se siguen tendencias (como en tu punto número 2) entonces inevitablemente va a aparecer un DD de ese calibre ya que los sistemas tendenciales suelen tener más o menos el mismo drawdown al final del año que rentabilidad (esto lo explica Curtis Faith en "Way of the Turtle"). Un 30% de rentabilidad con un 30% de drawdown suele ser bastante común. Saludos,

Me gusta
5 Psique
29 de julio de 2012 (18:30)

Hola Oscar,

Es la primera vez que te leo y la verdad es que enhorabuena por la calidad del contenido. Tengo un par de dudas que me gustaria comentarte, utilizo el MSA y me gustaria saber como haces para que este calcule la ganancia promedio y la desviacion en multiplos de R.(estoy letendo el libro de Van Tharp y me parece muy interesante lo de los multiplos de R). Supongo que no es posible meter en el MSA en ve de los P/L los resultados en multiplos de R para que te saque las estadisticas de esta manera no?

Cuando haces la prueba estadistica, ¿de donde sacas el numero de grados de libertad y el de reglas o restricciones del sistema? ¿Lo calcula automaticamente el MSA?

Saludos

Me gusta
6 Oscar Cagigas
Oscar Cagigas  en respuesta a  Psique
30 de julio de 2012 (17:44)

MSA da los datos de media y desviación en multiplos de R. Solo hay que cargar un fichero de datos que tenga el riesgo (columna risk) y lo muestra en el resultado de la simulación. No hay que hacer nada aparte.

EL número de grados de libertad es el número de operaciones. El número de reglas del sistema es el número de parámetros que puedes cambiar en tu sistema. Esto último hay que indicarlo en el SETUP del sistema. Saludos,

Me gusta
7 Psique
Psique  en respuesta a  Oscar Cagigas
03 de agosto de 2012 (12:54)

Hola Oscar, ya me queda claro.

Viendo el ejemplo del sistema de Gustafson, supongo que querias decir que el numero de grados de libertad es el numero de operaciones menos el numero de parametros del sistema, es asi no?

A ver si no me lio y consigo explicarme para que quede claro...Imagina que tenemos un sistema con 100 operaciones, en el MSA tenemos la opcion de saber la probabilidad de si nuestra equity sera x% mayor o x% menor a un numero x de operaciones. ( "Probability that account equity will be 50% lower after 100 trades). Pues bien, siempre he oido que la finalidad de la gestion monetaria es alcanzar tus objetivos. Entonces podemos hacer por ejemplo 1000 simulaciones de 100 trades cada una de ellas en incrementos de 0,2% de nuestro capital hasta por ejemplo 30% de nuestro capital y saber asi que probabilidad tenemos de llegar a nuestro objetivo arriesgando un % de nuestro dinero y ver si estariamos dispuestos a soportar el Drawdown correspondiente. (si hay alguna cosa en la que no estes de acuerdo hazmelo saber por favor)

Mi pregunta es si hay alguna manera de saber la media y la mediana con el MSA de las simulaciones. Me explico, si ponemos en el MSA 1000 simulaciones para saber la probabilidad de tener un riesgo de ruina del 20% y un 50% de objetivo despues de 100 operaciones cada simulacion parara al llegar al objetivo o al riesgo de ruina.
Cuando llevemos las 1000 simulaciones ¿se pueden obtener con el MSA la mediana y la media de estas 1000 simulaciones? Si no se puede, conoces algun software que lo pueda sacar.

Espero no haberme explicado muy mal...

Gracias

Saludos

Me gusta
8 Oscar Cagigas
Oscar Cagigas  en respuesta a  Psique
03 de agosto de 2012 (17:23)

Sí, exacto, el número de operaciones menos los parámetros del sistema son los grados de libertad.

En lo de la probabilidad yo lo entiendo así: para saber la probabilidad de que después de 100 operaciones el capital sea mayor (o menor) de un determinado valor ya se están calculando internamente 1000 curvas de capital (lo defines en los parámetros de Montecarlo). No hay que hacerlo dos veces. Me explico: la probabilidad de ganar o perder un 50% (o el número que quieras) es lo que calcula MSA, y el programa lo calcula internamente con 1000 simulaciones (en realidad son 500 por defecto pero se puede cambiar).

Pero no nos da medias ni medianas. Solo hace la cuenta de cuántas curvas se han ido al nivel definido (p.e. 1.50 y 0.80 como sugieres) y al dividirlo entre el total nos saca la probabilidad que queremos saber. No conozco ningún programa que haga los cálculos que hace Tharp en su libro y que tú sugieres (saber en promedio cuántas curvas se han ido a un determinado nivel por cada incremento de riesgo porcentual). Incluso pensé en hacer un simulador parecido al del libro, pero no tengo tiempo para programarlo. Saludos,

Me gusta
9 Psique
Psique  en respuesta a  Oscar Cagigas
20 de agosto de 2012 (18:22)

Hola Oscar,

Volviendo a lo de los grados de libertad, he leido que algunos autores como Keith Fitschen consideran necesarias, al menos, 1.000 operaciones.En el libro que me estoy leyendo ahora de Robert Pardo “Design, Testing, and Optimization of Trading Systems” nos da la siguiente formula para calcular los grados de libertad minimos: (page 55, 56)

Minimum df= 10*(Rules + Conditions)

Aqui por rules entiendo las reglas del sistema(por ejemplo si la media movil cruza al alza un canal de maximos,ets) pero por conditions no sabria a que se refiere. ¿Te has leido el libro? ¿Sabes a que se refiere con las conditions?

Gracias

Saludos

Me gusta
10 Vibarco
Vibarco  en respuesta a  Oscar Cagigas
23 de agosto de 2012 (22:40)

Hola Oscar,

MSA parece que utiliza permutaciones sin repeticion, ¿verdad?, por eso por mucho que aletoricemos las operaciones de un sistema en MSA siempre terminaremos con la misma ganancia al final de la curva. A lo mejor me equivoco, pero MSA solo nos sirve para estimar el Drawdown en las simulacion montecarlo (siempre y cuando que simulemos el sistema sin aplicar ningun algoritmo de MM). No se si conoces algun otro software con el que realizar esta simulacion pero con permutaciones con repeticion, asi, ademas de obtener el MDD tambien podemos obtener los rangos de retorno entre los que se va a mover. ¿Que opinas sobre la simulacion montecarlo con repeticion y sin repeticion? ¿cual consideras mas precisa?

Un saludo.

Me gusta
11 Oscar Cagigas
Oscar Cagigas  en respuesta a  Vibarco
24 de agosto de 2012 (17:22)

Hola Vibarco,

MSA hace un análisis de Montecarlo sin reemplazo, que es la forma correcta de hacerlo. Que yo sepa el análisis de Montecarlo con reemplazo no tiene sentido porque siempre hay que asociar cada regla (entrada, salida) con la ganancia o pérdida y aleatorizarlo. Si repetimos (o reemplazamos valores que ya hemos usado) entonces el resultado dependerá únicamente de cuáles son las operaciones que repetimos; es decir, no será 100% aleatorio. En el libro Aronson puedes ver que hay dos pruebas para extraer conclusiones estadísticas: Montecarlo sin reemplazo y White Reality Check, que son equivalentes y suelen dar los mismos resultados, siendo la segunda prueba bastante más compleja.

Ambas pruebas se hacen sin reemplazo. Saludos,

Me gusta
12 Vibarco
Vibarco  en respuesta a  Oscar Cagigas
24 de agosto de 2012 (23:48)

Hola Oscar,

muchas gracias, es algo que no terminaba de tener claro, entonces sin repeticion es el metodo correcto a la hora realizar la Simulacion Montecarlo (SM), mi duda viene de utilizar otro software, como Equity Monaco en el que el la ganancia final del sistema si varia, si la forma correcta de realizar la SM es sin repeticion/reemplazo, ¿como se obtienen los rangos al 95% de confianza de la rentabilidad que entrega la serie que estemos analizando?, si cogemos la serie y la introducimos en otro software, por ejemplo Equity Monaco, se obtiene un Net Profit distinto en cada simulacion y asi podemos establecer unos rangos min,max (percentil 5% y percentil 95%, o media +/- 2 desviaciones) entre los que se va a mover la rentabilidad, no se si me estoy explicando bien.

Un saludo.

Me gusta
13 Oscar Cagigas
Oscar Cagigas  en respuesta a  Vibarco
25 de agosto de 2012 (11:47)

Yo no conozco Equity Monaco, pero dependiendo de la forma en la que se implemente Montecarlo la ganancia final puede variar en las curvas. Me explico:

Veamos, hay varias formas de hacer una simulación de Montecarlo. Una de ellas es desordenar las operaciones. Esto lo explico en mi libro EGCA. Si hacemos esto entonces puesto que la suma de ganancias y pérdidas no altera el resultado siempre tendremos el mismo resultado final. Una suma es una suma, no importa el orden de los factores. En este caso todas las curvas deberían terminar con la misma ganancia EXACTA.

Otra forma de hacer Montecarlo es a través del Histograma de tu sistema de trading. Sacas la distribución de ganancias y pérdidas y generas el histograma que representa tu sistema. Ahora coges los rangos y divides entre el número de operaciones para ver la probabilidad con la que se tiene que repetir cada ganancia o pérdida. Todo esto lo explico también en www.onda4.com/files/casandra.pdf Ahora acumulas las probabilidades y ya tienes que cualquier número entre cero y uno nos dice con qué probabilidad vas a tener la ganancia de tu sistema. Muy bien, ahora generas números aleatorios y cada número saca una ganancia o pérdida, los vas sumando y vas teniendo una curva de capital. Pero ojo, antes tenías valores exactos (p.e. una ganancia de 2.35 veces el riesgo) y ahora tienes todo en rangos (eso sería 2R o 2.5R, pero ningún valor intermedio). Eso quiere decir que has "discretizado" los resultados. Antes podía haber cualquier resultado y ahora todo son múltiplos de 0.5, pero si sacas el histograma verás que el histograma ES EL MISMO.

En esta segunda forma de hacer Montecarlo el resultado final no puede ser igual en las curvas porque
1. Ya no son los mismos valores sino una aproximación por rangos.
2. Como trabajamos con números aleatorios pueden salir más ganancias de un rango que las que habíamos previsto, solo porque es aleatorio.
Pero ojo, el histograma es el mismo, o muy parecido. Si has leído mi libro EGCA verás que el histograma de la figura 167 y el de la figura 170 son prácticamente iguales, siendo el primero el original y el segundo el de Montecarlo.

Y que yo sepa también hay otra tercera manera de hacer Montecarlo, y es que si el sistema genera muchas operaciones pero tenemos un tope de posiciones simultáneas entonces aleatorizamos el criterio de selección, de forma que si p.e. en un momento hay 10 posiciones que se pueden abrir pero solo operamos un máximo de 4 simultáneas entonces en cada pasada de Montecarlo escogemos 4 posiciones diferentes.

Te he explicado 3 formas de hacer Montecarlo. En la primera el capital final no varía en las curvas. Pero evidentemente en las otras dos sí.

Y evidentemente si haces Montecarlo pero con un número variable de futuros (por utilizar una estrategia de Riesgo Fijo) entonces el capital final variará en todos los casos porque incluso si desordenamos las operaciones cuando haya muchas pérdidas seguidas tendremos menos dinero y compraremos menos futuros para la siguiente operación así que el capital final dependerá de la acumulación de ganancias y pérdidas.

Como ves que la ganancia cambie al final de cada curva de capital no depende de reemplazo/no-reemplazo sino de la forma en que se implementa Montecarlo. Cualquiera de estas formas es correcta, con sus particularidades, pero todas SIN REEMPLAZO.

Saludos,

Me gusta (1)
14 Vibarco
Vibarco  en respuesta a  Oscar Cagigas
25 de agosto de 2012 (14:54)

Muchas gracias Oscar,

por la explicacion y sobre todo por la extension, voy a trabajarla a ver si consigo implementarla con Excel. Lo que esta clarisimo es que da igual el metodo que utilicemos para realizar una Simulacion Montecarlo a nuestra serie, la forma correcta de realizarlo es permutar sin reemplazo/repeticion de operaciones.

Un saludo.

Me gusta
15 Vibarco
28 de noviembre de 2014 (10:47)

Hola Oscar,

repasando este articulo antiguo... ¿es posible que el calculo que realizas el valor de t de referencia este incorrecto?, cuando utilizas la tabla de distribucion t, y quieres calcular el valor de t para grados de libertad al 95% de confianza, estas cogiendo la columna 0,95 y valor 2.015 (que se corresponderia con una confianza del 90%), al ser dos colas, ¿no deberias coger la columna 0,975 y valor 2,571? alpha/2 para una confianza del 95%.

Saludos.

Me gusta
16 Oscar Cagigas
Oscar Cagigas  en respuesta a  Vibarco
28 de noviembre de 2014 (11:03)

Creo que está bien en el artículo. NO podemos coger 2.571 porque el valor que nos sale (2.514) es menor, y se trata de tener un nivel de confianza MÍNIMO. El test de student aquí se hace de una cola porque buscamos que la ganancia media promedio sea mayor que cero, pero no hay tope hacia arriba. En los libros (p.e. de Bandy) los niveles de referencia para un número mayor de 30 operaciones son 1.7 para el 95% de confianza y 2.5 para el 99%. Saludos

Me gusta
17 Vibarco
Vibarco  en respuesta a  Oscar Cagigas
28 de noviembre de 2014 (11:58)

Gracias Oscar,

tienes razón, una cola, por la media por operacion > 0, no se porque tenia en mente el t test para comparacion de muestras, por eso me habia liado con las dos colas, perdona.

Un saludo.

Me gusta



Este sitio web usa cookies propias o de terceros para analizar la navegación del usuario. En caso de seguir navegando se entiende que acepta la política de cookies.
Aceptar