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

MartinP Männlich

Meister

Registrierungsdatum: 13. März 2007

Beiträge: 690

Wohnort: Köln

1

Sonntag, 23. November 2008, 17:31

Wavelet Indikator für Investox

Hallo zusammen,

Vor einigen Wochen ist hier sehr viel über Handelssysteme auf der Grundlage von Wavelets (SSA) diskutiert und auch gezeigt worden. Leider war so, dass die Aufbereitung der Daten für die Wavelets in Investox selber nicht möglich ist. Im Internet - www.foretrade.com - gibt es nun einen Anbieter der mehrere Algorithmen Wavelets in Excel integriert anbietet. Einen dieser Algorithmen - ATrous - habe ich nun genommen und kurzerhand als VB-Skript für Investox um programmiert.

Den Indikator habe ich entsprechend eines Excel-Beispiels der Internetseite verwendet. Diese Verwendung ist ein Handelssystem leicht erkennbar.

Hier mal die Kapitalkurve bei einfacher Verwendung des Indis ohne weiter über seine Eigenheiten nachzudenken:



Das verwendete HS hatte als Titel den Bund als EoD System.

Als Grundlage für ein Handelssystem taugt dieser Indikator wirklich nur sehr eingeschränkt. Das Problem ist, dass der Indikator zwar hervorragend glättet aber leider auf eine heimtückische Weise in die Zukunft schaut. Das Problem ist, dass er für die Glättung stets alle verfügbaren Datensätze verwendet. Dies bedeutet einfach mit Ref(xx, -yyy) zu arbeiten hilft uns an der Stelle überhaupt nicht weiter. Die einzige Möglichkeit in diesem Zusammenhang sauber zu bleiben ist leider mit der Simulation von Investox zu arbeiten. Die wunderschöne Kapitalkurve ich beigefügt habe bricht, sobald man eine wirkliche Simulation von Periode zu Periode fährt, in sich zusammen und verkehrt sich in das Gegenteil.

Dies bedeutet aber noch lange nicht, dass der Indikator für bestimmte Zwecke nicht hervorragend eingesetzt werden könnte. Zumindest kann er denjenigen weiterhelfen die heute mit Wavelets experimentieren die Daten aber stets in externes Programm Ex-und wieder importieren müssen.

Den Indikator habe ich in der Database des Forums eingestellt.

Herzliche Grüße

Martin
»MartinP« hat folgende Datei angehängt:
  • ssa.Inv (23,89 kB - 516 mal heruntergeladen - zuletzt: 9. April 2024, 03:32)

ulukai

unregistriert

2

Sonntag, 23. November 2008, 17:46

das sieht wirklich interessant aus,

aber kann man den indikator nicht so einfach verwenden wie, z.b. ein "normaler" gd?

z.b.

gd1>gd2 für long und gd1<gd2 für short

geht das z.b. nicht weil der indiaktor in die zukunft schaut, oder wie?


oder als möglichkeit inputs von NN´s zu glätten ?

wäre echt schade, wenn nicht, und was müsste man denn ändern, damit man den indi für HS und NN´s einsetzen kann??

sten

Experte

Registrierungsdatum: 6. September 2002

Beiträge: 2 879

3

Montag, 24. November 2008, 11:56

Hallo Martin,

erstmal vielen Dank, dass Du den Wavelet-Algorithmus als Investox-Indikator implementiert hast und uns allen zur Verfügung stellst.

Zitat

Global Calc wtx1: ATrous(Close, 6, wtx3);

Global Calc x: wtx1 * StdAbw(Close, 30, 2) + GD(Close, 30, S);

global Calc enterLong: Close < x;
global Calc enterShort: Close > x;

Sorry, irgendwie verstehe ich die x-Berechnung nicht. Was die dopplete Standardabw. ist und die GD-Berechnung schon, aber die Kombination läst mich etwas grübeln. Oder sollte man sich da nicht zu viele Gedanken machen und es einfach so übernehmen.

Zitat

Das Problem ist, dass er für die Glättung stets alle verfügbaren Datensätze verwendet.

Kann man den Algorithmus möglicherweise so modifizieren, dass nur die Datensätze bis zu einem bestimmten Datum verwendet werden. Und das Datum wird als ein weiterer Inputparameter an den Indikator übergeben. Okay, dadurch werden die nachfolgenden Berechnungen immer ungenauer bis das HS dann versagt, aber vielleicht läuft es ja noch ein verwertbares Stück ganz gut weiter.

Viele Grüße
Torsten

Investox

Administrator

Registrierungsdatum: 31. August 2002

Beiträge: 5 680

4

Montag, 24. November 2008, 12:23

Hallo,

ich würde auf jeden Fall auch einen Test mit einer Datenfeed-Simulation empfehlen, um ein Vorausschauen der Berechnung auszuschließen (die Kapitalkurve sieht etwas verdächtig aus).

Viele Grüße

Andreas Knöpfel

MartinP Männlich

Meister

Registrierungsdatum: 13. März 2007

Beiträge: 690

Wohnort: Köln

5

Montag, 24. November 2008, 13:37

Hallo zusammen,
zu Hrn. Knöpfel:
die Datenkurve sieht nicht nur verdächtig aus, sie ist es sogar. Vor einigen Wochen hatte ich dies bei der Diskussion zu SSA mit Hinweis zu diesem Indi schon angedeutet. Es ist einfach so, dass ALLE vorhandenen Sätze genommen werden und die Kurve damit sehr schön wird. Das Verfahren ist m.E.n. vielleicht optimal für die Auswertung der gesamten Datenreihe, aber für Zeitreihenanalysen sollte es noch etwas angepasst werden ;) .

zu Sten:
die Verwendung des Indis ist einfach angelehnt an ein Excel-Beispiel von der Seite www.foretrade.com. Daher möchte ich nichts zum Sinn oder Unsinn sagen.
Die von dir angesprochene Modifikation habe ich schon reinprogrammiert, dann aber in erster Linie aus Performancegründen wieder gecancelt. Der beste Weg mit dem Indi zu arbeiten ist - wie Herr Knöpfel schon sagt - die Simulation.

Viele Grüße

Martin

P.S. wegen der Sicht in die Zukunft! Bitte nicht so für den Handel oder zu verbissenen Test eines HS verwenden.

Registrierungsdatum: 30. August 2002

Beiträge: 8 155

Wohnort: Trade-Planet

6

Montag, 24. November 2008, 15:18

Hallo Martin,

vielen Dank für die Umsetzung des Indikators! Ich gehe davon aus das das Problem das gleiche wie bei Origin ist! Der Wavelet Indikator benötigt für die Berechnung zwei Perioden und rastet dann erst auf einem festen Datenbank ein. Dadurch ist es unmöglich, die Datenpunkte in der Rohform für Handelssysteme zu nutzen! Der Indikator wird immer einen Schritt voraus sein, wenn man ihn nicht, wie das "datsys" vorgestellt wurde, optimiert (soweit man an die Kernberechnung kommt)! Ich werde aber dennoch versuchen auf irgend einer Art und Weise zu nutzen! Ich habe den Indikator in ein neuronales Netz eingefügt wobei die Trefferquote des anschließenden Handelssystems nahezu bei 100 % lag, was deine Aussage 100 % bestätigt! Was mich wundert, ist das selbst wenn man den Indikator dekorreliert in ein neuronales Netz eingefügt, dieses nicht generalisieren kann und die nächsten Datenpunkte überwiegend korrekt prognostiziert! Man kann also besten Fall daraus Nutzen ziehen, wenn man die nächsten 2-3 Tage und handelt und das neuronale Netz erneut trainiert! Für diese Vorgänge ist ein neuronales Netz aber nicht geeignet da die initialen Startpunkte Pseudo sind! Das heißt, mit jedem neuen Training wird man ein anderes Handelssystem bekommen und es wird nie das Optimum sein, sofern man nicht die genetische Algorithmen im neuronalen Netz nutzt! Aber was ich davon halte, habe ich ja schon des Öfteren geschrieben! Für solche Strategien stößt der Backprop -Algorithmus an seine Grenzen, selbst wenn man ihn linear berechnet! Tests mit solchen Algorithmen oder Indikatoren sind mir über die Investox-Simulation zu langwierig und aufwändig!
Happy Trading

chied

unregistriert

7

Montag, 24. November 2008, 15:53

Hallo Zusammen

auch ich muss leider sagen, das die Wavelets von Foretrade rückwirkend neue Werte annehmen.
Auf der Webseite von Jurik Research (www.jurikres.com) habe ich einen sog. Wave Indikator
gefunden, der diese Schwäche eben nicht aufweisen soll.

Herr Knöpfel hatte vor langer Zeit einmal die Einîndung der DLL für 4 Jurik Indis geschrieben. Diese funktioniert bis heute
fehlerfrei. Leider fehlt aber eine Einbindungs-DLL für den Wavelet Indikator. In der Anleitung von Jurik ist zwar der Code
dazu dargestellt, was mir aber leider nichts bringt, da ich etwa so gut programmiere wie die Schweiz Fussball spielt.
Also nahe null. Martin hat sich das ganze netterweise mal angeguckt, nachdem ich Ihm die Anleitung zu gesandt hatte.
Wie er bemerkt hat, ist es aber nicht möglich einen solchen Einbindungsindikatoren zu schreiben ohne die original DLL von Jurik
zu besitzen, welche mit strengsten Sicherheitseigenschaften geschützt ist.

Falls nun doch jemand mal Lust hat, in die Anleitung zu blicken, so kann man mich gerne anschreiben. Falls es dann in einer Zusammenarbeit
klappen sollte den Wavlet Indi von Jurik Einsatzbereit zu machen, würden wir das hier publizieren. Dies würde aber dennoch den
Jurik Wave Erwerb voraussetzen...

Viele Grüsse

Roger

MartinP Männlich

Meister

Registrierungsdatum: 13. März 2007

Beiträge: 690

Wohnort: Köln

8

Montag, 24. November 2008, 16:26

@Udo,

bei der Verwendung von Wavelets für NN sehe ich das Problem der Stabilität auf ähnliche Weise. Mein Gedanke ist Wavelets als Vorverarbeitung für SVM zu verwenden.

Allgemein möchte ich darauf hinweisen, dass das Problem mit dem in die Zukunft schauen nicht notwendigerweise ein Wavelet imanentes Problem ist. Der von mir umgesetzte Algorithmus hat dieses Problem. Aber, ich kenne mich nicht genügend gut aus, um zu sagen, ob es geeignetere Algorithmen gibt.

Gruß

Martin

sten

Experte

Registrierungsdatum: 6. September 2002

Beiträge: 2 879

9

Montag, 24. November 2008, 18:28

Hallo,

habe das HS von Martin ein bischen überarbeitet und auch im Intraday-Bereich bei 47min-Perioden ganz gute Ergebnisse erzielt, siehe erstes Bild.
Das war der kleinste Minutenbereich den ich einstellen konnte und das HS noch Signale generiert hat.

Dann habe ich das HS über den VB laufen lassen und hier werden die Signale wirklich so umgesetzt, wie sie zeitlich kommen, ohne das man im nachhinein nochwas drehen kann. Ich wollte nur mal prinzipiell sehen, wie bei Wavelets die Ergebnisse unter realistischeren Bedingungen sind. Naja, siehe 2.Bild.

Auf jeden Fall besteht hier noch viel Verbesserungspotential ...

Viele Grüße
Torsten
»sten« hat folgende Bilder angehängt:
  • 081124_01_HS-KK.gif
  • 081124_02_Simulator.gif

Registrierungsdatum: 30. August 2002

Beiträge: 8 155

Wohnort: Trade-Planet

10

Dienstag, 25. November 2008, 00:02

Hallo Martin,

Ich gehe davon aus das für den Blick in die Zukunft zwei Fakten vorrangig sind: Zum einen ist es der von dir angeführte Punkt und zum anderen die Tatsache, dass die Wavelets zwei Perioden benötigen um einen Datenpunkt auszumachen (zumindest bei meiner Statistik Software und ich denke hier wird es nicht viel anders sein)! Diese beiden Punkte zu gut sind! Ich möchte an dieser Stelle noch einmal kurz erwähnen, dass diese Vorgehensweisen und Algorithmen ein komplett anderer Weg sind als eine Optimierung mit genetischen Algorithmen oder neuronalen Netzen. Die hier angesprochene Vorgehensweise kann man bislang mit Investox nicht optimal und nur sehr eingeschränkt nutzen und testen (siehe auch SVM)! Sinn dieser Vorgehensweise ist es, auf Basis einer ständigen Optimierung die Handelssysteme adaptiv zu halten und an die ständigen Veränderungen der Zeitreihe neu anzupassen! Zeitreihen, die relativ volatil sind werden die Form der kurzfristigen Muster oftmals ändern und können so zu Verlusten oder hohen Drawdowns führen! Die Grundlage für solche Tests, ist ein Feedforward-Testverfahren an dem man die komplette Justierung der Systeme mittels eines Algorithmus austestet!

@Torsten

Da du fleißig beim Testen bist, gib dem System eine Zeitreihe, die relativ linear steigt oder fällt vor und prüfe, inwiefern die nächsten 5-10 Trades performen! Wenn der Test positiv verläuft prüfe eine Zeitreihe, die im Anschluss an den Testzeitraum einen markanten Strukturbruch beinhaltet und gib als Testzeitraum denjenigen, mit der Fallung/Steigung vor! Wenn dieser Test negativ verläuft, ist relativ schnell klar, welchen Einfluss der Lernzeitraum auf die Vorgehensweise hat! Sollten beide Tests negativ verlaufen, so passt sich der Indikator dem Verlauf der Zeitreihe komplett, an was aber auch nichts daran ändern würde, dass man ihn in dieser Rohform als Indikator nicht nutzen kann. Das heißt aber nicht, dass man daraus nicht positive Rückschlüsse ziehen kann....
Happy Trading

halobungie

unregistriert

11

Dienstag, 25. November 2008, 13:09

Hallo,

könnte man das Problem mit dem in die Zukunft schauenden Indikator insofern entschärfen indem man das Handelssystem auf "Delay 1" setzt?
Viele Grüsse,
halobungie

MartinP Männlich

Meister

Registrierungsdatum: 13. März 2007

Beiträge: 690

Wohnort: Köln

12

Dienstag, 25. November 2008, 14:33

@halobungie,

natürlich klappt dein Vorschlag, aber halt nur beim jeweils letzten Wert der Reihe! So arbeitet der ATrous - Wavelet Algorithmus.

Also kannst du bei der Simulation sauber arbeiten. Die Kurve davor ist zwar sehr nett, aber für ein HS absolut unbrauchbar. Der Delay ändert ja an der Berechnung überhaupt nichts.

Gruß

Martin

sten

Experte

Registrierungsdatum: 6. September 2002

Beiträge: 2 879

13

Dienstag, 25. November 2008, 21:14

Hallo,

es ist wirklich sehr interessant so eine Kurssimulation durchzuführen und jede Sekunde ein paar Minuten dazu zu geben. Man kann dann beobachten, wie das HS mal in die richtige und mal in die falsche Richtung läuft. Interessant ist der letzte Fall, dann werden in der Vergangenheit einfach ein paar Handelssignale umgeswitcht und schon zeigt das KK im HS wieder schön nach oben nur leider kann man das nicht an der Börse machen. Ich hätte am Montag gerne 100 FDAX-Kontrakte 21:50Uhr zum Mo-Eröffnungskurs nachträglich long gekauft und danach gleich wieder glatt gestellt.

Hallo Udo,
Ich werde wahrscheinlich erst am Wochenende wieder ein bischen Zeit für Inv. haben. Mal sehen ob ich dazu komme.

Viele Grüße
Torsten

Registrierungsdatum: 30. August 2002

Beiträge: 8 155

Wohnort: Trade-Planet

14

Dienstag, 25. November 2008, 23:10

Hallo zusammen,

der Indikator wäre als solcher genial und stellt JURIK'S Indikatoren bezüglich der Glättung in den Schatten-wenn da nicht das revidieren von n-Perioden wäre. Ich denke (ohne es genau zu wissen) das ist eine Ursache der Wavelet-Berechnung! Je mehr man Wavelets glättet desto mehr Datenpunkte werden benötigt um einen zu pinnen. Ob es hier ein ähnlicher Fall ist, kann ich nichts sagen,das müsste Martin beantworten! Man kann mit Diverenzberechnungen und Indikator-Anwendungen mit dem Indikator sehr schnell viel Geld gewinnen,wenn zufällig keine Revision erfolgt! Ich habe heute (Paper) in nullkommanix mit einem Kontrakt ein paar tausend Euro gewonnen-leider ist das Geld auch wieder genauso schnell verblasen wenn man die Signale strickt befolgt (fast wie bei einem "richtigen HS") ;) )!

Momentan kommen die Signale nicht über das Niveau des Zick-Zack hinaus! Dennoch finde ich es super das sich Martin die Mühe gemacht hat und man das ganze testen kann!Ich hoffe Martin,Du lässt Dich nicht entmutigen denn irgendwann finden wir schon nach den "goldenen Schuss", und dann geht die Post ab... :D

Martin,wäre es denkbar,SVM auf Variable anzusetzen und diese mit dem Algorithmus auf "HIGH-Performance" zu trimmen? Beispiel:Suche die optimalste Einstellung für den 20 Perioden RSI in einer Bandbreite n-Perioden! Ich kennen ein Programm, mit der das funktioniert! Der Algorithmus beruht auf einem heuristischen Verfahren! Man könnte meinen, das man damit Curve Fitting provoziert! Tut man auch,genauso wie bei GA oder NN wenn die Variablen,gemessen an den Datensätzen eine zu hohe Anzahl,zu hohe Bandbreite oder beides beinhalten. Andererseits sucht der Entwickler meistens nach der besten Einstellung einer Variablen in Bezug auf das Gesamtkonzept und die Stabilität der Variablen,eingebettet im System.Wir geben uns letztendlich nicht mit dem "Zweitenbesten" zufrieden...;)

Was mir noch dazu einfällt
Sinusförmige Bewegungen sind "Steilvorlagen für statistische Zeitreihenanlysen! Allerdings benötigt man ein größere Menge Datensätze die genügend Fakts beinhalte und davon mindestens 80-90% aller Muster-Vorkommnisse abdecken. Ich werde extren testen, wie man das ganze weiterverarbeiten und projizieren kann. Leider sind das nur sture Pionierversuche da ich ohne FFW-Test absolut keine Basis habe,den Erfolg-oder Misserfolg des Tests zu dokumentieren oder zu belegen!
Happy Trading

MartinP Männlich

Meister

Registrierungsdatum: 13. März 2007

Beiträge: 690

Wohnort: Köln

15

Montag, 1. Dezember 2008, 23:03

Hallo Udo,

ich werde mich mal mit deinem Gedanken beschäftigen.

Den SVM-Indikator habe ich nun lang genug in der Testphase gehabt. Er sollte halbwegs fehlerfrei funktionieren. Aber den Indi habe ich nun als "Open Source" veröffentlicht. Der Source ist in der neuesten Version in der Database für Interessierte mitgeliefert.

Schöne Grüße

Martin

Ähnliche Themen