zentrader
Mitglied seit 10 Jahre 9 Monate

Monte Carlo Simulation für Handelssysteme

Kennt Ihr das auch, die Unzuverlässigkeit von vermeintlich sehr guten Handelssystemen, die aufgrund von Backtest und "out-of-sample"-Tests eigentlich den Weg zum "schnellen Erfolg" vorgezeichnet hatten?

Mich hat es jedenfalls bewogen, mich mehr auch mit Simulationen des zukünftigen Systemverhaltens zu beschäftigen und so bin ich auf die Methode der Monte Carlo Simulation gestoßen, um mögliche Profits und Drawdowns der Handelsansätze besser einschätzen zu können.

Auf meiner Website http://www.zentrader.de habe ich Freeware in Form einer Excel-Simulation und eines schnelles Windowsprogramms, welches i.e.Linie für EOD-Daten einsetzbar ist, per Download zur Verfügung gestellt:
http://www.zentrader.de/download.html

Wer die Software brauchbar findet, aber mehr Funktionalität benötigt, kann auf der Website auch die professionellen Versionen günstig erwerben.

Feedback insb. auch konstruktive Kritik sind immer willkommen!

ciao,
zentrader

zentrader
Mitglied seit 10 Jahre 9 Monate

Habe diesen alten Thread nochmals aktiviert, da das Thema "Monte Carlo Simulation" offensichtlich im Finanzwesen langsam vorankommt, nun auch bei der Kalkulation der wahrscheinlichen Höhe von US-Pensionsansprüchen:
http://www.latimes.com/business/investing/la-plan4retire-story15,1,2355170.story?ctrack=1&cset=true

Interessant auch diese Bemerkung:

"...This powerful tool, known as a Monte Carlo simulation, is little understood in financial-planning circles, but it can have a dramatic impact on how you construct your portfolio..."

Little understood / wenig verstanden - ich denke dies gilt auch für den Einsatz der MCS bei der Systementwicklung.

Ich versuche, dieses (bislang per Hobby gepflegte) Thema nun etwas professioneller anzugehen - neue Infos auf meiner Website.

ciao,
zentrader

YingYang
Mitglied seit 10 Jahre 9 Monate

Das Posting #137 von Zentrader

http://www.terminmarktwelt.de/cgi-bin/nforum.pl?F=47&CP=0&ST=169481&page=5

zeigt Simulationen mit „Zen Monte Carlo Simulator v.5.1“

Dessen Einstellungen überprüfte ich mit einem (von mir erweiterten) Exceltool, das Zentrader 2005 zum Download angeboten hatte: es führt im Prinzip die gleichen System-Simulationen durch wie der Simulator v.5.1.

Die Excel-Simulationen brachte ähnliche Ergebnisse wie das in #137 vorgestellte Programm.

Für die Berechnung des Account-Drawdowns nimmt Zentraders Programm für weitere Auswertungen den niedrigsten Wert einer jeden Simulation (und keinen Draw-Down).

Zusätzlich simulierte ich mit dem maximalen „Simulations-Draw-Down“ eines Laufes. Grund: Wäre man genau vor dem Draw-Down in den Markt eingestiegen, hätte man einen Verlust in Höhe des „maximalen Simulations-Draw-Down“ erzielt

Die unterschiedlichen Ausgangswerte, können zu extrem unterschiedlichen Ergebnissen führen.

Nach meinen Simulationsergebnissen muss ein Trader bei Berechnungen mit „Simulations-Draw-Down“ ein wesentlich größeres Kapitalpolster vorhalten, um gegen Überraschungen gewappnet zu sein.

Bei 10000 Simulationen mit den Einstellungen von #137 gab es folgende Ergebnisse.

Zentrader meine Änderung Max Draw Down -7346,8 -9148,4 Draw-Down_Mittelwert -499,8 -3202.9 Account DD- VAR -3055, 1 -5912,79

 

Das Bild zeigt die unterschiedlichen Ansatzpunkte zur Draw-Down Auswertung.:
Simulator v.5.1 nimmt den niedigsten Simulations-Wert,
ich verarbeite den größten Draw-Down einer Simulation, der hier zufällig beim niedrigsten Simulations-Wert liegt.

Über Kommentare zum geänderten Simulationsansatz würde ich mich freuen.

Grüße

YingYang

zentrader
Mitglied seit 10 Jahre 9 Monate

@YingYang,

man kann diese Aussage so pauschal nicht treffen.

Der Zen Monte Carlo Simulator v5.1 hat für die Simulationsläufe als Startlinie des Accounts immer die Ausgangsbasis (Gewinn/Verlust) "0". Der sog. Account DD wird bei entsprechendem Mengengerüst dem von Dir verwendeten DD (mit variablem Startpunkt) entsprechen. Das ist der Unterschied von einer MCS mit vielen tausend Simulationsläufen zu einer Auswertung mit historischen Daten (mit nur einem Lauf), wo dieser "Max DD" i.d.R. meist höher als der methodisch von mir gewählte "Max Account DD" sein sollte.

Ein Beispiel für eine MCS Simulation zu Deinem Beispiel (unser Mail-Austausch), wo der Zen MCS den Wert Deiner Excel-Simulation sogar übertrifft ist als Anlage hier beigefügt.

Grund für unterschiedliche Simulationsergebnisse sind i.e.Linie unterschiedliche "Pseudozufallszahlen"-Mechanismen und sonstige Algorithmen, die zur Beeinflussung der Zufallszahlerzeugung herangezogen werden etc.

Wichtig ist es, dass man diesen MCS Stresstest richtig einschätzen kann. Er zeigt einem eine systemimmanente mögliche Abweichung von historischen Ergebnissen, die ok ist (ohne dass ein sog. Systembruch vorliegt) - allerdings beschränkt auf ein Marktszenario unter gleichen Marktbedingungen wie bei den historischen Daten! (auch wichtig: es ist immer eine Schätzgrösse und nur eine Komponente für das notwendige Tradingkapital, da da durch andere Bedingungen wie z.B: Margins, Intraday-Schwankungen etc. immer noch ein Aufschlag kalkuliert werden muss).

Möchte man die Systemtauglichkeit jedoch auch unter geänderten Marktbedingungen testen, kommt die sog. Datensimulation ins Spiel. Hiermit sowie mit zusätzlichen Systemtests auf Basis simulierter Daten kann die Eignung des Systems auch unter anderen Bedingungen getestet werden. Der Zen Monte Carlo Simulator bietet hier eine Unterstützung zur Generierung künstlicher Daten über diverse Methoden und Parameter, die sonst am Markt schwerlich zu finden ist.

ciao,
zentrader

YingYang
Mitglied seit 10 Jahre 9 Monate

@Zentrader

Ein Draw-Down ist nach meinem Verständnis immer negativ, weil er einen Verlust bedeutet: Es wird von einem Hochpunkt zu einem Tiefpunkt gemessen.

In #44 sieht man für den Accout-Draw-Down Min einen Wert von +450, das bedeutet im System einen Gewinn!! Das hatte mich stutzig gemacht.

Dein System misst nicht den maximalen DD sondern den niedrigsten Wert der Equity-Kurve bei einer Simulation.

Unter 10000 Messungen von Equity Simulationen-war einmal der niedrigste Wert 450 Euro. Das ist kein Draw-Down!

Der "Account-Drawdown-Mittelwert" bedeutet bei Dir: Der Mittelwert der niedrigsten 10000 Equity-Werte lag bei -472. Das bedeutet nicht, dass der Mittelwert der tatsächlichen DD -472 war! Den kann man in meinem Beispiel ablesen, er um den Faktor 5 größer.

Die Größenordnungen der Mittelwertangaben unterscheiden sich so stark, dass man beim besten Willen nicht von ähnlichen Ergebnissen sprechen kann.

Gruß

YingYang

zentrader
Mitglied seit 10 Jahre 9 Monate

@ YingYang [#45]

Wie schon erklärt, habe ich mich damals entschieden, alle Simulationsläufe bei "0" beginnen zu lassen und für die Tiefstände den Kunstbegriff "Account DD" gewählt. Mag sein, dass ich dies eventuell in einer zukünftigen Version ändere, um solche Verwirrungen zu vermeiden...

Einen grossen Nutzen wird dies aber "unter dem Strich" für die Risikoabschätzung nicht ergeben (siehe Beispiel und Erläuterungen in #44), da der wesentliche Risikowert (der bei mir sog. "max Account DD") sich bei entspr. Mengengerüst nicht gross von Deinem "max. DD" unterscheiden wird. Das kann er ja auch nicht, da es der Simulation per Zufallskomponente "egal" ist, ob die längste DD-Strecke beim ersten Trade oder eben mittendrin in der Simulationsperiode beginnt.

ciao,
Zentrader

YingYang
Mitglied seit 10 Jahre 9 Monate

Hier mal eine andere Simulation.

http://www.spiegel.de/wissenschaft/mensch/0,1518,675530,00.html

Vielleicht kann man damit wetten? Oder lieber doch nicht??

Gruß

YingYang

zentrader
Mitglied seit 10 Jahre 9 Monate

@ YingYang [#45]

vielen Dank nochmals für den Gedankenaustausch.

Ich habe Deine "konstruktive" Kritik so umgesetzt, dass ich in der neuen Version (Zen Monte Carlo Simulator v5.11) eine alternative Berechnungsmethode optional ermögliche, um den dynamischen max DD während der Simulation unabhängig vom Startpunkt des Accounts abzubilden (Option "maxDD Kompatibilität").

Ein mögl. Simulationsergebnis für unser Beispiel (#43, #44) ist als Bild angehängt.

ciao,
zentrader

YingYang
Mitglied seit 10 Jahre 9 Monate

@Zentrader,

die Zahlen entsprechen meinen Zahlen.

Das ist gut für die neue Version (Zen Monte Carlo Simulator v5.11)

Die Zahl Pi kann man mit und ohne Simulation berechnen. Ohne Simulation sind die Ergebnisse genauer.

Kann man Deine Zahlen ebenso ohne Simulation berechnen?

Gruß

YingYang

zentrader
Mitglied seit 10 Jahre 9 Monate

@ YingYang [#49]

die Berechnung der MCS verwendet neben den jeweiligen Systemdaten (aus den historischen Tests) den sog. "Pseudozufallszahlen"-Algorithmus meiner Programmierumgebung (PowerBasic/Win v8.04: http://www.powerbasic.com ) sowie einen eigenen Algorithmus und erzeugt dadurch die Entscheidung bzgl. der Trades.

Ich kann diese sicherlich nur so (also mittels Simulation) berechnen... :-)

ciao,
zentrader

YingYang
Mitglied seit 10 Jahre 9 Monate

@Zentrader,

da wäre ich mir nicht so sicher. Einige Zahlen der Tabelle oben sind mit einfacher Statistik ohne Simulation zu berechnen. :)

Gruß

YingYang

Rückrufservice
Beschreiben Sie bitte Ihr Anliegen, damit wir uns auf den Rückruf vorbereiten können.
Ja, ich habe die Datenschutzerklärung zur Kenntnis genommen und willige ein, dass die von mir angegebenen Daten inklusive der Kontaktdaten zwecks Bearbeitung der Anfrage und für den Fall von Anschlussfragen elektronisch erhoben und gespeichert werden. Meine Daten werden dabei nur streng zweckgebunden zur Bearbeitung meiner Anfrage genutzt und nicht ohne Einwilligung weitergegeben. Diese Einwilligung kann jederzeit mit Wirkung für die Zukunft widerrufen werden.

Jetzt registrieren

Jetzt registrieren und ZMP Live+ 14 Tage kostenlos testen!
  • Dauerhaft kostenfrei
  • Keine Zahlungsinformationen erforderlich