Type/to search
0
Follow
48
Followers
Quantitative Pattern Rate Trading-Strategie
Discussions
Created 2020-02-05 13:23:07  Updated 2023-10-17 21:19:29
 7
 5526

img

über uns

Dieses Handelssystem ist泊宇量化Ich war Mitglied eines Teams, das sich schon sehr früh der Erforschung quantitativer Strategien widmete.
Im vergangenen Jahr erzielte der quantitative Tokeninsight-Wettbewerb hervorragende Ergebnisse.

Außerdem bin ich der FMZ-Community sehr dankbar, dass sie eine solche Plattform bereitstellt.
Um den Aufbau der quantitativen Community besser zu unterstützen, werden das Designkonzept und die Designideen dieser Strategie nun hier öffentlich veröffentlicht.
Ich hoffe, dass jeder daraus etwas über die Gestaltung und Anwendung des quantitativen Handels lernen kann.

Der Ursprung der quantitativen Pattern Rate Trading-Strategie

Die Inspiration für das quantitative Schreibratensystem stammt hauptsächlich aus der Physik
Die Definition von Geschwindigkeit in der Physik lautet: die pro Zeiteinheit zurückgelegte Strecke.
Wenn der Preis als Entfernung betrachtet wird, dann ist auf dem Finanzmarkt die Geschwindigkeit als Ausmaß der Preisänderung pro Zeiteinheit definiert.
Ändert sich der Preis innerhalb einer Zeiteinheit stark, wird ein solcher Markt üblicherweise als schneller Markt bezeichnet; ändert sich der Preis innerhalb einer Zeiteinheit sehr wenig, wird ein solcher Markt als langsamer Markt bezeichnet. Daher ist Geschwindigkeit das Naturgesetz, das Zeit und Preis verbindet. Ein tiefgreifendes Verständnis der Geschwindigkeit kann uns helfen, diesen Markt besser zu verstehen.
Wenn der Kurs steigt, bedeutet das, dass die Energie zunimmt, was den Aufwärtstrend des Marktes effektiv vorhersagen kann.
Sinkt der Kurs, bedeutet dies einen Energieausfall und es besteht die Gefahr einer stagnierenden oder fallenden Marktentwicklung.
Zum Abschließen jeder Transaktion wird eine bestimmte Anzahl von Lots verwendet; man spricht daher von einem quantitativen Musterzinshandelssystem.

Erforderliche Kenntnisse

Höchster Preis (HHV): Der höchste Preis, der während eines bestimmten Zeitraums erreicht wurde.
Niedrigster Preis (LLV): Der niedrigste Preis, der während eines bestimmten Zeitraums erreicht wurde.
Gleitender Durchschnitt (MA) : Eine Linie, die die durchschnittlichen Schlusskurse eines bestimmten Zeitraums verbindet.
Regressionssteigung (SLOPE): Die Steigung der linearen Regression für einen bestimmten Zeitraum. (Das nennen wir Rate)

Die OLS-Steigungsformel für lineare Gleichungen lautet wie folgt:
img
Die mathematische Formel ist sehr kompliziert, aber die FMZ-Plattform hat die Grammatikformel bereits für uns geschrieben (SLOPE).
Wir schauen uns das Grammatikhandbuch der Sprache Mai an und sehen, dass der Algorithmus wie folgt ist:

img
Der Vorgang ist etwas kompliziert, aber Sie müssen nicht zu viel darüber nachdenken. Rufen Sie die Formel einfach direkt auf.

Ausführung der Indikatoren:

1. Berechnen Sie zunächst die höchsten und niedrigsten Preise innerhalb eines bestimmten Zeitraums
2. Nehmen Sie den Durchschnitt dieser beiden Preise
3. Berechnen Sie einen gleitenden Durchschnitt des Mittelwerts
4. Ermitteln Sie die Regressionssteigung des gleitenden Durchschnitts

img

Durch das Design des Indikators führen wir einen Backtest durch und können sehen, dass wir im Hauptdiagramm den höchsten Punkt von 35 Zyklen erhalten (gelbe Linie),
Die niedrigsten Punkte (grüne Linie), ihr Durchschnitt (rote Linie) und der aus der roten Linie berechnete geglättete Preisdurchschnitt (dicke violette Linie)
img

Anschließend können wir die Regressionssteigung ss in der beigefügten Abbildung berechnen, die die Anstiegs- und Abfallrate des gleitenden Durchschnitts darstellt.
img

Gestaltung der Handelsstrategie:

Wie aus der obigen Abbildung ersichtlich, zeigen die grünen Pfeile die Wendepunkte an, an denen die Steigung am geringsten ist, und die orangefarbenen Pfeile zeigen die Wendepunkte an, an denen die Steigung am höchsten ist.
Wie in der K-Linie des Diagramms dargestellt, können wir auch die Abschwächung des Anstiegs und die Abschwächung des Rückgangs deutlich spüren.
Wenn Sie an den Wendepunkten kaufen und verkaufen, können Sie im Voraus wirksame Operationen am Markt durchführen, anstatt Hochs hinterherzujagen und bei Hochs oder Tiefs zu verkaufen.

Die Gestaltungsidee ist:
Eine steigende Steigung bedeutet, dass die Marktdynamik zunimmt, was zu einem Stopp des Rückgangs oder einem Anstieg führen kann.
Eine abnehmende Steigung bedeutet, dass die Dynamik des Marktes nachlässt und der Kurs möglicherweise nicht mehr steigt oder fällt.

Der in der Sprache Mai erstellte Ausdruck lautet wie folgt:
img

Backtesting und Zusammenfassung

Damit haben wir den Entwurf dieses Algorithmus abgeschlossen. Als nächstes werden wir das System verwenden, um die Situation ein Jahr lang einem Backtest zu unterziehen.

Der Basiswert ist der OKEX-Quartalsvertrag BTC;
Der Backtestzeitraum erstreckt sich vom 1. Januar 2019 bis heute, mit einer Zeitspanne von 1 Stunde;
Das Eröffnungskonto verfügt über 3 BTC und die Bearbeitungsgebühr beträgt 50.000;
Legen Sie die Anzahl der Lots pro Transaktion fest und geben Sie 200 ein.

img
Durch Backtesting können wir erkennen, dass diese Rendite relativ gleichmäßig und stabil ist.
Bei diesem Backtest gab es im Laufe des Jahres 1.261 Transaktionen;
Geschätztes Einkommen: 4,68 Münzen;
Die annualisierte Rendite beträgt ungefähr 140 %;
Maximaler Drawdown 14 %;
Sharpe-Ratio 0,117.

Quellcode-Freigabe:

Klicken Sie hier, um die Strategie zu kopieren: https://www.fmz.com/strategy/183416
Das oben Gesagte sind einige meiner Ideen und Inhalte. Das Folgende ist der vollständige Code der Mai-Sprache.
Zu Ihrer Information, für Ihr Studium und Ihre Forschung. Wenn Sie nachdrucken möchten, geben Sie bitte die Quelle an, danke.

(*backtest start: 2019-01-01 00:00:00 end: 2020-02-03 00:00:00 period: 1h exchanges: [{"eid":"Futures_OKCoin","currency":"BTC_USD"}] args: [["TradeAmount",200,126961],["ContractType","quarter",126961]] *) len:=35;//设计周期数 hh^^HHV(H,len);//取一定周期内的最高价 ll^^LLV(L,len);//取一定周期内的最低价 hl2^^(hh+ll)/2;//最高价、最低价的平均值 avg^^MA(hl2,5);//对平均值计算平滑移动均线 ss:SLOPE(avg,len);// 对均线计算回归斜率 ss<REF(ss,1),SPK;//当斜率变小说明行情动能减弱,有下跌趋势,平多做空 ss>REF(ss,1),BPK;//当斜率变大说明行情动能不断增加,有上升趋势,平空做多 AUTOFILTER;
Related Recommendations
Comment
All comments (7)

    一年交易一千多次,算上手续费直接爆炸了。

    6 years ago

    好厉害,这么简洁漂亮的代码。有个疑问,为什么同样的代码和回测条件,在不同交易所的回测结果差距会比较大?比如OKEX期货和huobiDM,前者和后者的预估收益分别是4.68和1.99个币。

    6 years ago

    季度和永续的价格会本来就会有偏差,另外可能是手续费张数计算的不同吧。

    6 years ago

    并且这个回测,都是固定200张,做空的话相当于减仓接近套保了,做多是加杠杆了,总的来说还是偏多头啊。

    6 years ago

    横看成岭侧成峰。

    6 years ago

    请教下,如果是速率的化,不应该是最大值减最小值吗,为啥取最大值加最小值的平均值呢

    6 years ago

    这是唐奇安通道中轨,最大减最小只是差值。

    6 years ago
  • 1
iPhone Download
Forums
PINE Language
© 2015 - ∞ INVENTOR PTE LTD (SG)