mechanische Systeme - Marktauswahl - Filter - MM&RM - Drawdowns - Kennzahlen

      @Systemtrader
      Freut mich, dass du ebenfalls darauf gestoßen bist. :D
      Ich möchte allerdings diese "Erkenntnis" eher als Zeitfilter für meine besetehenden Strategien verwenden.


      @janson
      Bei EUR/USD gibt es durchschnittlich ebenfalls größere Shortbewegungen als Longbewegungen.
      Warum das alles so ist, kann und will ich gar nicht beantworten.
      Ich denke mir dabei nur folgendes: Wenn es Zeiten gibt wo die beiden Richtungen stark verschieden sind, warum sollte man darauf nicht eingehen?
      Ob es jetzt an den Zinsen liegt, oder an Kriegen oder oder oder ..... kann ich nicht beantworten.
      Ich weiß nur, dass ich dieses Phänomen (leider bis jetzt noch nicht wirklich exakt) messen kann, und daraus könnten sich neue Möglichkeiten ergeben.

      Die "Eigenheit" wie du es nennst, kann und wird verschwinden, nur bis dahin habe ich schon hoffentlich einigen Profit gemacht um die Übergangsphase zur neuen "Eigenheit" zu überstehen.
      Soweit meine Theorie, ob was dran ist, kann ich nicht bestätigen.

      Grüße Christoph

      Christoph123 schrieb:


      BTW: Ich habe auch festgestellt, dass es z.B. bei AUD/USD zu stärkeren aber dafür selterenen Abwärtsbewegungen kommt. Entweder ist das nur eine Verzerrung, da mein gewählter Untersuchungszeitraum zu kurz gewählt war (aber was ist schon DIE richtige Länge?), oder es liegt ein Grundfehler in meiner Herangehensweise an die Untersuchung vor, oder ich liege richtig und es ist mal teilweise (zumindest für mich) bestägigt, dass es auch im FX Markt unterschiedliche Auspärgungen von den beiden Seiten gibt.

      AUD war halt immer Longkandidat Nr.1 bei Carrytrades, was wohl auch deine gemachte Entdeckung erklärt. Je nach Zinsgefüge kann diese Eigenheit auch wieder verschwinden…
      Bei Forex ist es auch so, dass zu bestimmten Uhrzeiten eine Richtung dominater ist, als die andere. (Quelle: meine Untersuchungen)

      Ob es jetzt legitim ist, die Handelszeit unterschiedlich zu wählen, ist eine gute Frage.

      Ich versuche sie zu beantworten, aber ich wünsche mir von einem erfahrenen Trader ebenfalls eine Antwort:
      Wenn man es gut genug getestet hat, bzw. diese Annahme den strengsten Tests unterzogen hat ist es zulässig, verschiedene Zeiten zu wählen.
      Ein Test mit den Daten auf welchen das System nicht gebacktestet wurde, ist hilfreich und kann mal eine grobe Antwort dafür sein.
      Ein Praxiseinsatz des Systems, liefert ebenfalls eine gute Antwort.
      Dass es bei Forex, eingentlich so sein sollte, dass Long und Short Seite ausgeglichen sein sollten, war bzw. ist auch meine Grundannahme.

      Aber laut diesem einen Test kann man mal davon ausgehen, dass es eventuell einen Sinn macht, beide Seiten verschieden zu betrachten. (Wahrscheinlich hat das ganze bei Aktien mehr Sinn, jedoch gehört auch der FX Markt überprüft)

      Ich möchte damit nur, wie du es schon gesagt hast, in den verschiedensten Phasen eine Seite anders behandeln wie die andere.
      Ob das jetzt der allgemeinen Theorie widerspricht oder nicht ist mir eigentlich egal. Ich bin der Meinung, dass nach etlichen validen Tests selbst die noch so "logische" und "allgemein gültige" Annhame übegangen werden kann, da man seinen eigenen Tests mehr Vertrauen schenken sollte als der allgemeinen Meinung.

      Ein treffendes Beispiel hierzu ist (in diesem Forum schon des öfteren erwähnt), die Börsenweisheit "The trend is your friend". Dieser Spruch gilt allerdings nur bei einem Hurstexponent>0.5, trotzdem glauben viele Markteilnehmer, so auch der Bankberater meines Vaters, dass diese Annahme immer und überall gültig ist, und dass nur Gewinne mit dem Trend eingefahren werden können, und jeder der sich gegen den Strom stellt untergehen wird.

      BTW: Ich habe auch festgestellt, dass es z.B. bei AUD/USD zu stärkeren aber dafür selterenen Abwärtsbewegungen kommt. Entweder ist das nur eine Verzerrung, da mein gewählter Untersuchungszeitraum zu kurz gewählt war (aber was ist schon DIE richtige Länge?), oder es liegt ein Grundfehler in meiner Herangehensweise an die Untersuchung vor, oder ich liege richtig und es ist mal teilweise (zumindest für mich) bestägigt, dass es auch im FX Markt unterschiedliche Auspärgungen von den beiden Seiten gibt.

      Danke für deinen Beitrag
      Grüße Christoph
      Ohne jetzt dein System zu kennen oder selbst automatisch zu traden würde ich mal sagen, dass wenn dein System relativ ausgeglichene Short- wie Longsignale produziert das Pluspunkte bzgl. Robustheit gibt. Wenn eine Seite besser als die andere funktioniert liegt das vielleicht nur daran, dass das zugrunde liegende Underlying gerade in einem Ab- bzw. Aufwärtsmarkt liegt?

      Wenn auf FX angewandt, macht eine Unterscheidung Long-/Shortsignale eigentlich wenig Sinn. Bei allen anderen Märkten hingegen ist die Shortdynamik wahrscheinlich eine andere als Long.

      Just my 2 cents…
      Ich habe mich gefragt wie wohl mein System performt, wenn ich die Parameter für Long und Short Trades jewils extra berechne.
      Beim manuellen ForwardTest fiel mir nämlich auf, dass eine Traderichtung in einigen Phasen gar nicht funktioniert,dafür aber in anderen umso besser.
      Dieser Test soll mal im Ansatz zeigen ob es sinnvoll sein kann, seine Parameter auf die beiden Richtungen seperat zu bestimmen.


      Long/Short getrennter Forward Test System 2 (Bild18)
      IOS: 12 Monate
      OOS: 4 Monate
      zu optimierender Wert: ProfitFaktor

      Trades= 851 (224/Jahr)
      CAR=17.00 %
      Max. DD= -14.64%
      MAR=1.16
      Trefferquote= 64.51%
      SharpeRatio= 2.06
      Pips/Trade= 1.27
      ProfitFaktor= 1.14
      reales CRV (avg.Win/avg.Loss)= 0.63
      max. Time to Recover= 1.3 Jahre

      Dieser Forward-Test ist besser als der, bei dem Long- und Shortseite gleich behandelt wurden (Test #12).

      Für diese Strategie könnte es also von Vorteil sein, die beiden Seiten verschieden zu behandeln.
      Das muss aber nicht bei allen Systemen so sein.

      Grüße
      Christoph
      Bilder
      • Bild19.png

        15,01 kB, 500×300, 484 mal angesehen
      manueller Forward Test System 2 (Bild18)
      IOS: 12 Monate
      OOS: 4 Monate

      zu optimierender Wert: alle
      Trades= 639 (168/Jahr)
      CAR=20.86 %
      Max. DD= -12.98%
      MAR=1.61
      Trefferquote= 68.54%
      SharpeRatio= 4.25
      Pips/Trade= 2.87
      ProfitFaktor= 1.20
      reales CRV (avg.Win/avg.Loss)= 0.55
      max. Time to Recover= 0.5 Jahre (aktuell)

      Die Strategie läuft unter der schwachen Volatilität der letzten Jahre im Forexmarkt nicht mehr sehr gut.

      Ein weiters mächtiges Werkzeug im Forwardtesting, ist das Aussetzen. Das mache ich dann, wenn die Equity keinen eindeutigen UpTrend darlegt. Das ist meist ein Indiz dafür, dass es bald einen Trendwechsel gibt.

      Eine weitere wichtige Kennzahl, ohne welche man die Ergebnisse eines Systems nur schwer zuordnen kann, habe ich vergessen.
      Die Exposure, also sozusagen die "Auslastung" des Kapitals.
      Die Exposure dieses Systems beträgt ungefähr 0.25% - 0.40% - das bedeutet, dass mein Kapital zu ~0.33% der gesamten Zeit (3.8 Jahre) komplett in diese Strategie investiert war.
      In Wahrheit war bei dieser Strategie mein Kapital zu ca. 6% der Zeit mit ca. 5% investiert (5% * 6% = 0.30%).

      Man darf sich jetzt aber unter gar keinen Umständen reich rechnen.
      Hier dazu ein Beispiel:
      Ich nutze diese Strategie jetzt nicht nur im EURUSD sonder auch auf anderen Paaren und eventuell auch noch auf Indizes bzw. auf verschiedenste Rohstoffe und was es sonst noch so gibt.....
      Damit ergibt sich ein Basket aus ca. 100 Instrumenten, welche ich mit meinem EA auch alle traden kann.
      Rein rechnerisch ergibt sich somit eine Exposure von 30% und die Equity steigt ins unermessliche... jenseits der 1000% per anno.

      Aber ACHTUNG,
      - es ist nicht bewiesen, dass diese Strategie auch auf anderen Märkten, bzw. mit allen anderen Währungspaaren gut funktioniert.
      - man vergisst, dass es Zeiten gibt, in welchen man mit dieser Strategie nicht handeln kann (ca. 2/3 des Tages)
      - man vergisst ebenso den kummulierten Drawdown, der sicher auch in der Lage ist das Konto zu plätten (man geht ja das 100-fache Risiko ein)

      Trotzdem ist es nicht verwerflich, sondern sogar erstrebenswert, diese Strategie auf andere Währungspaare zu übertragen, es sollte dabei aber nicht die Rendite im Vordergrund stehen, sondern die Stabilität.

      Grüße
      Christoph
      Bilder
      • Bild18.png

        12,57 kB, 500×300, 472 mal angesehen

      Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Christoph123“ ()

      11.Forward Test (Bild14)
      IOS: 6 Monate (ca. 50-300 Trades)
      OOS: 2 Monate (ca. 12-80 Trades)
      zu optimierender Wert: ProfitFaktor

      Trades= 844 (222 pro Jahr)
      CAR= 18.94
      Max. DD= -21.44%
      MAR= 0.88
      Trefferquote= 69.91%
      SharpeRatio= 3.27
      Pips/Trade= 2.14
      ProfitFaktor= 1.14
      reales CRV (avg.Win/avg.Loss)= 0.49
      max. Time to Recover= 1 Jahr (aktuell)


      12.Forward Test (Bild15)
      IOS: 12 Monate (ca. 90-500 Trades)
      OOS: 4 Monate (ca. 30-140 Trades)
      zu optimierender Wert: ProfitFaktor

      Trades=835 (220 pro Jahr)
      CAR=16.05
      Max. DD= -17.48%
      MAR= 0.92
      Trefferquote= 69.58%
      SharpeRatio= 2.58
      Pips/Trade= 1.79
      ProfitFaktor= 1.14
      reales CRV (avg.Win/avg.Loss)= 0.50
      max. Time to Recover= 1.3 Jahre


      13.Forward Test (Bild16)
      IOS: 6 Monate (ca. 50-270 Trades)
      OOS: 2 Monate (ca. 12-70 Trades)
      zu optimierender Wert: MAR

      Trades=856 (225 pro Jahr)
      CAR=7.37
      Max. DD= -17.48%
      MAR= 0.24
      Trefferquote= 66.36%
      SharpeRatio= 2.63
      Pips/Trade= 1.59
      ProfitFaktor= 1.04
      reales CRV (avg.Win/avg.Loss)= 0.53
      max. Time to Recover= 1.8 Jahre (aktuell)


      14.Forward Test (Bild17)
      IOS: 12 Monate (ca. 90-480 Trades)
      OOS: 4 Monate (ca. 25-200 Trades)
      zu optimierender Wert: MAR

      Trades=880 (231 pro Jahr)
      CAR=6.31
      Max. DD= -17.48%
      MAR= 0.20
      Trefferquote= 62.39%
      SharpeRatio= 1.15
      Pips/Trade= 0.68
      ProfitFaktor= 1.04
      reales CRV (avg.Win/avg.Loss)= 0.63
      max. Time to Recover= 3 Jahre

      Man sieht, dass man mit dem Profitfaktor als den zu optimierenden Wert ein viel besseres Ergebniss erzeugt.

      Der manuelle Backtest folgt.
      Bilder
      • Bild14.png

        13,31 kB, 500×300, 485 mal angesehen
      • Bild15.png

        14,6 kB, 500×300, 487 mal angesehen
      • Bild16.png

        14,4 kB, 500×300, 485 mal angesehen
      • Bild17.png

        15,9 kB, 500×300, 494 mal angesehen
      Ich stelle euch nun mein 2tes System vor.

      Es handelt sich um ein kurzfristiges System.


      System 2

      - Breakout
      - viele Trades (ca.250 pro Jahr)
      - 2010-2014 ( 5-digits)
      - 2 Parameter (TakeProfit und StopLoss-Faktor [Vielfaches des TP's])
      - 1.4 Pips Handelskosten pro Trade
      - Währung EUR/USD
      - fixed Risk von 2% per Trade
      - Drawdown ist Intraday

      Optimale Parameter:
      - TakeProfit= 20 Pips
      - Faktor= 2


      Backtest System2 (Bild13)
      Trades= 1292 (250/Jahr)
      CAR=32.47%
      Max. DD= -19.84%
      MAR=1.64
      Trefferquote=70.74%
      SharpeRatio= 4.47
      Pips/Trade= 2.16
      ProfitFaktor= 1.19
      reales CRV (avg.Win/avg.Loss)= 0.49
      max. Time to Recover= 0.5 Jahre


      Es folgen die Forward-Tests.
      Bilder
      • Bild13.png

        14,44 kB, 500×300, 504 mal angesehen

      manueller Forward Test

      manueller Forward Test (Bild12)
      IOS: 4 Jahre (ca. 50-120 Trades)
      OOS: 1 Jahr (ca. 10-26 Trades)
      zu optimierender Wert: alle

      Trades= 130 (16/Jahr)
      CAR=9.47%
      Max. DD= -26.77%
      MAR=0.35
      Trefferquote= 29.01%
      SharpeRatio= 1.48
      Pips/Trade= 20.55
      ProfitFaktor= 1.39
      reales CRV (avg.Win/avg.Loss)= 3.39
      max. Time to Recover= 1.5 Jahre

      Der Drawdown im Jahr 2009 war ein blöder Fehler von mir, ich wurde zu gierig und setzte nicht auf Stabilität.

      Wie war meine Vorgehensweise?

      - ich ließ zuerst eine Optimierung über die letzten 4 Jahre (IOS) laufen
      - dabei suchte ich mir Plateus heraus, welche für Stabilität stehen (anhand eine Grafik)
      - ich legte dabei Wert auf CAR, MAR, Pips/Trade, SharpRatio, Anzahl Trades, ProfitFaktor
      - danach suchte ich mir für jedes Plateu (meistens gibt es eh nur eines) einen Wert heraus der so ziemlich in der Mitte liegt, aber nicht unbedingt den Besten

      - dann ließ ich eine Optimierung über die letzten 2 Jahre laufen und wiederholte das ganze Prozedere
      - dieser kürzeren Optimierung gestand ich mehr Aussagekraft zu, wenn die Ergebnisse der langen Optimierung eher schlecht ausfielen (deutet auf eine Veränderung der Märkte hin)

      - nach diesen beiden Optimierungsvorgängen hatte ich jetzt ca. 2-6 verschiedene Parameterpärchen
      - diese unterzog ich einem Backtest auf die gesamten 4 Jahre
      - dabei achtete ich eher weniger auf die Kennzahlen (da nach diesen bereits gefiltert wurde)
      - ich schaute mir fast nur noch die Equity curve an und beurteilte diese nach Stetigkeit
      - waren alle Kurven nicht durchgehen stetig, dann entschied ich mich für jene welche in jüngster Vergangenheit (mind. 2 Jahre) am stetigsten war

      - ich ließ auch noch wenige andere Faktoren miteinfließen, wie z.B. die gleiche Verteilung auf Long und Short Trades und das CRV.
      - Optisch komische Bereiche ließ ich weg (z.B. alle Ergebnisse der Optimierung mit einem StopLoss von "2" schneiden 5 mal so gut ab wie alle anderen ..... dabei handelt es sich um einen Zufall und ist für längere Prognosen nicht geeignet)
      - natürlich ist auch ein wenig Subjektivität mit im Spiel


      Grüße
      Christoph
      Bilder
      • Bild12.png

        14,49 kB, 500×300, 496 mal angesehen

      Zwischenbericht

      Die Ergebnisse schauen wieder annähernd gleich aus. Bis auf die Einstellung IOS=4 und OOS=1, schließen alle Einstellungen mit einem positiven Ergebnis ab.
      Jedoch schneiden die Ergebnisse mit einer kurzen IOS-Periode (1 & 2 Jahre) deutlich besser ab, was auf einen sich schnell ändernden Markt hindeuten würde.


      Ich habe die Diagramme für diesen Testlauf angefügt.


      Es gibt wieder einige Ausreißer, wie z.B. im 10.Test im Jahr 2010. Hier verändern sich beide Parameter sprungartig. Das Ergebnis ist aber positiv.


      Grüße
      Christoph
      Bilder
      • Diagramm_TP_System1_Testzyklus2.png

        50,64 kB, 1.152×691, 521 mal angesehen
      • Diagramm_SL_System1_Testzyklus2.png

        52,84 kB, 1.152×662, 492 mal angesehen

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Christoph123“ ()

      Achtung ab jetzt wird das MAR (oder auch CAR/MDD) der zu optimierende Wert sein. (Reaktion auf goso's Tipp )

      Das System mit den optimalen Parametern hat übrigens ein MAR~1.


      6.Forward Test (Bild7)
      IOS: 4 Jahre (ca. 70-115 Trades)
      OOS: 1 Jahr (ca. 10-35 Trades)
      zu optimierender Wert: MAR

      Trades= 141 (18/Jahr)
      CAR=-2.07%
      Max. DD= -45.29%
      MAR=-0.05
      Trefferquote= 26.95%
      SharpeRatio= 0.57
      Pips/Trade= 5.70 (aufgrund der sich änderden Pos. Größe ist hier eine positive Zahl möglich)
      ProfitFaktor= 0.93
      reales CRV (avg.Win/avg.Loss)= 2.53
      max. Time to Recover= 3.2 Jahre


      7.Forward Test (Bild8)
      IOS: 6 Jahre (ca. 120-150 Trades)
      OOS: 2 Jahre (ca. 20-60 Trades)
      zu optimierender Wert: MAR

      Trades= 140 (18/Jahr)
      CAR=6.51%
      Max. DD= -30.62%
      MAR=0.21
      Trefferquote= 33.12%
      SharpeRatio= 1.24
      Pips/Trade= 13.07
      ProfitFaktor= 1.32
      reales CRV (avg.Win/avg.Loss)= 1.92
      max. Time to Recover= 2 Jahre


      8.Forward Test (Bild9)
      IOS: 6 Jahre (ca. 120-150 Trades)
      OOS: 1 Jahr (ca. 10-35 Trades)
      zu optimierender Wert: MAR

      Trades= 144 (18/Jahr)
      CAR=7.41%
      Max. DD= -29.89%
      MAR=0.25
      Trefferquote= 36.81%
      SharpeRatio= 1.32
      Pips/Trade= 13.62
      ProfitFaktor= 1.32
      reales CRV (avg.Win/avg.Loss)= 2.26
      max. Time to Recover= 2.5 Jahre


      9.Forward Test (Bild10)
      IOS: 2 Jahre (ca. 20-75 Trades)
      OOS: 1 Jahr (ca. 10-40 Trades)
      zu optimierender Wert: MAR

      Trades= 133 (17/Jahr)
      CAR= 6.98%
      Max. DD=32.96 %
      MAR=0.21
      Trefferquote=24.81 %
      SharpeRatio= 1.05
      Pips/Trade= 14.02
      ProfitFaktor= 1.28
      reales CRV (avg.Win/avg.Loss)= 3.87
      max. Time to Recover= 2 Jahre


      10.Forward Test (Bild11)
      IOS: 1 Jahr (ca. 10-36 Trades)
      OOS: 1 Jahr (ca. 10-36 Trades)
      zu optimierender Wert: MAR

      Trades= 140 (18/Jahr)
      CAR= 18.18%
      Max. DD=23.92%
      MAR=0.76
      Trefferquote=25.71 %
      SharpeRatio= 1.80
      Pips/Trade= 20.05
      ProfitFaktor= 1.50
      reales CRV (avg.Win/avg.Loss)= 4.33
      max. Time to Recover= 2 Jahre


      Zwischenbereicht folgt.

      Grüße
      Christoph
      Bilder
      • Bild7.png

        14,43 kB, 500×300, 489 mal angesehen
      • Bild8.png

        13,57 kB, 500×300, 473 mal angesehen
      • Bild9.png

        14,06 kB, 500×300, 488 mal angesehen
      • Bild10.png

        14,37 kB, 500×300, 477 mal angesehen
      • Bild11.png

        14,93 kB, 500×300, 470 mal angesehen

      Christoph123 schrieb:

      @ trash
      Es ging um Cross Validation (goso's Post).
      Also z.B.: IOS Periode=01.01. 2000-31.12.2007 und 01.01.2010-31.12.2011
      OOS Periode= 01.01.2008 - 31.12.2009

      Ist das möglich?


      Ich habe übrigens nur die Begriffe OOS und IOS in meinem Post vertauscht, die Ergebnisse stimmen also.

      Grüße
      Christoph


      Walk Forward ist Cross-validation.

      Walk-forward testing carries the idea of ‘out-of-sample’ testing to the next level. Think of it as an ‘out-of-sample’ testing on steroids. It is a specific application of a technique known as Cross-validation. It means to take a segment of your data to optimize a system, and another segment of data to validate. Hence, here you optimize a window of data say past 1000 bars, and then test it on next 200 bars. Then roll the whole thing forward 200 bars and repeat the process. This gives you a large out of sample period and allows you to see how stable the system is over time.

      en.wikipedia.org/wiki/Walk_forward_optimization

      Was deinen Cross validation Fall angeht.

      Howard Bandy schrieb:


      Cross validation is discussed in data mining books and it is appropriate for use in validating some categories of models, but it is not appropriate for systems trading financial time series.


      Howard Bandy (Zitat aus Quantitative Trading Systems) schrieb:

      Can out-of-sample periods precede in-sample periods?

      No. A model that is fit to an in-sample period of 1985 to 1995 will prob-
      ably show good results over the 1975 to 1985 period. But, the data we
      will eventually trade is always more recent than the in-sample period,
      never earlier. So the results over the earlier period have no predictive
      value. Testing the model over a later time period, such as from 1995 to
      the present, is meaningful. If the results over 1975 to 1985 are profitable
      but the results from 1995 to the present are not, that is an indication that
      the market has changed in such a way that the model being tested is no
      longer profitable. If the results over 1975 to 1985 are profitable and the
      results from 1995 to the present are also profitable, that is an indication
      that the model may continue to trade profitably. The positive results
      from 1975 to 1985 indicate that the underlying market is very stationary
      with regard to that model.

      For the same reasons, it is inappropriate to use the fold or jackknife
      technique for dividing data into in-sample and out-of-sample periods.
      The jackknife method divides all the data into several periods - say ten.
      The modeling process makes ten passes; each pass treats nine of the pe-
      riods as in-sample and reserves the other for out-of-sample. After the
      ten passes, the results from the ten out-of-sample periods are gathered
      together and analyzed as one out-of-sample period that includes all
      the original data. Only one of the ten periods is truly out-of-sample.




      Walk Forward


      Dein Fall von Cross-validation
      "I'm a trader, baby. So, why don't you kill me?!"

      Christoph123 schrieb:

      Amibroker kann es leider nicht. Zumindest finde ich diese Funktion nicht.


      Einfach mal lesen. amibroker.com/guide/h_walkforward.html
      AB macht anchored und not-anchored (rolling) Walk Forward (sowie exhaustive/non-exhaustive). Und im Report hast du dann die einzelnen WF OOS Reports sowie den Report der zusammengefügten OOS Perioden.



      Welche Software IS vor OOS verlegt, wäre mir neu.
      "I'm a trader, baby. So, why don't you kill me?!"