Random Fisher Transform Temporary Stop Reverse STOCH Indikator Quantitative Strategie

Schriftsteller:ChaoZhang, Datum: 2024-01-02 11:14:12
Tags:

img

Übersicht

Die Kernidee dieser Strategie besteht darin, den Random Fisher Transform und den temporären Stop Reverse STOCH-Indikator zu kombinieren, um Kauf- und Verkaufsentscheidungen zu treffen.

Strategieprinzip

Diese Strategie berechnet zuerst den Standard-STOCH-Indikator und führt dann eine Fisher-Transformation durch, um den INVLine zu erhalten. Wenn der INVLine über die untere Schwelle dl überschreitet, wird ein Kaufsignal generiert. Wenn der INVLine unter die obere Schwelle ul überschreitet, wird ein Verkaufssignal generiert. Gleichzeitig setzt diese Strategie auch einen Trailing-Stop-Mechanismus, um Gewinne zu erzielen und Verluste zu reduzieren.

Insbesondere ist die Kernlogik dieser Strategie folgende:

  1. Berechnung des STOCH-Indikators: Verwenden Sie die Standardformel zur Berechnung des schnellen STOCH-Wertes des Bestands
  2. Fisher-Transform: Führen Sie eine Fisher-Transformation am STOCH-Wert durch, um INVLine zu erhalten
  3. Erstellen Sie Handelssignale: Kaufen, wenn die INVLine über der dl liegt, verkaufen, wenn sie unter der ul liegt
  4. Trailing Stop: Ein temporärer Stop-Tracking-Mechanismus für einen zeitnahen Stop-Loss aktiviert

Analyse der Vorteile

Die wichtigsten Vorteile dieser Strategie sind:

  1. Die Fisher-Transformation verbessert effektiv die Empfindlichkeit des STOCH-Indikators und kann Trendenumkehrmöglichkeiten früher erkennen
  2. Der vorübergehende Trailing Stop-Mechanismus kann Risiken wirksam kontrollieren und Gewinne sichern
  3. Es eignet sich für mittelfristige Geschäfte, insbesondere für den derzeit beliebten hochfrequenten quantitativen Handel.
  4. Es erwirtschaftet gute Ergebnisse unter stabilen Marktbedingungen mit stetigen Renditen

Risikoanalyse

Diese Strategie birgt auch einige Risiken:

  1. Der STOCH-Indikator ist anfällig für falsche Signale, was zu unnötigen Handelsspielen führen kann.
  2. Die Fisher-Transformation verstärkt auch das Rauschen des STOCH-Indikators, was zu mehr falschen Signalen führt
  3. Es ist leicht, Verluste in schwankenden Märkten zu stoppen und keine nachhaltigen Gewinne zu erzielen
  4. Für die Erlangung von Alpha sind relativ kurze Haltungszeiten erforderlich.

Um diese Risiken zu mindern, sollten folgende Aspekte optimiert werden:

  1. Einstellung der STOCH-Parameter, um die Kurve zu glätten und Lärm zu reduzieren
  2. Optimierung von Schwellenlinie-Positionen zur Verringerung falscher Handelswahrscheinlichkeiten
  3. Hinzufügen von Filterbedingungen, um den Handel auf oscillierenden Märkten zu vermeiden
  4. Anpassung der Haltedauer an den Betriebszyklus

Optimierungsrichtlinien

Zu den wichtigsten Richtungen für die Optimierung dieser Strategie gehören:

  1. Optimierung der Parameter der Fisher-Transformation zu einer glatten INVLine-Kurve
  2. Optimieren Sie die STOCH-Periodenlänge, um optimale Parameterkombinationen zu finden
  3. Optimierung der Schwellenlinieparameter zur Verringerung der Wahrscheinlichkeit falscher Transaktionen
  4. Hinzufügen von Volumenpreisbestätigung, um unnötigen Trailing-Stop zu vermeiden
  5. Hinzufügen von Intraday-Breakout-Filtern zur Verringerung falscher Signale auf schwankenden Märkten
  6. Einbeziehung von Trendindikatoren zur Vermeidung des Gegentrendhandels

Schlussfolgerung

Diese Strategie kombiniert die Random Fisher Transform und den STOCH-Indikator, um eine einfache und praktische kurzfristige quantitative Strategie umzusetzen. Ihr Vorteil liegt in der hohen Betriebsfrequenz, die für den derzeit beliebten hochfrequenten quantitativen Handel geeignet ist. Gleichzeitig hat diese Strategie auch einige gemeinsame technische Indikatorstrategie-Risiken. Parameter und Filterbedingungen müssen optimiert werden, um Risiken zu reduzieren und die Stabilität zu verbessern. Im Allgemeinen bietet diese Strategie eine gute Idee für einfachen quantitativen Handel und ist eine weitere eingehende Forschung wert.


/*backtest
start: 2022-12-26 00:00:00
end: 2024-01-01 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("IFT Stochastic + Trailing Stop", overlay=false, pyramiding = 0, calc_on_order_fills = false, commission_type =  strategy.commission.percent, commission_value = 0.0454, default_qty_type = strategy.percent_of_equity, default_qty_value = 100)

//INPUTS
stochlength=input(19, "STOCH Length")
wmalength=input(4, title="Smooth")
ul = input(0.64,step=0.01, title="UP line")
dl = input(-0.62,step=0.01, title="DOWN line")
uts = input(true, title="Use trailing stop")
tsi = input(title="trailing stop actiation pips",defval=245)                                                                       
tso = input(title="trailing stop offset pips",defval=20)

//CALCULATIONS
v1=0.1*(stoch(close, high, low, stochlength)-50)
v2=wma(v1, wmalength)
INVLine=(exp(2*v2)-1)/(exp(2*v2)+1)

//CONDITIONS
sell = crossunder(INVLine,ul)? 1 : 0
buy = crossover(INVLine,dl)? 1 : 0

//PLOTS
plot(INVLine, color=aqua, linewidth=1, title="STOCH")
hline(ul, color=red)
hline(dl, color=green)
bgcolor(sell==1? red : na, transp=30, title = "sell signal")
bgcolor(buy==1? lime : na, transp=30, title = "buy signal")
plotchar(buy==1, title="Buy Signal", char='B', location=location.bottom, color=white, transp=0, offset=0)
plotchar(sell==1, title="Sell Signal", char='S', location=location.top, color=white, transp=0, offset=0)

//STRATEGY
strategy.entry("BUY", strategy.long, when = buy==1)
strategy.entry("SELL", strategy.short, when = sell==1)

if  (uts)
    strategy.entry("BUY", strategy.long, when = buy)
    strategy.entry("SELL", strategy.short, when = sell)
    strategy.exit("Close BUY with TS","BUY", trail_points = tsi, trail_offset = tso)
    strategy.exit("Close SELL with TS","SELL", trail_points = tsi, trail_offset = tso)


Mehr