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

 
mytarmailS #:
Bueno, digamos que 50 pronósticos arriba 50 abajo, promediados, obtuvimos un pronóstico horizontal, ¿y qué?))
y ya está... ¿Cuáles son sus opciones?
 
elibrarius #:
y ya está. ¿Cuáles son tus opciones?
Bueno, como la que sugerí arriba
 
elibrarius #:
¿Y sobre cuál de las 100 líneas pronosticadas hacer una predicción?
No he visto ninguna sugerencia)
 

Una variante del marcado "informativo", un pen test:

def labeling_entropy(dataset, min_Mi = 0.1, min=15, max=15):
    labels = []
    MIs = []
    for i in range(max, dataset.shape[0]-max*2):
        rand = random.randint(min, max)
        curr_pr = dataset['close'][i]
        future_pr = dataset['close'][i + rand]
        full_pr = dataset[i-rand:i+rand]

        mi = mutual_info_regression(full_pr[full_pr.columns[1:]].iloc[0:rand], full_pr[full_pr.columns[0]].iloc[rand:rand*2])
        MIs.append(mi.mean())

        if future_pr + MARKUP < curr_pr and mi.mean() > min_Mi:
            labels.append(1.0)
        elif future_pr - MARKUP > curr_pr and mi.mean() > min_Mi:
            labels.append(0.0)
        else:
            labels.append(2.0)
    
    dataset = dataset.iloc[max:]
    dataset = dataset.iloc[:len(labels)].copy()
    dataset['labels'] = labels
    return dataset.dropna(), MIs

Tomamos un conjunto de signos y marcamos las etiquetas como en mis artículos, pero teniendo en cuenta la información mutua (tipo regresión) entre n cadenas del conjunto de signos antes de abrir una operación y n cadenas de precios futuros.

Si la información mutua está por debajo del umbral, marcamos como no operar.

a continuación, entrenado 2 modelos sobre las señales y sobre el comercio / no comercio, a partir de 2019

Res:

No se ganó mucho con este enfoque

 
elibrarius #:
No vi la sugerencia)
Bueno, relee mi post, la última foto.
Todavía dice
 

Lo lógico era probar otras opciones:

mi = mutual_info_regression(full_pr[full_pr.columns[1:]].iloc[0:rand], full_pr[full_pr.columns[0]].iloc[0:rand]) сравниваем фичи и цены в момент предсказания
mi = mutual_info_regression(full_pr[full_pr.columns[1:]].iloc[0:rand*2], full_pr[full_pr.columns[0]].iloc[0:rand*2]) сравниваем на глубину предсказания вперед + назад
mi = mutual_info_regression(full_pr[full_pr.columns[1:]].iloc[rand:rand*2], full_pr[full_pr.columns[0]].iloc[rand:rand*2]) только вперед
mi = mutual_info_regression(full_pr.iloc[0:rand], full_pr[full_pr.columns[0]].iloc[rand:rand*2])текущие цены и фичи в момент предсказания VS будущие цены

todas las opciones no producen nada

 
mytarmailS #:
Bueno, relee mi post, la última foto.
Todavía está escrito

Sólo había 2 variantes en las primeras 25 barras. Y 2 errores son un pequeño error.
Y esto es sólo 1 variante de la tabla de miles, que pasó a llamar la atención. La situación será diferente en otros. Usted necesita hacer una estrategia (que no ha formulado) y ver la línea de equilibrio en los nuevos datos (Maxim llevó su idea hasta el final y todo se aclaró a la vez).
 
Hice lo mismo con clustering hace más de un año, luego determiné niveles medios como en las fotos y a partir de ellos puse órdenes. Dividido en 3 clusters alcista, bajista, reversión a la media. Funciona muy bien en la formación.
Lo curioso es que da igual los medios especiales que uses, no puedes sacar nada bueno del azar
 
Maxim Dmitrievsky #:
Hice lo mismo con clustering hace más de un año, luego determiné niveles medios como en las fotos y a partir de ellos puse órdenes. Dividido en 3 clusters alcista, bajista, reversión a la media. Funciona muy bien en la formación.
Lo curioso es que da igual los medios especiales que uses, no puedes sacar nada bueno del azar

Sí. Aparentemente no puedes sacar nada de los precios. No hay nada más. También hay volúmenes en la bolsa.
Aparentemente, FA es lo único que puede dar algo. Y probablemente sea mejor hacerlo manualmente. Pero incluso ahí te puedes equivocar, las fake news están trabajando activamente.

 
Maxim Dmitrievsky #:

Comprobé la informatividad de los atributos desplazándolos hacia atrás. Es decir, no tomamos los últimos valores del historial de atributos, sino con una sangría hacia el pasado. Tomé 50 sangrías (de cero a -50 barras)

En la columna de la derecha la indentación en barras, en la columna de la izquierda la información mutua. La sangría es en orden ascendente de información mutua entre fichas y etiquetas.

Resulta que los últimos precios no siempre son mejores que los anteriores, hay cierto aumento en la barra -11 en relación con la barra cero:

indicativo

¿Qué entiendes por "información mutua"? ¿Es interesante el efecto de la fic sobre la marca? ¿Es interesante la influencia recíproca? ¿Cómo se calcula la "información mutua"?