Umkehrung der Hochfrequenz-Handelsstrategie auf Basis der Schattenlinie

Schriftsteller:ChaoZhang, Datum: 2024-01-24 11:39:31
Tags:

img

Übersicht

Dies ist eine Hochfrequenz-Handelsstrategie, die auf der 3-minütigen K-Linie der Coinbase-Börse basiert. Sie berechnet die oberen und unteren Schattenlinien der K-Linie, um festzustellen, ob es kurzfristig eine Umkehrmöglichkeit gibt.

Grundsätze

Die Strategie beurteilt hauptsächlich, ob es kurzfristig Chancen für "Überkauf" oder "Überverkauf" gibt. "Überverkauf" und "Überkauf" entstehen in der Regel aus übermäßig optimistischen oder pessimistischen Emotionen auf dem Markt.

Insbesondere berechnet die Strategie die Größe der oberen und unteren Schattenlinien der K-Linie. Je größer die Schattenlinie, desto intensiver ist die Konfrontation zwischen Kaufkraft und Verkaufskraft vor dem Schließen der aktuellen K-Linie. Wenn die oberen Schattenlinien zu groß sind, bedeutet dies, dass viele Kauforders vor dem Schließen der K-Linie durch Verkaufsaufträge besiegt wurden, was darauf hindeutet, dass die bullische Macht schwächeln wird. Wenn die unteren Schattenlinien zu groß sind, bedeutet dies, dass viele Verkaufsaufträge vor dem Schließen der K-Linie durch Kauforders absorbiert wurden, was darauf hindeutet, dass die bärische Macht schwächeln wird.

Nach dieser Logik wählt die Strategie, wenn die Schattenlinie zu groß ist (d. h. wenn der Preis kurzfristig überkauft oder überverkauft erscheint), eine Position, die dem Trend entgegengesetzt ist.

Analyse der Vorteile

Der größte Vorteil dieser Strategie besteht darin, die kurzfristigen irrationalen Schwankungen des Marktes zu nutzen, um eine umgekehrte Arbitrage zu erreichen.

Ein weiterer Vorteil ist, dass Coinbase eine Börse mit größeren Schwankungen ist.

Risikoanalyse

Das größte Risiko, mit dem diese Strategie konfrontiert ist, ist, dass kurzfristige Kursschwankungen möglicherweise nicht viel Vorhersagbarkeit haben. Die Größe der oberen und unteren Schattenlinien kann nicht vollständig alle Informationen über Preisumkehrungen erfassen. Irrationale Emotionen der Händler folgen möglicherweise auch nicht logischen Regeln. Daher besteht in dieser Strategie immer noch ein gewisses Zufallsrisiko.

Darüber hinaus ist die Einstellung von Stop-Loss-Punkten ebenfalls von entscheidender Bedeutung. Zu lockere Stop-Loss-Punkte können den Verlust der Strategie erhöhen. Zu strenge Stop-Loss-Punkte können Chancen verpassen. Es muss ein Gleichgewicht zwischen Risiko-Belohnung-Verhältnis und Gewinnrate gefunden werden.

Optimierungsrichtlinien

Diese Strategie kann in folgenden Dimensionen weiter optimiert werden:

  1. Verschiedene Handelsvarianten testen, wie beispielsweise volatilere Kryptowährungen
  2. Optimierung der Einstelllogik von Stop-Loss-Punkten, z. B. Stop-Loss in Kombination mit ATR
  3. Hinzufügen von maschinellen Lernmodellen, um die Wahrscheinlichkeit einer Preisumkehr zu beurteilen
  4. Kombination von Stimmungsindikatoren zur Messung des Marktoptimismus/Pessimismusindex
  5. Optimierung der Positionsgröße und der Geldmanagementstrategien

Zusammenfassung

Insgesamt ist diese Strategie eine typische statistische Arbitrage-Strategie. Sie versucht, kurzfristige irrationale Preisschwankungen zu nutzen, um Gewinne zu erzielen, mit etwas Logik und Machbarkeit. Der nächste Schritt besteht darin, Optimierungsexperimente aus mehr Dimensionen durchzuführen, um die Parameter-Einstellungen und Handelsregeln der Strategie wissenschaftlicher und systematischer zu machen.


/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
//for coinbase, 3min logic
//This strategy trades against the short term trend. The first position can be either long or short.
//In the short term, prices fluctuate up and down on wide spread exchanges.
//And if the price moves to one side, the price tends to return to its original position momentarily.
//This strategy set stop order. Stop price is calculated with upper and lower shadows.

strategy("ndb_mm_for_coinbase_btcusd", overlay=true, initial_capital=100000, slippage=50)

fromyear = input(2019, minval = 2017, maxval = 2100, title = "From Year")
frommonth = input(12, minval = 1, maxval = 12, title = "From Month")
fromday = input(1, minval = 01, maxval = 31, title = "From day")
toyear = input(2100, minval = 1900, maxval = 2100, title = "To Year")
tomonth = input(12, minval = 01, maxval = 12, title = "To Month")
today = input(31, minval = 01, maxval = 31, title = "To day")
end = true

length = input(3, title="period")
mag = input(1.2, title="sigma", minval=0.1, step=0.1)

up_shadow = abs(high - max(open, close))
dn_shadow = abs(low - min(open, close))

up_shadow_ma = sma(up_shadow, length) * mag
dn_shadow_ma = sma(dn_shadow, length) * mag

upper = close + dn_shadow_ma
lower = close - up_shadow_ma

plot(upper, color=red)
plot(lower, color=blue)

if strategy.position_size == 0
    strategy.entry("Long", strategy.long)

if 0 < strategy.position_size
    strategy.entry("Short", strategy.short, stop=lower, when=end)

if 0 > strategy.position_size
    strategy.entry("Long", strategy.long, stop=upper, when=end)

Mehr