Uso de redes neuronales en el comercio.

 

¡Estimados comerciantes! Recientemente, las pasiones en torno al uso de redes neuronales en

previsión en los mercados financieros. Creo que el público se divide en aquellos que lo han probado, pero al enfrentarse a

Preguntas y se decepcionó (es más fácil usar las manos) o se retiró temporalmente, y los que tienen algunos (y tal vez muy buenos) resultados.

resultados y están trabajando tranquilamente y mejorando su sistema... Sin embargo, surgen nuevos enfermos con

con ganas de triunfar y preguntas. Mucho se ha discutido ya, pero tal vez los neurocomerciantes experimentados tengan

¿nuevos pensamientos?

Últimamente estoy interesado en los no-crecimientos y he acumulado algunas preguntas. Me gustaría escuchar las opiniones de la gente que es buena en esto.

Entiendo que cuando se utilizan redes neuronales en el comercio muchos detalles son importantes... En orden.

1. ¿Cuál es la tarea que hay que establecer para la NS? Creo que el problema de la clasificación (es decir, la división de los momentos del mercado en clases

"Comprar", "Vender", "Permanecer fuera del mercado") es la más prometedora en cuanto a obtener buenos resultados en el comercio.

2. ¿Cómo formular esta tarea? Veo dos formas.

а. La primera consiste en enseñar a la red a determinar de forma independiente el

Entre en el mercado cuando sea más probable que tenga una operación con beneficios.

En este caso, la red analizará constantemente el mercado (por ejemplo, en la apertura de cada nuevo bar) y determinará

¿Cuál debe ser entonces la muestra de formación? Obviamente debe contener

Valores de entrada (valores del precio o del indicador) de cada barra de la muestra

el valor de salida deseado. ¿CÓMO? Esta es una cuestión de preguntas. Así, en el programa Neural Networks 4 de STATISTICA es deseable

que a cada barra se le asigne un valor fijo que indique a qué clase pertenece...

a una determinada clase... como 1, 0 o -1... o incluso con el texto "vender" "fuera del mercado" "comprar"

Por otro lado, he leído que los valores de salida de una muestra de entrenamiento no deben ser discretos

y debe distribuirse en un rango desde (por ejemplo) -1, que significa 100% de venta, hasta 1, que significa 100% de compra, y 0 sería entonces

"no sé" o "fuera del mercado". Es decir, cada barra debe tener un conjunto de entradas y un valor de salida de (por ejemplo) 0,8745

lo que significaría que hay 87 de cada 100 posibilidades de comprar.

Y, por supuesto, ¿cómo encontrar esos valores de salida? ¿Utilizo un Zig-Zag? Y entre los picos del Zig-Zag

¿calcular sus "posibilidades"?

б. La segunda forma es filtrar las señales de algún sistema... un buen sistema en sí mismo que genera

y las neuronas sólo "permiten" o no comerciar con ellas.

... en este caso, la muestra de entrenamiento debe extraerse sólo en las barras en las que el sistema da la señal de operar... ¿o en todas las barras de todos modos?

Y de nuevo, ¿la salida (disaer) debe ser discreta o con valores intermedios?

3. Valores de entrada. Sugieren no tomar los valores de los indicadores como tales. Creo que esto es un error de concepto.

Los indicadores "miran" en la historia, cada uno en su propia profundidad y ángulo, y en base a ello dan la

Si tomamos un conjunto de valores de indicadores, el vector entrante recuerda a un determinado "código de barras" del mercado

y la NS reconocerá y resumirá las situaciones del mercado utilizando estos códigos de barras. Se propone tomar como variante la diferencia

de los valores del indicador (para proporcionar a la red información sobre la dirección del movimiento de los precios). ¿Qué otras variantes existen?

¿CUÁL ES EL CAMINO CORRECTO? Intenté tomar el ángulo Phi de un número complejo (el ángulo Phi es una geometría

interpretación de un número complejo) por parte de Cloth, pero en mis experimentos con NeuroSolution en comparación con un conjunto de

de los valores de los indicadores salió mucho peor. ¿Qué dice la comunidad de expertos? ;-)

4. Normalización de los valores de entrada. El significado del procedimiento está claro, lo que no está claro es cómo aplicarlo correctamente. Déjeme explicarle. Normalización -

es reunir los valores en un solo rango. Para ello debemos encontrar el valor máximo de la muestra y el valor mínimo.

Eso está bien. ¿Hasta qué profundidad debemos buscar? Digamos que tenemos 100 valores de indicadores en la muestra. Necesitamos normalizar

Valor 75. ¿Dónde debemos buscar el mínimo y el máximo? ¿A los 74 anteriores? ¿O a los 50 anteriores? ¿O a los 100 (es decir

Hay que tener certeza... porque en la clasificación cada barra tiene que ser calculada independientemente y según

o si no, todo es una tontería... Creo que debería basarse sólo en los valores del pasado y tomar

Creo que es necesario dar sólo valores pasados y tomar una profundidad única estrictamente definida (por ejemplo, siempre hace 100 barras o 500 o el valor de una muestra de entrenamiento).

5. Remuestreo aleatorio de la muestra entrante. ¡Abeja o no abeja! Las opiniones difieren... La teoría afirma que el caso de

de clasificación es útil. Pero, ¿cómo es en la realidad? ¿Quién lo ha probado? ¿Alguna opinión?

6. Y, por último, una última pregunta sobre la formación en red. ¿Alguien usa C.V. ¿Muestreo (validación cruzada)?

¿Es necesario? ¿Ayuda realmente a prevenir el sobreentrenamiento de la red? Y en general, ¿cómo se trata esto

¿sobreentrenamiento furtivo? ¡Lo estropea todo! ¡Como en las muestras de entrenamiento todo es hermoso! Y en Out of

Muestra - sin sentido.

Personalmente utilizo NeuroSolution 5 DE para estudiar la utilidad de NS en el trading. Es un buen programa flexible.

Permite a generar resultados como DLL.

Bastante inteligente. (pero no está claro cómo, tras el entrenamiento y la optimización, encontrar qué valores de la selección de entrada son útiles y qué valores se excluyen.

Lo único que quiero averiguar es qué valores son útiles y cuáles son excluidos por el programa como perjudiciales o innecesarios.

Por favor, no pase de largo. ¡Crítica! ¡Sugerencias! Comparta su opinión.

 
Claro que es un galimatías, pero al menos mira los enlaces que hay debajo de tu post, no es un tema nuevo después de todo.
 
читайте================================>хайкина=========================> :О)
 
PraVedNiK >> :
читайте================================>хайкина=========================> :О)

¡Ya lo he encontrado! Definitivamente lo leeré.

 
sayfuji >> :
Claro que son muchas palabras, pero al menos mira los enlaces que hay debajo de tu post, no es un tema nuevo después de todo.

No tengo problemas con muchas palabras. Está todo ahí... está todo ahí... crees que se acabó, ¿no?

 

полагаете что тема исчерпана полность?

De ninguna manera. Por el contrario, cavar y cavar, una pala más grande y una bolsa de tiempo.


 
alexish писал(а) >>

4. Normalizar los valores de entrada. El sentido del procedimiento es claro. Lo que no está claro es cómo aplicarlo correctamente. Déjeme explicarle. Normalización -

es reunir los valores en un solo rango. Para ello tenemos que encontrar el valor máximo de la muestra y el valor mínimo.

Eso está bien. ¿Hasta qué profundidad debemos buscar? Digamos que tenemos 100 valores de indicadores en la muestra. Necesitamos normalizar

Valor 75. ¿Dónde debemos buscar el mínimo y el máximo? ¿A los 74 anteriores? ¿O a los 50 anteriores? ¿O a los 100 (es decir

Hay que tener certeza... porque en la clasificación cada barra tiene que ser calculada independientemente y según

o si no, todo es una tontería... Creo que debería basarse sólo en los valores del pasado y tomar

Creo que deberíamos utilizar sólo valores pasados y tomar la misma profundidad (por ejemplo, siempre hace 100 barras o 500 o el mismo valor de una muestra de entrenamiento). - Busca un método universal y lee artículos en sitios especiales sobre redes neuronales.

5. Reordenación aleatoria de la muestra entrante. - no es un punto esencial

6. Y finalmente la última pregunta sobre la formación de la red. ¿Alguien usa C.V. ¿Muestreo (validación cruzada)?

¿Es realmente necesario? ¿Ayuda realmente a prevenir el sobreentrenamiento de la red? Y en general, ¿cómo se lucha contra esto

¿sobreentrenamiento furtivo? ¡Lo estropea todo! ¡Como en las muestras de entrenamiento todo es hermoso! Y en Out of

Muestra - tonterías... - En cualquier caso, la muestra de la prueba lo decide todo.

Tonterías sobre el OOS: 1. No es una muestra representativa 2. Datos no estacionarios 3. Preprocesamiento incorrecto, posiblemente algunas otras cosas...

Personalmente utilizo NeuroSolution 5 DE para estudiar la utilidad de NS en el trading. Es un programa bueno y flexible.

Es posible generar resultados como DLL en .

Bastante inteligente. (pero no está claro cómo, tras el entrenamiento y la optimización, encontrar qué valores de la selección de entrada son útiles y qué valores se excluyen.

Lo único que quiero averiguar es qué valores son útiles y cuáles son excluidos por el programa como perjudiciales o innecesarios).

Por favor, no pase de largo. ¡Crítica! ¡Sugerencias! ¡Comparte tus ideas!

En el buen sentido tendré que escribir todo yo, al menos para entender mejor lo que pasa y por qué...

 
alexish писал(а) >>

1. ¿Cuál es la tarea de la SN? Creo que la tarea de clasificación (es decir, dividir los momentos del mercado en clases

"comprar", "vender", "mantenerse al margen del mercado") es el más prometedor en cuanto a la obtención de buenos resultados comerciales.

Sí, lo es. Y, el estado "fuera del mercado" como una regla está conectado con la ampliación de la propagación, todo lo demás NS traza y debe explotar en su beneficio. Por ello, la clasificación sólo en base a "comprar" o "vender" es crucial para NS, y en la propia TS establecemos la "asignación-prohibición" para el comercio en función del valor actual de la comisión de las empresas de corretaje.

2. ¿Cómo formular esta tarea? Veo dos formas.

а. La primera es enseñar a la red a determinar los momentos más rentables del mercado.

б. La segunda forma - en teoría, la muestra de entrenamiento debe ser extraída sólo en las barras donde hay una señal del sistema para operar... ¿o en todas las barras de todos modos?

Y de nuevo... ¿la muestra de salida (disaer) debe ser discreta o con valores intermedios?

Correcto - para facilitar al máximo la tarea a resolver por el NS, para ello deberíamos determinar el TS óptimo (para condiciones específicas) de forma independiente y alimentarlo con series temporales ya diseccionadas como datos de entrada, es decir, no cada barra, sino probables puntos clave, y sólo después de eso podemos esperar que el NS tome una decisión adecuada de entrada-salida. Y decidirá si el punto crítico que has sugerido es tal o no.

En cuanto a la respuesta a la pregunta sobre la discreción de los valores de salida del NS, no es obvia y depende en primer lugar de la ley de distribución de las amplitudes de los incrementos del cociente "cortado" por la señal de entrada del NS. Si la distribución es casi simétrica, podemos limitarnos a una salida discreta +/-1 (compra/venta), pero si la distribución no es simétrica, debemos considerar su amplitud (probabilidad) además del signo.

3. Valores de entrada.

Respondido arriba.

4. Normalización de los valores de entrada.

La normalización es necesaria para que el NS funcione correctamente.

La forma correcta de llevar a cabo este procedimiento es lograr el mapeo de todo el rango de valores recibidos en la entrada/entradas del NS en la región de +/-1 con una distribución uniforme (hueca). Esto puede hacerse actuando sobre el vector de entrada con una tangente hiperbólica y luego suavizando la distribución por algún medio (opcional).

5. Recurso aleatorio de la muestra entrante. ¡Bi o ort tu bi! Las opiniones difieren.

¡El procedimiento es inútil!

La cuestión es que, utilizando el método de Propagación Inversa de Errores, sumamos los errores en toda la muestra de entrenamiento y no nos importa en qué orden sumamos los valores atípicos individuales: reordenar los lugares de las sílabas no cambia la suma.

6. Y, de todos modos, ¿cómo se puede hacer frente a este sobreentrenamiento furtivo?

Existe una relación inequívoca entre la longitud mínima de la muestra de entrenamiento P, el número de pesos W en el NS y la dimensión de la entrada d: P>4*(W^2)/d

Si se cumple esta condición, obviamente el sobreentrenamiento nunca se producirá. El proceso de aprendizaje debe detenerse cuando el parámetro que caracteriza el error de aprendizaje alcanza la asíntota.

Personalmente utilizo NeuroSolution 5 DE para estudiar la utilidad de NS en el trading. Es un programa bueno y flexible.

Bastante complicado.

¡Qué pena!

Debes escribir el código del NS directamente en MQL. Sólo así podrá evitar el mar de trampas y ahorrar tiempo y esfuerzo.

 
Neutron >> :


1.

Lo correcto es facilitar al NS la resolución del problema, para ello debe determinar usted mismo el TS óptimo (para condiciones específicas) y enviar como datos de entrada series temporales ya diseccionadas, es decir, no cada barra, sino probablemente puntos clave, y sólo después de eso puede esperar del NS una solución adecuada para la entrada-salida del mercado. Decidirá si el punto crítico que ha sugerido es tal o no.


2.

¡Mal!

Debes escribir el código NS directamente en MQL. Sólo así podrá evitar el mar de trampas y ahorrar tiempo y esfuerzo.


1. Facilitando, no se pierden datos. Lo más importante es no alimentar la red con datos esencialmente iguales. Es mejor pensar en lo que puede influir en el precio y en cómo presentarlo como datos para la red neuronal.


2. NO escriba el código NS para MQL. Perderás mucho tiempo y nervios y todo funcionará muy lentamente. Mejor aprende a conectar tu dll con MT4 y escribe tu propia red neuronal en C por ejemplo con el paquete FANN. Esto ayudará a evitar muchos problemas, incluyendo la portabilidad del código al nuevo terminal MQL5.

 
Neutron писал(а) >>

La forma correcta de hacerlo es conseguir que todo el rango de valores de entrada/recepción del NS aparezca en la zona +/-1 con una distribución uniforme (hueca). Esto puede hacerse actuando sobre el vector de entrada con una tangente hiperbólica y luego suavizando la distribución (opcional) de una manera u otra.

Existe una relación inequívoca entre la longitud mínima de la muestra de entrenamiento P, el número de pesos W ajustables en el NS y la dimensión de la entrada d: P>4*(W^2)/d

Si se cumple esta condición, obviamente el sobreentrenamiento nunca se producirá. El proceso de aprendizaje debe detenerse cuando el parámetro que caracteriza el error de aprendizaje alcanza la asíntota.

¡Mal!

Es necesario escribir el código NS para MQL de una vez. Sólo así podrá evitar el mar de trampas y ahorrar tiempo y esfuerzo.

Una función sigmoidal por sí misma no iguala la distribución... En mi opinión, es más importante resolver el problema de la estacionalidad de los datos en el preprocesamiento.

Por cierto, la fórmula que has citado, me da W=420, d=14, por lo que P>50400 - ¿no te parece que la muestra es un poco demasiado grande?

En mi experiencia, el número de ejemplos en la muestra no depende de lo que sugiera...

 
alexish писал(а) >> Personalmente utilizo NeuroSolution 5 DE para estudiar la utilidad de NS en el trading.

En general, antes de aplicar programas tan específicos y bastante complejos, es aconsejable consultar a los desarrolladores de este software sobre la conveniencia de su uso en este ámbito, es decir, en los mercados financieros. Por lo tanto, si les consulta, le dirán que NeuroSolution no está pensado para el uso en los mercados financieros, y le recomendarán otro programa. NeuroSolution está diseñado para resolver problemas generales, mientras que el uso de redes neuronales en los mercados financieros tiene algunas características específicas que no se tienen en cuenta en este software. Tal vez NeuroSolution puede ser de alguna manera unido a los mercados financieros, pero es bastante complicado y está bajo el poder de los grandes especialistas en el campo de las redes neuronales + comerciantes en una sola persona, que entienden claramente lo que el resultado y lo más importante cómo obtener de las redes neuronales. De ahí que tenga todos los problemas que ha enumerado anteriormente: fijación del problema, normalización de los datos, sobreentrenamiento, etc. .....

Razón de la queja: