M Sprache Schildkrötenhandelsstrategie Umsetzung ((V 1.0)

Schriftsteller:Kleine Träume, Datum: 2018-12-29 09:07:24 Uhr
Tags:Handel mit SchildkrötenMyLanguage

Hintergrund

1994 nahm Covel eine Ausgabe von Financial World auf und durchblätterte einen Artikel mit dem Titel "Wall Street's TopPlayers". Robertson,Covel bemerkte einen Namen, den er auf Platz 25 der Liste nicht erkannte: R. Jerry Parker, der erklärte, dass er als "Turtle" von Richard Dennis ausgebildet wurde (ein anderer Name, den Covel nicht erkannte).

Zusammenfassung

Nach einer Diskussion mit seinem Partner William Eckhardt darüber, ob Handel gelernt werden kann oder ein angeborenes Talent, schlugen sie vor, Ein Experiment, bei dem sie zwei Wochen lang Anfänger in der Wissenschaft des Handels trainierten und ihnen dann jeweils eine Million Dollar gaben, um zu investieren. Sie gingen zu einer Schildkrötenzuchtfarm in Singapur und sagten: Wir werden Händler ebenso züchten wie Schildkröten.

Obwohl jeder der 1.000 Bewerber einen strengen Bewerbungsprozess durchlaufen hat, der darauf abzielt, ihre Intelligenz, ihre Fähigkeit zum Risikomanagement und ihre mathematischen Fähigkeiten zu testen, ist die Zusammensetzung der Bewerber Die ausgewählten Schildkröten unterschieden sich stark. Sie umfassten einen in der Tschechoslowakei geborenen Blackjack-Meister, einen Dungeons and Dragons-Spiele-Designer, einen evangelischen Buchhalter, einen Harvard MBA, Die Turtles würden in vier Jahren über 150 Millionen Dollar einbringen.

Handelsregeln:

Bei der Erfassung von Trendsignalen verwendet das Schildkrötenhandelsgesetz einen sehr wichtigen technischen Indikator, den Donchian-Kanal. Es ist jedoch etwas anders in Bezug auf die spezifischen Berechnungen.

Richard Donchian erfand diesen Indikator. Er besteht aus drei Kurven unterschiedlicher Farben. Der Indikator verwendet den höchsten Preis innerhalb der Periode (in der Regel 20, einige Plattformsystem Einige können nicht eingestellt werden) Und der niedrigste Preis, um die Volatilität des Marktpreises zu zeigen, wenn der Kanal eng ist, bedeutet dies, dass die Marktvolatilität ist Die Marktvolatilität ist relativ groß, da die Kanalbreite ansonsten gering ist.

Wenn der Preis die obere Spur des Kanals durchbricht, handelt es sich um ein mögliches Kaufsignal; im Gegenteil, es handelt sich um ein mögliches Verkaufssignal, wenn er die untere Spur durchbricht.

Die Berechnungsmethoden für den Donchian-Kanal sind wie folgt:

Höhere Schiene = Max (höchste, n), der höchste Wert des höchsten Preises von n Tagen

Unterstrecke = Min (niedrigster Preis, n), der Mindestwert des niedrigsten Preises von n Tagen

Mittlere Schiene = (obere Schiene + untere Schiene)/2

Im Rahmen der Multifaktoranalyse im Finanzsektor wird mit dieser Strategie die Preisentwicklung nach dem Durchbruch auf der Grundlage der Validitätshypothese der Die Wirksamkeit dieses Faktors ist natürlich streng überprüft und durch das Fama-Französische Drei-Faktor-Modell ergänzt worden und wird in Finanzmärkte.

Natürlich können wir vernünftigere Indikatoren optimieren und verwenden.

Da der Impulsfaktor ein Faktor ist, der öffentlich und weit verbreitet verwendet wurde, warum kann sich dann das Schildkrötenhandelsgesetz von der Masse abheben? Die Handelsregeln definieren eine Reihe sehr strenger Regeln für die Positionskontrolle und den Stop-Loss.

    1. Die Grundstückseinheit der Position N

    Das Prinzip der Schildkrötenregel besteht darin, eine kleine Einheit (Einheit) so zu definieren, daß die erwartete Wertschwankung der Position 1% des gesamten Nettovermögens entspricht. Wenn die Vermögenswerte dieser kleinen Einheit gekauft werden, ändert sich der Marktwert der Position an diesem Tag nicht um mehr als 1% des Gesamtnettovermögens.

    Wie definieren Sie diese kleine Einheit? Wie schätzen Sie die Wertschwankungen, die diese kleine Einheit bringen kann? Die spezifische Berechnungsformel lautet wie folgt:

    TrueRange = Max ((Hoch-Niedrig, Hoch-Vor-Schließen, Vor-Schließen-Niedrig)

    N = (die Summe der N-Werte der letzten 19 Tage + der zu diesem Zeitpunkt gültigen TrueRange) / 20

    Unter ihnen zeigt High den höchsten Preis des Tages, Low den niedrigsten Preis des Tages und PreClose den Schlusskurs des vorherigen Tages an. die Definition, dass der Wert von N tatsächlich die jüngsten Kursschwankungen des Vermögenswerts richtig ausdrücken kann.

    Daher sollte eine Einheit folgendermaßen berechnet werden:

    Einheit = (1%*Total_net)/N, Total_net ist der Gesamtwert des Vermögenswertes

    Die Preisvolatilität der Vermögenswerte einer Einheit = 1% der gesamten Nettovermögen

    1. Wann eine Position eröffnet werden soll

    Wenn der aktuelle Preis durch die obere Spur bricht, wird eine Kaufposition generiert. Wenn der aktuelle Preis unter die untere Spur fällt, wird ein Short-Positionssignal generiert (der Kryptowährungsmarkt wird durch den Leerverkauf unterstützt!)

    Erste Baugröße = 1 Einheit

    1. Wann ist die Add-Position?

    Wenn es sich bei der Holdingposition um Long-Positionen handelt und der Kurs des Vermögenswerts auf der Grundlage der letzten Holdingposition (oder der addierenden Position) um 0,5 N gestiegen ist, wird eine Long-Positions-Einheit hinzugefügt;

    Wenn es sich bei der Halteposition um eine Leerposition handelt und der Kurs des Vermögenswerts auf der Grundlage der letzten Position (oder der addierenden Position) um 0,5 N gefallen ist, wird eine Leerpositionseinheit hinzugefügt.

    Wir haben gesehen, dass die Schildkrötenstrategie eigentlich eine Strategie ist, die nach oben und unten jagt.

    1. Wie wird ein dynamischer Stop-Loss ausgeführt?

    Wenn es sich bei der Holdingposition um Long-Positionen handelt und der Preis des Vermögenswerts auf der Grundlage der letzten Holdingposition (oder der Additionsposition) um 2N sinkt, wird für alle Positionen ein Stop-Loss festgelegt.

    Wenn die Halteposition eine Leerposition ist und der Preis des Vermögenswerts auf der Grundlage der letzten Halteposition (oder Summierungsposition) um 2N gestiegen ist, muss die gesamte Position geschlossen werden.

    Natürlich kann der Benutzer den dynamischen Stop-Loss-Plan anpassen, z. B. einen 0,5N-Rückgang, um eine teilweise Schließposition zu starten, anstatt auf einen 2N-Rückgang nach einem Rush zu warten, um die Position zu schließen. Die Kommission ist der Ansicht, daß die Kommission in diesem Bereich eine wichtige Rolle spielen muß.

    1. Wie macht man einen Gewinn, kann man die Dynamik des Gewinns anpassen?

    In der Schildkrötenregel wird das Take-Profit-Signal wie folgt generiert:

    Wenn es sich bei der Halteposition um Long-Positionen handelt und der aktuelle Vermögenswertpreis unter den unteren Bereich des 10. Donchian-Kanals fällt, werden alle Positionen geschlossen.

    Wenn die Holdingposition eine Shortposition ist und der aktuelle Vermögenswert über den oberen Bereich des 10. Donchian-Kanals steigt, werden alle Positionen geschlossen.

    Natürlich können die Benutzer den dynamischen Gewinnplan anpassen, z. B. wenn das Gesamtnettovermögen / das anfängliche Nettovermögen > 1,5 ist, nehmen Sie einfach den Gewinn.

Vorteil

Der größte Vorteil des Schildkrötenhandelsgesetzes besteht darin, uns zu helfen, eine effektive Methode zur Kontrolle der Größe der Position zu etablieren.

Nachteile

Das Schildkrötenhandelssystem hat ein gemeinsames Problem mit der Trend-Tracking-Strategie, nämlich den Rückzug des schwimmenden Gewinns. Der Markt ist im großen Trend sehr stark und im Schockmarkt nicht sehr gut.

Genug Gerede, machen wir es!

Sprache M

Nach 6 Jahren Entwicklung hat es Feedback von Hunderttausenden von Nutzern aufgenommen. Es ist eine reife und stabile Modellentwicklungsplattform. in China weit verbreitete Programmatic Model Development Plattform.

Die M-Sprache befürwortet das Konzept der Bausteinprogrammierung, das komplexe Algorithmen in einzelne Funktionen einpackt und den Konstruktionsmodus von small annimmt. Obwohl die Grammatik einfach ist, kann es auch logische und komplexe Finanzanwendungen mit einer speziellen programmatischen Datenstruktur und einer reichen Finanzstatistik-Funktionsbibliothek unterstützen.

Die Funktionsbibliothek der M-Sprache wird häufig aktualisiert, und neue Funktionen können jederzeit entsprechend den neuen Anforderungen des Kunden hinzugefügt werden, um die neuen Ideen und neue Anwendungen des Programmierers.

Der FMZ Quant realisierte nicht nur den Interpreter der Grammatik der M-Sprache, sondern verbesserte auch seine Fähigkeit, Programmierung mit Hochleistungssprachen wie JavaScript zu mischen.

Zum Beispiel:

// hier können Sie jede API-Funktion von FMZ Quant anrufen Scope.TEST = Funktion (obj) { Rückgabe von obj.val * 100; - Ich weiß. Schlusskurs: C;

Der Schlusskurs wird 100-mal vergrößert: TEST©;

Der vorherige Schlusskurs wird 100-mal vergrößert: TEST(REF(C, 1)); // Die Maus bewegt sich zur Backtest-K-Linie und der Variablenwert wird angezeigt.

img
img


(*backtest
start: 2018-11-01 00:00:00
end: 2018-12-19 00:00:00
period: 1d
exchanges: [{"eid":"Futures_BitMEX","currency":"XBT_USD"}]
args: [["ContractType","XBTUSD",126961]]
*)

// this demonstration mainly uses the Turtle Trading Rules to demonstrate the method of writing "position management, maximum position control and other fund management".
// only the demonstration key content statement is annotated, other statements please consult customer service
//This model is only used to demonstrate the use of this strategy, and enters the market accordingly, at your own risk.

TR:=MAX(MAX((HIGH-LOW),ABS(REF(CLOSE,1)-HIGH)),ABS(REF(CLOSE,1)-LOW));// True volatility
ATR:MA(TR,26); // Find a simple moving average of the true amplitude in 26 cycles, shown in the figure
ZOOM:=IFELSE(ISCONTRACT('@Futures_(?!CTP).*'), CLOSE, 1); // Compatible with cryptocurrency futures as margin
LOT:=((MONEYTOT*0.01*ZOOM)/(UNIT*ATR))*ZOOM;// Calculate the number of one hand based on 1% of equity
TC..IFELSE(ISCONTRACT('@Futures.*'), INTPART(LOT), LOT); // Compatible futures and spot ISCONTRACT starts with @ to indicate matching exchange name, support
MTC..4*TC; // Total position
HH^^HV(H,20); // Attached to the main image display
LL^^LV(L,20); // Attached to the main image display
CROSSUP(C,HH)&&ISLASTBK=0&&ISLASTSK=0&&BARPOS>=26,BK(TC);// The latest price exceeds the highest value of 20 cycles, the first time to buy long, the quality is TC hands
CROSSDOWN(C,LL)&&ISLASTBK=0&&ISLASTSK=0,SK(TC); // The latest price fell below the lowest value of 20 cycles, the first time to sell short, the quality is TC hands 
C>=BKPRICE+0.5*ATR&&BKVOL<MTC&&ISLASTBK,BK(TC);// The price has increased by 0.5 times ATR on the basis of the last holding position, and when the number of hands does not exceed 4 times of TC, buy long the adding position of TC hands
C<=SKPRICE-0.5*ATR&&SKVOL<MTC&&ISLASTSK,SK(TC);// The price fell 0.5 times ATR on the basis of the last holding position, and when the number of hands does not exceed 4 times of TC, sell short the adding position of TC hand.
C<=(BKPRICE-2*ATR)&&BKVOL>0,SP(BKVOL);// The latest price is less than the opening price minus 2 times of ATR, stop loss and close position
C>=(SKPRICE+2*ATR)&&SKVOL>0,BP(SKVOL); // The latest price is greater than the opening price plus 2 times of ATR, stop loss and close position
CROSSUP(H,HV(H,10))&&SKVOL>0,BP(SKVOL);// The highest price up-cross the highest price of 10 cycles, closing the position
CROSSDOWN(L,LV(L,10))&&BKVOL>0,SP(BKVOL); // The lowest price down-cross the lowest price of 10 cycles, closing position
TRADE_AGAIN(10);

Verwandt

Mehr