Multifaktor-Quantitative Handelsstrategie

Schriftsteller:ChaoZhang, Datum: 2023-12-27 15:46:27
Tags:

img

Übersicht

Diese Strategie kombiniert die Umkehrstrategie mit der psychologischen Linienstrategie, um eine mehrfaktorische quantitative Handelsstrategie zu bilden.

Grundsätze

123 Umkehrstrategie

Die 123 Reversal Strategie entscheidet, dass, wenn der Schlusskurs des Tages im Vergleich zum Vortag steigt und die langsame K-Linie unter 50 liegt, man lang geht; fällt er, und die schnelle K-Linie über 50, geht man kurz.

Strategie der psychologischen Linie

Die psychologische Linienstrategie zählt das Verhältnis von Anstiegen und Abstiegen über einen bestimmten Zyklus. Wenn der Anstieg größer als 50% ist, zeigt es an, dass die Bullen den Markt kontrollieren; wenn der Anstieg kleiner als 50% ist, zeigt es an, dass die Bären den Markt kontrollieren. Machen Sie Urteile über die Marktpsychologie basierend auf dem Verhältnis von Anstiegen und Abstiegen.

Diese Strategie kombiniert die Signale aus den beiden oben genannten Strategien. Öffnen Sie Positionen, wenn die beiden Strategien Signale in die gleiche Richtung geben, und schließen Sie Positionen, wenn Sie Signale in verschiedene Richtungen geben.

Vorteile

Die Strategie kombiniert mehrere Faktoren und kann genauere Beurteilungen über Markttrends treffen, um Fehleinschätzungen zu vermeiden, die durch einen einzigen technischen Indikator verursacht werden.

Risiken und Lösungen

Die Einstellung von Parametern für jeden Faktor in der Strategie wird einen größeren Einfluss auf die Strategieleistung haben. Unvernünftige Parameterkombinationen können die Effektivität der Strategie erheblich reduzieren. Darüber hinaus können drastische Veränderungen in den Trends auch dazu führen, dass die Strategie fehlschlägt. Um Risiken zu reduzieren, müssen wir verschiedene Marktbedingungen zurückprüfen, um die optimalen Parameter-Einstellungen zu finden; auch die Positionsgröße kontrollieren, um sicherzustellen, dass ein einzelner Verlust nicht zu groß ist.

Optimierungsrichtlinien

Auf der vorhandenen Basis können wir weiterhin andere Beurteilungsfaktoren wie Volatilität und Volumen hinzufügen, um eine mehr dreidimensionale Strategie-Logik zu bilden; oder Machine-Learning-Algorithmen hinzufügen, um eine automatische parameteradaptive Optimierung zu erreichen. Dies werden weitere Optimierungsrichtungen für diese Strategie sein.

Zusammenfassung

Diese Strategie berücksichtigt umfassend mehrere Faktoren wie technische Muster und Marktpsychologie. Die Validierung zwischen verschiedenen Faktoren gewährleistet die Gültigkeit von Signalen. Gleichzeitig lässt sie viel Raum für Optimierung und wird erwartet, dass sie eine überlegene Leistung erzielt. Dies ist eine qualitativ hochwertige quantitative Strategie, die langfristig verfolgt, angesammelt und optimiert werden sollte.


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

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 30/04/2021
// 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
// Psychological line (PSY), as an indicator, is the ratio of the number of 
// rising periods over the total number of periods. It reflects the buying 
// power in relation to the selling power.
// If PSY is above 50%, it indicates that buyers are in control. Likewise, 
// if it is below 50%, it indicates the sellers are in control. If the PSY 
// moves along the 50% area, it indicates balance between the buyers and 
// sellers and therefore there is no direction movement for the market.
//
// 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


PLine(Length) =>
    pos = 0.0
    cof = close > close[1]? 1:0
    xPSY = sum(cof,Length) / Length * 100
    pos:= iff(xPSY > 50, 1,
           iff(xPSY < 50, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & Psychological line", shorttitle="Combo", overlay = true)
line1 = input(true, "---- 123 Reversal ----")
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
line2 = input(true, "---- Psychological line ----")
LengthPLine = input(20, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posPLine = PLine(LengthPLine)
pos = iff(posReversal123 == 1 and posPLine == 1 , 1,
	   iff(posReversal123 == -1 and posPLine == -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