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

 
Hallo! Ich bin neu im Bereich des maschinellen Lernens und habe eine Frage: Warum versuchen Sie alle, die Kursrichtung vorherzusagen, entweder durch Zickzack-Kurs oder einfach durch das Inkrementieren der nächsten Kerze, es gibt eine Menge Chaos auf dem Markt, Sie müssen einen Korridor einbeziehen, in dem der Kurs "wackeln" könnte. Es scheint mir effektiver zu sein, das Handelsergebnis als Zielgröße zu nehmen. Beim Training gehen wir beispielsweise von einer idealen Gewinnkurve aus, und das Ziel wird so markiert, dass es nicht mehr als 15 % von der idealen Kurve abweicht, oder wir nehmen den Erholungsfaktor und lassen ihn nicht unter n sinken; solche Ziele sind für Marktdaten flexibler. Und das Interessanteste ist, wie man die Funktion in einer solchen Form zum Beispiel für denselben Zufallswald implementieren kann?
 
mytarmailS:
Hallo! Ich bin neu im Bereich des maschinellen Lernens und habe eine Frage: Warum versuchen Sie alle, die Kursrichtung vorherzusagen, entweder durch Zickzack-Kurs oder einfach durch das Inkrementieren der nächsten Kerze, es gibt eine Menge Chaos auf dem Markt, Sie sollten einen Korridor einplanen, in dem der Kurs "wackeln" könnte. Es scheint mir effektiver zu sein, das Handelsergebnis als Zielgröße zu nehmen. Beim Training gehen wir beispielsweise von einer idealen Gewinnkurve aus, und das Ziel wird so markiert, dass es nicht mehr als 15 % von der idealen Kurve abweicht, oder wir nehmen den Erholungsfaktor und lassen ihn nicht unter n fallen; solche Ziele sind für Marktdaten flexibler. Und das Interessanteste ist, wie man eine Funktion in dieser Form implementieren kann, zum Beispiel für den gleichen Random Forest?
Hallo, könnten Sie dieses Ziel grafisch darstellen, um es zu verdeutlichen?
 
 

Hallo!

Die linke Seite ist nur ein Preistyp, die rechte Seite schwarz stellt die ideale Gleichgewichtskurve dar (alles, was verdient werden kann), grün stellt einen bestimmten Bereich (Korridor) von der idealen Gleichgewichtskurve dar, den wir in unserem Handel nicht überschreiten sollten, grau stellt das Gleichgewicht eines realen Handelstyps dar)

Also das Wesen des Ziels ist nicht auf die Preise und das Ziel in Form eines Vektors 11100001111100 vorherzusagen, und die Suche nach einem Zustand, in dem die graue Linie wird nicht über die grüne gehen

Ich weiß selbst nicht, wie man das macht, deshalb möchte ich darüber diskutieren).

 
mytarmailS:

Hallo!

Die linke Seite ist nur ein Preistyp, die rechte Seite schwarz stellt die ideale Gleichgewichtskurve dar (alles, was verdient werden kann), grün stellt einen bestimmten Bereich (Korridor) von der idealen Gleichgewichtskurve dar, den wir in unserem Handel nicht überschreiten sollten, grau stellt das Gleichgewicht eines realen Handelstyps dar)

Also das Wesen des Ziels ist nicht auf die Preise und das Ziel in Form eines Vektors 11100001111100 vorherzusagen, und die Suche nach einem Zustand, in dem die graue Linie wird nicht über die grüne gehen

Ich bin vielleicht etwas verwirrt, aber ich weiß nicht, wie ich es machen soll).

Der Neigungswinkel der Linie im Fehlerhandel ist weniger als ideal. Sie haben den Handel in Grau dargestellt, wo höchstwahrscheinlich eine Erhöhung des Loses eine Rückkehr zum geplanten Winkel bewirkt.

Das heißt, es wird gehandelt, um die Preisrichtung vorherzusagen, aber wenn der Fehler akkumuliert wird, fängt das System irgendwie an, öfter in die positive Richtung zu arbeiten.

Wir haben hier drei Zieloptionen diskutiert.
1) Schließung einer Position im Zeitintervall
2) Abschluss eines Geschäfts, wenn das Niveau gebrochen wird (tp/cl)
3) allgemeine Trendrichtung, bei der die Schließung des Geschäfts nicht ausdrücklich festgelegt ist. Sie kann nach Zeit oder nach tp/cl erfolgen.

In diesem Fall ist die Variante 3 in Bezug auf das Ausstiegskriterium am vagesten.
 
Alexey Burnakov:
Der Neigungswinkel der Linie beim Fehlerhandel wird weniger als ideal sein. Sie haben einen Handel mit einer grauen Linie dargestellt, bei dem eine Erhöhung des Loses höchstwahrscheinlich zu dem beabsichtigten Winkel zurückführt.

Das heißt, es ist der Handel auf Preis Richtung Vorhersage, aber wenn der Fehler ist akkumuliert das System irgendwie beginnt zu arbeiten intensiv im Plus öfter.
Ich verstehe es nicht )) es gibt kein Los, es gibt kein System, das hart arbeitet), es ist ein zufällig generiertes Datum... Nur abgebildet das Ziel sollte besser funktionieren als die Zickzack meiner bescheidenen Meinung nach natürlich, aber wie es zu implementieren ich weiß nicht, ich dachte, vielleicht jemand würde mir sagen
 
mytarmailS:
Ich verstehe es nicht )) Es gibt kein Los, es gibt kein System, das funktioniert (verbessert), es ist ein zufällig generiertes Datum... ich habe mir gerade ein Ziel vorgestellt, das meiner bescheidenen Meinung nach natürlich besser funktionieren sollte als das Zickzack, aber wie man es umsetzt, weiß ich nicht, ich dachte, vielleicht kann mir das jemand sagen

Ich kann Sie auch nicht verstehen.

Ihre graue Kurve ist wie der Handel mit einem variablen Los, das immer auf eine Linie mit hoher Steigung zurückkehrt.

Es ist wie bei einer Schwalbe, die immer nur einen Winkel der Handelslinie hat.

In Wirklichkeit ist es nicht realistisch, auf diese Weise zu handeln. Bei Fehlern (Verlustgeschäften) liegt Ihre tatsächliche Kurve viel näher an Null.

Es ist auch nicht klar, wie das Ziel erreicht wird. Diese Art von Zeitreihen ist nur möglich, wenn der Handel nach der Anhäufung von Minusbeträgen immer im Plus ist. Es ist kaum möglich, dies in der Ausbildung umzusetzen, zumindest nicht in der üblichen Weise.

 

Es ist kein System, es ist nur eine Illustration ))) Es gibt keinen Handel damit.

Tut mir leid, ich kann meine Gedanken wohl nicht gut ausdrücken.

Hier ist der Code

PREIS <- cumsum(rnorm(200))+1000

par(mfrow=c(1,2))

plot(PREIS,t="l",,lwd=2)

PD <- c(0,diff(PRICE))

BAL <- PD

for(i in 1:length(PD)){

if(BAL[i] < 0) BAL[i] <- BAL[i]/-1

}

BAL <- Summenwert(BAL)

lowBAL <- BAL - 50

plot(BAL,t="l",lwd=3)

plot(lowBAL,t="b",col="green")

realBAL <- BAL+rnorm(200,sd=20)

lines(realBAL,t="l",col="grey")


Beginnen wir von vorne, es gibt eine Standard-Ziel-Funktion, es ist ein Vektor, der die Richtung der Bewegung bezeichnet, können Sie es durch ein Zickzack oder einfach die nächste Kerze schließen zu beschreiben, ist der Vektor in der Regel in 1110000111 oder -1-1-11111 umgewandelt

Ich kann es so machen, aber ich denke, solche Ansätze sind fehlerhaft.

Ich schlage Folgendes vor: Der Algorithmus soll während des Trainings den Handel imitieren (graues Diagramm) und mit der zu erwartenden idealen Rendite (schwarzes Diagramm) vergleichen, d. h. der Algorithmus versucht nicht, den nächsten Kurs vorherzusagen, sondern versucht nur, die grüne Linie nicht zu überschreiten. Das ist alles, was ich versucht habe, in der Tabelle darzustellen.

Frage: Ist es möglich, dies zu realisieren, denn alle Algorithmen, die ich gesehen habe (neuronal, RF...) wollen einen Zielvektor von 11100011

 
mytarmailS:

Es handelt sich nicht um ein System, sondern nur um eine Illustration ))) Es gibt keinen Handel.

Tut mir leid, ich kann meine Gedanken wohl nicht gut ausdrücken.

Hier ist der Code

PREIS <- cumsum(rnorm(200))+1000

par(mfrow=c(1,2))

plot(PREIS,t="l",,lwd=2)

PD <- c(0,diff(PRICE))

BAL <- PD

for(i in 1:length(PD)){

if(BAL[i] < 0) BAL[i] <- BAL[i]/-1

}

BAL <- Summenwert(BAL)

lowBAL <- BAL - 50

plot(BAL,t="l",lwd=3)

plot(lowBAL,t="b",col="green")

realBAL <- BAL+rnorm(200,sd=20)

lines(realBAL,t="l",col="grey")


Fangen wir von vorne an, es gibt eine Standard-Zielfunktion, es ist ein Vektor, der die Richtung der Bewegung bezeichnet, Sie können es durch ein Zickzack oder einfach die nächste Kerze schließen zu beschreiben, ist der Vektor in der Regel in 1110000111 oder -1-1-11111 transformiert

Ich kann es so machen, aber ich denke, dass solche Ansätze fehlerhaft sind

Ich schlage Folgendes vor: Lassen Sie den Algorithmus während des Trainings den Handel imitieren (graues Diagramm) und vergleichen Sie ihn mit der idealen Rendite, die zu erwarten wäre (schwarzes Diagramm), d.h. der Algorithmus versucht nicht, den nächsten Preis vorherzusagen, sondern versucht nur, die grüne Linie nicht zu überschreiten. Das ist alles, was ich versucht habe, in der Tabelle darzustellen.

Die Frage: ist es möglich, es zu realisieren, da alle Algorithmen, die ich gesehen habe (neuronale, RF...) wollen einen Zielvektor von 11100011 in Form eines Zielvektors ?

Ich danke Ihnen. Ich habe Sie sofort verstanden. Es ist nur nicht möglich, dies standardmäßig zu implementieren.

Nehmen Sie Random Forest. Ich nehme an, Sie sind mit dieser Methode des maschinellen Lernens vertraut.

Diese Sache kann nur in eine Richtung funktionieren. Bei einer binären Ausgangsvariablen wird der Entscheidungswald für jede der Eingaben dummerweise einfach nach einer Region von Werten suchen, in der die Schiefe einer der Ausgangsklassen statistisch größer ist. Und dies wird iterativ für alle Variablen durchgeführt.

Wenn Sie möchten, dass die Maschine die Abweichung der realen Handelspräzision vom Ideal berücksichtigt, müssen Sie sicherstellen, dass der Entscheidungswald entsprechend gewählt wird und nicht auf der Grundlage der Schiefe der Klassen. Dabei muss die dynamische Veränderung der Abweichung vom idealen Handel berücksichtigt werden, die ebenfalls nicht durch den Standard realisierbar ist. Dazu muss die Maschine dynamisch mit Daten über den perfekten Handel gefüttert werden. Zu diesem Zweck ist es notwendig, die Methode neu zu schreiben. Mit Standardwerkzeugen ist dies einfach nicht möglich.

Es gibt Gradientenfunktionen. Bei einem Standardwald wird die Steigung auf eigene Weise festgelegt. Wenn es darum geht, die Abweichung des Handels vom Ideal zu optimieren, ist das ein ganz anderer Gradient. Irgendwie glaube ich nicht, dass ich es persönlich auf meinen Knien schreiben kann.

 
Danke für die Klarstellung, ich verstehe Sie jetzt perfekt, können genetische Algos hier helfen? anstelle von RF, ich habe einige interessante Ideen für die Umsetzung eines Ziels, ich würde sie gerne ausprobieren.