Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
Backtesting y operaciones en vivo con Interactive Brokers usando Python.
Backtesting y operaciones en vivo con Interactive Brokers usando Python.
El Dr. Julio comienza la sesión brindando una introducción al trading algorítmico y sus beneficios. Explica que el comercio algorítmico permite a los comerciantes reducir la presión de monitorear constantemente el mercado, minimizar los errores humanos y crear más tiempo libre para otras actividades. Destaca los cuatro componentes principales del comercio algorítmico, que son los corredores, Internet, los programas y las computadoras.
Luego, el enfoque cambia a Interactive Brokers (IB), que se presenta como la plataforma de comercio electrónico más grande de los Estados Unidos. El Dr. Julio explica que IB ofrece una tecnología API avanzada que permite a los comerciantes utilizar programas para operar, proporcionando precios competitivos y acceso a los mercados globales. Él enfatiza que los programas de Python se pueden usar para comerciar algorítmicamente con IB.
A continuación, el Dr. Julio presenta un software de Python llamado Hybrid Fat Pack, que permite a los operadores configurar una plataforma de negociación algorítmica en sus computadoras locales o en la nube. Destaca la principal ventaja de esta plataforma, que es la capacidad de proteger la propiedad intelectual al no tener que divulgar ni cargar ninguna información en Internet. Los comerciantes también pueden realizar pruebas retroactivas y operaciones en vivo en un solo lugar, administrar varias cuentas y operar con diferentes corredores utilizando varios paquetes de Python, como TensorFlow y Scikit-learn. Proporciona instrucciones sobre cómo descargar y configurar la plataforma Hybrid Fat Pack desde el sitio web de AI Bridge PI.
A continuación, el Dr. Julio explica los pasos necesarios para configurar las herramientas de backtesting y operaciones en vivo con Interactive Brokers usando Python. Aconseja a los usuarios que descarguen y guarden las herramientas necesarias, incluidos Interactive Brokers, terminales oficiales de IP y Python. También proporciona enlaces a tutoriales, documentación y un foro de la comunidad para obtener asistencia adicional. El Dr. Julio demuestra cómo configurar WS (Workstation) y IB Gateway y muestra cómo abrir un entorno de Python usando Anaconda. Ejecuta un código de Python para mostrar el proceso de configuración y brinda consejos sobre cómo organizar las ventanas para mejorar la productividad.
El orador procede a explicar los pasos iniciales para usar Interactive Brokers con Python. Instruye a los usuarios para que abran un archivo llamado 'Romina Eva' y localicen su código de cuenta, que debe actualizarse en el archivo en consecuencia. El orador demuestra cómo elegir y ejecutar un código Python, inicializando un comerciante y mostrando el saldo de la cuenta, el valor en efectivo, el valor de la cartera y las órdenes pendientes. Los usuarios pueden negociar varios valores, como acciones, opciones, futuros y Forex utilizando Hybrid Fat Pack. El orador menciona que los pedidos realizados no se pueden manipular y se enumeran con una identificación de permiso.
Se demuestra el proceso de recuperación de datos de precios históricos y en tiempo real de Interactive Brokers. Al comentar o descomentar líneas de código específicas, el orador muestra cómo recuperar datos históricos o en tiempo real e imprimirlos en un formato fácil de usar. Se explican la estructura del código y tres funciones esenciales en el código Python, incluida la función "inicializar" que se ejecuta al principio y la función "manejar datos" donde las decisiones comerciales se toman y ejecutan cada 2 segundos de forma predeterminada.
El Dr. Julio explica cómo tomar decisiones comerciales utilizando Python e Interactive Brokers. Los usuarios pueden configurar el código para tomar decisiones en horarios fijos, ya sea cada segundo, hora, día o en momentos específicos. Introduce tres funciones cruciales para crear decisiones comerciales: inicialización, manejo de datos y colocación de un pedido. Para demostrar el proceso, se proporcionan códigos de muestra para obtener datos históricos e imprimir el precio de venta del ETF de I Spears. El orador utiliza el marco de datos de Panda para recuperar e imprimir datos históricos, mostrando cómo se puede utilizar Python para tomar decisiones comerciales.
El orador analiza la colocación de pedidos utilizando variables globales y precios en tiempo real, proporcionando ejemplos de compra de acciones. Interactive Brokers se utiliza para buscar valores, aplicar filtros como el mercado principal de EE. UU. y un precio superior a $ 100, y usar la función de resultado de escaneo cat para obtener información relevante. Se explican los pasos para crear una estrategia algorítmica, incluida la identificación del contrato, la frecuencia de las decisiones comerciales utilizando datos de manejo o funciones programadas, la solicitud de datos históricos y la elección del tipo de orden. Se presenta un ejemplo de una estrategia de reversión de cierre diario, donde las decisiones comerciales se toman en función del precio de cierre del día anterior. Una función de programación se define para ejecutarse diariamente a una hora específica para desencadenar el proceso de toma de decisiones y las acciones posteriores.
El video cubre dos ejemplos de estrategias comerciales en Python. El primer ejemplo demuestra una estrategia básica basada en los precios de cierre de dos días consecutivos. Si el cierre de hoy es más alto que el de ayer, se liquidan todas las posiciones; de lo contrario, se compra SPY. El código está explicado y es relativamente simple. Luego, el video presenta el concepto de backtesting y presenta un ejemplo más avanzado de una estrategia de cruce de promedio móvil. Se discute el proceso de aplicar una estrategia a datos históricos y evaluar su desempeño. El código para esta estrategia se explica y sigue siendo sencillo. El video también cubre la recuperación y el procesamiento de datos, así como el análisis de los resultados de las pruebas y la visualización de los valores de la cartera.
El Dr. Julio analiza el proceso de backtesting y comercio en vivo con Interactive Brokers usando Python. Explica el modo predeterminado de ejecutar la función de manejo de datos cada minuto con fines de prueba y la importancia de tener un plan de inyección de datos históricos. Detalla cómo proporcionar datos diarios y minuto a minuto al código y cómo especificar el marco de tiempo y la frecuencia para realizar pruebas retrospectivas con Interactive Brokers. Se muestra un ejemplo de código que muestra cómo ejecutar un backtester, recuperar y administrar la información de la cuenta y verificar la carpeta de salida para el saldo de la cuenta y el valor en efectivo.
El ponente destaca los beneficios de suministrar datos históricos proporcionados por el usuario para mejorar el rendimiento del código. Si bien los datos de simulación exactos de Interactive Brokers son necesarios para fines de depuración, solicitar información innecesaria puede llevar mucho tiempo. El Dr. Julio sugiere proporcionar solo una parte de los datos históricos o usar datos aleatorios, lo que puede mejorar significativamente el rendimiento del código. Demuestra cómo suministrar datos históricos desde un archivo CSV local, especificar el rango de tiempo y el tipo de datos deseados, y ejecutar pruebas de manera más rápida y eficiente utilizando una lista de tiempo personalizada y el proveedor de datos de 'renderización'.
El Dr. Julio analiza el análisis de rendimiento y su importancia en la evaluación del rendimiento de una estrategia comercial algorítmica. Explica la necesidad de datos históricos para probar y refinar el código, y cómo un gráfico de análisis de rendimiento puede calcular variables como la relación de Sharpe para ayudar en este proceso. Una vez que se sienta cómodo con los resultados del backtesting, el orador aconseja cambiar a una cuenta en papel para ejecutar la estrategia frente a las condiciones reales del mercado. También demuestra cómo usar iBridgePy para manejar múltiples cuentas, lo cual es crucial para los administradores de fondos.
El Dr. Julio concluye destacando la flexibilidad y la naturaleza fácil de usar del software Hybrid Fat Pack, lo que lo convierte en una poderosa herramienta para el comercio algorítmico.
Las últimas funciones de backtesting de IBridgePy por el Dr. Hui Liu - 9 de agosto de 2019
Las últimas funciones de backtesting de IBridgePy por el Dr. Hui Liu - 9 de agosto de 2019
El Dr. Hui Liu, el creador de iBridgePy, brinda una descripción detallada de las últimas características y funcionalidades de backtesting que ofrece iBridgePy. Comienza discutiendo las funciones fundamentales de iBridgePy y explicando los pasos fundamentales involucrados en la construcción de estrategias comerciales algorítmicas.
El Dr. Liu se enfoca en el sistema de backtesting de iBridgePy y presenta dos códigos de muestra para demostrar su uso. El primer código de muestra utiliza datos históricos de Interactive Brokers, mientras que el segundo código de muestra ilustra cómo los usuarios pueden mejorar su experiencia de backtesting proporcionando sus propios datos históricos. Él enfatiza la importancia de analizar el rendimiento de las pruebas retrospectivas para identificar áreas para mejoras futuras.
Durante la presentación, el Dr. Liu presenta la función Hybrid Pie, que permite a los usuarios negociar varios valores o materias primas ofrecidos por corredores asesores y administrar varias cuentas simultáneamente. Destaca los beneficios para los asesores de inversiones, como la ejecución de múltiples estrategias comerciales y la ejecución de algoritmos de consultoría durante el backtesting.
Para conectarse con corredores y recuperar datos en tiempo real, el Dr. Liu demuestra cómo cambiar entre diferentes archivos dentro de iBridgePy, como "Ejemplo Mostrar posiciones", "Ejemplo de precios en tiempo real" y "Obtener datos históricos". Los usuarios pueden personalizar códigos de cuenta, nombres de archivo y acceder a saldos de cuenta y pedidos pendientes. La función de inicialización en iBridgePy declara variables globales, y los usuarios pueden utilizar cuadros de código y buscar ayuda del equipo de iBridgePy informando versiones de paquetes híbridos. El Dr. Liu también brinda orientación sobre cómo cerrar IBGateway y abrir TWS Trade Workstation.
El orador cubre las funciones clave en iBridgePy, comenzando con la función de inicialización que se ejecuta al comienzo del código. La función de manejo de datos, que toma decisiones comerciales, se puede programar para ejecutarse cada minuto o en un intervalo configurable. Los usuarios pueden utilizar la función de programación para programar eventos en lugar de manejar datos. Se puede acceder a los precios en tiempo real de valores específicos mediante la función show_real_time_price, mientras que los datos históricos se pueden recuperar con la función request_historical_data. Para comprar o vender valores, se utiliza la función place_order. Dr. Liu incluye una demostración en vivo de la función de filtrado de acciones, mostrando su funcionalidad.
El Dr. Liu analiza la función de filtro de acciones en iBridgePy, que permite a los usuarios buscar acciones en función del sentimiento y el precio de las redes sociales. Los usuarios pueden definir sus parámetros de búsqueda, como tipo de instrumento, código de ubicación y código de escaneo. Se da un ejemplo utilizando la red de sentimiento social como código de escaneo para una búsqueda de las principales acciones de EE. UU. con precios superiores a $100. El orador demuestra el evaluador de acciones en acción, presenta una lista de las acciones más activas y enfatiza cómo el sentimiento de las redes sociales puede proporcionar información sobre la popularidad de las acciones. Concluye destacando la importancia de seleccionar contratos y establecer pautas de gestión de riesgos al desarrollar estrategias comerciales algorítmicas.
El Dr. Liu explica los pasos básicos para crear estrategias comerciales algorítmicas utilizando iBridgePy. Habla sobre la selección de una acción, la determinación del intervalo de tiempo para tomar decisiones comerciales, el cálculo de indicadores técnicos a través de datos históricos, la selección de tipos de órdenes y el manejo de excepciones. Como ejemplo, presenta una estrategia de reversión simple basada en ingresar manualmente el contrato SPY y tomar decisiones comerciales utilizando los precios de cierre diarios. El código de muestra incluye funciones programadas y una función diaria para tomar decisiones comerciales.
El Dr. Liu profundiza en las funciones de backtesting de iBridgePy, enfatizando la capacidad de recuperar datos históricos y utilizar un marco de datos de pandas para analizar los precios de cierre de los valores. Demuestra un código de muestra para una estrategia de tendencia que emplea un cruce de medias móviles y explica los fundamentos del backtesting. El backtesting implica implementar una estrategia de práctica basada en datos históricos para informar las decisiones comerciales y probar su rendimiento con datos históricos. También destaca el uso alternativo de la función de manejo de datos para controlar el tiempo de ejecución de la función, brindando una opción a la función programada basada en los tiempos de apertura y cierre del mercado estadounidense.
El Dr. Liu brinda información sobre el sistema de backtesting iBridgePy y el proceso involucrado. Explica que en el modo de backtesting usando iBridgePy, la cápsula del tiempo o las velas japonesas utilizadas son muy similares a las operaciones en vivo. Cada vela contiene información como la hora de inicio, el precio de apertura, el precio alto, el precio bajo, el precio de cierre y el volumen. Sin embargo, la cápsula del tiempo no incluye el precio de oferta o demanda, ya que el diferencial no se puede modelar con precisión en el backtesting.
El Dr. Liu menciona que el modo de prueba retrospectiva admite órdenes de mercado, órdenes de límite y órdenes de detención, pero las órdenes de seguimiento no se admiten actualmente, ya que es posible que no brinden resultados significativos. Los detalles de la transacción durante el backtesting se almacenan en la carpeta de salida, y el nombre del archivo contiene la hora en que se inició el backtesting.
Continuando, el Dr. Liu explica el proceso básico para configurar un período de backtesting en iBridgePy. Los usuarios pueden establecer el marco de tiempo para recuperar datos históricos de acciones específicas y especificar la frecuencia del punto de tiempo como un minuto, una hora o un día. Los datos históricos de contratos más antiguos se pueden recuperar utilizando teletipos como SPY o AAPL. El código debe ejecutarse específicamente en el último momento puntual, asegurándose de que los datos dentro del marco de tiempo deseado estén disponibles. De forma predeterminada, el efectivo comienza desde $ 10,000. El Dr. Liu procede a demostrar cómo mostrar el saldo y la posición de la cuenta mediante una demostración.
En su presentación, el Dr. Liu demuestra cómo utilizar las funciones de backtesting de iBridgePy para simular un código de demostración para la reversión del precio de cierre. Muestra cómo usar precios en tiempo real basados en datos históricos y cómo ejecutar el objetivo para observar su desempeño. También muestra cómo se puede cambiar el intervalo para ejecutar el código cada hora en lugar de cada minuto. En general, el video proporciona una demostración útil de cómo utilizar las funciones de backtesting de iBridgePy para estrategias de inversión.
El Dr. Liu continúa discutiendo la importancia de realizar mejoras en el proceso de backtesting utilizando iBridgePy. Sugiere evitar ejecutar el mismo código repetidamente para obtener exactamente los mismos datos, ya que desperdicia recursos y viola las reglas de espaciado de IB. En cambio, recomienda obtener datos históricos utilizando un plan definido con el mismo nombre de archivo, lo que reduce la cantidad de código que debe ejecutarse. Otra sugerencia es utilizar datos históricos proporcionados por el usuario en lugar de obtener datos de Interactive Brokers, lo que puede hacer que el proceso de backtesting sea más eficiente.
Además, el Dr. Liu presenta la función de proporcionar datos locales para realizar pruebas retrospectivas en iBridgePy. Los usuarios pueden proporcionar un archivo CSV con todas las columnas necesarias, como precio de apertura, precio alto, precio de cierre, volumen, etc. iBridgePy incorporará los datos del archivo local y simulará el backtesting en consecuencia. Si el volumen no está disponible, los usuarios pueden ingresar '-1' como valor. Esta función garantiza resultados precisos para las estrategias personales de los usuarios y mejora la eficiencia de las simulaciones.
El Dr. Liu también destaca las funciones adicionales de backtesting en iBridgePy, como los generadores de tiempo personalizados y la capacidad de usar números aleatorios para probar el código. Demuestra cómo crear una serie de tiempo usando un paquete de Python y una lista personalizada y cómo probar el código usando números aleatorios en lugar de precios en tiempo real. Además, analiza la importancia del análisis de rendimiento e introduce el uso de un archivo de registro para rastrear y analizar el rendimiento de las pruebas retrospectivas. Estas nuevas funciones brindan formas más rápidas y eficientes de probar y analizar el código en iBridgePy.
Además, el Dr. Liu analiza otras características de las pruebas retrospectivas de iBridgePy, incluido el registro de saldos, que brinda más detalles sobre el valor de la cartera y el efectivo, así como el registro de transacciones. Demuestra cómo visualizar y analizar los resultados de las pruebas retrospectivas utilizando métricas como la relación de Sharpe y el paquete matplotlib para crear gráficos. El Dr. Liu señala que una vez que los usuarios están satisfechos con sus resultados en una cuenta impresa, pueden cambiar a una cuenta real para operar de verdad.
Durante la sesión de preguntas y respuestas del seminario web, el Dr. Liu responde a varias preguntas de los asistentes sobre las últimas características de iBridgePy. Una pregunta se refiere a la gestión de las cuentas de inversión de otras personas con iBridgePy. El Dr. Liu explica que las personas pueden convertirse en asesores de cartera y configurar una cuenta de administración con Interactive Brokers para administrar las cuentas de inversión de otras personas mediante iBridgePy.
Otra pregunta planteada es sobre la descarga de código de muestra para una estrategia en particular. El Dr. Liu sugiere que los asistentes puedan obtener el código de muestra necesario del sitio web de iBridgePy o comunicándose con el foro de la comunidad de iBridgePy. Además, asesora a los asistentes sobre cómo obtener precios históricos de opciones y datos griegos para realizar pruebas retrospectivas. El Dr. Liu menciona que las personas pueden obtener precios de opciones históricas de Interactive Brokers y escribir código Python para utilizar datos griegos si tienen acceso a ellos.
Un asistente pregunta si iBridgePy admite una API para recuperar una lista de vigilancia. El Dr. Liu aclara que, actualmente, iBridgePy no proporciona una API específica para obtener una lista de vigilancia. Sin embargo, sugiere que los usuarios pueden crear manualmente una lista de observación dentro de la plataforma de Interactive Brokers.
En conclusión, el Dr. Liu concluye el seminario web alentando a los asistentes a publicar cualquier otra pregunta que tengan en el foro de la comunidad iBridgePy o enviarle un correo electrónico. Asegura a los asistentes que una grabación de la presentación estará disponible a pedido. El Dr. Liu también recuerda a los usuarios que visiten el sitio web de iBridgePy para descargar el software y acceder a la documentación de la API. Expresa su agradecimiento a los participantes por su asistencia y atención durante todo el seminario web.
Comercio programático en los mercados indios con Python | API de conexión de cometas | Algo Trading Zerodha
Comercio programático en los mercados indios con Python | API de conexión de cometas | Algo Trading Zerodha
El orador presenta Kite Connect, una plataforma que permite a los usuarios acceder a sus cuentas comerciales mediante programación utilizando Python. Explican que la motivación detrás de Kite Connect fue abordar el desafío de aumentar la participación en el mercado de la India. Introdujeron el concepto de corretaje como servicio, lo que permite a las nuevas empresas utilizar las API de Kite Connect para crear experiencias comerciales personalizadas para sus clientes. Esto, a su vez, tiene como objetivo atraer a los próximos 10-20 millones de indios para invertir en los mercados. El orador también destaca a Zerodha como una firma de corretaje líder en India, con más de 175,000 clientes y una contribución significativa a la facturación del mercado de valores indio.
El orador brinda información sobre los orígenes de Kite Connect, que se desarrolló para proporcionar una plataforma de comercio en línea simple y asequible para miles de clientes en la India. Al reconocer la gran cantidad de ingenieros de software en la India que a menudo carecen de oportunidades para utilizar sus habilidades, Kite Connect puso sus API a disposición de los ingenieros de software para probar estrategias y administrar posiciones. Si bien la plataforma cobra una tarifa por el uso de la API, también ofrece un código de descuento para los nuevos desarrolladores que se registran. Luego, el orador presenta a un colega que procede a demostrar lo fácil que es crear una plataforma comercial personalizada utilizando Kite Connect. La demostración se centra en realizar pedidos, recuperar posiciones y, finalmente, desarrollar una estrategia comercial.
El orador ofrece una guía paso a paso sobre cómo obtener una clave API para Kite Connect API, que es crucial para el comercio programático en el mercado indio usando Python. También explican el concepto de una URL de devolución de datos, que se utiliza para notificar a los usuarios sobre el estado de sus pedidos y confirmaciones comerciales. Además, el orador enfatiza la importancia de instalar la biblioteca Kite Connect Python, que simplifica el uso de la API con solo unas pocas líneas de código. Discuten las funcionalidades esenciales de una aplicación comercial, la importancia de las respuestas a las solicitudes y el manejo de excepciones durante el proceso de desarrollo de la aplicación, y la importancia de la autenticación segura para cualquier aplicación comercial.
A continuación, el orador explica cómo se puede usar Python para el comercio programático en los mercados indios utilizando la API Kite Connect de Zerodha. El proceso comienza con el uso de la clave API para redirigir a la plataforma Kite e iniciar sesión en la cuenta del usuario. Una vez iniciada la sesión, se devuelve un token de solicitud, que luego se utiliza para autenticar al usuario y obtener un token de acceso. El orador proporciona una demostración práctica del uso de la API de Kite Connect, cubriendo pasos como la importación de la biblioteca, el almacenamiento de la clave API y la obtención de un token de solicitud. Finalmente, el token de solicitud se codifica con el secreto de la API para obtener un token de acceso.
El video continúa discutiendo cómo usar Python y la API de Kite Connect para el comercio programático en los mercados indios. Recorre el proceso de configuración de acceso y tokens públicos, que luego se utilizan para establecer una conexión con la API de Kite Connect para transmitir información de mercado. El video explica cómo realizar un pedido, incluida la especificación del símbolo comercial, la cantidad, el tipo de transacción, el tipo de pedido y el producto. También cubre cómo recuperar detalles de órdenes, existencias y posiciones. El orador destaca que hay muchas llamadas API adicionales más allá de lo que se cubre en el video, pero todas están bien documentadas en el sitio web de Kite Connect.
El orador profundiza en la importancia de los instrumentos cuando se utiliza la API de Kite Connect para el comercio programático en los mercados indios. Los instrumentos se utilizan para manejar varios símbolos de acciones y contratos, y requieren una identificación de instrumento única para suscribirse o cancelar la suscripción a la transmisión de datos. El orador explica que la identificación del instrumento se puede obtener de un archivo CSV completo y también se utiliza para acceder a datos históricos. Se analiza la transmisión de WebSocket, incluidos los diferentes modos de recepción de datos, como el modo LTP, el modo de código y el modo de texto completo. El orador brinda un ejemplo de cómo funciona la transmisión de datos a través de WebSocket y cómo se pueden usar las devoluciones de llamada para recibir datos. Además, el ponente explica el uso del postback y el requisito de una URL pública para su implementación.
El orador cubre la implementación de una estrategia comercial utilizando datos históricos y enfatiza la facilidad de realizar un pedido utilizando la API de Kite Connect. Discuten cómo una startup puede tener un punto final para recibir devoluciones de datos del servidor de Kite, habilitando notificaciones para pedidos exitosos o fallidos, entre otras cosas. Se demuestra el proceso de obtención de datos históricos mediante la API, con énfasis en suscribirse a la función de datos históricos de Kite antes de solicitar los datos. Finalmente, se presenta una estrategia básica de promedio móvil para ilustrar la simplicidad de realizar pedidos con la API de Kite.
El orador comparte su propia estrategia para el comercio programático en los mercados indios utilizando Python y la API de Kite Connect. La estrategia consiste en calcular la media móvil y realizar una operación siempre que haya un cruce. Muestran la función para realizar pedidos, destacando que solo se necesita una línea de código para el comercio real. Si bien reconocen que su estrategia puede no ser la mejor, enfatizan su facilidad de implementación y modificación para diferentes símbolos comerciales y tipos de transacciones. El orador menciona que la API de Kite Connect es de código abierto, lo que permite la personalización y el uso en la creación de plataformas comerciales. También mencionan la extensa documentación y el foro activo disponible en el sitio web de Kite Connect para ayudar a los usuarios con cualquier pregunta o problema.
El director ejecutivo de Quant Institute (QuantInsti) presenta su empresa, que ha estado involucrada activamente en el comercio algorítmico y cuantitativo desde 2010. Ofrecen programas de capacitación y eventos para miles de estudiantes en todo el mundo. El CEO expresa su alineación con el uso programático de Python en las estrategias comerciales discutidas en el seminario web y se disculpa por no poder responder todas las preguntas, pero asegura a la audiencia que su equipo está encuestando y respondiendo diligentemente todas las consultas.
El orador analiza el impacto del programa EPAT de QuantInsti, un curso completo en línea de seis meses centrado en el comercio cuantitativo y algorítmico. El programa cubre una amplia gama de temas, que incluyen estadísticas, econometría, computación financiera, Python, MATLAB, herramientas de backtesting y varios paradigmas de estrategia comercial. Destacan que el curso es impartido por un grupo diverso de profesionales experimentados de todo el mundo. Los graduados del programa están bien preparados para ingresar a la fuerza laboral, y QuantInsti ofrece servicios de carrera y orientación para aquellos interesados en establecer sus propias mesas de negociación. Se enfatiza el alcance global del programa, con ex alumnos en más de 30 países en seis continentes.
El orador invita a los espectadores a unirse a una próxima sesión informativa sobre negociación algorítmica programada para el 3 de noviembre de 2016 a las 6:30 p. m. IST. Animan a la audiencia a seguir a la empresa en plataformas de redes sociales como Facebook, Twitter, LinkedIn y YouTube, donde pueden encontrar recursos educativos y participar en debates. Ofrecen enviar enlaces a los participantes interesados y los invitan a enviar cualquier consulta a través del formulario provisto en borninstorms. Finalmente, el orador concluye afirmando que ahora comenzarán a abordar las preguntas de la audiencia.
|
Operar con Interactive Brokers usando Python | Por el Dr. Hui Liu
Operar con Interactive Brokers usando Python | Por el Dr. Hui Liu
¡Buenas tardes a todos! Bienvenido al seminario web sobre la implementación de estrategias comerciales algorítmicas en el mercado en línea, organizado por Kuantan Ste. Mi nombre es Slow Me, y soy un administrador de programas sénior aquí. Estamos encantados de que participantes de todo el mundo se unan a nosotros hoy, incluidos los de Hawái que lograron unirse a nosotros muy temprano en la mañana. ¡Tu entusiasmo es verdaderamente inspirador!
Nuestro estimado orador para el seminario web de hoy es el Dr. Hoyle Yu, un autor de renombre y experto en comercio. El Dr. Yu tiene una formación impresionante con amplia experiencia en acciones de EE. UU. y el mercado de divisas. También ha desarrollado una popular plataforma de comercio de Python que permite a los comerciantes implementar fácilmente sus estrategias. Con un doctorado de la Universidad de Virginia y ex alumno de la Universidad de Shanghái, el Dr. Yu aporta una gran cantidad de conocimientos a este seminario web. Nos sentimos honrados de tenerlo aquí con nosotros.
Antes de comenzar, permítame brindarle una breve descripción general de lo que cubriremos en el seminario web de hoy. El Dr. Yu discutirá primero las ventajas de utilizar Interactive Brokers como plataforma de negociación. Luego profundizará en los beneficios de usar Python para operar y presentará su propia herramienta, IBPY, que simplifica el comercio con Interactive Brokers. El seminario web se centrará en aspectos clave del comercio en tiempo real, incluido el acceso a datos de precios en tiempo real, la recuperación de datos históricos y la realización de pedidos. El Dr. Yu también presentará la estrategia comercial de cruce de media móvil.
Estamos emocionados de tener un orador tan estimado y una audiencia diversa para este seminario web. Sin más demora, invito al Dr. Hoyle Yu a tomar la palabra y compartir su experiencia en el comercio con Interactive Brokers usando Python e IBPY.
Hoy hablaré sobre el comercio con Interactive Brokers usando Python, específicamente utilizando IBPY, una herramienta que he desarrollado. Antes de profundizar en los detalles, comencemos explorando las ventajas de Interactive Brokers como plataforma de negociación.
Interactive Brokers es una firma de corretaje bien establecida con sede en los Estados Unidos. Ofrece varias ventajas clave que lo convierten en una opción popular entre los comerciantes. En primer lugar, Interactive Brokers proporciona una API robusta para el comercio automatizado, que será nuestro enfoque principal hoy. Esta API permite a los comerciantes ejecutar sus estrategias de manera eficiente y efectiva. En segundo lugar, Interactive Brokers ofrece costos comerciales competitivos, lo que lo convierte en una opción rentable para los comerciantes. Puede comparar fácilmente sus costos comerciales en su sitio web. Según mi experiencia personal, ofrecen opciones comerciales de bajo costo. En tercer lugar, Interactive Brokers tiene una amplia presencia global y ofrece acceso a más de cien centros de mercado en 24 países. Este alcance global permite a los comerciantes acceder a varios mercados internacionales, lo que permite la diversificación y mayores oportunidades comerciales. Por último, Interactive Brokers admite una amplia gama de productos, incluidas acciones, opciones, futuros y forex, que satisfacen las diversas necesidades de los comerciantes. Estas ventajas hacen de Interactive Brokers una opción preferida para muchos comerciantes.
Ahora, exploremos los beneficios de usar Python para operar. Python ofrece numerosas ventajas, especialmente para los principiantes. Comparado con otros lenguajes de programación como Java o C++, Python es relativamente fácil de aprender. Con un poco de conocimiento introductorio, uno puede comprender rápidamente los fundamentos de Python y comenzar a implementar estrategias comerciales. Además, Python es un lenguaje de código abierto que proporciona acceso a una amplia colección de módulos y bibliotecas. Estos recursos se pueden descargar e integrar fácilmente en sus sistemas comerciales, ofreciendo herramientas poderosas para el análisis de datos, la visualización y el comercio algorítmico. El ecosistema expansivo de Python lo convierte en un lenguaje flexible y versátil para los comerciantes.
Ahora que comprendemos las ventajas de Interactive Brokers y Python, exploremos las capacidades de IBPY. IBPY simplifica el comercio con Interactive Brokers al proporcionar una interfaz fácil de usar para los desarrolladores de Python. Agiliza tareas como el acceso a datos de precios en tiempo real, la recuperación de datos históricos y la realización de pedidos. IBPY cierra la brecha entre la API de Interactive Brokers y Python, lo que facilita a los comerciantes la implementación de sus estrategias sin tener que lidiar con un código complejo.
Una de las características clave de IBPY es su capacidad para acceder a datos de precios en tiempo real. Los comerciantes pueden recuperar datos de mercado en vivo, incluidas cotizaciones de acciones, cadenas de opciones y precios de futuros, directamente en su entorno de Python. Estos datos en tiempo real permiten a los comerciantes tomar decisiones informadas basadas en la información más reciente del mercado, lo que mejora sus posibilidades de éxito.
IBPY también permite a los comerciantes recuperar datos históricos, que son esenciales para realizar pruebas retrospectivas y analizar estrategias comerciales. Al acceder a los datos de precios históricos, los comerciantes pueden evaluar el rendimiento de sus estrategias en diferentes condiciones de mercado y realizar ajustes basados en datos. IBPY proporciona una interfaz conveniente para obtener datos históricos para una amplia gama de instrumentos, marcos de tiempo y tipos de datos, lo que permite un análisis exhaustivo y el refinamiento de la estrategia.
La colocación de órdenes es otro aspecto crucial del comercio algorítmico, e IBPY simplifica este proceso. Los comerciantes pueden usar la API de IBPY para enviar varios tipos de órdenes, incluidas órdenes de mercado, órdenes de límite y órdenes de detención. Pueden especificar parámetros como cantidad, precio y tipo de orden, e IBPY maneja la ejecución sin problemas. Esta funcionalidad permite a los operadores automatizar sus estrategias comerciales, ahorrando tiempo y reduciendo el riesgo de errores manuales.
Además de estas características, IBPY admite una variedad de operaciones comerciales avanzadas. Los comerciantes pueden recuperar información de la cuenta, administrar posiciones y carteras, monitorear la actividad de la cuenta y recibir notificaciones comerciales en tiempo real. Este completo conjunto de funcionalidades permite a los comerciantes tener un control total sobre sus actividades comerciales y tomar decisiones oportunas.
Ahora, analicemos brevemente la estrategia comercial de cruce de media móvil, que el Dr. Yu cubrirá en detalle más adelante en el seminario web. Esta estrategia se basa en el concepto de medias móviles, que se utilizan mucho en el análisis técnico. La estrategia de cruce de medias móviles consiste en monitorear dos medias móviles de diferentes períodos de tiempo, normalmente una media móvil a corto plazo y una media móvil a más largo plazo. Cuando el promedio móvil a corto plazo cruza por encima del promedio móvil a largo plazo, genera una señal de compra, lo que indica una posible tendencia alcista. Por el contrario, cuando el promedio móvil a corto plazo cruza por debajo del promedio móvil a largo plazo, genera una señal de venta, lo que indica una posible tendencia a la baja. Esta estrategia tiene como objetivo capturar tendencias y aprovechar los movimientos de precios.
En conclusión, el seminario web de hoy proporcionará información valiosa sobre el comercio con Interactive Brokers utilizando Python e IBPY. El Dr. Hoyle Yu, con su amplio conocimiento y experiencia, nos guiará a través de las ventajas de Interactive Brokers, los beneficios de usar Python para operar, las capacidades de IBPY y la estrategia comercial de cruce de media móvil. Esperamos que encuentre este seminario web informativo y atractivo. Sin más preámbulos, se lo entrego al Dr. Yu para que comience su presentación. ¡Gracias a todos por unirse a nosotros hoy y disfruten del seminario web!
Comercio automatizado con Python | Seminario web del Dr. Yves J. Hilpisch
Comercio automatizado con Python | Seminario web del Dr. Yves J. Hilpisch
Se presenta al Dr. Yves J. Hilpisch como fundador y socio gerente de Python Course Group, una empresa enfocada en Python y tecnologías de código abierto en la industria financiera, particularmente en las áreas de finanzas computacionales y ciencia de datos financieros. Es autor de varios libros sobre Python y finanzas y ha desarrollado una plataforma llamada DataPark, que permite a los científicos de datos trabajar con datos estructurados directamente en el navegador. El Dr. Hilpisch menciona que publicará un nuevo libro a finales de este año y también presenta TPQ, una red global de empresas y expertos en Python.
El seminario web comienza con el Dr. Hilpisch reconociendo el creciente número de consultas que ha recibido sobre el uso de Python en finanzas, particularmente de empresas emergentes que buscan atraer desarrolladores de Python para proyectos relacionados con finanzas. Anuncia una nueva función que permite a los usuarios descargar datos históricos de Comm Trading Platform y describe los tres temas principales que se tratarán en el seminario web: descarga de datos históricos, codificación y backtesting de una estrategia comercial, y trabajo con transmisión de datos para operaciones algorítmicas. . Él enfatiza la importancia de los datos y las pruebas retrospectivas en el desarrollo de estrategias comerciales sensatas.
Dr. Hilpisch procede a demostrar cómo recuperar datos históricos utilizando Python, centrándose en el índice alemán DAX como ejemplo. Explica que los usuarios pueden seleccionar entre más de 100 instrumentos diferentes, incluidos pares de divisas y materias primas como el oro o la plata. Al recuperar datos en fragmentos y agregarlos a un objeto DataFrame, los usuarios pueden almacenar los datos en el disco para una recuperación eficiente sin necesidad de realizar descargas repetidas. Enfatiza el papel de los datos en el backtesting y su importancia en la evaluación de estrategias comerciales.
A continuación, el Dr. Hilpisch muestra un ejemplo de una estrategia comercial simple basada en dos promedios móviles: uno más corto (5 minutos) y uno más largo (15 minutos). Explica que cuando la tendencia más corta cruza por encima de la tendencia más larga, genera una señal de compra, y cuando la tendencia más corta cruza por debajo de la tendencia más larga, genera una señal de venta. Aclara que este no es un consejo de inversión, sino que demuestra cómo implementar la estrategia en Python usando un enfoque vectorizado, haciendo que el código sea eficiente y conciso.
El Dr. Hilpisch continúa con el cálculo del rendimiento de una estrategia comercial utilizando rendimientos logarítmicos previamente calculados. Explica cómo los comerciantes pueden determinar el rendimiento de su estrategia multiplicando su posición por el rendimiento realizado. Utiliza un ejemplo de invertir mucho en el mercado y esperar un día para ilustrar el cálculo. Destaca la importancia de probar la estrategia comercial para evitar el sesgo en la muestra y advierte que el rendimiento positivo en un período no garantiza el éxito en otros períodos.
Luego, la discusión cambia a comparar la desviación estándar de los rendimientos entre una estrategia de inversión de mercado y una estrategia de señalización de inversión basada en tendencias basada en bloques de minutos. El Dr. Hilpisch demuestra que la estrategia basada en tendencias muestra desviaciones estándar de rendimiento más bajas. Hace hincapié en la necesidad de trabajar con transmisión de datos al implementar estrategias comerciales automatizadas y presenta la API de Plotly para generar gráficos en tiempo real.
Dr. Hilpisch demuestra el uso de una API falsa que genera datos en formato de tiempo real. Aunque la demostración actual no se transmite realmente, menciona que se puede hacer que se transmita con un poco de esfuerzo adicional creando instancias de objetos adicionales e incrustándolos en el Jupyter Notebook. Proporciona un ejemplo de un bucle for que recopila datos de la API y los muestra en un área de visualización interactiva en tiempo real, punto por punto.
Luego se analiza el comercio automatizado utilizando datos en tiempo real o de transmisión. El Dr. Hilpisch presenta las funciones de "comprar" y "vender", que colocan órdenes de mercado y requieren la cantidad de unidades que se negociarán. Presenta la clase "TrendTrader", que se basa en estrategias de seguimiento de tendencias y hereda de la clase streamer de Wonder API. Explica los atributos personalizados de la clase, como un marco de datos vacío y el número de marcas establecido en 0 inicialmente. La clase permite definir la primera y la segunda tendencia como parámetros.
El Dr. Hilpisch explica que se llama al método "onsuccess" cuando se reciben nuevos datos de la API de transmisión, incluso si llegan esporádicamente. Los datos se agregan al marco de datos previamente instanciado y se convierten a la zona horaria europea. Las tendencias a corto y largo plazo se calculan en función de las observaciones y, en consecuencia, se toman las medidas comerciales apropiadas. Aclara que si bien la estrategia presentada puede no ser sensata, su atención se centra en ilustrar el proceso. También analiza el método "onerror", que maneja cualquier error que pueda ocurrir durante el proceso de transmisión y se desconecta de la API.
En conclusión, el Dr. Hilpisch muestra la implementación de una estrategia comercial automatizada utilizando Python. Demuestra cómo un programa de Python puede generar órdenes de compra y venta automáticamente en función de la comparación de promedios móviles. Él enfatiza que el comercio algorítmico exitoso requiere una combinación de habilidades financieras y tecnológicas, una comprensión profunda de los mercados, competencia en estadísticas de big data y la capacidad de automatizar los procesos comerciales. El seminario web sirve como un recurso educativo para las personas interesadas en adquirir los conocimientos y habilidades necesarios para una carrera en el comercio algorítmico.
Comercio algorítmico usando Python - Introducción
Comercio algorítmico usando Python - Introducción
Hola y bienvenido de nuevo al primer video de la nueva serie de videos sobre el comercio. En este video, exploraremos el propósito y el contenido de la transmisión de video de este siglo. El objetivo principal de esta serie de videos es brindarle una comprensión integral del comercio algorítmico. Cubriremos todo, desde los conceptos básicos hasta la implementación avanzada, las pruebas y la optimización de los algoritmos comerciales.
La serie está diseñada para ayudarlo a aprender y utilizar la programación Python en el contexto del comercio algorítmico. Exploraremos varios temas, como generar señales comerciales, implementar estrategias, realizar pruebas retrospectivas e implementar algoritmos en entornos comerciales en vivo. Para facilitar esto, le presentaremos una poderosa plataforma de negociación algorítmica llamada Plataforma de contacto.
Contact Platform es un entorno de desarrollo integrado que le permite crear, probar e implementar sus algoritmos comerciales. Ofrece una interfaz fácil de usar y admite varios lenguajes de programación, incluido Python, que usaremos ampliamente en esta serie. Puede acceder a la plataforma en línea a través del sitio web de Contacto o descargar el software para Windows o Mac.
Para acompañar la serie de videos, hemos creado una página de YouTube dedicada donde puede encontrar recursos adicionales y ejemplos de código. Estos ejemplos cubren una variedad de temas, que incluyen técnicas de agrupación, creación de scripts para acciones, bonos, divisas, CFD, opciones y más. Tanto si es un comerciante principiante como experimentado, esta serie es el punto de partida perfecto para sumergirse en el comercio algorítmico.
Es crucial comprender la importancia de desarrollar y probar algoritmos comerciales antes de implementarlos en escenarios comerciales reales. Este es uno de los aspectos del comercio algorítmico que consume más tiempo. Sin embargo, se lo hemos facilitado al brindarle acceso a datos históricos de mercado gratuitos con datos de alta resolución a nivel de minutos para opciones sobre acciones europeas y otros mercados internacionales importantes. Este será un recurso valioso para los desarrolladores e investigadores de algoritmos.
A lo largo de la serie, aprovecharemos potentes bibliotecas y herramientas para el aprendizaje automático, el análisis de opiniones y las pruebas retrospectivas. Estas bibliotecas, como Pandas y NumPy, se utilizan mucho en la comunidad comercial y serán esenciales para nuestro análisis. Al utilizar estas bibliotecas y la Plataforma de contacto, tendrá la flexibilidad de crear y probar varias estrategias comerciales.
En los próximos videos, adoptaremos un enfoque paso a paso para codificar algoritmos comerciales. Seguirá conmigo mientras discutimos e implementamos diferentes estrategias. Además, compartiré materiales complementarios, como fragmentos de código y videos, en mi canal de YouTube y en los artículos que lo acompañan.
En el próximo video, profundizaremos en el proceso de desarrollo y exploraremos cómo funcionan los algoritmos comerciales. Estén atentos y únase a nosotros en este emocionante viaje al mundo del comercio algorítmico.
Trading algorítmico usando Python #2
Trading algorítmico usando Python #2
Bienvenido al segundo video de nuestro curso de trading algorítmico. En este video, profundizaremos en el proceso de desarrollo de algoritmos, centrándonos en el nivel conceptual. Lo guiaremos a través de cada paso, desde la generación de ideas hasta la implementación en vivo, cubriendo aspectos esenciales como investigación, implementación, backtesting y optimización.
El proceso de desarrollo de algoritmos comienza con la generación de ideas. Exploraremos varias fuentes de ideas, incluidas las observaciones del mercado, el análisis fundamental, los indicadores técnicos y los modelos cuantitativos. Comprender cómo generar y refinar ideas comerciales es crucial para desarrollar algoritmos exitosos.
Una vez que tenemos una idea prometedora, pasamos a la fase de investigación. Esto implica la recopilación de datos relevantes, la realización de análisis estadísticos y la realización de pruebas retrospectivas exhaustivas. Discutiremos la importancia de la calidad de los datos y cómo afecta la confiabilidad de nuestros algoritmos. Además, exploraremos diferentes métricas de desempeño y medidas de riesgo para evaluar la efectividad de nuestras estrategias.
Después de realizar una investigación exhaustiva, procedemos a la etapa de implementación. Aquí, traducimos nuestras ideas comerciales en código. Usaremos lenguajes de programación como Python para escribir algoritmos que puedan analizar datos, generar señales comerciales y ejecutar operaciones automáticamente. Aprenderá sobre las mejores prácticas de codificación y cómo estructurar su código para mantenerlo y escalarlo.
Una vez implementado el algoritmo, pasamos a la fase de backtesting. El backtesting consiste en simular el rendimiento del algoritmo utilizando datos históricos. Discutiremos diferentes metodologías de backtesting, incluidas las pruebas dentro y fuera de la muestra, para validar el rendimiento del algoritmo y evaluar su solidez.
La optimización es otro paso crítico en el desarrollo de algoritmos. Exploraremos varias técnicas para afinar nuestros algoritmos y optimizar su rendimiento. Esto incluye optimización de parámetros, análisis de sensibilidad y estrategias de gestión de riesgos. Al optimizar nuestros algoritmos, nuestro objetivo es mejorar su rentabilidad y reducir el riesgo.
Finalmente, abordaremos el despliegue en vivo de nuestros algoritmos. Discutiremos consideraciones como la conectividad a los datos del mercado, la ejecución de órdenes y la gestión de riesgos en un entorno comercial real. Comprender los desafíos y las consideraciones de la implementación en vivo es esencial para el comercio algorítmico exitoso.
A lo largo de este video, brindaremos información y consejos prácticos para guiarlo a través del proceso de desarrollo de algoritmos. Al final, tendrá una comprensión integral de cómo conceptualizar, investigar, implementar, probar, optimizar y desplegar algoritmos comerciales de manera efectiva.
Ahora, sumerjámonos en el fascinante mundo del comercio algorítmico y exploremos el proceso de desarrollo de algoritmos en detalle.
Cómo usar los niveles de resistencia de soporte y RSI para el comercio de divisas rentable
Cómo usar los niveles de resistencia de soporte y RSI para el comercio de divisas rentable
En la creación de la estrategia comercial RSI, el método convencional de identificar áreas de sobrecompra y sobreventa resulta ineficaz. En su lugar, se propone un enfoque más eficaz, que combina los niveles de soporte y resistencia con el RSI para mejorar los puntos de entrada. Este método alternativo contradice lo que comúnmente se enseña en los tutoriales comerciales clásicos. Sin embargo, cuando se probó con Python, los resultados fueron más prometedores.
Para implementar esta estrategia, el primer paso es identificar los niveles de soporte y resistencia usando fractales o velas que muestren valores extremadamente altos o bajos en comparación con las velas vecinas. El número de velas para comparar es una variable en el código, lo que permite flexibilidad en el rango de comparación. Además, se puede aplicar una condición para considerar velas con movimientos de rechazo significativos, indicados por una longitud de mecha que supera un cierto umbral.
Una vez que se detectan los niveles de soporte y resistencia, es posible que deban fusionarse si están muy cerca uno del otro. Esto se puede hacer calculando la diferencia o distancia entre los niveles. Si la distancia está por debajo de un umbral específico, los niveles se pueden fusionar reemplazándolos con el valor medio o eliminando los niveles duplicados.
Después de obtener los niveles clave, las señales de reversión se pueden calcular en función de tres suposiciones. Primero, una vela debe tener una mecha cerca de un nivel de soporte o resistencia, con su cuerpo contenido por el nivel. Si es un soporte, el cuerpo debe estar por encima del nivel, y si es una resistencia, el cuerpo debe estar por debajo del nivel. Las velas anteriores también deberían estar contenidas por el mismo nivel de soporte o resistencia. Esto asegura que el comportamiento de la vela actual se alinee con la tendencia indicada por las velas circundantes.
Al probar datos históricos, las señales generadas se pueden trazar en un gráfico. Una señal de reversión alcista está representada por un punto de señal púrpura debajo de la vela, mientras que una señal de reversión bajista está representada por un punto de señal púrpura sobre la vela. Sin embargo, no todas las señales en el gráfico se pueden negociar, ya que algunas pueden ser más efectivas que otras. Para filtrar las señales se utiliza el RSI. Si el RSI está por encima de un valor de umbral, lo que indica un impulso de tendencia alcista, solo se consideran señales alcistas. Por el contrario, si el RSI está por debajo de un umbral inferior, lo que indica un impulso de tendencia bajista, solo se consideran señales bajistas. De esta forma, las señales se alinean con la tendencia y se filtran las señales que van en contra de la tendencia.
Para automatizar los indicadores en Python y evaluar la estrategia se puede utilizar un archivo de Jupyter Notebook. Los datos de las velas japonesas del euro/dólar estadounidense para el período de una hora entre 2003 y 2023 se cargan mediante la biblioteca pandas. Los datos se filtran para eliminar las velas de volumen cero y los fines de semana, y el RSI se calcula utilizando la biblioteca de análisis técnico de pandas. Los niveles de soporte y resistencia se detectan mediante funciones que comparan la vela actual con las velas vecinas, y la proximidad a los niveles se comprueba mediante funciones adicionales. Estas funciones consideran el cuerpo y la mecha de la vela en relación a los niveles, así como las velas precedentes.
Una vez que se definen todas las funciones necesarias, se crea una función llamada "check_candle_signal" para calcular las señales. Esta función toma el índice de la vela actual, el número de velas a la izquierda y a la derecha a considerar, el número de velas traseras a verificar y el marco de datos como entradas. Utiliza las funciones definidas previamente para calcular los niveles de soporte y resistencia, fusionarlos si es necesario y generar señales basadas en las condiciones definidas y los umbrales RSI.
Luego, las señales se cuentan e imprimen para evaluar el desempeño de la estrategia. Para visualizar las señales en el gráfico, se seleccionan y trazan las velas correspondientes, con las señales representadas por puntos morados. El gráfico permite una evaluación visual de las señales y su alineación con los niveles de soporte y resistencia identificados.
Después de cargar los datos de las velas japonesas y realizar los pasos de limpieza de datos necesarios, como eliminar las velas de volumen cero y los fines de semana, el siguiente paso es calcular el índice de fuerza relativa (RSI).
RSI es un oscilador de impulso popular que se utiliza para identificar condiciones de sobrecompra y sobreventa en un mercado. Mide la magnitud de los cambios de precios recientes para determinar si un activo está sobrecomprado o sobrevendido. Los valores RSI van de 0 a 100, donde los valores por encima de 70 generalmente se consideran sobrecomprados y los valores por debajo de 30 se consideran sobrevendidos.
Para calcular el RSI, debe definir un tamaño de ventana, que representa la cantidad de velas anteriores que se deben considerar al calcular el indicador. El tamaño de ventana más común es 14, pero puede ajustarlo según sus requisitos y las características del activo que está analizando.
El cálculo del RSI implica los siguientes pasos:
Calcula el cambio de precio de cada vela. Esta es la diferencia entre el precio de cierre de la vela actual y la vela anterior.
Divida los cambios de precio en dos series separadas: ganancias y pérdidas. Las ganancias representan cambios de precios positivos, mientras que las pérdidas representan cambios de precios negativos. Si un cambio de precio es positivo, se considera una ganancia. Si es negativo, se considera una pérdida.
Suavice las series de ganancias y pérdidas reemplazando los valores negativos con ceros y los valores positivos con sus valores absolutos.
Calcule la ganancia promedio y la pérdida promedio sobre el tamaño de ventana definido. Esto generalmente se hace usando el método de promedio móvil simple (SMA).
Calcule la fuerza relativa (RS) dividiendo la ganancia promedio por la pérdida promedio.
Calcula el RSI aplicando la fórmula: RSI = 100 - (100 / (1 + RS))
Al trazar los valores RSI a lo largo del tiempo, puede analizar visualmente las condiciones de sobrecompra y sobreventa del activo. Los comerciantes a menudo usan el RSI como señal de posibles cambios de tendencia o como confirmación de los puntos de entrada y salida.
Es importante tener en cuenta que el RSI es solo uno de los muchos indicadores técnicos que se utilizan en el análisis financiero. Su efectividad depende de varios factores, como las condiciones del mercado, el activo que se analiza y el marco de tiempo que se considera.
Promedio móvil y estrategias de tendencia VWAP Backtest en Python
Promedio móvil y estrategias de tendencia VWAP Backtest en Python
Hola, hoy compararemos los indicadores V-WAP (Precio promedio ponderado por volumen) y el Promedio móvil para el comercio y el comercio algorítmico. Usaremos ambos indicadores para construir un bot comercial y realizar una prueba retrospectiva utilizando datos de Bitcoin.
Los rendimientos de las ganancias de las estrategias que usaremos en este video pueden variar desde alrededor del 200 por ciento hasta un sorprendente 473 por ciento durante tres años de datos. Si está interesado en la parte de codificación, el backtest se realiza utilizando el lenguaje Python y puede descargar el archivo de Jupyter Notebook desde el enlace proporcionado en la descripción.
Además de ser mi indicador favorito en el comercio, V-WAP es importante porque ayuda a los operadores a determinar si un valor se cotiza a un valor justo o no. Esta información es crucial porque si un precio se negocia por encima de la curva V-WAP o muy por encima de la curva V-WAP, podría indicar que está sobrevaluado. Por el contrario, si el precio actual cotiza por debajo de la curva V-WAP, podría indicar que el valor está infravalorado. En pocas palabras, siempre esperamos que el precio converja de nuevo al nivel V-WAP en algún momento. Esto se puede observar en un ejemplo en el que la diferencia entre las velas de precio y la curva V-WAP amarilla aumentó antes de que el precio convergiera de nuevo al nivel V-WAP y rebotara en la curva amarilla nuevamente. Hay una clara diferencia entre la curva de promedio móvil y la curva amarilla V-WAP.
Para calcular el V-WAP podemos utilizar la siguiente expresión: V-WAP = Precio medio acumulado * Volumen / Volumen acumulado. El precio medio es el precio promedio entre los precios máximo, mínimo y de cierre. La parte acumulada significa la suma total desde que se abrió la sesión de negociación. La sesión de negociación se puede reiniciar diariamente, semanalmente o mensualmente, según el período de tiempo que estemos buscando. El cálculo de V-WAP es diferente de un promedio móvil simple, ya que incorpora más información sobre el volumen de negociación.
También podemos usar V-WAP para determinar los puntos de entrada y salida óptimos para las operaciones, ya que actúa como un soporte dinámico y un nivel de resistencia que se mueve junto con el precio. Esto es para lo que usaremos V-WAP en la estrategia que se muestra en este video.
La estrategia que usaremos es la siguiente: primero, veremos una serie de velas que están por debajo o por encima del V-WAP o de la curva de media móvil, según el indicador que estemos usando para la comparación. Si las velas están por debajo de la curva, estamos buscando una señal corta y el punto de entrada se determinará cuando una vela esté lo suficientemente cerca de la curva. Si las velas están por encima de la curva, estamos buscando una señal larga y el punto de entrada se determinará cuando una vela esté lo suficientemente cerca de la curva. Aplicaremos la misma estrategia utilizando tanto la curva de promedio móvil como la curva V-WAP para comparar.
En el archivo de Jupiter Notebook, cargamos los datos de velas japonesas en dólares estadounidenses de Bitcoin con un período de tiempo de 15 minutos entre 2019 y 2022. Limpiamos los formatos de datos y usamos el módulo de análisis técnico de pandas para calcular el V-WAP y la EMA (promedio móvil exponencial). ). Luego calculamos la señal tanto para EMA como para V-WAP usando un cierto número de velas traseras. Los valores de la señal se almacenan en nuevas columnas en el marco de datos. Visualizamos los puntos de señal para una mejor comprensión.
Para realizar pruebas retrospectivas, podemos utilizar diferentes enfoques de gestión comercial. En este caso, usamos el ATR (Average True Range) para establecer los niveles de stop-loss y take-profit. El nivel de recogida de beneficios se establece en función de la distancia de stop-loss, con una relación entre take-profit y stop-loss de 2,5. El stop-loss se calcula como 0,8 veces el ATR.
En el backtest, iteramos a través de cada vela en el marco de datos y verificamos las condiciones de entrada y salida en función de la señal generada por el V-WAP y los indicadores de promedio móvil. Si se inicia una operación, calculamos los niveles de stop-loss y take-profit en función del ATR. Si el precio alcanza el nivel de stop-loss o take-profit, salimos de la operación y registramos la ganancia o la pérdida.
Una vez que se completa la prueba retrospectiva, calculamos las ganancias y pérdidas acumuladas y generamos métricas de rendimiento como el rendimiento total, el rendimiento anualizado, la reducción máxima y la relación de Sharpe.
Los resultados del backtest muestran el rendimiento de la estrategia comercial utilizando tanto el V-WAP como los indicadores de media móvil. Al comparar los resultados, podemos evaluar qué indicador funciona mejor en términos de rentabilidad y gestión de riesgos.
Tenga en cuenta que los resultados del backtest dependerán de varios factores, como los parámetros específicos utilizados, el período de tiempo seleccionado y las condiciones del mercado. Es importante analizar a fondo la estrategia y realizar pruebas sólidas antes de aplicarla al comercio real.
Master Price Action Trading con Doji automatizado y patrones envolventes usando Python
Master Price Action Trading con Doji automatizado y patrones envolventes usando Python
Hoy, compararemos dos patrones de velas: las velas Doji y Engulfing. Usaremos una estrategia simple combinada con las Bandas de Bollinger y probaremos estos patrones utilizando datos históricos del año pasado en el marco de tiempo de una hora. Nuestro objetivo es demostrar cómo la combinación de patrones de acción de precios con otros indicadores puede ser una herramienta poderosa para el comercio técnico puro.
Para implementar esta estrategia, proporcionamos el código Python, que está disponible para descargar desde el enlace en la descripción del video. Si encuentra útil el contenido, apoye nuestro canal dándole a Me gusta y siguiéndolo. Además, si tiene alguna idea que le gustaría explorar, podemos discutirla en la sección de comentarios.
A los efectos de esta demostración, nos centraremos en dos conjuntos de patrones: una vela Doji precedida de una vela bajista y seguida de una vela de tendencia alcista o alcista, que indica una futura tendencia alcista. El segundo patrón es el patrón envolvente, donde los precios de apertura y cierre de una vela son más altos y más bajos, respectivamente, que los de la vela anterior. Esencialmente, la vela actual engulle a la anterior, determinando la tendencia pronosticada para los precios futuros. Veremos específicamente ejemplos de configuraciones alcistas para estos dos patrones. También vale la pena considerar las configuraciones bajistas, donde un Doji es seguido por una vela bajista, o en el caso del patrón envolvente, la vela envolvente tiene una dirección bajista. Estas configuraciones indicarían una futura tendencia bajista.
Ahora, profundicemos en cómo usamos estos patrones en nuestra estrategia. Primero, esperamos que una vela de precio cierre por encima o por debajo de las líneas de la Banda de Bollinger. Si se forma un patrón alcista por debajo de la línea inferior de la Banda de Bollinger, establecemos una señal de compra. Por otro lado, si se produce una configuración de vela bajista por encima de la línea superior de la Banda de Bollinger, establecemos una señal corta o de venta. En términos más simples, si observamos un patrón alcista por debajo de las Bandas de Bollinger, esperamos que el precio suba. Por el contrario, si detectamos un patrón bajista por encima de las Bandas de Bollinger, anticipamos que el precio bajará. Este es el aspecto que exploraremos usando Python.
El cuaderno Jupyter provisto demuestra la prueba retrospectiva de este indicador. El código emplea el módulo Y Finance y pandas para la recuperación y el análisis de datos, respectivamente. Los datos del tipo de cambio del euro al dólar estadounidense desde el 1 de abril de 2021 hasta el 19 de marzo de 2023 se descargan cada hora.
Para calcular las Bandas de Bollinger, utilizamos el módulo de análisis técnico pandas, estableciendo una longitud de 30 y una desviación estándar de 1,5. Estos parámetros se pueden ajustar para una mayor experimentación.
A continuación, definimos la función "Bollinger Doji Signal", que toma el marco de datos con precios de apertura, cierre, máximos y mínimos, así como los datos de las Bandas de Bollinger. Comprobamos la primera condición, que implica una señal alcista. En este caso, buscamos un precio de cierre de la vela actual por debajo de la línea inferior de la Banda de Bollinger. Al mismo tiempo, el precio de cierre actual debe ser mayor que el precio de apertura, lo que indica una vela verde o de tendencia alcista precedida por una vela Doji. Además, la vela anterior debe ser bajista, con un precio de cierre más bajo que el precio de apertura. Esta combinación representa un patrón de inversión. Si se cumplen estas condiciones y el patrón ocurre por debajo de la línea inferior de la Banda de Bollinger, establecemos una señal de compra. Por el contrario, para una señal bajista, el precio de cierre debe estar por encima de la línea superior de la Banda de Bollinger y la vela actual debe ser bajista, con el precio de cierre por debajo del precio de apertura. Antes de esto, debería haber una tendencia alcista o una vela verde con el precio de cierre más alto que el precio de apertura.
En este caso, la combinación representa un patrón de inversión bajista, y si se cumplen estas condiciones y el patrón se produce por encima de la línea superior de la Banda de Bollinger, establecemos una señal de venta.
La función "Bollinger Doji Signal" calcula las señales en función de las condiciones mencionadas anteriormente y devuelve un marco de datos con los datos originales junto con la columna de señales que indica si comprar (1), vender (-1) o mantener (0) en cada uno. vela.
Luego aplicamos esta función a nuestros datos históricos y almacenamos los resultados en un nuevo marco de datos llamado "signals_df".
Para evaluar el desempeño de nuestra estrategia, calculamos los rendimientos multiplicando las señales con el cambio porcentual en el precio de cierre y sumándolos acumulativamente. También calculamos los rendimientos acumulados de una estrategia de compra y retención, en la que simplemente mantenemos el activo durante todo el período.
Finalmente, trazamos los rendimientos acumulados de ambas estrategias en un gráfico para visualizar el rendimiento.
Al analizar los resultados del backtest, podemos evaluar la efectividad de los patrones de vela Doji y Engulfing combinados con el indicador de Bandas de Bollinger en la generación de señales comerciales. Es importante tener en cuenta que este es un ejemplo simplificado y no debe considerarse como un consejo financiero. Además, la estrategia y sus parámetros se pueden optimizar y personalizar aún más en función de las preferencias individuales y la tolerancia al riesgo.
Para comprender completamente y replicar el código, se recomienda descargar y ejecutar el cuaderno Jupyter Notebook provisto, que contiene el código completo y las explicaciones.
Recuerde que las estrategias comerciales deben probarse y validarse exhaustivamente antes de implementarlas en escenarios comerciales reales. Siempre se recomienda consultar con un asesor financiero o realizar una investigación exhaustiva antes de tomar cualquier decisión de inversión.
Esperamos que esta explicación lo ayude a comprender mejor la implementación de los patrones de vela Doji y Engulfing combinados con el indicador de Bandas de Bollinger en una estrategia comercial.