Friday 24 November 2017

Bollinger Bands Neural Network


MetaTrader 5 - Expertos Bollinger Band Ancho de cálculo con Red Neural usando - experto para MetaTrader 5 Descripción: He estado buscando un BB Width Expert Advisor, pero no pude encontrar en cualquier lugar. Entonces decidí crear el mío, y como parte de mis estudios hice esto. Este asesor experto sigue el método de red neuronal. Depósito Inicial 10000. Beneficio Bruto de 36000. Tiempo 3,5 meses. ¿Qué es Bollinger Band Width Bollinger Band Width es formación de banda en Bollinger Bands. En su libro (Bollinger on Bollinger Bands), John Bollinger se refiere a Bollinger Band Width como uno de los dos indicadores que pueden derivarse de Bollinger Bands. El otro indicador es B. BandWidth mide la diferencia porcentual entre la banda superior y la banda inferior. El ancho de banda disminuye a medida que las Bandas de Bollinger se estrechan y aumenta a medida que las Bandas de Bollinger se ensanchan. Debido a que las Bandas de Bollinger están basadas en la desviación estándar, el ancho de banda decreciente refleja la volatilidad decreciente y el aumento del Ancho de Banda refleja la creciente volatilidad. Angostura: ancho de banda estrecha es relativo. Los valores de ancho de banda deben medirse con respecto a los valores anteriores de ancho de banda durante un período de tiempo. Es importante tener un buen período de revisión para definir el rango de ancho de banda para un símbolo en particular. El Squeeze: Bollinger BandWidth es mejor conocido por identificar el Squeeze. Esto ocurre cuando la volatilidad cae a un nivel muy bajo, como lo demuestran las bandas de estrechamiento. Las bandas superior e inferior se basan en la desviación estándar, que es una medida de la volatilidad. Las bandas se estrechan cuando el precio se aplana o se mueve dentro de un rango relativamente estrecho. La teoría es que los períodos de baja volatilidad son seguidos por períodos de alta volatilidad. Ancho de banda relativamente estrecho (a. k.a. el Squeeze) puede presagiar un avance significativo o disminución. Después de un Squeeze, un aumento de precio y la ruptura posterior de la banda señalan el inicio de un nuevo movimiento. Un nuevo avance comienza con un Squeeze y posterior ruptura por encima de la banda superior. Un nuevo declive comienza con un Squeeze y una ruptura subsiguiente por debajo de la banda inferior. Una idea puede cambiar tu vida -) Tengo la inspiración para trabajar en redes neuronales después de leer este artículo. El autor Fyords me ayudó mucho en la parte final de la codificación. Este Asesor experto toma el valor de los últimos 14 períodos y lo minimiza con la fórmula del método de Red Neural (lea el artículo para la mejor implementación de la Red Neural). Cálculo del ancho He utilizado el método clásico: (BBupperBand - BBLlowerBand) / BBMidleBand. Fórmula: inputsi2 ((iBandsUpperbufi - iBandsBasebufi) / iBandsBasebufi) - (xminxminn) (d2-d1)) / ((xmaxxxmax) - (xminxminn)) d1 Parece complicado pero en realidad es igual que A, B, C, D. El artículo anterior le puede ayudar mucho. El resultado de la prueba del consejero experto es bueno, he tomado el período a partir de 2013.01.01 a 2013.04.13. Balance: He adjuntado el resultado de la prueba completa en el archivo zip. Recomendaciones: No recomiendo utilizar este asesor experto en cuenta real. En el mismo código se puede utilizar alguna combinación de indicadores de volumen (CCI, MFI, etc.) PREDICCIÓN DEL MERCADO DE BOLSA CON REDES NEURALES por Dr. Valentin Steinhauer Discla: No se asume responsabilidad por la exactitud. Completitud de los métodos y otra información en este tutorial. Aquí se consideran dos direcciones complementarias. Predicción de una sola serie. El segundo método de Bollinger Bands. ¿Por qué se seleccionan? En el tiempo de silencio predominan las leyes armónicas y en este punto son buenas predicciones de series de tiempo. Este método (de diferentes fuentes) permite una predicción hacia arriba y hacia abajo en los valores bursátiles con una probabilidad de 52 -53, 50 -50 es, no te olvides. aleatorio. La segunda dirección (Bandas de Bollinger) es de área completamente diferente. El nerviosismo del mercado de valores. Cuando los precios caen o crecen demasiado en comparación con tiempos anteriores. Entonces a menudo hay un punto de inflexión. Las estadísticas de predicciones positivas en este caso son mejores. Pero los casos no ocurren con tanta frecuencia. Y será necesario esperar. Predicción de series temporales en el mercado de valores La predicción de series de tiempo juega un papel importante en la economía. Los cursos de bolsa, así como el consumo de energía se puede predecir para ser capaz de tomar decisiones. Este tutorial muestra un enfoque posible de cómo las redes neuronales pueden ser utilizados para este tipo de predicción. Extiende el tutorial Neuroph llamado quot, que da una buena base teórica para la predicción. Utilizado para nuestros propósitos, la secuencia temporal es variable de observación. Variable observada a intervalos de tiempo discretos. El análisis de series de tiempo incluye una descripción del proceso o fenómeno, que genera una secuencia. Predecir las series temporales. Es necesario presentar el comportamiento del proceso en forma de un modelo matemático que se pueda extender en el futuro. Para hacer esto. El modelo es una buena representación de las observaciones en cualquier segmento de tiempo local cercano al presente. Por lo general, no es necesario tener un modelo que represente una observación muy antigua. Ya que probablemente no caracterizar el momento. Tampoco es necesario presentar observaciones en el futuro lejano, je después de un intervalo de tiempo que es mayor que el horizonte. Una vez que el modelo correcto será creado para manejar la secuencia temporal, podemos desarrollar medios apropiados de predicción. Para mostrar cómo funciona, hemos entrenado la red con los datos DAX (índice alemán de valores) durante un mes (03.2009: del 02 al 30) - para predecir el valor a 31.03.2009. Como estrategia tomamos las secuencias de 4 días para predecir cada 5to día. En el grupo de entrenamiento el día 5 es el valor supervisado. Los datos DAX se pueden descargar de la siguiente URL (una de las posibilidades): download. finance. yahoo/d/quotes. csvsGDAXIampfsl1d1t1c1ohgvampe. cs TrainingSetGetter está disponible para su descarga como parte del proyecto NetBeans, sin embargo, es sólo el ejemplo codificado Datos con normalización. También el primer paso es la normalización de los datos de entrenamiento en el área (0-1). La siguiente fórmula lo ofrece como sigue: Norm. value 0.8 (valor v1) / (v2 v1) 0.1, Aquí 0.8 y 0.1 son los valores para corregir el conjunto de datos de los límites 0 y 1, v2 es el ampliador de valor máximo y v1 valor mínimo / Expansor. La normalización desempeña un papel importante en la preparación de los datos para la formación en red. Este coeficiente de expansión se introduce para compresión o estiramiento en una normalización. En cada caso de una predicción es deseable seleccionar este coeficiente desde puntos de control. A continuación, se define la topología de red. Qué tipo de red, cuántas capas y cuántas neuronas por capa se utilizan. En realidad, no hay ninguna regla para esto, y por lo general se determina experimentalmente. Sin embargo, el tipo común de red utilizado para la predicción es un perceptron de varias capas. Una recomendación es tener nodos 2n1 para capa oculta, donde n es el número de los nodos de entrada. La capa de salida sólo tiene un nodo en este caso. Los buenos resultados se obtuvieron con la siguiente topología y conjunto de parámetros: maxIteration10000, maxerror0.0001 y el conjunto de entrenamiento está organizado de la siguiente manera: public DataSet getTrainingSet (int n, int m) trainingSet nuevo DataSet (n, m) trainingSet. addRow (in , Out) y la red correspondiente es: int maxIterations 10000 NeuralNetwork neuralNet new MultiLayerPerceptron (4, 9, 1) ((LMS) neuralNet. getLearningRule ()). SetMaxError (0,0001) ((LMS) neuralNet. getLearningRule ()). SetMaxIterations MaxIterations) En este punto, estamos listos para entrenar y probar la red. Para la prueba usamos el conjunto de datos preparado en el que se dan los datos DAX a partir de los 27, 28, 29 y 30.03.09 para predecir el valor en 31.03.09 double networkOutput neuralNet. getOutput () doble predichoNormalized networkOutput0 Dado que la red se inicializa con aleatorio Peso, los resultados de la prueba difieren de un cálculo a un cálculo. Después de cinco pruebas salió con la siguiente predicción - resultados para 03.31.2009: 4084.61 4081.28 4073.08 4075.22 4087.42. El tiempo de duración fue de 3 segundos (2 CPU, 3.3Ghz, 2GB Ram, WinXP). Eso se llama un comité - una colección de diferentes redes neuronales, que juntos presentan el ejemplo, con el expansor 1.30D. Da un resultado mucho mejor en comparación con otros procedimientos de redes neuronales. El valor que fue oficial anunciado ese día es 4084.76. Por lo tanto en dirección de obtener mejores resultados cuantitativos está cambiando la secuencia de cálculos, que llevamos a cabo en el ejemplo anterior. Podemos usar cálculos concurrentes para crear el comité. El comité tiende no sólo a una estabilidad, sino que también permite un control relativo efectivo de las condiciones de entrenamiento. La dispersión relativa de los resultados del comité es la figura de mérito en este caso. Para crear la concurrencia utilizamos el paquete jetlang. El comité incluye los siguientes módulos en el ejemplo: Actor, Canales, Mensaje y se controlará desde el módulo Principal. Las señales periódicas prevalecen en este modelo (postulado). ¿Cuál señal periódica es mayor? ¿Dónde está el ajuste inferior o el ajuste excesivo del perceptrón? Es posible predecir automáticamente en este modelo un algoritmo con autocorrección que demuestra algunas ideas básicas de desarrollo (cuota de mayor armónica onda): 1. Tenemos más Que una secuencia de cálculos (véase quotcommitteequot) 2. El círculo principal da la variación del número de puntos (N) en la ventana de predicción de tiempo. Un período de cabeza es determinado por N en cada variación de la cuota de las grandes armónicas wavequot. El número de capas ocultas es 2N1 automático. Como figura de mérito se utilizará el R 8721 F obs - F calc / 8721 F obs. Denominado factor R a través de datos de series de tiempo completo. 3. Para cada N será la variedad de los conjuntos de entrenamiento: los elementos se eliminarán consecutivamente para lograr el mínimo de factor R y para lograr la relación óptima entre el ajuste inferior y el ajuste excesivo. 4. El valor medio a través del comité es el resultado de este simple flujo automático. ¿Qué tan bueno es este modelo de cuota de las grandes armónicas wavequot para sus tareas, usted debe decidir usted mismo. Las pruebas DAX simples mostraron buenos resultados matemáticos. Esta filtración del modelo es similar al sueño humano: los modelos de entrenamiento se reducen al máximo. Pero cuando se mejora el reconocimiento. Por predicción de series de tiempo se obtuvieron los mejores resultados al analizar el crecimiento y la caída de los valores de las poblaciones 82038203. no para un pronóstico de los valores 8203 usted mismo. Bandas de Bollinger en el mercado de valores con Neuroph Bollinger Bands es inventado por John Bolliger. Las Bandas de Bollinger indican una variación del precio de un instrumento financiero en el tiempo. La salida para fronteras de bandas conduce con una alta probabilidad de volver a bandas. Y la dificultad principal es encontrar: cuando ocurre el retorno Para predecir este retorno usamos Neuroph. Bollinger Bands refleja el grado de nerviosismo y son adecuados para el mercado de valores no estábile. Puedes leer más sobre las Bandas de Bollinger en otros documentos Wiki. por ejemplo. Nos vamos a concentrar en la técnica de uso con Neuroph. Los parámetros principales para las bandas de Bollinger son un período de media móvil una banda superior por encima de la media móvil una banda inferior de la media móvil Como los datos de prueba se utilizará DAX. Considere el trabajo de entrenamiento de este método como un ejemplo. En un archivo preparado. Que contiene los valores 82038203 de Dax para un día con intervalos de 5 minutos se buscará la situación va más allá del valor de la media. Para promediar se detecta experimentalmente el número de 21 últimos valores. La salida es 1, si el valor actual de Dax es superior a 2 sigma promedio o inferior a 2 sigma de promedio y en los 15 min es el comportamiento correcto, en otros casos es 0. Correcto significa que el valor vuelve a la banda. El sigma es la desviación estándar y se calculará en el método standardAbweichung dinámicamente. El algoritmo se implementa en el programa BollingerAnalyze ver el apéndice (paquete de proyecto). La normalización es similar a la mostrada anteriormente. Ver el método de normalización en el BollingerAnalyze. java. En el programa de formación se estimará (con el fin de controlar) la frecuencia de funcionamiento correcto del método: cuántos casos son correctos de todos los casos. Puede probar otros parámetros para sus carbones. El uso de la red entrenada se muestra en el método getRecommendation. El método da 1 o -1 si tiene Bollinger Bands situación (arriba o abajo) y en 15 minutos volverá DAX en la banda. En un mal caso es 0 o el valor no puede predecirse. Por supuesto un gran problema es obtener los valores 82038203 en tiempo real. Sin embargo, este es un problema de organización y se puede hacer con el valor dinámico Neuroph reconocimiento de imágenes en tiempo real, probablemente. El mensaje después del entrenamiento y prueba es como sigue: extremos número 4707 bollingers extremos número. 1006 número completo de puntos 21136 defectos 1. En el caso de defectos significa cuántos bollinger situación no se predijo correctamente. Conclusión Por último, dos factores importantes en la predicción de los problemas - las posibilidades y los intereses de las personas que hacen y utilizan la predicción. Idealmente. La información histórica se analiza automáticamente, y la previsión es un gestor para una posible modificación. La introducción de un experto en el proceso de previsión es importante, pero requiere la cooperación de gerentes con experiencia. Próxima previsión enviada a los gerentes, que la utilizan para tomar decisiones. E incluso si dicen que el tiempo es sólo hablar, pueden obtener beneficios reales de su uso. Descargue los proyectos de NetBeans con fuente Si tiene pedidos especiales o desea apoyarme simplemente (PayPal), utilice por favor: tec. de (at) t-online. deUtilizando una red neuronal para modelar el SP 500 Las redes neuronales artificiales son muy potentes Y los populares algoritmos de aprendizaje automático que imitan cómo funciona un cerebro para encontrar patrones en sus datos. Aunque pueden llegar a ser bastante complejos y requieren afinar una amplia variedad de parámetros, tienen el potencial de ser muy eficaces y deben ser explorados. En este post, vamos a dar una introducción básica a cómo funcionan las redes neuronales, discutir cómo ajustar los parámetros y construir una red neuronal básica para modelar el SP 500. En la siguiente sección vamos a discutir cómo optimizar la red neuronal y cómo Para aplicar el modelo a su propio comercio. ¿Qué es una Red Neural Artificial? Las redes neuronales artificiales (RNAs), similares a un cerebro, consisten en una red de neuronas interconectadas. Estas neuronas se comunican entre sí a través de un gran número de conexiones ponderadas. Cuando una señal entrante alcanza cierto nivel, una neurona se activa en función de su función de activación. Una vez que esta neurona se activa, entonces pasa a lo largo de su señal al siguiente nivel de neuronas, con la fuerza de la señal determinada por el peso de cada conexión. ANNs hacer predicciones mediante el envío de las entradas (en nuestro caso, los indicadores) a través de la red de neuronas, con las neuronas disparando dependiendo de los pesos de las señales entrantes. La salida final está determinada por la fuerza de las señales procedentes de la capa anterior de neuronas. Si bien estas redes tienen la ventaja de ser capaces de modelar cualquier conjunto de datos arbitrariamente complejos, quedan muchas preguntas sobre cómo debe construirse la red. Debe decidir el número de capas de neuronas (conocidas como capas ocultas), el número de neuronas en cada capa, cómo se activa una neurona y cómo cambian o aprenden los pesos entre las neuronas con el tiempo. Determinación de los parámetros de su red Una de las decisiones más importantes al utilizar las RNA es determinar la arquitectura de red, o el número de capas ocultas y el número de neuronas en cada capa. La primera o la capa de entrada se establece por el número de entradas y la capa final o de salida está determinada por el número de salidas (en nuestro caso, sólo estamos buscando pronosticar una sola variable la dirección del precio). Esto deja la pregunta de cuántas capas ocultas debo tener y cuántas neuronas en cada capa debo incluir Si usted tiene muy pocas capas ocultas usted no podrá modelar patrones complejos en sus datos y con demasiados usted no generalizará bien sobre nuevo datos. Dos capas ocultas generalmente proporcionan suficiente flexibilidad para modelar incluso conjuntos de datos altamente complejos. Una buena regla para determinar el número de neuronas a incluir en cada capa oculta es que debería caer en algún lugar entre el número de entradas y el número de salidas. Sin embargo, los mejores resultados se encuentran a menudo a través de prueba y error, donde se selecciona la arquitectura de árbol con el error de validación cruzada más bajo sobre los datos. Para nuestro ejemplo, utilizaremos una red neuronal de dos capas ocultas con 3 neuronas cada una. Ahora que tenemos la arquitectura de nuestra red, necesitamos averiguar cuándo una neurona debe ser activada. Para este ejemplo, utilizaremos una función de activación sigmoide logística, un método muy popular que nos permite modelar datos no lineales y limita el rango de las señales de 0 a 1. El último paso es averiguar cómo determinar los pesos Entre las neuronas. Un método común es a través de la retropropagación. Una red neural intenta minimizar el error cuadrático entre el valor predicho y el valor real para cada punto de datos. El error se minimiza a través de un descenso de gradiente, que puede considerarse como un paso en la dirección del peso que disminuye el error (el tamaño de este paso se conoce como la tasa de aprendizaje). Backpropagation trabaja hacia atrás desde la capa de salida y ajusta los pesos entre cada neurona por la tasa de aprendizaje hasta que alcanza un error mínimo local o un criterio de detención. Utilizaremos un algoritmo de retropropagación con una tasa de aprendizaje de .001. Hay muchos más sofisticados parámetros y métodos para la construcción de una ANN, sin embargo, estos son los básicos que necesita saber antes de seguir adelante. Los mejores resultados se encuentran generalmente evaluando los parámetros sobre su conjunto de datos particular. Ahora que tenemos que cuidar de los conceptos básicos, vamos a construir nuestra red neuronal Construir su red Una cosa importante a recordar cuando se utiliza una ANN, especialmente con una función de activación sigmoide, es que usted necesita para normalizar sus datos entre 0 y 1. Así que permite primero instalar las bibliotecas que necesitamos y construir nuestros conjuntos de datos. Luego normalizar nuestros datos. Y crear nuestros conjuntos de entrenamiento y prueba: Ahora vamos a construir nuestra red neuronal artificial. Nota: las neuronas de polarización (vistas en azul) para cada capa nos dan mucha más flexibilidad en los patrones que somos capaces de capturar al permitirnos alterar la función de activación de una manera diferente. Puede encontrar más información sobre las neuronas de sesgo aquí. En nuestro próximo post, vamos a interpretar la salida de la red y ver cómo podemos utilizarlo en nuestro comercio. Hasta entonces, regístrese para obtener acceso anticipado a TRAIDE y utilice estos algoritmos sin escribir una sola línea de código

No comments:

Post a Comment