Freitag, 19. April 2024, 09:32 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.

chied

unregistriert

141

Freitag, 17. Oktober 2008, 16:11

Hallo Zusammen

in den vergangegen Tagen habe ich ein paar NN auf Inter Market basis mittels GA trainiert.
Alle Netze wiesen ohne GA Training in mehreren Versuchen gute Out of Sample Ergebnisse auf.
Zusätzlich lieferten die NN aufgrund der verfügbaren IM Daten erst ab 2001 Signale.
Nachdem ich nun die NN mittels GA trainiert habe, musste ich leider folgende Phänomene feststellen:

-Nur wenige der 200 NN Generationen lieferten im Out of Sample Zeitraum profitable Ergebnisse
-Die NN erzeugten bereits, trotz fehlender NN Daten, Signale ab 1999

Habt Ihr eine Erklärung dafür?

Vielen Dank und

beste Grüsse

Roger

Registrierungsdatum: 30. August 2002

Beiträge: 8 155

Wohnort: Trade-Planet

142

Montag, 20. Oktober 2008, 14:46

Hallo zusammen,

bezugnehmend auch auf den Beitrag von Dago, habe ich zwei Indikatoren für die Normalisierung der Daten in die Database geladen (werden wahrscheinlich zeitversetzt zum Beitrag verfügbar sein)! Aus zeitlichen Gründen kann ich momentan leider nicht auf die noch offenen Themen näher eingehen, und werde die Funktion sowie den Hintergrund später versuchen zu beschreiben! Wer Lust hat, kann aber gerne damit experimentieren. Es ist möglich, sämtliche Berechnungen Diverenzen ect.), Indices sowie Indikatoren zu normalisieren! Leider weiss ich nicht genau,ob Investox-NN zur Aktivierung dioe logistische Funktion oder Tangens hyperbolicus und Sinusfunktion verwendet. Das ist aber entscheidend da die erstegenannte Funktion Werte zwischen 0 und 1 verwendet und zweitgenannte Wrete zwischen 1 und -1! Es ist zu beachten, dass Investox-NN bereits eine Aktivierungsfunktion beinhaltet, wobei die Daten automatisch skaliert werden! Bei den in den Indikatoren vorgegebenen Grenzwerten sollte das maximale Hoch und das maximale Tief eingegeben werden. Dies lässt sich einfach mit den Investox Indikatoren AllTimeHigh und AllTimeLow ermitteln! Die ermittelten Werte müssen nur noch in das Indikator-Interface eingeben werden! In der Beschreibung zu den Indikatoren findet ihr noch einmal die beiden Formeln für die Ermittlung des oberen-und unteren Grenzwertes di man kopieren und in den Chart einfügen kann! Eine nähere Erklärung zu allem folgt, wie bereits geschrieben später!Viel Spaß beim experimentieren! Vielleicht kann heute Abend schon jemand ein "Super NN" präsentieren....;)

Happy Trading

Dago

unregistriert

143

Montag, 20. Oktober 2008, 21:04

Hallo Udo,
2 kurze Fragen:
Sind die bereitgestellten Indikatoren zeitlich begrenzt?
Die erste Frage hat sich erledigt. Die Indis sind ja offen. So einfach kann die Welt sein.
Wie bekomme ich hier ein Bild vom Chart rein?

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Dago« (21. Oktober 2008, 09:16)


Yoggi

unregistriert

144

Dienstag, 21. Oktober 2008, 09:52

Hallo Dago,
Chart kopieren, in einem Grafikprogramm (z.B. IrfanView) öffnen und z.B. als png-Datei speichern (erlaubte Dateianhänge: bmp, gif, inn, inv, jpeg, jpg, pdf, png, rar, txt, zip). Bei der Komprimierung auf die Größe der Datei achten, 100 kB maximal erlaubt. Dann beim Editieren eines Beitrages unter Dateianhänge die betreffende Datei hochladen.
Alles Gute
Yoggi

Registrierungsdatum: 30. August 2002

Beiträge: 8 155

Wohnort: Trade-Planet

145

Dienstag, 21. Oktober 2008, 10:31

Hallo Roger,

das selbe tritt bspw. auch bei der Korrelation ein. Würdest du behaupten, dass bei diesen Indikatoren eine Normierung schon implizit vorhanden ist oder das man auch hier noch ein Normierungsverfahren anwenden sollte?

Indikatoren (hier gemeint Oszillatoren und keine GDS ect.) sind in teils in Wertebereiche gepresst, die ein festes Raster haben! Ausnahmen sind Oszillatoren, die nach oben oder unten unbegrenzt ausschlagen können wie beispielsweise der CCI-um einen zu nennen! Man muss aber beachten, dass Investox bereits eine Skalierung durchführt! Der Nachteil dabei ist, dass man nicht weiß wie der skalierte Indikator aufbereitet wird, da man ihn nicht visualisieren kann! Man kann einen einfachen Test machen, indem man den Indikator unter gleichen Voraussetzungen mit den Rohdaten bearbeitet und in einem zweiten Versuch mit normalisierten Daten! Es kommt dabei nicht darauf an, welche Performance das Netz liefert sondern welche Stabilität vorhanden ist! Für mich persönlich rangiert Stabilität beim neuronalen Netz vor der Performance! Erfahrungsgemäß ist man hinsichtlich der Stabilität auf einem guten Weg, wenn auf der Lernzeitraum keine aalglatte Kurve ist.

Diverg(Close,(Close("DJ EUROSTOX-N"),[5],[5])/100;

Man muss ausprobieren, ob die Divergenz dividiert werden muss. Ich gehe davon aus, dass dieser Indikator von der Investox Skalierungsfunktion bereits in den richtigen Maßstab transferiert wird! Nebenbei bemerkt sind Divergenzen kein einfaches Thema, da sie mit harter Logik nicht ausreichend erfasst werden können. Divergenzen sind relativ elastisch, und können in den unterschiedlichsten Zeitabständen auftreten was eine Klassifikation relativ erschwert! Man sollte sie daher erst einmal in einem konventionellen Handelssystem überprüfen. Bei Divergenzen ist es auch notwendig, die Parameter so zu setzen dass sie einem gewissen Signalhorizont entsprechen. Der Signalhorizont ist abhängig davon bei welchen Wertpaaren war nach Divergenzen sucht! Divergenzen können in unterschiedlichen Formen auftreten-es gibt auch Hidden Divergenzen....

PS: Du kannst zur Normalisierung der Daten natürlich auch die beiden hoch geladenen Indikatoren verwenden. Damit kannst du sämtliche Berechnungen, Indikatoren und werde in ein festes Raster transferieren! Die Normalisierung der Daten hebt aber nicht den Arbeitsschritt zum entrauschen der Daten auf!
Happy Trading

chied

unregistriert

146

Dienstag, 21. Oktober 2008, 11:15

Hallo Udo!

Vielen Dank für die Indikatoren!

Bin seit gestern mit deren Tests beschäftigt.

Eigentlich dachte ich ja, dass du unter normalisieren und entrauschen das selbe verstehst.
Verstehts du unter entrauschen die Aufbereitung der Daten mit GD's, Wavelets oder FFT?
Mit den Wavelets habe ich meine Erfahrungen gemacht. Die haben gemäss Martin in die Zukunft geschaut...

Viele Grüsse

Roger

Dago

unregistriert

147

Dienstag, 21. Oktober 2008, 11:28

Hallo zusammen,
hier das erste Ergebnis vom FGBL. TZR gelb, KZR hellrot, Rest OoF (Out of Sample). Die KK ist auch nach 50 Testdurchläufen einfach nicht platt zu kriegen. Ach wenn nicht alle so gut aussehen, wie die vorgestellte. Die Inputs bestehen aus Candlestickmustern und nur einem von Udos Indis zur Unterstützung:
calc no:Normierung_1_1(close, 100, 125);
no;
Ref(no,-1);
Ref(no,-2);
Ref(no,-3);
Ref(no,-5);
Ich werden noch unmöglichere Zeiträume testen. Das Rauschen war übrigens auf 0 gestellt. Ein höherer Wert hatte keinen positiven Einfluß auf die Generalisierung, aber einen negativen auf die Gesamtperformance
»Dago« hat folgendes Bild angehängt:
  • FGBL_01.jpg

chied

unregistriert

148

Dienstag, 21. Oktober 2008, 11:45

Hi Dago

Glückwunsch zur tollen KK!

Was ich an dieser Stelle jeweils noch prüfe, ist das verhalten im vertikal gespiegelten Zeitraum.
Gerade beim GBL könnte die Gefahr bestehen, dass das NN nur in Aufwärtstrends gut performt.
Rein Makroökonomisch kann allerdings davon ausgegangen werden, dass sich der GBL in Zukunft
tendenziell südlich bewegen wird, und es deshalb möglich wäre das dein NN aufgrund dessen
an Stabilität verliert. Deswegen mein Rat:
Einmal den Trend umkehren, anhängen und das Verhalten im Abwärtstrend analysieren.

Viele Grüsse

Roger

Registrierungsdatum: 30. August 2002

Beiträge: 8 155

Wohnort: Trade-Planet

149

Dienstag, 21. Oktober 2008, 12:21

Hallo,

das sieht ja richtig gut Dago! :) In dem Fall Roger, ist der Verlauf der Datenreihe so, dass man durchaus mit der Monte Carlo Simulation testen kann! Der Verlauf beinhaltet relativ viel Bewegung, aber wie du schon geschrieben hast keinen extremen Abwärtstrend! Man sollte aber auch einmal eine längere Historie betrachten und prüfen, welche Muster die Zeitreihe überhaupt ausprägt! Man kann versuchen Muster, die sich für das neuronale Netz nicht eignen oder wo es sich abschwächt auszufiltern, indem man die Lernbeschränkung einsetzt! Ich möchte jetzt nicht zu weit vorgreifen, aber es ist natürlich auch möglich Kursmuster aus der Investox-Kursmusteranalyse für das neuronale Netz einzusetzen! Der Korrelationskoeffizienten der Musteranalyse hat einen oszillierenden in Verlauf und ist weitestgehend (je nach sind Sensivität) rauschfrei und weitestgehend dekorreliert! Datennormalisierung findet ihren Schwerpunkt bei Intermarket Netzen wenn beispielsweise Sentimentdaten eingesetzt werden!Die Netze, die mir zumindest vorschweben sollen so funktionieren, dass sie bei mehrfachem NNs-Training keine extremen Abweichungen liefern! Irgendwann muss ein neuronales Netz neu trainiert werden, und wenn die Abweichungen im Testzeitraum enorm klaffen, wird man bei der neuen Justierung Probleme bekommen. Abweichungen darf es im Testzeitraum geben, aber der Testzeitraum sollte nicht einmal nach oben und einmal nach unten abweichen! Dabei ist es nicht so wichtig, welchen Gewinn man im Testzeitraum erzielt als er die Tatsache, dass der Verlauf des Testzeitraums unter extremen Testbedingungen immer steigt!

Die Wavelets, direkt aus der Statistik Software übernommen, können wie schon einmal geschrieben in die Zukunft blicken beziehungsweise ändern sich, wenn neue Datensätze hinzukommen! Aber das heißt nicht, dass man sie nicht nutzen kann. Man müsste sie nur dem entsprechend aufbereiten, sowie man das mit allen digitalen Filtern durchführen sollte. Zum digitalen Filtern gehören auch Bandpassfilter! Die Normalisierung der Daten bringt eine Zeitreihe lediglich in eine " normierte" y-Achse. Dieser Vorgang wird allerdings nicht die Zeitreihe von verrauschten Daten säubern. Dazu muss man die Datenreihe Vorverarbeiten. Dagos Strategie, so wie ich es verstanden habe, beinhaltet sehr viele binäre Werte (Candlestickmuster)! Hier werden explizit Pattern gesucht. Die Auswirkung diese Inputaufbereitung sieht völlig anders aus als wenn man zum Beispiel eine Zeitreihe mit einem gleitenden Durchschnitt vergleicht. Bei einer Differenz kann die Säuberung der Daten sehr viel Stabilität mehr bringen, als wenn man jeden Spike unnütz auswerten lässt.
Happy Trading

chied

unregistriert

150

Dienstag, 21. Oktober 2008, 12:46

Hallo Dago

noch einmal kurz zu deiner tollen KK:
Inwiefern hat der Einsatz des Normierungsindikators die KK verändert? Hast du vielleicht eine Grafik der KK in welcher
du ohne Norm Indi gearbeitet hast?

Viele Grüsse

roger

Dago

unregistriert

151

Dienstag, 21. Oktober 2008, 14:02

Hallo zusammen
@Roger
Die vorher benützten Indis waren z.B. High-Low-Wave Indi von WiWu und 2 sich kreuzende GD (GD1-GD2). Das klingt sehr banal und es wäre auch die nächste Baustelle gewesen, über die ich mich gemacht hätte, wenn Udo nicht seine Indis zur Verfügung gestellt hätte.
Der Unterschied ist in der KK nicht zu erkennen, er liegt in der Trefferquote. Vorher waren ca. 85% der Generationen im Gewinn, jetzt sind es 99%. Aber wie gesagt, ich muß noch andere Zeiträume testen.
@Udo
Die binäre Methode war für mich bis jetzt die einzige Möglichkeit, um einer Überoptimierung vorzubeugen. Vor einer Normierung außerhalb von Inv hab ich mich immer wegen des Arbeitsaufwandes gescheut und außer dem muß man da erst einmal darauf kommen! Auf jeden Fall versuche ich weiterhin aus Deinen Indis herauszuholen was geht. Der Erfolg besteht erst einmal darin, daß es anscheinend fast keine Verluste meht gibt, auch wenn die KK bei jedem Training anders aussieht.

Dago

unregistriert

152

Dienstag, 21. Oktober 2008, 17:01

Hallo zusammen,
noch gibt es keinen Grund zum Jubeln. Wenn dem NN nur bullische Kurse zum Training gegeben werden versagt es in anderen Zeiträumen vollkommen. Das ist ja eigentlich nichts Neues, aber es bestätigt, daß bullische und bearische Kurse in gleichem Maß zum Training vorhanden sein sollten. Aber eine gute Nachricht gibt es auch. Der KZR war genau so miserabel, wie OoS, d.h. man wäre gar nicht auf die Idee gekommen, diese NN zu handeln. Mit den ersten Indis hätte das anders ausgesehen: KZR gut und OoS dafür um so südlicher. Also Udos Indis haben anscheinend viele gute Eigenschaften :thumbsup:

sten

Experte

Registrierungsdatum: 6. September 2002

Beiträge: 2 879

153

Dienstag, 21. Oktober 2008, 17:11

Hallo Dago,

Zitat

daß bullische und bearische Kurse in gleichem Maß zum Training vorhanden sein sollten

Reicht der TZR aus oder muss auch im KZR des NN's das ausgewogene Verhältnis stimmen?

Viele Grüße
Torsten

PS:
Ich würde vermuten, wenn der Kontrollzeitraum des NN's nur aus stark fallenden Kursen besteht, dann wird sich das NN im OoS-Bereich mit steigenden Kurs schwer tun.

Dago

unregistriert

154

Dienstag, 21. Oktober 2008, 18:59

Hallo Torsten,
da hier nur eine Generation ohne GA-Optimierung trainiert wird, fällt der TZR besonders ins Gewicht, denn es erfolgt keine Selektion der z.B. 10 besten Generationen zum Weitertrainieren aufgrund der Ergebnisse im KZR. Das NN verwendet von den zugelassenen 500 Epochen auch meistens nur um die 200.

MartinP Männlich

Meister

Registrierungsdatum: 13. März 2007

Beiträge: 690

Wohnort: Köln

155

Dienstag, 21. Oktober 2008, 20:18

Hallo zusammen,

Udo hatte die Frage in den Raum geworfen, mit welcher Aktivierungsfunktion (Sinus oder Hyperbolens-Tangens) die neuronalen Netze in Investox arbeiten. Abhängig davon hat er eine Normierung des Inputs zwischen 0 und 1 oder zwischen -1 und 1 vorgeschlagen. Für ein einfaches Netzwerk habe ich die beiden Konstellationen mehrfach durchprobiert. Dabei kam ich zu dem Ergebnis, dass die Normierung im Intervall -1 bis +1 deutlich bessere Ergebnisse liefert und dies sowohl während des Trainings, als auch im anschließenden Test.

In der Folge habe ich das gleiche Experiment mit einem Normierung der Inputs im Intervall -2 bis +2 durchgeführt. Die Performance des Netzes war wieder deutlich schlechter als beim Intervall -1 bis +1.

Herzlicher

Martin

sten

Experte

Registrierungsdatum: 6. September 2002

Beiträge: 2 879

156

Dienstag, 21. Oktober 2008, 22:49

Hallo,

leider scheint der Indikator so nicht zu funktionieren.

Zitat


Calc indi: ROC(close,10,$);
Normierung_1_1(indi, AllTimeLV(indi), AllTimeHV(indi))


Man muss die min- bzw. max-Werte leider als Konstanten eingeben.
Hmm, kann man da eventuell was machen?

Viele Grüße
Torsten

sten

Experte

Registrierungsdatum: 6. September 2002

Beiträge: 2 879

157

Mittwoch, 22. Oktober 2008, 08:29

Hallo,

vielleicht kann man die Normierungs-Indi's von Udo wie folgt vereinfachen:

Man übergibt dem Normierungs-Indikator nur noch die zu normierende Zeitreihe, z.B. Close = ROC(Close,10,$)
Die Indikatorberechnung lautet:

Zitat


Close - AllTimeLV(Close)
-----------------------------
(AllTimeHV(Close) - AllTimeLV(Close)) - 1


Vorteil:
- einfachere Schnittstelle, statt 3 Parmeter nur noch 1 Parameter
- die Normierung wird autom. durchgeführt, d.h. man muss jetzt nicht mehr händisch die konkreten min- und max-Werte ermitteln

mögliche Nachteile:
Bin mir nicht ganz sicher was passiert, wenn der alte min- bzw. max-Wert einer Inputzeitreihe unter- bzw. überschritten wird. Möglicherweise ändert sich dann die ganze Inputzeitreihe rückwirkend. Wenn ja, wie reagiert das NN dann darauf?

Andernseits ein NN ist sowieso nicht für die Ewigkeit bestimmt, d.h. wenn man es irgendwie am NN-Verhalten mitbekommt, dass eine Inputzeitreihe den vorgegebenen Min/Max-Bereich verletzt hat, dann muss man das NN einfach neu trainiert.

Viele Grüße
Torsten

Dago

unregistriert

158

Mittwoch, 22. Oktober 2008, 11:31

Hallo Torsten,
machen kann man bestimmt alles. Aber ich glaube, bevor man den Indi pefektionert und weiter Arbeit reinsteckt, sollte man erst einmal prüfen was man damit alles machen kann und ob man damit zurecht kommt.

Lenzelott Männlich

Experte

Registrierungsdatum: 30. Dezember 2002

Beiträge: 3 051

Wohnort: Giessen

159

Mittwoch, 22. Oktober 2008, 18:57

Was Sten oben schreibt funktioniert nicht, da ja jede periode wieder ein neuer Max oder Min entstehen kann.
Das heißt es wird immer nur bis zu diesem Punkt normiert und ab da werden neue Masstäbe angelegt.
Kann evtl. zu merkwürdigen Inputsführen, die permanent auf 1 oder 0 stehen, bei gleichförmig steigender oder fallender Zeitreihe.

So geht´s aber problemlos

indikator 0_1:

Quellcode

1
2
3
calc gu:ErsterWert(AllTimeLV(close),-1);
calc go:ErsterWert(AllTimeHV(close),-1);
(Close-GU)/(GO-GU)
If you think it´s expensive to hire a professional, wait until you hire an amateur.

Registrierungsdatum: 30. August 2002

Beiträge: 8 155

Wohnort: Trade-Planet

160

Donnerstag, 23. Oktober 2008, 00:33

Hallo Torsten,

der Indikator hat nur eine Funktion: Er soll die Daten normalisieren! Es spielt keine Rolle, ob es sich um Indikatoren oder Zeitreihen handelt. Auch Berechnungen können normalisiert werden. Insbesondere sind das Berechnungen, die eine große Differenz-Spanne haben! Hier reicht die Investox-Aktivierungsfunktion (Skalierung) oftmals nicht aus. Natürlich kann man auch versuchen Indikatoren zusätzlich zu normalisieren. Es entscheidet der Test, ob das neuronale Netz mit den zusätzlich normalisierten Indikatoren besser umgehen kann als ohne! Beim neuronalen Netz ist es wichtig dass man zuerst in den Basisfunktionen beginnt um eine saubere Berechnungsgrundlage im Anschluss zu haben! Es ist primär völlig egal, welche Performance das neuronale Netz im Anschluss mit einem Handelssystem liefert. Wenn es nicht stabil ist und feststeht, dass es keinerlei Fähigkeiten zur Generalisierung hat, kann man es ohnehin vergessen! Stabilität erreicht man in den meisten Fällen mit sehr schlanken Netzen, das heißt, mit wenigen Inputs und wenigen Gewichten! Die Startsequenzen eines neuronalen Netzes sollte man relativ klein halten! Was man meiner Ansicht nicht tun sollte, ist ein ohnehin über optimiertes Netz so lange zu bearbeiten, bis der Testzeitraum Performance bringt! Wenn ein neuronales Netz nur mit aufwändiger, detaillierter klein-klein Modellierung profitabel arbeitet, sollte man das Ganze noch einmal überarbeiten!

Den Indikator Normalisierung_1_1 habe ich optimiert, so er jetzt vollautomatisch arbeitet! Allerdings wird beim ATH/ATL Close verwendet! Aus diesem Grund, kann der Indikator problemlos auf andere Indikatoren angewendet werden, da man bei Indikatoren nur Close Kurse zur Verfügung hat. Außerdem stehen am Anfang einiger End of Day Zeitreihen nur Close Kurse zur Verfügung! Die Abweichungen bei der Normalisierung, die dadurch entstehenden belaufen sich in den meisten Fällen auf den zehntel Bereich und fallen somit überhaupt nicht ins Gewicht! Den optimierten Indikator teste ich morgen noch einmal und lade ihn dann in die Database hoch!

Hinsichtlich der Ausspruchproblematik der Basis Zeitreihe aus ATH/ATL kann man, wenn notwendig, eine normalisierten Berechnungstitel als Basis Zeitreihe einsetzen! Der normalisierte Berechnungstitel sollte mit der optimierten Formel vollautomatisch im effektiven Wirkbereich zwischen 1und -1 gehalten werden! Ich habe zu dieser Strategie allerdings noch keine aussagekräftigen Testergebnisse vorliegen, sondern es ist nur eine Idee hinsichtlich der angesprochenen Problematik!

Martin, danke für die Testergebnisse! Ich habe ähnliches festgestellt...
Happy Trading

Ähnliche Themen