Die Jaws-Reversion-Strategie ist eine sehr einfache Trend-Handelsstrategie. Ihre Kernidee ist es, lang zu gehen, wenn der kurzfristige gleitende Durchschnitt um einen bestimmten Prozentsatz unter den langfristigen gleitenden Durchschnitt fällt, und die Position zu schließen, wenn der kurzfristige gleitende Durchschnitt über den langfristigen gleitenden Durchschnitt geht. Die Strategie berechnet zuerst einen kurzfristigen und einen langfristigen gleitenden Durchschnitt und erzeugt dann Handelssignale basierend auf der Beziehung zwischen den beiden gleitenden Durchschnitten.
Die Strategie stützt sich hauptsächlich auf zwei gleitende Durchschnitte, einen kurzfristigen und einen langfristigen. Der kurzfristige gleitende Durchschnittsparameter ist smallMAPeriod, und der langfristige gleitende Durchschnittsparameter ist bigMAPeriod. Die Strategie berechnet zunächst diese beiden gleitenden Durchschnitte und vergleicht dann die Größenbeziehung zwischen ihnen.
Wenn der kurzfristige gleitende Durchschnitt von oben fällt und einen bestimmten Prozentsatz (vorgegeben durch den Parameter percentBelowToBuy) des langfristigen gleitenden Durchschnitts durchbricht, wird ein Kaufsignal generiert, um lang zu gehen. Wenn der kurzfristige gleitende Durchschnitt anschließend steigt und über den langfristigen gleitenden Durchschnitt geht, wird ein Verkaufssignal generiert, um die Position zu schließen.
Wenn der kurzfristige gleitende Durchschnitt in gewissem Maße unter dem langfristigen gleitenden Durchschnitt liegt, bedeutet dies, dass der Vermögenswert unterbewertet sein kann und eine Chance haben sollte, zum Durchschnitt zurückzukehren, so dass ein Long ein Rebound-Gewinn erzielen kann.
Die Mittelumkehrstrategie der Kiefer hat folgende Vorteile:
Die Strategie kann durch einfache Parameteroptimierung gute Ergebnisse erzielen. Durch die Anpassung der gleitenden Durchschnitts- und Konzessionsprozentsatzparameter kann auf verschiedenen Marktvermögenswerten wie Aktien, Devisen und Kryptowährungen ein Backtesting durchgeführt werden, um die optimalen Parameterkombinationen auszuwählen.
Die Jaws-Rückkehrstrategie beinhaltet auch einige Risiken:
Zur Risikominderung können folgende Methoden angewendet werden:
Die Mittelumkehrstrategie von Jaws kann aus folgenden Gesichtspunkten optimiert werden:
Die Jaws-Mittelumkehrstrategie erfasst die Mittelumkehrchancen, nachdem sich die Kurzzeitpreise von den langfristigen Trends abgewandelt haben, indem sie kurz- und langfristige gleitende Durchschnitte vergleicht. Die Strategie hat eine einfache Logik, die leicht zu verstehen und umzusetzen ist. Durch Parameteroptimierung kann sie gute Ergebnisse erzielen. Aber Risiken wie weniger Signale und fehlende Umkehrungen bestehen immer noch, was das Testen und Optimieren von Parametern und Filtern erfordert, um die Strategierenditen zu maximieren.
/*backtest start: 2023-02-20 00:00:00 end: 2024-02-26 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // @version=4 // // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // // @author Sunil Halai // // This very simple strategy is an implementation of PJ Sutherlands' Jaws Mean reversion algorithm. It simply buys when a small moving average period (e.g. 2) is below // a longer moving average period (e.g. 5) by a certain percentage, and closes when the small period average crosses over the longer moving average. // // If you are going to use this, you may wish to apply this to a range of investment assets, as the amount signals is low. Alternatively you may wish to tweak the settings to provide more // signals. strategy("Jaws Mean Reversion [Strategy]", overlay = true) //Strategy inputs source = input(title = "Source", defval = close) smallMAPeriod = input(title = "Small Moving Average", defval = 2) bigMAPeriod = input(title = "Big Moving Average", defval = 5) percentBelowToBuy = input(title = "Percent below to buy %", defval = 3) //Strategy calculation smallMA = sma(source, smallMAPeriod) bigMA = sma(source, bigMAPeriod) buyMA = ((100 - percentBelowToBuy) / 100) * sma(source, bigMAPeriod)[0] if(crossunder(smallMA, buyMA)) strategy.entry("BUY", strategy.long) if(crossover(smallMA, bigMA)) strategy.close("BUY")