Double Momentum Index und umkehrbare hybride Strategie

Schriftsteller:ChaoZhang, Datum: 2024-02-06 12:22:32
Tags:

img

Übersicht

Die Double Momentum Index and Reversal Hybrid Strategy ist eine zusammengesetzte Strategie, die Umkehr- und Momentumstrategien kombiniert. Sie integriert die 123 Reversal Strategy und den Commodity Selection Index (CSI) als Unterstrategien zur Bestimmung von Eingangssignalen auf der Grundlage der doppelten Bestätigung.

Strategie Logik

Die Strategie besteht aus zwei Teilstrategien:

  1. 123 Umkehrstrategie. Es geht lang, wenn der Schlusskurs zwei aufeinanderfolgende Tage steigt und der Stoch unter 50 liegt; es geht kurz, wenn der Schlusskurs zwei aufeinanderfolgende Tage fällt und der Stoch über 50 liegt.

  2. Die Strategie des CSI (Commodity Selection Index) ist eine Kombination aus dem Average True Range (ATR) und dem Average Directional Movement Index (ADX). ATR spiegelt die Marktvolatilität und ADX die Trendstärke wider. Je höher der CSI-Wert, desto stärker ist der Markttrend und die Volatilität.

Die gesamte Strategie nimmt die 123 Reversal-Strategie als Hauptkörper und den CSI als Hilfsbestätigung. Handelssignale werden nur generiert, wenn die Signale beider Strategien konsistent sind. Es geht lang, wenn der Schlusskurs zwei aufeinanderfolgende Tage steigt und der Stoch unter 50 liegt, und gleichzeitig, wenn der CSI seinen gleitenden Durchschnitt überschreitet; es geht kurz, wenn der Schlusskurs zwei aufeinanderfolgende Tage fällt und der Stoch über 50 liegt, und gleichzeitig, wenn der CSI seinen gleitenden Durchschnitt überschreitet.

Dies gewährleistet das Umkehrattribut von Handelssignalen, während das Hinzufügen von CSI zum Filter falsche Signale reduzieren kann.

Vorteile

Die Strategie weist folgende Vorteile auf:

  1. Die Kombination von Umkehrung und Momentum verbessert die Signalgenauigkeit. Die 123 Umkehrung als Hauptsignal kann plötzliche und heftige Umkehrungen erfassen. CSI als Bestätigung kann etwas Rauschen filtern.

  2. Auch wenn die Teilstrategien selbst einige falsche Signale haben, muss das endgültige Signal doppelt bestätigt werden, was die meisten falschen Signale herausfiltern und unnötige Eröffnungen und Schließungen von Positionen minimieren kann.

  3. Die Parameter der Teilstrategien können ohne Störungen voneinander getrennt optimiert werden, wodurch die optimale Parameterkombination erleichtert wird.

  4. Die Strategie unterstützt die Verwendung von nur 123 Reversal oder CSI für den Handel allein.

Risikoanalyse

Obwohl die Strategie durch das zusammengesetzte Filtern falsche Signale erheblich reduziert, bestehen nach wie vor folgende Hauptrisiken:

  1. Die Häufigkeit der Strategie-Signalgenerierung ist relativ gering. Durch die Einführung der Doppelbestätigung wird ein bestimmter Anteil der Handelsmöglichkeiten unvermeidlich ausgefiltert. Dies ist die unvermeidliche Kosten für eine hohe Gewinnrate.

  2. Wenn die Parameter der beiden Unterstrategien nicht korrekt sind, kann dies zu seltenen oder gar keinen Signalen führen.

  3. 123 Umkehrung gehört zu Gegentrendoperationen. Bei aufeinanderfolgenden und gewaltsamen einseitigen Preisdurchbrüchen wird die Strategie mit größeren Risiken konfrontiert.

Optimierungsrichtung

Die wichtigsten Optimierungsmöglichkeiten dieser Strategie liegen in folgenden Bereichen:

  1. Optimieren Sie die intrinsischen Parameter jeder Teilstrategie, um die optimalen Parameterkombinationen zu finden, einschließlich der Parameter von Stoch, CSI usw.

  2. Testsumme in verschiedenen Marktbedingungen Filtern, wie die Verwendung von CSI nur, wenn der Trend vorherrscht, mit 123 Umkehrung nur in Bereich gebundenen Märkten usw. Dies kann die Nachteile von Teilstrategien bis zu einem gewissen Grad zu überwinden.

  3. Entwicklung von Parameter-Selbstanpassungs- und dynamischen Optimierungsmodulen, die es der Strategie ermöglichen, Parameter automatisch anzupassen und optimale Parameterkombinationen entsprechend den Marktbedingungen und Statistiken in Echtzeit zu verfolgen.

  4. Versuche verschiedene Stop-Loss-Mechanismen.Ein angemessener Stop-Loss kann sowohl Risiken wirksam kontrollieren als auch unnötige Eröffnungen und Schließungen von Positionen reduzieren.

Zusammenfassung

Die Double Momentum Index and Reversal Hybrid Strategy nutzt die Ideen der Multi-Signal Bestätigung und Kombination, wobei die jeweiligen Stärken von Umkehr- und Momentumstrategien gut genutzt werden, während ihre Mängel durch gegenseitiges Filtern überwunden werden, um eine hohe Effizienz und Stabilität zu erreichen.


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

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 25/10/2019
// 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 Commodity Selection Index ("CSI") is a momentum indicator. It was 
// developed by Welles Wilder and is presented in his book New Concepts in 
// Technical Trading Systems. The name of the index reflects its primary purpose. 
// That is, to help select commodities suitable for short-term trading.
// A high CSI rating indicates that the commodity has strong trending and volatility 
// characteristics. The trending characteristics are brought out by the Directional 
// Movement factor in the calculation--the volatility characteristic by the Average 
// True Range factor.
// Wilder's approach is to trade commodities with high CSI values (relative to other 
// commodities). Because these commodities are highly volatile, they have the potential 
// to make the "most money in the shortest period of time." High CSI values imply 
// trending characteristics which make it easier to trade the security.
// The Commodity Selection Index is designed for short-term traders who can handle 
// the risks associated with highly volatile markets.
//
// 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

fADX(Len) =>
    up = change(high)
    down = -change(low)
    trur = rma(tr, Len)
    plus = fixnan(100 * rma(up > down and up > 0 ? up : 0, Len) / trur)
    minus = fixnan(100 * rma(down > up and down > 0 ? down : 0, Len) / trur)
    sum = plus + minus 
    100 * rma(abs(plus - minus) / (sum == 0 ? 1 : sum), Len)

CSI(Length, Commission, Margin, PointValue) =>
    pos = 0.0
    K = 100 * ((PointValue / sqrt(Margin) / (150 + Commission)))
    xATR = atr(Length)
    xADX = fADX(Length)
    nADXR = (xADX + xADX[Length]) * 0.5
    xCSI = K * xATR * nADXR
    xMACSI = sma(xCSI, Length)
    pos := iff(xCSI < xMACSI, 1,
    	     iff(xCSI > xMACSI, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Strategy 123 Reversal & Commodity Selection Index", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
PointValue = input(50)
Margin = input(3000)
Commission = input(10)
LengthCSI = input(14)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posCSI = CSI(LengthCSI, Commission, Margin, PointValue)
pos = iff(posReversal123 == 1 and posCSI == 1 , 1,
	   iff(posReversal123 == -1 and posCSI == -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