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

 
Alexey Burnakov:

Sie haben keine Ahnung, wie Ihr Modell über lange Zeiträume funktioniert: Es gibt keinen großen Vorwärtstest und keinen Walking Forward Test. Ihr Modell ist vielleicht eine Reihe erlernter Geräusche, die Sie auf einigen gut ausgewählten Bildern für Signale gehalten haben.

Ich schlage vor, dass Sie Ihren Ansatz noch einmal überdenken und zunächst umfangreiche Tests durchführen. Sie werden Täler und Berge sehen und vielleicht, aber unwahrscheinlich, werden Sie die Erwartung der Nullrunde ein wenig übertreffen. Und all dies kann getan werden, bevor Sie anfangen, echtes Geld zu verlieren.

Ich bin vor allem von Ihrem Vertrauen in mein System überrascht. Mal sehen, am Ende der Woche werde ich Ihnen zeigen, wie es funktioniert ... Okay?
 
Mihail Marchukajtes:
Was mich am meisten überrascht, ist Ihr Vertrauen in mein System. Mal sehen, am Ende der Woche zeige ich Ihnen, wie es funktioniert... Okay?

Tun Sie es nicht. Eine Woche plus, eine Woche minus. Das ist kein Indiz.

Ich bin mir bei Ihrem System nicht 100%ig sicher. Es ist eine Tatsache, dass man nicht weiß, wie es sich über einen mehr oder weniger langen Zeitraum entwickeln wird. Dies ist ein Thread zum Erfahrungsaustausch. Hier ist meine Erfahrung, die besagt, dass Ihre bisherigen Ergebnisse entweder ein Zufall oder ein Muster sein können, aber ein Zufall mit einer viel höheren Wahrscheinlichkeit. Und ich gebe Ihnen einen Rat.

 

Hallo!

Ich versuche, ein Faltungsnetzwerk aus mxnet-Pakethttp://tjo-en.hatenablog.com/entry/2016/03/30/233848 laufen, aber es ist nicht ganz klar, wie es mit "unseren" Daten, nämlich in Form von Zeichenfolgen laufen, weil das Netzwerk arbeitet meist mit Bildern und Daten in Form eines mehrdimensionalen Arrays mit Matrizen genommen wird, kurz gesagt, wenn jemand versteht und weiß, wie es zu laufen, wäre ich sehr dankbar für ein Beispiel des Netzwerks mit, sagen wir, "Iris"

{mxnet} R package from MXnet, an intuitive Deep Learning framework including CNN & RNN - Data Scientist TJO in Tokyo
{mxnet} R package from MXnet, an intuitive Deep Learning framework including CNN & RNN - Data Scientist TJO in Tokyo
  • 2016.03.30
  • tjo-en.hatenablog.com
Actually I've known about MXnet for weeks as one of the most popular library / packages in Kaggler, but just recently I heard bug fix has been almost done and some friends say the latest version looks stable, so at last I installed it. Convolutional Neural Network (CNN) I believe almost all readers of this blog already know well about Deep...
 
Mihail Marchukajtes:
Das gibt's doch nicht... Sie müssen die Anzahl der Fehler im Verhältnis zur Gesamtzahl beobachten, und wenn die Fehler zunehmen, sollten Sie das Netz neu trainieren. Wenn Sie zum Beispiel 4 Fehler bei 20 Signalen haben, ist das in Ordnung, wenn die Anzahl der Fehler zunimmt, müssen Sie das Netz neu trainieren. Es stellt sich eine weitere Frage: Welches Modell soll ich wählen, damit ich mich auf 10 Signale verlassen kann? Nun, Yuri hat es irgendwie beschrieben. Wählen wir das Modell aus, das den höchsten Grad an Verallgemeinerung von binären und trinären Modellen aufweist, und beginnen wir mit ihm zu arbeiten. Und um die Arbeitszeit einer Strategie qualitativ zu erhöhen, sollten wir das trainierbare Intervall vergrößern, und um es zu vergrößern, müssen wir die Anzahl der Eingaben erhöhen. D.h. 10 Eingänge können 100 Signale zu Null sägen. 15 Eingänge können 225 Einträge verarbeiten, was 6 Wochen an Signalen entspricht, so dass die Netzwerkzeit außerhalb der Stichprobe länger sein wird, nicht eine Woche, sondern zwei Wochen. Mit einer angemessenen Fehlerquote. Es ist nicht möglich, ohne Fehler zu arbeiten. Ich würde gerne, aber es ist nicht möglich. Die Hauptsache ist, den Einfluss dieses Fehlers auf Ihre Einzahlung zu verringern, und Sie sind im Geschäft).

Seien Sie bitte vorsichtig mit libVMR oder jPredictor, sie zeigen eine überhöhte Leistung in Forex. Für Forex ist es sehr wichtig, mit Daten außerhalb der Trainingsstichprobe zu testen. libVMR oder jPredictor nimmt Daten aus einer Quelldatei, wählt zufällig die Hälfte der Zeilen aus, um ein Modell zu trainieren, erstellt dann ein Modell auf diesen Daten und testet es auf den verbleibenden Zeilen. Dies könnte für die Bewertung der Bilderkennung, der Texterkennung oder jeder anderen einfachen Aufgabe geeignet sein. Aber das ist nicht gut für den Forex.

Machen Sie ein einfaches Experiment: Sie haben etwa 200 Zeilen in der Trainingsdatei und einen Vorhersagebereich von 30 %. Teilen Sie also die Datei in zwei Teile - die erste Datei enthält 150 erste Zeilen, die zweite Datei die restlichen 50 letzten Zeilen. Trainieren Sie jPredictor auf die neue Datei mit 150 Zeilen und verwenden Sie "Modell verwenden", um eine Vorhersage für die verbleibenden 50 Zeilen zu treffen (Sie müssen die Daten einzeln eingeben, das wird einige Zeit dauern). Zählen Sie die Anzahl der richtigen Antworten, sie wird nicht bei 90 % liegen, sondern bestenfalls bei 60 %.
Sie sind nur wegen Ihres Hauptindikators noch im Gewinn, er scheint mehr oder weniger profitabel zu sein, wie er ist, und dank des zusätzlichen Filters im Neuron verbessern Sie ihn nur leicht.

 
Alexey Burnakov:

Tun Sie es nicht. Eine Woche plus, eine Woche minus. Kein Indikator.

Ich bin mir bei Ihrem System nicht 100%ig sicher. Es ist eine Tatsache, dass man nicht weiß, wie es sich über einen mehr oder weniger langen Zeitraum entwickeln wird. Dies ist ein Thread zum Erfahrungsaustausch. Meiner Erfahrung nach kann es sich bei Ihren bisherigen Ergebnissen entweder um einen Zufall oder um ein Muster handeln, wobei die Wahrscheinlichkeit eines Zufalls wesentlich höher ist. Und ich gebe Ihnen einen Rat.

Sie wollen also einen Gral. Du hast einmal trainiert und wirst für den Rest deines Lebens Coupons ausschneiden? Ist das so? Ich bin überrascht, seit welchem Jahr sind Sie auf dem Markt? Wenn es kein Geheimnis ist...... Sie wissen, dass sich der Markt ständig verändert und das Modell nach einer Weile einfach verschwindet. Wenn Sie wollen, dass das Modell lange funktioniert, verwenden Sie einen Monatschart, in diesem Fall ist es die beste Option. Wenn also 5 Minuten pro Woche ein normales Ergebnis sind, dann übertrainieren Sie ..... Und wenn Sie vierzehn Tage lang arbeiten, dann ist es großartig....
 
Dr. Trader:

Seien Sie bitte vorsichtig mit libVMR oder jPredictor, sie zeigen eine überhöhte Leistung in Forex. Für Forex ist es sehr wichtig, mit Daten außerhalb der Trainingsstichprobe zu testen. libVMR oder jPredictor nimmt Daten aus einer Quelldatei, wählt zufällig die Hälfte der Zeilen aus, um ein Modell zu trainieren, erstellt dann ein Modell auf diesen Daten und testet es auf den verbleibenden Zeilen. Dies könnte für die Bewertung der Bilderkennung, der Texterkennung oder jeder anderen einfachen Aufgabe geeignet sein. Aber in Devisen wird das nicht funktionieren.

Machen Sie ein einfaches Experiment: Ich glaube, Sie haben 200 Zeilen in der Trainingsdatei und der Vorhersagebereich beträgt 30 %. Teilen Sie also die Datei in zwei Teile - die erste Datei enthält 150 erste Zeilen, die zweite Datei die restlichen 50 letzten Zeilen. Trainieren Sie jPredictor auf die neue Datei mit 150 Zeilen und verwenden Sie "Modell verwenden", um eine Vorhersage für die verbleibenden 50 Zeilen zu treffen (Sie müssen die Daten einzeln eingeben, was einige Zeit in Anspruch nehmen wird). Berechnen Sie die Anzahl der richtigen Antworten, sie wird nicht bei 90 % liegen, sondern bestenfalls bei 60 %.
Sie sind nur wegen Ihres Hauptindikators noch im Gewinn, er ist wahrscheinlich ohnehin mehr oder weniger profitabel, und dank des zusätzlichen Filters im Neuron verbessern Sie ihn nur leicht.

Sie wissen nur nicht, wie Sie die Daten aufbereiten sollen :-) Ich habe überhaupt keinen Vorhersagebereich, ich sage nichts voraus. 30 % ist ein Konfidenzintervall, also das Intervall, in dem man dem Modell vertrauen kann, wenn nicht sogar 50 %. Das heißt, wenn Sie drei Wochen lang trainiert haben, sollte es eine Woche lang funktionieren. Ich arbeite seit mehr als einem Jahr mit Yury's Prädiktor und verstehe viele Dinge, wie z.B. wie man Daten aufbereitet, was er kann (Prädiktor) und was er einfach nicht kann. Sie können mir eine Datei mit Ihren Daten schicken, ich werde das Modell trainieren und Sie werden sehen, wie es in der Zukunft funktioniert, wenn Sie wollen, natürlich ...

Und wenn Sie das tun, werden wir Folgendes tun. Nehmen Sie sich eine Woche frei... (diese Woche wird eine Testwoche sein, außerhalb der Stichprobe) Speichern Sie die Daten mit einer Rate von 10 Eingaben = 100 Datensätzen, um nicht zu lange zu trainieren. Ich werde das Modell trainieren, du wendest es auf deinen TS an, beschreibst einleitend das Prinzip seiner Konstruktion und zeigst das Ergebnis der letzten Woche, und dann sehen wir.... Was meinen Sie dazu?

 
Mihail Marchukajtes:

Das heißt, wenn Sie drei Wochen lang ausgebildet wurden, sollten Sie eine Woche lang arbeiten.

Und ich habe mir gedacht, wo ist der Haken? Nun, es gab niemanden im Forum, der wirklich an Reshetovs Kunsthandwerk verdienen würde. Aber da ist er! Der Haken ist natürlich).
 
Kombinator:
Ich habe mich gefragt, wo der Haken ist. Nun, es hat sich noch kein Mann im Forum gefunden, der mit Reshetovs Handarbeiten tatsächlich Geld verdienen würde. Und hier ist sie! Der Haken an der Sache ist natürlich).
Das hängt davon ab, wie..... Mir gefiel seine Handarbeit ganz gut, sie hat eine vernünftige Maserung, aber wer sie nicht richtig nutzen kann, dem hilft nichts. Geben Sie mir ein System, das ein Jahr lang ohne einen einzigen Fehler funktioniert, und ich werde es glauben. Das ist alles Blödsinn. Ich bin erstaunt über solche Leute, die sich fragen, wohin der Kurs wohl gehen wird oder wie viele Punkte dieses Signal einbringen wird. Sie sind naiv. Der Markt ist so ein Ding, dass es unmöglich ist, die Zukunft zu kennen...... Aber Sie können das alles nicht verstehen....
 
Mihail Marchukajtes:

Nun, das aktuelle Beispiel, das in dem Bild, das ich jetzt habe, funktioniert, wurde aus dieser Datei erstellt

Wie berechnen Sie den Gewinn von 100 Punkten nach dem Signal?

Sie können zum Beispiel n Kerzenständer im Future nehmen und ihre Schatten messen. Wenn eine Kerze eine Differenz zwischen ihrem Schatten und dem aktuellen Kurs in Richtung des Signals von mindestens 100 Punkten aufweist, dann setzen wir ein Signal. Wenn die Bedingung für keinen der Candlesticks zutrifft, ist das Ergebnis 0.

Die zweite Variante: Erstellen Sie einen EA mit einem StopLoss und Takeaway 100 Punkte von der aktuellen Kerze entfernt und eröffnen Sie Trades nach dem Signal und merken Sie sich das Muster. Nachdem die Position geschlossen wurde, sehen wir sie uns an. Wenn er mit einem Gewinn schließt, markieren wir dieses Muster in der Stichprobe mit 1, wenn er einen Verlust aufweist, markieren wir ihn mit Null.

Selbstverständlich können Sie mir den Code eines Skripts oder eines Expert Advisors, der z.B. Daten für Stichproben sammelt, in meinen persönlichen Bereich schicken. Ich werde das selbst in die Hand nehmen.

Ich versuche derzeit, jPrediction so anzupassen, dass ich den Code nicht extrahieren und in MQL kompilieren muss. Der EA speichert ein Muster in einer Datei, und das Java-Tool, ein ternärer Klassifikator, liest diese Dateien, und wenn er das Signal bestätigt, zeigt er eine Warnung mit Hinweisen und einem akustischen Signal an. IMHO wird dies einfacher sein?

Später können wir einen vollautomatischen Modus einrichten, so dass der Klassifikator und der Expert Advisor Dateien austauschen und automatisch selbständig Trades eröffnen können.

 
Yury Reshetov:

Was ich wissen muss, wie berechnen Sie den Gewinn von 100 Pips nach dem Signal?

Sie können zum Beispiel n Kerzenständer in der Zukunft nehmen und ihre Schatten messen. Wenn eine Kerze eine Differenz zwischen dem Schatten und dem aktuellen Preis in Richtung des Signals von mindestens 100 Pips aufweist, dann setzen Sie eine. Wenn die Bedingung für keinen der Candlesticks zutrifft, ist das Ergebnis 0.

Die zweite Variante: Erstellen Sie einen EA mit einem StopLoss und Takeaway 100 Punkte von der aktuellen Kerze entfernt und eröffnen Sie Trades nach dem Signal und merken Sie sich das Muster. Nachdem die Position geschlossen wurde, sehen wir sie uns an. Wenn er mit einem Gewinn schließt, markieren wir dieses Muster in der Stichprobe mit 1, wenn er einen Verlust aufweist, markieren wir ihn mit Null.

Natürlich können Sie mir den Code des Skripts oder des Expert Advisors, der die Daten für das Sampling sammelt, zum Beispiel in meiner persönlichen Nachricht schicken. Ich werde das selbst in die Hand nehmen.

Ich versuche derzeit, jPrediction so anzupassen, dass ich den Code nicht extrahieren und in MQL kompilieren muss. Der EA speichert ein Muster in einer Datei, und das Java-Tool, ein ternärer Klassifikator, liest diese Dateien, und wenn er das Signal bestätigt, zeigt er eine Warnung mit Hinweisen und einem akustischen Signal an. IMHO wäre es einfacher?

Später können wir einen vollautomatischen Modus einrichten, so dass der Klassifikator und der Expert Advisor Dateien austauschen und automatisch selbständig Geschäfte eröffnen können.

Es ist viel einfacher als das. Ich berechne die Differenz zwischen dem Klon des aktuellen Signals und dem Klon des vorherigen Signals. Wenn diese Differenz positiv ist, wobei die Signalrichtung berücksichtigt wird, und die Positivität der Differenz mehr als 100 Pips beträgt, dann ist das vorherige Signal "eins", wenn weniger - "null". Ich speichere alles mit Hilfe des Loafer, der für Neuroshell geschrieben wurde. Ich habe eine gute Idee, die Daten aller Indikatoren in einer ksv-Datei zu speichern, so dass es so..... Ich benutze keine EAs, ich handele von Hand und setze Modelle in den Indikator, deshalb brauche ich keine EAs. Am einfachsten ist es, das ternäre Modell zusammen mit dem binären Modell beizubehalten. Zum Beispiel, für ein binäres Modell wird _2 dem Dateinamen vorangestellt, für ein ternäres Modell _3 und es wird genug sein..... IMHO. Alles Geniale ist einfach, es gibt keinen Grund, die Dinge zu komplizieren.

Hier ist ein EA, der die Daten von beliebigen Indikatoren speichert, schauen Sie sich die Funktion für 5 Minuten an, ich habe meine Indikatoren dort. Aber das ist alles für MT4, ich arbeite nur damit... tschüss....

Dateien: