Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
Te lo explicaré con un ejemplo.
Digamos que quieres predecir una variable que puede tener valores de 100 a 250 /como GBPJPY/. Quieres predecir pasos de tiempo muy pequeños comparados con los datos de entrenamiento /como H1 o H4/. Para algún paso el valor deseado es, digamos, 174.850 y la salida de la NN es 176.350. El error es muy pequeño /alrededor del 0,8%/ pero en términos de Forex el error es grande - 150 pips.
Es mucho más fácil predecir la tasa de rendimiento normal o logarítmica. Incluso si usted comete un error la salida probablemente todavía será útil /si usted predice un aumento del 20% del precio, y realmente es el 10%, aunque el error es el 50% el resultado es todavía muy bien/.
Es imposible.
Incluso si la NN da una predicción muy mala, sigue siendo una solución.
Puedes usar un ordenador de sobremesa. Hoy en día los ordenadores son mucho mejores que aquellos de los que partí
mrwobbles,
¿Serías tan amable de informarnos de tus entradas y salidas para los resultados de tu NN? Me gustaría ejecutarlo a través de NeuroShell y ver si puedo generar el nivel de correlación de R en torno a la misma estanqueidad. Gracias de antemano.
Te lo explico con un ejemplo.
Supongamos que quiere predecir una variable que puede tener valores de 100 a 250 /como GBPJPY/. Quiere predecir pasos de tiempo muy pequeños comparados con los datos de entrenamiento /como H1 o H4/. Para algún paso el valor deseado es, digamos, 174.850 y la salida de la NN es 176.350. El error es muy pequeño /alrededor del 0,8%/ pero en términos de Forex el error es grande - 150 pips.
Es mucho más fácil predecir la tasa de rendimiento normal o logarítmica. Incluso si usted comete un error la salida probablemente todavía será útil /si usted predice un aumento del 20% del precio, y realmente es el 10%, aunque el error es del 50% el resultado es todavía muy bien/.
Sí, pero estoy hablando de errores de un orden de magnitud menor que eso. El error medio en pips de la red que he entrenado es de unos 10-20 que se acerca a un nivel aceptable. Aun así hay algunos resultados anómalos, unos pocos de más de 100 pips lo cual es obviamente inaceptable.
Es imposible.
Incluso si la NN da una predicción muy mala sigue siendo una solución.
Sí, supongo que se pueden llamar soluciones, pero ¿empezar con una población aleatoria no llevaría a un mayor tiempo de convergencia? En ese caso empezar con una población de redes pre-entrenadas seguramente aceleraría la convergencia de la red y con suerte daría resultados más precisos.
Pero usted todavía está mirando los datos de entrenamiento. Hice un ejemplo rápido - mira la imagen de abajo. Las medidas de error son pequeñas, el coeficiente de correlación es muy alto, pero mira lo que pasa cuando intentas predecir los siguientes 10 pasos.
La aleatoriedad es la clave
Con muchas redes aleatorias tienes más posibilidades de encontrar la mejor solución posible al final. Fíjate en la segunda imagen. Si se hace una preselección de las NN se puede quedar atascado en el óptimo local, pero si se utilizan NN aleatorias se tienen más posibilidades de encontrar el óptimo global.
Por supuesto, hay formas de superar el problema de quedarse atascado en el óptimo local.
Esa idea se me pasó por la cabeza. Me refiero a que si la población de NNs preentrenadas es demasiado pequeña o no tiene suficiente varianza genética, entonces algunas soluciones podrían no ser consideradas. Como has dicho, siempre existe la posibilidad de elegir 12 NNs que estén todas atascadas en diferentes mínimos locales y eso no sería bueno. O peor aún, 12 NNs que están todas atascadas en el mismo mínimo local. Aunque siempre se podrían codificar algunas mutaciones genéticas aleatorias para intentar aumentar el stock genético, cada 10 generaciones digamos. Aunque empezar con una estructura completamente aleatoria aseguraría que se consideren la mayoría de las posibilidades.
Ah, ya veo, vale, acabo de descubrir cómo usar la red después de su entrenamiento, la función sim aparentemente... oh las alegrías de los archivos de ayuda Tendrás que perdonar mi ignorancia, soy bastante nuevo en el trabajo con NNs. Me habría decepcionado si lo hubiera resuelto tan fácilmente. Se supone que esto es lo que estoy haciendo durante las vacaciones de verano bueno eso y trabajar
Edit: He entrenado la red con los datos de los primeros 7 años y luego he simulado su rendimiento con los últimos años de entradas. El error medio en pips fue de 40, pero si nos fijamos en la trama de la gráfica se pone la primera 1500 bastante justo en él, entonces se pierde y comienza a conseguir el precio mal, pero la dirección es en su mayor parte correcta. Luego llega a unos 10000 y lo recupera (justo a tiempo para la gran caída). Mira esto y dime qué te parece. El azul oscuro es la salida del objetivo azul claro. Por cierto, no he suministrado la red con los objetivos que se sobreponen para el análisis.
No puedo decir nada mirando las fotos porque puede haber un "efecto sombra" y las fotos son demasiado pequeñas para decirlo.
Pero puedo decirte cómo comprobar si el NN está bien. Exporta /hay un asistente de exportación e importación en Matlab/ la salida de la prueba a un archivo XLS o CSV /Archivo Excel/. Luego pon los valores reales al lado de la salida del NN y en la siguiente columna pon una fórmula que compruebe si el NN predijo la dirección correcta del movimiento del precio.
Contando cuántos "1" obtienes sabrás la precisión de la red.
Luego puedes escribir una fórmula que calcule la ganancia y la pérdida para cada paso. Mira la imagen de abajo /Estoy usando la versión polaca de Excel así que no sé si tengo las fórmulas correctas /. Omite el spread por ahora.
Hola Kazam,
¿Es posible implementar este paquete NN a Metatrader?
Parece que podría estar bien, corrí la fórmula a través de la hoja de cálculo de Open Office y regresó 73% de precisión en la dirección del comercio. Todavía tengo algunas entradas más para dar a la red que creo que va a mejorar la precisión. Aquí está la hoja de cálculo, lo guardé en formato xls, usted debe ser capaz de leerlo.
En la muestra, fuera de la muestra
Parece que podría estar bien, corrí la fórmula a través de la hoja de cálculo de Open Office y regresó 73% de precisión en la dirección del comercio. Todavía tengo algunas entradas más para dar a la red que creo que va a mejorar la precisión. Aquí está la hoja de cálculo, lo guardé en formato xls, usted debe ser capaz de leerlo.
Bien... ¿En la muestra o fuera de la muestra?
La diferencia es grande en su cuenta, 73% en la muestra es un asesino de la cuenta, 73% fuera de la muestra es un tal vez ...
Intente creer sólo en los resultados fuera de muestra, y cuantos menos datos tenga, menos sobreajuste tendrá... así que, si añade nuevos datos, piense en eliminar algunos de los antiguos... o amplíe el conjunto de datos fuera de muestra en el que forjará sus creencias.
Como regla general: Menos entradas, menos conexiones, más puntos fuera de la muestra... mejor generalización.
Saludos
Simba
biddick
Es una DLL, así que echa un vistazo aquí:
There's an example of how to use DLL functions in Metatrader.
mrwobbles
It's either the training data or you got something wrong - the results are to good .
If one could get an accuracy of 73% with a simple back propagation network no one would give a shit about more complicated stuff
SIMBA
You're right. Choosing the proper input is a the most important thing in the process of creating a NN /there's a rule "trash goes in, trash comes out" /.
But you can always use data mining tools to analyze many different variables and choose those that affect the one you want to predict.
There's a nice book about data minig /and about genetic algorithms, Bayesian classification etc./ - "Data Mining Methods and Models." by Daniel T. Larose. It also shows how to use WEKA /a free, open source software for machine learning/.
My preferred way is to use GA - for the propose of time series prediction I usually allow them to choose from 15-40 previous steps.
PS
I've mentioned using Bayesian probability for the classification tasks but it can also be used for time series prediction
[CODE]http://www.cis.hut.fi/juha/papers/ESTSPfinal.pdf