Me gustaría utilizar ANN para automatizar el comercio de divisas, preferiblemente USD / EUR o USD / GBP. Sé que esto es difícil y puede que no sea sencillo. Ya leí algunos documentos y realicé algunos experimentos, pero sin mucha suerte. Me gustaría recibir consejos de EXPERTOS para que esto funcione.
Esto es lo que hice hasta ahora:
- Recibí datos tick por tick para el mes de julio de 2013. Tiene oferta / demanda / volumen de oferta / volumen de solicitud.
- Extrajo todos los ticks para el período de tiempo de 12 p.m. a 14 p.m. para todos los días.
- A partir de estos datos, se creó un conjunto de datos donde cada entrada consta de n valores de oferta en secuencia.
- Usó esos datos para entrenar un ANN con entradas n-1 y la salida es el enésimo valor de oferta previsto.
- El ANN tenía n-1 neuronas de entrada, (n-1) * 2 + 1 neurona oculta y 1 de salida. La capa de entrada tenía TF lineal, oculta tenía TF de registro y la salida tenía TF lineal.
- Entrenó la red con propagación hacia atrás con n-125 primero y luego 10.
Para ambos n, el MSE no cayó por debajo de 0.5 y se mantuvo en ese valor durante el entrenamiento completo. Suponiendo que esto podría deberse a que las series temporales son totalmente aleatorias, utilicé el paquete R para encontrar la autocorrelación parcial en el conjunto de datos (pacf). Esto dio valores distintos de cero solo para 2 y 3 rezagos.
Pregunta 1: ¿Qué significa esto exactamente?
Luego usé el exponente de hurst para evaluar la aleatoriedad. En R, hurst (valores) mostró valores superiores a 0.9.
Pregunta 2: Se supone que es casi al azar. ¿Debería tener un valor más cercano a 0.5?
Repetí el entrenamiento del ANN con n = 3. El ANN recibió capacitación y pudo obtener un valor bastante bajo para MSE. Sin embargo, el resultado calculado de este ANN no difiere mucho del (n-1) valor de la oferta. ¡Parece que ANN solo toma la última oferta como la próxima oferta! Probé diferentes estructuras de red (todas las percepciones de múltiples capas), diferentes parámetros de entrenamiento, etc., pero los resultados son los mismos.
Pregunta 3: ¿Cómo puedo mejorar la precisión? ¿Hay algún otro método de entrenamiento que no sea la propagación hacia atrás?