Me sumergí en el campo de las redes neuronales y me cautivé con ellas.
Finalmente, he desarrollado un marco de aplicación para probar sistemas de comercio en bolsas de valores y ahora voy a implementar mi primera red neuronal en él. Muy simple y primitivo, no destinado al comercio real, solo para principiantes.
Solo quiero saber si mi enfoque es bueno.
Y si ves que me falta algo (o me equivoco sobre algo) o tienes una idea de lo que podría ayudar a un principiante en un campo de redes neuronales en el comercio de mercado, eso me haría muy feliz :)
Tengo 40 entradas, valores de mercado de la bolsa de valores (S&P e-mini pero eso no es importante).
Para estas 40 entradas, sé 2 números.
- ¿Cuánto dinero ganaría o perdería con una orden de compra?
- ¿Cuánto dinero ganaría o perdería con una orden de venta?
Debido a cómo funcionan las bolsas de valores, ambos números pueden ser negativos / positivos, lo que indica que puedo perder / ganar dinero por comprar y vender (esto se debe a que una operación puede tener órdenes de "limitación de pérdidas" o "segmentación" como STOP, LIMIT etc.que se comportan de manera diferente).
Pero si eso sucede, es una indicación de que no debo hacer un pedido, incluso si los pedidos de compra y venta dan números positivos.
Me imagino que la mejor función de activación para usar es ... lo sigmoide, pero con un rango de -1 a 1 (he descubierto que se llaman muchos nombres en Internet ... sigmoide bipolar, tanh, algo tangente ... No soy un matemático profundo).
Con un aprendizaje de propagación hacia atrás, enseño a la red que para las 40 entradas, hay 1 salida y esta salida es uno de estos números.
- -1 lo que significa que la orden de venta va a ganar dinero, la compra va a perder dinero
- +1, lo que significa que la orden de compra va a ganar dinero, la venta va a perder dinero
- 0, lo que significa que comprar y vender van a vender / perder dinero, mejor evitar el comercio
Me imagino que después de aprender, la salida de la red siempre será un número cercano a -1, 1 o 0 y depende de mí dónde establezco el umbral para comprar o vender.
¿Es esta una forma correcta de usar una red neuronal?
En todas partes en Internet, los resultados para las personas que están aprendiendo le están dando a la máquina de aprendizaje de propagación posterior los valores futuros del gráfico de mercado y no el rendimiento monetario esperado de una entrada comercial diferente (compra o venta). Considero que es un mal enfoque porque no estoy interesado en los valores futuros de la tabla, sino en el dinero que quiero ganar.
Editar: tengo la intención de construir una red neuronal para el comercio automatizado, no para ayudar a tomar decisiones.
Respuestas:
Hay defectos graves con este enfoque.
En tercer lugar, debe darse cuenta de que está compitiendo con otras personas que también tienen acceso a redes neuronales. Hay muchos programas comerciales dirigidos a comerciantes diarios basados en redes neuronales. (Estas son creadas por personas que consideran más rentable vender software a comerciantes confusos que usar sus propios sistemas). Hay muchos sistemas propietarios, algunos de los cuales pueden involucrar redes neuronales. Para encontrar el valor que pasan por alto, debe tener alguna ventaja, y no ha mencionado ninguna.
Soy un gran admirador de las redes neuronales, pero creo que los usuarios típicos de redes neuronales en el mercado de valores no entienden los conceptos básicos y queman dinero.
fuente
These are made by people who find it more profitable to sell software to confused day traders than to use their own systems
Eso por sí solo habría valido un voto positivo.Me doy cuenta de que este es un hilo viejo, pero en caso de que alguien tropiece con él, lo que el OP necesitaba hacer era aplastar su campo deseado en el espacio 0 a 1. es decir, simplemente reasigna -1 = 0.0, 0 = 0.5 y 1 = 1. Luego, puede usar la función de activación sigmoidea logística estándar.
fuente