Hohe niedrige Ausbreitung für den quantitativen Handel

Schriftsteller:ChaoZhang, Datum: 2023-11-10 11:09:28
Tags:

img

Übersicht

Die Fusion-Strategie kombiniert eine Umkehrmusterstrategie und eine Strategie mit hohem niedrigem Ausbruch in einem quantitativen Handelssystem.

Strategie Logik

Die Fusionsstrategie besteht aus zwei Bestandteilen:

  1. 123 Umkehrstrategie Diese Strategie stammt aus der Idee auf Seite 183 des Buches How I Triple My Money in the Futures Market von Ulf Jensen. Sie erzeugt Handelssignale, indem sie die Beziehung zwischen den Schlusskurs der letzten zwei Tage und dem Vortag zusammen mit dem Stochastic-Indikator untersucht, um überkaufte und überverkaufte Marktbedingungen zu messen. Insbesondere wird ein Kaufsignal erzeugt, wenn die Schlusskurs von zwei aufeinanderfolgenden Tagen höher als der vorherige Tag ist, und der Stochastic Slow-Indikator unter 50 ist. Ein Verkaufssignal wird erzeugt, wenn die Schlusskurs von zwei aufeinanderfolgenden Tagen niedriger als der vorherige Tag ist, und der Stochastic Fast-Indikator über 50 ist. Durch die Einbeziehung des Stochastic-Indikators vermeidet diese Strategie den Kauf an Markttops und den Verkauf von Bottoms.

  2. Strategie mit hohem und niedrigem Ausbruch Diese Strategie identifiziert Handelssignale, indem sie Preisschwankungen über frühere Hoch-/Niedrigniveaus über verschiedene Zeiträume hinweg erkennt. Sie berechnet das höchste Hoch und das niedrigste Tief in den aktuellen und früheren Perioden und erzeugt Kaufsignale, wenn der Preis über das Hoch bricht, und Verkaufssignale, wenn der Preis unter das Tief bricht. Der Vorteil dieser Strategie besteht in der Fähigkeit, Trendmusteränderungen in höheren Zeitrahmen zu identifizieren, was einen früheren Eintritt ermöglicht.

Die Fusion-Strategie kombiniert die Signale der beiden oben genannten Strategien und erzeugt nur dann tatsächliche Handelssignale, wenn sich die Signalrichtungen ausrichten. Dies filtert einige falsche Signale aus, die durch Fehler in einer einzigen Strategie verursacht werden, und verbessert die Signalzuverlässigkeit.

Vorteile der Strategie

  1. Mehrzeitsynthese verbessert die Signalgenauigkeit Die Integration von Tages- und höheren Zeitrahmen verbessert die Genauigkeit der Handelssignalgenerierung und vermeidet Ablenkungen durch kurzfristige Marktgeräusche.

  2. Der Wert des Stochastic-Systems ist der Wert des Stochastic-Systems, das für die Berechnung des Stochastic-Systems verwendet wird. Die Verwendung des Stochastic Slow Indikators verhindert den eifrigen Kauf in Überkaufzonen. Der Stochastic Fast Indikator verhindert den eifrigen Verkauf in Überverkaufszonen. Unnötige Verluste werden reduziert.

  3. Zeitgemäße Erkennung von Trendmustern, Verringerung der fehlenden Chancen Die Strategie des hohen, niedrigen Breakouts identifiziert eine frühere Trendanleitung in höheren Zeitrahmen und verringert so verpasste Handelsmöglichkeiten.

  4. Flexible Optimierung mit mehreren Teilstrategien Mit mehreren Unterstrategien ermöglicht ein großer Optimierungsraum die Parameter-Tuning von Unterstrategien oder die Einführung neuer, um die Strategie stabiler und zuverlässiger zu machen.

  5. Einfache und klare Logik Die einfache Struktur und Logik machen die Strategie leicht zu verstehen, zu ändern und in Zukunft aufrechtzuerhalten.

Risiken der Strategie

  1. Mehrzeitsynthese verursacht Signalverzögerung Obwohl die Genauigkeit verbessert wird, führt die Kombination von Signalen über Zeitrahmen hinweg zu einer Verzögerung und kann kurzfristige Handelschancen verpassen.

  2. 123 Muster können keine Trendumkehrungen in längeren Zeitrahmen erkennen Die Umkehrstrategie 123 betrachtet nur die letzten Tage und übersieht wichtige Umkehrpunkte in längeren Zeitrahmen.

  3. Falsche Parameter-Einstellungen können zu falschen Signalen führen Eine schlechte Einstellung der Stochastik- und Ausbruchperioden könnte zu übermäßigen falschen Signalen führen.

  4. Rein technisch, schwache Anpassungsfähigkeit an extreme Ereignisse Ohne die Grundlagen zu berücksichtigen, passt sich die Strategie schlecht an schwarze Schwanereignisse an.

Entsprechende Lösungen

  1. Die Berechnungszeiten sind entsprechend zu verkürzen, um die Verzögerung zu verringern.

  2. Versuchen Sie, längerfristige Indikatoren oder Muster als Filter einzuführen.

  3. Optimierung der Parameter und gründliche Prüfung der Robustheit bei Rückversuchen.

  4. Es ist zu prüfen, ob man grundlegende Faktoren für die Signalfilterung einbezieht.

Richtungen für die Optimierung

  1. Test und Optimierung von Parametern von Teilstrategien für Robustheit.

  2. Zusätzliche Signale wie Fundamentaldaten, Cashflow usw. enthalten.

  3. Einführung von Stop Loss, um den maximalen Verlust pro Trade zu begrenzen.

  4. Feinabstimmungsparameter für bestimmte Produkte zur Verbesserung der Anpassungsfähigkeit.

  5. Hilfe bei maschinellen Modellen.

Schlussfolgerung

Zusammenfassend lässt sich sagen, dass die Fusion-Strategie die Vorteile von mehreren Zeitrahmen-technischen Indikatoren kombiniert und auf eine genauere und zeitnahe Signalgenerierung abzielt. Im Vergleich zu Einzelindikatorstrategien verfügt sie über eine überlegene Trenderkennungsfähigkeit und eine robustere Signalproduktion.


/*backtest
start: 2023-10-10 00:00:00
end: 2023-11-09 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 25/11/2020
// This is combo strategies for get a cumulative signal. 
//
// First strategy
// This System was created from the Book "How I Tripled My Money In The 
// Futures Market" by Ulf Jensen, Page 183. This is reverse type of strategies.
// The strategy buys at market, if close price is higher than the previous close 
// during 2 days and the meaning of 9-days Stochastic Slow Oscillator is lower than 50. 
// The strategy sells at market, if close price is lower than the previous close price 
// during 2 days and the meaning of 9-days Stochastic Fast Oscillator is higher than 50.
//
// Second strategy
// This script shows a high and low period value.
//    Width - width of lines
//    SelectPeriod - Day or Week or Month and etc.
//    LookBack - Shift levels 0 - current period, 1 - previous and etc. 
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
Reversal123(Length, KSmoothing, DLength, Level) =>
    vFast = sma(stoch(close, high, low, Length), KSmoothing) 
    vSlow = sma(vFast, DLength)
    pos = 0.0
    pos := iff(close[2] < close[1] and close > close[1] and vFast < vSlow and vFast > Level, 1,
	         iff(close[2] > close[1] and close < close[1] and vFast > vSlow and vFast < Level, -1, nz(pos[1], 0))) 
	pos

    
HLL(LookBack, SelectPeriod) =>
    pos = 0.0
    xHigh  = security(syminfo.tickerid, SelectPeriod, high[LookBack])
    xLow   = security(syminfo.tickerid, SelectPeriod, low[LookBack])
    vS1 = xHigh
    vR1 = xLow
    pos := iff(close > vR1, 1,
             iff(close < vS1, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & High and Low Levels", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
SelectPeriod = input(title="Resolution", type=input.resolution, defval="D")
LookBack = input(1,  minval=0)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posHLL = HLL(LookBack, SelectPeriod)
pos = iff(posReversal123 == 1 and posHLL == 1 , 1,
	   iff(posReversal123 == -1 and posHLL == -1, -1, 0)) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1 , 1, pos))	   
if (possig == 1) 
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)	 
if (possig == 0) 
    strategy.close_all()
barcolor(possig == -1 ? #b50404: possig == 1 ? #079605 : #0536b3 )

Mehr