Aprendizaje automático en el trading: teoría, práctica, operaciones y más - página 926

 
forexman77:

Todavía no puedo asegurarlo, ya que he jugado con muchos parámetros, la mejora fue de aproximadamente 0,1. Tal vez haya algunas técnicas que desconozco, por eso he preguntado.

si nada ayuda, entonces el problema está en los datos, no hay nada más que afinar en las allí
 
Aleksey Vyazmikin:

Por supuesto que se puede, pero hay que hacerlo por partes (fallos del servidor), Filter set - definiendo donde no se puede comprar/vender, MaloVhodov set - entradas de tendencia para obtener un beneficio decente, MnogoVhodov set - todas las entradas excepto las no rentables.

Probé con Malovhodov para empezar.

Intenté enseñar a forest a predecir arr_Buy desde 2015 basándome en arr_Vektor_Week, arr_Vektor_Day, etc.

Las clases están muy desequilibradas (hay 10 veces más ejemplos con clase 0 que con clase 1), esto añade mucha dificultad.

Este es el árbol de 2015 formado en


y_pred
y_true01
09726886118
1552912256
Y esto es 2016, nuevo en los datos del árbol:
y_pred
y_true01
09658190918
162968956

La predicción en ambos casos es de baja precisión, pero al menos tiene una precisión superior al 50% en ambos casos.

El árbol es así:


Siempre a la izquierda TRUE, a la derecha FALSE. Para los óvalos, el pronóstico necesita redondear (>=0,5 -> 1; <0,5 -> 0) Voy a probar mnogovhodov, creo que será mejor, allí las clases 0 y 1 son más iguales.

 
Dr. Trader:

Intenté con Malovhodov para empezar.

Intenté enseñar a forest a predecir arr_Buy desde 2015 basándome en arr_Vektor_Week, arr_Vektor_Day, etc.

Las clases están muy desequilibradas (hay 10 veces más ejemplos con clase 0 que con clase 1), esto añade mucha dificultad.

Este es el árbol de 2015 formado en


y_pred
y_true01
09726886118
1552912256

La predicción en ambos casos es de baja precisión, pero al menos tiene una precisión superior al 50% en ambos casos.

El árbol es así:


Siempre a la izquierda TRUE, a la derecha FALSE. En la predicción de los óvalos, todavía tiene que redondear (>=0,5 -> 1; <0,5 -> 0) Voy a probar mnogovhodov, creo que será mejor, allí las clases 0 y 1 son más iguales.

¡Vaya, qué arbolito más pequeño! ¡Estoy sorprendido! Del árbol leí el deseo de entrar en un cambio de tendencia, es decir, comprar realmente en la parte inferior. ¿Según su sistema los otros predictores no eran informativos?

¿Qué son los números en los óvalos?
 

Mi bosque para las marcas verdaderas y falsas corrió a través.

[[ 2011  2948]
 [  215 11821]]//тест

[[14997     0]
 [    0 35985]]//тренировка

La clase que buscaba estaba más de la mitad en otra clase en la prueba, pero se dividió muy bien en el entrenamiento)

 
Dr. Trader - por favor, escriba una lista de los predictores en el árbol, porque la captura de pantalla ha recortado sus nombres.
 
Aleksey Vyazmikin:

¡Vaya, qué arbolito más pequeño! ¡Estoy sorprendido! Desde el árbol leo un deseo de entrar en un cambio de tendencia, es decir, comprar en la parte más baja. ¿Según su sistema los otros predictores no eran informativos?

¿Qué son los números en los óvalos?

Algunos de ellos fueron rechazados en el proceso de selección de los parámetros del árbol y de los predictores. No puedo decir nada específico sobre la informatividad en general, pero para este caso estos son los que mejor encajan.

Los óvalos son predicciones del árbol. Mi árbol fue entrenado en modo "anova", es decir, la probabilidad se da no una predicción específica 0 o 1, pero la probabilidad. Todo lo que sea más de 0,5 es probablemente de clase 1. Lo que es menos de 0,5 es probablemente la clase 0. Por lo tanto, cuanto más se acerque a 0 o 1, más seguro será el pronóstico.

Se puede describir el árbol de forma programada de la siguiente manera:

double prediction;
if(arr_Donproc<3.5)
{
  if(arr_iDeltaH1>=-6.5)
  {
    if(arr_TimeH>=14)
    {
       prediction = 0.29;
    }
    else
    {
       prediction = 0.44;
    }
  }
  else
  {
     prediction = 0.58;
  }
}
else
{
  if(arr_RSI_Open_ < 0.5)
  {
     //...
  }
  else
  {
     //...
  }
}

int predictionClass = 0;
if(prediction >= 0.5) predictionClass=1;

if(predictionClass == 0)
{
  //...
}
else if(predictionClass == 1)
{
  //...
}
 
Aleksey Vyazmikin:
Dr. Trader - por favor, escriba una lista de predictores en el árbol, porque la pantalla cortó sus nombres.

Cierto, no me había dado cuenta. En el traqueteo, fue de alguna manera fácil ver la lista y las reglas. Ahora no tengo sonajero, buscaré una forma alternativa de hacerlo.

 
El Dr. Trader:

Algunos de los predictores fueron eliminados en el proceso de selección de los parámetros del árbol y de los predictores; algunos de los predictores fueron rechazados por el propio árbol. No puedo decir nada específico sobre la informatividad en general, pero para este caso son los que mejor encajan.

Los óvalos son predicciones del árbol. Mi árbol fue entrenado en modo "anova", es decir, la probabilidad se da no una predicción específica 0 o 1, pero la probabilidad. Todo lo que sea más de 0,5 es probablemente de clase 1. Lo que es menos de 0,5 es probablemente la clase 0. Por lo tanto, cuanto más se acerque a 0 o 1, más seguro será el pronóstico.

Puede describir el árbol de forma programada de la siguiente manera:

Ayer rehice la información de arr_iDelta en diferentes variaciones, añadí dos tipos adicionales de predictores e hice el cálculo más completo para H4,MN1,W1 - creo que son predictores importantes, así que eliminé los antiguos análogos y añadí los nuevos, por ejemplo

Por cierto, la mayoría de los predictores se calculan con el script, los nuevos se calculan con el EA y el resultado es congruente, es decir, no hay picos.

¡Gracias por la interpretación en forma de código! Si está interesado, datos sobre el encolado de futuros de Si.

Vuelvo a adjuntar los archivos, sugiero experimentar con ellos.

Archivos adjuntos:
Filter_02.zip  3805 kb
 
MaloVhodov_02
Archivos adjuntos:
MaloVhodov_02.zip  3774 kb
 
MnogoVhodov_02
Archivos adjuntos:
MnogoVhodov_02.zip  3804 kb