Quantitative Inertienhandelsstrategie mit Doppelfaktorumkehrung

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

img

Übersicht

Die Quantitative Dual Factor Reversal Inertia Trading Strategie ist eine quantitative Handelsstrategie, die Preisumkehrsignale und Marktinnertiessignale kombiniert.

Grundsätze

Die Strategie umfaßt zwei Hauptteile:

  1. Der Preisumkehrteil übernimmt die Idee, die Ulf Jensen in seinem Buch vorgeschlagen hat, insbesondere: Wenn der Schlusskurs 2 Tage lang kontinuierlich steigt und der 9-Tage-Slow Stochastic unter 50 liegt, gehen Sie lang; wenn der Schlusskurs 2 Tage lang kontinuierlich fällt und der 9-Tage-Fast Stochastic über 50 liegt, gehen Sie kurz.

  2. Der Marktinertitätsanteil verwendet den Relative Volatility Index (RVI). Der Wert dieses Indikators schwankt zwischen 0 und 100. Über 50 zeigt den langfristigen Trend des Marktes an; unter 50 zeigt den langfristigen Trend des Marktes an.

Zusammenfassend lässt sich sagen, dass diese Strategie Preisumkehrsignale und Trägheitssignale integriert, um die aktuelle Marktrichtung zu bestimmen.

Analyse der Vorteile

Der größte Vorteil dieser Strategie besteht darin, dass sie zwei große Handelsideen kombiniert Umkehrung und Trendverfolgung. Umkehrsignale können kurzfristige Korrekturen erfassen und Handelsmöglichkeiten bieten. Trägheitssignale sorgen nur dann für die Eröffnung von Positionen, wenn sich langfristige Trends ausrichten, um das Rauschen effektiv zu filtern.

Darüber hinaus kann der durch zwei Faktoren angetriebene Mechanismus die Signalqualität verbessern. Die Optimierung der stochastischen Parameter und die Glättung des RVI bieten auch Raum für eine Strategieoptimierung.

Risikoanalyse

Zu den wichtigsten Risiken dieser Strategie gehören:

  1. Das Risiko, dass Umkehrsignale falsch identifiziert werden; die Angemessenheit der Parameter muss überprüft werden.

  2. Das Risiko, dass Trägheitssignale falsche Signale erzeugen. Das RVI selbst hat eine Verzögerung, die eine Anpassung des Glättungsparameters erfordert.

  3. Das Risiko fehlender Handelschancen aufgrund einer schlechten Ausrichtung des Timings der Doppelfaktorsignale.

Darüber hinaus sind Umkehrstrategien mit einem erhöhten Verlustrisiko in Trendmärkten konfrontiert.

Optimierungsrichtlinien

Die Strategie kann in folgenden Aspekten optimiert werden:

  1. Optimierung der Parameter des Stochastikindikators zur Verbesserung der Qualität und Aktualität der Identifizierung von Umkehrsignalen.

  2. Optimieren Sie den Glättungsparameter des RVI-Indikators, um die Genauigkeit des Trägheitsurteils zu erhöhen.

  3. Versuche verschiedene Haltezeiten, um den optimalen Haltezyklus zu bestimmen.

  4. Einbeziehen Sie Stop-Loss-Mechanismen. Backtest verschiedene Stop-Loss-Punkte, um die optimale Stop-Loss-Position zu finden.

  5. Es sollte in Erwägung gezogen werden, andere Faktorensignale wie Abweichungen des Handelsvolumens einzubeziehen, um mehrfaktororientierte Strategien zu bilden.

Zusammenfassung

Die Quantitative Dual Factor Reversal Inertia Trading Strategy berücksichtigt umfassend Umkehr- und Trendfaktoren, wobei der Stochastic-Indikator und der RVI-Indikator zur Erzeugung von Handelssignalen verwendet werden. Die Strategie hat Vorteile wie Dual-Faktor-getrieben, Erfassung von Umkehrmöglichkeiten und Signalfilterung. Sie kann durch mehrfache Parameteroptimierung weiter verbessert werden. Die Risikokontrolle durch strenge Stop-Loss-Ausübung ist ebenfalls entscheidend. Die Strategie bietet gute Ideen für den quantitativen Handel.


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

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 27/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
// The inertia indicator measures the market, stock or currency pair momentum and 
// trend by measuring the security smoothed RVI (Relative Volatility Index). 
// The RVI is a technical indicator that estimates the general direction of the 
// volatility of an asset.
// The inertia indicator returns a value that is comprised between 0 and 100. 
// Positive inertia occurs when the indicator value is higher than 50. As long as 
// the inertia value is above 50, the long-term trend of the security is up. The inertia 
// is negative when its value is lower than 50, in this case the long-term trend is 
// down and should stay down if the inertia stays below 50.
//
// You can change long to short in the Input Settings
// Please, use it only for learning or paper trading. Do not for real trading.
//
// 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

Inertia(Period, Smooth) =>
    pos = 0.0
    nU = 0.0
    nD = 0.0
    xPrice = close
    StdDev = stdev(xPrice, Period)
    d = iff(close > close[1], 0, StdDev)
    u = iff(close > close[1], StdDev, 0)
    nU := (13 * nz(nU[1],0) + u) / 14
    nD := (13 * nz(nD[1],0) + d) / 14
    nRVI = 100 * nU / (nU + nD)
    nRes = ema(nRVI, Smooth)
    pos :=iff(nRes > 50, 1,
    	   iff(nRes < 50, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & Inertia Strategy", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
Period = input(10, minval=1)
Smooth = input(14, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posInertia = Inertia(Period, Smooth)
pos = iff(posReversal123 == 1 and posInertia == 1 , 1,
	   iff(posReversal123 == -1 and posInertia == -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