Quantitative Handelsstrategie auf Basis des Stochastics Momentum Index

Schriftsteller:ChaoZhang, Datum: 2024-03-11 10:46:10
Tags:

img

Strategieübersicht

Dieser Artikel stellt eine quantitative Handelsstrategie vor, die auf dem Stochastic Momentum Index (SMI) basiert. Die Strategie nutzt die Crossover-Signale zwischen dem SMI-Indikator und seinem exponentiellen gleitenden Durchschnitt (EMA), um potenzielle Kauf- und Verkaufsmöglichkeiten zu identifizieren. Wenn die SMI-Signallinie über ihre EMA kreuzt, löst sie ein Kaufsignal aus; wenn die SMI-Signallinie unter ihre EMA kreuzt, löst sie ein Verkaufssignal aus.

Strategieprinzip

Der Kern dieser Strategie ist der Stochastic Momentum Index (SMI). SMI ist ein Momentum-Oszillator, der den Schlusskurs im Verhältnis zur hohen-niedrigen Bandbreite über einen bestimmten Zeitraum misst. Insbesondere berechnet die Strategie zuerst den höchsten Höchst- und niedrigsten Tiefpunkt über den angegebenen Zeitraum, berechnet dann die Differenz zwischen dem Schlusskurs und dem Mittelfeld der hohen-niedrigen Bandbreite sowie die Differenz zwischen dem höchsten Höchst- und niedrigsten Tiefpunkt. Als nächstes berechnet die Strategie den SMI-Wert, der das Verhältnis der durchschnittlichen relativen Differenz zur durchschnittlichen absoluten Differenz multipliziert mit 100 ist. Schließlich berechnet die Strategie den exponentiellen gleitenden Durchschnitt von SMI als Signallinie.

Wenn die SMI-Signallinie über ihre EMA kreuzt, zeigt sie eine zunehmende Aufwärtsdynamik an und löst ein Kaufsignal aus; wenn die SMI-Signallinie unter ihre EMA kreuzt, zeigt sie eine zunehmende Abwärtsdynamik an und löst ein Verkaufssignal aus. Darüber hinaus markiert die Strategie die überkauften und überverkauften Ebenen, um extreme Zustände des SMI zu identifizieren.

Strategische Vorteile

  1. Die Strategie basiert auf dem leistungsstarken Dynamikindikator SMI, der Veränderungen der Marktentwicklung und -dynamik effektiv erfassen kann.

  2. Die Strategielogik ist klar und leicht verständlich und umsetzbar.

  3. Durch die Verwendung des exponentiellen gleitenden Durchschnitts als Signallinie kann die Strategie das Preislärm ausgleichen und die Signalzuverlässigkeit verbessern.

  4. Die Kennzeichnung von überkauften und überverkauften Niveaus bietet zusätzliche Risikomanagementinstrumente für die Strategie.

Strategische Risiken

  1. Die Strategie stützt sich auf einen einzigen Indikator, den SMI, und kann das Risiko eines Indikatorversagens haben.

  2. Die Strategie kann häufige Handelssignale in unruhigen Märkten erzeugen, was zu hohen Transaktionskosten führt.

  3. Die Strategie fehlt an einem ausdrücklichen Stop-Loss-Mechanismus und kann mit dem Problem eines übermäßigen Single-Trade-Risikos konfrontiert sein, das durch Festlegung geeigneter Stop-Loss-Levels zur Risikokontrolle behoben werden kann.

Strategieoptimierungsrichtlinien

  1. Parameteroptimierung: Die Leistung der Strategie hängt weitgehend von den Parametern ab, die bei der SMI-Berechnung verwendet werden, z. B. %K Länge, %D Länge usw. Durch die Optimierung dieser Parameter kann die Leistung der Strategie verbessert werden.

  2. Signalfilterung: Zur Verringerung der Handelsfrequenz und Verbesserung der Signalqualität können zusätzliche Filterungsmechanismen wie Trendbestätigung und Volumenbestätigung berücksichtigt werden.

  3. Risikomanagement: Durch die Einbeziehung ausdrücklicher Stop-Loss- und Positionsmanagementregeln in die Strategie kann das Risiko besser kontrolliert und die Robustheit der Strategie verbessert werden.

  4. Multi-Faktor-Kombination: Kombination von SMI-Signalien mit anderen technischen Indikatoren oder fundamentalen Faktoren zur Bildung eines umfassenderen und zuverlässigeren Handelsentscheidungsmechanismus.

Zusammenfassung

Dieser Artikel stellt eine quantitative Handelsstrategie vor, die auf dem Stochastic Momentum Index (SMI) basiert. Die Strategie nutzt die Crossover-Signale zwischen dem SMI-Indikator und seinem exponentiellen gleitenden Durchschnitt, um potenzielle Kauf- und Verkaufsmöglichkeiten zu identifizieren. Die Vorteile der Strategie liegen in ihrer Basis auf einem leistungsstarken Momentum-Indikator, klarer Logik, einfacher Implementierung und der Verwendung von gleitenden Durchschnitten und Überkauft/Überverkauft-Niveaus, um die Signalzuverlässigkeit und das Risikomanagement zu verbessern. Die Strategie ist jedoch auch mit Risiken wie Einzeldikatorversagen, Hochfrequenzhandel und unzureichender Risikokontrolle konfrontiert. Um die Leistung der Strategie weiter zu verbessern, kann die Optimierung in Bezug auf Parameteroptimierung, Signalfilterung, Risikomanagement und Multi-Faktor-Kombination erfolgen. Insgesamt bietet die Strategie einen einfachen, aber effektiven An


/*backtest
start: 2023-03-05 00:00:00
end: 2024-03-10 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Stochastics Momentum Index Strategy", shorttitle="SMI_BackTest", overlay=false)

// Input parameters
a = input.int(10, "Percent K Length")
b = input.int(3, "Percent D Length")
ob = input.int(40, "Overbought")
os = input.int(-40, "Oversold")

// Range Calculation
ll = ta.lowest(low, a)
hh = ta.highest(high, a)
diff = hh - ll
rdiff = close - (hh+ll)/2

avgrel = ta.ema(ta.ema(rdiff,b),b)
avgdiff = ta.ema(ta.ema(diff,b),b)

// SMI calculations
SMI = avgdiff != 0 ? (avgrel/(avgdiff/2)*100) : 0
SMIsignal = ta.ema(SMI,b)
emasignal = ta.ema(SMI, 10)

// Color Definition for Stochastic Line
col = SMI >= ob ? color.green : SMI <= os ? color.red : color.white

plot(SMIsignal, title="Stochastic", color=color.white)

plot(emasignal, title="EMA", color=color.yellow)

level_40 = ob
level_40smi = SMIsignal > level_40 ? SMIsignal : level_40

level_m40 = os
level_m40smi = SMIsignal < level_m40 ? SMIsignal : level_m40

plot(level_40, "Level ob", color=color.red)
plot(level_40smi, "Level ob SMI", color=color.red, style=plot.style_line)

plot(level_m40, "Level os", color=color.green)
plot(level_m40smi, "Level os SMI", color=color.green, style=plot.style_line)

//fill(level_40, level_40smi, color=color.red, transp=ob, title="OverSold")
//fill(level_m40, level_m40smi, color=color.green, transp=ob, title="OverBought")

// Strategy Tester
longCondition = ta.crossover(SMIsignal, emasignal)
if (longCondition)
    strategy.entry("Buy", strategy.long)

shortCondition = ta.crossunder(SMIsignal, emasignal)
if (shortCondition)
    strategy.entry("Sell", strategy.short)


Mehr