Maschinelles Lernen im Handel: Theorie, Modelle, Praxis und Algo-Trading - Seite 2833
![MQL5 - Sprache von Handelsstrategien, eingebaut ins Kundenterminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Das Ergebnis der Ausbildung eines Modells mit meiner Version ist fast das gleiche wie mit RMSE, so gibt es einen Fehler irgendwo im Code.
preds und target sind return (a[i]-a[i+1])
Ich weiß nicht viel über Python oder Katbusta, aber ich werde dumme Fragen stellen)
1) Was sind Daten, warum ist der Mittelwert nicht aus preds?
2) Es scheint, dass man für Gradient Bousting mehr Formeln für Gradient und Hessian angeben muss?
Ich weiß nicht viel über Python oder Catbusta, aber ich werde dumme Fragen stellen)
1) Was sind Daten, warum ist der Durchschnitt nicht von preds?
2) Es scheint, dass für Gradient Bousting Sie Formeln für Gradient und hessischen angeben müssen?
Anscheinend ja, ich habe etwas übersehen. Ich habe die Vorlage von der offiziellen Website https://catboost.ai/en/docs/concepts/python-usages-examples verwendet .
Daten - generierte Liste von Modellvorhersagen, ich habe negative Werte in positive umgewandelt, um ihr arithmetisches Mittel für den Sharpe-Durchschnitt zu berechnen
Daten - generierte Liste von Modellvorhersagen, negative Werte wurden in positive Werte umgewandelt, um ihr arithmetisches Mittel für den Sharpe-Durchschnitt zu berechnen
Warum? Für Sharpe wird der Durchschnitt mit den ursprünglichen Vorzeichen berechnet.
Warum? Für Sharpe wird der Durchschnitt mit den ursprünglichen Vorzeichen betrachtet.
Um auch Verkaufsaufträge zu berücksichtigen, nehmen wir an, es gibt 2 genaue Prognosen -0,002 (20 Pips) und +0,003 (minus - short, plus - long).
Der Gewinn ist +0,005, der Durchschnitt ist 0,0025, und ohne Änderung des Vorzeichens ist er 0,0005.
Offensichtlich ja, ich habe etwas übersehen. Ich habe die Vorlage von der offiziellen Website https://catboost.ai/en/docs/concepts/python-usages-examples verwendet .
Es gibt zwei Arten von Metriken loss_function und eval_metric. Sie brauchen wahrscheinlich die erste, schauen Sie hier https://catboost.ai/en/docs/concepts/python-usages-examples#user-defined-loss-function
Aber vielleicht liege ich ja falsch. Es gibt hier bessere Python-Experten und Python-Lobpreiser als mich. Vielleicht können sie dir weiterhelfen.
Um auch Verkaufsaufträge zu berücksichtigen, nehmen wir an, es gibt 2 genaue Prognosen -0,002 (20 Pips) und +0,003 (minus - short, plus - long).
Gewinn +0,005, der Durchschnitt ist 0,0025, und ohne das Zeichen zu ändern, wird es 0,0005 sein.
Nun, das wäre kein Sharpe. Vielleicht ist es auch notwendig, nicht nur das Modul zu nehmen, sondern es mit dem Vorzeichen der Prognose zu multiplizieren (mit minus eins beim Verkauf und mit eins beim Kauf).
Das Ergebnis der Ausbildung eines Modells mit meiner Version ist fast das gleiche wie mit RMSE, so gibt es einen Fehler irgendwo im Code.
preds und target sind return (a[i]-a[i+1])
Drucken Sie die erhaltenen Werte aus und vergleichen Sie sie mit der anderen Metrik. Drucken Sie beides auf einmal, für jede Iteration. Vergessen Sie nicht, in catbusta early stop "max user criteria" und "use best model=True" zu aktivieren. Sie können einfach Verbose aktivieren, dann werden die metrischen Werte bei jeder Iteration gedruckt.
Für Forschungszwecke wäre es interessant (auch wenn es ziemlich kompliziert ist), eine eigene Verlustfunktion zu verwenden. Dazu gibt es eine Möglichkeit (wenn Sie an den Anfang der Seite gehen, müssen Sie den Abschnitt "Benutzerdefinierte Verlustfunktion" ganz unten finden).
Für Forschungszwecke wäre es interessant (obwohl es ziemlich kompliziert ist), eine benutzerdefinierte Verlustfunktion zu erstellen. Dazu gibt es eine Möglichkeit (wenn Sie an den Anfang der Seite gehen, sollten Sie den Abschnitt Benutzerdefinierte Verlustfunktion ganz unten finden).
Für Forschungszwecke wäre es interessant (obwohl es ziemlich kompliziert ist), eine benutzerdefinierte Verlustfunktion zu erstellen. Es gibt eine Möglichkeit dazu (wenn Sie an den Anfang der Seite gehen, müssen Sie den Abschnitt Benutzerdefinierte Verlustfunktion ganz unten finden).