Tuesday, October 25, 2016

Edificio Automated Trading Sistemas De Java

W e l c a s Bienvenido al Inicio del Sistema El sistema abierto de Java Trading abierto de Java Trading (OJTS) está destinado a ser una infraestructura común para desarrollar los sistemas de negociación de valores. Se compone de cuatro partes: la recopilación de datos en bruto en internet el reconocimiento de las señales de comercio de un módulo y los módulos de visualización para conectarse a las interfaces de programación de plataformas comerciales como bancos. El proyectos tienen como objetivo es proporcionar un autónomo pura infraestructura común de Java (independiente de la plataforma) para los desarrolladores de sistemas de comercio. Algunos de los aspectos que deben abordarse son proporcionar un esquema de base de datos compatible con SQL92 común para el almacenamiento de datos financieros, interfaces Java comunes para la forma de intercambiar datos entre diferentes módulos, la visualización de los datos financieros primas y las señales de comercio y otros aspectos comunes que se necesitan para crear system. Because una negociación definitiva de mi trabajo y la familia no encuentro el tiempo para mejorar OJTS por más tiempo. Estoy continuando para actualizar la sección de enlaces de abajo que le guiará para proyectos de código abierto de Java más activos en esa zona, sin embargo. De hecho, como consecuencia de mi interés en la dinámica de los mercados de valores empecé un viaje en los detalles más profundos de la economía nacional con el fin de entender los tipos de cambio. En este tema, finalmente me llevó a un estudio más profundo de dinero en sí mismo como la unidad métrica que usamos en economía para medir el valor, el éxito o la utilidad. Este tema resultó ser muy interesante, pero, al mismo tiempo que era muy difícil de encontrar cualquier información acerca de cómo funciona nuestro sistema monetario. Ir alrededor y preguntar a la gente dónde viene el dinero, que lo crea y lo que determina su valor. Se dará cuenta de que incluso las personas que tienen un grado de maestría o doctorado. en economía no va a conocer estos detalles. Oh, sí, ellos responden en algunos términos técnicos crípticos, pero no van a ser capaces de dibujar un diagrama que describe el proceso. H. G. Wells se dice que dijo: Para escribir de la moneda se reconoce generalmente como un objetable, de hecho casi indecente, la práctica. Los editores implorar el escritor casi lágrimas en los ojos para no escribir sobre el dinero, no porque es un tema poco interesante, pero ya que siempre ha sido un año profundamente perturbador. Sugiero a cualquier persona que viva en una sociedad democrática para leer sobre este tema. Afecta a nuestras vidas todos los días hasta el punto de que no puede ser exagerado En mi opinión todos los ciudadanos de un país democrático en ese mundo debe saber que nuestro dinero está viniendo. Lo más probable es que vino a este sitio web con el fin de buscar herramientas que le ayudan en el aumento de su riqueza monetaria. Para entender el dinero unidad métrica (no importa si Dólar o Euro) será un ingrediente importante en su caja de herramientas para hacer dinero. Si tienes poco tiempo y sólo puede permitirse el lujo de leer un solo libro sobre ese tema entonces le sugiero que lea la riqueza, la riqueza virtual y deuda por Frederick Soddy. Yo era capaz de comprar una copia usada a través de Amazon por 23,48, pero existe también una versión en línea. Necesitará el plugin DjVu para leerlo. Este libro fue publicado originalmente en 1929, pero todavía se describen los hechos reales muy bien. Incluso si no estoy de acuerdo con todas las conclusiones de Frederick Soddy su trabajo se pensó divertida provocar y le llevará a hacer las preguntas correctas. Estrenos N E W s, correcciones de errores y documentación actualizada anunció la suspensión de desarrollo activo y ha añadido referencias a información sobre nuestros sistemas monetarios (dólar / euro). Se ha añadido una sección de enlaces a otros proyectos de sistemas de comercio de java interesantes. Estoy investigando sobre cómo hacer OJTS más compatible con otras actividades del sistema de comercio de java. Proyecto de documentación de sistema de comercio de la inversión y que se encuentran en ITSdoc. org. Hay un nuevo wiki disponible en ITSdoc. org se centra en la distribución del conocimiento en el ámbito de los sistemas de inversión y comercio. La idea detrás de ITSdoc. org es tener una plataforma de colaboración similar a Wikipedia ayudar a la comunidad para compartir conocimientos. OpenJavaTradingSystem v0.13 liberado. Ayer lanzó la versión 0.13 de la biblioteca OpenJavaTradingSystem. Entre las nuevas características son: Recuperación de datos de acciones, fondos y divisas de OnVista. Implementación de manipulación de dinero y las conversiones. Las carteras se implementan y se puede trabajar con las carteras de la misma forma que con los elementos de papel de seguridad individuales. Se ha añadido un marco general para la aplicación de algoritmos de series de tiempo del mercado de valores. Pasó de SISC / Esquema shell interactivo para ABCL / CommonLisp más su editor llamado J. añadido un mecanismo general de almacenamiento en caché de datos para almacenar en caché los datos que ya se ha recuperado a través de Internet en el sistema de archivos. Además de muchas mejoras más pequeñas Si usted está interesado en esta nueva versión que debe comenzar en la sección de inicio rápido / pantalla. El manual aún no se actualiza, pero se le puede dar, sin embargo, alguna información valiosa si se desea utilizar la biblioteca en su proyecto. La documentación debe actualizarse soon. Currently no hay mucho desarrollo hecho, porque estoy actualizando mis conocimientos acerca de las redes bayesianas. Véase, por ejemplo, la lista de libros sobre mi sitio web. Dos proyectos muy interesantes a este respecto son WEKA y BNJ. Pronto voy a continuar con el desarrollo y voy a empezar a integrar la primera inteligencia en el sistema. Hoy pongo la primera versión en la sección de archivos de la zona de descargas de sourceforge. Además de que el manual actualizado para documentar el uso interactivo del proyecto a través de la capa de SISC Esquema. Para los impacientes que aquí hay una sección de inicio rápido / captura de pantalla para que te va. D o c u m e n t a c i ó n Los documentos que describen la estructura interna del proyecto. Java Data Objects e interfaz de documentación gtgtHTML documentación gtgtPDF uso Documentación del Sistema de Inversión y Comercio gtgtHTML gtgtPDF Proyecto gtgtITSdoc. org T ecnología de terceros bloques de construcción utilizado en este proyecto HSQL Motor de base (licencia: hsqldblic. txt) El HSQLDB es el motor de base de datos se incluye con el proyecto para que pueda comenzar a usar de inmediato las OJTS sin necesidad de instalar una base de datos de terceros. Pero si va a utilizar otra base de datos compatible con SQL92 entonces esta es una opción de configuración. Castor (licencia: La licencia Exolab) de ricino es un marco vinculante para Javatm de datos de código abierto. Es el camino más corto entre los objetos Java, los documentos XML y las tablas relacionales. Castor ofrece Java-a-XML unión, la persistencia en Java a SQL y más. Castor Doclet (licencia: GNU LGPL v2.1) de Java Doclet para generar archivos DDL tanto para el mapeo y Castor JDO y XML de ricino. TestMaker (licencia: Licencia TestMaker Open-Source) Desde el proyecto TestMaker sólo la aplicación de los protocolos como HTTP o HTTPS se utilizan para la recopilación de datos de la web. jCookie (licencia: GNU LGPL v2.1) La biblioteca jCookie es necesario que las bibliotecas TestMaker para trabajar. HTMLParser (licencia: GNU LGPL v2.1) La biblioteca HTMLParser se utiliza para extraer los datos de recursos web. ABCL / CommonLisp (licencia: GNU GPL v2) ABCL (armados tienen Common Lisp) se utiliza para implementar el corazón algorítmica del proyecto en el lenguaje de programación ANSI Common Lisp. JFreeChart (licencia: GNU LGPL v2.1) JFreeChart se utiliza para la visualización de los datos financieros como los gráficos. JSCI (licencia: GNU LGPL v2.1) JSCI - Una API para Java ciencia. Joda Time (licencia: Inicio crecido licencia OpenSource) Joda Time sustituye a la fecha y hora originales clases de JDK. L e n s k Los enlaces a otros proyectos JavaTraders El grupo de Google puede ser la mejor entrada para que usted pueda obtener información sobre otros sistemas comerciales basados ​​en Java y herramientas. L Licencias y Soberanías condiciones de uso El código del proyecto está disponible bajo los términos de la LGPL y toda la documentación que se encuentran en este proyecto están registrados bajo los términos de la jornada FDL. My como un cuanto me ha llevado a leer un gran número de libros disponibles sobre este tema. He llegado a encontrar que, si bien hay una gran cantidad de buenos libros por ahí que en realidad ayudan a obtener información útil, hay más libros que son material de juego de marketing sólo pura metió en las gargantas del lector ignorante. A continuación son mis recomendaciones de libros, categorizados en base a diferentes aspectos del negocio que usted puede estar interesado en la comprensión. Fundamentos: Para el profano que es nuevo en este campo y quiere una ventaja inicial. 1) Dentro de la caja Negro por Rishi Narang - Gran libro para una ventaja inicial en todos los diferentes aspectos de la negociación cuant. información muy general, pero en términos generales cepillos través de todos los aspectos del negocio. 2) Quantitative Trading Ernie Chan - libro perfecto para empezar a trabajar en todos los conceptos básicos con detalles en backtesting y algunas estrategias simples para empezar a trabajar en con. Programación: Depende, la plataforma que desea utilizar. Hay un montón de libros y tutoriales en línea disponibles en cada lenguaje de programación. I039d recomiendan lo siguiente en Python y Java. 1) El aprendizaje de Python de Mark Lutz - Cubre aspectos básicos de pitón. Bueno para empezar. 2) La cabeza primero de Java por Kathy Sierra - Gran libro sobre Java, desde básico a avanzado. Microestructura del mercado: Antes de aprender algo acerca de algo estrategias, es más importante para entender cómo funciona el comercio y cómo los diferentes actores interactúan entre sí para crear un mercado. Intercambios comerciales y por Larry Harris - Cubre la microestructura del mercado en grave profundidad. A debe leer antes de sumergirse en las estrategias para obtener una buena comprensión de los mercados. Estrategias: buenos libros sobre estrategias de diversa naturaleza (impulso, seguimiento de tendencias, pares de comercio, griegos, etc). También he categorizado estos libros basados ​​en el tipo de estrategias que los libros se centran en. 1) algorítmica de Ernie Chan - Un libro más avanzado de Ernie, con una serie de estrategias interesantes para probar y backtest. Mucha buena teoría que explica los conceptos básicos detrás de la existencia de diferentes tipos de behaivour mercado y cómo capturarlos. 2) mecánicos sistemas de comercio de Richard Weissman - Gran libro de estrategias. Cubre una gran cantidad de cantidad de movimiento y la media de las estrategias de reversión en múltiples marcos de tiempo, junto con los resultados backtested. 3) Siguiendo la tendencia de Andreas Clenow - Considero que este libro, uno de los mejores lecturas sobre el tema de tendencia siguiente, una estrategia comercial muy popular. 4) pares de comercio por Ganapathy Vidyamurthy - Muy buen libro en una estrategia de negociación popular conocido como pares de comercio. 5) ¿Cómo hacer dinero en acciones de William O Neil - Una excelente lectura en una fundamentos muy interesantes modelo cuantitativo basado, llamada CANSLIM. Opciones Estrategias: Me cubren las estrategias de opciones bajo un tema diferente, considerando que son mucho más compleja en comparación con Acciones / futuros. 1) Opciones de volatilidad y precios por Sheldon Natenberg - Uno de los mejores libros sobre las opciones para un principiante, su forma de trabajo a partir de los conceptos básicos de todo el camino hasta los griegos y el comercio de la volatilidad. 2) La Biblia de las opciones de estrategias de Guy Cohen - Buen libro para conseguir una velocidad de hasta en todas las diferentes configuraciones de opciones y sus griegos específicos. 3) La volatilidad de comercio por Euan Sinclair - Muy avanzado y en el libro de profundidad en el concepto de comercio de volatilidad. Creo que es el mejor sobre este tema. Gestión de Riesgos: El aspecto más imporatant de la negociación quant que a menudo se pasa por alto. Tamaño de la posición de Van Tharp - Una joya de un libro que explica la idea de gestión de riesgos y manejo de dinero utilizando diferentes técnicas. Mi consejo a un comerciante en ciernes sería algo de investigar a fondo antes de ir a vivir con una estrategia. Considérese un gestor de riesgos en lugar de un administrador de dinero. La gestión del riesgo es lo primero, y luego vienen las devoluciones. 18.1k Vistas middot middot Ver upvotes Not for Reproduction respuesta corta: Introducción a la algorítmica con Heikin-Ashi. Breve guía que te lleva desde principiantes hasta casi cuantitativo. Proporciona un entorno de desarrollo libre, muestra cómo construir un indicador técnico, y cómo crear una estrategia de comercio automatizado. En este post Quora tengo un desglose mayor de cómo empezar. Ya Respuesta: Para convertirse en verdaderos expertos en el desarrollo de estrategias de negociación algorítmica, usted necesitará un conocimiento básico. Esto puede ser recogido en el tiempo y ¿no es cierto crucial tener todo el conocimiento del mercado dominado antes de ponerse en marcha. Aprenden los mercados hay un montón de recursos para esto, y eso es, precisamente, por las que debe ser un poco cuidadoso con lo que los libros que elija para recoger y leer. Ajusals respuesta tiene un desglose de algunos grandes libros. Come Into My Trading Room por Alexander Eldar - fantástico primer libro para cualquier persona nuevo en el comercio. El Dr. Alexander Elder sirve de puente entre los fundamentos del mercado y su rentabilidad de la explotación de los indicadores técnicos. Además, aquí una lista agregada lectura de PDF con un desglose completo de libros, videos, cursos y foros de negociación. Aprender a programar Recomiendo Python o MATLAB, aunque podría decirse que Python es más versátil. MATLAB es muy potente y utilizado por tiendas cuantitativos para la investigación y el desarrollo de estrategias de negociación. Además, si usted está viniendo de cualquier clase de la academia, es probable que ya tiene la exposición a MATLAB. Aprender Python - Un tutorial de Python interactiva destinada para que cualquiera pueda aprender el lenguaje de programación. ejemplos vivos de código pueden ser ejecutadas y probadas directamente en el navegador. MATLAB Guía de inicio rápido - introducción en línea rápida y exhaustiva a MATLAB con un montón de ejemplos de código para obtener su pie. Más intuitiva y sencilla introducción MATLAB disponible. Obtener una Plataforma de Operaciones Im sesgada y recomiendo Quantiacs, es una plataforma de código abierto tanto para Python y MATLAB con los datos históricos. El tutorial vinculada a continuación asume interminables estar usando Quantiacs y proporciona código construido para él, pero las lecciones aprendidas deben ser aplicables a cualquier otra plataforma también. Lo primero es lo primero, usted va a necesitar para instalar la caja de herramientas Quantiacs. Este es un proceso relativamente sencillo que sólo debe tardar unos minutos. Usted tiene la opción de usar Python o MATLAB, ya menos que usted es ya una inversión muy elevada en un solo te recomiendo descargar e instalar ambos. Ir instalar la caja de herramientas. Introducción a la caja de herramientas Quantiacs Tome un vistazo a la estructura de un sistema de comercio muestra aquí en Python y aquí en MATLAB. Los principales componentes de cualquier algoritmo Quantiacs son los ajustes, los mercados y posiciones. Por tanto MATLAB y Python, su algoritmo de negociación vive en un solo archivo que sigue este modelo general. Para un desglose de la visita caja de herramientas aquí. Más información acerca de la caja de herramientas aquí. debe ser bastante sencillo. Este mensaje Quora 1 tiene un desglose detallado de todas las mejores prácticas para examinar realmente su función a partir del y durante el desarrollo. Las sugerencias incluyen el uso de análisis con miras a pie, y fuera de la muestra de prueba dentro de la muestra, y la forma de medir el rendimiento en general. En este post Quora 2 escribí algunos de los desafíos que enfrenta en la construcción de sistemas de comercio automatizados que enviaban generalmente conocidos de forma explícita hasta que pueda empezar. Entre ellos se incluyen asegurar la ventaja, como factor en los costos de capital y de comercio, y cómo no quedar destruida por el comercio de los profesionales en su contra. Los peligros de la curva de ajuste Sólo una nota lateral para advertir sobre el peligro común de desarrollo de la estrategia de cuanto se sobreajuste. Una estrategia de ajuste de la curva es uno eso es sido optimizados tan bien, que encaja perfectamente la evolución pasada de los mercados. El resultado final es que va a fallar por completo con eventos de acción de precio y futuras del mercado. Sobreajuste producirá resultados fantásticos backtesting de estrategias de negociación poco realistas y no rentables. Por lo general, gira en torno a cambio de parámetros tales como el periodo de una media móvil hasta que el rendimiento de algoritmos de negociación mejora significativamente. Mientras que la optimización de estrategias en sí misma es una práctica válida, se tiene que realizar cuidadosamente para evitar overfitting. Esto es lo sobreajuste puede hacer - que puede tomar esta estrategia comercial rentable: Y que sea una increíble uno: Esta estrategia optimizada nunca funcionaría en el mundo real. En el momento de la fecha de inicio del backtest se mueve a cabo por unos pocos años, todo el borde percibida por el mercado se evapora. Arbitrariamente la caza de buenos resultados de pruebas retrospectivas es una práctica peligrosa y suele producir estrategias verdaderamente rentables. (Exención de responsabilidad: yo trabajo en Quantiacs) Una vez que usted está listo para ganar dinero como un Quant, puede unirse a las últimas Quantiacs automatizados competencia comercial, con un total de 2.250.000 en inversiones disponibles: ¿Se puede competir con los mejores cuantos 5.2k Vistas middot Ver upvotes middot no para la reproducción completa de exención de responsabilidad: I039m no es una cuant o algo comerciante de mí mismo. I039ve acaba de ayudar a mucha gente a mejorar en el comercio de algo (ingeniero de cliente en Quantopian). Here039s algunas cosas que I039ve ver desde mi experiencia: Leer Aquí hay dos libros que I039ve vistas recomienda mucho. I039ll le dan el título y la razón por qué. Trading algorítmico: Estrategias ganadoras y las razones por Ernie Chan abarca toda la planta baja desde el principio a las estrategias algorítmicas más avanzados. Literalmente, que le llevará desde quotI no tienen idea de qué tipo de estrategia que pudiera usequot a quotOkay, tengo la posibilidad de elegir entre el impulso, par operando, significa estrategias de reversión. ¿Qué es lo mejor para mi cartera y los objetivos de la derecha nowquot I039m no es broma, esto es un buen libro de introducción y la bibliografía se llevará a donde tiene que ir. Python para análisis de datos. Éste es menos específico para la negociación, pero algo I039m adivinar you039re va a utilizar algún tipo de sistema basado en código y honestamente, Python es la forma más fácil y simple de hacerlo. Empieza a practicar los mejores comerciantes del algo I039ve ven son los que han creado un montón y un montón de algoritmos. Trabajos manuales, tratando, en su defecto. Estas son todas las cosas que le ayudan a diseñar sus estrategias desde la infancia hasta los posibles sistemas de generación de alfa. Sé principalmente dos fuentes donde la gente obtiene su práctica (una vez más, yo trabajo en Quantopian): Tirolesa, que es un pitón algorítmica Trading Biblioteca de código abierto que cualquiera puede utilizar. También alimenta el motor detrás backtester Quantopian que me lleva a mi siguiente punto Quantopian, que proporciona la plataforma, datos, e IDE para poner a prueba sus estrategias en Python y lo ejecuta con dinero real si usted piensa que tiene algo. Inconveniente es que you039ll tienen que aprender los métodos de la API específicas Quantopian. Ventaja es que there039s no hay mucho que aprender y hay un montón de tutoriales para ayudarle a través de él. Ponga su dinero detrás de él toman pequeñas cantidades y en realidad poner un poco de piel en el juego. Backtesting y tal es bueno, pero you039ll pensar de forma diferente una vez que tienes algo que perder. Feynman tiene una buena cita en esto: quot039I podía hacer eso, pero yo won039t, 039 - el cual es otra forma de decir que can039t. - Simplemente decir que su algoritmo puede hacer dinero es diferente de lo que realmente hacer dinero. Así que si no, aprender de ella y repetir el proceso. Si gana, tener cuidado de que un día usted podría fallar. - Sólo unas pocas observaciones de personas que ven pasar por el proceso una y otra vez. 15.5k Vistas middot middot Ver upvotes Not for Reproduction Yo recomendaría empezar con los conceptos básicos del análisis técnico. Algunos libros que he encontrado muy útil (en el siguiente orden): Entra en mi Trading Room: Una guía completa para comercio por Alexander Elder - Apto como un primer libro para cualquier persona completamente nuevo en el comercio. Análisis técnico de los mercados financieros: Una guía completa de Métodos para la operación y aplicaciones por John J. Murphy - introduce al lector en una amplia gama de técnicas que se utilizan en el análisis técnico, un buen punto de partida antes de elegir la dirección adicional. En el lado de programación Yo recomendaría empezar con una plataforma en la que el comerciante puede poner en práctica diversas estrategias en un entorno proporcionado. Estas plataformas son TradeStation o NinjaTrader por ejemplo. Estas plataformas tienen muchas características integradas de gráficos por ejemplo, las conexiones de los agentes, etc, por lo que son relativamente fácil de aprender y fácil de usar. Si alguien ha llegado a este nivel, entonces creo que ya es capaz de decidir si el comercio es para él o no, y si es así entonces qué sentido tiene la intención de tomar. Más adelante será necesario que el comerciante estudio y el uso de un lenguaje de programación a fondo. P. ej. C, C, C o Java para nombrar unos pocos. Entonces será necesario establecer métodos de negociación one039s propios y enfoque, que las técnicas de usar, cómo usarlos y cómo mejoran aún más a estar por delante de los demás. Este es un tema amplio y complejo y todas las diferentes técnicas no puede ser incluido en una sola guía. Si alguien está definitivamente en busca de una guía de un libro, que pueden tratar de ir a Amazon y escriba quot quot comercio algorítmico en la búsqueda (www. amazon / s / refnbs.). Con ello se abre un buen pocos libros dedicados al tema. Nunca he leído ninguno de estos, pero por lo que me acuerdo, basado en los comentarios, algunos de ellos introducir un cierto método y le guiará paso a paso cómo ponerlo en práctica. Independientemente de qué ruta tomar, estar preparado para que al final you039ll tiene que hacer su propia investigación, poner en práctica sus propias ideas y poner en el trabajo extra que se necesita para ser un empresario de éxito. 14.5k Vistas middot middot Ver upvotes Not for Reproduction Here039s la lista de libros Este libro delinear el ciclo completo desde la validación de una idea de comercio, las pruebas, medir y optimizar las estrategias de negociación. Incluye un montón de grandes ideas y sugerencias sobre cada paso en el proceso Deseo I039ve leer el libro mucho antes, there039s un buen número momento que I039ve leer algo allí que me pareció que yo he creado. Y luego there039s un poco más técnica de antemano que I039ve aunque nunca se acerca escrito allí. Este es uno de los primeros libros leidos I039ve sobre los temas, lo cual es bastante simple de entender y cubre los puntos más importantes. Muy buena introducción leí este libro recientemente después de I039ve siguiente Ernie en Quora, para ser honesto, haven039t leído todo el libro, pero recogió esos temas I039ve interesado en It039s un buen complemento de los dos libros anteriores, lo que explica algunos de los temas mejor que los dos anteriores . Si desea saber más acerca de ciertos temas en la negociación algorítmica, mi experiencia es que you039ve de leer varios libros de diferentes autores, incluso sobre el mismo tema. There039s hay un solo libro que cubre todo, pero cada libro te dará algo. I039ve una lista de libros ya la espera de la escritura, pero creo que los tres anteriores debería ser más que suficiente para que usted pueda empezar. Sólo quiero añadir, hay algunos sitios web y libros sobre estos temas realmente quiere vender servicios o software, el contenido de los libros son en realidad sólo marketing material. Pero los libros I039ve mencionados anteriormente son verdaderamente educativo. El autor son tan grandes que poner un material de calidad en el libro. 2.2k Vistas middot middot Ver upvotes no para la ReproductionBest lenguaje de programación para sistemas de comercio algorítmico Por Michael Salas-Moore el 26 de julio de 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.


No comments:

Post a Comment