Workshop Backtesting – Voreilige Fehlersuche

video
play-sharp-fill

Ein ganz fieses Problem sind logische Fehler im Backtesting. So testen wir beispielsweise hier den Golden Goose Baukasten in der Version 20160304_Overdrive mit dem EURUSD auf Minutenbasis. Und wenn man sich das hier unten anschaut, dann stellt man fest, dass wir keine Ergebnisse haben. Auch bei voller Geschwindigkeit wird keine einzige Position eröffnet. Mittlerweile sind wir schon im September und auch zum Jahresende hin hat sich überhaupt nichts getan! Kein einziger Trade! Man könnte jetzt anfangen im eigenen Programmcode nach einem Fehler zu suchen. Und auch ich habe schon viele Stunden damit zugebracht solche Fehler zu beheben - wo gar keine waren! Denn wenn wir hier unser Währungspaar EURUSD ansehen stellen wir fest, dass wir einen negativen BUY-Swap und einen negativen SELL-Swap haben. Das bedeutet: Egal in welche Richtung wir handeln, wir bekommen niemals Swapzinsen, also Erträge, sondern wir müssen in beide Richtungen Swapkosten bezahlen. Diesen Punkt habe ich allerdings in meiner Programmlogik ausgeschlossen. Wählen wir doch einmal ein anderes Währungspaar aus und schauen, was da passiert! Wie man sieht, werden hier Trades eröffnet! Und unser Diagramm bewegt sich auch in die richtige Richtung! Anfang Mai haben wir bereits über 70 Positionen. Im Juli gab es einen saftigen Draw Down, aber die Richtung stimmt weiterhin. Im September fallen wir mit unserer Equity sogar unter unseren Einstiegswert, doch zum Jahresende machen wir einen ordentlichen Profit. Und das ist unser Endergebnis: 710 Einträge bedeuten wir haben 355 Positionen getradet - was man auch hier sehr schön erkennen kann - und einen Nettoprofit von 5996 Euro erwirtschaftet. Hätten wir jetzt unseren Programmcode auseinandergerupft um den Fehler zu suchen, bloss weil bei unserem ersten Backtesting kein Ergebnis erzielt werden konnte, dann hätten wir aus den falschen Gründen nach einem Fehler gesucht der gar nicht existiert. Es macht also immer Sinn, sich mehrere Testergebnisse in mehreren Währungspaaren anzuschauen und dann zu überlegen ob und wie das unerwartete Verhalten im Backtesting zu erklären ist.