¿Por qué los modelos de aprendizaje automático no funcionan bien cuando se usan en la predicción del mercado de valores en vivo, pero, por otro lado, funcionan muy bien sin conexión?

Hay tres partes en esta respuesta. El primero es la minería de datos y el sesgo inconsciente por parte de los probadores. Por definición, los modelos solo se pueden probar en datos históricos. Es bastante fácil descubrir “patrones” en retrospectiva que realmente no existen o son fenómenos temporales. Piense en los artículos cuando la longitud de la falda predijo el mercado, o quién ganó el Super Bowl. Estas son relaciones casuales, no causales. Del mismo modo, los datos a largo plazo muestran que las acciones de valor (ignorando el hecho de que pocos inversores realmente están de acuerdo con la definición del valor) superan a las acciones de crecimiento, a menos que solo cubra los últimos siete años cuando lo contrario es cierto. Hay defensores de patrones en los números de lotería que, por supuesto, descuidan la aleatoriedad en la que se dibujan los números, solo usan los números finales que siempre se muestran linealmente.

El segundo factor importante es el costo de negociación y el movimiento de precios de las transacciones reales. No importa qué números históricos use, al final del día / media / mediana / dólar ponderado, no puede saber qué precio realmente habría recibido ni el costo real de la negociación. Una vez que estos factores se vuelven operativos, la mayoría de la beta adicional, el exceso de ganancias sobre el riesgo, casi siempre desaparece.

¿Significa esto que nadie puede vencer al mercado? Absolutamente no, es por eso que hay una cola en una curva de campana. Personas como Warren Buffet y Peter Lynch tienen un historial de rendimiento positivo. Pero solo puedes encontrarlos después del hecho.

La idea detrás del rendimiento superior es que hay ineficiencias en el mercado. De hecho, hay tan pronto como descubres uno, comienza a desaparecer y si suficientes personas lo descubren contigo, en realidad producirá una beta negativa. Por lo tanto, a menos que alguien siempre pueda adelantarse a la curva y ver constantemente la ineficiencia más reciente, el inversionista promedio, independientemente del método utilizado, tendrá un rendimiento inferior al del mercado.

Finalmente, si alguien ha descubierto una forma consistente de superar el mercado, ¿por qué lo compartiría con usted? Él / ella acortaría el mercado, compraría su estrategia y se volvería rico más allá de la imaginación. ¿Y están dispuestos a compartir eso por la miserable tarifa que pagarías? No. Él / ella posee su propia isla / país y se lo guarda todo para ellos.

Parafrasearía y reemplazaría el ‘aprendizaje automático’ por ‘estadístico’ o simplemente lo eliminaría por completo.

Entonces, ¿por qué un modelo se desempeña bien en el conjunto de entrenamiento y funciona mal con los datos recién introducidos? Poca generalización. Encontrar un punto óptimo en la curva de compensación entre ajuste y generalización puede no ser fácil (o sesgo / variación) porque las características de entrada no describen el mercado adecuadamente.

Algunos de los problemas más frecuentes con las estrategias de prueba:

  • No tener en cuenta adecuadamente los costos, especialmente el impacto en el mercado.
  • No darse cuenta de que otros participantes del mercado reaccionan y se ajustan.
  • Estrategias que no escalan.
  • Estrategias que se extraen de datos en lugar de probar una hipótesis lógica.

Es bastante fácil identificar ideas que parecen producir alfa bruto. Es muy difícil identificar ideas que realmente producen alfa neto (después de los costos) mientras se administra una cantidad significativa de dinero.

Yo podria agregar:

  • El “aprendizaje automático”, por definición, supone que hay un patrón repetible que puede ser entrenado, pero todos sabemos que hay un porcentaje de aleatoriedad en los mercados que agrega un giro.
  • Sobreajuste el modelo y los datos para que los backtests funcionen bien, pero el rendimiento real es pobre.
  • No ejecutar el modelo a través de un simulador en tiempo real durante un período de tiempo como datos de prueba “fuera de muestra” antes de ponerlo en funcionamiento.
  • Sin tener en cuenta los costos de transacción REALES de la negociación: tales como ECN, SEC, FINRA, tarifas de corredores, tarifas de préstamos (si están en corto), tarifas de plataforma, tarifas de datos de mercado.
  • Sin comparar un backtest con un punto de referencia ($ SPY como mínimo).
  • El uso de datos de mercado de backtest que no representan pagos de dividendos o divisiones de acciones, es un error común.

Porque un mercado de valores se guía por muchos factores, no solo los precios anteriores de una acción en particular. Las redes neuronales son buenas para predecir al ver un patrón en los datos anteriores, pero ¿qué pasa si no hay un patrón?

Steve Jobs murió. La cuota de Apple cayó ese día. ¿Podría la red neuronal predecir eso? No.

Su país gana una gran competición deportiva. El precio de las acciones sube. ¿Puede la red neuronal predecir eso? No.

Ocurrió una calamidad natural y los precios de las acciones cayeron. ¿Puede la red neuronal predecir eso? No.

Las redes neuronales pueden necesitar un análisis de sentimientos en tiempo real para hacer una mejor predicción. Y muchas compañías están usando eso.

More Interesting

¿Es esencial un Msc / PHD en Machine Learning para comenzar una carrera o hacer investigación? ¿Algún consejo?

¿Qué recursos debo usar para comenzar a aprender Machine Learning durante el verano con mi educación actual?

¿Por qué aprendiste Machine Learning?

¿Cuáles serán los casos de uso de aprendizaje automático más grandes de 2017?

¿Cuáles son las ventajas y desventajas de utilizar una combinación de impulso + árboles de decisión frente a algún otro enfoque en un problema de clasificación?

¿En qué casos las redes convolucionales no son una buena opción para la clasificación de imágenes?

¿Por qué el aprendizaje automático a menudo perpetúa el sesgo?

¿Cuál es la ventaja de Bayesian Naive Bayes sobre Naive Bayes simple?

Antes de elegir y aplicar incluso el modelo de aprendizaje automático lineal más simple, ¿qué aspectos estadísticos de los datos debo considerar?

¿Cómo se ajustan los pesos en una red neuronal mientras estoy entrenando la red?

Cómo realizar el etiquetado de palabras (POS, NER) para nuevas oraciones utilizando una red neuronal profunda (entrenada)

¿Cómo detectar el idioma de un texto escrito en inglés? ¿Hay una API disponible donde podamos dar el texto como entrada?

¿En qué se centran los principales competidores de Kaggle? ¿Qué les ayudó a hacerlo mejor que otros?

¿Por qué la disminución de la tasa de aprendizaje también aumenta la tasa de sobreajuste en una red neuronal?

¿Cuál es un buen consejo para una implementación eficiente de un algoritmo de aprendizaje automático en C / C ++?