Friday, November 4, 2016

Código Fuente Del Sistema De Comercio Automatizado

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 levels. Code código de negociación Sistema de Bibliotecas está diseminada 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 convierte en 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 - Automated trading SystemIt tampoco parece posible. Pero es con Nuestra estrategias de negociación algorítmica Eso no parece posible. Un sistema de comercio algorítmico con tanto la identificación de tendencias, análisis del ciclo, señales de compra / venta flujos laterales de volumen, múltiples estrategias de operación, la entrada dinámica, objetivo y dejar de precios, y la tecnología de señal ultra-rápido. Pero es. De hecho, la plataforma AlgoTrades sistema de comercio algorítmico es el único de su tipo. No más búsqueda de poblaciones de calor, sectores, materias primas, índices u opiniones del mercado lectura. Algotrades hace todas las búsquedas, el calendario y el comercio para usted, utilizando nuestro sistema de comercio algorítmico. AlgoTrades estrategias probadas pueden ser seguidos de forma manual mediante la recepción de alertas de texto SMS y correo electrónico, o puede ser el comercio de 100 manos libres, su hasta usted puede activar el comercio / apagado automático en cualquier momento por lo que está siempre en control de su destino. Automatizados sistemas de comercio de derechos de autor Los inversores inteligentes 2016 - ALGOTRADES - Sistema Automatizado de comercio algorítmico CFTC REGLA 4.41 - resultados de rendimiento hipotético o simulados tienen limitaciones CIERTAS. Diferencia de un registro RENDIMIENTO actuales, resultados SIMULADOS NO representan operaciones reales. También, ya que los comercios no se han ejecutado, los resultados pueden tener BAJO-O-OVER compensado el impacto, de haberlo, de ciertos factores de mercado, como la falta de liquidez. PROGRAMAS comerciales simuladas, en general, están sujetos a los hecho de que están diseñados con el beneficio de la retrospectiva. NO SE REALIZA LA REPRESENTACIÓN QUE CUALQUIER CUENTA O ES pueda lograr beneficios o pérdidas similares a las indicadas. Ninguna representación está siendo hecha o la presunción de que el uso del sistema de comercio algorítmico generará ingresos o garantizar un beneficio. Existe un riesgo importante de pérdida asociada con el comercio de futuros y los fondos negociados intercambio comerciales. El comercio de futuros y el intercambio de comercio negocian fondos implican un riesgo importante de pérdida y no es adecuado para todo el mundo. Estos resultados se basan en los resultados de rendimiento simulados o hipotéticas que tienen ciertas limitaciones inherentes. A diferencia de los resultados que se muestran en un registro de rendimiento real, estos resultados no representan operaciones reales. Además, debido a que estos oficios en realidad no han sido ejecutados, estos resultados pueden tener bajo-o sobre-compensado por el impacto, si lo hay, de ciertos factores del mercado, tales como la falta de liquidez. programas de simulación de operaciones o hipotéticas en general también están sujetos al hecho de que están diseñados con el beneficio de la retrospectiva. Ninguna representación se está haciendo que cualquier cuenta o pueda lograr beneficios o pérdidas similares a las que se muestran. La información en este sitio web ha sido elaborado sin tener en cuenta ningún objetivo particular, los inversores de inversión, situación financiera y las necesidades y asesora a más suscriptores a no actuar sobre cualquier información sin obtener asesoramiento específico de sus asesores financieros no confiar en la información de la página web como la base primaria por sus decisiones de inversión y tener en cuenta su propio perfil de riesgo, tolerancia al riesgo, y sus propias pérdidas de la parada. - Powered by WordPress Enfold ThemeCOMPLETE este formulario para recibir SU Ebook libre comercio de acciones, INFORMACIÓN amp KIT PARA VER NUESTRA ACCIÓN AUTOMATIZADO DEMOS DE COMERCIO Este software de comercio robótica es un sistema de comercio totalmente automatizado que operar en el mercado para usted 100 desatendida. Recoger o construir una estrategia, encenderlo y alejarse. Nuestro software de comercio robot se encargará del resto. 100 apuntar y hacer clic NO cuenta de corretaje requerido No se requiere programación para iniciar las utilidades durante Maximizar los avances del mercado Crear y probar estrategias en tiempo real, Valoramos su privacidad y no compartiremos su información con agencias externas. Exención de responsabilidad: El Ejemplo estrategias son sólo para fines de demostración. Robótica sistemas de comercio no hace comprar, vender o mantener recomendaciones. experiencias únicas y actuaciones pasadas no garantizan resultados futuros. Sistemas de Trading robóticos son empresas relacionadas con el software y los agentes de bolsa que no tienen licencia. Invertir en el mercado de valores puede ser considerada de alto riesgo y los participantes deben consultar con sus asesores financieros en relación con los riesgos e idoneidad. Fácilmente y de forma inteligente crear una estrategia de comercio de acciones: (leer más.) Debe haber una guía paso a paso para mostrar los comerciantes novatos cómo crear una estrategia de negociación. ¿Hay estrategias de off-the-shelf que están disponibles para su uso ¿Hay cargos involucrados o son ofrecidos de forma gratuita ¿Se puede modificar el frente a las estrategias de estantería Tenga en cuenta que las empresas no se deben garantizar un cierto retorno. Las mejores firmas tendrán estrategias de largo y corto de comercio de acciones disponibles de forma gratuita y permitirán que el corredor de bolsa para crear su propia cuenta. Algunas empresas incluso le permiten copiar las estrategias de una lista de amigos. Un tamaño no sirve para todos. Si la empresa anunciaron que diga a los detalles de la estrategia o por qué seleccionaron o recomendar una determinada población, entonces no es recomendable utilizarlo. Usted puede estar pagando de más por los servicios propios, y puede ser capaz de obtener consejos y recomendaciones bursátiles gratis en línea que llevará a cabo comparable. En robótica software de comercio, no hay ninguna tasa para cualquier estrategia. Muchos usuarios de software de comercio automatizado robótico de comercio de software han ofrecido generosamente las estrategias que desarrollaron para el uso público. Puede utilizar las estrategias como está o se les puede modificar la forma que desee. Por supuesto, usted puede desarrollar sus propias estrategias a partir de cero. La mayoría de los usuarios de prueba cualquier estrategia que se ejecutan en el modo de simulación para un período de tiempo antes de ir a vivir con fondos reales. Tiene una larga y una estrategia a corto por cuenta de: (. Leer más) Debido al tamaño de la plataforma de comercio en línea, puede haber un límite en el número de estrategias que puede haber cargado en cada cuenta. Por ejemplo, si desea ejecutar dos estrategias de negociación de largo, es posible que tenga dos cuentas. También confirmar si tiene suficiente memoria en el equipo por dos o más cuentas. Robótico de software de comercio le permite ejecutar una larga y una estrategia a corto por cuenta. comerciantes activos experimentados pueden ejecutar dos o más estrategias largas y cortas en directo, mientras que las cuentas adicionales para las estrategias que se están probando en un modo de simulador. El más robusto el sistema de comercio automatizado, mayores serán los requisitos de memoria. Comprobar esto antes de registrarse o comprar un nuevo ordenador. Si se suscribe a más de una cuenta, será el equipo tiene suficiente memoria RAM para ejecutar ambos o le tenga que comprar un ordenador extra o más de memoria Si tienes un Mac, pregunte si el software funciona en Mac, ya que no todos lo hacen. Es posible que desee tener un equipo dedicado solamente a sus programas de comercio de acciones automatizadas y ejecutar otros programas de procesamiento de texto u hojas de cálculo en un ordenador independiente. Elija entre cientos de indicadores técnicos: (leer más.) Hay literalmente cientos de indicadores que los operadores de valores se pueden utilizar para determinar qué acciones comprar y vender y cuándo. Los programas más robustos ofrecerán cientos de indicadores para el análisis técnico, como las Bandas de Bollinger, y algunos incluso incluir indicadores para formaciones de velas Gráfico. programas de comercio robot utilizan estos indicadores para establecer condiciones bajo las cuales se producirá la inversión en línea. En robótica software de comercio, tenemos más de 500 indicadores técnicos. Comercio Cool es una plataforma de comercio basado en normas. Los indicadores se utilizan para seleccionar las poblaciones para su lista de vigilancia, para abrir nuevas posiciones, para agregar a posiciones actuales si lo desea, y para salir de sus posiciones. Se pueden copiar las reglas de la lista de visión en sus reglas de posición abierta o añadir a las reglas de la posición actual para que sea aún más fácil de usar. Puede incluso crear indicadores cronometrados que sólo se activan en un momento determinado. La adición o eliminación de reglas es tan simple como hacer clic en la regla de añadir o eliminar reglas seleccionadas buttonsno requiere programación clic aquí para ver la lista de indicadores técnicos Simular estrategias en tiempo real antes de ejecutar en vivo: (. Leer más) La mayoría de los comerciantes estarían de acuerdo en que theyd como para probar un sistema antes de utilizarlo. Algunos programas permiten esto a través de back-testing, en el que el programa utiliza datos históricos para ejecutar las operaciones y le muestran lo que hubieran sido. Esto no siempre es exacta, ya que hay muchos datos necesarios para realizar una copia de prueba completa y su casi imposible de reproducir todas las circunstancias con sólo los datos históricos. Además, como el sistema lleva a cabo en un mercado el mes pasado o el año pasado no indica cómo se va a realizar en el aquí y ahora. El mejor software de comercio automatizado le permitirá practicar el comercio de acciones utilizando una fuente de datos en tiempo real en vivo durante las horas de mercado. Este es el método preferido, ya que ofrece a los operadores una visión muy realista de cómo su estrategia de negociación está llevando a cabo y la capacidad de sentir las altas y bajas de negociación diario sin tener que invertir dinero real. Si se puede simular operaciones, usted no necesita abrir una cuenta de corretaje real hasta que se vaya a vivir con dinero real. Preguntar si hay un límite de cuánto tiempo se puede ejecutar en el modo de simulación. Uno de los aspectos más destacados de robótica de software de comercio es su capacidad para simular las estrategias en tiempo real de forma indefinida antes de ejecutarlas en vivo. Robótico de software de comercio tiene su propia fuente de datos, lo que le permite ejecutar las estrategias en un modo de simulador. También debe revisar el tamaño de la negociación lotsare que 100 acciones o cuotas de 1000 Cuando se ve cómo la estrategia está funcionando, puede realizar cambios o determinar qué agente es mejor usar, basado en parte, por el tamaño de sus operaciones. Esta característica es indispensable, ya que los operadores que valoran su dinero rara vez se ejecutan una estrategia sin probarlo primero. Ejecutar automáticamente su estrategia de negociación: (leer más.) Aun cuando el vehículo está lejos de su computadora Sólo el mejor software de comercio se ejecuta automáticamente su estrategia de negociación, incluso cuando el vehículo está lejos de su computadora. Para el programa raro que tiene esta capacidad, su realiza en base a que el comerciante selección de indicadores técnicos, operadores de comparación y entradas numéricas que activarán la apertura, añadiendo a, o el cierre de las posiciones abiertas. En esencia, sus reglas de un sistema de software impulsadas. El operador puede seleccionar entre cientos de indicadores históricos que representan a las poblaciones de las condiciones anteriores. Los indicadores deben ser actualizados diariamente utilizando los datos más recientes. Los programas que pueden comerciar de forma automática son el producto de la tierra software de inversión en línea. Toman la emoción de la inversión. comerciantes de tiempo largos informan de que las estrategias más simples, cuando se deja correr por su cuenta durante largos períodos de tiempo tienen mejor rendimiento. El programa también debe tener un dispositivo de accionamiento auxiliar por lo que el corredor de bolsa puede colocar manualmente un comercio, así. Específicamente preguntar si el sistema de comercio robot tiene esta capacidad. Muchos mercado a sí mismos como el suministro de software de comercio automatizado, pero no son verdaderamente automatizado. Software de Operaciones robótico está totalmente automatizado De hecho, es el único totalmente automatizado comerciante robótica en existencia. Se puede establecer, literalmente, su Automatizado comerciante para iniciar automáticamente todos los días, ir a trabajar, golf, o ir de compras y ver sus ganancias después de que regrese. terminar faqBest 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. 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.


No comments:

Post a Comment