Automatizado Sistema De Comercio De Codificación


Los sistemas de intercambio de codificación sistemas comerciales son simplemente un conjunto de reglas que los comerciantes utilizan para determinar sus entradas y salidas de una posición. Desarrollo y uso de sistemas de comercio puede ayudar a los operadores a alcanzar retornos consistentes al tiempo que limita el riesgo. En una situación ideal, los comerciantes deben sentirse como robots, ejecutando operaciones de forma sistemática y sin emoción. Por lo tanto, tal vez usted ha preguntado: ¿Cuál es para detener un robot de comercio de mi sistema La respuesta: Nada Este tutorial le dará a conocer las herramientas y técnicas que se pueden utilizar para crear su propio sistema de comercio automatizado. Los sistemas de intercambio, ¿Los automatizado creado sistemas de comercio automatizado se crean mediante la conversión de las reglas de sistemas comerciales en un código que el ordenador puede entender. Su computadora, entonces se ejecuta esas normas a través de su software de comercio, que se ve para los comercios que se adhieren a sus normas. Por último, las operaciones se colocan automáticamente con su corredor. Este tutorial se centrará en las partes segunda y tercera parte de este proceso, donde las reglas se convierten en un código que su software de comercio puede entender y utilizar. Lo Trading Automatizado software es compatible con los sistemas de comercio hay muchos programas comerciales que soporte automatizado sistemas de comercio. Algunos se generará automáticamente y colocar operaciones con su corredor. Otros encontrarán automáticamente las operaciones que se ajusten a sus criterios, pero requieren que usted pone las órdenes con su agente manualmente. Por otra parte, los programas de comercio totalmente automáticas a menudo requieren el uso de agentes de valores específicos que soportan estas características también puede tener que completar un formulario de autorización adicional. Ventajas y desventajas de los sistemas de comercio automatizado tienen varias ventajas, pero también tienen sus desventajas. Después de todo, si alguien tenía un sistema de comercio que realiza automáticamente el dinero todo el tiempo, él o ella podría literalmente poseer un dinero que hace Ventajas de la máquina: Un sistema automatizado lleva la emoción y ocupado en el trabajo fuera de la negociación, que le permite centrarse en la mejora su estrategia de manejo de dinero y normas. 13 Una vez que un sistema rentable se desarrolla, no requiere ningún trabajo de su parte hasta que se rompe, o las condiciones del mercado exige un cambio. Desventajas: Si el sistema no está correctamente codificado y probado, grandes pérdidas pueden ocurrir muy rápidamente. 13 A veces es imposible poner ciertas reglas en el código, lo que hace difícil el desarrollo de un sistema de comercio automatizado. En este tutorial vamos a aprender a planificar y diseñar un sistema de comercio automatizado, cómo traducir este diseño en código que el ordenador va a entender, cómo poner a prueba su plan para garantizar un rendimiento óptimo y, por último, cómo poner el sistema a utilizar. Los sistemas de intercambio de codificación: Sistema DesignSubscribe a las noticias que se utilizará para las últimas ideas y análisis Gracias por firmar con Investopedia Insights - Noticias de usar. sistemas de comercio automatizados minimizan las emociones, permitir la entrada de pedidos más rápido, una mayor consistencia y resolver problemas piloto de error. los operadores de sistemas dividen su tiempo entre el comercio, el desarrollo, pruebas retrospectivas, la optimización y la prueba hacia adelante, para crear sistemas de comercio viables y de alta probabilidad. software de comercio de Forex automatizado analiza el mercado de oficios favorables en base a su entrada. Para saber más acerca de esta herramienta valiosa de divisas. Mediante la combinación de un buen análisis en la aplicación efectiva, puede mejorar dramáticamente sus ganancias en este mercado. Aprende a añadir estructura a sus métodos de negociación con estos seis pasos importantes. La mayoría de los corredores le proporcionará registros de comercio, pero también it039s importante llevar un registro por su cuenta. Software ha puesto el día de comercio rápido y automático - una razón más para ser tan laborioso como sea posible al momento de elegir el más adecuado para sus necesidades. Investopedia explica: La interconexión global de los sistemas de pago de Estados Unidos posibilita transferencias comercial entre un comerciante y financieros. Preguntas más frecuentes La depreciación puede ser utilizado como un gasto deducible de impuestos para reducir los costos fiscales, reforzando el flujo de caja Aprende cómo Warren Buffett llegó a ser tan exitoso a través de su asistencia a múltiples escuelas de prestigio y sus experiencias del mundo real. El CFA Institute permite a un individuo una cantidad ilimitada de intentos en cada examination. Although puede intentar el examen. Aprender sobre los salarios promedio de los analistas del mercado de valores en los EE. UU. y los diferentes factores que afectan a los salarios y los niveles globales. Preguntas más frecuentes La depreciación puede ser utilizado como un gasto deducible de impuestos para reducir los costos fiscales, reforzando el flujo de caja Aprende cómo Warren Buffett llegó a ser tan exitoso a través de su asistencia a múltiples escuelas de prestigio y sus experiencias del mundo real. El CFA Institute permite a un individuo una cantidad ilimitada de intentos en cada examination. Although puede intentar el examen. Aprender sobre los salarios promedio de los analistas del mercado de valores en los EE. UU. y los diferentes factores que afectan a los salarios y en general Pros y contras de levels. The Automated Trading Systems Los comerciantes y los inversores puede convertir la entrada precisa. reglas de salida y de manejo de dinero en sistemas de comercio automatizados que permiten a los ordenadores ejecutan y supervisan las operaciones. Uno de los mayores atractivos de la automatización de la estrategia es que puede tomar algo de la emoción de la negociación desde las operaciones se colocan automáticamente una vez que se cumplen ciertos criterios. En este artículo se va a presentar a los lectores y explicar algunas de las ventajas y desventajas, así como las realidades, de los sistemas de operación automatizada. (Para leer relacionados, ver el poder de Operaciones del Programa.) ¿Qué es un sistemas de negociación automática del sistema de comercio automatizado, también conocidos como sistemas mecánicos de comercio, comercio algorítmico. automatizado de compraventa o sistema de comercio, permiten a los operadores establecen normas específicas para ambas entradas y salidas comerciales que, una vez programada, puede ser ejecutado de forma automática a través de un ordenador. La entrada del comercio y las reglas de salida se pueden basar en condiciones simples, tal como un cruce de media móvil. o puede ser complicado estrategias que requieren una amplia comprensión del lenguaje de programación específico para la plataforma de usuarios de comercio, o la experiencia de un programador calificado. Los sistemas automatizados de comercio suelen requerir el uso de software que está vinculado a un corredor de acceso directo. y las normas específicas que deben ser escritos en lenguaje propietario que las plataformas. La plataforma TradeStation, por ejemplo, utiliza el lenguaje de programación EasyLanguage la plataforma NinjaTrader, por otra parte, utiliza el lenguaje de programación NinjaScript. La figura 1 muestra un ejemplo de una estrategia automatizada que desencadenó tres operaciones durante una sesión de negociación. (Para leer relacionados, consulte el comercio mundial y el mercado de divisas.) Figura 1: Un gráfico de cinco minutos del contrato í con una estrategia automatizada aplicado. Algunas plataformas de negociación tienen asistentes estrategia de construcción que permiten a los usuarios hacer selecciones de una lista de indicadores técnicos que se comercializan para construir un conjunto de reglas que a continuación se pueden negociar de forma automática. El usuario puede establecer, por ejemplo, que una operación larga se introducirá una vez que el móvil de 50 días cruza por encima de la media móvil de 200 días en un gráfico de cinco minutos de un instrumento de negociación en particular. Los usuarios pueden también introducir el tipo de orden (mercado o limitar, por ejemplo) y cuando se dispara el comercio (por ejemplo, en el cierre de la barra o la apertura de la siguiente barra), o usar las entradas predeterminadas plataformas. Muchos comerciantes, sin embargo, optan por programar sus propios indicadores y estrategias personalizados o trabajar en estrecha colaboración con un programador para desarrollar el sistema. Si bien esto suele requerir más esfuerzo que mediante el asistente de plataformas, que permite un mayor grado de flexibilidad y los resultados pueden ser más gratificante. (Por desgracia, no hay una estrategia perfecta inversión que garantice el éxito. Para más información, consulte Uso de los indicadores técnicos para desarrollar estrategias de negociación.) Una vez que se han establecido las reglas, el ordenador puede controlar los mercados para encontrar comprar o vender oportunidades basadas en el comercio especificaciones de estrategia. Dependiendo de las reglas específicas, tan pronto como se entra en un comercio, cualquier pedido de stop de seguridad. se generará automáticamente al final se detiene y beneficios. En los mercados de rápido movimiento, pero esta entrada fin instantánea puede significar la diferencia entre una pequeña pérdida y una pérdida catastrófica en el caso de que el comercio se mueve contra el comerciante. Ventajas de Automated Trading Systems Hay una larga lista de ventajas de tener un monitor de ordenador los mercados de las oportunidades comerciales y ejecutar las operaciones, incluyendo: Reducir al mínimo las emociones. sistemas de comercio automatizados minimizan las emociones durante todo el proceso de negociación. Al mantener las emociones bajo control, los operadores suelen tener un tiempo más fácil seguir con el plan. Dado que las órdenes comerciales se ejecutan automáticamente una vez que se han cumplido las normas comerciales, los comerciantes no podrán dudar o cuestionar el comercio. Además de ayudar a los comerciantes que tienen miedo de apretar el gatillo, el comercio automatizado puede frenar aquellos que son aptos para overtrade compra y venta en cada oportunidad percibida. Capacidad de Backtest. Backtesting aplica las reglas de comercio a los datos históricos del mercado para determinar la viabilidad de la idea. Al diseñar un sistema de comercio automatizado, todas las reglas tienen que ser absoluta, sin espacio para la interpretación (el equipo no puede hacer conjeturas tiene que ser dicho exactamente qué hacer). Los operadores pueden tomar estos conjuntos de reglas precisas y probarlos en los datos históricos antes de arriesgar dinero en el comercio directo. backtesting cuidadosa permite a los operadores para evaluar y poner a punto una idea de comercio, y para determinar la expectativa de los sistemas de la cantidad promedio que un comerciante puede esperar ganar (o perder) por unidad de riesgo. (Ofrecemos algunos consejos sobre este proceso que puede ayudar a reencontrar sus estrategias de operación actuales Para más información, ver Backtesting:.. Interpretar el pasado) mantener la disciplina. Debido a que las normas comerciales se establecen y la ejecución de operaciones se realiza de forma automática, la disciplina se conserva incluso en mercados volátiles. La disciplina se pierde a menudo debido a factores emocionales como el miedo a tomar una pérdida, o el deseo de ganarse un poco más beneficios de un comercio. El comercio automatizado ayuda a asegurar que la disciplina se mantiene debido a que el plan de negociación será seguido exactamente. Además, se reduce al mínimo piloto de errores, y una orden de compra de 100 acciones no se introduce incorrectamente como una orden para vender 1.000 acciones. Lograr consistencia. Uno de los mayores desafíos en el comercio es para planificar el comercio y el plan. Incluso si un plan de comercio tiene el potencial de ser rentable, los comerciantes que hacen caso omiso de las reglas son alteración alguna esperanza el sistema habría tenido. No hay tal cosa como un plan de negociación que gana 100 de las pérdidas de tiempo son una parte del juego. Sin embargo, las pérdidas pueden ser psicológicamente traumático, por lo que un comerciante que tiene dos o tres operaciones perdedoras consecutivas podría decidir saltar el comercio de al lado. Si esta nueva operación habría sido un ganador, el comerciante ya ha destruido ninguna expectativa el sistema tenía. Los sistemas automatizados de comercio permiten a los operadores a lograr una consistencia mediante la negociación del plan. (Es imposible evitar un desastre sin reglas comerciales. Para más información, ver 10 pasos para construir un plan de negociación Ganar.) Mejora de la velocidad de entrada de pedido. Dado que los ordenadores responden inmediatamente a las cambiantes condiciones del mercado, los sistemas automatizados son capaces de generar las órdenes tan pronto como se cumplan los criterios de comercio. Al entrar o salir de un comercio de unos segundos antes puede hacer una gran diferencia en el resultado oficios. Tan pronto como se introduce una posición, todas las demás órdenes se generan automáticamente, incluyendo stop de seguridad y beneficios. Los mercados pueden moverse rápidamente, y es desmoralizante para tener un comercio de alcanzar el objetivo de beneficios o un golpe más allá de un nivel de stop loss antes incluso se pueden introducir las órdenes. Un sistema de comercio automatizado evita que esto suceda. Diversificar Trading. sistemas de comercio automatizados permiten al usuario operar múltiples cuentas o varias estrategias al mismo tiempo. Esto tiene el potencial para distribuir el riesgo en diversos instrumentos, mientras que la creación de una protección contra la pérdida de posiciones. Lo que sería muy difícil para un ser humano para llevar a cabo de manera eficiente se ejecuta por un ordenador en cuestión de milisegundos. El ordenador es capaz de escanear en busca de oportunidades comerciales a través de una variedad de mercados, generar órdenes y oficios monitor. Desventajas y realidades de los sistemas de comercio de comercio automatizado sistemas automatizados cuentan con muchas ventajas, pero hay algunas caídas de y realidades a las que los comerciantes deben tener en cuenta. Los fallos mecánicos. La teoría detrás de comercio automatizado hace que parezca sencillo: configurar el software, el programa de las reglas y ver que el comercio. En realidad, sin embargo, el comercio automatizado es un sofisticado método de la negociación, sin embargo, no es infalible. Dependiendo de la plataforma de negociación, un orden comercial podría residir en un equipo y no un servidor. Lo que esto significa es que si se pierde la conexión a Internet, una orden podría no ser enviado al mercado. También podría haber una discrepancia entre los oficios teóricos generados por la estrategia y el componente de plataforma de entrada para que los convierte en operaciones reales. La mayoría de los comerciantes deben esperar una curva de aprendizaje cuando se utilizan sistemas automatizados de comercio, y es generalmente una buena idea empezar con pequeños tamaños comerciales, mientras que el proceso se refina. Supervisión . A pesar de que sería genial para encender el ordenador y dejar actuar durante el día, los sistemas de comercio automatizados requieren supervisión. Esto se debe hacer el potencial de fallas mecánicas, tales como problemas de conectividad, las pérdidas de potencia o el ordenador se bloquea, y rarezas del sistema. Es posible que un sistema de comercio automatizado para experimentar anomalías que podrían resultar en pedidos, órdenes de errantes que faltan, o duplicadas órdenes. Si el sistema es supervisado, estos eventos pueden ser identificados y resueltos rápidamente. El exceso de optimización. Aunque no es específico de los sistemas automatizados de comercio, los comerciantes que emplean técnicas de pruebas retrospectivas pueden crear sistemas que se ven muy bien en papel y realizan terriblemente en un mercado en tiempo real. El exceso de optimización se refiere al ajuste de curvas que produce un plan de negociación que no es fiable en el comercio directo excesiva. Es posible, por ejemplo, para retocar una estrategia para lograr resultados excepcionales en los datos históricos en los que se probó. Los comerciantes a veces incorrectamente suponer que un plan de negociación debe tener cerca de 100 operaciones rentables o que nunca debería experimentar una reducción de ser un plan viable. Como tal, los parámetros se pueden ajustar para crear un plan perfecto cerca que falla completamente tan pronto como se aplica a un mercado en tiempo real. (Esta optimización sobre-crea sistemas que se ven bien sólo en el papel Para más información, ver backtesting y adelante de prueba:.. La importancia de la correlación) Los operadores de automatización basados ​​en servidor tienen la opción de ejecutar sus sistemas automatizados de comercio a través de una negociación basada en servidor como plataforma de Strategy Runner. Estas plataformas ofrecen con frecuencia las estrategias comerciales para la venta, un asistente lo que los comerciantes pueden diseñar sus propios sistemas, o la capacidad de alojar los sistemas existentes en la plataforma basada en servidor. Por una cuota, el sistema de comercio automatizado puede buscar, ejecutar y controlar las operaciones con todos los pedidos que residen en su servidor, dando como resultado potencialmente más rápido, las entradas de pedidos más fiables. Conclusión Aunque un ppealing para una variedad de factores, los sistemas automatizados de comercio no debe considerarse un sustituto de la negociación cuidadosamente ejecutado. Los fallos mecánicos pueden suceder, y como tal, estos sistemas requieren un seguimiento. plataformas basadas en servidores pueden proporcionar una solución para los comerciantes que deseen reducir al mínimo los riesgos de fallas mecánicas. (Para leer relacionados, consulte Day Trading Estrategias para principiantes.) Una persona que comercia con derivados, materias primas, bonos, acciones o divisas con un riesgo más alto de lo normal a cambio de. quotHINTquot es un acrónimo que significa para los ingresos quothigh sin taxes. quot Se aplica a altos ingresos que evitan el pago de la renta federal. Un creador de mercado que compra y vende bonos corporativos extremadamente corto plazo denominados papeles comerciales. Un distribuidor de papel es típicamente. El libre adquisición y venta de bienes y servicios entre los países sin la imposición de restricciones tales código de negociación Sistema de Bibliotecas as. Code se difunde en múltiples mensajes, que podría ser una buena idea para consolidarlos en un solo lugar (en este caso) antes de que todo se vuelve un poco demasiado desordenado también escribo mensual de análisis técnico de acciones y la revista Commodities (TASC) en su sección de Consejos Trader8217s (en su mayoría código de comercio Blox). Por favor, encontrar todo continuación para su lectura: 8212 revista TASC Traders8217 Tips 8212 TASC comerciantes Consejos (abril de 2010): Volumen Modificado precio Indicador de Tendencia en Excel En el artículo de modificación de volumen-precio Indicador de Tendencia en este tema, el autor David Hawkins discute una modificación de el indicador de tendencia de volumen-precio (VPT), ​​ya se basa en el indicador de volumen de operaciones de balance desarrollada originalmente por Joseph Granville. enlace a consejos traders8217 enlazar a archivo de Excel TASC Consejos Traders (mayo de 2010): Suavizar b en el comercio Blox En 8220Smoothing el artículo b8221 Bollinger, autor Sylvain Vervoort se explica cómo quitar el ruido del indicador tradicional b, que se utiliza para identificar los puntos de inflexión claras y divergencias . enlace para enlazar a consejos traders8217 archivo tbx TASC comerciantes Consejos (diciembre de 2010): Casco media móvil en los índices de Comercio con el casco de media móvil en ese tema, autor Max Gardner explica cómo utilizar el casco de media móvil para la sincronización del mercado a largo plazo. enlace para enlazar a consejos traders8217 archivo tbx 8212 MISC 8212 8212 CSI desleal Ventaja API 8212 RetrieveBackAdjustedContract2 función API guía de documentación de referencia sobre esta función esencial tomada del documento API CSI. enlace a la fuente original de correos para recuperar de nuevo documento RTF-contrato de futuros ajustado algunos ejemplos de código en C usando la API para acceder a una de las funciones más importantes para recuperar cualquier contrato de futuros con cualquier tipo de ajuste de respaldo ofrecido por CSI. enlace a la fuente original de correos para el archivo fuente de C CSI contrato individual Extractor Una utilidad para extraer los contratos individuales de base de datos CSI8217s desleal ventaja en archivos de texto plano. enlace a enlace al post original archivo zip que contiene EXE 8212 Trading Blox 8212 MMDI Cartera Filtro variación del clásico filtro MACD Cartera, utilizando el indicador de mediana en movimiento en lugar de la media móvil estándar para la media rápida. enlace a enlace de post original para bloquear el archivo (TBX) Mejora Vortex e indicadores AVX y AVX sistema El indicador Vortex original tenía un defecto (el manejo de brecha para los mercados de divisas no) y no hizo uso de una media móvil exponencial para el alisado. Esta es mi versión mejorada con un sistema de inversión básica de usarlo para las entradas / salidas de enlace en enlace post original para archivo zip (que contiene: Indicador Vortex 038 archivo AVX bloque auxiliar (TBX), bloque AVX de Entrada y Salida (TBX), Sistema de AVX (TBS )) 8212 8212 Código R aplicación Walk-Forward de Vince8217s espacio del modelo apalancamiento Emplea el paquete LSPM R (por Josh Ulrich) en una perspectiva a pie hacia adelante para permitir una metodología de prueba de adaptabilidad de las pruebas. enlace a la publicación original con el archivo explicaciones necesarias código R 8212 AmiBroker 8212-E ratio de cálculo El-relación E es una forma práctica de evaluar el borde de un componente específico de un sistema sin tener que probar el sistema en su conjunto (es decir, borde de la única señal de entrada). enlace a la publicación original (incluye todos los fragmentos necesarios de código y lógica) 8212 TradersStudio-relación e 8212 de cálculo para el sistema de Donchian de ruptura del canal Este código contiene el código genérico necesario para calcular el ratio de correo, así como una aplicación para aplicar el cálculo a una Donchian señal de entrada de ruptura del canal. enlace a enlace de post original para archivo zip (que contiene el código Donchian Canal Indicador TS, código de encargo del comercio Informe TS, código Comprar TS System, Vender código del sistema TS, de relación e macro de Excel (archivo de texto), Excel ejemplo de libro) Todo el contenido Derechos de autor de Au. Tra. Sy el blog - el comercio automatizado SystemBest lenguaje de programación para sistemas de comercio algorítmico por Michael Salas-Moore el 26 de julio 2013 Una de las preguntas más frecuentes que recibo en la carpeta de correo QS es ¿Cuál es el mejor lenguaje de programación para el comercio algorítmico. La respuesta corta es que no hay mejor lenguaje. parámetros de la estrategia, el rendimiento, modularidad, el desarrollo, la capacidad de recuperación y el costo de todo deben ser considerados. Este artículo se describen los componentes necesarios de una arquitectura de sistema de negociación algorítmica y cómo las decisiones relativas a la aplicación afectará a la elección de la lengua. En primer lugar, se tendrán en cuenta los principales componentes de un sistema de comercio algorítmico, tales como las herramientas de investigación, optimizador de la cartera, gestor de riesgos y el motor de ejecución. Posteriormente, se examinarán diferentes estrategias de negociación y cómo afectan al diseño del sistema. En particular, será tanto se discutirá la frecuencia de la negociación y el volumen de operaciones probable. Una vez que la estrategia de negociación ha sido seleccionado, es necesario arquitecto todo el sistema. Esto incluye elección del hardware, el sistema operativo (s) y la resistencia del sistema contra eventos raros, potencialmente catastróficas. Mientras se está considerando la arquitectura, debe prestarse la debida atención a rendimiento - tanto a las herramientas de investigación, así como el entorno de ejecución en vivo. ¿Cuál es el sistema de comercio tratando de realizar antes de decidir sobre el mejor lenguaje para escribir un sistema de comercio automatizado es necesario definir los requisitos. Es el sistema va a ser puramente de ejecución basado ¿El sistema requiere la construcción de un módulo de gestión de riesgos o de la cartera ¿El sistema requiere una backtester de alto rendimiento para la mayoría de las estrategias del sistema de comercio se pueden dividir en dos categorías: Investigación y generación de señales. La investigación se refiere a la evaluación de una estrategia de actuación a través de datos históricos. El proceso de evaluación de una estrategia de negociación sobre los datos de mercado antes de que se conoce como backtesting. El tamaño de los datos y la complejidad algorítmica tendrán un gran impacto en la intensidad computacional de la backtester. velocidad de la CPU y la concurrencia a menudo son los factores limitantes en la optimización de la velocidad de ejecución de la investigación. La generación de señales se ocupa de generar un conjunto de señales de operación de un algoritmo y el envío de este tipo de órdenes al mercado, por lo general a través de una casa de valores. Para ciertas estrategias se requiere un alto nivel de rendimiento. E / S de cuestiones tales como ancho de banda y latencia son a menudo el factor limitante en la optimización de los sistemas de ejecución. Por lo tanto la elección de idiomas para cada componente de todo el sistema puede ser muy diferente. El tipo, frecuencia y volumen de Estrategia El tipo de estrategia algorítmica empleado tendrá un impacto sustancial en el diseño del sistema. Será necesario tener en cuenta los mercados se comercializan, la conectividad a los proveedores de datos externos, la frecuencia y el volumen de la estrategia, el equilibrio entre la facilidad de desarrollo y la optimización del rendimiento, así como cualquier hardware personalizado, incluida la costumbre de ubicación conjunta servidores, GPU o FPGAs que podrían ser necesarios. Las opciones de tecnología para una estrategia de renta variable de Estados Unidos de baja frecuencia serán muy diferentes de las de una alta frecuencia de arbitraje estadístico de comercio estrategia en el mercado de futuros. Antes de la elección de la lengua muchos proveedores de datos deben ser evaluados que pertenecen a una estrategia de la que nos ocupa. Será necesario tener en cuenta la conectividad con el proveedor, la estructura de cualquier API, la puntualidad de los datos, los requisitos de almacenamiento y capacidad de recuperación en la cara de un proveedor de desconectarse. También es aconsejable poseer un acceso rápido a múltiples proveedores diversos instrumentos, todos tienen sus propias peculiaridades de almacenamiento, ejemplos de los cuales incluyen múltiples símbolos de cotización de las acciones y las fechas de vencimiento de futuros (por no hablar de todos los datos específicos de venta libre). Esto debe tenerse en cuenta en el diseño de la plataforma. Frecuencia de la estrategia es probable que sea uno de los mayores impulsores de la forma en que se define el conjunto de tecnología. Las estrategias que emplean datos con mayor frecuencia que las barras minúsculas o en segundo lugar requieren una consideración importante en cuanto a rendimiento. Una estrategia superior en segundo bares (es decir, los datos tick) conduce a un diseño basado en el rendimiento como la exigencia principal. Para las estrategias de alta frecuencia tendrá que ser almacenado y evaluado una cantidad sustancial de datos de mercado. Software como HDF5 o kdb se utilizan comúnmente para estas funciones. Con el fin de procesar los amplios volúmenes de datos necesarios para las aplicaciones de HFT, se debe utilizar un sistema de backtester y ejecución ampliamente optimizado. C / C (posiblemente con algún ensamblador) es probable que el candidato lenguaje más fuerte. estrategias de ultra-alta frecuencia es casi seguro que requieren hardware personalizado tales como FPGAs, cambio de ubicación conjunta y puesta a punto de interfaz de kernel / red. Sistemas de investigación de los sistemas de investigación suelen incluir una mezcla de desarrollo interactivo y secuencias de comandos automatizadas. La primera a menudo se lleva a cabo dentro de un entorno de desarrollo como Visual Studio, MatLab o R Studio. Este último implica extensos cálculos numéricos más numerosos parámetros y puntos de datos. Esto lleva a una elección de idioma proporcionar un entorno fácil de código de prueba, sino que también proporciona suficiente rendimiento para evaluar las estrategias más de múltiples dimensiones de parámetros. IDE típicas en este espacio incluyen Microsoft Visual descripciones sencillas de toda la pila de proyecto (a través del ORM base de datos, LINQ) MatLab C / C, que contiene utilidades de depuración extensa, las capacidades de finalización de código (a través de Intellisense) y. los cuales está diseñado para una amplia álgebra lineal numérica y operaciones vectorizados, pero de una manera interactiva consola de R-Studio. que envuelve la consola lenguaje estadístico R en una de pleno derecho IDE Eclipse IDE para Linux Java y C y entornos de desarrollo semi-propietarios como Enthought Toldo para Python, que incluyen bibliotecas de análisis de datos, tales como NumPy. SciPy. scikit-learn y pandas en un único entorno interactivo (consola). Para backtesting numérica, todos los idiomas antes mencionados son adecuados, aunque no es necesario utilizar una interfaz gráfica de usuario / IDE como el código se ejecuta en segundo plano. La consideración principal en esta etapa es la de la velocidad de ejecución. Un lenguaje compilado (como C) es a menudo útil si las dimensiones de parámetros backtesting son grandes. Recuerde que es necesario tener cuidado con este tipo de sistemas si ese es el idioma de caso interpretado como Python a menudo hacen uso de las bibliotecas de alto rendimiento, tales como NumPy / pandas para la etapa de backtesting, con el fin de mantener un grado razonable de competitividad con el compilado equivalentes. En última instancia el idioma elegido para la backtesting será determinado por las necesidades de algoritmos específicos, así como la gama de bibliotecas disponibles en el idioma (más sobre esto más adelante). Sin embargo, el idioma utilizado en los entornos Backtester y de investigación puede ser completamente independientes de los utilizados en los componentes de la construcción de la cartera, gestión de riesgos y de ejecución, como se verá. Cartera de construcción y gestión de riesgo Los componentes de la construcción de la cartera y de gestión de riesgos son a menudo pasados ​​por alto por los comerciantes minoristas algorítmicos. Esto es casi siempre un error. Estas herramientas proporcionan el mecanismo por el cual se conservará capital. No sólo intentan aliviar el número de apuestas arriesgadas, sino también minimizar la rotación de los oficios a sí mismos, lo que reduce los costos de transacción. versiones sofisticadas de estos componentes pueden tener un efecto significativo en la calidad y consistentcy de la rentabilidad. Es sencillo crear un establo de estrategias como el mecanismo de construcción de la cartera y gestor de riesgos puede ser fácilmente modificado para manejar múltiples sistemas. Por lo tanto deben ser considerados componentes esenciales desde el principio del diseño de un sistema de comercio algorítmico. El trabajo del sistema de construcción de la cartera es tomar un conjunto de operaciones deseadas y producir el conjunto de las operaciones reales que reduzcan al mínimo la rotación, mantener la exposición a diversos factores (por ejemplo, sectores, clases de activos, volatilidad, etc.) y optimizar la asignación de capital para varios estrategias en una cartera. construcción de la cartera reduce a menudo a un problema de álgebra lineal (tal como una matriz de factorización) y por lo tanto el rendimiento es altamente dependiente de la eficacia de la aplicación de álgebra lineal numérica disponible. bibliotecas comunes incluyen uBLAS. LAPACK y NAG para C. MatLab también posee operaciones con matrices ampliamente optimizadas. Python utiliza NumPy / SciPy para tales cálculos. Una cartera reequilibrado con frecuencia requerirá una biblioteca compilada matriz (y bien optimizado) para llevar a cabo este paso, a fin de no cuello de botella en el sistema de comercio. La gestión de riesgos es otra parte muy importante de un sistema de comercio algorítmico. El riesgo puede ser de muchas formas: aumento de la volatilidad (aunque esto puede ser visto como deseable para ciertas estrategias), el aumento de las correlaciones entre las clases de activos, por defecto de contraparte, las interrupciones del servidor, eventos cisne negro y errores no detectados en el código de comercio, por nombrar pocos. Componentes de la gestión del riesgo Trata de anticipar los efectos de la excesiva volatilidad y correlación entre las clases de activos y su posterior efecto (s) en la capital comercial. A menudo, esto se reduce a un conjunto de cálculos estadísticos, como las pruebas de tensión de Monte Carlo. Esto es muy similar a las necesidades computacionales de un derivado de motor de precios y como tal será CPU-bound. Estas simulaciones son altamente parallelisable (ver abajo) y, en cierta medida, es posible tirar de hardware en el problema. Sistemas de Ejecución El trabajo del sistema de ejecución es para recibir las señales de comercio filtrados a partir de los componentes de la construcción de la cartera y de gestión de riesgos y enviarlos a una casa de valores u otros medios de acceso a los mercados. Para la mayoría de las estrategias de negociación algorítmica minoristas esto implica una conexión API o FIX para una casa de valores tales como Interactive Brokers. Las principales consideraciones al decidir sobre un lenguaje incluyen la calidad de la API, la disponibilidad de idiomas-envoltura para un API, frecuencia de ejecución y el deslizamiento esperado. La calidad de la API se refiere a qué tan bien documentado que es, qué tipo de prestaciones que ofrece, si se necesita software independiente que se acceda o si una puerta de entrada se puede establecer de una manera sin cabeza (es decir, sin interfaz gráfica de usuario). En el caso de Interactive Brokers, la herramienta de Trader Workstation debe estar en ejecución en un entorno de interfaz gráfica de usuario con el fin de tener acceso a su API. Una vez tuve que instalar una edición de escritorio Ubuntu en un servidor de la nube de Amazon para acceder de forma remota Interactive Brokers, puramente por esta razón mayoría de las API proporcionarán una C y / o interfaz Java. Por lo general, corresponde a la comunidad para desarrollar envoltorios específicos del idioma para C, Python, R, Excel y MATLAB. Tenga en cuenta que con cada plug-in adicional utilizada (especialmente las envolturas de la API) existe la posibilidad de errores se deslicen en el sistema. Pruebe siempre los plugins de este tipo y garantizar que se mantienen de forma activa. Un indicador de que vale la pena es ver cómo se han hecho muchos nuevos cambios a una base de código en los últimos meses. frecuencia de ejecución es de suma importancia en el algoritmo de ejecución. Tenga en cuenta que cientos de órdenes se pueden enviar cada minuto y, como tal, el rendimiento es crítico. El deslizamiento se haya incurrido a través de un sistema de ejecución de mal rendimiento y esto tendrá un impacto dramático en la rentabilidad. lenguajes de tipo estático (véase más adelante), tales como C / Java son generalmente óptimos para su ejecución, pero hay una compensación en tiempo de desarrollo, prueba y facilidad de mantenimiento. lenguajes de tipo dinámico, como Python y Perl son ahora generalmente lo suficientemente rápido. Siempre que los componentes están diseñados de forma modular (véase más adelante) de manera que se pueden intercambiar como las escalas del sistema. Planificación y Desarrollo Arquitectónico de proceso Los componentes de un sistema de comercio, sus requisitos de frecuencia y volumen se han discutido anteriormente, pero la infraestructura del sistema aún no se ha cubierto. Aquellos que actúan como un comerciante minorista o trabajar en un pequeño fondo probablemente serán diferentes papeles. Será necesario estar cubriendo los parámetros del modelo alfa, gestión del riesgo y de ejecución, así como la aplicación final del sistema. Antes de ahondar en los lenguajes específicos se discutirá el diseño de una arquitectura óptima del sistema. La separación de preocupaciones Una de las decisiones más importantes que se deben hacer al principio es cómo separar las preocupaciones de un sistema de comercio. En el desarrollo de software, esto significa esencialmente cómo dividir los diferentes aspectos del sistema de comercio en componentes modulares independientes. Al exponer las interfaces en cada uno de los componentes es fácil de intercambiar partes del sistema para otras versiones de que la ayuda de rendimiento, fiabilidad y mantenimiento, sin modificar ningún código dependencia externa. Esta es la mejor práctica para este tipo de sistemas. Para que las estrategias a frecuencias más bajas se aconsejará a tales prácticas. Para la negociación de alta frecuencia ultra el libro de reglas podría tener que ser ignorado a expensas de ajustar el sistema para un rendimiento aún más. Un sistema acoplado con más fuerza puede ser deseable. Crear un mapa componente de un sistema de comercio algorítmico vale un artículo en sí mismo. Sin embargo, un enfoque óptimo es para asegurarse de que son componentes separados para las entradas de datos de mercado históricos y en tiempo real, almacenamiento de datos, la API de acceso a datos, Backtester, parámetros de la estrategia, la construcción de carteras, gestión de riesgos y sistemas de ejecución automatizados. Por ejemplo, si el almacén de datos que se utiliza actualmente es de bajo rendimiento, incluso a niveles significativos de optimización, puede cambiarse por reescrituras mínimos en la ingestión de datos o acceso a los datos API. En la medida de la que la backtester y los componentes posteriores se refiere, no hay diferencia. Otro de los beneficios de los componentes separados es que permite que una variedad de lenguajes de programación para ser utilizado en el sistema general. No hay necesidad de limitarse a un solo idioma, si el método de comunicación de los componentes es independiente del lenguaje. Este será el caso si se están comunicando a través de TCP / IP, ZeroMQ o algún otro protocolo independiente del lenguaje. Como ejemplo concreto, consideremos el caso de un sistema de pruebas retrospectivas siendo escrito en C para procesamiento de números de rendimiento, mientras que los sistemas y gestor de la cartera de ejecución están escritos en Python usando SciPy y IBPy. Consideraciones de rendimiento El rendimiento es una consideración importante para la mayoría de las estrategias de negociación. Para las estrategias de frecuencia más alta es el factor más importante. Rendimiento cubre una amplia gama de temas, tales como la velocidad de ejecución algorítmica, la latencia de red, ancho de banda, los datos de E / S, la concurrencia / paralelismo y escalamiento. Cada uno de estos elementos se encuentran en forma individual por los grandes libros de texto, por lo que este artículo sólo pueden rayar la superficie de cada tema. Arquitectura y la elección de idioma seleccionado, se discuten en términos de sus efectos sobre el rendimiento. La idea predominante según lo declarado por Donald Knuth. uno de los padres de la informática, es que la optimización prematura es la raíz de todos los males. Esto es casi siempre el caso -, excepto cuando se construye un algoritmo de negociación de alta frecuencia Para aquellos que están interesados ​​en las estrategias de frecuencias más bajas, un enfoque común es la construcción de un sistema de la manera más simple posible y sólo optimizar los cuellos de botella que comienzan a aparecer. Herramienta básica se utilizan para determinar dónde surgen cuellos de botella. Los perfiles pueden ser hechas para todos los factores mencionados anteriormente, ya sea en un entorno MS Windows o Linux. Hay muchas herramientas del sistema operativo y de idioma disponibles para hacerlo, así como utilidades de terceros. la elección del idioma se discutirá ahora en el contexto de rendimiento. C, Java, Python, R y MATLAB contiene todas las bibliotecas de alto rendimiento (ya sea como parte de su norma o externamente) para la estructura de datos básica y la algorítmica. barcos C con la Biblioteca de plantillas estándar, mientras que Python contiene NumPy / SciPy. tareas matemáticas comunes se encuentran en estas bibliotecas y rara vez es beneficioso para escribir una nueva aplicación. Una excepción es si se requiere una arquitectura de hardware altamente personalizado y un algoritmo está haciendo un amplio uso de extensiones propietarias (como cachés personalizados). Sin embargo, a menudo la reinvención de la rueda que pierde el tiempo podría ser mejor gastado desarrollo y optimización de otras partes de la infraestructura de negociación. El tiempo de desarrollo es extremadamente valioso, especialmente en el contexto de los desarrolladores individuales. Latencia a menudo es un problema del sistema de ejecución como las herramientas de investigación, generalmente situados en la misma máquina. En el primer caso, la latencia puede ocurrir en varios puntos a lo largo de la ruta de ejecución. Las bases de datos deben ser consultados (latencia de disco / red), las señales deben ser generados (syste operativo, la latencia de mensajes de kernel), las señales enviadas comerciales (NIC) de latencia y las órdenes procesadas (sistemas de intercambio de latencia interna). Para las operaciones de mayor frecuencia es necesario estar íntimamente familiarizado con la optimización kernal así como la optimización de transmisión de la red. Esta es una zona profunda y es significativamente más allá del alcance de este artículo, pero si se desea un algoritmo UHFT a continuación, ser consciente de la profundidad de los conocimientos necesarios de caché es muy útil en el kit de herramientas de desarrollador de comercio cuantitativo. El almacenamiento en caché se refiere al concepto de almacenamiento de datos de acceso frecuente en una manera que permite el acceso de mayor rendimiento, a expensas de potencial estancamiento de los datos. Un caso de uso común se produce en el desarrollo web al tomar datos de una base de datos relacional de disco con respaldo y ponerlo en la memoria. Toda solicitud posterior de los datos no tienen que golpear la base de datos y así mejoras de rendimiento pueden ser significativos. Para situaciones comerciales de almacenamiento en caché puede ser muy beneficioso. Por ejemplo, el estado actual de una cartera estrategia se puede almacenar en una memoria caché hasta que se reequilibra, de manera que la lista doesnt necesita ser regenerado en cada bucle del algoritmo de negociación. Dicha regeneración es probable que sea una operación de la CPU o el disco I / O. Sin embargo, el almacenamiento en caché no es sin sus propios problemas. La regeneración de datos de la caché a la vez, debido a la naturaleza volatilie de almacenamiento de memoria caché, puede colocar una demanda significativa en la infraestructura. Otra cuestión es el perro con pilotes. donde varias generaciones de una nueva copia caché se realizan bajo carga extremadamente alta, lo que conduce a la cascada fracaso. Asignación dinámica de memoria es una operación costosa en la ejecución de software. Por lo tanto, es imperativo para las aplicaciones comerciales de mayor rendimiento para estar bien conscientes de cómo se asigna y desasigna durante el desarrollo del programa de memoria. normas lingüísticas más recientes, como Java, C y Python todos realizan la recolección de basura automático. lo que se refiere a la cancelación de asignación de memoria asignada dinámicamente cuando los objetos salen de su alcance. La recolección de basura es extremadamente útil durante el desarrollo, ya que reduce los errores y las ayudas para mejorar la legibilidad. Sin embargo, con frecuencia es subóptima para ciertas estrategias de negociación de alta frecuencia. A menudo se desea la recogida de basura a medida para estos casos. En Java, por ejemplo, sintonizando el recolector de basura y la configuración del montón, es posible obtener un alto rendimiento para las estrategias de HFT. C doesnt proporcionar un recolector de basura nativo y lo que es necesario para manejar toda la asignación de memoria / desasignación como parte de una implementación de objetos. Mientras que potencialmente propenso a errores (que puede conducir a la referencia colgante) es extremadamente útil tener un control detallado de la forma en que los objetos aparecen en el montón para ciertas aplicaciones. Al elegir un idioma asegúrese de estudiar cómo funciona el recolector de basura y si puede ser modificado para optimizar para un caso en particular. Muchas operaciones en los sistemas de negociación algorítmica son susceptibles de paralelización. Esto se refiere al concepto de la realización de múltiples operaciones de programación al mismo tiempo, es decir en paralelo. Los llamados algoritmos embarazosamente paralelos incluyen pasos que se pueden calcular de forma totalmente independiente de otras medidas. Ciertas operaciones estadísticas, tales como simulaciones de Monte Carlo, son un buen ejemplo de algoritmos embarazosamente paralelos como cada sorteo y posterior operación de trazado se puede calcular sin el conocimiento de otros caminos. Otros algoritmos son sólo parcialmente parallelisable. dinámica de fluidos simulaciones son un ejemplo tal, en el que el dominio de cálculo se puede subdividir, pero en última instancia, estos dominios deben comunicarse entre sí y por lo tanto las operaciones son parcialmente secuencial. Parallelisable algoritmos están sujetos a la Ley de Amdahl. que proporciona un límite superior teórico para el aumento de rendimiento de un algoritmo paralelizada cuando se somete a N procesos separados (por ejemplo, sobre un núcleo de CPU o hilo). Paralelización se ha vuelto cada vez más importante como medio de optimización desde el procesador velocidades de reloj se han estancado, como nuevos procesadores contienen muchos núcleos con el que realizar cálculos paralelos. El ascenso de hardware de gráficos de consumo (predominantemente para videojuegos) ha dado lugar al desarrollo de unidades de procesamiento gráfico (GPU), que contienen cientos de núcleos para las operaciones altamente concurrentes. Tales GPU son ahora muy asequible. marcos de alto nivel, tales como Nvidia CUDA han conducido a la adopción generalizada en el mundo académico y las finanzas. Tal hardware de la GPU es por lo general sólo es adecuado para el aspecto de la investigación de las finanzas cuantitativas, mientras que el otro hardware más especializado (incluyendo campo-matrices de puertas programables - FPGAs) se utilizan para (U) HFT. Hoy en día, la mayoría de langauges actuales son compatibles con un grado de concurrencia / multihilo. Por lo tanto, es sencillo para optimizar un backtester, ya que todos los cálculos son generalmente independientes de los otros. Incrustaciones en ingeniería de software y las operaciones se refiere a la capacidad del sistema para manejar cargas crecientes constantemente en forma de mayores solicitudes, el uso del procesador mayor y más asignación de memoria. En el comercio algorítmico es una estrategia capaz de escalar si se puede aceptar grandes cantidades de capital y aún producir retornos consistentes. La pila de tecnología de operaciones escalas si puede soportar volúmenes comerciales más grandes y mayor latencia, sin cuellos de botella. Mientras que los sistemas deben ser diseñados a escala, a menudo es difícil predecir de antemano dónde se producirá un cuello de botella. registro riguroso, las pruebas, el perfilado y el seguimiento serán de gran ayuda en un sistema que permite a escala. lenguas mismas se describen a menudo como no escalable. Este suele ser el resultado de la información falsa, en lugar de hecho duro. Es la tecnología de pila total que debería determinarse para la escalabilidad, no el lenguaje. Está claro que ciertas lenguas tienen un mayor rendimiento que otros en determinados casos de uso, pero un idioma nunca es mejor que otro en todos los sentidos. Una medida de gestión de escala es separar preocupaciones, como se ha indicado anteriormente. Con el fin de introducir aún más la capacidad de manejar picos en el sistema (es decir, la volatilidad repentina que desencadena una serie de operaciones), es útil para crear una arquitectura de colas de mensajes. Esto simplemente significa la colocación de un sistema de cola de mensajes entre los componentes de modo que los pedidos se apilan si un determinado componente no puede procesar muchos pedidos. En lugar de las solicitudes están perdiendo simplemente son mantenidos en una pila hasta que se maneja el mensaje. Esto es particularmente útil para el envío de los oficios a un motor de ejecución. Si el motor está sufriendo bajo la latencia pesada a continuación, se copia de seguridad de las operaciones. Una cola entre el generador de señal de comercio y la API de ejecución será de aliviar este problema, a expensas de deslizamiento potencial comercial. Un corredor de cola de mensajes de código abierto es muy respetado RabbitMQ. Hardware y Sistemas Operativos El hardware que ejecuta su estrategia pueden tener un impacto significativo en la rentabilidad de su algoritmo. Este no es un problema restringido a los operadores de alta frecuencia tampoco. Una mala elección en el hardware y el sistema operativo puede conducir a un accidente o reiniciar la máquina en el momento más inoportuno. Por lo tanto, es necesario tener en cuenta en la aplicación va a residir. La elección es por lo general entre una máquina personal de escritorio, un servidor remoto, un proveedor de nube o un servidor de intercambio de co-localizado. ordenadores de mesa son fáciles de instalar y administrar, en especial con los sistemas operativos amigables nuevos usuarios como Windows 7/8, Mac OS X y Ubuntu. Los sistemas de escritorio sí poseen algunos inconvenientes importantes, sin embargo. El más importante es que las versiones de los sistemas operativos diseñados para máquinas de escritorio es probable que requieran reinicios / parches (y, a menudo en el peor de los tiempos). También utilizan más recursos computacionales por la virtud de que requiere una interfaz gráfica de usuario (GUI). Utilizando el hardware en una casa (o la oficina local) medio ambiente puede conducir a problemas de conectividad de Internet y el tiempo de actividad de potencia. La principal ventaja de un sistema de escritorio es tan significativo poder de cómputo se pueden comprar por una fracción del costo de un servidor dedicado (o un sistema basado en la nube) remota de velocidad comparable. Una máquina servidor dedicado o cloud-based, aunque a menudo más caro que una opción de escritorio, permite la redundancia de la infraestructura más importantes, tales como copias de seguridad de datos automatizados, la capacidad de garantizar el tiempo de actividad más directa y la monitorización remota. Son más difíciles de administrar ya que requieren la capacidad de utilizar las capacidades de acceso remoto del sistema operativo. En Windows esto es generalmente a través de la interfaz gráfica de usuario de Remote Desktop Protocol (RDP). En los sistemas basados ​​en Unix la línea de comandos se utiliza Secure Shell (SSH). infraestructura de servidores basados ​​en Unix es casi siempre de línea de comandos basada en lo que hace inmediatamente herramientas de programación basadas en GUI (como Matlab o Excel) para ser inutilizable. Un servidor de co-situado, como la frase se utiliza en los mercados de capitales, es simplemente un servidor dedicado que reside dentro de un intercambio con el fin de reducir la latencia del algoritmo de negociación. Esto es absolutamente necesario para ciertas estrategias de negociación de alta frecuencia, que dependen de baja latencia con el fin de generar alfa. El último aspecto a elección del hardware y la elección del lenguaje de programación es independencia de la plataforma. ¿Hay una necesidad de que el código se ejecute a través de múltiples sistemas operativos diferentes es el código diseñado para ser ejecutado en un determinado tipo de arquitectura del procesador, como el Intel x86 / x64 o será posible ejecutar en procesadores RISC, tales como los fabricados por ARM Estas cuestiones serán altamente dependiente de la frecuencia y el tipo de estrategia que se implementa. La resiliencia y pruebas Una de las mejores maneras de perder una gran cantidad de dinero en el comercio algorítmico es crear un sistema sin capacidad de recuperación. Esto se refiere a la durabilidad del Inglés cuando están sujetos a eventos raros, tales como la quiebra repentina de bolsa, el exceso de volatilidad, el tiempo de inactividad en toda la región por un proveedor de servidor de la nube o la eliminación accidental de una base de datos de comercio entero. Años de beneficios pueden ser eliminados en cuestión de segundos con una arquitectura mal diseñada. Es absolutamente esencial tener en cuenta cuestiones como la debuggng, las pruebas, la explotación forestal, las copias de seguridad, alta disponibilidad y monitoreo, como componentes fundamentales de su sistema. Es probable que en cualquier aplicación de comercio cuantitativa encargo razonablemente complicada al menos 50 de tiempo de desarrollo se destinarán a la depuración, pruebas y mantenimiento. Casi todos los lenguajes de programación, ya sea buque con un depurador asociado o poseer alternativas de terceros respetados. Michael Salas-Moore Mike es el fundador de QuantStart y ha estado involucrado en la industria de las finanzas cuantitativas en los últimos cinco años, principalmente como un desarrollador quant y luego como consultora comerciante cuant para los fondos de cobertura.

Comments

Popular posts from this blog

Comisiones De Los Agentes De La Divisa Críticas

Opciones Binarias 0x67

Más Rápido Servicio De Noticias De La Divisa