Multifaktorielle quantitative Handelsstrategie


Erstellungsdatum: 2023-09-13 14:46:59 zuletzt geändert: 2023-09-13 14:46:59
Kopie: 0 Klicks: 464
1
konzentrieren Sie sich auf
1224
Anhänger

Eine Multi-Faktor-Quantitative-Trading-Strategie, die die Einheitlichkeit und die Schwingungsindikatoren berücksichtigt, um das Risiko zu kontrollieren und die Stabilität zu verbessern. In diesem Artikel werden die Prinzipien, Vorteile und möglichen Risiken der Handelsstrategie im Detail beschrieben.

Strategieprinzip

Die Strategie besteht aus drei Modulen:

  1. Gleichgewicht

Der Trendfilter wird mit den EMA-Mitteln aus 5 verschiedenen Perioden (8, 13, 21, 34 und 55 Tage) erstellt. Die EMA-Mitteln sind von kurz bis lang angeordnet und haben nur dann Trendmerkmale und erzeugen Handelssignale, wenn sie den langen EMA überschreiten.

  1. Schwingungsfaktoren

Der RSI und der Stochastic sind die beiden wichtigsten Oszillationsindikatoren, um einen Bruch zu verifizieren und eine große Anzahl von Falschbrüchen in einem wackligen Markt zu vermeiden.

Der Parameter für den RSI ist 14, wenn der RSI in der Bandbreite 40-70 den Mehrwert-Bedingungen entspricht und in der Bandbreite 30-60 den Leerwert-Bedingungen.

Die stochastischen Parameter sind: ((14,3,3), wenn die K-Linie in der Bandbreite 20-80 den Mehrwert-Bedingungen entspricht, und in der Bandbreite 5-95 den Leerwert-Bedingungen.

  1. Ein- und Ausstiegslogik

Ein Einstiegssignal wird nur ausgelöst, wenn der Mittellinienfaktor und der Schwingungsindikator gleichzeitig qualifiziert sind; ein Ausstiegssignal wird erzeugt, wenn einer der Faktoren nicht mehr qualifiziert ist.

Die gesamte Strategie verwendet strenge Mehrere-Faktor-Filtermechanismen, um die Stabilität und Zuverlässigkeit der Handelssignale zu gewährleisten, während die Gewinnrate hoch bleibt.

Strategische Vorteile

  • Multi-Faktor-Design filtert Marktlärm und verhindert übertriebenen Handel
  • Gleichzeitig werden Trendfaktoren und Umkehrfaktoren berücksichtigt und die Vorteile von Trend-Tracking und Spot-Trading berücksichtigt.
  • Die Kombination von Einheitslinie und Schwingungsindikator ermöglicht die Erfassung von Wendepunkten im Trend.
  • Optimierungsmöglichkeiten sind groß, um bessere Strategieeffekte durch Anpassung der Parameter zu erzielen

Gefahrenhinweise

  • Multi-Faktor-Strategien mit geringer Signalfrequenz, die einige Handelschancen verpassen könnten
  • Durchschnittsverzögerung, die in Verbindung mit einem kürzeren Zyklus-Indikator überprüft werden soll
  • Oszillationsanzeigen sind leicht zu falschen Signalen und sollten nur als Hilfsmittel dienen.
  • Regelmäßige Optimierung der Parameter für die Veränderung des Marktumfelds

Zusammenfassen

Diese Strategie kombiniert die Vorteile von Trend-Tracking und Reverse Trading, ein Multifaktor-Modell, das das Risiko effektiv kontrolliert und einen stabilen Überschuss erzielt. Es ist ein sehr praktisches, quantitatives Handelsstrategie-Modell, das der KI-Community eine gründliche Untersuchung und Anwendung wert ist.

Strategiequellcode
/*backtest
start: 2022-09-12 00:00:00
end: 2022-11-15 00:00:00
period: 2d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy(title = "Combined Strategy", default_qty_type = strategy.percent_of_equity, default_qty_value = 100, commission_type=strategy.commission.percent, commission_value = .0020, pyramiding = 0, slippage = 3, overlay = true)

//----------//
// MOMENTUM //
//----------//
ema8 = ema(close, 8)
ema13 = ema(close, 13)
ema21 = ema(close, 21)
ema34 = ema(close, 34)
ema55 = ema(close, 55)

plot(ema8, color=red, style=line, title="8", linewidth=1)
plot(ema13, color=orange, style=line, title="13", linewidth=1)
plot(ema21, color=yellow, style=line, title="21", linewidth=1)
plot(ema34, color=aqua, style=line, title="34", linewidth=1)
plot(ema55, color=lime, style=line, title="55", linewidth=1)

longEmaCondition = ema8 > ema13 and ema13 > ema21 and ema21 > ema34 and ema34 > ema55
exitLongEmaCondition = ema13 < ema55

shortEmaCondition = ema8 < ema13 and ema13 < ema21 and ema21 < ema34 and ema34 < ema55
exitShortEmaCondition = ema13 > ema55

// ----------  //
// OSCILLATORS //
// ----------- //
rsi = rsi(close, 14)
longRsiCondition = rsi < 70 and rsi > 40
exitLongRsiCondition = rsi > 70

shortRsiCondition = rsi > 30 and rsi < 60
exitShortRsiCondition = rsi < 30

// Stochastic
length = 14, smoothK = 3, smoothD = 3
kFast = stoch(close, high, low, 14)
dSlow = sma(kFast, smoothD)

longStochasticCondition = kFast < 80
exitLongStochasticCondition = kFast > 95

shortStochasticCondition = kFast > 20
exitShortStochasticCondition = kFast < 5

//----------//
// STRATEGY //
//----------//

longCondition = longEmaCondition and longRsiCondition and longStochasticCondition and strategy.position_size == 0
exitLongCondition = (exitLongEmaCondition or exitLongRsiCondition or exitLongStochasticCondition) and strategy.position_size > 0

if (longCondition)
    strategy.entry("LONG", strategy.long)
if (exitLongCondition)
    strategy.close("LONG")
    
shortCondition = shortEmaCondition and shortRsiCondition and shortStochasticCondition and strategy.position_size == 0
exitShortCondition = (exitShortEmaCondition or exitShortRsiCondition or exitShortStochasticCondition) and strategy.position_size < 0

if (shortCondition)
    strategy.entry("SHORT", strategy.short)
if (exitShortCondition)
    strategy.close("SHORT")