Eficiencia: Velocidad de procesado, sistema operativo, hardware y Optimización, Backtests de Robots

5

En nuestro laboratorio hemos hecho finalmente las siguiente mediciones que vamos a compartir en este Blog. 

En primer lugar comentar para el neófito, que los tiempos de Optimización en Metatrader son muy largos, siempre y cuándo se parametricen muchas variables y sobre ventanas de tiempo considerables. A su vez, hay bastantes EAs cuyo tiempo de cálculo para un backtest es muy lento, debido a indicadores propios customizados.

Así para el trader automático profesional, que sabe que la optimización y el backtest serio es el 90% de su éxito, los tiempos y las velocidades de procesado, son vitales. El cuello de botella es Meta Trader, que sin embargo hasta la fecha, no tiene competencia seria en el horizonte. La versión 5, lejos de avanzar en estos aspectos, supuso nada más que ligeros cambios, lo que ha sido una importante decepción para la comunidad de traders automáticos profesionales.

Se tomaron varias máquinas como base, con procesadores más antiguos y de última generación. Meta trader sólo usa un núcleo por proceso y plataforma, así que se hicieron varias series cronometradas de medición para tener una comparativa fidedigna.

En una misma máquina con un procesador de lo que podríamos llamar categoría 2, se instalaron a su vez en discos diferentes diversos sistemas operativos. A su vez, para cada test se hicieron al menos 3 mediciones cronometradas con objeto de ver desviaciones atípicas en los resultados y calcular errores estadísticos. En total se hicieron más de 60 mediciones con el mismo EA y paramétros, así como la misma ventana de tiempo, sobre discos perfectamente desfragmentados, para tener una comparativa precisa y fidedigna.

Si suponemos que en una optimización Metatrader hará del orden de más de 10.000 backtest, la reducción del tiempo de cálculo en un 10% es vital, y no digamos en un 20%.

Las conclusiones fueron las siguientes:

Resultados de los Tests cronometrados

1. El sistema operativo idóneo fue Windows Server 2003, por encima de Windows XP y Windows 7. Se lograron resultados un 10-15% más rápidos por un lado, y por otro al abrir dos plataformas en paralelo, los tiempos de ambas se incrementaron un 30%, pero no un 100%, siempre que se disponga de al menos un procesador doble núcleo. Además Windows XP reparte de forma muy arbitraria los recursos una vez que se abre más de una plataforma al mismo tiempo.

2. La desfragmentación profunda, preferentemente con un desfragmentador profesional, tipo Defraggler, reduce los tiempos en más de un 20-25% siempre y cuándo el disco haya estado previamente profundamente fragmentado. Una vez el disco ha sido desfragmentado, con un simple backtest puede volver a aparecer desfragmentado, sin embargo, esto no afecta a la velocidad de los siguientes backtest, optimizaciones. Es decir, no hace falta desfragmentar a cada backtest. Una recomendación media sería desfragmentar cada semana si se está haciendo constantes backtests, optimizaciones.

3. El procesador es el factor de mayor influencia en la velocidad de procesado, por encima de la RAM, que pasado x Gigas, por lo general 2 GBs, no necesita de mayor espacio, ni logra usarlo. El cuello de botella es el procesador, y no la RAM, sobre todo su clock y velocidad de procesado, dependiendo del chip. Recomendación procesadores de doble núcleo bastarán, pero preferentemente los más avanzados. No se testearon procesadores Intel contra AMD, así que sobre eso no podemos recomendar.

4. El mantener abiertos infinidad de indicadores de la plataforma no afecta en absoluto, al igual que mantener la plataforma conectada o desconectada.

5. Desconectar el antivirus libera recursos de procesador y es muy recomendable para bajar tiempos en optimizaciones largas. Al igual con todo tipo de procesos no necesarios.

Recomendación

Metatrader es una plataforma con muchos defectos de cálculo, y que desordena los históricos y los desperdiga por todo el disco duro. Esta es una de las razones de que acaben corrompiéndose. Dedicar las máquinas exclusivamente a backtesting y optimización con el mejor procesador y un Windows Server 2003 es la mejor opción sin lugar a dudas, con diferencia. Si seguimos todos estos consejos podemos esperar reducciones de tiempo de hasta un 50%, dependiendo de nuestro punto de partida. Esto a la larga será una mejora sustancial en nuestros tiempos de trabajo.

saludos cordiales,

EA-Billionaire
www.robot-de-forex.com/webinarios/lanzamiento1
www.youtube.com/robotdeforex
www.twitter.com/robotdeforex

  1. en respuesta a trendfollower
    -
    #5
    10/06/11 14:58

    Gracias por el tip. Trabajo EAs en Metatrader, es mi especialidad. :) De todas formas trabajo con históricos un poquito más largos de lo que da FXCM.

    Saludos cordiales!

    EA-Billionaire

  2. #4
    10/06/11 03:33

    EABillionaire, has probado strategy trader (de fxcm)? el optimizador es mucho mas rapido!

    Un saludo

  3. en respuesta a Ea billionaire
    -
    #3
    22/12/10 02:32

    Mi e-mail es [email protected], hora mismo mi problema es el tiempo, pues la familia me tiene a tope y no me libero hasta las nueve de la noche, aunque sigo con mis ideas de conseguir enganchar la inteligencia artificial con los sistemas automáticos en un solo Sistema que integre todas mis carteras,
    Saludos
    Antonio ESTEBAN

  4. en respuesta a Esteban
    -
    #2
    22/12/10 02:25

    Así es Esteban,

    nos quedaron varias pruebas en el tintero, como probar con discos de estado sólido. El Metatrader la verdad que deja bastante que desear con respecto a optimización, datos, etc. En breve, escribiré un artículo adicional sobre el tema de los datos.

    Seguimos en contacto, mándame tu mail, que no lo encuentro por privado y te enseñaré algunas estadísticas de sistemas.

    saludos cordiales,

    EA-Billionaire

  5. #1
    22/12/10 02:02

    Muy interesante el artículo, no comprendo como un programa como el Metatrader, que tiene tanta fama, funciona en sus optimizaciones tan aleatoriamente, si comprendo que MicroSoft con sus Windows sucesivos, que ponen muy facil a los usuarios no expertos el uso del ordenador, no ayude nada a los procesos complejos y largos.
    Lo que habeis detectado vosotros, ya lo observe yo, con mis Sistemas Expertos y sus pruebas, para mi el mejor era el Windows Server 2000, lo que pasa es que no aguantaba procesadores tan potentes , como lo hace el Windows Server 2003.
    Por supuesto , que los antivirus ralentizan todos los procesos enormemente, por eso creo que lo mejor es utilizar varios ordenadores a la vez, con distintos Backtest.

Cookies en rankia.com

Utilizamos cookies propias y de terceros con finalidades analíticas y para mostrarte publicidad relacionada con tus preferencias a partir de tus hábitos de navegación y tu perfil. Puedes configurar o rechazar las cookies haciendo click en “Configuración de cookies”. También puedes aceptar todas las cookies pulsando el botón “Aceptar”. Para más información puedes visitar nuestra política de cookies.

Aceptar