Strategie zur Umkehrung der Momentumverfolgung mit zwei Faktoren

Schriftsteller:ChaoZhang, Datum: 2024-01-18 11:33:40
Tags:

img

Übersicht

Diese Strategie kombiniert den Preisumkehrfaktor und den Momentumfaktor der Aktien, um ein Dual-Faktor-Modell zu konstruieren, um Chancen zu erfassen, die sich aus kurzfristigen Umkehrungen und langfristiger Beharrlichkeit auf dem Markt ergeben.

Strategieprinzipien

Die Strategie besteht aus zwei Teilen:

  1. 123 Umkehrmusterfaktor

    Dieser Teil erkennt kurzfristige Kursumkehrsignale, indem er die Veränderung der Schlusskursentwicklung in den letzten zwei Tagen untersucht. Insbesondere kann der Stoch-Indikator als Hilfsmittel zur Beurteilung dienen, wenn der Schlusskurs von gestern niedriger als der der beiden vorherigen Tage ist und der heutige Schlusskurs höher als der von gestern.

  2. Laguerre Filter-RSI-Faktor

    Der neue RSI-Indikator wird verwendet, um den mittelfristigen bis langfristigen Trend zu bestimmen.

Letztendlich kombiniert die Strategie die Signale beider Faktoren und sorgt dafür, dass kurzfristige Umkehrungen in Übereinstimmung mit den allgemeinen Markttrends stattfinden, um Rückkaufchancen zu nutzen.

Vorteile der Strategie

Der größte Vorteil dieser Strategie liegt in der erfolgreichen Kombination von Umkehr- und Trendfaktoren. Der Umkehrfaktor erfasst kurzfristige Rückzugsmöglichkeiten nach Preiskonsolidierungen, während der Trendfaktor sicherstellt, dass sich die gesamte Long/Short-Voreingenommenheit nicht ändert. Im Vergleich zu eigenständigen Umkehr- oder Momentummodellen kann dieses Dual-Faktor-Modell die Genauigkeit von Long/Short-Signalen verbessern und gleichzeitig falsche Signale senken.

Darüber hinaus erhöht die Einführung des Laguerre RSI die Empfindlichkeit des Modells gegenüber Preisänderungen, was besonders für den Hochfrequenzhandel von entscheidender Bedeutung ist.

Risikoanalyse

Das Hauptrisiko dieser Strategie ist die Möglichkeit widersprüchlicher Signale aus den beiden Faktoren. Vor allem während volatiler Marktkorrekturen können sich kurzfristige Preise häufig umkehren, während sich auch mittelfristige bis langfristige Trends verschieben. In solchen Fällen können sich die beiden Signale leicht mischen oder Verzögerungen erleben. Dies führt zu falschen Strategiesignalen und verpassten Einstiegsmöglichkeiten oder unnötigen Verlusten.

Darüber hinaus können schlechte Parameterkonfigurationen auch zu einer schlechten Strategieleistung führen. Die Parameter für die technischen Indikatoren, die zu den Umkehr- und Trendfaktoren gehören, müssen separat optimiert und getestet werden. Falsche Parameterkombinationen können die Wirksamkeit der Strategie erheblich verringern.

Optimierungsrichtlinien

Die wichtigsten Schwerpunkte der zukünftigen Optimierungen für diese Strategie beinhalten Signalfilterung und Parameterwahl. Mehr Filterbedingungen könnten eingeführt werden, um wirksam zu werden, wenn die Dual-Faktor-Signale kollidieren, um sicherzustellen, dass Trades nur in Szenarien mit hoher Sicherheit platziert werden. Dies kann falsche Signale drastisch reduzieren.

Für die Parameterwahl könnten maschinelle Lern- und wissenschaftliche Experimentiermethoden verwendet werden, um verschiedene Parameterkombinationen systematisch zu testen und zu optimalen Konfigurationen zu gelangen.

Zusammenfassung

Diese Strategie hat erfolgreich Umkehr- und Trendfaktoren durch ein Dual-Faktor-Modell zusammengeführt, um kurzfristige Rückschläge und mittelfristige bis langfristige Persistenz zu nutzen. Die Einführung des Laguerre-filterten RSI verbessert auch die Modellempfindlichkeit gegenüber Preisänderungen.


/*backtest
start: 2024-01-10 00:00:00
end: 2024-01-17 00:00:00
period: 5m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 21/01/2021
// 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 is RSI indicator which is more sesitive to price changes. 
// It is based upon a modern math tool - Laguerre transform filter.
// With help of Laguerre filter one becomes able to create superior 
// indicators using very short data lengths as well. The use of shorter 
// data lengths means you can make the indicators more responsive to 
// changes in the price.
//
// 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

LB_RSI(gamma,BuyBand,SellBand) =>
    pos = 0.0
    xL0 = 0.0
    xL1 = 0.0
    xL2 = 0.0
    xL3 = 0.0
    xL0 := (1-gamma) * close + gamma * nz(xL0[1], 1)
    xL1 := - gamma * xL0 + nz(xL0[1], 1) + gamma * nz(xL1[1], 1)
    xL2 := - gamma * xL1 + nz(xL1[1], 1) + gamma * nz(xL2[1], 1)
    xL3 := - gamma * xL2 + nz(xL2[1], 1) + gamma * nz(xL3[1], 1)
    CU = (xL0 >= xL1 ? xL0 - xL1 : 0) + (xL1 >= xL2 ? xL1 - xL2 : 0)  + (xL2 >= xL3 ? xL2 - xL3 : 0)
    CD = (xL0 >= xL1 ? 0 : xL1 - xL0) + (xL1 >= xL2 ? 0 : xL2 - xL1)  + (xL2 >= xL3 ? 0 : xL3 - xL2)
    nRes = iff(CU + CD != 0, CU / (CU + CD), 0)
    pos := iff(nRes > BuyBand, 1,
    	     iff(nRes < SellBand, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & Laguerre-based RSI", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
gamma = input(0.5, minval=-0.1, maxval = 0.9)
BuyBand = input(0.8, step = 0.01)
SellBand = input(0.2, step = 0.01)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posLB_RSI = LB_RSI(gamma,BuyBand,SellBand)
pos = iff(posReversal123 == 1 and posLB_RSI == 1 , 1,
	   iff(posReversal123 == -1 and posLB_RSI == -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