AlgoTrading usando modelos de indicador técnico y ML

Contenidos

Este artículo fue publicado como parte del Blogatón de ciencia de datos.

Introducción

Muchas veces nos preguntamos si el análisis predictivo tiene el poder de predecir los precios de las acciones y terminamos usando redes neuronales profundas para hacer predicciones. Yo también había probado mis manos, pero el inconveniente de este enfoque es que los precios de las acciones están más cerca entre sí en períodos consecutivos hasta que se produce una gran caída. Para eso también las bolsas de valores generalmente tienen circuitos superiores e inferiores.

Por lo tanto, si usa, digamos, LSTM en los datos de precios de las acciones a nivel diario, resultaría ser nada más que un indicador rezagado.

Permítanme explicar qué es un indicador rezagado. Un indicador rezagado, como su nombre indica, va por detrás del precio actual de las acciones, lo que significa que es un indicador retrospectivo. El ejemplo más común es el promedio móvil simple.

¡Suficientemente simple!

Muchas estrategias comerciales utilizan los indicadores rezagados, así como los indicadores principales para tomar decisiones de compra y venta.

Hablemos de algunos de ellos y veamos su implementación en Python. Dejaría la parte ML en el usuario ya que la variable de destino varía según el caso de uso. Si desea realizar operaciones de swing, puede buscar una ganancia de 7 a 10 días o una relación de retorno a riesgo, es decir, ganancia máxima / pérdida máxima, etc.

Indicador de retraso: banda de Bollinger

La banda de Bollinger es esencialmente un precio promedio de un valor y su intervalo de confianza del 95%, lo que significa que el 95% de las veces el precio del valor permanece dentro de esta banda.

44017screenshot202021-01-1020at207-12-5020pm-8486404

La figura anterior muestra los precios de las acciones de BAJAJ FINANCE (NSE) en forma de candelero gráfico. El cuerpo de la vela indica los precios de «apertura» y «cierre» y las mechas representan el «mínimo» y el «máximo» del día. Una vela representa un día. Una vela verde significa que el precio de las acciones ha subido después de la apertura. Esto significa que el precio de cierre es mayor que el precio de apertura de ese día.

La línea negra es el precio promedio de 20 días y la banda es el intervalo de confianza del 95%, también conocido como Banda de Bollinger.

Estrategia comercial de la banda de Bollinger:

– Los comerciantes creen que cuando el precio de las acciones toca, abraza o reduce el límite de Bollinger más bajo, hay una señal de «Compra».

– Del mismo modo, cuando el precio toca el límite superior hay una señal de VENTA.

– Hay otra estrategia que dice que cuando la banda se contrae (el precio de las acciones es menos volátil) o podemos decir que la desviación estándar del precio de 20 días se reduce, hay una posible ruptura en cualquier dirección. Los comerciantes toman decisiones de COMPRA o VENTA inmediatamente después de la ruptura ARRIBA o ABAJO, respectivamente.

Implementación de Python:

56485screenshot202021-01-1020at207-23-2420pm-6114742

Trazando la banda de Bollinger en Python:

24624screenshot202021-01-0820at204-24-4420pm-7452289

Se puede encontrar el código Python completo en este indicador aquí

Indicador líder: RSI (índice de fuerza relativa)

El índice de fuerza relativa (RSI) es un indicador de impulso utilizado en el análisis técnico que mide la magnitud de los cambios de precios recientes para encontrar escenarios de sobrecompra o sobreventa en los precios de las acciones, divisas o materias primas. El RSI es un oscilador (un gráfico de líneas que se mueve entre dos extremos) y puede tener un valor entre 0 y 100. El indicador se introdujo originalmente en el libro seminal de 1978, «New Concepts in Technical Trading Systems», escrito por J. Welles Wilder. Jr.

89140screenshot202021-01-1020at207-29-0020pm-1233276

La figura muestra el precio usando un gráfico de velas y RSI con un gráfico de líneas justo debajo.

Estrategia comercial de RSI:

La interpretación tradicional del RSI es que los valores de 70 o más indican que un valor se está sobrevaluando o sobrecomprado y puede deberse a un cambio de tendencia o una corrección en el precio. Un valor de RSI de 30 o menos indica un escenario de infravaloración o sobreventa.

Implementación de Python:

92695screenshot202021-01-1020at207-31-5420pm-8252595

Trazando RSI en Python:

91393screenshot202021-01-1020at207-32-1520pm-5009103

Se puede encontrar el código Python completo en este indicador aquí

Ahora podemos usar el conocimiento de estos indicadores y las estrategias que discutimos hasta ahora para crear un conjunto de características. A continuación se comparte un ejemplo:

Defina su métrica objetivo según sus objetivos / apetito por las ganancias y entrene / pruebe un modelo de ML utilizando este conjunto de características.

Estén atentos para más indicadores y un modelo de trabajo de muestra.

Gracias por leer, ¡que tengas un gran día!

Los medios que se muestran en este artículo no son propiedad de DataPeaker y se utilizan a discreción del autor.

Suscribite a nuestro Newsletter

No te enviaremos correo SPAM. Lo odiamos tanto como tú.