Dienstag, 16. April 2024, 20:28 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.

ojb Männlich

Profi

Registrierungsdatum: 2. Februar 2003

Beiträge: 381

Wohnort: München

1

Montag, 29. Dezember 2003, 17:28

HS ohne NN sehr gut, mit NN miserabel

Hallo liebe Kollegen,

ich bin auf ein sehr seltsames Phänomen gestossen, das ich mir nicht erklären kann und hoffe, daß Ihr mir helfen könnt.
Ich denke, das ist für alle sehr interessant.

Sebastian Schmidt hat in der Oktober Ausgabe von 'Warrants & Zertifikate' ein Vorgehen vorgestellt, wie man relevante Inputs für ein HS (allerdings ohne NN) durch Optimierung herausfinden kann.

Ich habe das ganze ein klein wenig modifiziert und probierte nun folgendes (unter Definitionen):

Calc Gold:
ROC(Close("GOLD -%"), 1, %);

Calc Bund:
ROC(Close("GERMAN BUND-%"), 1, %);

Calc TBond:
ROC(Close("TBONDS COMP-%"), 1, %);

Calc Nasd:
ROC(Close("NASDAQ 100 -%"), 1, %);

Also verschiedene Änderungen in verschiedenen Märkten von gestern auf heute.
Diese Änderungen werden nun mit jeweils einem Gewicht von -1 bis 1 in Form einer Optimierungsvariablen multipliziert, dann wird das ganze aufsummiert.

Calc Gesamt:
([1.0,-1,1,-1,1,0.05,1.8797,F] * Gold) + ([-0.2301654,-1,1,-1,1,0.05,1.8244,F] * Bund) + ([-1.0,-1,1,-1,1,0.05,3.4108,F] * TBond) + ([-0.2015426,-1,1,-1,1,0.05,3.8147,F] * Nasd);

Wenn nun Gesamt > 0 ist, gehe ich Long, sonst Short.
Als Stop wird nur ein Tradedauerstop mit 1 Perioden verwendet.
Ein- und Ausgestiegen wird in den FDAX immer zum Open des nächsten Tages.

Optimiert wurde bis zur blauen Linie.

Das Ergebnis ist für das einfache Vorgehen erstaunlich gut. :)
»ojb« hat folgendes Bild angehängt:
  • Screenshot Investox 1.jpg

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »ojb« (29. Dezember 2003, 17:29)


ojb Männlich

Profi

Registrierungsdatum: 2. Februar 2003

Beiträge: 381

Wohnort: München

2

Montag, 29. Dezember 2003, 17:31

Teil 2

Nun kann so was ein NN ja viel besser -- dachte ich -- und gab genau dieselben ROCs als Input einem Netz mit weder einer Reduktions-, noch einer Hiddenschicht.
Das heißt die ROCs gehen mit ihren Gewichten alle auf das eine Ausgabeneuron. Also im Prinzip genau das, was das HS ohne NN auch macht.
Output ist 'Wertänderung zur nächsten Periode'.

Nun möchte man ja meinen, daß man eine KK erhalten müsste, die zumindest ähnlich der vom HS oben sein müsste.
Was jedoch herauskommt ist ernüchternd. ?(
Eine fallende KK. Ich änderte (entsprechend dem NN Output, der ja die Änderung des Close und nicht des Open prognostiziert) das HS dahingehend, daß zum Close des jeweils nächsten Tages ein- und ausgestiegen wurde.
Nun war die KK leicht steigend aber unglaublich volatil.

Kann mir das jemand erklären? Ich verstehe das nicht. Eigentlich müsste doch ein NN auf mindestens die gleiche KK kommen. Es spielt übrigens keine Rolle, ob man noch Reduktions- oder Hiddenlayer miteinbaut.

Vollkommen ratlos und um jede Hilfe dankbar.
Oli
»ojb« hat folgendes Bild angehängt:
  • Screenshot Investox 2.jpg

Adrian

unregistriert

3

Montag, 29. Dezember 2003, 19:50

Hi Oli,

was kommt heraus, wenn Du folgendes machst:

1. mit Hiddenunits
2. mit Hiddenunits, linearer Output

ojb Männlich

Profi

Registrierungsdatum: 2. Februar 2003

Beiträge: 381

Wohnort: München

4

Montag, 29. Dezember 2003, 19:59

Hi Adrian,

wie oben schon angedeutet, macht das fast keinen Unterschied.

Gruß
Oli

Adrian

unregistriert

5

Montag, 29. Dezember 2003, 20:03

Hallo,

ich habe das mal auf die Schnelle mit dem FGBL und meinen Inputs probiert, allerdings zeigt die Kapitalkurve auch im Trainingszeitraum steil nach unten. Diese Methode (relevante Inputs finden) kann ich also nicht reproduzieren.

ojb Männlich

Profi

Registrierungsdatum: 2. Februar 2003

Beiträge: 381

Wohnort: München

6

Dienstag, 13. Januar 2004, 21:25

Der Denkfehler

Hallo Leute,

ich habe eine enge Bindung zu neuronalen Netzen, weil ich die Dinger einfach genial finde. So den Computer quasi statistische Zusammenhänge "lernen" zu lassen hat einfach was.

Wie oben geschrieben, habe ich ja im ersten HS ein NN "nachgebaut" und die Ergebnisse waren gar nicht so schlecht (für den einfachen Ansatz).

Als jetzt das NN komplett in die Hose ging, war ich mental am verzweifeln, weil alles was ich für NNs so gefühlt habe, war irgendwie schwer in Frage gestellt. :(
Und neben der ganzen mentalen Geschichte konnte ich es mir wissenschaftlich einfach nicht vorstellen, daß das NN nicht auf ein ähnliches Ergebniss gekommen ist wie das Nicht-NN-HS.

Und jetzt habe ich den Fehler gefunden ... :baby:
Übrigens angeregt durch einen anderen Thread, wo ja verschiedene Prognosen diskutiert werden.

Meine HS steigen immer zum Oben des nächsten Tages ein oder aus.
Das NN prognostizierte aber als einzigen Output den Standard 'Wertänderung der Basis'. Dieser wird nun aber auf Close Basis berechnet und auch prognostiziert.
Im Klartext: Mein NN prognostiziert die Veränderung des Close von heute auf morgen. Mein HS trader aber die Veränderung des Open von morgen auf das Open von übermorgen. Daß das eine nichts mit dem anderen zu tun hat, ist klar. Insbesondere wenn man sich mal Intraday Charts anzeigt.

Richtig ist also eine Indikatorprognose auf Ref(ROC(Open, 1), 2).

Und siehe da, die KK glättet und streckt sich und sieht vergleichbar aus, wie die KK aus dem HS mit dem "simulierten NN".

Und das heißt: Mein Weltbild ist wieder hergestellt.


Das könnte auch ein Grund sein, warum meine NN mit mehreren Outputs immer besser waren, als ein NN mit einem Output auf die nächste Periode.
Weil die NNs haben einfach etwas anderes vorhergesagt, als ich getradet habe.
»ojb« hat folgendes Bild angehängt:
  • NN.png

Shaw

unregistriert

7

Dienstag, 13. Januar 2004, 21:43

Danke Oli, in diesem Forum lernt man doch jeden Tag hinzu.
Zumindest, wenn man sich noch im Anfängerstadium befindet.

Wirklich gut erklärt, Oli.

Gruß

Registrierungsdatum: 2. September 2002

Beiträge: 433

Wohnort: Freiburg

8

Dienstag, 13. Januar 2004, 21:55

Hallo Olli,

für mich heisst dass, dass das System nicht robust ist, wenn es einen so grossen Unterschied macht, ob ich zum open oder Close einsteige....
(war natürlich auch nicht Ziel des Tests)


Grüsse
Bernhard

ojb Männlich

Profi

Registrierungsdatum: 2. Februar 2003

Beiträge: 381

Wohnort: München

9

Mittwoch, 14. Januar 2004, 09:18

Hallo Bernhard,

generell kann ich Dir nur Zustimmen, daß Robustheit mit das Wichtigste ist.

In diesem speziellen Fall allerdings muß ich Dir wiedersprechen, da es sich ja wirklich nur um eine Prognose der Veränderung der Open-Kurse handelt und nebenbei bemerkt natürlich nicht um ein handelbares System.

Interessant ist zum Beispiel ein Test-HS, das dann zum folgenden Open einsteigt, wenn man weiß, daß das übernächste Open höherliegt und analog für Short. Also eine Simulation, die unterstellt, daß man immer genau richtig prognostizieren würde.
Ergebnis ist natürlich eine "Quasi-Gerade" als KK.

Setzt man nun als Enter und Exitbasis statt der folgenden Open die Close -Kurse ein, tut also so, als wenn ich immer genau wüßte wie sich die Opene-Kurse verändern, kann aber immer nur zum Close ein- und aussteigen, so erhält man eine katastrophale Kapitalkurve.

Das hat mir auch erst mal die Augen geöffnet.

Man muß sich bei NN genau überlegen was man wie handelt und was man wie prognostiziert. Das muß zusammenpassen. Passt aber eben nicht, wenn ich z.B. die Standard Schablone 'Wertveränderung nächste Periode' verwende, aber eben nur zu den Open handle.

Liebe Grüße
Oli

Adrian

unregistriert

10

Mittwoch, 14. Januar 2004, 20:03

Hallo Oli,

von meinen FGBL-NN funktioniert auch keins zum Open. Der Output ist die prozentuale Wertänderung des Schlusskurses in 2 Perioden. Die Inputschablonen sind auch entsprechend aufgebaut.
Meiner Meinung nach hat Dein Phänomen nichts mit der Stabilität eines NN zu tun. Das NN kann ja nur das "voraussagen", was es vorher auch gelernt hat.
Ob das, was ich hier sage, auch so stimmt, werden wir leider erst in den nächsten Monaten erfahren. :D

Josefine

unregistriert

11

Mittwoch, 14. Januar 2004, 20:54

Hallöchen @all,


(bitte vorher lesen)

das ist ein wichtiger Punkt den Oli da anspricht. Die meisten Modelle gehen vom "Close" aus bzw. werden darauf berechnet. Warum auch immer, aber gehandelt wird dann zum "Open".
D.h. das so gut wie immer das Overnightgap (bzw. Intradaygap zw. Open u. Close - jenachdem wie das HS eingestellt ist) unberücksichtigt bleibt und demzufolge, obwohl das NN an sich gut funzt aber eine schlechtere KK herrauskommt (ähnlich Slippage).
Zur Überprüfung dieser Theorie lasst euch einfach mal im Chart die NN/ HS Signal lediglich am Basiskurs "Close" anzeigen (also Chart - Formatierung- Preisfeld - Close- Darstellung - Linie). Experimentiert ein bisserl mit den NN Signalen mit Ref(NN, - X) damit ihr ein Gefühl dafür bekommt wann die Signale am bessten "treffen". (Oli du kannst das ja mal mit "Open" machen).

Ich hatte auch experimentiert mit untersch. Outputs (Zeiträume, High/ Low etc.) um dies in ein System zu pressen. Ist mir nicht gelungen und war nicht robust, weil das HS dann optimiert werden musst. Egal wie das wird nie Robust.

@Bernhard, es ist fast richtig das das System dann nicht Robust ist, wenn man einen zu großen Unterschied hat. Aber das gilt nur, wenn der Größer ist als die Overnigth- Gap`s an sich sind.

Zitat

...bei NN genau überlegen was man wie handelt und was man wie prognostiziert...


Das hab ich auch schon mal gesagt. Wenn die Ergebnisse des NN anhand der Listen (Trainingsergebnisse) relativ gut sind (also die Progs), dann müsstet ihr euch die Handelbarkeit anhand des oben genanntem Charts solange "zurechtrücken" bis es passt.
Notfalls andere Zeiträume prognostizieren lassen oder die Einstigssignale (z.B. > 0,2 < -0,2) anpassen. Oder evtl. die Einstiegssignale mit Fuzzyregeln "dynamisieren".
Ist ein bisserl Fummelei aber dabei bekommt ihr ein "Gefühl" für den Markt und euer NN.

@arian,

da hast du ein Problem entdeckt, das ich gerade beschr. habe. Es ist schwierig ein "Close" NN gleichzusetzen mit einem "Open" NN. Aber das sit der richtige Weg. Bei mir ist es manch. so, das "Close" NN bessere KK erzeugen als "Open" NN aber das kommt auch wieder auf den Markt an und den Horizont und und und. Guck dir nochmal dieses Bild an. Leg es unter dein Kopfkissen. Steck es in deine Boxhandschuh, nimm es mit zum "saufen" egal was auch immer. Da drin steckt der "Heilige Gral". Na ja zumindest dat was wichtig ist.
»Josefine« hat folgendes Bild angehängt:
  • testchart.png

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Josefine« (19. Januar 2004, 11:48)


Adrian

unregistriert

12

Freitag, 16. Januar 2004, 19:03

Hallo,

@Oli
den Output ref(roc(open,1,%),2) habe ich getestet, die Kennzahlen der NN sind bei mir jedoch recht schlecht. Auch die Kapitalkurve geht auf der Testmenge bergab.
Dann habe ich als Output ref(roc(open,1,%),1) gewählt, und heraus kam folgendes:

Ergebnisse im Trainingszeitraum:
Start: 12.02.1999
Ende: 29.08.2002
Absolute Abweichung: 0,0852
Quadratische Abweichung: 0,0125
Prozentuale Abweichung: 87,00%
Treffer: 86,83%
Korrelation: 0,95
Trivial-Test: 0,23
Random-Walk-Test: 0,13


Ergebnisse im Evaluierungszeitraum:
Start: 30.08.2002
Ende: 19.07.2003
Absolute Abweichung: 0,1126
Quadratische Abweichung: 0,0236
Prozentuale Abweichung: 101,51%
Treffer: 88,39%
Korrelation: 0,91
Trivial-Test: 0,29
Random-Walk-Test: 0,17


Ergebnisse im Kontrollzeitraum:
Start: 20.07.2003
Ende: 14.01.2004
Absolute Abweichung: 0,1211
Quadratische Abweichung: 0,0227
Prozentuale Abweichung: 109,51%
Treffer: 84,68%
Korrelation: 0,91
Trivial-Test: 0,29
Random-Walk-Test: 0,17


Das Training erfolgte mit lediglich einer 1 Generation. Leider ist die zweite Variante nicht handelbar.
Vielleicht kann ich hier noch an dem ein oder anderen Schräubchen drehen. Bist Du eigentlich sicher, dass es ref(roc(open,1,%),2) und nicht ref(roc(open,2,%),2) heißen muss?


@Josefine
Das Bild muss ich doch nicht unter's Kopfkissen legen. Ich habe es doch selber gemalt. :]
Den Heiligen Gral gibt es doch gar nicht. Es gibt ja nichtmal den Nikolaus. :))


MfG

Adrian

Fritz

unregistriert

13

Samstag, 17. Januar 2004, 10:41

Hallo,

Zitat

Bist Du eigentlich sicher, dass es ref(roc(open,1,%),2) und nicht ref(roc(open,2,%),2) heißen muss?


Roc darf in diesem Fall nur über eine Periode berechnet werden, wenn es eine echte Prognose sein soll. Roc über 2 Perioden beinhaltet die Wertänderung des aktuellen open zum close, ist also bekannt und darf nicht Bestandteil der Prognose sein.


Aber wie sagte doch der liebe Gott bei der Erschaffung der Menschen nach einer gewissen Zeit?

Hirn ist alle, jetzt gibt es Muskeln und als er dann bei den Frauen ankam,
Muskeln sind auch alle, jetzt gibt es Titten.

Selbstverständlich trifft dies auf niemand hier im Forum zu!!!!

Grüße Fritz

Wiwu Weiblich

Experte

Registrierungsdatum: 4. September 2002

Beiträge: 1 752

Wohnort: Neuenhagen b. Berlin

14

Samstag, 17. Januar 2004, 11:53

Zitat

Hirn ist alle, jetzt gibt es Muskeln und als er dann bei den Frauen ankam, Muskeln sind auch alle, jetzt gibt es Titten.


Ich würde es als angenehm empfinden, wenn wir hier im Forum in Zukunft auf solche und ähnliche Statements verzichten können.

Wenn die Aussagen auf niemanden aus dem Forum zutreffen, kann man sie doch auch gleich weglassen - oder ?
Viele Grüße von Anke

http://www.ascunia.de

ojb Männlich

Profi

Registrierungsdatum: 2. Februar 2003

Beiträge: 381

Wohnort: München

15

Samstag, 17. Januar 2004, 12:25

Hallo,

ich schließe mich Anke an und würde mir auch wünschen, daß wir uns alle bemühen, das hohe Niveau dieses Forums beizubehalten.

@Fritz:
Ohne Schmarrn, was wolltest Du uns damit sagen? Ich verstehe ich es nicht.

Gruß
Oli

Fritz

unregistriert

16

Samstag, 17. Januar 2004, 12:56

Hallo Anke und alle anderen,

ich denke viel netter über meine weiblichen Mitmenschen, als es dieser derbe Witz, den ich übrigens aus den Medien habe, vermuten lässt.

Es sollte einfach nur ein Witz wider dem tierischen Ernst sein.

Zugegeben, der Zeitpunkt war schlecht gewählt, also entschuldige ich mich für das Machwerk und gelobe nur noch jugendfreie Witze von mir zu geben.

Grüße und ein schönes WE

Fritz

Adrian

unregistriert

17

Samstag, 17. Januar 2004, 13:26

Hallo,

ich verstehe weiterhin nicht, warum es im Output ref(roc(open,1,%),2) und nicht ref(roc(open,2,%),2) heißen muss? Es handelt sich ja um den Output und nicht um den Input. Bekanntlich ist hier alles erlaubt, was nur irgendwie in die Zukunft blickt.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Adrian« (17. Januar 2004, 13:27)


Adrian

unregistriert

18

Samstag, 17. Januar 2004, 15:14

Hi Fritz,

hab Deinen Beitrag gerade nochmal gelesen:

Zitat

Roc darf in diesem Fall nur über eine Periode berechnet werden, wenn es eine echte Prognose sein soll. Roc über 2 Perioden beinhaltet die Wertänderung des aktuellen open zum close, ist also bekannt und darf nicht Bestandteil der Prognose sein.


Seit wann ist die Formel ref(roc(open,2,%),2) eine Prognose von open zu close? Das müsstest Du mir mal erklären.
Ich wollte von Oli wissen, ob er ref(roc(open,1,%),2) oder ref(roc(open,2,%),2) meint. Mit einer Prognose von open zu close hat dies meiner Meinung nach gar nichts zu tun. Vielleicht meinst Du aber etwas anderes?

ojb Männlich

Profi

Registrierungsdatum: 2. Februar 2003

Beiträge: 381

Wohnort: München

19

Samstag, 17. Januar 2004, 16:45

Hallo Leute,

vorneweg, es kann natürlich auch sein, daß ich mich irre, aber gut, mal sehen:

Seht Euch mal folgene Skizze an:
d0, d1 und d2 sind Tage, oben seht Ihr die Openkurse (O0, O1 und O2).

Wir befinden uns am Tag d0:
Ich bekomme ein Signal long zu gehen, was ich am d1 zum Open O1 mache.

Ein Tag weiter, wir sind am Tag d1:
Ich bekomme ein Signal auszusteigen und steige am d2 zu O2 aus.

Um das am d0 richtig zu machen, muß ich also wissen ob O2 größer als O1 ist. Das soll mein NN prognostizieren.

Nachdem Signale immer nur kommen können, wenn ein Tag vorbei ist, bekomme ich das also erst am d2: ROC(Open, 1) am d2 ist O2 - O1.

Ich befinde mich aber am d0. Das heißt ich muß ROC wissen, aber in zwei Tagen.

Schlußendlich folgt daraus: Ref(ROC(Open, 1), 2).

Liebe Grüße
Oli
»ojb« hat folgendes Bild angehängt:
  • ROC.gif

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »ojb« (17. Januar 2004, 16:52)


Adrian

unregistriert

20

Samstag, 17. Januar 2004, 18:48

Hi Oli,

alles klar, jetzt weiß ich, was Du meinst. Hab zuerst gedacht, dass es ein Tippfehler ist.

MfG

Adrian