Freitag, 19. April 2024, 02:02 UTC+2

Sie sind nicht angemeldet.

  • Anmelden
  • Registrieren

Bandit137

unregistriert

1

Donnerstag, 16. September 2004, 18:12

Wie finden GA die besten Parameter ?

Hallo,

ich habe ein Problem mit der Optimierung eines HS. Es besagt eigentlich nur, wenn die 3-Tages Steigung des "XAU/Gold Ratio" > 0 und die 3 Tages Steigung von "Gold" < 0, dann gehe long ; und umgekehrt. Dabei ist dann folgende KK herausgekommen. Es ist zwar nicht ganz realistisch, daß ich gleich zum Close mit Delay = 0 noch einsteigen will aber darum wollte ich mir später Gedanken machen, notfalls über Intraday Daten.

Mein Problem ist nun, daß nach der Optimierung die KK meistens stark fällt. Ich frage mich nun, ob es an meinen Einstellungen liegt oder ob es einen anderen Grund gibt warum die KK so heruntergerissen wird. Ich habe es auch schon mit der Optimierung nur nach "Netto-Profit" versucht aber keine Besserung. Das komische ist, daß sich die Kennzahlen (vor allem nach denen ich optimiert habe), meistens noch verschlechtert haben (Profit, th. Einzelverlust, th. Einzelverlust Gewinntrades)
Ich lasse dabei nur die Perioden der Steigung optimieren die </> - Zeichen (per Listenvariablen) und die Grenzlinie der Steigung (Grenze_G, Grenze_X)


***** Regeln ******

Enter Long:
LRSlope(XAU_Ratio, Steigung) > Grenze_X and LRSlope(Gold, Steigung) < Grenze_G

Exit Long:
LRSlope(XAU_Ratio, Steigung) < Grenze_X and LRSlope(Gold, Steigung) > Grenze_G

Enter Short:
LRSlope(XAU_Ratio, Steigung) < Grenze_X and LRSlope(Gold, Steigung) > Grenze_G

Exit Short:
LRSlope(XAU_Ratio, Steigung) > Grenze_X and LRSlope(Gold, Steigung) < Grenze_G

Übergreifende Definitionen:
const Steigung: 3.000 ;

Const Grenze_G: 0.000 ;

Const Grenze_X: 0.000 ;

Calc XAU_Ratio: Close("US. PHLX Gold+Silver XAU") / Close("Roh: Gold US$/oz") ;

Calc Gold: Close("Roh: Gold US$/oz") ;


***** Optimierung *****

Start: 01.06.2003
Ende: 01.06.2004

Optimierte Titel:
Roh: Gold US$/oz

Optimierungskriterien:
Maximiere 'Netto-Profit', Gewichtung: 1
Maximiere 'Student t-Test Signifikanz', Gewichtung: 1
Maximiere 'Durchschn. theoret. Einzelverlust', Gewichtung: 1
Maximiere 'Durchschn. theoret. Verlust Gewinntrades', Gewichtung: 1

GA-Einstellung: Optimiere maximal 300 Generationen mit 100 Eltern und 250 Nachkommen.

***** Test-Einstellungen *****

Positionen: Long+Short
Enter-Basis: Close
Delay: 0
Exit-Basis: Close
Delay: 0
Buy/Hold-Basis: Close
Trade-Mindestdauer: 1
Out-Mindestdauer: 0
Punkte testen
Initial Margin: 2000 €
Wert pro Punkt: 20 €

Mutationsrate : 75 %
Crossover : 50 %

Gruß Carsten
»Bandit137« hat folgendes Bild angehängt:
  • KK1.jpg

Investox

Administrator

Registrierungsdatum: 31. August 2002

Beiträge: 5 680

2

Freitag, 17. September 2004, 10:33

RE: Wie finden GA die besten Parameter ?

Hallo,

>>Mein Problem ist nun, daß nach der Optimierung die
>>KK meistens stark fällt.

Die Frage ist zunächst, in welchem Zeitraum? Im Optimierungs-/Kontroll- oder Gesamtzeitraum? Verschlechtert sich das Ergebnis im Optimierungszeitraum, auch dann, wenn nur Nettoprofit als Optimierungskriterium verwendet wird? Falls ja, müsste man sich auch mal die Optimierungsvariablen ansehen: ob die aktuellen Werte vom Start innerhalb der Min/Max-Grenzen liegen.

Viele Grüße
Andreas Knöpfel

Bandit137

unregistriert

3

Freitag, 17. September 2004, 12:10

Hallo Herr Knöpfel,

Die KK verschlechtert sich immer (siehe Bilder, senkrechte Linie ist Grenze Optimierung/Kontrollzeitraum). Wenn ich nur nach Netto-Profit optimiere, dann steigt die KK zwar, sieht aber für meinen Geschmack immer noch erheblich schlchter aus, als das Ursprungssystem.

Ursprungssystem Variablen (Definitionen):

const Steigung: [3,1,20,1,10,1,1] ;

Const Grenze_G: [0,-10,10,-5,5,2,2] ;

Const Grenze_X: [0,-1,1,-1,1,1,1] ;


optmiertes System Netto-Profit (Definitionen) :

const Steigung: [9.952,1,20,1,10,1,3,] ;

Const Grenze_G: [1.722,-10,10,-5,5,2,3,] ;

Const Grenze_X: [0.163,-1,1,-1,1,1,3,] ;

Wie ich gesehen habe, war in den Variblen wirklich ein Fehler. Den habe ich korrigiert. Die KK (siehe Bild) wurde dabei aber nicht besser (nur opt. nach Netto-Profit). Bin allerdings auch erst bei der 13. Generation mit ständigen Schwankungen der KK zwischen seitwärts und leicht aufwärts.

Ursprungsystem :

System Start 02.06.2003
System Ende 16.09.2004
Sharpe Ratio 2,13
Profitfaktor 3,52
Student t-Test Signifikanz 99,91%
Bestimmtheitsgrad der Steigung 0,941
Netto-Profit 5.516,78 €
Buy/Hold-Profit 742,02 €
Anzahl aller Trades 89
Anzahl Long Trades 44
Anzahl Short Trades 45
Profitable Short Trades (%) 71,11%
Profitable Long Trades (%) 77,27%
Durchschn. Trade-Länge 3,70
Längste Serie mit Gewinntrades 14
Längste Serie mit Verlusttrades 4
Überzahl profitabler Trades 43
Durchschn. Länge der Gewinnserien 5,08
Durchschn. Länge der Verlustserien 1,64
Max. theoret. Verlust Gewinntrades -175,98 €
Max. Perioden in Verlustzone 35
Durchschn. Return 61,99 €
Durchschn. Einzelgewinn 116,79 €
Max. Einzelgewinn 431,02 €
Max. realisierter Einzelverlust -364,98 €
Max. theoret. Einzelverlust -446,98 €

Netto-Profit System (13. Generation) :

System Start 02.06.2003
System Ende 16.09.2004
Sharpe Ratio 0,91
Profitfaktor 2,44
Student t-Test Signifikanz 87,04%
Bestimmtheitsgrad der Steigung 0,510
Netto-Profit 1.216,24 €
Buy/Hold-Profit 742,02 €
Anzahl aller Trades 12
Anzahl Long Trades 12
Anzahl Short Trades 0
Profitable Short Trades (%) K/A
Profitable Long Trades (%) 66,67%
Durchschn. Trade-Länge 24,92
Längste Serie mit Gewinntrades 5
Längste Serie mit Verlusttrades 1
Überzahl profitabler Trades 4
Durchschn. Länge der Gewinnserien 2,67
Durchschn. Länge der Verlustserien 1,00
Max. theoret. Verlust Gewinntrades -510,98 €
Max. Perioden in Verlustzone 42
Durchschn. Return 101,35 €
Durchschn. Einzelgewinn 257,77 €
Max. Einzelgewinn 518,02 €
Max. realisierter Einzelverlust -565,98 €
Max. theoret. Einzelverlust -930,98 €


Der Zeitraum wurde nur zu Testzwecken so kurz gewählt. Ich war der Meinung, daß in diesem Zeitraum das Sytstem nur besser werden kann. Davor war es nämlich nicht zu gebrauchen.
Verbessert hat sich aber keine Kennzahl.

Vielen Dank erst einmal.
Gruß Carsten
»Bandit137« hat folgendes Bild angehängt:
  • KK netto 1.gif

Investox

Administrator

Registrierungsdatum: 31. August 2002

Beiträge: 5 680

4

Freitag, 17. September 2004, 12:56

Hallo,

ich würde auch empfehlen, das Variablenformat auf "Ganzzahl" zu stellen, um den Suchraum nicht unnötig groß zu halten, also:

const Steigung: [3,1,20,1,10,1,1, I] ;

Viele Grüße
Andreas Knöpfel

Bandit137

unregistriert

5

Freitag, 17. September 2004, 13:23

Hallo Herr Knöpfel,

Das Variablenformat habe ich verändert. Allerdings hatte ich die "Hilfe" so verstanden, daß man damit nur das Anzeige-Format einstellt, die Berechnung aber immer über "Fließkomma" abläuft.

"Anzeigeformat: Das Anzeigeformat legt fest, mit wie vielen Nachkommastellen der Wert des Parameters in der Berechnung angezeigt wird."
Egal, ich habe es jedenfalls verändert.

Gibt es noch andere Gründe, warum nicht die optimalen Einstellungen gefunden werden ? Liegt es vielleicht an der Optimierung der >/< - Zeichen ?

Außerdem dachte ich immer, daß das Ursprungssystem so lange in der Auswahl bleibt, bis ein besseres gefunden wird. Da in meinem Fall aber nie ein besseres gefunden wurde, hätte jede Generation doch wieder das Ursprungssystem bringen müssen ?

Ihr Tip hat übrigens schon Erfolge gebracht. Die KK gleicht doch mehr dem Ursprungssystem.


Vielen Dank für die schnelle Hilfe !
Gruß Carsten

Investox

Administrator

Registrierungsdatum: 31. August 2002

Beiträge: 5 680

6

Freitag, 17. September 2004, 16:00

Hallo,

Zitat

Außerdem dachte ich immer, daß das Ursprungssystem so lange in der Auswahl bleibt, bis ein besseres gefunden wird. Da in meinem Fall aber nie ein besseres gefunden wurde, hätte jede Generation doch wieder das Ursprungssystem bringen müssen ?


Das ist in der Tat nicht der Fall, da die GA dadurch erfahrungsgemäß behindert werden.

Die >/<-Optimierung ist natürlich beachtenswert. Hierfür ist ja auch die Einstellung Mutation/Crossover der Optimierungseinstellungen relevant.

Viele Grüße
Andreas Knöpfel

Bandit137

unregistriert

7

Freitag, 17. September 2004, 16:22

Hallo Herr Knöpfel,

was meinen Sie mit, die >/< - Optimierung ist beachtenswert ? Sollte man so etwas lieber nicht optimieren ?

Mutation und Crossover habe ich ja schon verändert. Hierbei habe ich einem Artikel im OS-Magazin von 3/98 folgendes gefunden (es geht dabei um TS und die GA (TSEvolve) ) :

" Mit den GA-Grundeinstellungen für Crossover = 0.3 und Mutations-Rate = 0.3 wurden 3.000 Generationen erzeugt, jeweils mit einer Populationsgröße von 500 Individuen (einzelne Handelssysteme). Die vergleichsweise hohe Mutationsrate ist empfehlenswert, um den GA nicht zu schnell gegen eine suboptimale Lösung konvergieren zu lassen. Wird dieser Wert allerdings zu hoch gesetzt, so würde der GA gar nicht konvergieren und der ganze Prozess einer zufälligen Suche gleichen. Ist die Crossover-Rate zu niedrig, dauert der Evolutionsprozeß drastisch länger. Wenn sie zu hoch ist, werden auch gute Zwischenergebnisse wieder zugunsten der Nachkommen zerstört. "

Welche Einstellung wären die 0.3 für Crossover und Mutation in Investox ? Sind die angesprochenen Probleme in Investox die gleichen, vor allem auch in Bezug auf die "suboptimale Lösung " ? Gibt es für Investox Erafhrungswerte für Mutation und Crossover (falls es nicht die Investox Standard Einstellungen sind ) ?

Gruß Carsten

P.S. : Das Variablenformat "I" hatte übrigens den gewünschten Erfolg.

Investox

Administrator

Registrierungsdatum: 31. August 2002

Beiträge: 5 680

8

Freitag, 17. September 2004, 16:44

Hallo,

ich meinte nicht, dass man dies nicht optimieren sollte. Ich wollte nur darauf hinweisen, dass die genannten Einstellungen in diesem Fall auch relevant sind. Welche Einstellungen von Investox dem Artikel entsprechen kann ich nicht sagen, da ich die dort verwendeten Verfahren nicht kenne. Normalerweise sollte die Standardeinstellung funktionieren, aber man kann natürlich auch damit experimentieren.

Viele Grüße
Andreas Knöpfel

Bandit137

unregistriert

9

Freitag, 17. September 2004, 16:49

Alles klar.

Vielen Dank noch einmal für die schnelle Hilfe. So ein Service ist nicht selbstverständlich.

Gruß Carsten