Anlageentscheidungen abseits von "Bauchgefühl" und "Expertenmeinungen"

Ein Handelssystem ist in der Regel eine Kombination verschiedener Indikatoren, die in einer Art und Weise zusammenwirken, dass sie zukünftige Marktentwicklungen erfolgreich prognostizieren können. Ob es sich bei diesen Indikatoren um Trendfolgeindikatoren oder Oszillatoren (erkennen überkaufte/überverkaufte Situationen) handelt, ist jedem Programmierer selbst überlassen. Auch eine Kombination aus beiden oder der Einbezug von fundamentalen Daten ist möglich. Ich halte es mit folgendem Credo: Ein erfolgreiches Handelssystem sollte nicht zu viele Parameter, sprich Indikatoren, beinhalten. 

Wer das Internet nach Anregungen und Ideen für erfolgsversprechende Strategien durchforstet wird schnell fündig. Wenn es dann aber darum geht, die Idee in einer Strategie zu programmieren, offenbart sich meist das erste Hindernis: Viele Strategien haben keine feste Regeln, d.h. Ausstiege sollen oft nach Bauchgefühl getimt werden oder andere Märkte werden für Ein- oder Ausstiegssignale herangezogen. Solche vagen Formulierungen sind für ein System mit harten Regeln natürlich Gift.

Sollte die aufgezeigte Strategie allerdings doch programmierbar sein, muss ich viele enttäuschen: Ich habe die Erfahrung gemacht, das die meisten Strategien nur zeitlich beschränkt funktionieren und auf eine längere Backtestingperiode bezogen ein negatives Ergebnis liefern.

Wer sich davon trotzdem nicht entmutigen lassen will, dem empfehle ich seine Strategie nach erfolgreicher Programmierung auf Herz und Nieren zu testen. Viele der Softwaresysteme (Übersicht einiger Anbieter findet ihr hier) ermöglichen eine Optimierung der Parameter. Das ist Fluch und Segen zugleich, denn was bedeutet das: Die Parameter meines Systems werden für den getesteten Zeitraum so angepasst, dass sie das beste Ergebnis liefern. Für einen wirklich langen Zeitraum kann das unter Umständen repräsentativ sein, je kürzer der Zeitraum und je mehr Parameter verändert werden, desto unwahrscheinlicher wird es, dass sich das positive Ergebnis im Live Trading wiederholen lässt. Im Kapitel "Out of Sample Testing" gehe ich auf eine validere Variante ein. Andererseits bietet die Optimierung die Möglichkeit, einen ersten Eindruck der Strategie zu bekommen: Sind von den 10 000 getesteten Optimierungsmöglichkeiten 90% gewinnbringend, so scheint die Grundidee richtig gewesen zu sein. Denn (fast) unabhängig davon welche Parameterwerte benutzt werden, das Ergebnis ist positiv. Im Feintuning können dann beispielsweise überflüssige Indikatoren entfernt werden.

Algorithmisches Handeln

Auf dieser Seite findet ihr wertvolle Informationen zum Thema Algorithmen, Testen von Algorithmischen Handelssystemen und zu Guter letzt Handelssignale auf Grundlage von mir programmierter Systeme. Gerne könnt ihr auch meinen kostenlosen Signalservice abonnieren.


Technische Analyse: Manuell VS automatisiert

Das Herzstück des Automatischen Handels ist das Testen der Strategie, des Algorithmus! Hier zeigt sich, ob der Algorithmus in der Realität funktionieren kann!

Ein erfolgreiches Backtesting garantiert noch kein profitables Live Trading. Neben dem Out of Sample Testing und einer möglichen Monte-Carlo Simulation, gibt es zusätzlich einiges zu beachten: Ist die Anzahl der Trades im Backtesting Zeitraum zu gering, ist der Test statistisch gesehen nicht signifikant. So kann es durchaus vorkommen, dass 10-30 Trades alle erfolgreich waren, diese Anzahl aber zu gering ist als das der Test repräsentativ ist. Der Backtesting Zeitraum sollte möglichst so groß gewählt werden, dass alle Marktphasen beinhaltet sind: Volatile Kurseinbrüche, langsame Uptrends mit geringem Volumen, genauso wie langwierige Seitwärtstrends.

Manuelles VS Automatisiertes Backtesting: Soll eine (einfache) Strategie, basierend auf 1-2 Indikatoren in einem großen Zeithorizont (1 Woche/ 1 Monate Timeframe (Kerze)) getestet werden, so ist das manuell durchaus möglich, um einen ersten Gesamteindruck von der Profitabilität des Systems zu gewinnen. Wird eine Strategie auf einem kleinen Zeitfenster (Tick/ 1 Minute/ 5 Minute) über einen großen Zeitraum getestet (7-10 Jahre) wird eine große Anzahl an Bars (Kerzen) miteinbezogen: Bei einem FX-Devisenpaar (Handelszeit 24 Std./ 5 Tage pro Woche) wären das bei ~250 Handelstagen von einem 5 Minuten Chart ausgehend 360 000 Bars/ Jahr. Ein manuelles Testen wäre hier zu aufwendig, Backtesting Software kann den Nutzer hier unterstützen.

 

 


Ideen umsetzen

Wer Zeit und Motivation mitbringt, dem rate ich sich mit der Programmiersprache seines Softwareanbieters seiner Wahl zu beschäftigen. Ninjatrader(C/C#), Multicharts oder Tradestation (beide Easy Language) basieren auf verschiedenen Programmiersprachen, Easy Language (Pascal ähnlich) ist für den Laien sicherlich leichter zu erlernen als C#. Denn wer will schon immer auf einen Programmierer angewiesen sein, da a) ein Handelssystem nach einer gewissen Zeit wieder neu ausgerichtet werden muss, b) es diesen Service in der Regel nicht umsonst gibt.

 

Ich bin trotzdem gerne bereit, mir Ideen und Handelsstrategien zum DAX, Euro, Bund-Future oder anderen Underlyings anzuhören und diese auch zu programmieren. In der Regel kann ich relativ schnell abschätzen, ob eine Idee erfolgreich sein wird oder nicht. Wenn ich die Zeit habe, mache ich das gerne, schreibt mich einfach an!