Signal-Filter in Trading-Systemen
Im aktuellen Thread zur Zyklusanalyse im Dax hat select seine Versuche erwähnt,
mittels Filtern von Signalen die Systemperformance postitiv zu beeinflussen.
Meiner Meinung nach hat diese Thematik einen eigenen Thread verdient.
Ich befasse mich nun schon seit einiger Zeit damit.
Dazu sollte ich erwähnen, dass ich mich ausschliesslich mit vollmechanischen Systemen beschäftige und diese auch selbst programmiere.
Ausgewählte Filter-Möglichkeiten sind inzwischen ein wesentlicher Bestandteil meiner Systeme geworden.
Die Situation war anfangs, ein an sich schon einigermassen profitables Grundsystem sollte durch Filter verbessert werden. Und dabei sollten insbesondere Schwankungen der Equitykurve geglättet werden.
Dabei habe ich meine Versuche mit den naheliegendsten Dingen als Filter begonnen, also MACD, gleitende Durchschnitte, auch in höheren Zeitrahmen etc.
Das Ergebnis war allerdings nicht besonders gut, ähnlich wie es select im oben genannten Thread beschrieben hat.
Irgendwann bin ich dann aber fast rein zufällig auf einen Chatmitschnitt von Andrea Unger gestossen.
(http://www.termintrader.com/chat/eventlogs/chatlog_aunger_10102006.pdf)
Dort (auf Seite 7) bringt er ein (Code)Beispiel mit ein paar kreativ umgesetzten Filtern (Rangebereich, Kerzenlänge).
Das hat mich ziemlich inspiriert. Diese dort fast schon am Rande erwähnten recht unscheinbaren und simplen Sachen haben es wirklich in sich.
Jedenfalls für mich.
Vielleicht ist es für den einen oder die andere einen Blick wert...
dies also als kleiner Tipp.
Beschäftigt sich hier noch jemand systematisch mit der Thematik?
Welche Arten von Filtern haben sich für Euch als effizient erwiesen und welche weniger?
Ich bin gespannt, ob sich hier eine kleine Diskussion entwickeln bzw. vielleicht auch ein Erfahrungsaustausch zustande kommen kann.
Gruss,
Sammy
@ Sammy [#1]
Solch ein Austausch macht immer Sinn:-) Bevor man aber große Diskussionen beginnt sollte man sich über den Sinn von Filtervariablen einig sein. So meine Meinung.
Erste Voraussetzung ist ein in sich funktionierendes Handelssystem. Der Netprofit soll über Periode "X" so weit im Gewinn liegen, das noch "Platz" für Abzüge wie Kosten, kalkulierte Slippage usw. vorhanden ist.
Nun kommt die nächste Voraussetzung/Frage: Ab wann soll ich mit der Systemoptimierung beginnen? Ich unterstelle, wenn die Ratio Target < Risikostopp ist, dann macht eine Optimierung, hinzufügen von Filtern, keinen Sinn. Außer man hat eine sehr hohe Trefferwahrscheinlichkeit (>70%?). Das Risiko wird sich grundsätzlich nicht ändern , dafür reduzieren sich die so wichtigen Gewinnpositionen (wichtig, weil Target < Risikostopp). Das würde bedeuten, ich muss das System in "Reinkultur" so akzeptieren/handeln oder verwerfen.
Mal schauen, ob meine Unterstellung Berechtigung findet.
@ Sammy [#1]
:)
Wie ich teils im anderen Thread schon schrieb, unterteile ich bei meinen Ansätzen die Filter etwas. Wenn innerhalb von Systemen Signale zugelassen oder übergangen werden, nenne ich das mehr "Systemregel".
Filter sind bei mir Regeln zur Zusammenfassung von Signalen oder zur Gewichtung der Einzelsignale wenn es um die Bestimmung der "optimalen" Positionsgröße geht.
Ich handle nur Systeme die auch mit nur einem Kontrakt ein gutes positives Ergebnis liefern. Von Glättung der Equitykurve durch "weglassen" von Signalen ausserhalb der eigentlichen Systemlogik halte ich nichts. Von Glättung der Equitykurve durch variable Positionsgrößen, das ist die einzige Optimierungsvariante die ich fortlaufend mache.
Deine "SignalFilter" verstecken sich daher bei mir wohl ehr in den Systemregeln.
(also z.B. Mittwochs nie short, oder nie an Brückentagen, ...)
Ich handele auch rein mechanisch, mit dem Begriff eines Filters tue ich mich aber schwer, ähnlich wie es TimeTrade schreibt. Filter-Regeln sind Teil des Systems, da sie klarerweise das Systemverhalten ändern, und die Auswahl der Trades selektieren. Wie unterscheidest Du zwischen einem MACD als Filter und einem MACD als Teil der Signalgebung? M.E. gibt es keinen Unterschied.
D.h. ich halte es meinetwegen für sinnvoll, gedanklich von Filtern als eine bestimmte Arten von Regeln zu sprechen. Aber die inhaltliche Begründung eines "Filters", und die Optimierung eines "Filters" kann nicht von Rest des System und den alten Regeln getrennt betrachtet werden.
Okay, wenn man so will, kann man diese Filter auch als Regeln des Systems bezeichnen.
Ich wollte da aber bewusst einen Unterschied machen und habe es Filter genannt, weil ich diese unabhängig von den eigentlichen System-Signalen sehe.
Die Filter-Regeln kann man nämlich (zumindest grösstenteils) total unabhängig von der Art und Weise des Einstieges betrachten. So meine Erfahrung.
Vielleicht wird das besser verständlich, wenn man sich als einfaches Beispiel TimeTrades "Mittwochs nie short"-Filter ansieht.
@ select
Natürlich werden durch die Filter auch die Gewinntrades weniger.
Die Kunst ist es jedoch, dass gleichzeitig die Verlierertrades noch weniger werden. ;o)
Daher ist es generell auch sinnvoll, ein System zu haben, das erstmal grundsätzlich eine Menge von Trades generieren kann.
@ TimeTrade
Danke für den Denkanstoss bzgl. der variablen Positionsgrössen, anstatt Trades total rauszufiltern. Werde mit diesem Ansatz experimentieren.
@ Sammy [#1]
Verstehe ich Dich richtig, dass Du innerhalb der Systemregeln separate Setup- und Entry-Regeln formulierst? Setup für „Aufpassen, Märkteintritt ist möglich“, wobei der eigentliche Markteintritt an eine zweite Bedingung geknüpft ist.
Man zwingt dem Markt sozusagen nicht ein Signal auf, sondern lässt den Markt entscheiden, ob er der Richtung des Indikators folgt. Signal und Markteintritt werden voneinander getrennt.
Beispiel:
Setup: Kurse sind im Aufwärtstrend (Letzter Kurs > gleitender Durchschnitt)
Entry: Kaufe, wenn das höchste Hoch der letzten x Tage überschritten wird.
Exit: Verkaufe zum Schlusskurs des jeweiligen Balkens.
Im Grunde kann man diese Logik dem Positionsgrößenmanagement zuordnen.
Setup nicht erfüllt -> Positionsgröße ist unabhängig vom Signal gleich Null;
Setup erfüllt -> Positionsgröße kann vom System zwischen 1 Kontrakt und der maximalen Kontraktanzahl variiert werden.
Besonders wenn man Indikatoren oder Kursmuster handelt, ist so ein Positionsgrößenfilter sicherlich sinnvoll. Man kann relativ schnell nachweisen, dass durch einen Trendfilter, die Verluste der oben beschriebenen Handelslogik deutlich vermindert werden können.
Im Bereich des Kurzfristhandels habe ich hierzu noch keine sinnvolle Regel entdeckt. Vielleicht möchte Timetrade etwas aus dem Nähkästchen plaudern.
@ wuelle [#6]
Richtig, Deine Beschreibung trifft es ziemlich genau, so wie ich es meine.
Und Deine Idee des Positionsgrössenmanagement deckt sich ja mit TimeTrades Aussage.
Wo beginnt denn für Dich der Kurzfristhandel?
Ich bin meist auf 15min-Candles in Forex unterwegs.
Dort existieren z.B. "saisonale Tendenzen", sprich Tageszeiten, an denen die Einstiege eine gute Trefferquote haben und Tageszeiten, bei denen das weniger gut aussieht. In letzteren Zeitbereichen muss man dann ja nicht handeln (oder man verringert die Postionsgrösse).
@ Sammy [#7]
Nach dem Motto - hin und her, macht Taschen schwer - bin ich, unabhängig von der Zeitachse, ziemlich kurzfristig unterwegs.