Handelssystem programmieren / es soll nichts kosten
Ich möchte es auch einmal probieren - ein Handelssystem programmieren und mit historischen Daten austesten. Nur weiß ich leider nicht, ob und mit welchen Programm das möglich ist. Weil ich das noch nie gemacht habe, kann es sein, dass ich mich etwas laienhaft ausdrücke, was mir insbesondere die Spezialisten verzeihen mögen.
Und das Schlimmste: Das Programm sollte zumindest in der Versuchsphase wenig bis nichts kosten, d.h., eine Demoversion müsste reichen.
Was möchte ich kombinieren:
a) Zwei gleitende Mittelwerte schneiden sich - der kürzere von unten nach oben. Wobei das Programm in der Lage sein sollte, die verschiedensten Mittelwerten nacheinander automatisch zu kombinieren.
b) Das Kaufsignal wird aber erst dann gegeben, wenn der MACD positiv ist (d.h., die schnellere Linie liegt über der langsameren). Ob dies zum Zeitpunkt des Schneidens der beiden Mittelwerte oder erst später erfolgt, ist dabei egal.
c) Verkauf bzw. G/V-Rechnung: Steigt die zugrundeliegende Aktie innerhalb 30 Tage um mindestens 10 %, beträgt mein Gewinn 100 % des Einsatzes. Ist dies nicht der Fall (Anstieg <10 %), ergibt das einen Totalverlust.
Nochmals zusammengefasst:
Ich kaufe, sobald ein kürzerer Mittelwert einen längeren nach oben schneidet und zusätzlich (entweder gleich oder später) die schnellere MACD-Linie über der langsameren liegt. Ich habe entweder 100 % Gewinn oder 100 % Verlust, je nachdem, ob die Aktie innerhalb eines Monats um mehr als 10 % steigt oder nicht.
Meine Fragen:
+ Kann man so etwas überhaupt programmieren, ohne gleich Mathematik studiert zu haben?
+ Welche Programme wären geeignet?
Vielen Dank für Ihre Antwort
Franz
Hallo,
ich sehe in Ihren Wünschen genau einen Widerspruch: Sie wollen Ihre Ideen möglichst einfach und intuitiv testen, und Sie wollen gleichzeitig möglichst wenig dafür bezahlen.
Wenn Sie es möglichst einfach haben wollen sollten Sie entweder Metastock von equis oder TradeStation von Omega Research kaufen. Das kostet Sie einen ordentlichen Betrag - dafür haben Sie aber auch extrem einfache Programmiersprachen. Beispiel für einen EasyLanguage-Code der TradeStation:
If Average(Close,20) Crosses Over Average(Close,100) Then Buy Next Bar Market;
In Worten: Falls der gleitende Mittelwert der letzten 20 Schlußkurse den gleitenden Mittelwert der letzten 100 Schlußkurse von unten nach oben schneidet kaufen Sie zum Eröffnungskurs des nächsten Zeitintervalls.
Sie bekommen dann zu jedem System sofort eine komplette statistische G/V-Analyse mit allen denkbaren Kenngrößen. Für Metastock gilt das gleiche.
Einfacher geht es kaum! Aber das kostet Sie auch eine Stange Geld. Schauen Sie sich die Angebote im Internet an! Selbst bei gebrauchten Software-Paketen müssen Sie mit ein paar Hundert Euro rechnen.
Wenn Sie es möglichst billig haben wollen empfiehlt es sich selbst eine einfache Programmiersprache wie etwa BASIC, PASCAL, C anzueignen. Für einfache Systeme reichen die aus, erfordern aber gewisse logische Kenntnisse. Das ganze ist mit erheblichem Zeitaufwand verbunden wenn man keine Erfahrung mit prinzipiellen Programmierkonzepten hat. Also nicht für jeden geeignet.
Auf den folgenden Webseiten finden Sie ein Angebot an populären Programmen:
http://www.terminmarktwelt.de/metastock80/ms_start.htm
http://www.tradingsoftware.de/
http://www.tradersworld.net/de/index_de.shtml
Welche Software im Speziellen für Sie geeignet ist hängt davon ab was Sie präzise damit vorhaben. Einige Programme sind z.B. für IntraDay-Handel geeignet, andere nur für EndOfDay. Bestimmte Programme eignen sich für Anfänger, andere für Profis. Über einige Programme kann man sogar direkt handeln und Orders aufgeben, mit anderen nicht. Einige Programme eignen sich vor allem zur grafischen Darstellung von Börsenkursen, andere haben andere Schwerpunkte... usw!
Das System das Sie unten beschrieben haben müßte man sogar in einem Tabellenkalkulationsprogramm wie Microsoft Excel implementieren können - ist aber auch wieder etwas aufwendig.
Gruß!
Hallo,
die rein formeltechnische Erfassung (z.B. das Schneiden der Durchschnittslinien) ist sehr kurz, Beispiel MetaStock:
Teil 1
a:=Mov(C,9,E); {Gleitende 9 Tage Linie}
b:=Mov(C,20,E);{Gleitende 20 Tage Linie}
a:=Mov(C,9,E);
b:=Mov(C,20,E);
g:=MACD();
x:=Mov(MACD,9,E);
Cross(a,b)=1 {9 Tage Linie schneidet 20 Tage Linie von unten}
and g > x {Wenn der MACD größer ist als sein Trigger, ist die Bedingung wahr, ansonsten falsch}
Einschub Beginn
Man könnte auch einen Parameter Systemtest (Durchschnittsliniene von 3 bis 100 Tagen) sehr schnell umsetzen:
a:=Mov(C,opt1,E);
b:=Mov(C,opt2,E);
Hierbei würde MetaStock alle Permutationen (von 3 bis 100 testen) und den für den Testzeitraum optimale Kombination ermitteln.
Einschub Ende
Teil 2
In Deiner Systembeschreibung sind die Handelsregeln wie folgt festgelegt:
Ich kaufe, sobald ein kürzerer Mittelwert einen längeren nach oben schneidet und zusätzlich (entweder gleich oder später) die schnellere MACD-Linie über der langsameren liegt.
Fall 1:
Der MACD liegt bereits oberhalb seines Triggers, das Kaufsignal erfolgt also "verspätet" zum MACD-Signal
a:=Mov(C,9,E);
b:=Mov(C,20,E);
g:=MACD();
x:=Mov(MACD,9,E);
Cross(a,b)=1 and g>x
Fall 2:
Das Kaufsignal durch den Cross der GD's erfolgt zeitlich vor dem MACD Signal, der MACD liegt also unterhalb seines Triggers
a:=Mov(C,9,E);
b:=Mov(C,20,E);
g:=MACD();
x:=Mov(MACD,9,E);
alert(Cross(a,b)=1,5) and cross(g,x)
Zusammengefasst:
a:=Mov(C,9,E);
b:=Mov(C,20,E);
g:=MACD();
x:=Mov(MACD(),9,E);
(Alert(Cross(a,b)=1,5) AND Cross(g,x)) OR (Cross(a,b)=1 AND g>x)
Beispiel Kaufsignale für das "System" mit einer 9 und 20 Tagelinie.
Teil 3
Ich habe entweder 100 % Gewinn oder 100 % Verlust, je nachdem, ob die Aktie innerhalb eines Monats um mehr als 10 % steigt oder nicht.
Lässt sich in dieser Form im Standard nicht testen, auf Anhieb fällt mir auch keine (Standard)Software ein, mit der ein Test in dieser Form möglich ist.
----------------------------------------
Abschliessende Bemerkung
Die Konzeption bzw. das Entwickeln/Testen von Handelssystemen erfordert nicht nur eine gewisse Kenntnis in der Analyse-Software, sondern vor allen Dingen auch zumindest allgemeine Grundkenntnisse im Bezug auf Handelssysteme und ein gewisses logisches Verständnis.
Die Einarbeitung in die Thematik erfordert je nach Vorkenntnissen mehr als nur ein paar Wochen, verfügt man nicht über sehr gute Programmierkenntnisse ist man unweigerlich auf Standardsoftware angewiesen. Ob man sich nun für MetaStock, Investoxx, Neuroshell oder Tradestation entscheidet, ist dabei dann eher nebensächlich.
Eine kostenlose Alternative wäre http://www.wealth-lab.de , allerdings sind die oben kurz beschriebenen Grundkenntnisse auch hier unerlässlich.
Es ist ein weit verbreiteter Irrglaube, dass es möglich ist, mit reinen Signal-Systemen Geld zu verdienen, ein System besteht i.d.R. aus weiteren Komponenten, z.B. Stops, Exits, Positionsgrößen.
Das obige System führt unweigerlich nach einer nicht allzu langen Zeit zu einem Totalverlust des Geldes.