Dienstag, 16. April 2024, 06:47 UTC+2

Sie sind nicht angemeldet.

  • Anmelden
  • Registrieren

Lieber Besucher, herzlich willkommen bei: INVESTOX-Forum. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

sten

Experte

Registrierungsdatum: 6. September 2002

Beiträge: 2 879

1

Sonntag, 26. August 2012, 16:29

Genetic HS-Builder

Hallo,

habe hier einen sehr interessanten Beitrag gelesen, wo HS nach Vorgaben vollautomatisch erstellt werden:
http://www.gute-roboter.de/geneticbuilder/

Zitat


... Je nach Konfiguration werden mehrere Hundert (!) mögliche Tradingansätze pro Stunde generiert. Diese werden über umfangreiche Filter und genetische Algorithmen selektiert. Nach dem Evolutionsprinzip sollen so nur die robustesten und potentesten Kandidaten herausgelesen werden...

Mir gefällt diese Idee sehr gut.

Das könnte ich mir auch gut für Investox, als zukünftige Strategieerweiterung vorstellen.

Wäre es nicht extrem zeitsparend HS wie folgt entwickeln zu können:
1. Schritt) :
- manuelle HS so wie bisher erstellen, z.B. mit NN, Selektion der besten NN-Generationen, Stops dazu, optimieren der Einstellwerte
- als letztes KK-Überwachung dazu

2.) Schritt):
- das manuelle HS als Vorlage an Investox übergeben
- so sollen auch alle automatisch generieren HS aufgebaut sein
- Variationsbandbreite der NN-Inputs und Parameter vorgeben (könnte man z.B. in einer Scriptsprache beschreiben)
- den Startknopf drücken und dann hat man auch locker die Zeit einem "normalen Job außer Haus" nachzugehen (Ich befürchte bis das "bedingungslose Grundeinkommen" endlich Realität wird, werden noch ein paar Jahrzehnte vergehen...)
- nach einer Woche schau man dann mal, welche HS Investox im Dauerbetrieb in der Zwischenzeit anhand der eigenen Vorgaben vollautomatisch erstellt hat
- wenn ein brauchbares HS dabei ist, dann kommt es auf das Referenzsystem zum Livetest mittels eines virtuellen Depots
- wenn sich HS auch hier bewährt, dann auf Produktivsystem zum Livebetrieb auf realem Depot, solange bis KK-Überwachung Alarm schlägt
- dann wird HS deaktiviert und nächstes, nachoptimiertes HS aus der Warteschlage kommt als nächstes zum Live-Einsatz
- usw.

Das wäre super, wenn das eines Tages mal mit Investox so funktionieren würde.
Vielleicht läßt sich in der Richtung was machen.
Danke.

Viele Grüße
Sten

Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von »sten« (26. August 2012, 16:45)


Ganesha

unregistriert

2

Sonntag, 26. August 2012, 20:16

Hallo Sten,

Du kannst doch in Investox sowas machen

Quellcode

1
2
3
4
5
6
7
calc aa: ..Signal 1;
calc ab:  ..Signal 2;
calc ac:  ..Signal 3;
...
calc zz:  ..Signal 729;
calc enterlong: 1=[1;1..729];
calc entershort: 1=[1;1..729];


Sprich: Über aa..zz werden dem HS verschiedenste Signalkombinationen angeboten. Anschließend lässt man den Optimizer drüberlaufen und sucht sich das beste Setup aus. Der Optimizer benutz ja genetische Suche (ansonsten könnte man den entstehenden Suchraum nicht so schnell absuchen). Problem: Das ganze ist so extrem überoptimiert, dass man vermutlich nichts sinnvoll handelbares bekommt.

Das Besondere bei der MT-Lösung ist IMO nur, dass MT keine genetische Suche kennt und der Entwickler ein genetisches Suchverfahren in MT implementiert hat.

Oder übersehe ich ewas?

Viele Grüße

sten

Experte

Registrierungsdatum: 6. September 2002

Beiträge: 2 879

3

Montag, 27. August 2012, 20:50

Hallo Ganesha,

so etwas habe ich mal bei verschiedenen Kerzenformationen umgesetzt, aber das meine ich hier nicht.

Vielmehr geht es darum, ein "Kochrezept" für die Handelssystem-Erstellung vorzugeben und Investox setzt es dann automatisch um und heraus kommen z.B. 5 fix und fertige HS.

Das "Kochrezept" könnte wie folgt z.B. im VB-Script geschrieben sein:
Ziel: ein HS, das als Signalgeber ein NN hat
Vorgabe: ein Vorlage-NN + ein Vorlage-HS mit allen Stopps ... anstatt später 100derte von Parametern zu definieren, ist das der Standard und es werden nur die Änderungen angegeben
1.Schritt: trainieren ein NN, aber statt über 100 Generationen nehme 300 und statt 4-8 Hiddenneuronen nehme z.B. 3-6 --> Training starten
2.Schritt: wenn fertig, suche die 20 NN-Generationen mit den höchsten Nettoprofit heraus und merke diese
3.Schritt: von den 20 NN-Generationen werfe die 10 weg, die den höchsten max. Verlust haben
4.Schritt: von den restlichen 10 Generationen behalte nur die 5 mit den höchsten Profitfaktor (1.HS = max. Profitfaktor , 2.HS = zweit höchster Profitfaktor, usw.)
--> das ist die Ausbeute bei einem trainierten NN

5.Schritt: setze eines der 5 besten NN, beginnend mit dem Besten, in die HS-Vorlage ein
6.Schritt: robuste den Verluststop -> wähle den Wert mit dem maximalen Profitfaktor, Randbedingung: falls mehrere Einstellungen ähnliche Profitfaktor-Werte liefern, dann nehme den kleinsten
7.Schritt: robuste den Gewinnstop -> wähle den Wert mit dem maximalen Profitfaktor, Randbedingung: falls mehrere Einstellungen ähnliche Profitfaktor-Werte liefern, dann nehme den größten
8.Schritt: speichere das Ergebnis-HS im Projekt "xyz" und gehe zu Schritt 5 zurück und mache das für die restlichen 4 NN's auch
--> im Projekt "xyz" stehen am Ende 5 fertige HS, die man sich mal schnell im 5 Minuten am Wochenende anschauen kann

Fazit:
- nur noch "Kochrezepte" von HS erstellen
- die Routineaufgaben wie Optimierung und Selektion übernimmt Investox mit
- der Mensch konzentriert sich nur noch auf das Management und das zeitaufwendige Arbeiten wird dem PC überlassen

Hoffe jetzt ist es besser rüber gekommen, was ich meine.

Viele Grüße
Sten

PS:
Wir entwickeln heute die HS immer noch so wie vor 10 Jahren, d.h. sehr viel manuell. Vielleicht ist die Zeit jetzt reif für einen Quantensprung in der Richtung intelligente, automatisierte HS-Erstellung.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »sten« (27. August 2012, 21:04)


Bernd

Experte

Registrierungsdatum: 5. Juni 2005

Beiträge: 4 070

Wohnort: Iringsweg

4

Dienstag, 28. August 2012, 15:11

Hi Sten

Mal pragmatisch gesehen: mit GA kann man in Investox eine eigene Idee, eine Marktbeobachtung oder eine Idee aus einer fremden Quelle (Literatur) testen, ob diese mit irgendeiner Einstellung profitabel sein könnte.

Wenn man das nicht schafft, dachte ich bisher, wird es schwer.

Nun möchtest Du eins drauf setzen, und die mittels GA zu testende eigene Idee soll "on-top" ebenfalls noch durch GA ersetzt werden. GA treibt GA, das Ende wäre nur durch die Rechenpower im Universum festgelegt (wahrscheinlich müsste das finale Handelssystem "42" heisen, ok, kleiner Scherz).

Ich möchte jetzt nicht darüber schreiben, für wie sinnvoll ich diese Idee halte; was mich mehr interessiert: es gibt diesen Genetic Builder ja schon! Warum probierts Du den nicht einfach aus, ob der Ansatz überhaupt etwas taugt? Wenn es wirklich so toll ist, könntest Du doch einfach den generierten Code handeln - oder dann qualifiziert und untermauert Vorschläge machen, wie Investox auch zu einem "one klick makes my day" Ansatz wird? Es mag ja sein, dass Dein Vorschlag letztlich aussieht, wie im vorhergehenden Thread - oder aber Du stellst fest, es bringt nichts, und man könnte sich das wer-weissen (*) sparen?

Aber natürlich möchte ich Herrn Knöpfel nicht vorgreifen, sollte er diesen Ansatz erwägen und an einem entsprechenden Generator programmieren. Vielleicht als Modul "NBFR+" (No Brain, Full Return), schön wär's ja. Und vom kaufmännischen Standpunkt aus sicher eine kluge Entscheidung, das Modul würde weg gehen wie warme Semmeln; sogar ich würde eins haben wollen ;)


PS *: Wer-Weissen [das], substantiiert Wer-Weissen; Umgangssprachliche Bedeutung: wer weiss, wie, wo wann ob überhaupt?
Gruss
Bernd

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Bernd« (28. August 2012, 15:25)


Ganesha

unregistriert

5

Dienstag, 28. August 2012, 18:29

Hallo Bernd und Sten (und Mitleser),

@Sten: Bezüglich Deines Handelsystemerstellautomenprogrammwunsch bin ich skeptisch. Ich halte einen solchen Automaten für nicht realisierbar, da die Freiheitsgrade zu groß sind.

@All: Was mich manchmal nervt, sind ein paar andere Sachen:

- Ich hätte gern das die Projektdateien XML (oder irgendwas anderes, menschenlesbares) sind. Dann könnte man die Projektdateien in eine Versionsverwaltung packen und vor allem:
- man könnte extern editieren
- man könnte automatisch editieren
- man könnte verschiedene Versionen eines Handelssystems per Vergleichsprogramm vergleichen

Extern zu editieren wäre sinnvoll weil man damit einen schönen Editor benutzen kann und vor allem für den nächsten Schritt:

- ich hätte gern einen Scriptmechanismus ala AppleScript um Investox von außen zu steuern. Mit AppleScript auf dem Mac kann man kleine Scripte in der Art machen:

Quellcode

1
2
3
4
5
6
7
tell application "Investox" to open projekt "foo bar" 
  and do send email to admin
  and do set contract "ES" to "September 2012"
  and do optimize project
  and do open connection to broker
  and do trading
end tell


Mit der Verbindung aus AppleScript und externem Editieren könnte sich Sten seinen Deep Thought bauen und ich diverse Automatismen für wiederholende Arbeiten mit Investox.

Bezüglich AppleScript:
- AppleScript hat tatsächlich einen solch eigenartigen Syntax. Man kann mit AppleScript fast wie mit gesprochener (englischer) Sprache programmieren
- Damit müsste Investox natürlich auf OSX portiert werden :thumbup:
- aber vermutlich gibt es unter Windows ähnliche Konzepte.
- wichtig bei AppleScript: Man kann damit von außen AppleScript-fähige Programme steuern, allerdings ohne den fehlerträchtigen Mechanismus "Simualation von Mausklicks".

Viele Grüße

sten

Experte

Registrierungsdatum: 6. September 2002

Beiträge: 2 879

6

Dienstag, 28. August 2012, 19:49

Hallo Bernd,

Zitat

Nun möchtest Du eins drauf setzen, und die mittels GA zu testende eigene Idee soll "on-top" ebenfalls noch durch GA ersetzt werden. GA treibt GA, ...

Nein, dafür braucht man keinen GA, sondern das kann man deterministisch, exakt berechnen mit einem einfachen sortier-Algorithmus.

Beispiel:

Zitat

2.Schritt: wenn fertig, suche die 20 NN-Generationen mit den höchsten Nettoprofit heraus und merke diese

Investox kennt alle 300 NN-Generationen und hat zu jedem den Nettoprofit intern gespeichert.
  • also müssen über einen sortier-Algorithmus die Reihenfolge ermittelt werden, z.B. max-Nettoprofit an 1.Stelle bis hin zu min-Nettoprofit an letzter Stelle
  • dann merke die ersten 20 NN-Generationen


Und egal ob Du jetzt die beste NN-Generation heraus suchst oder einen Verluststopp anpasst, es ist immer das gleiche Schema was Anwendung findet und statt manuell könnte es vielleicht zukünftig automatisiert durchgeführt werden. Es wäre sehr vorteilhaft wenn der Ablauf deterministisch ist, dann könnte man das "Kochrezept" für die HS Erstellung auch manuell überprüfen, um sicher zu stellen, dass man auch wirklich z.B. die besten NN-Generationen auf diese Weise selektiert hat oder ob es noch Verbesserungspotential gibt. Das "Kochrezept" verbessern macht dann der Mensch und lediglich die reine Arbeit wird an den PC delegiert.

Zitat

... und an einem entsprechenden Generator programmieren. Vielleicht als Modul "NBFR+" (No Brain, Full Return), schön wär's ja. ...

Ganz im Gegenteil, es wird wesentlich schwieriger sein ein "Kochrezept" (oder man könnte es auch als batch-Datei bezeichnen) zu erstellen, als ein einzelnes HS zu entwickeln. Und bevor Du mit dem "Kochrezept" anfangen kannst, brauchst Du ja die HS- und die NN-Vorlage, siehe:

Zitat

Vorgabe: ein Vorlage-NN + ein Vorlage-HS mit allen Stopps ... anstatt später 100derte von Parametern zu definieren, ist das der Standard und es werden nur die Änderungen angegeben


Viele Grüße
Sten

PS:
Ganesha ist da mit seinem letzten Beitrag mit den "AppleScript" schon ganz dicht an dem drann, was ich meine.

PS2:
Angenommen ein Investox'ler kauft sich ein fertiges HS für abcd€ bei Anbieter A. Nach 4 Wochen versagt das HS, aber der Kaufpreis ist noch nicht wieder eingespielt.
--> Pech für den Käufer

Investox'ler2 kauft sich ein fertiges "Kochrezept" zur automatisierten HS Generierung bei Anbieter B. Nach 4 Wochen versagt das HS. Kein Problem, dann wird einfach mit dem Kochrezept ein neues HS generiert, usw.
--> wäre das nicht super

Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von »sten« (28. August 2012, 20:06)