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

 
elibrarius:

Es decir, ¿la alineación se recoge con el método sugerido por Vladimir?

Probablemente no es exactamente lo que pensaba que sería. No lo sé, no lo he usado, tengo que leer la ayuda

¿Hay algún lugar donde se pueda leer sobre estos parámetros?
 
elibrarius:

Estas pesas pueden introducirse no sólo en el reforzador, sino también en la caja del bosque y del NS. Al parecer, la metodología es común a todos los sistemas del Ministerio de Defensa.
El primer experimento con la disminución de la influencia de los datos antiguos no mostró ninguna mejora.

Cuando se entrena con 30000 líneas, la prueba se ve mejor que cuando se entrena con 80000 líneas. A 80000 hay menos operaciones y el error es mayor. He probado a disminuir el peso proporcionalmente (de 1 para el fresco a 0,5 para el viejo) y los resultados son casi los mismos.


Al parecer, sigue siendo para la alineación de la dispersión, como señaló Maxim, por el método indicado por Vladimir.

Sí, me refiero a la viabilidad de la reducción de pesos para aquellas filas en las que la partición del predictor debe trasladarse a un nivel inferior del árbol. Dar peso a los datos más recientes podría tener sentido, si tenemos en cuenta que el mercado ha cambiado...

 
Maxim Dmitrievsky:
¿Hay algún lugar donde se pueda leer sobre estos parámetros?

No había prestado atención a esto antes

 

Hizo un prototipo del TS en la NS. Apertura de una operación según la previsión NS, tiempo de previsión - 5 m. Cierre de la operación en 5 minutos después de la apertura. No hay seguimiento del acuerdo.

Este es el primer resultado:

x - número de operación, y - beneficio en pips. No se tienen en cuenta las comisiones, etc. El intervalo de la prueba es de 3,5 meses.

No hay necesidad de operar hasta la 60ª operación, es hasta el cierre anterior de los futuros, el pronóstico no es muy posible allí. Los saltos bruscos, sospecho, son lagunas interdiarias.

Y el código Python. No puede ser más sencillo.

def Long(i): # сделка Long
    print('long')
    profLS.append(SD.history[i+5][c.c] - SD.history[i][c.c] )
    return i + 5

def Short(i):  # Сделка Short
    print('short')
    profLS.append(SD.history[i][c.c] - SD.history[i+5][c.c] )
    return i + 5

while i < LenHist:
    x = []
    for j in range(0, 20): #Подготовка данных для НС
        x.append((SD.history[i-j][c.c]/SD.history[i][c.c]-1)*1000)
    out = MLP.Predict([x]) # запрашиваем прогноз НС
    if out >= 3.0:
        i = Long(i)       
        tmp.append('L')
    elif out <= -3.0:
        i = Short(i)        
        tmp.append('S')
    i += 1
 
elibrarius:

No había prestado atención a esto antes

No he podido encontrarlo en la página web de xgboost, bueno hay una sección de "ajuste de parámetros" y se trata de la compensación de sesgo-varianza

Es algo parecido a lo que estaba pensando.

No lo uso, sólo por curiosidad.

 
Yuriy Asaulenko:

Hizo un prototipo del TS en NS. Cerró el trato 5 minutos después de la apertura (tiempo de predicción). No hay control del comercio.

Este es el primer resultado:

Por x - número de operación, por y - beneficio en pips. No se tienen en cuenta las comisiones, etc. El intervalo de la prueba es de 3,5 meses.

No hay necesidad de operar hasta la 60ª operación, es hasta el cierre anterior de los futuros, el pronóstico no es muy posible allí. Los saltos bruscos, sospecho, son lagunas interdiarias.

Y el código Python. No puede ser más sencillo.

Parece interesante teniendo en cuenta el cierre nocturno y la no apertura a las 10:00?

 
Aleksey Vyazmikin:

Parece interesante, pero ¿se tiene en cuenta el cierre por la noche y la no apertura a las 10:00?

No se tiene en cuenta nada. Flujo continuo de la historia Cerca de la NS. Abrimos según la previsión del NS y cerramos en 5 metros.

 
Maxim Dmitrievsky:

No pude encontrar tal ajuste en el sitio web de xgboost, bueno hay una sección de "ajuste de parámetros" y se trata de la compensación de sesgo-varianza

Es algo parecido a lo que estaba pensando.

No lo uso, sólo tengo curiosidad.

En la descripción en PDF del paquete para la función xgb.train dice:

peso - un vector que indica el peso de cada fila de la entrada.

Y eso es todo.

ELM tiene el mismo. Lo he visto en otro sitio.

 
elibrarius:

La descripción en PDF del paquete para la función xgb.train dice

peso - un vector que indica el peso de cada fila de la entrada.

Eso es todo.

Le pregunté al tipo que se encarga de las cosas de la inyección, tal vez te dé una respuesta más tarde.

 
Yuriy Asaulenko:

Nada está contabilizado. Flujo continuo de la historia Cerrar directamente en la NS. Abrimos según la previsión, en 5 m cerramos estúpidamente.

He obtenido buenos resultados con ellos al entrenar, pero ha resultado irreal cerrar a las 10:00 por parada sin tirar para atrás.