Cuantificación: estrategia de tiempo basada en máquinas de vectores de soporte

referencia

El algoritmo de aprendizaje automático de Python y el comercio cuantitativo
utilizan modelos de aprendizaje automático para crear estrategias de sincronización cuantitativa

Introducción al aprendizaje automático

La teoría del aprendizaje automático implica principalmente el diseño y análisis de algoritmos que permiten a las computadoras "aprender" automáticamente. Los algoritmos de aprendizaje automático son un tipo de algoritmo que analiza y obtiene automáticamente patrones a partir de datos y los utiliza para predecir datos desconocidos. Debido a que los algoritmos de aprendizaje implican una gran cantidad de teoría estadística, el aprendizaje automático está particularmente relacionado con la estadística inferencial, también conocida como teoría del aprendizaje estadístico.

Los algoritmos comunes para el aprendizaje automático incluyen: árboles de decisión, Bayes ingenuo, máquinas de vectores de soporte, bosques aleatorios, redes neuronales artificiales, aprendizaje profundo, etc.

Introducción a la estrategia

Ingrese los datos de mercado de Shanghai y Shenzhen 300 en la máquina de vectores de soporte para el entrenamiento del modelo para predecir el ascenso y la caída del índice de Shanghai y Shenzhen al día siguiente.

¿Por qué SVM?
Porque el conjunto de datos son los datos del mercado diario de CSI 300, con solo unos pocos miles de días de negociación (puntos de muestra) en total, y SVM tiene una mayor precisión de predicción de muestras pequeñas y puede resolver problemas de clasificación no lineal, por lo que es más adecuado..

Introducción a SVM

SVM se diseñó originalmente para resolver problemas de dos clasificaciones (como el ascenso y la caída de los índices de Shanghai y Shenzhen) al encontrar un hiperplano de separación máxima (la línea diagonal negra en la figura) para separar linealmente los dos tipos de muestras y garantizar que Las muestras en ambos lados están más cercanas entre sí. La distancia desde el punto de borde a este plano es la más grande. Dado que el hiperplano de separación máxima solo depende de dos categorías de puntos de borde, como los puntos rojos y los puntos azules atravesados ​​por el rojo. y las líneas azules en la figura anterior, estos puntos se denominan vectores de soporte.
Insertar descripción de la imagen aquíLos conjuntos de datos no siempre son separables linealmente, como se muestra a continuación.

Insertar descripción de la imagen aquíPara situaciones en las que los datos no son separables linealmente, SVM introduce una función central para asignar datos inseparables de baja dimensión a datos de alta dimensión linealmente separables, de la siguiente manera.
Insertar descripción de la imagen aquí
Las funciones del núcleo comúnmente utilizadas son
Insertar descripción de la imagen aquí: Pero en realidad, debido a la existencia de ruido y puntos de muestra extremos, el conjunto de datos puede ser linealmente inseparable en dimensiones bajas o altas, por lo que se introduce el concepto de variables de holgura en SVM, lo que permite el máximo. El hiperplano de margen no necesita distinguir perfectamente entre dos categorías, lo que permite la existencia de clasificaciones erróneas. SVM controla la tolerancia de estas clasificaciones erróneas a través del coeficiente de penalización C. Cuanto mayor sea el valor C, mayor será la precisión de la clasificación, pero un valor demasiado alto puede fácilmente provocará un sobreajuste. Si el valor C es demasiado bajo, la precisión se verá afectada.

proceso general

Recopilación de datos

interfaz tushare

preparar datos

Con la ayuda de la biblioteca TA-lib, se calculan los siguientes factores:

  • EMA: Media móvil exponencial ponderada, que presta más atención a los valores recientes y refleja la tendencia del precio en un determinado período de tiempo.
  • Volatilidad de precios: mide el alcance de las fluctuaciones de precios.
  • Pendiente del precio: una medida de la rapidez con la que cambian los movimientos de los precios.
  • RSI: mide la fuerza y ​​la velocidad de los movimientos de los precios de las acciones. Según el tamaño y la velocidad de los cambios de precios, calculando el promedio del aumento y la caída de los precios de las acciones en el período reciente, el aumento y la caída en el último período de tiempo son convertido a un valor entre 0 y 100.
  • Valor del indicador William: mide la intensidad de las fluctuaciones del mercado analizando la relación entre el precio más alto, el precio más bajo y el precio de cierre dentro de un período de tiempo, y tiene un buen efecto para juzgar las condiciones de sobrecompra y sobreventa.

Etiquete cada punto de muestra y calcule el aumento de cada punto de muestra al día siguiente. Si sube, establezca la etiqueta en 1, si baja, establezca la etiqueta en 0.

Modelado

Usar modelo SVM

Modelo de entrenamiento

  1. Utilice el 80% del conjunto de datos como conjunto de entrenamiento y el 20% restante como conjunto de prueba.
  2. El conjunto de datos está estandarizado por (valor original - media)/desviación estándar para eliminar las diferencias en diferentes dimensiones de factores tanto como sea posible (por ejemplo, la EMA media es 2919,6, mientras que el RSI medio es 52,7).
  3. Ingrese los datos del conjunto de entrenamiento en SVM: después de crear una instancia de SVM de sklearn, pase los datos de los factores del conjunto de entrenamiento y las etiquetas correspondientes a la función de ajuste, con un coeficiente de penalización de 1.0, y la función del núcleo es RBF, y comience a entrenar.

modelo de prueba

Parámetros de ajuste

Los cinco factores utilizados actualmente aún no reflejan la naturaleza de las fluctuaciones de precios y se pueden agregar o modificar más factores.

Por ejemplo, el coeficiente de penalización C en el modelo SVM es demasiado pequeño, la tolerancia a muestras erróneas es demasiado alta y la función del núcleo RBF no es adecuada como función de conversión de mapeo para este conjunto de datos.

Supongo que te gusta

Origin blog.csdn.net/weixin_43249758/article/details/132768919
Recomendado
Clasificación