Tuesday, November 29, 2016

Cómo Construir El Sistema De Comercio Algorítmico


Fundamentos de la negociación algorítmica: Conceptos y ejemplos Carga del jugador. 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 media 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 la acción (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 actual día algo-trading es el comercio de alta frecuencia (HFT), que intenta capitalizar sobre la colocación de un gran número de órdenes 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 el pedido cerca del Precio Promedio 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 utilizando intervalos de tiempo divididos de manera uniforme entre un tiempo de inicio y un tiempo de finalización. 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 feeds de datos 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 Utilizando 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 cerciorarse de que el sistema esté probado a fondo y los límites requeridos se fijen. 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. Cómo puedo mejorar en la construcción de sistemas de negociación algorítmica Si usted está tratando de mejorar en el arte de diseño de estrategia automatizada, en un sentido puramente técnico, hay varias buenas respuestas aquí , Probablemente puede incluso ignorar esto. O, si ya sabes con exactitud qué tipo de acción de precios está sucediendo, intentas aprovecharte, probablemente puedas ignorar esto. Sin embargo, si usted está tratando de mejorar en el oficio de crear estrategias desde el principio que tienen el potencial de obtener ganancias consistentes, su enfoque puede no ser tan eficientemente orientado como podría ser. Lo que quiero decir con esto es que uno puede ser el programador más grande del mundo y pasar años en vano tratando de crear incluso una única estrategia con borde sólido y consistente, una estrategia que realmente (no por casualidad o azar) hones en y exploits Un acontecimiento de la acción del precio que le ganará el dinero verdadero. He venido a aprender que el aspecto de codificación es la parte más pequeña de la batalla, cuando se trata de comercio automatizado. Es mucho, mucho más vital para cultivar una comprensión de los datos que va a trabajar con. Lo que significa un estudio en profundidad de las estadísticas, de la acción del precio del instrumento específico / marco de tiempo que buscan trabajar con, etc En pocas palabras, usted debe tratar de desarrollar una estructura que le permite medir su ventaja real, Determinar si youre probablemente mirando en el borde en absoluto en comparación con el ruido puro. Desarrollar esta estructura, desarrollar métodos y métodos objetivos y probados de medir el valor de cualquier estrategia potencial, es extremadamente difícil de hacer bien, y me llevaría toda una novela para cubrir (una novela que contendría tantos secretos propietarios que no podía permitir Te vas a dejar después de leerlo. Jamás te unirás a los otros, encadenados en el sótano). Sin embargo, prácticamente nada de valor real viene fácilmente, especialmente esto, ya que es el secreto para el comercio automatizado rentable. Es un orden extremadamente alto, ciertamente más fácil decirlo que hacerlo. Pero esto parece ser la verdad tácita en lo que respecta al comercio automatizado de tarde. Veo tanto el enfoque en los aspectos técnicos de la codificación de la estrategia, y tan poco en la verificación de que lo que está siendo codificado es de cualquier valor. Tengo pocas dudas de que esta es una de las principales razones de la tasa de 95 lavado de los que intentan esta ruta de disculpas si esto no responde a su pregunta. Pero me sentí obligado a tirar mis dos centavos, en caso de ayuda. 1.3k Vistas middot Ver Upvotes middot Respuesta solicitada por Hector CG. Más años detrás de un ábaco que dispuesto a confesar, he sido usuario y líder de equipos de desarrollo de sistemas comerciales por lo que parecen eones, y cada vez que salgo a la calle y veo los sistemas de competencia y vendedores, las mejoras, capacidades y El rendimiento general de lo que está disponible me abruma casi hasta el punto de depresión (I039m hablando principalmente en el espacio comercial, los avances son impresionantes). Sí obtener algo bueno en algo (sistemas o cualquier otra cosa en cualquier industria) no es un objetivo que se alcance una vez y se haya hecho, sino un proceso continuo de mejora, aprendizaje y tolerancia a errores. Pero en particular y para mejorar sus habilidades de construcción de sistemas de comercio te sugiero que quotput piel en el gamequot, cómo convertirse en su propio usuario. Así que adelante una abrir una cuenta con el corredor para el que están desarrollando los sistemas, y colocar algunos oficios con dinero real, por supuesto no es tener algo de diversión, tratar de hacer sus operaciones rentables para poner una cantidad decente de dinero en la cuenta , Utilizar las funcionalidades, explotar todas las cosas disponibles, quiero decir, compartir los objetivos con el cliente final y con el tiempo. Oh chico, es increíble lo que aprenderá y realizará y mejorará. Eso definitivamente ayudará. Es como un gran pianista que también es su propio compositor (por ejemplo, Chick Corea), un gran motociclista que realiza su propio material mecánico de moto (por ejemplo, Guy Martin), creo en un gran comerciante que desarrolla sus propios sistemas de comercio y Convertirse en grandes en él (por ejemplo, dunno, usted). Negociación algorítmica: Cómo empezar a construir un sistema de comercio algorítmico 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. El 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 tanto en Python como en MATLAB, dándole la posibilidad de elegir con 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. (Descargo de responsabilidad: trabajo en Quantiacs) 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 Esta respuesta ha sido completamente re - escrito 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 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án 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; 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, la configuración de la infraestructura, la asignación de activos y la gestión de riesgos, pero me centraré en la primera parte de cómo debe ser el trabajo en la construcción de nuestro propio algoritmo, y hacer 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 contra la tendencia, pero deben ser construidos cuando se han construido con éxito y negociado algunos sistemas de buena 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 en pérdida 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 máximo de capital que se puede perder en un comercio, como los mercados son completamente al azar y can039t ser juzgado . De vez en cuando, el mercado hace algo tan estúpido que quita el aliento. 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. Te sugiero que vayas a 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 para seguir el mercado de valores. Si lo lograste a través de matemáticas de quinto grado, puedes hacerlo. QuotPeter Lynch Para comenzar con los fundamentos, consiga un asimiento de 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 último, este tipo tiene algunos buenos consejos para convertirlo en su carrera 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 Kristopher Wuollett. IOS, ex-desarrollador de sistemas de trading Respuesta corta: aprender matemáticas aplicadas al comercio, la estructura de los mercados y, opcionalmente, ser un programador de red / sistemas distribuidos. Hay tres pistas potencialmente paralelas que se pueden tomar para aprender el comercio algorítmico desde cero, dependiendo del propósito último de por qué desea aprenderlo. Here they are in increasing order of difficulty which also correlates to how much it becomes your part of your livelihood. The earlier ones will open the opportunities for the following ones. You may stop at any step along the way once you039ve learned enough or got a job doing it. If you want to be a quant, mostly use math software and not actually be a programmer of an algo system, then the short answer is get a PhD in Mathematics, Physics or some math-heavy related engineering topic. Try to get internships at top hedge funds, prop shops or investment banks. If you can get employed by a successful firm then you will be taught there otherwise, it simply won039t happen. But in any case, you still should finish the 039Self Study039 section below to make sure you really want to go through the effort of getting a PhD. Unless you are a genius, if you don039t have a PhD you won039t be able to compete with those that do unless you specialize in the programming of trading systems. If you wish to be more on the programming side, try applying for employment after each step, but no often than once a year per firm. Self Study The first step is to understand what algorithmic trading really is and what systems are required to support it. I039d recommend reading through quotAlgorithmic Trading amp DMAquot (Johnson, 2010), something I personally did and can recommend. That will let you understand at a basic level. Next you should program your own order book, a simple market data simulator and one algorithm implementation on your on with Java or C/C. For extra credit that would help with getting employment you should write your own networking communication layer from scratch too. At this point you may be able finish answering the question on your own. But for completeness and curiosity, feel free to continue: The next book to tackle is quotTrading amp Exchanges: Market Microstructure for Practitionersquot (Harris, 2003). This will go into finer details of how the markets work. It is another book I039ve read, but not completely studied because I was a systems programmer and not a quant nor a manager on the business side. Finally, if you want to start to learn the mathematics on how the markets work, work through the text and problems in quotOptions, Futures, and Other Derivativesquot (Hull, 2003). I made it through about half of that textbook either in preparation for or as part of internal training at one of my former employers. I believe I originally found out about that book because it was either suggested or required reading for one of well regarded MS Financial Mathematics programs. School To potentially get a better chance at employment through a new-grad feeder program, complete a MS Financial Mathematics program if you wish to be a programmer for a trading platform or a team of quants. If you want to be the one designing the algos, then you need to take the PhD route explained earlier. If you still haven039t finished college, then by all means, try to get an internship at the same type of places. Employment No matter how much you learn in books and school, nothing will compare with the little details you learn while working for a firm. If you don039t know all the edge cases and know when your model stops working, you will lose money. I hope that answers your question and that along the way of learning you discover if you really wish to transition from study to actual day-to-day work.

No comments:

Post a Comment