Verificando un sistema Automatico

El espacio de los traders quant: sistemas de trading, gestión monetaria, automatización de sistemas.
Responder
Avatar de Usuario
Man Apart
Mensajes: 1284
Registrado: 11 Ene 2009 12:31
Ubicación: mi ordenador

Verificando un sistema Automatico

Mensaje por Man Apart »

Tengo muchas dudas al respecto, por tanto mi intención no es aclarar las que tenga alguien , puede que incluso le surjan nuevas. Tan solo es una reflexión sobre el ciclo de creación del sistema y puesta en marcha.
He de decir que soy absolutamente autodidacta, no se si esto es o no una constante en el trading, pero me reconozco a mi mismo unas lagunas conceptuales inmensas. Esto lo aclaro porque hay personas aquí con los huevos pelaos de estar en el mercado año tras año y que ya están de vuelta de casi todo, asi que "un poquito de comprensión y otro poquito de porfavor".

Creo que el proceso natural de creacion de un sistema es:
1) Observacion del Mercado
2) Descubrimiento de patrones o reglas que sigue el mercado de forma repetitiva
3) Sistematización o mecanización de lo descubierto anteriormente
4) Verificación , "chequeo" o "testeo" con un juego suficiente de datos.

Lo siguiente sería ponerlo a rodar, pero eso es otro capitulo.

Respecto al punto 4) ¿ que podemos validar con seguridad?
a) Que no hay errores de concepto
b) Que no hemos cometido errores de programación

¿que mas cosas ?. Pues yo creo que ninguna. Si yo observo en el DVD de una pelicula de misterio o terror, que cada vez que suena una musica tensa no pasa nada y que a continuación cuando todo el mundo se tranquiliza es cuando pasa. Pues esto es un patron y por mas que le de al DVD palante o patras , lo unico que conseguiré será refinar el patron , que nunca me garantizara que en el proximo DVD de misterio o terror suceda lo mismo.

A mas, a mas. Supongamos que estudio una ruleta , como hacían los Pelayo. Detectamos que una zona de la ruleta tiene mas probabilidades de salir . En esta zona hay cinco numeros 3 rojos y dos negros, con otras caracteristicas par/impar , etc. etc. que no vienen al caso.

Asi que diseño un sistema de apuestas al rededor de esos numeros, incluso con cobertura de apuesta al rojo/negro (esto es un guiño a Spirit).

Y ahora que ? Valido el sistema con los mismos datos que me permitieron obtener el patron y detecto algunos problemas que corrijo y ¡BINGO !. Tengo un sistema ganador. Parece logico no?, puesto que no hace mas que corroborar que lo que habia observado estaba ahí, incluso fuerzo la maquina para que los parámetros sean hasta antinaturales (quiero decir muy alejados de la observación que me llevo a crear el sistema)

Ahora bien ¿quien me dice que el Casino no esta haciendo lo mismo ? ¿porque no va a tener a un montón de gente validando estadísticas ? ¿cuanto tiempo tardará en corregir el error ?.
Desde el Origen de la vida han ido evolucionando depredador y presa adaptándose el uno el otro y como decian en Rounders (version adaptada) si en media hora no localizas a la presa , ¡La presa eres tu !

Respecto al juego de datos, surgen las siguientes dudas sobre el periodo muestral:
Debe ser lo mas amplio posible?
Debe ser de zonas muy similares al periodo actual (tendencial, lateral, suelos, techos,etc.) ??
Debe ser de corto plazo y cercano. ??
Debe ser ponderado; es decir unos datos con mas peso que otros. ??



Por ultimo. ¿A que pruebas exogenas debo someter el sistema para tenerlo mas claro ? ¿A otros mercados ? y si los resultados son peores que hago ¿lo optimizo contra ese otro mercado ?
¿que estaria haciendo con esto ? Adaptar el sistema o intentar adaptar al mercado ?

Conclusion. La certidumbre no existe, ni falta que hace. Por mas pruebas que hagas siempre diras ¡ Tendría que haber probado esto antes, si que era lógico! ¡ Como no se me habría ocurrido !?
Reflexión final. El día que pones un sistema en real ¿has finalizado el proceso ? ¿o justamente es cuando empieza? Yo creo que lo segundo, cada día te debes plantear si has maximizado los beneficios o no y porqué y exactamente para las perdidas. Y en eso estoy

Como siempre agradeceré vuestros comentarios y aportaciones
Do not believe the naysayers who say it cannot be done
It can be done !
Avatar de Usuario
cls
Mensajes: 1336
Registrado: 24 May 2007 18:46
Contactar:

Mensaje por cls »

Si tu sistema es intradiario la manera más fiable que conozco (no creo que haya otra mejor) es grabar la sesión en el ninja y luego reproducirla con el sistema cargado. El resultado será lo que realmente hubiera pasado de tener el sistema funcionando.
El inconveniente es que requiere disponder de muchas sesiones grabadas.

También apreciarás mejor los errores del sistema, si los hubiere. Tanto de código como funcionales.

S2
Avatar de Usuario
Amdow
Mensajes: 620
Registrado: 08 Ene 2007 14:44
Ubicación: Barcelona

Mensaje por Amdow »

Despues de haber hecho todas las verificaciones y optimizaciones correspondientes y decidio que tenemos un sistema que puede funcionar en el futuro si sucede algo parecido al pasado entonces es cuando debemos lanzar el sistema al mercado en tiempo real.

Siempre hay que esperar el suceso improbable y de hecho suele suceder tande o temprano, entonces es también cuando hay que decidir si este hecho anula el sistema o se añade a la optimización.

Una vez que está en el mercado la pregunta que yo creo interesante sería ¿Hasta donde damos el límite al sistema en caso que empieze a tener pérdidas?

Porque cuando se pone un sistema en real es cuando empieza la etapa más importante para darle validez.
Avatar de Usuario
Man Apart
Mensajes: 1284
Registrado: 11 Ene 2009 12:31
Ubicación: mi ordenador

Mensaje por Man Apart »

cls escribió:Si tu sistema es intradiario la manera más fiable que conozco (no creo que haya otra mejor) es grabar la sesión en el ninja y luego reproducirla con el sistema cargado.
Claro. Pero esto es lo mismo que yo decía en el post, verificar el sistema contra datos pasados. En v.Chart (no conozco otra cosa) no tienes que tener nada grabado para validar el sistema, actua sobre datos cargados que pueden ser :dias, meses o años (no se porque te digo esto, ya que seguro que lo sabes de sobra)
amdow escribió:¿Hasta donde damos el límite al sistema en caso que empieze a tener pérdidas?
Este es el mayor temor, que pasa si empiezas directamente con un DD o muy cercano a la puesta en real del sistema ?. ¿Hasta donde el voto de confianza al sistema ?
Do not believe the naysayers who say it cannot be done
It can be done !
Avatar de Usuario
Merowingio
Mensajes: 679
Registrado: 13 Jun 2006 16:48
Ubicación: Logroño

Mensaje por Merowingio »

Suerte...................

Siempre es importante contar con ella.

Tu distema puede ser bueno pero si al poneerlo en marcha entras directamente al DD la cosa se complica mucho.

Yo he puesto en marcha en REAL mi sistema esta semana y................ ademas que el sistema es bueno ( esto es vital ) he tenido la suerte de pillar una rotura cojonuda lo que me da un margen brutal para que la cosa funcione bien.

Asi que hay que tenerla en cuenta.

Las pruebas del sistema hay que hacerlas en Tiempo real, las simulaciones con historicos siempre van bien pero hayyy el tiempo real.

El paper puede darte la confianza necesaria para cuando pongas en marcha tu sistema.

Por tanto yo te diria que hicieses paper trading con el mercado en movimiento y veras los resultados reales, ademas DE ENTRENAR PARA CUANDO ES NECESARIO
Sol - Soy Andúril, que fue Narsil, la espada de Elendil. Que los esclavos de Mordor huyan de mí - Luna.

Avatar de Usuario
cls
Mensajes: 1336
Registrado: 24 May 2007 18:46
Contactar:

Mensaje por cls »

Man Apart escribió:
cls escribió:Si tu sistema es intradiario la manera más fiable que conozco (no creo que haya otra mejor) es grabar la sesión en el ninja y luego reproducirla con el sistema cargado.
Claro. Pero esto es lo mismo que yo decía en el post, verificar el sistema contra datos pasados. En v.Chart (no conozco otra cosa) no tienes que tener nada grabado para validar el sistema, actua sobre datos cargados que pueden ser :dias, meses o años (no se porque te digo esto, ya que seguro que lo sabes de sobra)
No, no es lo mismo. A no ser que testees contra un histórico de 1-tick.
Si tu sistema tiene operaciones que abren y cierran en la misma vela, te aseguro que no es lo mismo.
Por ejemplo, en un backtesting de 15min el programa no se para a ver en qué orden ocurrieron los ticks, sólo te mira el ohlc. No sabe si ocurrió antes el High o el Low. Y dependiendo del sistema, esto puede ser de una importancia capital.

Ejemplo:
tu sistema te da entrada larga a mercado. La vela en la que entras va a tener el siguiente perfil OHLC = 110 - 130 - 100 - 120.
Tu takeprofit es de 20pips y tu stop-loss de 10pips.
Entras en 110. El high está en 130 ... el backtesting te da la entrada ganadora.

... pero y si ocurrió antes el Low de 100 ???
Entonces la entrada habría sido perdedora.

La única manera de estar seguro al 99% del comportamiento de un sistema es reproducirlo en sesiones grabadas. E imprescindible si abre y cierra en la misma barra (y mucho más importante cuanto mayor sea el time-frame).

Por ejemplo, un backtesting sobre barras diarias con operaciones que abren y cierran en la misma barra ... no sirve para nada.
Luego resulta que los sistemas (algunos) no funcionan en real como en backtesting. Normal.

S2
Avatar de Usuario
Man Apart
Mensajes: 1284
Registrado: 11 Ene 2009 12:31
Ubicación: mi ordenador

Mensaje por Man Apart »

Merowingio escribió:Suerte...................

Siempre es importante contar con ella.
Creo que fue Ford (el de los coches , no el de los quesos ) quien dijo: la suerte suele pasar a muchos centimetros por encima de nuestras cabezas y sin avisar. Pero yo siempre estoy saltando.

:D Estoy de acuerdo contigo , una buena racha te da seguridad.
Respecto al paper tengo al sistema compitiendo con su creador desde hace un mes y siempre me gana. El sistema no tiene miedo y yo si: esa es la principal diferencia

CLS. No lo había visto de esa forma , ni siquiera se me había ocurrido pensarlo. Pero llevas razón, claro.
Do not believe the naysayers who say it cannot be done
It can be done !
Si te ha gustado este hilo del Foro, ¡compártelo en redes!


Responder

Volver a “Sistemas de Trading”