Maschinelles Lernen im Handel: Theorie, Modelle, Praxis und Algo-Trading - Seite 2810

 
mytarmailS #:
.
Ein trainiertes Netzwerk oder eine AMO trainiert oder sogar Mashka, es ist Speicher ... Ja, Sie können, dass analogy.... nehmen

Aber wenn man ein trainiertes Neuron "umlernt", ändert man die Gewichte, man vergisst die Vergangenheit zugunsten der Gegenwart....

Es ist kein Umlernen, es ist ein Umlernen bei jedem Schritt, dieselbe Mashka im Schiebefenster, sie erinnert sich nicht daran, was außerhalb des Schiebefensters ist, obwohl sie dort war....

Es gibt einen ganzen Zoo von Ansätzen, Sie können Implementierungen auf github finden, ich habe eine für Python gesehen.

 
Maxim Dmitrievsky #:

Es gibt einen ganzen Zoo von Ansätzen, Sie können Implementierungen auf github finden, ich sah eine für Python

Es mag viele Lösungen geben, aber wie ist die Qualität dieser Lösungen und wie gut funktionieren sie in realen Aufgaben?

 
mytarmailS #:
Wenn Alexej nachdenken und zuhören wollte, würde es mit meinem Skript.... zwei Minuten dauern.

Interessantes Werturteil. Sie haben nicht gehört, was ich Ihnen geschrieben habe. Brauchen Sie ein Beispiel?

 
Aleksey Vyazmikin #:

Interessantes Werturteil. Sie haben nicht verstanden, was ich Ihnen geschrieben habe. Sie wollen ein Beispiel?

ja, habe ich gelesen ... so viele Denkfehler auf nicht so vielen Textzeilen habe ich schon lange nicht mehr gesehen ...

Nennen Sie mir ein Beispiel.)

 
mytarmailS #:
Wissen Sie, was Korrelation ist? Sie reden so einen Blödsinn, dass ich anfange zu zittern.

Hier ist ein Beispiel dafür, wovon ich spreche - eine gelb beschnittene Probe und eine ganz grüne Probe - denken Sie darüber nach.


 
Aleksey Vyazmikin #:

Hier ist ein Beispiel dafür, wovon ich spreche - eine gelb umrandete Probe und eine ganz grüne Probe - denken Sie darüber nach.

Es ist Ihnen immer noch nicht aufgefallen, dass niemand versteht, was Ihre Zeichen bedeuten, vielleicht müssen Sie die Bedeutung der Kritzeleien bezeichnen? ))
 
mytarmailS #:
Es ist dir immer noch nicht aufgefallen, dass niemand versteht, was deine Zeichen bedeuten, vielleicht solltest du die Bedeutung der Kritzeleien erläutern? ))

Ich finde, Sie sollten sich mehr zurückhalten. Überlassen Sie die Frustrationen des Lebens einem Trinkkumpel oder einem Priester.

Offensichtlich sind Pn Prädiktoren und K ist der Korrelationskoeffizient. Das Beispiel zeigt, wie sich der Koeffizient ändern kann, wenn die anderen 50% der Daten ihre Konsistenz ändern. Ihr Ansatz kann nur auf stationäre Daten mit unveränderlicher Korrelation angewendet werden, was in unserem Fall nicht der Fall ist. Ich empfehle Ihnen also zu denken, bevor Sie kichern.

 
Aleksey Vyazmikin #:

Ich empfehle also, nachzudenken, bevor man abfällig wird.

Über das Denken....

Die Frage ist, warum man alle Varianten der Vorzeichenkorrelation von 0,1...0,2...0,7...0,8 durchgehen muss und damit den ohnehin schon riesigen Arbeitsaufwand für den Algorithmus erhöht.

Selbst generiertes Zufallsrauschen kann mit dem Prädiktor um 0,6 und 0,8 korrelieren, selten mehr ...

Daraus folgt, dass es dumm ist, eine Korrelationsschwelle von weniger als 0,8 zu nehmen, aber Sie haben sich für eine komplette Überstichprobe entschieden, was zeigt, dass Sie nicht darüber nachdenken, was Sie tun....

Ich habe also das Recht, zu kichern, denke ich...

Aleksey Vyazmikin #:

Offensichtlich sind Pn Prädiktoren und K ist der Korrelationskoeffizient.

Offensichtlich... ))))) dies ist ein Schreiber.... Ich schäme mich zu fragen, was offensichtlich ist. Welchen Dekodierungsalgorithmus soll ich anwenden, um es offensichtlich zu machen?

Denken Sie überhaupt, was Sie sagen?

Aleksey Vyazmikin #:

Ihr Ansatz kann nur auf stationäre Daten mit unveränderlicher Abhängigkeit angewendet werden, was hier nicht der Fall ist.

Das ist nicht mein Ansatz, sondern Ihrer, und er wurde zunächst verfälscht, und drei Leute haben Ihnen davon erzählt.

 
mytarmailS #:

Über Thinking....

Es stellt sich die Frage, warum alle Varianten der Vorzeichenkorrelation von 0,1...0,2...0,7...0,8 gesucht werden sollen, was den ohnehin schon riesigen Arbeitsaufwand für den Algorithmus noch erhöht.

Selbst generiertes Zufallsrauschen kann mit dem Prädiktor um 0,6 und 0,8 korrelieren, selten mehr ...

Daraus folgt, dass es dumm ist, eine Korrelationsschwelle von weniger als 0,8 zu wählen, aber Sie haben sich für eine vollständige Überstichprobe entschieden, was zeigt, dass Sie nicht darüber nachdenken, was Sie tun....

Ich sage nur, dass ich experimentiere und Schlussfolgerungen ziehe.

mytarmailS #:

Offensichtlich. )))))))) that's the beejeezus... Was ist die Offensichtlichkeit, dass ich mich schäme zu fragen? Welchen Dekodierungsalgorithmus sollte ich anwenden, um es offensichtlich zu machen?

Aus dem Kontext der Diskussion ist es offensichtlich.

mytarmailS #:

Es ist nicht mein Ansatz, es ist deiner, und er war von Anfang an schaurig, und das wurde dir von drei Leuten gesagt.

Was ist Ihr Ansatz? Was ist mein Ansatz? Ich verstehe nicht, wovon Sie sprechen.

Insbesondere Sie haben behauptet, dass ein Modell nicht auf einer Stichprobe trainiert werden kann - das war falsch.

 
Maxim Dmitrievsky #:

Das Gedächtnis ist ein NS mit trainierten Gewichten, man trainiert es bei jedem Schritt neu, man verschiebt die Gewichte ein wenig... nicht viel, also lag.

und das kann man nicht auf das Terminal übertragen.

Ich habe es versucht, es funktioniert nicht, es liegt wieder an den Zeichen.


Wenn Sie interessiert sind, werfe ich den Entwurf eines Multicurrency-Testers mit Spread, primitivem Lot und einem Hinweis auf das Öffnen und Schließen von Positionen mit Fractional Lot ein.

Für den Tester zu arbeiten, müssen Sie einen Datenrahmen mit ['open', 'spread] Spalten vorzubereiten, und auch werfen ein numpy Array des Formats x (n,2) mit Prognosen der Kauf/Verkauf Wahrscheinlichkeiten für jeden neuen bar in Signal. Der Tester arbeitet in einer Schleife, unten ist ein Beispiel für die Initialisierung der Verwendung des Testers

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

Handelslogik und Lot können in der transcript_sig-Methode des Symbol-Objekts angepasst werden.

    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


Die Ergebnisse des Tests befinden sich im Wörterbuch trade_history_data für den gesamten Test und trade_symbol_data für jedes Symbol.

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

es gibt Listen, falls jemand etwas optimieren oder ändern möchte - willkommen)

Dateien:
Tester.py  12 kb