Simple Hurst Exponent [QuantNomad]This is a simplified version of the Hurst Exponent indicator.
In the meantime, I'm working on the full version. It's computationally intensive, so it's a challenge to squeeze it to PineScript limits. It will require some time to optimize it, so I decided to publish a simplified version for now.
The Hurst exponent is used as a measure of long-term memory of time series. It relates to the autocorrelations of the time series, and the rate at which these decrease as the lag between pairs of values increases
The Hurst exponent is referred to as the "index of dependence" or "index of long-range dependence". It quantifies the relative tendency of a time series either to regress strongly to the mean or to cluster in a direction.
In short depend on value you can spot trending / reversing market.
Values 0.5 to 1 - market trending
Values 0 to 0.5 - market tend to mean revert
####################
Disclaimer
Please remember that past performance may not be indicative of future results.
Due to various factors, including changing market conditions, the strategy may no longer perform as good as in historical backtesting.
This post and the script don’t provide any financial advice.
Meanreversion
Coefficient of Variation - EMA and SMA StDevYet another way to try and measure volatility. An alternative to using ATR is Standard Deviation, it can be used to measure volatility or what is also known as risk. SD measures how dispersed or far away the data is from the mean. It's commonly seen in risk management formulas or portfolio diversification formulas. The problem however is that the numbers that ATR and SD give off from one equity might not be relative to others or its own past. For example, SPY can give a large number despite not being as volatile as other equities while others being compared to can have smaller volatility numbers and still be more volatile looking.
A solution I thought of is to use percentages that are relatable to different equities. I found out another name for this idea comes from statistics and is known as coefficient of variation, also known as relative standard deviation. This helps see the volatility as a percentage and not just a number that only relates to what is being seen at the moment. I put in a border line on the zero level to see where zero is at but also to edit in case there is such a thing as a percentage number that can be too high or too low for volatility to be looked at if needed. The average and standard deviation formulas can use either simple moving average or exponential moving average.
Ark Crypto HeatlineThis is the 'on chart' indicator. See also "Ark Crypto Heatband" indicator for a side-by-side BTC view, without a re-scaled line.
The crypto landscape is largely dominated by BTC and characterised by cyclical stages with varying degrees of mean reversion.
To understand what stage of the cycle we are currently experiencing, it is useful to examine to what degree the current price has extended beyond the long term average that BTC has established. This is true even when analysing other crypto assets as BTC is the dominant force in the crypto asset class.
This indicator uses the 1400 period daily SMA , which is broadly the 200 period weekly SMA. This can be configured, but historically has represented a baseline to which BTC commonly returns.
The graph plots current price in terms of multiples of this long term average. Traditionally, at multiples beyond 10, BTC is considered overextended with a higher likelihood of trending towards the mean thereafter. Colors indicate the extent of price extension.
Where the indicator is applied to non BTCUSD pairs, a smoothed conversion is applied, seeking to superimpose the BTC long period SMA onto the current chart.
The indicator specifically references BTC by default on all charts, as it is designed to use BTC as general purpose indication of where crypto as a whole currently sits. Accordingly the indicator is only to be used on crypto charts.
For best results on BTC, using BNC:BLX will give the longest historical view.
Ark Crypto HeatbandThe crypto landscape is largely dominated by BTC and characterised by cyclical stages with varying degrees of mean reversion.
To understand what stage of the cycle we are currently experiencing, it is useful to examine to what degree the current BTC price has extended beyond a long term average. This is true even when analysing other crypto assets and helpful to view side by side.
This indicator uses the 1400 period daily SMA, which is broadly the 200 period weekly SMA. This can be configured, but historically has represented a baseline to which BTC commonly returns.
The graph plots current price in terms of multiples of this long term average. Traditionally, at multiples beyond 10, BTC is considered overextended with a higher likelihood of trending towards the mean thereafter. Colors indicate the extend of price extension.
The indicator specifically references BTC by default on all charts as it is designed to use BTC as general purpose indication of where crypto as a whole currently sits. Accordingly the indicator is only to be used on crypto charts.
Mean Reversion Channel - (fareid's MRI Variant)Description :
Mean Reversion Channel objective, based on Mean Reversion theory ( everything has a tendency to revert back to its mean), is to help visualizing:
Inner Channel -> Dynamic Support and Resistance
Outer Channel -> Overbought/Oversold Zone which may signal consolidation phase or potential reversal due to unsustainable move
Details on some of the filtering type used for mean calculation can be read in Ehlers Technical Papers: "Swiss Army Knife Indicator" and/or his book "Cybernetics Analysis for Stock and Futures"
Disclaimer:
These study scripts was built only to test/visualize an idea to see its viability and if it can be used to optimize existing strategy.
Any ideas to further improve this indicator are welcome :)
dirt cheap yet elegant RSI StrategyFor Educational Purposes. Results can differ on different markets and can fail at any time. Profit is not guaranteed.
This only works in a few markets and in certain situations. Changing the settings can give better or worse results for other markets. This is a good way to show off a good looking strategy, atleast in paper, with minimal effort involved in the making and usage. It can be made with the most minimal lines of code if needed to bring shame unto others. It only works in a few markets and who knows if it will actually rebound from the overbought or oversold levels but in case it doesn't I put in a time-based stop to exit in case of that worst case scenario. There's not much to it, good for trolling others, or serious business, you decide.
Bollinger Bands Strategy with Intraday Intensity IndexFor Educational Purposes. Results can differ on different markets and can fail at any time. Profit is not guaranteed.
This only works in a few markets and in certain situations. Changing the settings can give better or worse results for other markets.
This is a mean reversion strategy based on Bollinger Bands and the Intraday Intensity Index (a volume indicator). John Bollinger mentions that the Intraday Intensity Index can be used with Bollinger Bands and is one of the top indicators he recommends in his book. It seems he prefers it over the other volume indicators that he compares to for some reason. III looks a lot like Chaikin Money Flow but without the denominator in that calculation. On the default settings of the BBs, the III helps give off better entry signals. John Bollinger however is vague on how to use the BBs and it's hard to say if one should enter when it is below/above the bands or when the price crosses them. I find that with many indicators and strategies it's best to wait for a confirmation of some sort, in this case by waiting for some crossover of a band. Like most mean reversion strategies, the exit is very loose if using BBs alone. Usually the plan to exit is when the price finally reverts back to the mean or in this case the middle band. This can potentially lead to huge drawdowns and/or losses. Mean reversion strategies can have high win/loss ratios but can still end up unprofitable because of the huge losses that can occur. These drawdowns/losses that mean reversion strategies suffer from can potentially eat away at a large chunk of all that was previously made or perhaps up to all of it in the worst cases, can occur weeks or perhaps up to months after being profitable trading such a strategy, and will take a while and several trades to make it all back or keep a profitable track record. It is important to have a stop loss, trailing stop, or some sort of stop plan with these types of strategies. For this one, in addition to exiting the trade when price reverts to the middle band, I included a time-based stop plan that exits with a gain or with a loss to avoid potentially large losses, and to exit after only a few periods after taking the trade if in profit instead of waiting for the price to revert back to the mean.
GMS: Mr. Yen's Color ZoneThis is Mr. Yen's color zone. I have also added an input to adjust the sizes of each box. Mainly targeted for MES and ES.
The default settings are as he describes:
white line is the previous day close
red zone = +/- 20 from the previous day close
yellow zone = +/- 40 from the previous day close
green zone = +/- 60 from the previous day close
blue zone = +/- 100 from the previous day close
The source code is open, so feel free to take a look and see whats up. This indicator is quite similar to his, however there is a gap at the cash close to overnight open on his chart that I'm not sure how to adjust for. In any case, this one is still pretty good!
I hope it helps,
Andre
ATR Pivot Point Index [racer8]Description:
ATR Pivot Point Index (ATR_PPI) is based on the theory of mean reversion.
I was inspired to create this indicator after watching a particular YouTube video on the UKspreadbetting channel.
In this video, the trader being interviewed mentioned that he would exit when price is too far from the moving average.
In other words, he exits when he thinks price will revert back to the moving average (mean reversion).
I'm not sure what period moving average he used, so I set it to the standard 14 periods.
I wanted to quantify his strategy so that the user can consistently exit a trade at a fixed distance away from the moving average.
For this indicator, this distance is in ATR units.
This strategy of exiting is known as the mean reversion exit strategy.
Alternatively, if the user wishes to, this indicator can also be used as an entry indicator (Trend entry strategy).
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Parameters:
1. Sma Period - controls length of moving average (Affects histogram).
2. Atr Period - controls length of Atr, doesn't have much affect on indicator (Affects histogram).
3. Atr Pivot Point Level - controls horizontal line, it determines how far away in Atr units you want to exit/enter from the sma for every trade.
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Interpreting signals:
(Trend entry strategy) When histogram is...
Green - enter long
Red - enter short
Purple - No signal
(Mean reversion exit strategy) When histogram is...
Green - exit long
Red - exit short
Purple - No signal
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Calculation:
Distance = Absolute value of (current close - moving average(14))
ATR_units = Distance / ATR(14) ...........Plot as histogram.
Add horizontal line set at (2)*ATR .......Plot line.
Is histogram > line?
Yes, histogram color is green/red.
No, histogram color is purple.
Note: For mean reversion exit strategy, I recommend HIGHER Atr Pivot Point Level values. Vice versa for trend entry strategy.
Enjoy :)
GMS: Candlestick Patterns with RSI FilterI wanted to apply an RSI filter to some of the new Candlestick Patterns (in the indicators tab) since some of them looked to be quite effective for picking reversals. Turns out it's a pretty good pairing.
You can modify the RSI length in addition to the upper and lower thresholds. I also added in check boxes to combine different bullish and bearish patterns.
The candlestick patterns included are:
1. Long Upper Shadow
2. Long Lower Shadow
3. Doji
4. Bullish Harami
5. Bearish Harami
6. Bullish Engulfing
7. Bearish Engulfing
Hope it helps!
Andre
Hammer & Shooting Star IndicatorA hammer candle is defined here as 1) the lower shadow (wick) is at least twice the length of the main body and 2) the close is in the top half of the range.
A shooting star has the opposite conditions 1) the upper shadow is at least twice the size of the main body and 2) the close is in the lower half of the range.
These candles should not be used by themselves but used in context ie with Bollinger bands, RSI or other oscillators they can form part of a mean reversion system.
Bars above/below EMACount of previous bars above or below a chosen Exponential Moving Average. Typically price reconnects with well defined EMAs regularly. If the price has been above/below an EMA for too long, you can expect a reconnect in a short order and bet on mean reversion strategies.
GMS: Mean Reversion StrategyThis is based on my GMS: Mean Reversion Indicator ()
Features:
- % Based Profit Target and Stop Loss
- SMA Trend Filter
- Can choose trade exit based off a moving average or linear regression curve
- Filter for long only trades, short only trades, or both at the same time.
Source code is open, so feel free to take a look!
I hope it helps,
Andre
Data MeanCalculating the Mean, given a set of data.
I'd assume BTCUSD needs to touch this on the daily, as it hasn't yet.
"reverting to the mean" is essential in market dynamics.
GMS: Mean Reversion IndicatorThis is just the close represented as a standard deviation away from an "x" period linear regression. You can select the price source as well.
Trend Following or Mean RevertingThe strategy checks nature of the instruments. It Buys if the close is greater than yesterday's high, reverse the position if the close is lower than yesterday's low and repeat the process.
1. If it is trend following then the equity curve will be in uptrend
2. If it is mean reverting then the equity curve will be downtrend
Thanks to Rayner Teo.
ATR-ranged Donch on 15min// This is a simple Mean Reversion & Breakout Indicator.
// A Donchian Channel is plotted. A threshold equal to 0.25 of Daily ATR.
// If price reverses from this threshold, then it can be taken as possible Mean Reversion.
// If price crosses the previous Donchian levels, it can be taken as a possible breakout.
// Typical of such strategy is the whipsaw effect when price movement is just flat.
// I have marked the region where the lower and higher thresholds are closer to be an indicative of whipsaw.
// But it is not really effective to avoid whipsaw.
Mean Reversion Strategy by KrisWatersThis is a type of mean reversion strategy. It only generates long signals when the price is far away from the mean. It tries buy from the dip. Use it with BTC/USDT pair on 4 hour timeframe.
Colour Coded Bollinger BandsBollinger Bands coloured to more clearly show periods of contraction and expansion. Green filled bands indicate expansion/increasing bandwidth, and red fill indicates contraction/decreasing bandwidth.
Mean Street V1script for mean reversion conditions - tweak-able based on the volatility of the asset its used on, and the time frame
Bollinger Band Strategy (Basic) Version 1 This strategy is for learning purposes only. Pay special attention to these strategies on longer aggregation periods (like 1 hr chart or more). Don't expect accurate results when you set a limit to 10 cents above your entry to be accurate. For example if you set the chart to 1 day, the price may move down and hit a stop 10 times then tag your limit. If this doesn't make sense, just don't use strategies here. Learn more first. That being said, I don't have specific recommendations for each aggregation period, backtesting isn't always perfect.
Now then, this strategy can be used as the traditional BB method by setting the "Stop" and "Limit Out" to like 10000, check "Reversal Entry" and uncheck "Limit Time of Day" This will keep the strategy running just reverse your position when price crosses outside each band.
INPUTS:
Length - length of WMA that I used for mean of Bollinger Band (this may suppose to be SMA, too bad)
Source - O-H-L-C basis for WMA
Deviation - normal Standard deviation that would be set when using Bollinger Band
Trailing stop check box - your stop value will be either a hard stop or trailing stop for an exit
Stop - the stop value - remember you can set this really high and it won't stop out
Limit Out - the limit value for exit
Reversal Entry check box - This changes each entry from a reversal (traditional idea of BB) to enter a trend trade - hopefully version 2 will have choice to trend one direction and reversal in the other.
Limit Time of Day - Especially when trading futures, you may want to only trade a specific time of day, when this box is checked, you can set the entry times below, exit will still only occur based on limit/stop or a flip entry order (the opposite entry condition is met)
Tips:
when I don't know a thing about a price range, like gold. I can set the limit out to 10000 and play with a trailing stop to get a better idea of what is even possible before tuning further.
Mean-Reversion Swing Trading Strategy v1A port of the TradeStation EasyLanguage code for a mean-revision strategy described at
traders.com
"In “Mean-Reversion Swing Trading,” which appeared in the December 2016 issue of STOCKS & COMMODITIES, author Ken Calhoun
describes a trading methodology where the trader attempts to enter an existing trend after there has been a pullback.
He suggests looking for 50% pullbacks in strong trends and waiting for price to move back in the direction of the trend
before entering the trade."
See Also:
- 9 Mistakes Quants Make that Cause Backtests to Lie (blog.quantopian.com)
- When Backtests Meet Reality (financial-hacker.com)
- Why MT4 backtesting does not work (www.stevehopwoodforex.com)
Forex Master v4.0 (EUR/USD Mean-Reversion Algorithm)DESCRIPTION
Forex Master v4.0 is a mean-reversion algorithm currently optimized for trading the EUR/USD pair on the 5M chart interval. All indicator inputs use the period's closing price and all trades are executed at the open of the period following the period where the trade signal was generated.
There are 3 main components that make up Forex Master v4.0:
I. Trend Filter
The algorithm uses a version of the ADX indicator as a trend filter to trade only in certain time periods where price is more likely to be range-bound (i.e., mean-reverting). This indicator is composed of a Fast ADX and a Slow ADX, both using the same look-back period of 50. However, the Fast ADX is smoothed with a 6-period EMA and the Slow ADX is smoothed with a 12-period EMA. When the Fast ADX is above the Slow ADX, the algorithm does not trade because this indicates that price is likelier to trend, which is bad for a mean-reversion system. Conversely, when the Fast ADX is below the Slow ADX, price is likelier to be ranging so this is the only time when the algorithm is allowed to trade.
II. Bollinger Bands
When allowed to trade by the Trend Filter, the algorithm uses the Bollinger Bands indicator to enter long and short positions. The Bolliger Bands indicator has a look-back period of 20 and a standard deviation of 1.5 for both upper and lower bands. When price crosses over the lower band, a Long Signal is generated and a long position is entered. When price crosses under the upper band, a Short Signal is generated and a short position is entered.
III. Money Management
Rule 1 - Each trade will use a limit order for a fixed quantity of 50,000 contracts (0.50 lot). The only exception is Rule
Rule 2 - Order pyramiding is enabled and up to 10 consecutive orders of the same signal can be executed (for example: 14 consecutive Long Signals are generated over 8 hours and the algorithm sends in 10 different buy orders at various prices for a total of 350,000 contracts).
Rule 3 - Every order will include a bracket with both TP and SL set at 50 pips (note: the algorithm only closes the current open position and does not enter the opposite trade once a TP or SL has been hit).
Rule 4 - When a new opposite trade signal is generated, the algorithm sends in a larger order to close the current open position as well as open a new one (for example: 14 consecutive Long Signals are generated over 8 hours and the algorithm sends in 10 different buy orders at various prices for a total of 350,000 contracts. A Short Signal is generated shortly after the 14th Long Signal. The algorithm then sends in a sell order for 400,000 contracts to close the 350,000 contracts long position and open a new short position of 50,000 contracts).