Dienstag, 16. April 2024, 17:11 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.

Alex73 Männlich

Profi

Registrierungsdatum: 9. Oktober 2007

Beiträge: 211

Wohnort: Niederbayern

1

Donnerstag, 17. September 2009, 16:23

Leistungsschema für ASCII Daten

Hallo zusammen,

gibt es eine Möglichkeit ein Leistungsschema zu erstellen auch wenn die Daten im ASCII/EoD Format vorliegen.
Ich würde gerne meine HS im gleichen Zeitraum überprüfen und auch die NN vom gleichen Ausgangspunkt Trainieren.
Z.b. ab 01/07 oder ab 06/07.
Ich finde im Leistungsschema nur Einstellungen für Tickdaten.

Gruß
Alex

Registrierungsdatum: 30. August 2002

Beiträge: 8 155

Wohnort: Trade-Planet

2

Donnerstag, 17. September 2009, 16:40

Hallo Alex,

klick mal auf das grüne Häkchen in der Werkzeugleiste oben, ob sich dort noch etwas findet! Ansonsten gibt es bei EOD- Daten kaum Möglichkeiten da diese nicht ständig,TickbyTick aktualisiert werden und somit in der Regel kein Leistungsschema benötigen. Im Fall des NN Trainings,wo hohe Leistung für den Ablauf erforderlich ist um den Traingsdurchlauf zeitlich zu minimieren, hilft nur ein schneller Rechner.Ich gehe davon aus,das die ASCII-Daten vorkomprimiert im EOD Format vorliegen? Wenn mehre NN parallel trainiert werden sollen, kannst Du es mit mehren Instanzen probieren (ab Investox V5!)!
Happy Trading

Alex73 Männlich

Profi

Registrierungsdatum: 9. Oktober 2007

Beiträge: 211

Wohnort: Niederbayern

3

Freitag, 18. September 2009, 17:52

Hallo Udo,

Vielen Dank für Deine schnelle Antwort.
Meine ASCII EoD Daten liegen auch in EoD Format vor nur von unterschiedlich langen Zeiträumen.
Was ich mir wünschen würde ist, dass ich in meinem Projekt was mehrere HS beinhaltet mit möglichst wenig Aufwand den beginn der Zeiträume ändern könnte und das sich auch auf die Zeitraüme der NN überträgt.

Wenn man im einzelnen HS den Gesamtzeitraum(Start) abändert wirkt sich ja das nicht auf das NN Training aus.

Die einzige Möglichkeit die ich bis jetzt gefunden habe ist wenn ich im (ASCII /Titel einstellen) die Maximum Ticks abändere. Das ist natürlich immer viel Arbeit.
Ich hoffe das es da noch eine andere Möglichkeit gibt.

Gruß
Alex

Bernd

Experte

Registrierungsdatum: 5. Juni 2005

Beiträge: 4 070

Wohnort: Iringsweg

4

Freitag, 18. September 2009, 18:53

Hallo Alex

Zwar habe ich keine direkte Antwort auf Deine Frage - ausser vielleicht nach der Arbeitsmethodik an sich. Warum möchtest Du denn mit dem Wechsel des HS auch die Zeiträume der NNs ändern?

Zum Vergleich, ich mache es so:
1) pro Titel habe ich ein NN (in meinem Fall sinnvoll, weil ich unterschiedliche Futures handle, für die ich unterschiedliche Intermarket Zusammenhänge unterstelle).
2) Die Zeiträume für Training bzw. Kontrolle werden so gewählt, dass da alle Markphasen enthalten sind (d.h. ich habe die Erwartung, das ein trainiertes NN später auf andere Zeiträume anwendbar ist, da muss ich ja am ferig trainierten NN erstmal nichts anpassen, wenn sich Zeiträume im Underlying ändern
3) Irgendwann bricht die Performance jedes Netzes ein. Trotzdem würde ich das NN niemals nachtrainieren! Denn damit verliere ich die Gewichte etc., mit denen ich mal Life war und kann später Zwecks Qualitätskontrolle und Erweitern des Erfahrungsschatzes nichts mehr nachsehen.

Desswegen bekommt bei mir ein NN einen Namen wie z.B. NN_EN_20090208c; in diesem Fall handelt es sich also um ein NN auf den Nasdaq eMini, welches am 8.2.2008 trainiert wurde. Es war an diesem Tag mein 3. Versuch (c), ein brauchbares Netz zu finden.

Brauche ich per heute ein neues Netz für diesen Titel, würde es also NN_EN_20090918 heissen (das a spare ich mir beim ersten Netz des Tages).

So kann ich später immer nachvollziehen, wie es weitergegangen wäre mit einem NN, und damit auch lanfristige Erkenntnisse aufbauen.

Vielleicht hilft Dir der Ansatz, aber vielleicht habe ich alter Quadratkopf auch Deinen Ansatz an sich nicht verstanden.
Gruss
Bernd

Bernd

Experte

Registrierungsdatum: 5. Juni 2005

Beiträge: 4 070

Wohnort: Iringsweg

5

Freitag, 18. September 2009, 19:02

... übrigens wird bei mir ein NN nicht im HS selbst entwickelt und trainiert. Stattdessen starte ich eine weitere INV Instanz auf dem Entwicklungsrechner (damit ich auch während dem NN Training in der ersten Instanz an meinem eigentlichen HS weiterentwickeln kann).

In diese Instanz lade ich ein Projekt "NN_Workbench". Dort habe ich nur Benchmark-Stops für den angepeilten Handelszeitraum aktiv und nur minimalste Regeln (die ich niemals so handeln würde). Beim Enter sowas wie NN1 > 0. In dieser Workbench wird ein neues NN trainiert und die Kennzahlen gecheckt und natürlich auch KK und Underwater. Habe ich was passendes gefunden: exportieren in der NN_Workbench Instanz, importieren in der Entwicklungsinstanz und weiter am eigentlichen HS entwickeln.
Gruss
Bernd

Registrierungsdatum: 30. August 2002

Beiträge: 8 155

Wohnort: Trade-Planet

6

Freitag, 18. September 2009, 21:40

Hallo Alex,

eine Startzeitänderung erfordert neues Training.Ist das vielleicht sogar erwünscht? Wenn ja, könntest Du es mit Kombititeln versuchen, denn da hat man viele Möglichkeiten schnelle Zeit-Änderungen durchzuführen!
Happy Trading

Alex73 Männlich

Profi

Registrierungsdatum: 9. Oktober 2007

Beiträge: 211

Wohnort: Niederbayern

7

Sonntag, 20. September 2009, 11:44

Hallo,

danke für eure schnellen antworten und einblicke in Eure Arbeitsweisen.
Tatsächlich würde ich wirklich gerne die Auswirkungen von unterschiedlichen Trainingsstarpunkten analysieren. Nach Möglichkeit sollten die erstmal bei jedem einzelnen HS in meinem Projekt gleich sein.
Werde es mal wie Udo schreibt mit den Berechnungstiteln probieren.

Aber zunächst beschäftige ich mich wohl besser mit der Daten Normierung für das Training der NN.
Einen Bestimmung der Optimalen Trainingszeitraums steht dann als nächstes auf dem Plan.

Hab mir da ein gutes Buch gekauft das mich als Anfänger in Sachen NN sehr geholfen hat.
ISBN: 978-3-8364-5563-3

Gruß
Alex

Registrierungsdatum: 30. August 2002

Beiträge: 8 155

Wohnort: Trade-Planet

8

Sonntag, 20. September 2009, 19:58

Hallo Alex,

diese Tests können sich auf jeden Fall SEHR bezahlt machen-so meine Ergebnisse! Versuche mal sehr viele Inputs für einen einen sehr kurzen Lernzeitraum zu verwenden und das Netz damit extrem zu fitten! Verwende dazu unter anderen P&F/RENKO/SPANNE Komprimierung damit das rauschen von Beginn an minmiert wird! Leider muss ich Dir aber im Vorfeld schreiben das überwachtes Lernen in Form von Backprop nicht der optimale Algorithmus für Time-Blöcke ist, da es unglaublich viel Zeit beansprucht! Du kannst auch einmal versuchen einen TimeBlock zu trainieren! Das heißt,man trainiert einfach ein zufälliges Fraktal und prüft,wie es sich auf den Rest der Zeitreihe auswirkt. Der Vorteil von Random ausgewählten Timeblocks ist, das sich ein Testzeitraum vor-und hinter dem Lernzeitraum abzeichnet! Diese Blöcke sollten überoptimiert werden! Dazu könnte man als Input mehrere ROC-Indikatoren verwenden und die Gewichte stark erhöhen!
Happy Trading

Alex73 Männlich

Profi

Registrierungsdatum: 9. Oktober 2007

Beiträge: 211

Wohnort: Niederbayern

9

Freitag, 25. September 2009, 11:25

Hallo Udo,

danke für die Einblicke in die Entwicklung Deiner NN.
Bin schon fleißig am Testen und habe auch schon einige gute Ergebnisse erzielt.
Ich bin momentan am Analysieren wie sich die verschieden Trainingszeiträume auf das
Ergebnis auswirkt.
Als nächstes würde ich gerne mit Investox die Korrelation zwischen Trainings und Kontrollzeitraum analysieren um sie dann anschließend in das Training der NN zu übertragen.

Gruß
Alex

Registrierungsdatum: 30. August 2002

Beiträge: 8 155

Wohnort: Trade-Planet

10

Samstag, 26. September 2009, 01:20

Hallo Alex

Zitat

Als nächstes würde ich gerne mit Investox die Korrelation zwischen Trainings und Kontrollzeitraum analysieren um sie dann anschließend in das Training der NN zu übertragen.

Ich denke dieser Test führt ins Leere da man durch das blanke vorhalten der Korrelation (Lern-Testzeitraum) das Netz kaum veranlassen wird, im Testzeitraum durch,sagen wir mal im weiten Sinn Autokorrelation zu generalisieren. Das Netz wird versuchen Fehler,bezogen auf das Zielmuster hin zu minimieren ohne daraus Erkenntnisse für die Prognose zu ziehen! Aber probieren geht über studieren. Wenn es sich um EOD NN handelt kann man versuchen die Zeitreihe zu bereinigen oder zumindest mit Hilfe von P&F,RENKO oder Spanne zu glätten. Das ist zwar keine Arima-Bereinigung aber immerhin doch noch eine einfach durchführbare Variante.

Vielleicht hilft auch mal ein kurzer Einblick in die Backpropagation

Es handelt sich um ein mehrschichtiges vorwärtsgerichtetes Netz ohne Rückkopplungen, welches überwacht lernt . Während der Lernphase werden dem Netz neben den Eingabedaten auch die gewünschten Ausgabedaten präsentiert.Der quadratische Abstand zwischen Soll- und Ist-Ausgabe wird als Fehlerfunktion verwendet.Anhand dieses Fehlers werden die Verbindungsgewichte rückwärts, d.h. mit den Ausgabeneuronen beginnend, so verändert, dass der Fehler geringer wird. Insgesamt werden bei einem Backpropagation Netz fünf Schritte durchgeführt:

1. Initialisierung der Anfangsgewichte
2. Vorwärtsgerichtete Ermittlung des Ausgabewertes
3. Bestimmung des Fehlerwertes
4. Rückwärtsgerichtete Ermittlung der Gewichtsveränderungen
5. Anpassung der Gewichte

Was ist überwachtes lernen?

Überwachtes Lernen zeichnet sich durch folgende Punkte aus: Für ein vorgegebenes Problem gibt es eine Menge von Eingaben. Diese werden in ein neuronales Netz eingespeist, welches zu Beginn des Trainings mit zufällig gewählten Gewichten belegt ist. Die Ausgabe wird nach jeder Eingabe beobachtet. Falls die Ausgabe falsch war, werden die Gewichte korrigiert. Der Lernalgorithmus kann bei jeder Ausgabe feststellen, ob das Netz einen Fehler macht.

PS:Die zufällige Gewichtsauswahl beim überwachten lernen macht es unmöglich eine Performance-Pyramide durch wiederholtes Training zu konstruieren oder ein Feed-Forward System zu testen!
Happy Trading

Registrierungsdatum: 30. August 2002

Beiträge: 8 155

Wohnort: Trade-Planet

11

Samstag, 26. September 2009, 09:45

Ich möchte zu dem o.g. noch folgendes Ergänzen:

In jeder (EOD) Zeitreihe liegen saisonale/Kalender-Einflüsse so wie Ausreißern die sich in der Standartabweichung äußern. Wird diese Zeitreihe dem NN im Rohformat vorgehalten,versucht Backprop unter Einbeziehung dieser Einflüsse die zurückgemeldeten Fehler zu minimieren. Beinhaltet eine Zeitreihe besonders viele Ausreißer und sonstige Einflüsse welche die Kernlinie verschleiern, wird das NN in seiner Verallgemeinerungsfähigkeit stark beeinträchtigt weil es sich mit "unkontrollierten Einmal-Ereignissen" herumschlagen muss und die eigentliche Kernlinie der Zeitreihe nicht wahrnimmt! Die vorgehaltenen Daten sind verrauscht und somit wird der Backprop-Algorithmus fehlgeleitet. Daher empfiehlt sich die Zeitreihe durch Glättung etwas zu bereinigen um die genannten Einflüsse in den Hintergrund zu drängen.Wir hatten erst neulich eine Diskussion über fehlende Werte in einem NN. Kalenderbedingte/saisonale Sprünge und Ausreißer sind aber in der kompletten Historie enthalten und sollten,wenn man es genau nimmt bereinigt werden P&F,RENKO und Spanne helfen hier schon ganz ordentlich.Bereinigte Zeitreihe helfen aber auch die Performance für unüberwachtes lernen zu steigern-um beispielsweise Klassifizierungsfehler zu minimieren oder auszuschließen!
Happy Trading

Alex73 Männlich

Profi

Registrierungsdatum: 9. Oktober 2007

Beiträge: 211

Wohnort: Niederbayern

12

Samstag, 26. September 2009, 13:40

Hallo Udo,

da muss ich Dir auch zustimmen, dass die Auswahl des optimalen Trainingszeitraums nicht ein Garant dafür ist auch im out-of-sample Zeitraum vernünftige Ergebnisse zu erzielen.
Es besteht aber natürlich mit der Korrelationsmethode eine gute Chance auf vernünftige Ergebnisse wenn sich der Trend nicht ändert. Wenn doch, bricht die die Kapitelkurve natürlich umso stärker ein.
Die Vorverarbeitung der Daten ist natürlich ein sehr wichtiges Thema bei denn NN.
Was sicherlich hier mal interessant wäre ausgiebig zu testen sind die Leading-
Indikatoren von Mark Jurik (WAV und DDR).
Ich habe mir ganze Paket der DLL Version gegönnt und bin auch, dank der hervorragenden Anbindung durch Herrn Knöpfel sehr zufrieden. Allerdings soll es nicht möglich sein den
WAV und DDR Indikator anzubinden. Ich kenn auch keinen externen Programmierer der da mal einen Blick darauf wirft.
Daher sind mir diesbezüglich leider die Hände gebunden.

Gruß
Alex

Ähnliche Themen