Friday, October 14, 2016

Cómo Construir El Sistema De Comercio Algorítmico

Los datos, información y material (ldquocontentrdquo) se proporcionan únicamente con fines informativos y educativos. Este material no es, ni debe interpretarse como una oferta, solicitud o recomendación para comprar o vender valores. Cualquier decisión de inversión tomada por el usuario mediante el uso de dicho contenido se basará únicamente en el análisis independiente de los usuarios teniendo en cuenta sus circunstancias financieras, los objetivos de inversión y la tolerancia al riesgo. Ni KJTradingSystems (KJ Trading) ni ninguno de sus proveedores de contenido serán responsables de ningún error o de cualquier acción tomada en dependencia de los mismos. Al acceder al sitio de KJ Trading, el usuario se compromete a no redistribuir el contenido que se encuentre en él, a menos que esté específicamente autorizado para hacerlo. El desempeño individual depende de las habilidades únicas de cada alumno, el compromiso de tiempo y el esfuerzo. Los estudiantes que comparten sus historias no han sido compensados ​​por sus testimonios. Las historias de los estudiantes no han sido verificadas independientemente por KJ Trading. Los resultados pueden no ser típicos y los resultados individuales pueden variar. 8203U. S. Exención de responsabilidad gubernamental - Commodity Futures Trading Commission. El comercio de futuros y opciones tiene grandes recompensas potenciales, pero también un gran riesgo potencial. Debe ser consciente de los riesgos y estar dispuesto a aceptarlos para invertir en los mercados de futuros y opciones. No comercio con el dinero que no puede permitirse perder. Este sitio web no es una solicitud ni una oferta de compra / venta de futuros u opciones. No se ha hecho ninguna representación de que cualquier cuenta tenga o sea probable obtener ganancias o pérdidas similares a las discutidas en este sitio web. El desempeño pasado de cualquier sistema o metodología comercial no es necesariamente indicativo de resultados futuros. CFTC REGLA 4.41 - LOS RESULTADOS DE RENDIMIENTO HIPOTÉTICOS O SIMULADOS TIENEN CIERTAS LIMITACIONES. DESCONOCIDO UN REGISTRO DE RENDIMIENTO REAL, LOS RESULTADOS SIMULADOS NO REPRESENTAN COMERCIO REAL. TAMBIÉN, DADO QUE LOS COMERCIOS NO HAN SIDO EJECUTADOS, LOS RESULTADOS PUEDEN TENERSE COMPROBADO POR EL IMPACTO, CUALQUIERA, DE CIERTOS FACTORES DE MERCADO, COMO FALTA DE LIQUIDEZ, LOS PROGRAMAS SIMILARES DE COMERCIO EN GENERAL ESTÁN TAMBIÉN SUJETOS AL HECHO QUE SE DISEÑAN CON EL BENEFICIO DE HINDSIGHT. NO SE HACE NINGUNA REPRESENTACIÓN QUE CUALQUIER CUENTA TENDRÁ O ES POSIBLE PARA LOGRAR GANANCIAS O PÉRDIDAS SIMILARES A LOS MOSTRADOS. Los testimonios que aparecen en este sitio se reciben en realidad por correo electrónico o comentarios de encuesta web. Son experiencias individuales, que reflejan experiencias de la vida real de aquellos que han utilizado nuestros productos y / o servicios de alguna manera u otra. Sin embargo, son resultados individuales y los resultados varían. No afirmamos que sean resultados típicos que los consumidores generalmente lograrán. Los testimonios no son necesariamente representativos de todos aquellos que usarán nuestros productos y / o servicios. Los testimonios presentados se dan literalmente excepto para la corrección de errores gramaticales o de mecanografía. Algunos se han acortado, lo que significa que no todo el mensaje recibido por el escritor de testimonio se muestra, cuando parecía largo o el testimonio en su totalidad parecía irrelevante para el público en general. Correo electrónico: kdavey at kjtradingsystems (c) Derechos de autor - KJ Trading Systems. Todos los derechos reservados en todo el mundo. KJ Trading SystemsBasics of Algorithmic Trading: Conceptos y ejemplos Cargando el reproductor. Un algoritmo es un conjunto específico de instrucciones claramente definidas destinadas a llevar a cabo una tarea o proceso. El trading algorítmico (trading automatizado, black-box trading o simplemente algo-trading) es el proceso de usar computadoras programadas para seguir un conjunto definido de instrucciones para colocar un comercio con el fin de generar beneficios a una velocidad y frecuencia que es imposible para un Comerciante humano Los conjuntos de reglas definidas se basan en el tiempo, el precio, la cantidad o cualquier modelo matemático. Aparte de las oportunidades de beneficio para el comerciante, algo-trading hace que los mercados más líquidos y hace que el comercio más sistemático por descartar impactos humanos emocionales en las actividades comerciales. Supongamos que un comerciante sigue estos sencillos criterios comerciales: Compra 50 acciones de una acción cuando su promedio móvil de 50 días supera el promedio móvil de 200 días Vende las acciones de la acción cuando su promedio móvil de 50 días se sitúa por debajo de la media móvil de 200 días Utilizando este conjunto de dos instrucciones sencillas, es fácil escribir un programa informático que vigile automáticamente el precio de las acciones (y los indicadores de media móvil) y coloque los pedidos de compra y venta cuando se cumplan las condiciones definidas. El comerciante ya no tiene que mantener un reloj para los precios en vivo y gráficos, o poner en los pedidos manualmente. El sistema de comercio algorítmico lo hace automáticamente para él, identificando correctamente la oportunidad de negociación. Algo-trading ofrece los siguientes beneficios: Operaciones ejecutadas a los mejores precios posibles Posicionamiento inmediato y preciso de pedidos comerciales (con altas posibilidades de ejecución en los niveles deseados) Operaciones Controlar simultáneamente los controles automatizados en múltiples condiciones de mercado Reducir el riesgo de errores manuales en la colocación de las operaciones Volver a probar el algoritmo, sobre la base de datos históricos y en tiempo real disponibles Reducido La posibilidad de errores por parte de los comerciantes humanos basada en factores emocionales y psicológicos La mayor parte del día actual algo-trading es el comercio de alta frecuencia (HFT), que intenta capitalizar sobre la colocación de un gran número de pedidos a velocidades muy rápidas en múltiples mercados y múltiples decisiones Parámetros, basándose en instrucciones preprogramadas. Algo-trading se utiliza en muchas formas de comercio y las actividades de inversión, incluyendo: Inversores de mediano a largo plazo o empresas de compra de lado (fondos de pensiones , Fondos de inversión, compañías de seguros) que compran en acciones en grandes cantidades pero no quieren influir en los precios de las acciones con inversiones discretas de gran volumen. Los comerciantes a corto plazo y los participantes de la parte vendedora (fabricantes de mercado, especuladores y arbitrajes) se benefician de la ejecución automatizada del comercio, además de las ayudas para la creación de liquidez suficiente para los vendedores en el mercado. Los comerciantes sistemáticos (seguidores de tendencias, comerciantes de parejas, fondos de cobertura, etc.) encuentran mucho más eficiente programar sus reglas comerciales y dejar que el programa se comercialice automáticamente. El comercio algorítmico proporciona un enfoque más sistemático al comercio activo que los métodos basados ​​en la intuición o el instinto de los comerciantes humanos. Estrategias de negociación algorítmica Cualquier estrategia para el comercio algorítmico requiere una oportunidad identificada que sea rentable en términos de ganancias mejoradas o reducción de costos. Las siguientes son estrategias comunes de trading usadas en algo-trading: Las estrategias de trading algorítmicas más comunes siguen las tendencias en las medias móviles. Canales. Movimientos del nivel de precios e indicadores técnicos relacionados. Estas son las estrategias más sencillas y fáciles de implementar a través de la negociación algorítmica, ya que estas estrategias no implican la realización de predicciones o previsiones de precios. Las operaciones se inician en función de las tendencias deseadas. Que son fáciles y sencillos de implementar a través de algoritmos sin entrar en la complejidad del análisis predictivo. El ejemplo mencionado de 50 y 200 días de media móvil es una estrategia de seguimiento de la tendencia popular. Comprar una acción cotizada dual a un precio más bajo en un mercado y venderlo simultáneamente a un precio más alto en otro mercado ofrece el diferencial de precio como beneficio libre de riesgo O arbitraje. La misma operación puede repetirse para las acciones frente a los instrumentos de futuros, ya que existen diferencias de precios de vez en cuando. La implementación de un algoritmo para identificar tales diferenciales de precios y colocar los pedidos permite oportunidades rentables de manera eficiente. Los fondos de índice han definido períodos de reequilibrio para que sus participaciones estén a la par con sus respectivos índices de referencia. Esto crea oportunidades rentables para los comerciantes algorítmicos, que capitalizar las operaciones esperadas que ofrecen beneficios de 20-80 puntos básicos dependiendo de la cantidad de acciones en el fondo índice, justo antes de reequilibrar el fondo de índice. Tales operaciones se inician a través de sistemas de negociación algorítmica para la ejecución oportuna y mejores precios. Una gran cantidad de modelos matemáticos probados, como la estrategia de negociación delta neutral, que permiten la negociación sobre la combinación de opciones y su valor subyacente. Donde las operaciones se colocan para compensar los deltas positivos y negativos para que el delta de la cartera se mantenga en cero. La estrategia de reversión media se basa en la idea de que los precios altos y bajos de un activo son un fenómeno temporal que vuelve a su valor medio periódicamente. Identificar y definir un rango de precios y un algoritmo de implementación basado en que permite que los oficios se colocan automáticamente cuando el precio del activo se rompe dentro y fuera de su rango definido. La estrategia de precio medio ponderado por volumen rompe un pedido grande y libera trozos más pequeños determinados dinámicamente de la orden al mercado usando perfiles de volumen históricos específicos de stock. El objetivo es ejecutar la orden cerca del Precio Medio Ponderado por Volumen (VWAP), beneficiándose así del precio medio. La estrategia de precios promedio ponderada en el tiempo rompe una gran orden y libera trozos más pequeños dinámicamente determinados de la orden al mercado usando intervalos de tiempo divididos de manera uniforme entre un inicio y un final. El objetivo es ejecutar la orden cerca del precio medio entre el inicio y el final, minimizando así el impacto en el mercado. Hasta que el pedido comercial se llene completamente, este algoritmo continúa enviando órdenes parciales, de acuerdo a la relación de participación definida y de acuerdo con el volumen negociado en los mercados. La estrategia de pasos relacionados envía órdenes a un porcentaje definido por el usuario de los volúmenes de mercado y aumenta o disminuye esta tasa de participación cuando el precio de la acción alcanza los niveles definidos por el usuario. La estrategia de déficit de implementación tiene como objetivo minimizar el costo de ejecución de una orden negociando el mercado en tiempo real, ahorrando así el costo de la orden y beneficiándose del costo de oportunidad de la ejecución retrasada. La estrategia aumentará la tasa de participación objetivo cuando el precio de las acciones se mueve favorablemente y disminuirlo cuando el precio de las acciones se mueve adversamente. Hay algunas clases especiales de algoritmos que intentan identificar acontecimientos en el otro lado. Estos algoritmos de sniffing, utilizados, por ejemplo, por un fabricante de mercado de venta, tienen la inteligencia integrada para identificar la existencia de cualquier algoritmo en el lado de compra de una orden grande. Esta detección a través de algoritmos ayudará al creador de mercado a identificar grandes oportunidades de pedidos y le permitirá beneficiarse al llenar los pedidos a un precio más alto. Esto a veces se identifica como de alta tecnología front-running. Requisitos técnicos para el comercio algorítmico La implementación del algoritmo usando un programa de computadora es la última parte, batida con backtesting. El desafío es transformar la estrategia identificada en un proceso computarizado integrado que tiene acceso a una cuenta de negociación para realizar pedidos. Los siguientes son necesarios: Conocimiento de programación de computadoras para programar la estrategia de negociación requerida, programadores contratados o software de comercio pre-fabricado Conectividad de red y acceso a plataformas de negociación para colocar los pedidos Acceso a los feeds de mercado que serán monitoreados por el algoritmo para oportunidades de colocar Órdenes La capacidad y la infraestructura para backtest el sistema una vez construido, antes de que vaya vivo en los mercados reales Datos históricos disponibles para backtesting, dependiendo de la complejidad de las reglas implementadas en el algoritmo Aquí está un ejemplo completo: Royal Dutch Shell (RDS) Bolsa de Valores (AEX) y Bolsa de Valores de Londres (LSE). Permite crear un algoritmo para identificar oportunidades de arbitraje. Debido a la diferencia horaria de una hora, AEX se abre una hora antes que LSE, seguido de ambos intercambios que operan simultáneamente durante las próximas horas y luego se negocian sólo en LSE durante La última hora a medida que se cierra AEX Podemos explorar la posibilidad de negociación de arbitraje en las acciones de Royal Dutch Shell que figuran en estos dos mercados en dos monedas diferentes Un programa informático que puede leer los precios actuales del mercado Precios de feeds de LSE y AEX Tipo de cambio de GBP-EUR Capacidad de colocación de pedidos que puede encaminar el pedido al intercambio correcto Capacidad de back-testing en precios históricos El programa de computadora debe realizar lo siguiente: Leer el feed de precio entrante de acciones RDS de ambos intercambios Usando los tipos de cambio disponibles . Convertir el precio de una moneda a otro Si existe una discrepancia de precio suficientemente grande (descontando los costos de corretaje) que conduce a una oportunidad rentable, entonces ponga la orden de compra en el precio más bajo de cambio y el orden de venta en un cambio más alto Si los pedidos se ejecutan como Sin embargo, la práctica del trading algorítmico no es tan simple de mantener y ejecutar. Recuerde, si usted puede colocar un comercio algo-generado, así que puede los otros participantes del mercado. En consecuencia, los precios fluctúan en milisegundos e incluso microsegundos. En el ejemplo anterior, qué sucede si su compra de comercio se ejecuta, pero vender el comercio doesnt como los precios de venta cambian en el momento en que su orden llega al mercado Usted terminará sentado con una posición abierta. Haciendo su estrategia de arbitraje sin valor. Existen riesgos y desafíos adicionales: por ejemplo, los riesgos de falla del sistema, los errores de conectividad de la red, los intervalos de tiempo entre las órdenes comerciales y la ejecución y, lo que es más importante, los algoritmos imperfectos. Cuanto más complejo sea un algoritmo, el backtesting más riguroso es necesario antes de que se ponga en acción. El análisis cuantitativo de un desempeño de algoritmos juega un papel importante y debe ser examinado críticamente. Es emocionante ir a la automatización ayudada por computadoras con la noción de ganar dinero sin esfuerzo. Pero uno debe asegurarse de que el sistema está completamente probado y los límites requeridos se establecen. Los comerciantes analíticos deben considerar el aprendizaje de la programación y los sistemas de construcción por su cuenta, para estar seguros de la aplicación de las estrategias adecuadas de manera infalible. Uso cauteloso y pruebas exhaustivas de algo-trading puede crear oportunidades rentables. Como puramente un científico de la computación youre en la posición perfecta para empezar en el comercio algorítmico. Esto es algo que he visto de primera mano en Quantiacs 1. donde los científicos y los ingenieros son capaces de saltar a la derecha en el comercio automatizado sin ninguna experiencia previa. En otras palabras, las chuletas de programación son el ingrediente principal necesario para empezar. Para obtener una comprensión general de los desafíos que le esperan después de / durante la creación de un sistema de comercio algorítmico, echa un vistazo a este post de Quora. La construcción de un sistema comercial desde cero requerirá algunos conocimientos básicos, una plataforma de negociación, datos de mercado y acceso al mercado. Aunque no es un requisito, la elección de una sola plataforma de comercio que proporciona la mayoría de estos recursos le ayudará a ponerse al día rápidamente. Dicho esto, las habilidades que desarrolle serán transferibles a cualquier lenguaje de programación y casi cualquier plataforma. Lo creas o no, la construcción de estrategias de comercio automatizado no se basa en ser un experto en el mercado. Sin embargo, el aprendizaje de la mecánica básica del mercado le ayudará a descubrir estrategias comerciales rentables. Opciones, Futuros y Otros Derivados por John C. Hull - Gran primer libro para entrar en finanzas cuantitativas, y acercándolo desde el lado de las matemáticas. Comercio cuantitativo por Ernie Chan - Ernie Chan proporciona el mejor libro introductorio para el comercio cuantitativo y le guía a través del proceso de crear algoritmos que negocian en MATLAB y Excel. Negociación Algorítmica de Futuros a través del Aprendizaje Automático - Un desglose de 5 páginas de aplicación de un modelo simple de aprendizaje automático a los indicadores de análisis técnico comúnmente utilizados. Heres una lista de lectura agregada PDF con un desglose completo de libros, videos, cursos y foros de comercio. La mejor manera de aprender es haciendo, y en el caso de comercio automatizado que se reduce a la elaboración de gráficos y la codificación. Un buen punto de partida son los ejemplos existentes de sistemas de negociación y las exposiciones existentes de técnicas de análisis técnico. Por otra parte, un informático experto tiene el borde adicional de ser capaz de aplicar el aprendizaje de la máquina a la negociación algorítmica. Éstos son algunos de esos recursos: TradingView - Una fantástica plataforma de gráficos visuales por sí solo, TradingView es un gran patio de recreo para sentirse cómodo con el análisis técnico. Tiene el beneficio añadido de permitir que usted guíe las estrategias de comercio y navegar por otras ideas comerciales. Foro de Negociación Automatizado - Gran comunidad en línea para publicar preguntas para principiantes y encontrar respuestas a problemas comunes cuando recién comienza. Quant foros son un gran lugar para sumergirse en estrategias, herramientas y técnicas. Seminario de YouTube sobre ideas comerciales con ejemplos de código de trabajo en Github. Aprendizaje Automático: Se pueden encontrar más presentaciones sobre comercio automatizado en el Club Quantiacs Quant. La mayoría de las personas de un fondo científico (ya sea que la informática o ingeniería) han tenido la exposición a Python o MATLAB, que pasan a ser los idiomas populares para la financiación cuantitativa. Quantiacs ha creado una caja de herramientas de código abierto que proporciona backtesting y 15 años de datos históricos de mercado de forma gratuita. La mejor parte es que todo está construido en Python y MATLAB, dándole la opción de qué desarrollar su sistema. Heres una tendencia de la muestra de seguimiento de la estrategia comercial en MATLAB. Éste es todo el código necesario para ejecutar un sistema de comercio automatizado, mostrando tanto la potencia de MATLAB como la Caja de herramientas de Quantiacs. Quantiacs le permite intercambiar 44 futuros y todas las existencias del SampP 500. Además, se admite una variedad de bibliotecas adicionales como TensorFlow. Una vez que esté listo para ganar dinero como un quant, puede unirse al último concurso de comercio automatizado de Quantiacs, con un total de 2,250,000 en inversiones disponibles: Puede competir con los mejores quants? 12.2k Vistas middot Ver Upvotes (Disclaimer: Trabajo en Quantiacs) Middot No para la reproducción Esta respuesta ha sido completamente reescrita Aquí hay 6 base de conocimiento principal para la construcción de sistemas de negociación algorítmica. Usted debe estar familiarizado con todos ellos con el fin de construir sistemas comerciales eficaces. Algunos de los términos utilizados pueden ser ligeramente técnicos, pero usted debe ser capaz de entenderlos por Google. Nota: (La mayoría de) estos no se aplican si desea hacer el comercio de alta frecuencia 1. Teorías del mercado Usted necesita entender cómo funciona el mercado. Más específicamente, debe comprender las ineficiencias del mercado, las relaciones entre los diferentes activos / productos y el comportamiento de los precios. Las ideas comerciales surgen de ineficiencias del mercado. Usted tendrá que saber cómo evaluar las ineficiencias del mercado que le dan un borde de negociación frente a los que no. Diseñar robots eficaces implica entender cómo funcionan los sistemas de negociación automatizados. Esencialmente, una estrategia de negociación algorítmica consta de 3 componentes principales: 1) Entradas, 2) Salidas y 3) Posición de tamaño. Youll necesidad de diseñar estos 3 componentes en relación con la ineficiencia del mercado que está captando (y no, este no es un proceso sencillo). Usted no necesita saber la matemática avanzada (aunque ayudará si usted apunta construir estrategias más complejas). Buenas habilidades de pensamiento crítico y una comprensión decente de las estadísticas le llevará muy lejos. El diseño involucra backtesting (pruebas para el borde de negociación y robustez) y optimización (maximizando el rendimiento con ajuste de curva mínimo). Youll necesidad de saber cómo administrar un portafolio de estrategias de negociación algorítmica también. Las estrategias pueden ser complementarias o conflictivas, lo que puede dar lugar a aumentos no planificados de la exposición al riesgo o cobertura no deseada. La asignación de capital es importante también se divide el capital por igual durante los intervalos regulares o recompensar a los ganadores con más capital Si usted sabe qué productos desea comerciar, encontrar plataformas de negociación adecuadas para estos productos. A continuación, aprender el lenguaje de programación API de esta plataforma / backtesters. Si usted comienza hacia fuera, recomendaría Quantopian (acciones solamente), Quantconnect (acción y FX) o Metatrader 4 (FX y CFDs en índices de la equidad, valores y materias). Los lenguajes de programación utilizados son Python, C y MQL4 respectivamente. 4. Gestión de datos Basura en la basura. Los datos inexactos conducen a resultados de pruebas inexactos. Necesitamos datos razonablemente limpios para una prueba precisa. Los datos de limpieza son un equilibrio entre costo y precisión. Si desea obtener datos más precisos, debe dedicar más tiempo (dinero en el tiempo) a limpiarlo. Algunos problemas que causan datos sucios incluyen datos perdidos, datos duplicados, datos erróneos (señales negativas). Otras cuestiones que conducen a datos engañosos incluyen los dividendos, las divisiones de valores y los traspasos de futuros, etc. 5. Gestión de riesgos Existen dos tipos principales de riesgo: riesgo de mercado y riesgo operativo. El riesgo de mercado implica el riesgo relacionado con su estrategia comercial. Considera los peores escenarios? Qué sucede si ocurre un evento de cisne negro como el de la 3ª Guerra Mundial? Ha protegido el riesgo no deseado Su posición es demasiado alta? Además de gestionar el riesgo de mercado, debe examinar el riesgo operacional. El fallo del sistema, la pérdida de conexión a Internet, el algoritmo de ejecución deficiente (que conduce a unos precios mal ejecutados o los tráficos perdidos debido a la incapacidad de manejar requotes / alto deslizamiento) y el robo por parte de hackers son problemas muy reales. 6. Ejecución en vivo Backtesting y el comercio en vivo son muy diferentes. Youll necesidad de seleccionar los corredores adecuados (MM vs STP vs ECN). Forex mercado de noticias con Forex Trading foros amp corredores de Forex es su mejor amigo, leer comentarios de broker allí. Necesita una infraestructura adecuada (VPN seguro, tiempo de inactividad, etc.) y procedimientos de evaluación (monitoree el desempeño de sus robots y analícelos en relación a la ineficiencia del mercado / backtests / op timisations) para administrar su robot durante toda su vida útil. Usted necesita saber cuándo intervenir (modificar / actualizar / apagar / urna t en sus robots) y cuando no. Evaluación y optimización de las estrategias de comercio Pardo (Grandes ideas sobre los métodos en la construcción y las estrategias de comercio de pruebas) El comercio de su camino a la libertad financiera Van K Tharp (Ridiculous-Click título cebo a un lado, este libro es una gran visión general a los sistemas de comercio mecánico) La microestructura del mercado es la ciencia de cómo funcionan los intercambios y lo que realmente sucede cuando se coloca un comercio Es importante conocer esta información A pesar de que está empezando) Algorithmic Trading DMA amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; Como una hora de acostarse leer) Quantopian (Código, la investigación, y discutir ideas con la comunidad. Utiliza Python) Fundamentos de Algo Trading AlgoTrading101 (Renuncia: Soy propietario de este sitio / curso. Aprender teorías del diseño del robot, teorías del mercado y codificación. Utiliza MQL4) - Únete al desafío (Aprende los conceptos comerciales y las teorías de backtesting.) Desarrollaron recientemente su propia plataforma de backtesting y trading, por lo que esta parte es nueva para mí. Incluye foros de finanzas, comercio y comercio de algo): Lenguajes de programación recomendados: Si conoce los productos que desea comercializar, encuentre plataformas de negociación adecuadas para estos productos. A continuación, aprender el lenguaje de programación API de esta plataforma / backtesters. Si usted comienza hacia fuera, recomendaría Quantopian (acciones solamente), Quantconnect (acción y FX) o Metatrader 4 (FX y CFDs en índices de la equidad, valores y materias). Los lenguajes de programación utilizados son Python, C y MQL4 respectivamente. Aunque este es un tema muy amplio con referencias a la construcción de algoritmos, el establecimiento de la infraestructura, la asignación de activos y la gestión de riesgos, pero sólo me centraré en la primera parte de cómo debe ser el trabajo en la construcción de nuestro propio algoritmo , Y haciendo las cosas correctas. 1. Estrategia de construcción. Algunos de los puntos clave a tener en cuenta son: Capturar grandes tendencias - Una buena estrategia debe en todos los casos, ganar dinero cuando el mercado está en tendencia. Los mercados van con una buena tendencia que dura sólo 15-20 del tiempo, pero este es el momento en que todos los gatos y perros (los comerciantes de todo el tiempo, intradía, diario, semanal, a largo plazo) están de compras y todos ellos Tienen un tema común. Una gran cantidad de comerciantes también construir estrategias de reversión media en la que tratan de juzgar las condiciones cuando el precio se han alejado de la media, y tomar un comercio en contra de la tendencia, pero deben ser construidos cuando se han construido con éxito y negociado algunos buenos sistemas de tendencia siguiente . Las probabilidades de apilar - Las personas a menudo trabajan para tratar de construir un sistema que tiene una relación excelente ganancia / pérdida, pero que no es el enfoque correcto. Por ejemplo un algo con un ganador de 70 con una ganancia media de 100 por comercio y una pérdida promedio de 200 por comercio sólo hará 100 por 10 oficios (10 / trade net). Pero un algo con un ganador de 30 con ganancia media de 500 por comercio y pérdida de 100 por comercio hará un beneficio neto de 800 para 10 operaciones (80 / comercio). Por lo tanto, no es necesario que la relación ganancia / pérdida debe ser bueno, más bien las probabilidades de apilar lo que debería ser mejor. Esto va diciendo quotKeep las pérdidas pequeñas, pero deja correr a tus ganadores. En la inversión, lo que es cómodo rara vez es rentable. Robert Arnott Drawdown - Drawdown es inevitable, si está siguiendo cualquier tipo de estrategia. Así que al diseñar un algo don039t tratar de reducir la reducción o hacer alguna condición personalizada específica para cuidar de que la reducción. Esta condición específica puede en el futuro puede actuar como un obstáculo en la captura de una gran tendencia y su algo puede funcionar mal. Gestión de Riesgos - Al construir una estrategia, siempre debe tener una puerta de salida, lo que el mercado elige hacer. El mercado es un lugar de probabilidades y usted debe diseñar un algo para salir de un comercio tan pronto como sea posible si no encaja su apetito de riesgo. Normalmente se argumenta que usted debe arriesgar el 1-2 del capital en cada comercio, y es óptimo de muchas maneras como incluso si usted consigue arnd 10 operaciones falsas en la sucesión su capital bajará por solamente 20. Pero esto no es el En un escenario de mercado real. Algunas operaciones con pérdidas estarán entre 0-1, mientras que algunas pueden ir a 3-4, por lo que es mejor definir el promedio de pérdida de capital por comercio y el capital máximo que se puede perder en un comercio, ya que los mercados son completamente al azar y no se puede juzgar . De vez en cuando, el mercado hace algo tan estúpido que le quita el aliento. quot - Jim Cramer 2. Prueba y optimización de un deslizamiento de la estrategia. Cuando estamos probando una estrategia sobre datos históricos, estamos bajo la suposición de que el pedido se ejecutará al precio predefinido que llega el algo. Pero esto nunca será el caso, ya que tenemos que lidiar con los creadores de mercado y algoritmos de HFT ahora. Su orden en el mundo de today039s nunca será ejecutada en el precio deseado, y habrá deslizamiento. Esto debe incluirse en las pruebas. Impacto en el mercado: El volumen comercializado por el algo es otro factor importante que debe considerarse al realizar back-testing y recopilar resultados históricos. A medida que el volumen aumenta, los pedidos realizados por algo tendrán un impacto considerable en el mercado y el precio promedio del pedido lleno será muy diferente. Su algo puede producir resultados diferentes en las condiciones reales del mercado, si no va a estudiar la dinámica de volumen que tiene su algo. Optimización: La mayoría de los comerciantes le sugieren que no haga ajuste de curva y sobre optimización y son correctos como los mercados son una función de variables aleatorias y ninguna situación dos será nunca lo mismo. Así que la optimización de parámetros para situaciones particulares es una mala idea. Le sugeriría que vaya para la optimización de zonas. Es una técnica que yo sigo, comprando zonas de identificación que tienen características similares en términos de volatilidad y volumen. Optimizar estas áreas por separado, en lugar de optimizar para todo el período. Lo anterior son algunos de los pasos más básicos y más importantes que yo sigo, al convertir un pensamiento básico en un algoritmo y verificar su validez. Quot Todo el mundo tiene la capacidad intelectual de seguir el mercado de valores. Si lo lograste a través de matemáticas de quinto grado, puedes hacerlo. QuotPeter Lynch 14.5k Vistas middot Ver Upvotes middot No para Reproducción Para empezar con lo básico, coge a Amibroker (AmiBroker - Download). Amibroker tiene un lenguaje fácil de aprender y potente motor de backtest donde puedes prototipar tus ideas. También obtener Howard Bandy 039s libro Quantitative Trading Systems. Este libro es una muy buena introducción a los conceptos de desarrollo cuántico. También necesitará al menos un conocimiento básico de las estadísticas. Hay un montón de buenos cursos MOOC disponibles para esto de forma gratuita. Tales como este Estadísticas Uno - Princeton University Coursera It039s también vale la pena seguir la calle entera. Que es un mashup de todos los blogs quant, muchos de los cuales publican código Amibroker con sus ideas. A partir de ahí, vale la pena aprender Python (aprender python - Google Search), y también hacer Andrew Ng039s excelente Stanford University Machine Learning curso, que se ejecuta de forma gratuita en Coursera. Si luego desea poner sus propios algoritmos a prueba, buenos sitios para que son Quantconnect o Quantopian. Por fin, este tipo tiene algunos buenos consejos para convertirlo en su carrera www. quantstart / Buena suerte con el viaje Partially taken from Alan Clement039s respuesta a Cómo puede un desarrollador de software en finanzas convertirse en un desarrollador cuán 14.4k Vistas middot Ver Upvotes middot No para Reproducción Dado que soy un graduado en informática que construyó un sistema de comercio de ultra alta frecuencia desde cero, creo que puedo agregar perspectiva de los programadores a algunas respuestas realmente fantásticas sobre cómo ir sobre la construcción de un sistema de comercio algorítmico. 2. Módulo de estrategia (por ejemplo, estrategia crossOver) 3. Router de pedido (por ejemplo, enrutador FIX), puede agregar el Módulo de Riesgo a cualquiera de los siguientes: El Módulo de Estrategia o el Módulo de Enrutador de Orden o ambos. Tan largo su flujo de datos es correcto, usted debe ser bueno para ir. Recuerde que si está diseñando un ATS para la latencia mínima, añadir más capas o la complejidad lo aumentará. Arquitectura mínima ATS Y si añades las campanas y los silbidos, sería un poco complejo: Si también estás interesado en lo esencial de la implementación de la arquitectura anterior, debes tener en cuenta las siguientes cosas. Evite cerraduras / mutex. En caso de que tenga que usarlo, trate de reemplazarlos con estructuras sin cerraduras usando atomics. Hay un par de bibliotecas disponibles para estructuras de datos sin candado (por ejemplo, libcds, kit de concurrencia, etc). C-11 soporta std :: atomic. Y debe esforzarse por utilizarlos también. Si está buscando una latencia baja, evite lo que se hace en QuickFIX. Su escrito para seguridad / flexibilidad / reutilización como objeto (bloqueo) creación y destrucción se realiza para cada invocación de cualquier mensaje a enrutador. Seguramente no hay forma de escribir un código de latencia sensible. Sin asignación de memoria de tiempo de ejecución. La ruta de tiempo de ejecución debe utilizar la gestión de memoria personalizada y sin bloqueo con pool de memoria pre-asignados. Toda la inicialización se puede hacer en constructores. Acoplamiento estrecho. .


No comments:

Post a Comment