SOM: métodos de cocción - página 8

 
Sych:

¿Puedo ver el informe completo (cabecera)? La parte inferior ha sido cortada.

Lo he actualizado.

alexeymosc:

Es genial. ¿Cuál es la estrategia? ¿Se cierra el trato por el número de barras (por tiempo) o de otra manera?

Ahora cada señal se procesa por separado. Es decir, se abre cuando se cae una neurona sesgada y se cierra después de un tiempo determinado.
 

Lo tengo. ¿Indiferente significa probablemente con una desviación de probabilidad del 50%? ¿Y la condición de cierre está ligada a cada neurona? ¿Qué es lo que está sesgado? 55%? 60%?

 
alexeymosc:

Lo tengo. ¿Inclinado debe significar con una desviación de probabilidad del 50%? ¿Y la condición de cierre está ligada a cada neurona? ¿Qué es lo que está sesgado? 55%? 60%?

Sí. Alrededor de un factor de 1,5, que es alrededor de 60\40 -- aquí hay un pedazo de código:

{
   if (positive/(negative + 1.0) > 1.5 && count > 3)
   {
      OpenBuy(Magic, TP, SL, TradeLot);
   }
   
   if (negative/(positive + 1.0) > 1.5 && count > 3)
   {
      OpenSell(Magic, TP, SL, TradeLot);
   }
}

Encontré un pequeño error... Pronto volverá a la normalidad.

 
¡Genial!
 
TheXpert:

Actualizado.

Hay optimismo, pero no mucho.

Puedes mejorar estas cifras:

Mediatransacción rentable121.33comercio perdedor-130.51
Número máximovictorias continuas (beneficios)17 (1227.10)Pérdidas continuas (pérdida)11 (-2390.10)

?

Es decir, reducir la media de las operaciones perdedoras en relación con las rentables, o reducir el número de pérdidas continuas.

Entiendo que esto es OOS, pero lo que enseñas es cómo se comportará.

Tal vez la corrección del error descubierto mejore el resultado, será interesante verlo.

 

Amigos, se necesita el consejo de un experto en SOM.

En concreto, me interesa saber cómo controlar la distribución del número de patrones entre los clusters.

 

¡Buenas tardes!

Hace una semana que no tengo acceso a Internet. Estoy escribiendo tarde.

Lo leí aquí: http://www.eicstes.org/EICSTES_PDF/PAPERS/The%20Self-Organizing%20Map%20(Kohonen).pdf

El problema de la distribución óptima de los vectores de entrada sobre las celdas de un SCC, en primer lugar, depende de un entrenamiento adecuado del SCC. Kohonen escribe que el número de iteraciones de entrenamiento debe ser al menos 500 veces el número de neuronas de la red. Es decir, si entrenamos una red de 100 neuronas (de 10 en 10), el número de iteraciones debe ser de al menos 50 000. Francamente, entrenar una red de este tipo en un PC normal, siempre que el vector de entrada sea muy grande (digamos, 40), llevará varios días. La heurística sugerida por Kohonen es que debe haber al menos 10.000 iteraciones de entrenamiento. Son demasiados, en mi opinión, pero como opción podemos reducir el tamaño del vector de entrada y ver qué pasa.

El segundo punto, relacionado con el aprendizaje SCS, del mismo artículo, es que el tamaño del vector de entrada no afecta al número de iteraciones de aprendizaje, es decir, todo depende de la potencia del PC.

En tercer lugar, el radio de entrenamiento de las neuronas, como se sugiere en el artículo, debe ser inicialmente muy grande (se puede hacer más de la mitad del diámetro del ACS) para establecer el "orden topológico" básico en el ACS; luego el radio se reduce de forma inversamente proporcional al número de iteraciones hasta llegar a 0, es decir, cuando se produce la corrección de los pesos de una sola neurona. Al mismo tiempo, el orden topológico original establecido al principio del entrenamiento no se rompe, sino que en zonas locales del mapa se refina. Ver allí.

Una cosa más relacionada con el aprendizaje es un paso de aprendizaje que también debe ser grande al principio (alrededor de 1) y luego disminuir inversamente proporcional al número de iteraciones, y la función de la dependencia del paso en el número de iteraciones pasadas puede ser tanto lineal como no lineal. Al final del entrenamiento, el paso se mantiene muy pequeño durante mucho tiempo, menos de 0,01, para afinar el ECV.

El artículo también habla del preprocesamiento de datos para el entrenamiento, pero en la aplicación al reconocimiento de voz e imágenes. En nuestro caso se trata de una serie temporal, por lo que tenemos que indagar en otra parte. Sé que se ha debatido mucho sobre la aplicación de SOM a las series temporales.

 

¿En qué se basa para creer que el SOM es posible en el autotrading?

Para centrar tu visión en algo, tienes que saber qué es.

En los datos históricos (que es de lo que se quiere que aprenda la red) hay un número casi infinito de posibles movimientos de precios. ¿Cómo debería la red averiguar por sí misma qué hacer y a qué prestar atención?

Imagina a un niño con innumerables juguetes a su alrededor. A pesar de los innumerables juguetes, (o mejor dicho, por eso) el niño nunca sabrá que este juguete es un coche y aquel otro es un oso de peluche. Usted, como padre, debe decirle primero a su hijo que ese juguete se llama coche y dejarle varias veces que intente encontrar ese juguete concreto entre los demás. Así, el niño podrá identificar el coche y no confundirlo nunca con el osito.

El SOM sólo puede activarse si la red sabe cuál es su objetivo, sólo entonces puede enfocar su visión. Puede ser mediante la identificación del número de la matrícula del vehículo o mediante la búsqueda de la palabra o frase correcta por parte del traductor automático. Sin embargo, primero tendrás que enseñar a la red a reconocer números o palabras, y sólo entonces dejarla libre para nadar.

¿Qué quiere/puede ofrecer la red sobre el flujo de datos históricos? ¿Y con qué cuenta?