Antwort

Unterschiedliche Strategie-Rangfolge zwischen benutzerdefinierter Fitness und "Fitness"-Spalte

1 Antworten

telemanius

Abonnent, bbp_participant, 7 Antworten.

Profil besuchen

vor 3 Jahren #268310

Ich habe eine benutzerdefinierte Fitnessfunktion namens PrfPct (die stark mit dem Nettogewinn korreliert) implementiert und als Fitnessfunktion für mein Projekt verwendet. In der Datenbank sah ich jedoch sehr unterschiedliche Ergebnisse zwischen den Spalten "PrfPct" und "fitness". Es scheint ein Muster zu geben: Für die meisten Strategien mit PrfPct>0 ist die entsprechende "Fitness" 0,3. Die Strategien, deren "Fitness" > 0,3 ist, haben einen negativen PrfPct. Dieser Unterschied bleibt bestehen, wenn ich verschiedene Dateneinstellungen verwende.

Meine Frage:

1). So wie ich es verstehe, ist die Spalte "Fitness" die Fitness, die im internen GP-Prozess von SQX verwendet wird. (obwohl diese Spalte für die gesamten Daten gilt, während bei der GP-Auswahl nur die Fitness für die IS-Daten verwendet wird). Außerdem nehme ich an, dass sie eine monotone Beziehung zu der einen Fitnessfunktion haben sollte, die ich unter "weight fitness" auswähle - in diesem Fall PrfPct. Liege ich mit diesem Verständnis richtig?

2). Wenn ich 1) richtig verstanden habe, dann funktioniert die benutzerdefinierte Fitness PrfPct in GP nicht so, wie ich es beabsichtige (um in der GP-Auswahl verwendet zu werden).

 

Ranking-Einstellung

Datenbank-Ranking nach benutzerdefinierter FitnessDatenbank-Ranking nach der Spalte 'Fitness'

Anhänge:
Sie müssen sein eingeloggt um angehängte Dateien anzuzeigen.

0

Mark Fric

Administrator, sq-ultimate, 2 Antworten.

Profil besuchen

vor 3 Jahren #268428

Die Berechnung der Fitness anhand der Datenbankspalte ist nicht so einfach.

Der Bereich des neuen Wertes kann unterschiedlich sein, auch negativ, und es gibt einen Mechanismus, um ihn in die für die Fitness erforderliche 0-1-Skala umzuwandeln.

Es wäre hilfreich, wenn Sie Ihr Snippet hier posten würden, aber ganz allgemein:

> Die Strategien, deren "Fitness" > 0,3 ist, haben einen negativen Prfpct.

Wenn dies der Fall ist, sieht es so aus, als wäre Ihr Snippet nicht richtig konfiguriert. Verwenden Sie ValueTypes.Maximize im Konstruktor? Und was sind die durchschnittlichen Min- und Max-Werte?

Es sollte andersherum sein - Strategien mit negativem Prfpct sollten eine Fitness unter 0,3 haben.

 

Was Ihre Frage 1) betrifft, so bin ich mir nicht sicher, wie Sie Ihren Wert berechnen. Aber wenn Sie ihn in der genetischen Evolution verwenden wollen, sollten Sie ihn nur aus dem In Sample Teil der Trades berechnen.

Die compute()-Methode von DatabankColumn wird mehrfach aufgerufen, und zwar für jede mögliche Kombination von Probentypen. Wenn Sie also die Methode ähnlich wie bei anderen unserer Snippets gestaltet haben, sollte sie korrekt funktionieren.

Mark
StrategyQuant Architekt

0

Ansicht von 1 Antwort (von insgesamt 1)