Bidirektionale Moving-Average-Regressionshandelsstrategie
Überblick
Die Bidirektionale-Gleitender-Durchschnitt-Regressions-Strategie ist ein quantitativer Handelsansatz, der auf dem Prinzip der Preis-Mittelwert-Rückkehr basiert. Die Strategie verwendet mehrere Gruppen gleitender Durchschnitte, um Preisumkehrchancen zu erkennen. Sobald der Preis eine bestimmte Abweichung von den gleitenden Durchschnitten erreicht, wird eine Position eröffnet. Bei Rückkehr zum Durchschnitt wird die Position zur Gewinnmitnahme geschlossen.
Strategieprinzip
Die Strategie beruht auf der Theorie, dass sich Preise um einen Mittelwert bewegen und bei starker Abweichung tendenziell zum Mittelwert zurückkehren. Konkret werden drei Gruppen gleitender Durchschnitte eingesetzt: Eröffnungs-GD, Schließungs-GD und Begrenzungs-GD. Berührt der Preis den Eröffnungs-GD, wird eine entsprechende Long- oder Short-Position eröffnet. Erreicht er den Schließungs-GD, wird die bestehende Position geschlossen. Falls der Preis nicht zurückkehrt, begrenzt der Begrenzungs-GD den Verlust.
Aus Code-Sicht besteht der Eröffnungs-GD aus einer Long-Linie und einer Short-Linie, die aus langen und kurzen Linien gebildet werden. Der Abstand zum Preis bestimmt die Positionsgröße. Der Schließungs-GD ist ein separater Durchschnitt, der den Schließzeitpunkt vorgibt. Sobald der Preis diesen erreicht, wird die Position glattgestellt.
Vorteile
Die Vorteile dieser Strategie liegen insbesondere in:
- Erfassung von Preisumkehrungen – geeignet für trendende Seitwärtsmärkte.
- Risikobegrenzung durch den Begrenzungs-GD.
- Anpassbare Parameterkombinationen – hohe Flexibilität.
- Leicht verständlich und einfach optimierbar.
Sie eignet sich für Instrumente mit niedriger Volatilität und begrenztem Preisspielraum, insbesondere in Seitwärtsphasen. Die Strategie erfasst temporäre Umkehrchancen effektiv und verfügt über robuste Risikokontrollen – selbst wenn der Preis nicht zurückkehrt, werden Verluste begrenzt.
Risikoanalyse
Die bidirektionale GD-Regressionsstrategie birgt auch Risiken:
- Dem-Trend-hinterherjagen-Risiko: Bei starken Trends kann die Strategie kontinuierlich Positionen eröffnen und zur Liquidierung führen.
- Übermäßige Preisschwankungen: Bei zu großen Schwankungen kann die Position den Begrenzungs-GD erreichen und zwangsweise glattgestellt werden.
- Parameteroptimierungsrisiko: Die Parameter haben großen Einfluss auf die Rentabilität; falsche Einstellungen senken die Gewinnwahrscheinlichkeit erheblich.
Optimierungsansätze für diese Risiken:
- Verschärfung der Eröffnungsbedingungen, um übermäßiges Öffnen zu vermeiden.
- Reduzierung der Positionsgröße, um Liquidierung zu verhindern.
- Optimierung von GD-Perioden, Schließungslinien-Parametern etc.
Optimierungsrichtungen
Die Strategie bietet erhebliches Optimierungspotenzial:
- Hinzufügen von Logik für Eröffnungsbedingungen, um dem Trend hinterherzujagen zu vermeiden.
- Implementierung von Positionsreduktionslogik, um Risiken großer Preisschwankungen abzufedern.
- Testen verschiedener GD-Typen, um bessere Parameterkombinationen zu finden.
- Einsatz maschinellen Lernens zur automatischen Parameteroptimierung.
- Hinzufügen einer automatischen Stop-Loss-Strategie zur besseren Risikosteuerung.
Zusammenfassung
Die bidirektionale GD-Regressionsstrategie erzielt Gewinne, indem sie Chancen auf Preisrückkehr nach Abweichung von gleitenden Durchschnitten nutzt. Sie kontrolliert Risiken effektiv und kann durch Parameteroptimierung verbessert werden. Trotz bestehender Risiken lassen sich diese durch verbesserte Eröffnungslogik und geringere Positionsgrößen eindämmen. Die einfache und verständliche Strategie ist lohnenswert für weitere Forschung und Optimierung durch quantitative Trader.
/*backtest
start: 2023-12-15 00:00:00
end: 2024-01-14 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy(title = "hamster-bot MRS 2", overlay = true, default_qty_type = strategy.percent_of_equity, initial_capital = 100, default_qty_value = 30, pyramiding = 1, commission_value = 0.1, backtest_fill_limits_assumption = 1)
info_options = "Options"
- 1

