Aspectos a Tener en Cuenta Cuando Diseñas un Sistema

El espacio de los traders quant: sistemas de trading, gestión monetaria, automatización de sistemas.
Avatar de Usuario
X-Trader
Administrador
Mensajes: 12781
Registrado: 06 Sep 2004 10:18
Contactar:

Aspectos a Tener en Cuenta Cuando Diseñas un Sistema

Mensaje por X-Trader »

Recientemente en uno de los grupos de Whatsapp en los que estoy han posteado este listado de aspectos a tener en cuenta cuando estamos diseñando nuestro sistema de trading, lo comparto por aquí, creo que merece la pena echarles un ojo:
  1. El sistema debe obtener resultados positivos en un elevado número de activos
  2. Debe existir poca dispersión de resultados en diferentes regímenes de mercado. Para ello podemos calcular beneficio medio y desviación típica y comparar resultados
  3. La lógica del sistema debe estar programada de tal forma que haga lo que teníamos pensado
  4. No se debe tomar la combinación de parámetros que más gane si no la que se sea más robusta, esto es, que esté rodeada de otras combinaciones que ganen de forma estable.
  5. Hay que optimizar de forma generosa: tamaño del salto grande. El sistema debe ganar dinero con un amplio número de conjuntos de parámetros.
  6. Revisar los datos ya que hay sesiones en las que puede haber cambiado horario y/o liquidez.
  7. Conviene realizar el ajuste de la data hacia atrás ajustando por volumen.
  8. Poner stops al final, no al principio
  9. En nuestra muestra como mínimo debemos tener 200 operaciones.
  10. Con comisiones y slippage, el sistema debe ganar al menos 3 veces el tamaño tick mínimo.
  11. No mezclar filtros correlacionados.
  12. No debe aportar más el filtro que la lógica. Debe tener significación estadística. Deben quedar al menos 30 operaciones tras aplicar el filtro.
  13. Conviene probar la ventaja encontrada en otros time frames
  14. Planificar cuando deja de funcionar el sistema y analizar por qué se rompe definitivamente
¿Qué os parecen las afirmaciones? ¿Objeciones, comentarios?


Saludos,
X-Trader
"Los sistemas de trading pueden funcionar en ciertas condiciones de mercado todo el tiempo, en todas las condiciones de mercado en algún momento del tiempo, pero nunca en todas las condiciones de mercado todo el tiempo."
Avatar de Usuario
agmageton
Mensajes: 3578
Registrado: 30 Ene 2008 11:32

Re: Aspectos a Tener en Cuenta Cuando Diseñas un Sistema

Mensaje por agmageton »

14. Planificar cuando deja de funcionar el sistema . Se rompe definitivamente?
Última edición por agmageton el 14 Nov 2019 12:44, editado 1 vez en total.
La entrada te da la probabilidad y la salida la rentabilidad...
Avatar de Usuario
X-Trader
Administrador
Mensajes: 12781
Registrado: 06 Sep 2004 10:18
Contactar:

Re: Aspectos a Tener en Cuenta Cuando Diseñas un Sistema

Mensaje por X-Trader »

agmageton escribió: 14 Nov 2019 11:44 14. Planificar cuando deja de funcionar el sistema y porque?. Se rompe definitivamente?
Buen aporte Agma!!! Se te echaba de menos por aquí.

Añado el 14 ;), siguiendo tu ejemplo, podemos crear una lista de "mandamientos" que todos más o menos aceptamos a la hora de trabajar con sistemas.

¿Quién más se anima?

Saludos,
X-Trader
"Los sistemas de trading pueden funcionar en ciertas condiciones de mercado todo el tiempo, en todas las condiciones de mercado en algún momento del tiempo, pero nunca en todas las condiciones de mercado todo el tiempo."
Rango Starr
Mensajes: 3842
Registrado: 22 Dic 2014 10:49

Re: Aspectos a Tener en Cuenta Cuando Diseñas un Sistema

Mensaje por Rango Starr »

.
Última edición por Rango Starr el 21 May 2021 09:59, editado 1 vez en total.
un ciclo y otro ciclo, son un biciclo...
si añadimos otro ciclo, entonces tendremos "un triciclo"... famoso trio catalan de humor de los 90....

..y nada mas...
Avatar de Usuario
Foréxitos
Mensajes: 682
Registrado: 12 Mar 2017 19:13

Re: Aspectos a Tener en Cuenta Cuando Diseñas un Sistema

Mensaje por Foréxitos »

Faltó la paciencia y el sentido común. 😎
ImagenImagenImagenImagenImagen

Speculator Man
Mensajes: 460
Registrado: 20 Dic 2016 18:28

Re: Aspectos a Tener en Cuenta Cuando Diseñas un Sistema

Mensaje por Speculator Man »

X-Trader escribió: 14 Nov 2019 09:36 11) No mezclar filtros correlacionados.
Vaya, está si que es buena.
¿ La derivada segunda del precio está correlacionada con el neperiano del incremento del precio ?

Si todos los indicadores son derivados del precio y/o del volumen en realidad solo hay dos variables no correlacionadas, el precio y el volumen. Aunque para colmo la variación del precio también depende del volumen ya que éste es el que crea un mayor o menor desfase entre oferta y demanda.

En mi opinión, con toda la información que hay sobre los activos de la bolsa no tiene mucho sentido utilizar solo un dato, el precio, o dos el precio y el volumen.
La microeconomía es lo que obtienes, la macroeconomía es lo que aguantas.
Avatar de Usuario
Rafa7
Mensajes: 4919
Registrado: 17 Dic 2009 21:36
Contactar:

Re: Aspectos a Tener en Cuenta Cuando Diseñas un Sistema

Mensaje por Rafa7 »

Speculator Man escribió: 14 Nov 2019 18:31
X-Trader escribió: 14 Nov 2019 09:36 11) No mezclar filtros correlacionados.
Vaya, está si que es buena.
¿ La derivada segunda del precio está correlacionada con el neperiano del incremento del precio ?
Hola, Speculator Man.



John Bollinger, el diseñador de las bandas de Bollinguer dijo hay que evitar indicadores que estén coalineados. Por ejemplo, cómo filtro a sus sistemas basados en su banda, aconsejó que es mejor usar el MFI que el RSI porque el MFI está menos coalineado con las bandas que el RSI.

Por cierto, el precio y los osciladores no están siempre correlacionados. Por ejemplo, puede ser que hayan divergencias que nos puedan ayudar a interpretar que está pasando y decidir como operar.

Es mejor usar pocos indicadores técnicos no coalineados que muchos indicadores que miran lo mismo. Por ejemplo combinar esctocástico y RSI no tiene mucho sentido usarlos juntos en la mayoría de los casos.

Aunque la volatilidad es un derivado del precio, su estudio nos aporta una valiosa información complementaria al precio puro.

Etc, etc, ...



Saludos.
¡Jesús es el Rey de Reyes y el Señor de Señores!
https://loquepermanece.blogspot.com
Nightmare
Mensajes: 459
Registrado: 23 May 2018 09:23

Re: Aspectos a Tener en Cuenta Cuando Diseñas un Sistema

Mensaje por Nightmare »

pregunta reiterativa que quedo flotante desde hace muchos posts

Como puedo buscar robustez, si usando los mismos parametros salen muy diferentes resultados en mt4 y mt5.
Aparte en el mismo mt5 con diferentes modelos de datos salen resultados muy diferentes.
Rango Starr
Mensajes: 3842
Registrado: 22 Dic 2014 10:49

Re: Aspectos a Tener en Cuenta Cuando Diseñas un Sistema

Mensaje por Rango Starr »

.
Última edición por Rango Starr el 21 May 2021 09:59, editado 1 vez en total.
un ciclo y otro ciclo, son un biciclo...
si añadimos otro ciclo, entonces tendremos "un triciclo"... famoso trio catalan de humor de los 90....

..y nada mas...
Nightmare
Mensajes: 459
Registrado: 23 May 2018 09:23

Re: Aspectos a Tener en Cuenta Cuando Diseñas un Sistema

Mensaje por Nightmare »

si ambas versiones mt4 y mt5 implementan lo mismo, notaran que decidir sobre:
- que historicos usar (asi es, sale diferente segun sea el proveedor), por ejemplo si optimizo en la nube con mt5, no creo que sea la mejor opcion ya que por defecto serian los datos de metaquotes ya que todas esas computadoras de la nube deben manejar los mismos historicos.
- si aprovechar la rapidez y multiproceso de mt5 o quedarse con la lentitud de mt4 (resulta impractico)
- optimizar con mt5 y luego probar los mismos parametros con mt4 sale diferente, asi que ¿mantengo los parametros, o afino la optimizacion con mt4?
- si uso mt5, que modelo usar

es lo primero que debemos definir, ya que debemos optimizar sobre esa base, si elegimos mal, todo lo demas no servira por mas que parezca robusto.

Para ello debemos decidir:
1) que historicos son los mas fiables (me incline por dukascopy pero quien sabe si es el correcto, use antes los historicos de forextester optimizando solo con m4 al minuto, y me fue realmente estupendo)
2) modelo de optimizacion usar: tick, puntos de control, cierre de vela pero en que temporalidad. Elegi ohlc en un minuto tanto en mt4 como en mt5, ¿que no existe eso en mt4? claro que si se llama "puntos de control" pero que acaso no es el metodo menos fiable? pues a pesar que el mismo mt4 dice eso, imposible que lo sea. Antes usaba minuto a minuto precios de cierre a pesar que mis indicadores eran en m5 y m15, tengo mis razones que para mi son obvias ;)

En resumen sin tener clara las bases no habra edificio.
Hermess
Mensajes: 1532
Registrado: 02 Abr 2015 14:32

Re: Aspectos a Tener en Cuenta Cuando Diseñas un Sistema

Mensaje por Hermess »

holas

Discrepo sobre algunos puntos

punto 2
"Debe existir poca dispersión de resultados en diferentes regímenes de mercado. Para ello podemos calcular beneficio medio y desviación típica y comparar resultados"

Creo que es una utopía intentar conseguir eso

en un régimen de mercado de volatilidad baja en tendencia alcista, los mismos parámetros sin cambiar de timeframes no funcionaran en alta volatilidad en un mercado bajista. Mismo ocurre en un régimen de mercado de rango estrecho o en tendencia en alta volatilidad
Intentar conseguir crear un sistema que opere ganando en todos los regímenes de mercado es muy complejo y limita la operativa al scalping para tener unas mínimas probabilidades a medio plazo porque en intradia y swing no creo que sea posible romper la eficiencia del mercado( cambios de régimen de mercado) sin identificarlos en los inicios

punto 9
"En nuestra muestra como mínimo debemos tener 200 operaciones."

El nº de operaciones esta implícitamente relacionado con el timeframe operativo y duración en tiempo de las operaciones. No podemos utilizar la misma métrica en un sistema de swing que opere en grafica diaria que en otro de scalping que opere en un minuto. La significancia estadística a mismo nº de operaciones es distinta en los dos supuestos. 200 operaciones de scalping se pueden hacer en un mes o incluso en un ventana menor de tiempo y un mes de operativa no significa mucho a nivel de confianza estadística con 200 operaciones .

El nº de operaciones en mi opinión esta condicionado al tiempo de duración de las operaciones y al timeframe operativo, el sistema debe ganar cuando las condiciones le son optimas y dejar de operar cuando no lo son
La ventana de tiempo en estudio y el nº de operaciones debe reflejar eso precisamente porque es lo que hace que un sistema se adapte al mercado

Punto 10
"Con comisiones y slippage, el sistema debe ganar al menos 3 veces el tamaño tick mínimo."

Esto encierra un problema porque tomando esa premisa se puede operar muy cerca del coste operativo o incluso con una relación negativa respecto a el. El factor de recuperación creo que hay que tenerla en cuenta, no solo debe ganar a tirada larga porque de esos hay muchos, la cuestión es que no hay forma de aguantar sus rachas de perdidas
Creo que la relación R/R no puede ser en ningún caso menos a 1 y aun así esta complicado salir de las rachas de perdidas
Al diseñar un sistema creo que hay que pensar en crearlo siendo realistas para poder operarlo. La disciplina tiene limites ante las rachas de perdidas, pienso que si el factor de recuperación es bajo será muy difícil operar el sistema cuando entre en serie de perdidas, al final siempre estará la disciplina del trader para aguantar el sistema, con un factor de recuperación bajo se pone muy cuesta arriba aguantarlo.

punto 11
"No mezclar filtros correlacionados."

Esto no tiene sentido, hay que hacer uso de todas las herramientas disponibles
Lo que se pretende es ganar a un coste asumible no otra cosa

Punto 12
"No debe aportar más el filtro que la lógica. Debe tener significación estadística. Deben quedar al menos 30 operaciones tras aplicar el filtro"

misma respuesta del punto 9 y 11
Que importa que mas aporta mientras se sea consciente de esa causa, puede aportar mas el filtro que la lógica
¿Dónde esta el problema?

Al punto 14 le añadiría un protocolo de puesta en marcha y de parada Y CONOCER LA CAUSA -S de la ventaja

Si ponemos el sistema a operar en cualquier régimen de mercado sin ser consciente de cual le es mas optimo y cual mas adverso, será muy difícil apuntarlo si comienza con una larga racha de perdidas
Al final el problema del mercado es romper su eficiencia y creo muy importante conocer cuando esta en régimen de " muy eficiente"
Si se conoce la causa-s de la ventaja se puede sistematizar la puesta en marcha y la parada, sin esto se operara a ciegas y en el caso de entrar en racha de perdidas no se sabe que esta fallando ni cuando pararlo.

Intentar crear un sistema que gane en todas las condiciones de mercado es muy complejo

Sin un protocolo de puesta en marcha para ponerle a operar en un régimen de mercado que le sea optimo y de parada para conocer cuando dejar de operar porque las condiciones del mercado no son las optimas y sin saber porque entra en racha de perdidas, esta muy cuesta arriba ganar a medio plazo y mas si se trabaja muy cerca del coste operativo y bajo factor de recuperación
.
sea un sistema automático o discrecional, al final la toma de decisiones y la disciplina siempre recaen en el trader , no hay forma de eliminar eso.
Se pone mucho la vista en conseguir un sistema ganador y mucho menos en lo realmente importante que es la psicología que es necesaria para poder ganar
El sistema lo hace ganador o perdedor el trader con sus decisiones

saludos
El comercio diario es el juego del diablo. Te prometieron una olla de oro pero terminarás perdiendo tu alma. :-D
dahon
Mensajes: 1433
Registrado: 11 Dic 2018 08:57

Re: Aspectos a Tener en Cuenta Cuando Diseñas un Sistema

Mensaje por dahon »

Hola,

Cuando diseño un sistema automático, es un sistema aislado. Cuando opera en real, opera con otros sistemas, y muchas veces con una posición preexistente.
Mientras en la fase de creación me centro mucho en la entrada (aunque pocas veces hace la entrada perfecta ), en la fase de operar lo que mas valor me aporta es donde se invalida la estrategia (s.l.)
Son sistemas sencillos y soy yo el que los integra, independientemente de que cada sistema opere totalmente automático.

Un saludo
OptionExpert
Mensajes: 14
Registrado: 20 Nov 2019 19:08

Re: Aspectos a Tener en Cuenta Cuando Diseñas un Sistema

Mensaje por OptionExpert »

Aspecto numero 1 para mi es desarrollar tu propio software, todas las firmas de quant trading tienen su propio software.

Por que mt4 da diferentes resultados a mt5, es por el software.
Cuando desarrollas tu propio software, por el camino encuentras muchas cosas que no sabias, además lo haces a tu medida, pones tus indicadores, lo moldeas. Le sacas mil bugs y aprendes mucho, de porque da diferentes resultados y buscas lo que esta mal implementado. Programar el software es digamos la parte fácil, ya que lo difícil es tener claro lo que le mandas y si se lo mandas correctamente.

Sin un software propio, no vais a conseguir nada.
Eso si, teneis que dejar todo y tomaros 1-2 años para programarlo, y despues ya os podréis reir de los sistemas de backtesting que se venden con suscripción mensual, os reiréis del mt4 el mt5 el tradestation, ninjatrade y hasta del backtrader de Python.

Lo demás como ya apuntan arriba es construir to castillo en unos cimientos de barro.
CactusJavv
Mensajes: 24
Registrado: 30 Jun 2023 09:27

Re: Aspectos a Tener en Cuenta Cuando Diseñas un Sistema

Mensaje por CactusJavv »

Refloto el post porque me ha parecido muy interesante.

Ya lo han comentado en las anteriores contestaciones pero creo que el punto de baja dispersión de resultados en regímenes diferentes me parece muy difícil de conseguir, creo que sería más eficiente pensar en que régimen de mercado quieres actuar y crear el sistema para dicho régimen y crear un portfolio que considere los distintos regímenes. Creo que es el único punto en el que discrepo. El resto "chapó"

Si se me permite yo añadiría siempre pensar en la gestión monetaria y como mínimo varios mecanismos de alerta e incluso uno o dos cierres automáticos del sistema.

Yo suelo añadir siempre estos controles para cerrar el sistema y los establezco tras el primer backtest:
.- Miro el número máximo de operaciones perdedoras seguidas. Si se alcanza ese número el sistema se para.
.-Miro la máxima pérdida monetaria "seguida". Si se alcanza ese montante el sistema se para.
.- Miro la operación de mayor pérdida. Si se alcanza ese importe el sistema se para.
.- Si un sistema está perdiendo más del 15% de la cuenta se para.
.- Si el portfolio pierde en su conjunto más del 23% de la cuenta -> entonces cierro todo, apago el MT4 y a dormir una temporada.

....... Tengo más controles pero no quería enrollarme tanto sorry!!!!

En resumen que creo que estaría bien contar siempre desde el principio con la gestión monetaria, tanto en el Sistema creado como en el portfolio (si se tiene) global en el que vas a integrar el sistema.

Saludos.
X-Trader escribió: 14 Nov 2019 09:36 Recientemente en uno de los grupos de Whatsapp en los que estoy han posteado este listado de aspectos a tener en cuenta cuando estamos diseñando nuestro sistema de trading, lo comparto por aquí, creo que merece la pena echarles un ojo:
  1. El sistema debe obtener resultados positivos en un elevado número de activos
  2. Debe existir poca dispersión de resultados en diferentes regímenes de mercado. Para ello podemos calcular beneficio medio y desviación típica y comparar resultados
  3. La lógica del sistema debe estar programada de tal forma que haga lo que teníamos pensado
  4. No se debe tomar la combinación de parámetros que más gane si no la que se sea más robusta, esto es, que esté rodeada de otras combinaciones que ganen de forma estable.
  5. Hay que optimizar de forma generosa: tamaño del salto grande. El sistema debe ganar dinero con un amplio número de conjuntos de parámetros.
  6. Revisar los datos ya que hay sesiones en las que puede haber cambiado horario y/o liquidez.
  7. Conviene realizar el ajuste de la data hacia atrás ajustando por volumen.
  8. Poner stops al final, no al principio
  9. En nuestra muestra como mínimo debemos tener 200 operaciones.
  10. Con comisiones y slippage, el sistema debe ganar al menos 3 veces el tamaño tick mínimo.
  11. No mezclar filtros correlacionados.
  12. No debe aportar más el filtro que la lógica. Debe tener significación estadística. Deben quedar al menos 30 operaciones tras aplicar el filtro.
  13. Conviene probar la ventaja encontrada en otros time frames
  14. Planificar cuando deja de funcionar el sistema y analizar por qué se rompe definitivamente
¿Qué os parecen las afirmaciones? ¿Objeciones, comentarios?


Saludos,
X-Trader
Avatar de Usuario
EstrategiasGanadoras
Mensajes: 10
Registrado: 25 Ago 2023 18:37
Contactar:

Re: Aspectos a Tener en Cuenta Cuando Diseñas un Sistema

Mensaje por EstrategiasGanadoras »

Ciertamente es muy interesante, gracias por reflotarlo!
Datos, datos, datos!!!! quiero ser como el demonio de Maxwell! :twisted:
Si te ha gustado este hilo del Foro, ¡compártelo en redes!


Responder

Volver a “Sistemas de Trading”