Die Ressourcen sind geladen. Beförderung...

Handelsstrategie für RSI nach Bayesian Condition

Schriftsteller:ChaoZhang, Datum: 2023-12-18 17:09 Uhr
Tags:

img

Übersicht

Dieser Artikel analysiert hauptsächlich eine quantitative Handelsstrategie namens Bayesian Condition RSI Trading Strategy. Diese Strategie berechnet die Wahrscheinlichkeitsverteilung des RSI-Indikators und wendet die Bayesian-Regel an, um die Wahrscheinlichkeit abzuleiten, dass der RSI-Indikator weiter steigt oder fällt, um zukünftige Preistrends zu beurteilen und Gewinne zu erzielen.

Strategieprinzip

Die Kernlogik dieser Strategie lautet:

  1. Berechnen Sie die Wahrscheinlichkeitsverteilung A, ob der Schlusskurs innerhalb eines bestimmten Zyklus gestiegen ist
  2. Berechnung der Wahrscheinlichkeitsverteilung B, ob der RSI-Indikator innerhalb des entsprechenden Zyklus weiter steigt
  3. Die Bayesian-Regel wird angewendet, um die Wahrscheinlichkeit zu berechnen, dass A und B gleichzeitig auftreten.
  4. Wenn diese Wahrscheinlichkeit höher als die Schwelle ist, urteilen, dass der Trend weitergehen wird und nehmen Sie Handelssignale

Insbesondere definiert die Strategie zunächst den Parameter p als Zyklusparameter zur Berechnung des RSI-Indikators und r als Zeitrahmen zur Vorhersage zukünftiger Preisänderungen. Dann zählt man innerhalb des P-Zyklus die Anzahl der Anstiege des Schlusskurses, um die Wahrscheinlichkeitsverteilung A zu berechnen. Gleichzeitig zählt man innerhalb des P-Zyklus die Anzahl der Anstiege des RSI innerhalb des R-Zyklus nach Beendigung dieses Zyklus und berechnet die Wahrscheinlichkeitsverteilung B.

Anschließend wird die Bayesische Formel angewendet, um die Wahrscheinlichkeit zu berechnen, dass die beiden Bedingungen Schließpreisanstieg und RSI weiter steigen gleichzeitig als endgültiger Wahrscheinlichkeitsbeurteilungsindikator erfüllt sind.

Auf diese Weise berücksichtigt die Strategie umfassend Preisinformationen und technische Indikatoren, wendet Wahrscheinlichkeitsstatistiken und Bayesische Regeln an, um zukünftige Trends zu beurteilen und Handelssignale zu generieren.

Vorteile der Strategie

Die wichtigsten Vorteile dieser Strategie sind:

  1. Kombination mehrerer Informationen: Die Strategie berücksichtigt nicht nur Preisinformationen, sondern auch Informationen zu technischen Indikatoren wie dem RSI, um zukünftige Trends umfassend zu beurteilen und die Richtigkeit der Beurteilung zu verbessern.

  2. Wahrscheinlichkeitsvorhersage: Erstellen Sie Wahrscheinlichkeitsvorhersagen über die Richtung der Preis- und RSI-Veränderungen durch statistische Wahrscheinlichkeitsverteilung anstelle eines einfachen numerischen Vergleichs, wodurch das Urteil wissenschaftlicher wird.

  3. Bayesische Optimierung: Verwenden Sie bayesische Regeln, um relevante Wahrscheinlichkeiten zu berechnen und die ursprünglichen statistischen Wahrscheinlichkeiten zu optimieren, um Urteile genauer zu machen.

  4. Flexible Parameter: Bereitstellung mehrerer Anpassungs- und Optimierungsparameter für verschiedene Märkte und Vermögenswerte und Verbesserung der Anpassungsfähigkeit der Strategie.

  5. Einfach und effektiv: Die Strategieidee ist klar und einfache statistische und Wahrscheinlichkeitsoperationen werden verwendet, um Handelssignalurteile zu generieren, die leicht zu verstehen und zu optimieren sind, und der Effekt ist signifikant.

Risiken der Strategie

Zu den wichtigsten Risiken dieser Strategie gehören außerdem:

  1. Abhängigkeit von Parametern: Die Leistung hängt stark von Parametereinstellungen ab. Verschiedene Märkte müssen viele Parameter anpassen, um optimale Ergebnisse zu erzielen, was die Komplexität des Strategiebetriebs erhöht.

  2. Wahrscheinlichkeit Fehler: Aufgrund der begrenzten statistischen Zeit und der begrenzten Stichproben entspricht die berechnete Wahrscheinlichkeit möglicherweise nicht dem tatsächlichen Trend, was zu einer Abweichung der Beurteilung führt.

  3. Besondere Veranstaltungen: Große Notfälle können die Korrelation zwischen Marktpreisen und RSI-Indikatoren beeinträchtigen und zu einem Strategieversagen führen.

  4. Ausfall des technischen Anzeigers: In einigen Marktsituationen können technische Indikatoren wie der RSI ungültige Signale erzeugen, was zu einem Fehlschlag bei der Strategiebeurteilung führt.

Die Lösungen umfassen: Optimierung des Parameter-Einstellprozesses, Anpassung der statistischen Zeit und der Stichprobengröße, Kombination mehrer Hilfsinformationen, manuelle Intervention in abnormalen Situationen usw.

Optimierungsrichtlinien

Zu den wichtigsten Optimierungsschwerpunkten dieser Strategie gehören:

  1. Mehrere Zeitrahmen: Durchführung von Strategien über mehrere Zeitrahmen hinweg (täglich, wöchentlich usw.) für ein integriertes Urteil zur Verbesserung der Stabilität.

  2. Weitere Indikatoren: Hinzufügen von mehr technischen Indikatoren wie Kerzenmustern, gleitenden Durchschnitten usw., um die Basis für das Urteilsvermögen zu bereichern.

  3. Modelloptimierung: Verwendung von maschinellem Lernen usw. zur Optimierung des Bayesischen Modells für genauere Berechnungen.

  4. Dynamische Parameter: Hinzufügen dynamischer Optimierungsmodule für Parameter, die sich in Echtzeit an Marktveränderungen anpassen.

  5. Mechanismus zur Risikokontrolle: Festlegung von Risikometriken wie maximaler Auslastung und Handelsfrequenzen, um riesige Verluste in extremen Märkten zu vermeiden.

  6. Verbesserungen zusammenführen: Zusammen mit anderen Strategientypen oder -modellen Abstimmungsmechanismen zu schaffen und die Stabilität zu verbessern.

Schlussfolgerung

Diese Strategie berechnet zunächst statistisch die Wahrscheinlichkeitsverteilungen von Preis und RSI, verwendet dann Bayesische Regeln, um kombinierte Wahrscheinlichkeiten zu berechnen und Handelssignale zu erzeugen, wenn die Wahrscheinlichkeiten die festgelegten Schwellenwerte überschreiten, wodurch Gewinn erzielt wird. Diese Strategie kombiniert mehrfach Quelleninformationen, nutzt Wahrscheinlichkeitsvorhersage und Bayesische Optimierung für eine anständige Beurteilung. Zu den wichtigsten Optimierungsrichtungen gehören Zeitrahmenerweiterung, mehr Indikatoren, dynamische Parameter usw. Abschließend hat diese Strategie eine einzigartige Idee und eine bemerkenswerte Wirkung, die es wert ist, erforscht und angewendet zu werden.


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

//@version=2
// Stealthy7 trading scripts are radikal. You have entered the mystical realm of demonic profit.
// If you like this script, check out my bots at cryptotrader.org/?r=51
// Let me know if you find any improvements to this script. It is beta. 
// Please subscribe.
strategy("Stealthy7 Bayes Conditional RSI Trader Strategy", overlay=true)
p = input(title="Period",  defval=30, minval=5, maxval=500)
t = input(title="Movement Thresh", type=float, defval=1.003, minval=1.001, maxval=1.5, step=0.001)
r = input(title="Look Range",  defval=7, minval=1,maxval=500, step=1)
RSIT = input(title="Jump",  defval=8, minval=1,maxval=99, step=1)
BAYEST = input(title="SM",  defval=3, minval=1,maxval=99, step=1)
RSIP = input(title="RSIP",  defval=14, minval=2,maxval=100, step=1)
countup = 1
countdn = 1
countupS = 1
countdnS = 1
for i = p to 1
    if close[i]/close[i + r] > t
        countup := countup + 1
    else
        countdn := countdn + 1
    if close[i]/close[i + r] < 2 - t
        countupS := countupS + 1
    else
        countdnS := countdnS + 1

rsi = rsi(open,RSIP)

countup2 = 1
countup3 = 1
countup2S = 1
countup3S = 1
for i = p to 1
    if close[i]/close[i + r] > t and rsi[i + r + 1] > rsi[i + r + 2] + RSIT
        countup2 := countup2 + 1
    else
        countup3 := countup3 + 1
    if close[i]/close[i + r] < 2 - t and rsi[i + r + 1] < rsi[i + r + 2] - RSIT
        countup2S := countup2S + 1
    else
        countup3S := countup3S + 1

countup2b = countup2 / p
countup3b = countup3 / p
countupb = countup / p
countdnb = countdn / p

countup2bS = countup2S / p
countup3bS = countup3S / p
countupbS = countupS / p
countdnbS = countdnS / p
bayes = 0
bayes := ((countupb * countup2b) / ((countupb * countup2b) + (countdnb * countup3b))) * 100
bayesS = 0
bayesS := ((countupbS * countup2bS) / ((countupbS * countup2bS) + (countdnbS * countup3bS))) * 100
SN1 = sma(bayes,BAYEST)
SN2 = sma(bayesS,BAYEST)
shortCondition = crossunder(bayesS, SN2) //and rsi < 49
longCondition = crossover(bayes, SN1) //and rsi > 59
if (longCondition)
    strategy.entry("Long", strategy.long)
if (shortCondition)
    strategy.entry("Short", strategy.short)

Mehr