L'apprentissage automatique dans la négociation : théorie, modèles, pratique et algo-trading - page 2791

 
mytarmailS #:
Je pense que le calcul de la moyenne est une mauvaise idée, une très mauvaise idée...
Surtout les lignes non reliées, c'est comme ça que ça doit fonctionner, les montagnes. Ligne
Laquelle des 100 lignes prédites devrions-nous utiliser ? La moyenne est la solution la plus évidente.
 
elibrarius #:
Et sur laquelle des 100 lignes prédites faire un pronostic ? La moyenne est la solution la plus évidente.
Eh bien, disons que 50 prévisions à la hausse et 50 à la baisse, on fait la moyenne, on obtient une prévision horizontale, et alors ?)))
 
mytarmailS #:
Eh bien, disons 50 prévisions à la hausse et 50 à la baisse, on fait la moyenne, on obtient une prévision horizontale, et alors ?)
et c'est tout... Quelles sont vos options ?
 
elibrarius #:
et c'est tout. Quelles sont vos options ?
Eh bien, comme celle que j'ai suggérée plus haut
 
elibrarius #:
Et sur laquelle des 100 lignes prédites faire un pronostic ?
Je n'ai pas vu de suggestion)
 

Une variante du balisage "informatif", un essai au stylo :

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

On prend un ensemble de signes et on marque les étiquettes comme dans mes articles, mais en tenant compte de l'information mutuelle (type régression) entre n-chaînes de l'ensemble de signes avant l'ouverture d'une transaction et n-chaînes de prix futurs.

Si l'information mutuelle est inférieure au seuil, on marque comme ne pas négocier.

Nous avons ensuite formé 2 modèles sur les signaux et sur la négociation/non négociation, à partir de 2019.

Rés :

Cette approche n'a pas apporté grand-chose.

 
elibrarius #:
Je n'ai pas vu la suggestion)
Eh bien, relisez mon message, la dernière image.
Il est toujours écrit
 

La chose logique à faire était d'essayer d'autres options :

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 будущие цены

toutes les options ne donnent rien

 
mytarmailS #:
Eh bien, relisez mon message, la dernière image.
C'est toujours écrit

Il n'y avait que 2 variantes sur les 25 premières barres. Et 2 erreurs sont une petite erreur.
Et ce n'est qu'une variante du graphique sur des milliers, qui a attiré votre attention. La situation sera différente dans d'autres cas. Vous devez élaborer une stratégie (que vous n'avez pas formulée) et observer la ligne d'équilibre sur de nouvelles données (Maxim a mené son idée jusqu'au bout et tout est devenu clair immédiatement).
 
J'ai fait la même chose avec le clustering il y a plus d'un an, puis j'ai déterminé les niveaux moyens comme dans les images et j'ai passé des commandes à partir de ces niveaux. Divisé en 3 groupes : hausse, baisse, retour à la moyenne. Cela fonctionne très bien sur l'entraînement.
Ce qui est amusant, c'est que peu importe les moyens spéciaux que vous utilisez, vous ne pouvez rien tirer de bon du hasard.
Raison: