Dienstag, 16. April 2024, 22:19 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

121

Freitag, 26. September 2008, 11:01

Im NN-Modul gibt es die Möglichkeit den Output zu glätten oder logarithmisch zu dämpfen. Die logarithmische Dämpfung soll kurz beschrieben extreme Ausschlägen Spikes abmildern und kleinere Bewegungen dämpfen,so das nicht ständig Fehlsignale entstehen. Die Glättung ist allerdings mit Vorsicht zu genießen. In den meisten Fällen werden sich mittels Glättung:


  • Absolute Abweichung:
    Quadratische Abweichung:
    Prozentuale Abweichung:
    Treffer
    Korrelation


verbessern und

  • Trivial-Test:
    Random-Walk-Test


etwas verschlechtern aber dennoch besteht die Gefahr, wichtige Signale herauszufiltern! Man hat bei der Glättung keinerlei Kontrolle, was man herausfiltert und muss sich mit der Methode Trial and Error herantasteten! In der anschließenden Grafik habe ich versucht,das ganze mit Hilfe des Histogramm-Vorzeichenwechsel zu visualisieren, wie Signale wichtige Signale durch Glättung eliminiert werden können!
»Udo« hat folgendes Bild angehängt:
  • VZ-Histo.png
Happy Trading

chied

unregistriert

122

Freitag, 26. September 2008, 11:06

Udo,
habe eben den Test mit Ref ohne Minus durchgefürt. Die KK war doppelt so profitabel bei halbiertem DD und und das NN ist grafisch nicht weitergelaufen als die NN mit Minus und Ref 0.
Die NN mit Ref -1 laufen um einen Tag weiter, die NN mit Ref mit -2 laufen um 2 Tage weiter etc etc..

gruss

MartinP Männlich

Meister

Registrierungsdatum: 13. März 2007

Beiträge: 690

Wohnort: Köln

123

Sonntag, 28. September 2008, 11:43

Traue keinen fremden (externen) Wavelets

Hallo zusammen,

Ich habe mich am Wochenende ein wenig mit den Wavelets beschäftigt. Dabei versuchte ich, die Indikatoren aus der Excel-Implementierung der A-Trous Wavelets von www.foretrade.com/wavelet.htm auf Investox zu übertragen.

Diese Wavelets schauen eindeutig in die Zukunft. Es ist das gleiche Spiel, das den meisten hier durch einen Indikator wie den ZickZag bekannt sein sollte. Insbesondere durch die Auslagerung der Berechnung nach Excel ist es jedoch schwer, dies innerhalb von Investox zu erkennen. In Excel wäre es jedoch leicht gewesen - aber das werde ich gleich einem Beispiel zeigen.

Bei den Wavelets geschieht die Berechnung über den gesamten verfügbaren Zeithorizont. Dies bedeutet, dass das, was ich bei einem Handelssystem in Investox als Kontrollzentrum definiere, für die Berechnung immer mitverwendet wird. Dadurch können sich dann ganz hervorragende Handelssysteme entwickeln lassen. Leider brechen diese dann bei jedem neuen Schritt in die wirkliche Zukunft ein.

Aufgefallen ist mir dies, als ich eine Zwischenberechnung der Wavelets in Investox als Indikator für ein Handelssystem verwenden wollte. Die Ergebnisse waren einfach zu gut. Bei einer Trefferquote von 100 % werde ich einfach skeptisch.

Hier ist das Ergebnis meines Handelssystem:



MiniDJ auf Tagesbasis :D

Aber nun zu dem einfachen Weg über Excel zu erkennen, dass die Berechnung der Wavelets in die Zukunft schaut.

Ich habe in einer kurzen Zeitreihe von 100 Einträgen die Ergebnisse der Wavelets markiert. Im nächsten Schritt füge ich die nächsten 10 Sätze in die Excel Tabelle ein. Insgesamt habe ich jetzt also 125 Sätze. Das bemerkenswerte ist, dass sich die Wavelets-Berechnungen für den 100. Satz in beiden Fällen sehr stark unterscheiden. Dieses Phänomen ist leicht zu verstehen, in beiden Fällen werden jeweils alle bekannten Datensätze der Berechnung herangezogen. Wenn man nur 100 Datenreihen hat kein der 100. Satz bei der Berechnung nicht berücksichtigen was bei 101-125 noch passiert. Wenn man hingegen mit 125 Datenreihen rechnet sind die Werte für 101-125 hingegen schon bekannt. Und die beeinflussen natürlich die schöne gezeichnete Welle (Wavelets).

Damit möchte ich natürlich nicht behaupten, dass Wavelets für den Einsatz in Zeitreihen überhaupt keinen Sinn machen würden. Die grundsätzliche Eignung möchte ich aber zumindest etwas infrage stellen. Was machen Wavelets eigentlich. Wavelets dienen dazu, in einer bestehenden Datenreihen Störungen (Rauschen) zu glätten. Dies bedeutet, dass die bestehende Datenreihen verschönert wird. Grundsätzlich ist dies ein wünschenswerte Effekt. Wenn wir hingegen betrachten was wir für unsere Handelssysteme benötigen ist es weniger eine Beschönigung des Kurvenverlaufs der Vergangenheit, sondern eine hoffentlich stimmende Schätzung für die Zukunft. Und die Zukunft beginnt genau dort, wo die Grenze des Intervalls unseres Wavelets liegt.

Das mitgelieferte Beispiel liefert bei genau 100 Sätzen für den letzten Satz die Schätzung
WFilt1 WFilt2 WFilt3
2,916 2,916 2,916

Bei 125 Sätzen ändert sich das Ergebnis den 100. Satzen wesentlich zu:
WFilt1 WFilt2 WFilt3
2,483 2,483 2,483

Diese Schwankungen entstehen - wie beim ZigZag - am stärksten am Ende des Zeithorizontes.

Meine bisherigen Betrachtungen beziehen sich aber selbst verständlich nur auf die Umsetzungen der Wavelets gemäß Xx. Insbesondere gibt es zahlreiche neuere mathematische Verfahren. Wie diese sich als Indikatoren in Investox machen würden kann ich überhaupt nicht beurteilen.

Herzliche Grüße

martin

Registrierungsdatum: 30. August 2002

Beiträge: 8 155

Wohnort: Trade-Planet

124

Sonntag, 28. September 2008, 12:21

Hallo Roger,

Ich denke dass es sich bei dem Problem um ein rein visuelles Problem handelt. Um das Ganze aber exakt abschätzen zu können müsste man das System und die Datendateien zur Verfügung haben! Du kannst das selbst einmal visualisieren, in denen du einen beliebigen Indikator in einen Teilchart einfügt und einmal mit REF minus eins und einmal mit REF eins berechnest du wirst feststellen, dass sich der Indikator einmal um eine Periode zurück bewegt und einmal eine Periode in die Zukunft geschoben wird!

Zu meinem Test:

Für den Test werde ich zwei Underlyings verwenden. Damit das Ganze nicht in Stress ausartet, werde ich End of Day Daten verwenden. Was genau geprüft werden soll und wie der Test abläuft schreibe ich in Kürze in den Blog.

@Martin

Gerade als ich meinen Beitrag abschieben wollte habe ich gesehen, dass du einen umfangreichen Beitrag zu den Wavelets geschrieben hast. Ich muss mir das später einmal noch genau durchlesen. Aber das traue keiner fremden Software Manko ist ein wirkliches Problem! Ich denke es kommt darauf an, die man diese Methode implementiert.Ich habe in statistischer Software auch schon neuronale Netze gesehen, die den gesamten Output bei reduzierten Datenbestand ändern- ohne neues Training! Die wirkliche Ergebnisse die man damit erzielen kann bekommt man leider nur über einen Feed Forward Test! Interessant ist auch ein Test, indem man eine Zeitreihen komplett überoptimiert und letzten Datenpunkt in ein neuronales Netz eingibt!Allerdings, muss man diesen überoptimierten Test auch in einem Feed Forward Test prüfen. Eventuell wird das mein nächstes Testvorhaben sein...

Hast du schon einmal versucht, mit SVM nicht direkt am Underlying zu testen, sondern einen oszillierenden Indikator zu prognostizieren? Bei SVM gehe ich weniger davon aus, dass diese Methode mehr bringt, als die Berechnung direkt auf das Underlying direkt durchzuführen. Grund ist der Algorithmus, der nicht wie bei neuronalen Netzen Gradientenabstieg berechnet. Allerdings ist mir auch nicht ganz klar inwiefern man SVM durch Rauschen der Kurse beeinflussen kann oder nicht! Wie wir schon einmal festgestellt haben , scheint die Form der zu testen den Historien der wesentliche Knackpunkt zu sein! Dabei spielt es anscheinend keine Rolle ob die Zeitreihe verrauscht ist oder nicht. Hast du schon einmal gemessen, wie tolerant der Algorithmus bei extremen Ausschlägen reagiert? Werden diese Ausschläge direkt im Algorithmus übernommen oder wird dafür ein Toleranzmittelwert berechnet? Wichtig wäre das um abzuschätzen, in welchen Komprimierungen und Zeitreihen man mit SVM überhaupt arbeiten kann!

Noch eine Frage in eigener Sache: Ich glaube du hattest mir damals den Tipp mit Dragon Speak gegeben. Vor einigen Tagen habe ich gesehen, das ist jetzt schon Version 10 gibt! Ich habe diese Version näher betrachtet, ein Video dazu angesehen das mich sehr begeistert hat! Hast du Version 10 schon einmal getestet? Soll ja sehr fulminant sein, mit kabelloser Datenübertragung genauso gut funktionieren wie mit, und sogar Dialekt und eine nicht deutliche Aussprache erkennen!
Happy Trading

MartinP Männlich

Meister

Registrierungsdatum: 13. März 2007

Beiträge: 690

Wohnort: Köln

125

Sonntag, 28. September 2008, 12:36

@Udo,

nur kurz vorab: Der letzte Beitrag ist mit Dragon "gesprochen" 8)

Gruß

Martin

Registrierungsdatum: 30. August 2002

Beiträge: 8 155

Wohnort: Trade-Planet

126

Sonntag, 28. September 2008, 13:04

Hallo Martin,

super.... mein Text auch!:) Hast du Version 10? Das Schöne daran ist, dass eventuell die Grammatik nicht immer stimmt aber Rechtschreibfehler so gut wie ausgeschlossen sind! Vielleicht sollte ich mir auch einmal hoch qualitatives Headset besorgen damit die Qualität noch besser wird! Momentan verwende ich ein kabelgebundenes mittelklasse Headset von Logitech!
Happy Trading

MartinP Männlich

Meister

Registrierungsdatum: 13. März 2007

Beiträge: 690

Wohnort: Köln

127

Sonntag, 28. September 2008, 13:49

Hallo Udo,

Ich arbeite bereits mit der neuen Version 10. Meines Erachtens nach ist die Qualität der Spracherkennung deutlich besser geworden. Darüberhinaus habe ich eines der besseren, digitalen USB-Mikrofone. Damit ist die Qualität nochmal um einiges besser im Vergleich zu den einfachen analogen Mikrofonen die man an der Soundkarte anschließt. Mit der neuen Version habe ich mir das seit mit dem kabellosen Headset gekauft. Es war ein ganz nettes Feature, aber die Qualität kommt beim besten willen nicht an das Headset mit Kabel heran.

Noch eine kurze Bemerkung zur Rechtschreibung. Bei den Texten fällt mir deutlich auf, dass du des Öfteren mit einer Spracherkennung arbeitet. Deine Rechtschreibung ist immer 1 A. Das gemeine ist nur, dass sich, ohne das man es beachtet, richtig geschriebene, aber vom Sinn her nicht passende Worte einschleichen.

Herzliche Grüße

Martin

MartinP Männlich

Meister

Registrierungsdatum: 13. März 2007

Beiträge: 690

Wohnort: Köln

128

Sonntag, 28. September 2008, 15:53

@Udo,

bzgl. des Einsatzes von SVM mit einem oszillierenden Indikator als Input. Welchen Indikator oder welche Kombination würdest du vorschagen?

Gruß

Martin

chied

unregistriert

129

Sonntag, 28. September 2008, 21:23

Hallo zusammen

kann mir jemand bitte nur kurz sagen, wie ich folgenden Fehler beheben kann:

Fehler beim Training aufgetreten: Index außerhalb des gültigen Bereichs

Die Fehlermeldung tritt ein, weil ich die Wavelets für den Input des NN testhalber auf den 1.1.2007 begrenzt habe...

Vielen Dank und

beste Grüsse

roger

Registrierungsdatum: 30. August 2002

Beiträge: 8 155

Wohnort: Trade-Planet

130

Montag, 29. September 2008, 23:36

Hallo Roger,

Es handelt sich dabei um ein Synchronisationsproblem der Zeit, dessen genaue Ursache leider nicht durch Ferndiagnose ermittelt werden kann!

Vor kurzer Zeit habe ich eine DAX Analyse mittels S S A vorgestellt! Leider ist, zum Leid der einen und zur Freude der anderen die Prognose bislang eingetreten! Zwar zeitlich etwas verfrüht, dennoch wurde der Wert erreicht! Im DAX Future konnte man auch ohne Indikatoren sehen, dass dieser weiter einbrechen wird! Es hat sich eine, schon über Jahre beobachtete Konstellation herauskristallisiert, die eine relativ hohe Trefferquote aufweist. Dabei handelt es sich um einen vorausgegangenen Kursrutsch, mit einer kurzen Erholung die zirka 35-40 Prozent der Kursrutsch-Handelsspanne ausmacht, und dabei das Tief der Handelsspanne erneut unterschreitet! Nach signifikanter kann man dieses Muster mit Markt plus klassifizieren, aber das soll hier nicht das Thema sein!

In der beigefügten Grafik habe ich die Konstellation markiert! Ein weiteres Signal machte sich schon am Donnerstag bemerkbar. Im End of Day Chart, den ich ebenfalls beigefügt habe, sieht man am Donnerstag ein sehr hohes Volumen. Da dieses signifikant erhöhte Volumen im Grunde kaum Reaktion beim Close Kurs auslöste, kann man davon ausgehen, dass eine hohe Anzahl von Kontrakte hin und hergeschoben wurden, ohne nennenswerten Bodengewinn. Zu diesem Zeitpunkt konnte man angesichts dieses vorgestellten Charts nicht erkennen, ob sich Offer oder Seller eingedeckt haben.Für diese Analysen gibt es Mark plus, auf dass ich an dieser Stelle aber nicht näher eingehen möchte.Auf diese Konstellationen sollte man immer relativ gut beachten was, wie man im Nachhinein sieht, nicht verkehrt war!

Dies hat zwar nun alles nichts mit neuronalen Netzen zu tun, ich wollte er sich aber dennoch aufgrund der genannten SSA Analyse nocheinmal hier aufrollen. Man sieht hieran auch, dass es nicht immer notwendig ist hoch wissenschaftliche Indikatoren und Systemsignale zu nutzen, wenn man umfangreichen Research für einen Indice betreibt! Zudem sollte man immer die Gesamtsituation am Markt betrachten und die Muster und Konstellationen der Gesamtsituation unterordnen. Genau dieser Punkt ist beim System Trading entweder sehr schwer-oder gar nicht zu modellieren! Allerdings sollte man beachten, dass es sich derzeit um eine Börsen-Ausnahmesituation handelt, die von Entscheidungen abhängig ist! Angenommen in USA wird noch heute Nacht eine Lösung zur Finanzierung der Bankenkrise gefunden, wird es morgen früh einen mächtigen Return geben. Sollte die Krise weiter schwelen,ohne dass Kompromisse gefunden werden sind weitere Kursstürze zu befürchten, wobei der weltweite Domino Effekt nicht absehbar ist! Wie man heute gehört hat , ist ja nun auch der erste DAX Wert betroffen....

Martin, danke für die Informationen zu NaturallySpeaking Version 10! Das Tool gibt es momentan zum Einführungspreis wobei ich aber anmerken muss, dass ein hochwertiges Sennheiser Headset ungefähr den gleichen Preis kostet! Aber ich denke, du hast mich überredet! Die Beiträge, die ich in der Handelszeit schreibe sind meistens mit der Tastatur eingegeben! :)
»Udo« hat folgende Bilder angehängt:
  • FDAXEod.png
  • FDAX-Iday.png
Happy Trading

Registrierungsdatum: 30. August 2002

Beiträge: 8 155

Wohnort: Trade-Planet

131

Dienstag, 30. September 2008, 10:33

Aufgrund der Turbulenzen an den Märkten, werde ich den angekündigten SSA Test etwas weiter nach hinten verschieben müssen! Der Grund ist, dass Prognosen, sowie ich jetzt testen möchte, in chaotischen Märkten nicht funktionieren! Da sich der Testzeitraum unmittelbar vor den aktuellen Daten befindet und sehr kurz gehalten wird, könnte die Prognose entweder stark steigende Kurse oder stark fallende Kurse ausgeben, was aber nicht den tatsächlichen Verlauf einer normalisierten Börse widerspiegelt! Auf jeden Fall möchte ich die Gefahr, dass sich die Prognose auf Autokorrelation bezieht, vermeiden! Alternativ werde ich einen für die Börsesituation zugeschnittenen Test durchführen. Dieser soll, im Gegensatz zum angekündigten Test prüfen, wie SSA mit Zeiträumen umgehen kann,da es sich gerase anbietet. Es soll ein extrem kurzer Zeitraum angesetzt werden und in Test zwei ein mittelfristiger Zeitraum! Beide Prognoseergebnisse werden einem neuronalen Netz vorgehalten, die Zeiträume trainiert und verglichen, ob das neuronale Netz gegenüber SSA die Prognose steigert oder weiter verfehlt. SSA wird im Lernzeitraum den neuronalen Netz die optimalen Datenpunkte vorhalten! Somit kann zusätzlich geprüft werden, ob das neuronale Netz aufgrund der optimalen Datenpunktlage dazu fähig ist, eine mögliche SSA Prognose wenn notwendig zu korrigieren! Alternativ könnte man als Crosstest den Output des neuronalen Netzes mit SSA prüfen!

Übrigens: Von Autokorrelation kann man im weitesten Sinne auch davon ausgehen, wenn man Zeitreihe in Samples unterteilt, die einzelnen Samples mit der Kursmusteranalyse ab greift, um damit Schablonen für das neuronale Netz erstellt! Ihr werdet feststellen, dass bei dieser Konstellation der Lernzeitraum eine enorm hohe Trefferquote bringt und das neuronale Netz übertrainiert ist!
Happy Trading

chied

unregistriert

132

Dienstag, 30. September 2008, 14:21

Hallo Udo und Martin

wollte mich nur für mein fernbleiben entschuldigen...
Sobald sich die Märkte beruhigt haben, werde ich sicher Zeit zur Beantwortung der Postings vom Wochenende finden.

Ansonsten wünsche ich weiterhin allen Hals- und Beinbruch!

viele Grüsse

Roger

Registrierungsdatum: 30. August 2002

Beiträge: 8 155

Wohnort: Trade-Planet

133

Dienstag, 30. September 2008, 14:49

Hallo Roger,

Ich hoffe dich hat es in den turbulenten Märkten nicht erwischt! Es kann aufgrund chaotischer Meldungen jeden treffen ob diskretionärer -oder Systemtrader! Momentan hat sich das Geschehen wieder etwas beruhigt und wenn man bedenkt das in den aktuellen Kursverlusten die Zukunft eingepreist ist, sprich das Worst Case Szenario, dürfte es sich wieder etwas beruhigen! Zumal ich nicht glaube dass seitens der USA keine Rettungsaktion gestattet wird. Es ist dort momentan, vor den Präsidentschaftswahlen eine schwierige Situation, da sich keiner der Kandidaten die Finger verbrennen will. Wie will man den Amerikanern klarmachen, dass sie für Fehlspekulationen und faule Kredite Milliarden Steuergeldern bezahlen sollen! Hals und Beinbruch und einen Fallschirm kann man jetzt sicherlich gut gebrauchen!

Wünsche dir auch noch eine erfolgreiche Woche!
Happy Trading

Registrierungsdatum: 30. August 2002

Beiträge: 8 155

Wohnort: Trade-Planet

134

Freitag, 3. Oktober 2008, 01:17

Hallo zusammen,

In der anschließenden Grafik seht Ihr ein neuronales Netz für den DAX Future! Das System ist real handelbar und blickt, trotz der enormen Zuwachsquote (3 Kontrakte) nicht in die Zukunft! Im Robustheitstest zeigt sich sehr stabil, was man auch an noch nicht näher genannten anderen Eigenheiten festmachen kann! Warum man aber dennoch nicht zufrieden sein kann, möchte ich bei Gelegenheit als nächstes Thema ansprechen! Aber zuerst steht noch der SSA Test an....


Happy Trading

Registrierungsdatum: 30. August 2002

Beiträge: 8 155

Wohnort: Trade-Planet

135

Freitag, 10. Oktober 2008, 10:45

In einem vorherigen Beitrag hatte ich einmal erwähnt, dass es sehr wichtig ist die Daten vorzubereiten und zu normieren! Vorbereitete und normierte Daten tragen im hohen Maß zur Stabilität des neuronalen Netzes bei! Stabilität zeichnet sich oftmals ab, wenn man den Output im Handelssystem mit genetischen Algorithmen optimiert, und die Performance in Form der Kapitalkurve, keine große Schwankungsbreite aufweist. Das heißt, dass beispielsweise nach 20 Optimierungs Durchgängen der Testzeitraum nicht einmal negativ, einmal positiv, einmal stark performt, oder einmal schwach performt! Wenn das der Fall ist, so meine Feststellung bei Time Investox-NN Modul, kann man zwar weiter modellieren aber tatsächliche Stabilität wird man nicht erreichen! Das wirkt sich besonders dann nachteilig aus, wenn das Netz nachtrainiert werden muss! Die Schwankungsbreite im Testzeitraum sollte nicht dazu führen, dass hier Verluste eingefahren werden, und dann mittels Optimierungs Künste übertüncht werden. Wenn man den Output optimiert, sollte dieser während der gesamten Optimierungs Phase im positiven Bereich bleiben, ohne große Schwankungen aufzuweisen! Wenn ein Output in primären Einstellungen sehr stabil ist, kann man auch die Gewichte sowie die Samples steigern! Eine extrem hohe Stabilität des primären Output wird die Performance mit diesen Maßnahmen verbessern! Ist der Output primär instabil wird eventuell bei einigen Optimierungs-Generationen die Performance im Testzeitraum verbessert aber auch extrem verschlechtert! Zeichnet sich bei einem neuronalen Netz letztgenanntes ab, sollte man meiner Ansicht nicht daran feilen ist es irgend wann einmal passt, sondern die Inputs nocheinmal gründlich überarbeiten! Die Inputs und deren Vorbereitung tragen 80 bis 90% zur Generalisierungsfähigkeit des neuronalen Netzes bei! Die Erkenntnis daraus ist, das man mit sehr kleinen Modellen startet die schon im Vorfeld eine stabile Basis bieten und die Performance mit der Netzwerkstruktur etwas optimieren kann! Bedenken habe ich nach wie vor bei der Optimierung der Gewichte mittels genetischer Algorithmen direkt beim Training des neuronalen Netzes! Dein neuronales Netz ohnehin eine Blackbox beinhaltet, wird die tatsächliche Leistung des Netzes durch Optimierung der Gewichte nocheinmal verwaschen! Geht man so vor, sollte man ein extrem gutes Money-und Risikomanagement haben, da diese Netze sehr anfällig sein können!

In den folgenden beiden Grafiken seht Ihr zwei Intermarket-Netze, die bis auf die Normalisierung und Aufbereitung der Inputs identisch sind. Der Output wurde mit genetischen Algorithmen im Handelssystem optimiert. Im nicht normierten Netz, wurden auch nach 50 Optimierungs-Generationen die Performance des Netzes mit den vorbereiteten Daten nicht erreicht und zudem zeigten sich bei der Optimierung im Gegensatz zum vorbereiteten Netz, erhebliche Instabilitäten! Die Fitnesskriterien waren bei beiden Optimierungen identisch!


Happy Trading

chied

unregistriert

136

Freitag, 10. Oktober 2008, 11:29

Hallo Udo!

Vielen Dank für den tollen Beitrag. Sorry noch einmal an dich und Martin das ich so lange weg war. Kämpfe immer noch mit der aktuellen Hektik an den Märkten.
Zum Glück aber noch sehr profitabel : )

Du hast mir mit deinen Beiträgen in diesem Thread wirklich schon sehr bei der Entwicklung geholfen.

Die Ergenisse in deinem letzten Beitrag sind verblüfend. Ich bin sehr erstaunt, dass die Normierung einen derart grossen Einfluss hat.
Leider habe ich aber noch immer nicht ganz verstanden, was du mit Normierung meinst bzw. wie du diese konkret umsetzt.
Kann es sein, dass du dabei die Intermarkettitel innerhalb der Inputschablonen quasi mit einem GD glättest, oder wie gehst du da vor?

Viele Grüsse

Roger

Registrierungsdatum: 30. August 2002

Beiträge: 8 155

Wohnort: Trade-Planet

137

Samstag, 11. Oktober 2008, 15:56

Hallo Roger

Sorry noch einmal an dich und Martin das ich so lange weg war. Kämpfe immer noch mit der aktuellen Hektik an den Märkten.
Keine Ursache! Da ging ganz kräftig die Post ab! :D


Zum Glück aber noch sehr profitabel : )

Freut mich! :)

Ich versuche die Differenzberechnung in einem Bereich zwischen null und eins oder eins und minus eins zu transformieren. Entweder es gelingt mit einer Differenzberechnung und eine Division, oder gleich eine Division der beiden Werte! Möglich wäre auch, die relative Stärke (RS) von zwei Werten heranzuziehen!

Sie sieht in der Regel so aus:

Wert minus Wert dividiert durch Teiler (z.B. 10, 100)

Oder

Wert dividiert Wert

Man kann eine Berechnung die zwischen einem positiven und negativen Wert liegen soll auch in den Rock eingeben und diesen beispielsweise durch 10 dividieren, wenn der Teiler das Ergebnis in einem Bereich zwischen eins und minus eins transformiert. Das kann man vorher in einem Teilchart prüfen! Davon abgesehen, sollte jedes Ergebnis vergleichbarer werde im Bereich zwischen eins und minus eins oder null und eins liegen! Inputs, die nach einer Division oder Subtraktion einmal einen hohen tausender Wert liefern, einmal einen Wert im Hunderter Bereich und dann wieder in Zehntel Bereich, sollte man vermeiden da dies zu stärkeren Schwankungen des Outputs führen kann. Der optimale Output arbeitet im Bereich zwischen eins und minus eins, und wenn es ganz optimal läuft sollte beim cross der Nulllinie die maximale Performance geliefert werden!

Wenn man den Output nachher im Handelssystem mit genetischen Algorithmen optimiert, sollten wie schon oben angesprochen, die Profite-Schwankungen in den einzelnen Generationen nicht extrem hoch sein, oder einmal Gewinn und einmal Verlust aufweisen! Meine Feststellung zur Stabilität, ohne großen Rechenaufwand zu machen und statistische Formeln zu bemühen ist, dass ein System Stabilität aufweist, wenn man versucht es mit genetischen Algorithmen überzuoptimieren und dies kaum möglich ist. Gleiches gilt für das neuronale Netz. Ein Netz, das stabil ist wird ab einer bestimmten Anzahl an Gewichten nicht mehr besser, überoptimiert aber auch selten! Wenn ein Netz extrem modelliert ist, und versucht wird die oberflächliche Rauheit zu manipulieren, bleibt im Kernbereich das Netz immer noch überoptimiert! Bei einem erneuten Training, werden die Probleme sichtbar. Es empfiehlt sich auch, ein Netz immer und immer wieder zu trainieren und zu prüfen, ob es die Stabilität beibehält!

Das neuronale Netz sucht einen Initialeneinstieg, der zufällig gewählt wird! Daher werden die Ergebnisse von zwei sonst gleichen Netzen unterschiedlich sein! Dieses Phänomen, nebenbei bemerkt, hat man bei SVM nicht! Bei den genannten Test werden die Ergebnisse zwar auch unterschiedlich sein aber sie sollten nur in geringem Maße voneinander abweichen! Auf jeden Fall sollte jedes Training im Testzeitraum mit Gewinn abschließen! Hinsichtlich der Stabilität wird es schon bedenklich, wenn beim x-ten Trainings Durchlauf das Netz auf einmal einbricht ohne dass die Inputvariablen im Handelssystem optimiert oder geändert wurden! Das sind so kleine Merkmale, die man im Vorfeld ohne großartige mathematische Verfahren anzuwenden, sehen kann! Optimal wäre hier natürlich, wenn der Trainings Ablauf live visualisiert wird! Das heißt man kann beobachten, ob sich das Input-Paket an den Output annähert, entfernt, oder im gleichen Abstand zum Output verläuft. Danach kann man im Vorfeld beurteilen, ob es sich um die richtige Kombination bei den Inputs handelt! Es gilt aber auch zu bedenken, dass die Aufbereitung der Inputs einen mindestens 40 prozentigen Anteil an der Prognosequalität eines neuronalen Netzes ausmacht! Das Kernstück für die Qualität des neuronalen Netzes ist aber die Auswahl des Inputs! Und wie schon oben geschrieben, sollte man die Qualität des neuronalen Netzes natürlich nicht aus einer Optimierung der Gewichte ableiten, indem man die beste Generation selektiert! Wenn man so verfährt, sollte man alle Selektionen betrachten und die Bandbreite der Performance im Testzeitraum beurteilen! Bei dem gezeigten Netz, liefern nur drei Inter Markets Zahlen!
Happy Trading

chied

unregistriert

138

Montag, 13. Oktober 2008, 09:21

Guten Morgen Udo!

>> Bei dem gezeigten Netz, liefern nur drei Inter Markets Zahlen!
Woow!!

>> Aufbereitung der Inputs einen mindestens 40 prozentigen Anteil an der Prognosequalität eines neuronalen Netzes ausmacht!
Diese Zahl erstaunt mich in stimmt mich sehr zuversichtlich! : )

>>Inputs, die nach einer Division oder Subtraktion einmal einen hohen tausender Wert liefern, einmal einen Wert im Hunderter Bereich und dann wieder in Zehntel Bereich, sollte man vermeiden da dies zu stärkeren Schwankungen des Outputs führen kann.
Heisst das, dass du deine Inputs "nur" in einer Divisions- oder Subtraktionsregel einsetzt, oder wäre es bspw. auch sinnvoll eine Divison im Rahmen einer ROC Brechnung folgendermassen anzuwenden:

ROC(Close("DOW JONES -N")/CLOSE,[5],%); oder sieht deine Inputstrategie "nur" folgende Formel vor:
("DOW JONES -N")/CLOSE oder (("DOW JONES -N")- CLOSE)/100

Ich habe leider noch nicht ganz verstanden, ob und wie du die Normierungsmethode in einem Input mit weiteren Indikatoren einsetzt.

Viele Grüsse und eine erfolgreiche Woche!

Roger

Registrierungsdatum: 30. August 2002

Beiträge: 8 155

Wohnort: Trade-Planet

139

Montag, 13. Oktober 2008, 23:30

Hallo Roger,

Die Formel, in der du die Berechnung mit dem Roc einsetzt, kann man durchaus zu verwenden. Allerdings muss man bedenken, dass der Indikator, je nachdem auf welches Pair er sich bezieht, Ausschläge weit über die Grenzen von 1/minus 1 generieren kann! Die Formeln die ich oben genannt habe, sind nur simple Hilfen um die Werte, in die für das neuronale Netz verständliche Skalierung zwischen null und eins beziehungsweise minus 1/1 zu transformieren! Professioneller geht das mit Statistikprogrammen.Origin beispielsweise bietet mehrere unterschiedliche Normalisierungsverfahren! Im Anhang sind zwei Grafiken die ich mit einem kleineren Statistikprogrammen erstellt habe. In Grafik eins sieht man einen fünf Perioden ROC auf den DAX Future. Betrachtet man die Y.-Achse sieht man das sie Ausschläge weit über 100/-100 liegen! In der zweiten Grafik wurde der ROC mit Hilfe des Statistikprogrammes normalisiert! Der Indikator pendelt jetzt zwischen null und eins. Mit Origin ist es möglich den Indikator auf den .-Achsen Skalenwert zwischen 1/1 zu normalisieren! Ein in Investox enthaltener Indikator, die Korrelation, pendelt ebenfalls zwischen null und eins! Die Korrelation kann dazu verwendet werden, das Verhältnis von zwei Zeitreihen, oder einer Zeitreihe und einem Indikator, oder Indikator mit Indikator vergleichen und dem neuronalen Netz vorzuhalten!

Wichtig ist (zumindest für mich) dass die Daten so vorbereitet werden, das sie für den NN Backprop-Algorithmus in einem verständlichen Wertbereich pendeln! Hat man beispielsweise fünf Inputschablonen und die Berechnungen in den Schablonen ergeben Werte zwischen 0,1 und 500, wird es für den Algorithmus schwer Fehlerminimierung zu betreiben! Leider kann ich nicht genau sagen, was Investox seitens der Aufbereitung und Datenvorbereitung exakt durchführt, da man die vorbereiteten Daten nicht sieht, und die Annäherung während des Trainings nicht visualisiert werden kann! Wenn man das neuronale Netz mit Indikatoren vollstopft, muss man darauf achten das man bei einer Auswahl von beispielsweise fünf Indikatoren nicht fünf verwendet, die den neuronalen Netz exakt die gleiche Informationen liefern! Aber genau das tun die meisten Indikatoren. Zudem neigt das neuronale Netz bei zu vielen Indikatoren sehr schnell zum Curve Fitting! Ein neuronale Netz das schon im Anfangsstadium, das heißt mit wenig Gewichten in der Startsequenz fittet, sollte man nicht mit hohem Zeitaufwand weiter bearbeiten und versuchen es durch Klein-Klein Modellierung doch noch profitabel zu bekommen, sondern neu strukturieren indem man die Inputs austauscht!

Auch dir eine erfolgreiche Woche! Falls du heute Long warst, kannst ja schon Feierabend für diese Woche machen.. :D
»Udo« hat folgende Bilder angehängt:
  • roc-a.png
  • roc-b.png
Happy Trading

chied

unregistriert

140

Mittwoch, 15. Oktober 2008, 16:25

Hallo Udo

>>Auch dir eine erfolgreiche Woche! Falls du heute Long warst, kannst ja schon Feierabend für diese Woche machen..
...jetzt sind wohl leider eher Überstunden angesagt.. ; )

In deinem Bsp zeigst du den absoluten Wert der RoC. Falls man jedoch den %-Wert der RoC nimmt, so würden sich die Schwankungen doch auch zwischen +1/-1
bewegen. 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?

Wie würdest du aber deine Formeln

>> Wert minus Wert dividiert durch Teiler (z.B. 10, 100)
Oder
Wert dividiert Wert

im Falle einer Divergenzberechnung anwenden um die Inputs zu normieren?

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

Da sich der Divergenz Indikator zwischen 0 und 100 bewegt hätte ich die Formel folgendermassen umgeschrieben:

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

Für einen Verbesserungsvorschlag bin ich wie immer unheimlich dankbar.

beste Grüsse

Roger

Ähnliche Themen