Monte-Carlo-Simulation: Der Backtest für Ihren Backtest


Auch wenn man sie nicht gut ohne die Datafeed-Toolbox einsetzen kann und vielleicht auch noch die eine oder andere Toolbox mit kaufen muss, hat man doch mit rund Euro ein recht preiswertes, aber wie ich Matlab kenne recht hochwertiges getestetes Produkt mit sehr guter Dokumentation.

Doch ist dem so? Nur mit einer eigens programmierten Monte-Carlo-Simulation sind Sie in der Lage die Schwankungen der relevanten Kennzahlen zu bestimmen.

Backtesting in excel

Nov 04,  · Die Backtest Ergebnisse sollen dann dabei helfen ein einfaches System durch Anpassung der Parameter Stück für Stück zu optimieren. , # 8.

I will be building this example using Google as a share. Here is a link to download the price data in Csv file format from Yahoo. Please be sure to order from oldest to newest date. For those of you who are new to trading strategies, a SMA is simply the total sum of closing price divided by the number of observations. Generate trading signals It is at this step where readers will pick up on a major difference from my previous blog posts on building a vectorised backtester.

I will incorporate my original methodology in this post as well in order to plot the equity curve. The next thing we need to do is to generate buy and sell signals Logic for Step 3: This is represented in Excel using the following formula: The SMAs are calculated on closing prices and not adjusted close because we want the trade signal to be generated on the price data and not influenced by dividends paid. If the trade signal column for the previous day Very important to lag the indicator as to remove look-ahead bias is not an empty string then make use of the previous price above the current field, else set the current field to the closing price for the day.

Calculate returns Add a column called returns that makes use of the following Excel Formula: This formula calculates the returns for a given trade.

Calculate some performance metrics Positive returns: Add two new columns for the Daily returns and the natural log daily returns of the share For this I will make use of the adjusted closing price as I want dividends paid to be reflected in our strategies equity curve and total return profile. Formula for Daily Returns is: Calculate the Long or Short holdings signals In this column we want to know if we are currently holding a long or a short position.

This is represented by 1 for long and -1 for short. This builds on the moving average cross over strategy by going long if the short term SMA is above the long term SMA and short if the opposite is true. Calculate Strategy ln Daily Returns This is the easy part, simply multiply the natural log daily return by the current position.

Calculate the cumulative returns for both the strategy and the share as if you bought and hold. Nun sind aber die Wahrscheinlichkeiten anders verteilt. Diese Kurve verläuft mit deutlich weniger Seitwärtsphasen und viel geringeren Draw-Downs. Die Draw-Downs und die Seitwärtsphasen sind aber dennoch sehr stark ausgeprägt.

Was können wir nun daraus schlussfolgern? Unserer Meinung nach, ist es ein unglaublicher Vorteil zu erfahren, wie ein und dieselbe Strategie bei einer unterschiedlichen Wahrscheinlichkeitsverteilung ausschauen kann. Das hat, unter anderem, auch einen sehr starken psychologischen Effekt.

Zuallererst wird man von Draw-Downs und Seitwärtsphasen mental weniger stark betroffen. Da wir ja durch die Monte-Carlo-Simulation gesehen haben, wie lange und wie stark diese ausfallen können.

Wir erfahren auch, dass das Real-Trading-Ergebnis auch abweichen kann. So dass wir mit unseren Gewinn-Zielen nicht so festgesetzt sind. Würden wir nun nicht 3 sondern Monte-Carlo-Simulationen durchführen, so könnten wir durch die Ermittlung der wichtigsten Durchschnitts-Kennzahlen herausfinden, wie die Performance auf langfristiger Basis aussehen könnte und welches die Best- und welche die Worst-Case-Szenarien sind.

Wir möchten auch nochmal darauf hinweisen, dass eine Monte-Carlo-Simulation nur so lange Signifikanz hat, so lange die Parameter und Umstände gleichbleiben. Die Parameter und Umstände verändern sich aber an der Börse täglich.

Eine Monte-Carlo-Simulation hat auch nicht nur Vorteile. Wie wir Ihnen schon erklärt haben, hat ein Backtest fast immer einen positiven Bias. Die Aufgabe ist es nun, dass diese positive Verzerrung deutlich schwächer wird und wir es, mit Hilfe der Monte-Carlo-Simulation, schaffen, dass wir dem Realitätswert so nahe wie möglich kommen.

Wofür verwenden wir persönlich die Monte-Carlo-Simulation? Zum einen, wie auch schon im Titel erwähnt, als Robustheits-Test für unsere Handelssysteme. Auf die Forecast Methodik wollen wir heute aber nicht eingehen, dazu wird es, höchstwahrscheinlich, nochmal einen separaten Content geben, da dieses Thema doch etwas komplexer und mathematischer wird.

Wir nehmen, auf unser ausgedachtes Beispiel angewandt, 20 Monte-Carlo-Simulations-Testergebnisse und ziehen daraus unseren Mittelwert. Wir führen nun 20 Monte-Carlo-Simulationen durch die auf Grundlage unserer ausgedachten Strategie beruhen und notieren uns die Kennzahlen die wir benötigen.

In diesem Beispiel ist es der durchschnittliche Gewinn pro Trade und die durchschnittliche Jahresperformance. Schauen Sie sich nochmal die Abbildung 2 an. Dort erkennen Sie, dass der durchschnittliche Gewinn, in diesem Fall gleich dem Erwartungswert, 11,02 Euro beträgt. Und die durchschnittliche Jahresperformance liegt bei ca.

Wie schauen nun die Werte aus, nachdem wir 20 Monte-Carlo-Simulationen durchgeführt haben? Durchschnittliche Jahresperformance nach Monte-Carlo-Simulationen. Entschuldigen Sie das hässliche Design, wir sind leider keine Designer und für unsere Verhältnisse ist das schon sehr hübsch.

Welche nützlichen Informationen können wir nun für unser Trading oder unser Handelssystem entnehmen? Wir erkennen auf den ersten Blick, dass der durchschnittliche Gewinn pro Trade nach 20 Simulationen kleiner ausfällt als nach dem Backtest. Das ist das, was wir mit dem positiven Bias gemeint haben. Der Backtest hat, sehr oft, eine positive Verzerrung. Der durchschnittliche Gewinn pro Trade nach 20 Simulationen beträgt nun 9,83 Euro. Wir erkennen aber auch, dass das höchste Ergebnis 18,21 Euro beträgt.

Wir erkennen aber auch das niedrigste Ergebnis und das ist 5,50 Euro. Diese Information ist sehr viel wert. Denn nun können wir unsere Psyche und unsere Erwartungen auf diese Parameter anpassen. Dasselbe Prinzip haben wir auch bei der durchschnittlichen Jahresperformance. Auch diese fällt nach 20 Monte-Carlo-Simulationen etwas geringer aus.

Auch hier können Sie die Höchst- und Tiefpunkte der 20 Simulationen ablesen. Wir möchten Sie nochmals darauf hinweisen, dass diese Ergebnisse nur dazu dienen um eine bestimmte Systematik und unsere Herangehensweise mit der Monte-Carlo-Simulation zu verdeutlichen.

Es ist auch immer besser, lieber ein paar Simulationen mehr zu haben als zu wenig. Wir führen für die Tests unserer Handelssysteme mindestens Monte-Carlo-Simulationen durch bei denen wir auch mit den Parametern variieren um zu überprüfen, ob das Handelssystem bei stärkeren oder schwächeren Abweichungen der Grund-Parameter immer noch eine ähnliche Performance abwirft oder ob schon sehr kleine Parameter-Abweichungen das Tradingsystem zum Kollabieren bringen.

Wie viele Simulationen die optimale Testmenge ergeben, ist sehr schwer zu beantworten. Unsere Devise lautet da wohl, lieber ein paar mehr als weniger. Viele glauben, dass man solche Simulationen nur mit kostspieligen Programmen durchführen kann. Das ist aber definitiv nicht so. Wir bevorzugen für den Start, bevor wir wirklich Geld in teure Software investieren, erstmal das Lean-Konzept. Meistens ist dieser Weg auch der mit dem geringsten Aufwand.

Wir verwenden für den Anfang immer Excel. Excel hat mittlerweile so gut wie jeder auf seinem Laptop oder Rechner. Zur Not geht auch OpenOffice. Es muss nicht immer teure Software sein. Mit Excel kann man so gut wie alles programmieren was man für das Trading benötigt. Bis dahin ist es aber ein optimales Werkzeug. Jetzt wird der Stoff ein wenig trocken. Das ist zwar für die meisten das Langweiligste, aber unserer Meinung nach ist das das Essenzielle.

Gehen wir diese mal Schritt-für-Schritt durch. Viele Programme haben auch schon eine Monte-Carlo-Simulation inbegriffen, dennoch möchten wir Ihnen hier aufzeigen, wie Sie sich selbst eine Monte-Carlo-Simulation erstellen können.