Freitag, 19. April 2024, 15:14 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.

Registrierungsdatum: 30. August 2002

Beiträge: 8 155

Wohnort: Trade-Planet

61

Sonntag, 24. August 2008, 23:33

@Upgap

Einen Punkt versteh ich noch nicht: Warum MUSS man bei NNs/GA's manuell selektieren ?

Selektieren muss man dann, wenn man das NN mit GA optimiert! GA haben bekanntlich den Nachteil, das bei jeder Generation ein Pseudo-Einstieg stattfindet was die "Ergebniswolke" trichterförmig ausweitet da die Outputs gestreut werden! Das hat wiederum den Nachteil das die Analyse mit unter nicht reproduzierbar ist. Zudem haben,wie schon angesprochen GA Probleme wenn es darum geht, Optima zu finden. Oftmals wird Optima mit den eingestellten Variablen und Fitnesskriterien nie erreicht! Meine Aussage bezieht sich auf das in Investox implementierte NN-Modul. Mir ist bekannt, das beispielsweise NN Module in Statistiksoftware anderes funktioniert. Man gibt die Anzahl der Iterationen ein und das war's auch schon. Man muss zudem beachten welchen Algorithmus das NN-Modul nutzt. Nicht jede Software arbeitet mit Backprop-Netzen. Bei dem in Investox implementierten Netz ist ein Feed Forward Test,meiner Ansicht, nicht unmöglich aber irgendwo nichtssagend da die Datenpunkte und Ergebnisse nicht verifiziert werden können. Für einen FW-Test ist Kontinuität der Ergebnisse sehr wichtig. Werden Ergebnisse gestreut, muss man selektieren oder hat ein vollautomatisches Top-Listing!



Man nehme einfach die Population mit der höchsten Fitness.
Eine gute Fitness in den NN Ergebnissen heißt aber noch nicht das der Output (beispielsweise)auf Overcross der Zero-Linie funktioniert! Also muss man hier wieder testen bei welchem Overcross der Output die beste Performance bringt und fällt wieder in einen Selektion!


Die Problematik, daß Zufall ein große Rolle beim Trainieren der NNs bzw bei GAs spielt, ist mir bewußt.
Genau das sollte aber nicht der Fall sein! Ein NN muss eine gewisse Stabilität,auch beim nachtrainieren aufweisen sonst kann man es at Akta legen weil jedes Netz ein Pseudonym wird!


Aber das könnte man doch mit Statistik erschlagen ?!Also den Test x=30 bis 100 mal oder so wiederholen.
Soweit das implementiert ist- eventuell! Wenn aber die Ergebnisse vom primären Ausgabepunkt schon gestreut werden, kann man mit Statistik kaum ansetzen sondern muss mit Suchalgorithmen wie GA oder Heuristik den Peak suchen!


Sehr schiach/brute force und kaum praktikabel, aber zumidestens als Gedankenexperient fürmich plausibel.
Mit Brut Force Generationen zu selektieren und dann ohne mathem. Auswahlverfahren Generation xy herauszupicken, ist sehr subjektiv und geht auf lange Sicht garantiert daneben!

Da SVMs noch eine Rehe weiterer Vorteile hat, gibt's für mich keinen Grund sie tatsächlich einzusetzen, also wirklich nur als gedankenexperiment zu verstehen.
SVM hat sehr viele Vorteile denn man kann damit völlig anderes vorgehen als mit dem Investox-NN! Andererseits haben NN auch Stärken-z.B. im nicht linearen Bereich wie Intermarket. Intermarket Beziehungen sind nicht zwangsläufig linear. Da größere Problem sind verrauschten Daten. Testet man Intermarket mit Rohdaten könnten die Signale überdeckt sein so das man nie ein brauchbares Netz bekommt obwohl volkswirtschaftlich gesehen die Zeitreihen engen Bezug haben! Daher auch der Vorschlag, Eingangsdaten zu Filtern und vorzubereiten,damit die wichtigen Peaks für das NN eindeutiger werden!

Weitere Fragen:
1) Spricht etwas dagegen die dynamische Adaption auch zur realen Laufzeit anzuwenden ?
2) Gibt's noch weitere SSA Implementierungen ?


Zu beiden nein! Ist aber beides nicht möglich-zumindest nicht mit den vorliegenden Algorithmen-ausgenommen der Von Martin angebotete SVM-Algorithmus!

Nochmals Danke für die ausführliche Erklärung, hat sehr beim Verständnis der Problematiken geholfen
Keine Ursache!

PS: Tradstation bietet (ebenfalls) KEINEN WF Test an.
Ich habe das wahrscheinlich in den Punkten eines TS-PlugIn gelesen! Da gibt es ja einiges....
Happy Trading

Registrierungsdatum: 30. August 2002

Beiträge: 8 155

Wohnort: Trade-Planet

62

Montag, 25. August 2008, 23:38

@Torsten

Wir hatten mal das Thema "lokale Minima" und GA. Ergänzend sei hierzu folgendes, was beschreibt,das GA nicht mit dem Minima zu tun hat! Lokale Minima ist ein Problem des Gradientenabstiegsverfahrens mit dem Backprop-Netze berechnet. Gradientenverfahren haben alle das Problem, dass sie in einem lokalen Minimum der Fehlerfläche hängenbleiben können. Das Problem neuronaler Netze ist, dass die Fehlerfläche (kann man bei Inv-NN Training im Traingsfenster sehen) mit wachsender Dimension des Netzes (mit wachsender Zahl von Verbindungen) immer stärker zerklüftet wird und daher die Wahrscheinlichkeit, in einem lokalen statt dem globalen Minimum zu landen, immer größer wird. Hierzu gibt es wenige, allgemeingültige Verfahren, die dieses Problem beheben, da es sehr stark von der Anwendung und dabei noch von der Codierung der Eingaben abhängt, in welchem Maße sich lokale Minima ausbilden, aus denen ein Lernverfahren nicht mehr entkommen kann. In einigen Puplikationen wird beschrieben, dass Backpropagation bei einer genügend kleinen Schrittweite (Lernfaktor) in sehr vielen Anwendungen ein Minimum findet, das sich gut genug dem globalen Minimum nähert und für die Anwendung aktzeptabel ist.Dies zeigt,das man den Hebel nicht an der Netzstruktur ansetzen sollte. Es bringt auch nicht viel, ein Netz das nicht genügend vorbereitet wurde mit GA zu optimieren und dann Generation XY zu selektieren und zu hoffen es möge klappen! Die beste Selektion wird abstürzen wenn primäre Inhalte nicht beachtet werden.Aber das nur am Rande und wie schon geschrieben ergänzend zu unserem damaligen Talk...

@Upgap

Nachfolgend noch ein paar Netztypen die u.a auch in anderen,Dir vielleicht bekannter Software Verwendung finden könnten:


  • Netze ohne Rückkopplung (feedforward-Netze)
    Ebenenweise verbundene feedforward-Netze
    Allgemeine feedforward-Netze (mit shortcut connections)
    Netze mit Rückkopplungen
    Netze mit direkten Rückkopplungen (direct feedback)
    Netze mit indirekten Rückkopplungen (indirect feedback)
    Vollständig verbundene Netze:
    Netze mit Rückkopplungen innerhalb einer Schicht (lateral feedback)


In einer Software-Implementierung werden winner takes all-Netze häufig einfach durch eine (biologisch unplausible) Maximumsuche der Aktivierungen aller entsprechenden Neuronen realisiert. Das am stärksten aktivierte Neuron wird auf seinen maximalen Wert gesetzt und alle anderen Neuronen auf Null. Damit spart man die Gewichte, die Wartezeit, bis sich ein Neuron als Gewinner etabliert hat und vermeidet Probleme der Stabilität solcher rekurrenter Netze (mögliche Oszillationen).Ich gehe davon aus(obwohl ich es leider auch nicht genau weiß) das dieser Typ in einigen Statistiksoftware verwendet wird bei denen man ausschließlich die Iterations-Anzahl vorgibt! Hinzu kommt noch die Möglichkeit ganz anderer Netztypen wie Kohonen usw. Jeder Software-Entwickler hat ein ein anderes Konzept. Grundsätzlich gehören auch Support Vector Machines in die Riege "Neuronale Netze" nur das der Algorithmus völlig anders berechnet wird und nicht über den Gradientenabstieg der Vor-aber auch erhebliche Nachteile hat (siehe oben)....
Happy Trading

Registrierungsdatum: 30. August 2002

Beiträge: 8 155

Wohnort: Trade-Planet

63

Mittwoch, 27. August 2008, 00:05

Damit nicht alles graue Theorie bleibt habe ich versucht, ein kleines Modell zu entwickeln. Dazu wurden ausschließlich Investox-Standard Funktionen verwendet. Nur der Filter OMA_VB wurde von Asunia (Anke) geladen. Neben dem OMA gibt es noch zwei weitere "GD-Filter" von Dr. Uhl:EPMA und HMA! In der anschließenden Grafik sind diese noch einmal verdeutlicht! Der OMA wurde deshalb gewählt, weil der den transformierten Midpoint-Filtern sehr ähnelt,der Basis in die Nischen folgt ohne überzureagieren und gleichzeitig Überreaktionen abbaut!

Die Historie für den Test ist nicht sehr groß-muss sie auch nicht,da der Filter entweder funktioniert oder nicht. In der kurzen Historie liegen genügend Fakts für die simple Differenzberechnung der Inputs vor! Die Besonderheit an dem System ist,das nicht die Rohdatenreihe des FDAX als Underlying verwendet wurde, sondern der FDAX 20 Perioden ROC die Basis bildet. Der Nachteil ist Im- und Export der Daten.Das Modell basiert auf 60 Minuten Komprimierung und ist Overnight investiert! Kosten und Slippage sind inklusive! Das System beinhaltet keinen Verlust-Stopp aber ein Target und wird mit einem Kontrakt gehandelt (ohne Pyramiden).Der Out of Sample Gewinn beläuft sich bis dato auf 3330 Euro Netto in zwei Tagen,die man real hätte erzielen können!
Aber das ist nebensächlich. Viel wichtiger ist zu testen, ob das ganze mit "normalen Filtern" einen Sinn macht und funktioniert!

GD-Varianten




Happy Trading

chied

unregistriert

64

Mittwoch, 27. August 2008, 08:53

Hallo Udo!

Vielen vielen Dank für deine grossartigen Beiträge!

Ein paar kleine Vertsändnissfrage hätte ich da noch an dich:
Du nimmst als Input also die ROC des FDAX und subtrahierst davon jeweils die drei GD Filter. Richtig? Und als Optimierunsgparameter für das NN dienen die "GD" Paramter?
Könnte man anstelle der "GD" Filter auch Wavelets oder FFTs einsetzten oder sollten diese Zeitreihen dann eher anstelle der ROC eingesetzt werden, oder sogar als Output? Hat man beim Einsetzen von Wavelets oder FFTs dann nicht das Problem, dass keine Optimierunsgparamter mit denn das NN arbeiten genutzt werden können?

Vielen Dank und

beste Grüsse

Roger

P.S Darf ich fragen, woher du deine FDAX Daten beziehst?

Registrierungsdatum: 30. August 2002

Beiträge: 8 155

Wohnort: Trade-Planet

65

Mittwoch, 27. August 2008, 13:22

Hallo Roger,

komme leider erst heute Nacht zu einer ausführlichen Antwort! Ich beziehe meine komplettes Datenpaket von L&P (Intraday und EOD)! Für Intraday nutze ich den Server-Stream den für schnelle (Scalp) Trades und flüssigen Ticklauf opütimal ist, wenn der Chart grafisch umfangreich und aufwendig ist! Das beschleunigt das einlesen der Ticks enorm.

Hiersieht man, wie es mit dem Modell bis dato (13:00 Uhr) weiter ging! Ich werde das Ergebnis heute Nacht noch einmal unter dem Link refreshen. Leider kann ich auf den Server nicht automatisch uploaden-warum auch immer. Das liegt aber am Webdienst! Muss mal einen anderen anpeilen damit man das live und vollautomatisch by Signal uploaden kann...

PS: Für NN sind Datenpakete mit Economy-Daten sehr interessant um auf Basis Intermarket diese einfließen zu lassen. Ich glaube dafür ist Pinnacle Data die bessere Wahl. Ob sich bei L&P mit den Pastré Daten seit anno dazumal etwas verbessert hat, kann ich leider nicht sagen, da ich das Abo nicht mehr habe! Es traten damals zu viele Unregelmäßigkeiten auf die uns gezwungen haben,Modelle die auf dieser Strategie basierten at Acta zu legen.Zudem kann man viele Daten nur für Wochen oder Monatskomprimierungen nutzen da die meisten nur wöchentlich/monatlich oder quartalsweise veröffentlicht werden! Ansosnten ist L&P-EOD bei der großen Palette der Standartwerte ok-kann man nicht meckern..;)
Happy Trading

chied

unregistriert

66

Mittwoch, 27. August 2008, 21:27

....aaaahhhhh, da fällt mir doch ein, dass ich auch noch ein L&P Abo auf meinem alten PC hatte. Weisst du was ich machen kann, um historische, ratio adjusted FDAX Kurse zu erzeugen? Mit dem Kombititelverfahren könnte ich maximal die letzten par Kontrakte zusammenfügen... : (

Viele Grüsse

Roger

P.S Zu den NN Eco Test bin ich leider noch nicht vorgedrungen. Candlesticks (und als nächstes Wavelets) habens mir in der aktuellen Testreihe angetan : )

sten

Experte

Registrierungsdatum: 6. September 2002

Beiträge: 2 879

67

Mittwoch, 27. August 2008, 22:48

Hallo Udo,

etwas Praxis und ein kleines Beispiel ist immer gut.

Zitat

die simple Differenzberechnung der Inputs

Was für eine Differenz hast Du hier gebildet (wenn ich das richtig verstanden habe):
a) OMA auf FDAX 20 Perioden ROC - Close FDAX60min
b) OMA auf FDAX 20 Perioden ROC - FDAX 20 Perioden ROC
c) Close FDAX60min - FDAX 20 Perioden ROC

Vielleicht kannst Du noch ein bischen was zu dem verwendeten NN-Umfeld sagen, z.B. definiertes Prognoseziel, Traingsmethode KontrollZR oder CrossVal10Samples, Enterregel <> 0 oder mit Schwellen?, GA verwendet oder nur ein Traingslauf, usw.

Habes es heute leider nicht mehr geschafft etwas rumzuprobieren, vielleicht morgen oder am Wochenende.
Danke.

Viele Grüße
Torsten

Registrierungsdatum: 30. August 2002

Beiträge: 8 155

Wohnort: Trade-Planet

68

Donnerstag, 28. August 2008, 11:23

Hallo zusammen,

ich sehe schon die Thematik wird immer größer..;) Leider ist mir,aus zeitlichen Gründen, bei so umfangreichen Themen nur eine "scheibchenweise Antwort" möglich! Ich möchte dabei auch vor und Nachteile der NNs und der Methoden beschreiben und man wird schnell erkennen, wie kompliziert und fehleranfällig NNs eigentlich sind! Mit Rohdaten eine eine Hand voll Inputs rein,trainieren und mit GA hochoptimieren gewinnt man bei der Sache nicht viel,wenn die Basics nicht stimmen! Um tief in die Materie einzusteigen, müsste man eine Software wie Matlab verwenden, damit man grundlegende Funktionen besser versteht und das NN nach gewonnenen Erkenntnissen gestaltet! Aber zu viel staubtrockene Mathematik ist nicht mein Ding denn ich möchte,wie ihr sicher auch,mal einen Erfolg sehen, auch wenn eine gewisse theoretische Grundlage meiner Ansicht bei NN unerlässlich ist! Das ganze hat primär nichts mehr mit Börse zu tun-zumindest dann nicht, wenn man keine Intermarkets zur Prognose heranzieht.Es geht letztendlich um stat.-mathem. Aufbereitung von Datenpunkten und deren Konstellation und Bewegung in der Historie oder im Verhältnis zu anderen Zeitreihen.Das größte Problem bei Börsenkursen ist,das der Trainingsdatensatz nichts mit dem zu prognostizierenden Datensatz zu tun hat! Da die Börse in einer ständigen Rotation steht und sich Zonen immer wieder zyklisch verschieben ist die Möglichkeit des Versagens relativ hoch! Das Testmodell hat gestern versagt,aber das habe ich erwartet. Dennoch besteht für das Gesamtmodell noch kein Grund zur Beunruhigung, was ich anhand einer Grafik noch erläutern werde! Man fragt natürlich, weshalb versagt das Modell plötzlich wo es doch vorher eine gute Prognose (Out of Sample) und einen guten Testzeitraum geliefert hat? Dazu gibt es unterschiedliche Theorien und Gründe die ich im Verlauf des Threads (ev. auch in einem kleinen E-Book) noch näher beschreiben möchte! Einer der schwerwiegendsten Gründe ist der Time-Lag,den ein Filter,in dem Fall der OMA mit sich bringt! Wenn man beispielsweise die Datenpunkte des OMA vervielfacht,kann man einen Vorsprung gewinnen. Dazu muss man auf einer Arbeitsoberfläche arbeiten,bei der man die Achsen skalieren und individuell den Raster wählen kann (kann ich auch mal zeigen).

@Roger

Wenn der Datenanbieter keine adjustierten Daten anbietet,muss man dies leider selbst durchführen. Ich verwende nur die "Quick&Dirty" Methode, die von L&P geliefert wird, Das reicht mir aus. Hierbei wird einfach am Verfallstag (Börsenstart) vom alten auf den neuen Kontrakt geswitcht und das GAP offen gelassen. Sehr "gewissenhafte Entwickler" und die Literatur schreibt,das man die Daten nach einem Adjustierungs-Verfahren optimieren soll.....

@Torsten
Infos und Hintergründe zu der Vorgehensweise kann ich,wie Eingangs geschrieben,aktuell aus Zeitmangel leider nicht näher beschreiben-kommt aber noch! Damit man die Hintergründe nachvollziehen kann, ist Schreibarbeit nötig und es würde niemanden was bringen, wenn ich schnell mal einen Dreizeiler schreibe von dem am Ende niemand weiß was ich überhaupt meine..:)

Leider bietet Investox zur endgültigen Kontrolle des NNs nicht übermäßig viele Möglichkeiten und visuelle Graphen. Beispielsweise wäre es prima,wenn man die Fehlerabweichung usw. grafisch aufbereiten könnte. Die Fehlerabweichung ist das Ergebnis der eigentlichen Problemlösung-bzw. die Fähigkeit das Problem mit dem angewendeten Modell zu lösen! Zudem habe ich keinen Schimmer, was und wie Investox skaliert und transformiert-das heißt wie sehen die zugeführten Rohdaten und Berechnungen vs Ziel & Output eigentlich aus? Von der Datenvorbereitung hängt ein nicht unwesentlicher Teil über Erfolg und Misserfolg des Modells ab und daher wäre es nur ein Vorteil,diese Funktionen zu tabellarisieren und zu visualisieren....
Happy Trading

Registrierungsdatum: 30. August 2002

Beiträge: 8 155

Wohnort: Trade-Planet

69

Freitag, 29. August 2008, 15:25

Hier möchte ich die o.g. Grafik nachreichen, in der sich die Modell- Kapitalkurve,einem SSA-Test,einem "Rational" Kurvenfit (grüne Linie) so wie eine Glättung der X-Y Achse (Y/X) auf einer Dezimalskala angelegt befindet! Der Vorteil angepasster Kurvenfits ist, das Drawdowns im Gegensatz zum starren Raff Chanel nicht so groß sind,da die Kurven leicht parabolisch verlaufen und sich in groben Zügen den Steig und Fallwinkeln anpassen!. In dem Programm kann man Kurvenfits optimieren und hat folglich eine sehr breite Masse an Möglichkeiten. Darunter findet man neben Rationals auch GAUSS und FFT so wie über 15 weitere Varianten. Die Glättung der Achsen wird kritisch wenn diese unter die Zero Linie fällt! In dem Fall wurde ein sehr starke Glättung gewählt damit nicht jedes kleine zucken zu einer kritischen Situation führt! Ich möchte noch einmal darauf hinweisen, dass das System Overnight und ohne Stopps arbeitet. Zudem werden weder Handelszeiten noch Wirtschaftsnachrichten berücksichtigt! Wirtschaftsnachrichten führen oftmals zu unkontrollierten Bewegungen die heftige Kontra-Swings nach sich ziehen. Man sieht, das ein System welches nicht für Extrema dieser Art konzeptioniert ist, eine ordentliche mitbekommt! Dennoch sollte das Netz danach in der Lage sein,wenn man von Stabilität sprechen möchte, sich wieder zu fangen! Tut es das nicht,dann war's das wobei man schon zum nächsten wichtigen Punkt kommt: Wann und wie erkenne ich überdurchschnittliche Schwächen oder gar ein einbrechen des Systems? Dieser Punkt ist m.A. für alle Systementwickler neben gezielter Riskokontrolle noch wichtiger,wie das finden des "optimalen Einstieges"! Das ein System irgend wann einbrechen kann oder wird, steht außer Frage! Oftmals ließt man von Systemen deren Performance über Jahre hinweg stabil ist.....aber das kann man hinterher sagen denn vorher weiß man das nicht! Fakt ist,um so kleiner ein Modell ist desto größer seine Chance zu überleben. Mächtige,aufgeblasenen und (über) optimierte Netze leben in der Regel nur so lang wie der Zyklus andauert,dann brechen sie ein. Entweder hat man dann eine Methode parat mit der man zunehmende Schwächen messen kann oder ein mächtiges Konto und Zeit, die Stopps zu bezahlen und/oder DDs auszusitzen. Aber selbst bei großen Konten ist gebundenes Geld auf längerer Sicht immer ein Verlust weil man es nicht anderweitig anlegen kann sondern es im Buchverlust festnagelt!

Die aktuelle News-Situation von gestern zeigt,wie wichtig es ist die Handelszeiten bei Intradaymodellen zu berücksichtigen! Ausschweifungen, wie hier können durch vorübergehendes stilllegen des Systems weitestgehend vermieden werden. Dazu wurde von Knöpfel Software der Aufgabenmanager konzeptioniert! Ein Backtest oder gar ein Austesten unkontrollierter Swings ist kaum möglich das es sich,ist man kein Insider,um eine Lotterie handelt! Es gibt diverse Handelskalender,die Richtung und zu erwartende Volatilität anzeigen,falls die Prognose die Erwartungen der Volkswirte erfüllt,aber man sollte immer im Hinterkopf behalten..es kann auch anders kommen! Wie es sich auswirkt sieht man! Für das System ergibt eine überraschend brachiale Bewegung eine völlig neue Situation hinsichtlich des Kurvenverlaufes. Was tun? Weiter laufen lassen,nachtrainieren,aussetzen und warten? Schnell mal nachtrainieren kommt mit dem Backpropagation-Netz kaum in Frage-zumindest nicht auf Intradaybasis. So etwas ist nur mit schnellen Algorithmen wie SVM und Feed Forward möglich! Daher auch immer wieder der Hinweis, das man für Intradaymodelle mehr Adaptivität und Flexibilität benötigt und das erfordert zusätzliche,schnelle Algorithmen! Backpropagations Gradientenabstieg ist in dem Fall zu langsam,träge und zu fehleranfällig! Bereitet man die Daten mit digitale Filtern, zu denen u.a. HIGH-LOW & Bandpassfilter gehören vor, kann man den Ausschweifungen ein Stück entgegen wirken. Zwar wird man diese Extremas nie kontrollieren wenn man das System über Wirschaftnachrichten rollt aber man bekommt m.A. das Modell wieder schneller unter Kontrolle. Voraussetzung ist aber, dass das Modell schlank gehalten wird. Viele Neuronen und Schichten bringen viele Probleme und fördern das auswendiglernen und Curve Fitting. Kleine Modelle sind weniger fehleranfällig und "noch" kontrollierbar.So weit erst mal und noch viel Erfolg für heute. Am Montag ist in den USA Feiertag...

Die waagerechte grüne Linie unterhalb der Kurve ist die Zero-Linie für den "Differtial-Indikator". Der Schnappschuss wurde gestern morgen erstellt!
»Udo« hat folgendes Bild angehängt:
  • kk.png
Happy Trading

Registrierungsdatum: 30. August 2002

Beiträge: 8 155

Wohnort: Trade-Planet

70

Sonntag, 31. August 2008, 09:57

Hallo Roger&Torsten,

zunächst einmal der Hintergrund des ganzen! Es soll versucht werden, das NN möglichst weit von der Gefahr in lokale Minimas zu fallen entfernt zu halten und das Modell so "glatt und schlank" wie möglich zu gestalten! Wenn eine Zeitreihe viele Schwingungen hat,kann es zudem sein das die Korrelation fehlinterpretiert wird. Autokorrelation soll vermieden werden. Es gibt aber auch Modelle bei denen man gezielt Autokorrelation sucht! Weiterhin soll damit erreicht werden, Stabilität in das Modell zu bekommen so das dem nachtrainieren keine große Bandbreite angeboten wird! Ideal wäre, wenn man das Netz trainiert,den Ouput im HS (nicht im NN mit GA!) optimiert und dieser nach 3-5 Generationen Maxima erreicht und keine Veränderung bei weiteren Generationen mehr generiert werden! Wenn man das schafft hat man mit hoher Wahrscheinlichkeit ein sehr stabiles Netz. Dieses Modell hat ein anderes Ziel als beispielsweise Intermarket-Systeme! Bei Intermarkets gibt es nach meinen bisherigen Tests Haken in Bezug auf die Inputwahl. Oftmals versucht man passende Pairs mit Hilfe der Korrelation zu finden. Hier kann aber schon ein Fehler beim Auswahlverfahren entstehen. Autokorrelation ist in diesem Fall unerwünscht, da lediglich die gleiche Zeitreihe phasenverschoben bewertet wird!

Ziel ist,was aber mit Investox nicht möglich ist,Datenpunkte zu zerlegen,auszuwerten und einen Filter als Signalpunkt zu berechnen. Das kann man mit einem Statistikprogramm durchführen indem man digitale Filter berechnet (Zerlegung in Frequenzen- mathem. Berechnungsverfahren-als ein Datenpunkt zurück transformieren) und die Datenpunkte wieder importiert.Leider ist das aufwendig! Eine zweite Möglichkeit einen Filter bzw. einen Indikator zu entwickeln ist Datendigitalisierung. Bei der Datendigitalisierung wird über den grafischen Weg eine Zeitreihe "fotografiert" und auf die Arbeitsoberfläche des Programms transportiert!Beim Programm FindGraph kann man die gewünschte Anzahl der digitalisierten Datenpunkte angeben bzw. werden vorgeschlagen oder man fügt manuell Datenpunkte hinzu! Die Auswahl ist groß! Mit Hilfe zusätzlicher Datenpunkte soll ein schnelleres Erkennen der primären Richtung der Zeitreihe erzielt werden,was einen zeitlichen Vorlauf (Forecast) bewirken kann. An der vorigen Grafik sieht man, das dies ganz gut funktioniert und auch meine "Experimente" bestätigen das! Man muss im Fall des "Experiment Modelles" sagen,das es nur die halbe Miete ist,das heißt die primäre Idee wird nicht so generell umgesetzt! Dies ist vom Aufwand,für ein Live Experiment auf Intradaybasis für mich leider nicht machbar! Zudem wird ist auch die Performance Nebensache sondern es soll ermittelt werden welche Methoden man anwenden kann! Wäre das Modell auf Performance getrimmt ,würde ich es verkaufen..;);)


Du nimmst als Input also die ROC des FDAX und subtrahierst davon jeweils die drei GD Filter. Richtig?
Nein,der ROC ist nicht der Input sondern das Prognoseziel-der Output! Dazu muss man den ROC Im-Exportieren


Und als Optimierunsgparameter für das NN dienen die "GD" Paramter?
Wenn Du damit Inputs meinst dann ja!

Könnte man anstelle der "GD" Filter auch Wavelets oder FFTs einsetzten oder sollten diese Zeitreihen dann eher anstelle der ROC eingesetzt werden, oder sogar als Output?
Digitalisierte Filter als Output haben das Problem, das sie nicht direkt handelbar sind.Das Signal müsste einem zeit basierten System zugefügt und synchronisiert werden! Im besten Fall läuft das System auf Tickbasis,der kleinsten Einheit um die transformierten Signale nicht künstlich zu verzögern. Mit Ticks stößt man im Backtest aber schnell an die Grenzen und auch die Berechnung und Optimierung kann sich enorm hinziehen! Daher ist es idealer die Filter als Input zu nutzen! Als Output kann man ROC oder die Basis nutzen. Hier kann man dann noch experimentieren, ob man den Output glättet und/oder dämpft. Bei der Datenglättung über n-Perioden entfernt man den Datenpunkt immer weiter vom Median/Periode so das ein Time Lag entsteht. Für langfristige Anleger spielt das kaum eine Rolle wenn sie nur die Richtung der Datenbasis ermitteln wollen! Daher kommt es immer auf das Prognoseziel an ob eine Aussage richtig oder falsch betrachtet wird!

Man muss sich vorher im klaren sein was man vom NN überhaupt wissen will und welchen Zeitrahmen man in Erwägung zieht! Nach diesen Kriterien entwickelt man das NN auf. Das fertige System sollte man so gestalten, dass das Risiko erträglich und nicht Selbstmord ist! Wenn das NN als Parameter im System die Risikokriterien nicht erfüllen kann ist es für den Anwender nutzlos! Viele NNs die im Internet hausieren haben im Hintergrund sehr viel Kapital,was man auch anhand der Y-Achse der KK ohne Probleme erkennen kann. Das diese Systeme besser laufen als Systeme mit kleinen Konten versteht sich von selbst und ist auf den Risiko- und Money Management Effekt zurückzuführen!


Hat man beim Einsetzen von Wavelets oder FFTs dann nicht das Problem, dass keine Optimierungs-Parameter mit denn das NN arbeiten genutzt werden können?
Hier weiß ich leider nicht genau was gemeint ist! Optimierungsparameter im Sinn von Gradientenabstieg oder GA? GAs verbessern das NN nicht wirklich! Ich würde es als dünnen Anstrich auf die Fassade bezeichnen. Hochgezüchtete NNs könne einen gewisse Zeit laufen aber man muss diese managen können. NN die hochgezüchtet wurden erkennt man oftmals an vielen Stopps! Man nutzt die Epoche so lange bis sie nicht mehr funktioniert, muss aber darauf achten,das man das bis dato angehäufte Kapital nicht mit zu weiten Stopps leichtfertig aufs Spiel setzt!! Diese Systeme können abrupt einbrechen oder die Profitabilität lässt mit der Zeit immer weiter nach. Dieses Nachlassen gilt es rechtzeitig zu erkennen und beim unterschreiten eines vorher festgelegten "Stopp-Levels" das System neu zu trainieren. Ein Level könnte beispielsweise der größte DD im Lernzeitraum sein. Wird der Level um n-Punkte oder Prozent unterschritten setzt man das System zunächst aus und wartet,bis es sich wieder über dem Ziel-Level platziert! Sollte das System innerhalb weniger Perioden mehrmals unter den Level fallen,trainiert man es neu. Mit anderen Algorithmen wie beispielsweise SVM würde man sofort neu trainieren weil die Zeit nur einen Bruchteil dessen eines Backpropagation NNs ausmacht und das optimieren wesentlich sinnvoller als das abwarten ist! Andere Verfahrensweise wären,das habe ich noch nicht so genau getestet,das Rauschen der KK zu ermitteln. Tritt plötzlich ungewöhnlich hohes Rauschen auf,ist Vorsicht geboten.

Das soll's momentan erst mal von mir gewesen sein. Ihr seht schon das man an vielen Ecken und Enden ansetzen muss denn letztendlich hat man beim NN noch eine Unbekannte: "Die Blackbox". Anders als bei konventionellen System kann man die Vorgänge im NN nicht hundert Prozent reproduzieren und das macht es für den Anwender auch risikoreicher! Wenn man ein NN mit Inputs vollpackt und hochzüchtet kann man nur auf eines hoffen: Ein hervorragendes Risk-Management denn ohne dies wird man mit hoher Wahrscheinlichkeit nicht zum Winner auf Dauer...
Happy Trading

MartinP Männlich

Meister

Registrierungsdatum: 13. März 2007

Beiträge: 690

Wohnort: Köln

71

Sonntag, 31. August 2008, 13:45

Hallo,

eine kleine Frage.

Ich habe mir einen Berechnungstitel mit dem ROC des FDax auf 60 Min erzeugt. Diesen will ich nun für das Training eines NN verwenden.
Der Berechnungstitel erscheint in meinem Investox wie erwartet. Aber, sobald ich versuche ein NN für den Titel zu entwickeln kommt eine unschöne Fehlermeldung
"Indikator: ROC
In der Berechnung ist eine Division durch 0 aufgetreten (Fehler Nr. 11)."

Das NN hat übrigens nur einen Input, nämlich Close der gleichen Periode. Der Output ist die proz. Änderung für die Folgeperiode.

What to do?

martin

sten

Experte

Registrierungsdatum: 6. September 2002

Beiträge: 2 879

72

Sonntag, 31. August 2008, 13:56

Hallo Martin,

bei Output hast Du wahrscheinlich definiert Roc(close, 2, %), oder so ähnlich. Versuch es mal statt % mit $ (Berechnung in Punkte).

Viele Grüße
Torsten

MartinP Männlich

Meister

Registrierungsdatum: 13. März 2007

Beiträge: 690

Wohnort: Köln

73

Sonntag, 31. August 2008, 14:14

Hallo Torsten,

danke für den Tip, aber der Fehler bleibt leider ?(

Grüße

Martin

sten

Experte

Registrierungsdatum: 6. September 2002

Beiträge: 2 879

74

Sonntag, 31. August 2008, 14:25

Hallo Martin,

stelle beim NN unter Titel die normalen FDAX-Kursreihe ein. Dann sollte der Fehler nicht mehr kommen, wenn Du das NN abspeicherst.
Dann gehe zu NN - Output - Einstellen Maske "Prognoseziel bearbeiten", Prognoseziel: Wertänderung der Basis UND Bezogen auf ... hier gebe Deinen Berechnungstitel mit dem Roc an.
Dadurch wirkt die Roc-Kursreihe nur bei der Definition des NN-Outputs.

Vielleicht hilft das weiter.

Viele Grüße
Torsten

PS:
Ob's aber was bringt, dass ist wieder eine andere Frage. Obwohl ich die Idee vom Udo mit der Verwendung des Roc beim Prognoseziel sehr gut finde, reisst mich der erste Eindruck nicht vom Hocker. Die Optimierungsoberfläche scheint noch genau so zerklüftet zu sein wie vorher, d.h. dass man mit dem Gradientenverf. zum globalen Minimum kommt und der Optimierungsprozess einen stabilen Wert annimmt, bleibt wohl nur Ilussion.

MartinP Männlich

Meister

Registrierungsdatum: 13. März 2007

Beiträge: 690

Wohnort: Köln

75

Sonntag, 31. August 2008, 14:34

Hallo Torsten,

leider noch nicht.

Ich habe statt des ROC nun mal selber im Berechnungstitel die Abweichung programmiert.
"Calc d: (Close - Ref(Close, -3));
Calc dd: If( d = 0, 0.0001, d);
100 * dd/ Close"

Wenn ich durch mein IF dafür sorge, dass der Zähler immer <> Null ist klappt es. Aber die Fehlermeldung verstehe ich dann nicht.

Grüße

Martin

sten

Experte

Registrierungsdatum: 6. September 2002

Beiträge: 2 879

76

Sonntag, 31. August 2008, 14:42

Hallo Martin,

ich habe in dem Berechnungstitel nur bei Close angegeben: ROC(Close, 20, $) und verwende diesen bei der NN-Outputdefinition, so wie ich es oben beschrieben habe.
Die Diff-Berechung habe ich hinten bei den NN-Inputs durchgeführt mit einem schnelle expGD - Oma. Beide werden direkt auf Basis des Prognosetitel berechnen.

Viele Grüße
Torsten

upgap

unregistriert

77

Montag, 1. September 2008, 14:58

Hallo Udo,

2 Fragen Verständnisfragen hätt ich noch dazu:

Zitat

Das zweite Problem ist,das der Output nicht immer auf dem Overcross der Zero-Linie oder tangieren einer x-Linie funktioniert.
Daher muss der Output auf eine neue Crosslinie justiert werden.
Diese Justierung fhrt man in der Regel mit GA aus.
Ganz genau.
Recht ungut, weil ich mir nie sicher bin, ob eine positive Performance im Backtest nicht
rein durch ein Overfitting beim Finden dieser Justierung durch GAs zustande gekommen sein könnte.
(Wie beurteilt man die Leistungsfähigkeit des NNs losgelöst von dieser Justierung ???)

Aber nun zur eigentlichen Frage: Dieses Problem betrifft doch SVMs genauso ???
Falls Nein, warum nicht ?

Zitat

Andererseits haben NN auch Stärken-z.B. im nicht linearen Bereich wie Intermarket ...
Warum sind SVMs da schwach bzw NNs besonders gut ?

MartinP Männlich

Meister

Registrierungsdatum: 13. März 2007

Beiträge: 690

Wohnort: Köln

78

Montag, 1. September 2008, 15:20

Hallo Torsten,

danke für deine Unterstützung. Nach deinen Hinweisen konnte ich bei mir das lauffähige HS noch nicht rekonstruieren. Vielleicht unterscheiden sich bei uns ja Versionen von irgendwelchen kleinen Programmstückchen :wacko: .

Aber erstmal klappt es.

Herzliche Grüße

Martin

Registrierungsdatum: 30. August 2002

Beiträge: 8 155

Wohnort: Trade-Planet

79

Montag, 1. September 2008, 19:25

@upgap

Eine Frage vorab: Arbeitest Du mit Investox? Nicht das davon meine Antwort abhängig ist aber Investox funktioniert im Gegensatz zu vergleichbaren Programmen in Bezug auf das Handling anders als die meisten vergleichbaren Softwareprodukte! Mit ist bekannt, das diverse Softwares die komplette Verarbeitung im Hintergrund ausführen und man nur das Ergebnis INPUT-OUTPUT zu sehen bekommt-eventuell noch den live Trainingsvorgang,die Korrelation visualisieren kann! Zudem werden oftmals NN und statistische Auswertungen intern aufbereitet und erscheinen lediglich als Output! SVM und NN unterscheiden sich grundsätzlich in der Art des Lernverfahrens,dem Algorithmus und den daraus resultierenden Testmethoden. Dennoch haben sie,insbesondere in Bezuf auf Curve Fitting,viele Gemeinsamkeiten! Meinst Du mit Unterschied die mathematische Berechnung oder wie sich Vorteile NN vs SVM in der Praxis auswirken?

@Martin & Torsten

Ich versuche das ganze noch näher zu beschreiben. Ich habe den ROC (aus speziellen Gründen) nicht mittels BT berechnet, sondern ex-importiert,als Titel angelegt und habe keine Probleme!
Happy Trading

upgap

unregistriert

80

Dienstag, 2. September 2008, 09:31

Jo, ich arbeite mit Investox. (immerhin befinden wir uns einem Investoxforum ;)
[Kaufdatum entspricht etwa dem Registrierungsdatum für dieses Forum, mit jahrelanger Investox Erfahrung kann ich nicht aufwarten]

Noe, Praxis.
Theorie ist mir (ganz gut) bekannt.

Ähnliche Themen