L'Apprentissage Automatique dans le trading : théorie, modèles, pratique et trading algo - page 2810

 
mytarmailS #:
.
Un réseau entraîné ou n'importe quel AMO entraîné ou même Mashka, c'est la mémoire... Oui, vous pouvez prendre cette analogie....

Mais lorsque vous "ré-entraînez" un neurone entraîné, vous changez les poids, vous oubliez le passé au profit du présent....

Ce n'est pas un recyclage, c'est un recyclage à chaque étape, la même Mashka dans la fenêtre coulissante, elle ne se souvient pas de ce qui est à l'extérieur de la fenêtre coulissante, même si elle y était....

il y a tout un tas d'approches, vous pouvez trouver des implémentations sur github, j'en ai vu une pour python.

 
Maxim Dmitrievsky #:

Il y a toute une série d'approches, vous pouvez trouver des implémentations sur github, j'en ai vu une pour python

Il peut y avoir beaucoup de solutions, mais quelle est la qualité de ces solutions et comment fonctionnent-elles dans des tâches réelles ?

 
mytarmailS #:
Si Alexei voulait réfléchir et écouter, cela prendrait deux minutes avec mon script....

Intéressant jugement de valeur. Vous n'avez pas entendu ce que je vous ai écrit. Avez-vous besoin d'un exemple ?

 
Aleksey Vyazmikin #:

Intéressant jugement de valeur. Vous n'avez pas entendu ce que je vous ai écrit. Vous voulez un exemple ?

oui, j'ai lu... autant d'erreurs de pensée sur pas mal de lignes de texte que je n'ai pas vu depuis longtemps...

Donnez-moi un exemple).

 
mytarmailS #:
Savez-vous ce qu'est une corrélation ? Vous dites tellement de bêtises que je commence à trembler.

Voici un exemple de ce dont je parle - un échantillon jaune coupé et un échantillon vert entier - réfléchissez-y.


 
Aleksey Vyazmikin #:

Voici un exemple de ce que je veux dire - un échantillon jaune et un échantillon vert - réfléchissez.

Il ne vous est toujours pas venu à l'esprit que personne ne comprend la signification de vos signes, peut-être devriez-vous signifier la signification des gribouillis ? ))
 
mytarmailS #:
Il ne vous est toujours pas venu à l'esprit que personne ne comprend la signification de vos signes, peut-être devriez-vous signifier la signification des gribouillis ? ))

Je pense que vous devriez être plus sobre. Laissez les frustrations de la vie à un compagnon de beuverie ou à un prêtre.

Évidemment, Pn sont des prédicteurs et K est le coefficient de corrélation. L'exemple montre comment le coefficient peut changer si l'autre moitié des données change de consistance. Votre approche ne peut s'appliquer qu'à des données stationnaires, avec une corrélation immuable, ce qui n'est pas le cas ici. Je vous recommande donc de réfléchir avant de ricaner.

 
Aleksey Vyazmikin #:

Je vous recommande donc de réfléchir avant de critiquer.

À propos de la réflexion....

La question est de savoir pourquoi passer par toutes les variantes de corrélation de signes de 0,1...0,2...0,7...0,8, augmentant ainsi la charge de travail déjà énorme de l'algorithme ?

Même un bruit aléatoire généré peut avoir une corrélation avec le prédicteur de 0,6 et 0,8, rarement plus...

Il s'ensuit qu'il est stupide de prendre un seuil de corrélation inférieur à 0,8, mais vous avez décidé de faire un suréchantillon complet, ce qui montre que vous ne réfléchissez pas à ce que vous faites....

J'ai donc le droit de rire, je pense...

Aleksey Vyazmikin #:

Évidemment, Pn sont des prédicteurs et K est le coefficient de corrélation.

Évidemment... ))))) c'est un scribe.... Qu'est-ce qui est évident, j'ai honte de le demander ? Quel algorithme de décodage dois-je appliquer pour que ce soit évident ?

Pensez-vous au moins ce que vous dites ?

Aleksey Vyazmikin #:

Votre approche ne peut s'appliquer qu'à des données stationnaires dont la dépendance ne change pas, ce qui n'est pas le cas ici.

Ce n'est pas mon approche, mais la vôtre, et elle a été initialement abâtardie, et trois personnes vous en ont parlé.

 
mytarmailS #:

À propos de Thinking....

La question est de savoir pourquoi rechercher toutes les variantes de corrélation des signes de 0,1...0,2...0,7...0,8 augmentant ainsi la charge de travail déjà énorme de l'algorithme ?

Même un bruit aléatoire généré peut avoir une corrélation avec le prédicteur de 0,6 et 0,8, rarement plus...

Il s'ensuit qu'il est stupide de prendre un seuil de corrélation inférieur à 0,8, mais vous avez décidé de faire un suréchantillon complet, ce qui montre que vous ne réfléchissez pas à ce que vous faites....

Tout ce que je dis, c'est que j'expérimente et que je tire des conclusions.

mytarmailS #:

Évidemment. )))))))) c'est le comble... Quel algorithme de décodage dois-je appliquer pour que ce soit évident ?

Dans le contexte de la discussion, c'est évident.

mytarmailS #:

Ce n'est pas mon approche, c'est la vôtre, et elle était macabre au départ, et trois personnes vous l'ont dit.

Quelle est votre approche ? Quelle est mon approche ? Je ne comprends pas de quoi vous parlez.

Vous, en particulier, avez prétendu qu'un modèle ne peut pas être formé sur un échantillon - vous aviez tort.

 
Maxim Dmitrievsky #:

La mémoire est une NS avec des poids entraînés, vous la réentraînez à chaque étape, vous déplacez les poids un peu... pas beaucoup, donc décalage.

et vous ne pouvez pas transférer cela au terminal.

J'ai essayé, ça ne marche pas, c'est encore une fois une question de signes.


Si cela vous intéresse, je lance la conception d'un testeur multidevises avec spread, lot primitif et un soupçon d'ouverture de positions de clôture avec lot fractionnaire.

Pour que le testeur fonctionne, vous devez préparer un dataframe avec les colonnes ['open', 'spread'], et aussi lancer un tableau numpy de format x (n,2 ) avec des prévisions de probabilités d'achat/vente pour chaque nouvelle barre dans le signal. Le testeur fonctionne à partir d'une boucle, voici un exemple d'initialisation de l'utilisation du testeur

symbols = ['EURUSD','GBPUSD']
points = [1 / mt5.symbol_info(s).point for s in symbols]

trade_agent = Agent()
for s, p in zip(symbols, points):
        trade_agent.create_symbol(s, p,max_positions=6)

for index, row in dataset.iterrows():
        sig = signal[index]
        prices = list(row.filter(like='open'))
        spreads = list(row.filter(like='spread'))

        if index != len(dataset) - 1:
            trade_agent.refresh(prices, [sig], spreads)
        else:
            trade_agent.stop = True

La logique de transaction et le lot peuvent être ajustés dans la méthode transcript_sig de l'objet Symbol.

    def transcript_sig(self,sig):
        act = 0
        lot = 1
        revers = 0
        if len(sig)==4:
            pass
        else:
            act = sig

        if revers<=0.5:
            if np.argmax(act) == 0:
                return 'buy',lot
            if np.argmax(act) == 1:
                return 'sell',lot
        else:
            if np.argmax(act) == 0:
                return 'sell',lot
            if np.argmax(act) == 1:
                return 'buy',lot


        return self.last_action,lot


Les résultats du test se trouvent dans le dictionnaire trade_history_data, pour le test global et trade_symbol_data de chaque symbole.

        self.trade_history_data = {'step': [],
                                   'acc_profit': [],
                                   'acc_balance': [],
                                   'acc_equity': [],
                                   'lots_open': [],
                                   'R2_balance': [0,0,0,0]}

Il y a des listes, si quelqu'un veut optimiser ou changer quelque chose, il est le bienvenu.)

Dossiers :
Tester.py  12 kb