7 votos

Por favor, aconsejen sobre la elección de un marco de trading automatizado

Me gustaría empezar a automatizar mis estrategias comerciales. No estoy buscando una solución rápida y fácil, por lo tanto el lenguaje de programación no es importante para mí, estoy dispuesto a pasar un año adicional para dominar las tecnologías requeridas si es necesario. Soy muy bueno con R, VBA y SQL, he usado un poco de Python, pero no conozco C++/C#/Java.

Estoy buscando una recomendación sobre qué framework y lenguaje de programación relacionado aprender. No puedo permitirme soluciones costosas, un framework de código abierto gratuito sería ideal. Opero futuros y acciones con IB y mis estrategias comerciales mayormente usan una combinación de reglas técnicas simples. Sin embargo, a veces realmente necesito obtener datos adicionales para generar una señal de entrada o salida, por ejemplo, verificar si la fecha de hoy está presente en alguna lista de fechas en la base de datos, o generar un indicador de amplitud personalizado (como en el momento en que alguna condición es verdadera para al menos X% de las acciones de cierta lista de acciones). Puedo probar estas estrategias fácilmente en R con mi propio probador, pero no tengo idea si los frameworks listos para el comercio automatizado permiten eso. Después de leer algunos artículos y publicaciones en foros, me di cuenta de que probablemente necesito CEP para programar esas reglas. Si es así, entonces hasta donde sé, estoy limitado a AlgoTrader entre las soluciones gratuitas. Sin embargo, he leído opiniones de que AlgoTrader es extremadamente complicado de entender incluso con una sólida formación en Java, que actualmente me falta, y que carece de una documentación adecuada. ¿Hay alguien aquí que use AlgoTrader? ¿Hay alguna alternativa que permita programar algoritmos similares a lo que describí anteriormente?

En teoría puedo enviar señales comerciales desde R, pero me gustaría obtener más fiabilidad, velocidad (no necesito HFT, pero recalcular indicadores de amplitud personalizados para varios sistemas lleva tiempo) y algún framework listo que se pueda usar tanto para probar como para comerciar usando el mismo código para generar señales. Además, probablemente hay otras buenas razones de las que no soy consciente por las que casi nadie usa R para el comercio automatizado.

¿Alguna recomendación?

0 votos

¿Estás buscando simplemente automatizar la prueba retrospectiva y la generación de señales de trading, después de lo cual ingresarás manualmente las órdenes o la generación de órdenes directamente al mercado?

0 votos

Ya he realizado pruebas históricas y generado señales en R, y las comercio de forma manual. Me gustaría poder realizar realmente órdenes.

1 votos

La versión de código abierto de AlgoTrader es bastante limitada pero parece que tiene todo lo que necesitas. En cuanto a la documentación, hay una disponible aquí: (code.google.com/p/algo-trader/wiki/AlgoTraderDocumentation)‌​. La ventaja es que puedes usar el mismo código para realizar pruebas retrospectivas y operar en vivo.

6voto

Ralph Willgoss Puntos 3452

Para ser honesto, es poco probable que obtengas una respuesta muy satisfactoria a tu pregunta. No es porque sea una mala pregunta, sino porque "personas comunes" no pueden simplemente conectar sus sistemas de trading caseros a un mercado en vivo.

Me gustaría empezar a automatizar mis estrategias de trading.

Primero necesitarás un sistema que pueda conectarse con tu broker. Si no eres un fondo, entonces no podrás certificar tu propio motor fix para trading, lo que significa que probablemente la opción más sencilla sea conectarte con algo como IB.

En ese caso, tu mejor opción es leer sobre la api de Interactive Brokers https://www.interactivebrokers.com/en/?f=%2Fen%2Fsoftware%2Fibapi.php%3Fib_entity%3Dllc

0 votos

Gracias por tu respuesta, chollida. ¿Significa esto que recomiendas trabajar directamente con IB API desde Java o C++ sin utilizar ningún framework que normalmente permita cambiar fácilmente de intermediario (no necesariamente usando FIX) y que esté diseñado para facilitar el algo-trading? La ventaja definitiva aquí es la buena documentación de IB API. Sin embargo, no estoy seguro si hacer todo desde cero utilizando una buena documentación es más fácil que utilizar un framework con una documentación no tan buena. ¿Puedes comentar cuánto código está preescrito en frameworks como AlgoTrader en comparación con el uso de IB API pura?

3voto

Michael Cramer Puntos 111

Hay algunos marcos bastante básicos para IB. Uno que es bastante simple de modificar es http://sourceforge.net/projects/jsystemtrader/. No lo he revisado en un tiempo, pero solo utiliza órdenes de mercado. El desarrollo ha continuado con una versión que utiliza la profundidad del mercado.

También hay cosas como Ninja Trader pero se paga por mes.

Es lo que hago y solo uso java con IB. Tengo la sensación de que vas a escribir tanto código que al final el marco de trabajo no será mucho trabajo.

Dado que mencionaste R y Python, solo agregaré

http://cran.r-project.org/web/packages/IBrokers/index.html

y

https://code.google.com/p/ibpy/

No he utilizado ninguno de los dos y no sé qué tan bien funcionan. Estoy bastante seguro de que el paquete de R puede descargar datos históricos. Una cosa a recordar con marcos no actualizados es que la API puede cambiar un poco y dejar de funcionar sin algunos ajustes.

3voto

NYSystemsAnalyst Puntos 959

¿Qué hay de las plataformas de frontend como MultiCharts o NinjaTrader? ¿O incluso una más económica como SierraChart o AmiBroker? También están cTrader Automate (cAlgo) y ProTrader PTMC. Todas estas están específicamente diseñadas para el trading en tiempo real de derivados, incluyendo la conexión con un broker como Interactive Brokers, Lmax, etc. Y tienen su propio lenguaje de programación con capacidades de backtesting integradas. Dado que mencionaste acciones, es probable que la licencia de por vida de MC sea la mejor inversión a largo plazo. Sierra Chart también es muy estable y ya tiene muchas integraciones.

Actualmente, el Retail Fx está dominado por Metatrader 4....pero si el broker permite FIX u otras API, aún puedes utilizar MultiCharts u otras aplicaciones de gráficos. Lo peor que puede pasar es que debas cambiar de broker, pero deberías poder reconectar el algoritmo (que ejecutará una plataforma de trading similar) al nuevo broker. En el caso de mt4/mt5, solo trasladas tu estrategia (llamada Asesor Experto o EA) a la instancia de mt4/mt5 del nuevo broker (o simplemente copias el archivo [server].SRV del nuevo broker en el mt4/5 existente y "abres una cuenta" añadiendo el nuevo nombre de [servidor] y debería responder después de unos segundos.
Sí, simplemente es más fácil hacer una nueva instalación de mt4 con el archivo de configuración del nuevo broker)

Vale la pena mencionar que Metatrader 5 (cinco) podría eventualmente superar a mt4, y está configurado para manejar múltiples clases de activos (acciones, futuros, forex, etc). Al igual que mt4, es gratuito para el usuario final. Desafortunadamente, MQL5 no es compatible con MQL4 y MT5 no puede importar o ejecutar estrategias compiladas mql4. En realidad, podrías configurar mt4 para backtestear acciones/futuros si tienes datos de ticks disponibles (o barras de 1 minuto si los datos de ticks no son importantes); básicamente haciendo que tu inversión en la plataforma sea mínima, ya que mt4 es gratuito. Además, mt4/mt5 está configurado en el lado del broker. Entonces, el trader solo tiene que abrir la plataforma y empezar su análisis o trading. Y es increíblemente fácil migrar de un broker a otro. Por supuesto, elegir un broker de confianza es mucho más importante, pero ese es un tema de discusión aparte.

Muchas de las respuestas presentadas hasta ahora parecen centrarse en que el usuario pase mucho tiempo construyendo su propia plataforma de trading o teniendo que pasar mucho tiempo conectando una plataforma. Mantener una plataforma de trading independiente es un esfuerzo complejo y costoso. En mi opinión, no hay razón para reinventar la rueda ^^; dedica ese tiempo a desarrollar y probar tus algoritmos en un entorno desplegable.

^^(no recomendado)

Pero si quieres intentar crear tu propia plataforma propietaria, considera la plataforma Modulus M4 + código fuente para empezar.

Actualizado el 06 de junio de 2018 para agregar URLs y mencionar algunas plataformas más.

1 votos

Respuesta informativa, ¿pero podrías por favor agregar enlaces a esas herramientas?

1 votos

@not2qubit Hecho. Y agregué algunas herramientas más y amplié un poco las antiguas. Espero que esto ayude.

2voto

Johnny Edge Puntos 411

También está http://ibconnector.com/, que es gratuito, hasta donde sé, y una alternativa a IBrokers. He trabajado con él antes y para órdenes básicas, fue muy rápido y confiable.

1 votos

Esos tipos no parecen serios (echa un vistazo al fundador y su descripción del proyecto: ca.linkedin.com/pub/alon-honig/35/407/369). Dicen que hacen informes, análisis de costos de transacción, etc., pero no encontré nada de eso. Lo único que encontré fueron un par de funciones que hacen lo mismo que el paquete IBrokers. Parece ser una start-up amateur fallida.

1voto

dincer80 Puntos 652

Actualización Dic 2018. Código básico de auto-trading para R y la API de Interactive Brokers se puede encontrar en https://github.com/PhilGuerra

Sé que el código funciona porque es el mismo código que modifiqué para poder automatizar el trading de carteras de futuros largos/cortos.

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