Evidence and Behaviour of Support and Resistance Levels in Financial Time Series
EEvidence and Behaviour of Support and Resistance Levels inFinancial Time Series
K. Chung a and A. Bellotti b a Department of Mathematics, Imperial College London, United Kingdom; b School of Computer Science, University of Nottingham, Ningbo, China
ARTICLE HISTORY
Compiled January 20, 2021
ABSTRACT
This paper investigates the phenomenon of support and resistance levels (SR levels)in financial time series, which act as temporary price barriers that reverses pricetrends. We develop a heuristic discovery algorithm for this purpose, to discover andevaluate SR levels for intraday price series. Our simple approach discovers SR levelswhich are able to reverse price trends statistically significantly. Asset price enteringSR levels with higher number of price bounces before are more likely to bounceon such SR levels again. We also show that the decay aspect of the discovered SRlevels as decreasing probability of price bounce over time. We conclude SR levelsare features in financial time series are not explained simply by AR(1) processes,stationary or otherwise; and that they contribute to the temporary predictabilityand stationarity of the investigated price series.
1. Introduction
Support and resistance levels (SR levels) are prices in a financial time series where itis believed that price trends are likely to stop and reverse (Osler 2000). SR levels arewell known and frequently used within the retail trading circle as a form of technicalanalysis to inform trading decisions (Taylor and Allen 1992). Technical analysis is a classof methods which involves the analysis of historical data to inform trading decisions inthe present. Traditionally it incorporates data such as price trends and trading activities,but modern advancements in data collection has opened potentially useful data sourcessuch as twitter and news feed (Bharathi, Geetha, and Sathiynarayanan 2017). Unlikefundamental analysis in which the intrinsic value of a financial asset is evaluated interms of economics and/or politics, technical analysis focuses solely on exploitable pricepatterns in the past.The use of technical analysis for trading decisions can be dated as far back to the mid-19th century (Lef`evre 1923), when it was better known as tape reading. Ticker tapeswere once in use to display current stock prices and volume, and tape reading refers tothe analysis of the information on a ticker tape. Fast forward to the modern-day, retailtraders (individual investors investing in retail platforms) mainly understand technical
CONTACT A. Bellotti. Email: anthony-graham.bellotti at nottingham dot edu dot cn a r X i v : . [ q -f i n . S T ] J a n nalysis to be the analysis of historic price series to predict future price movements.A common way of applying technical analysis is to perform calculations on a rollingwindow of historic prices to produce a numerical indicator (Leigh, Purvis, and Ragusa2002) (Lebaron 2000). This indicator can then be used to inform trading decisions, forexample if the trader should invest in a particular financial asset.Technical analysis by nature go against the well established efficient market hypothesis(EMH) (Melkiel 1989). The EMH states that asset prices fully reflect all available infor-mation, and that as a direct consequence it is impossible to generate returns in excess ofrisk free returns on a consistent basis by analysing asset prices only. There is currentlyno consensus on this conundrum in the academic community, as both opposing sideshave equally numerous and convincing academic evidence to support their claims. Forexample, a recent review (Park and Irwin 2007) on studies of technical analysis hasfound overwhelmingly positive results on its profitability. On the other hand, a paper(Melkiel 2003) defends the EMH by invalidating its critics and concludes that the stockmarkets are not as predictable as they claim.The most important philosophical foundation as to why technical analysis can be prof-itable is that retail traders believe history repeats itself, in the form of market ineffi-ciencies which can be repeatedly exploited. The prevalence of high frequency tradingin the past decades (Menkveld 2013), which is mostly dependent on analysing orderbook information, is a testament to the efficacy of technical analysis. For this paper, wemaintain a neutral stance on this subject and use methods from both sides to validateour findings.Verification of and optimization of the profit of technical indicators is in continuous re-search. An example of such an indicator is the Bollinger bands (Bollinger 1992), in whichthere were substantial research efforts (Lento, Gradojevic, and Wright 2007; Leung andChong 2003; Kabasinskas and Macys 2010; Williams 2006) since its publication. Despiteinterests in understanding technical indicators in general, research on SR levels are fewand far between. We postulate that the difficulty of establishing a universal technicalindicator due to its subjective nature could be the main reason for this. Although re-search on market micro-structure related to SR levels such as price barriers (Bourghelleand Cellier 2009) and price clustering (Chiao and Wang 2009) can be found, the earliestaccount that verifies the predictive capability of SR levels is documented by Osler in2000 (Osler 2000), who have stated that “the specific conclusion that exchange ratestend to stop trending at support and resistance levels has no precedent in the academicliterature”.From a market micro-structure perspective, the root cause of SR levels can be attributedto a large volume of limit orders stacked at certain price levels. Indeed, economists haveconcluded the existence of SR levels is due to stacked limit orders at certain price levels(Chiao and Wang 2009). Limit orders are buy/sell orders of a financial asset which areexecuted only if pre-determined prices are met; whereas market orders are orders whichare executed immediately at the current price. SR levels are results of an imbalanceorder flow at certain price levels (Osler 2001). This order flow is an intricate interplaybetween limit orders and market orders.Osler concluded that published SR levels by financial firms between 1996 to 1998 hasstatistically significant ability to predict trend interruptions (Osler 2000); and that theirpredictive abilities can last up to 5 business days after publishing. Garzarelli et al. (2014)have also investigated the bounce probability of SR levels discovered in the tick data2or 9 stocks in the London Stock Exchange in 2002, and concluded that prices tendto re-bounce than cross price values which are determined to be SR levels. Our workcentres around the evaluation framework of Garzarelli et al. (2014), and contributes tothe literature by proposing a heuristic sequential algorithm for SR level detection inSection 2, investigates the temporal effect of the detected SR levels in Section 4 andif our findings occur naturally in a theoretical efficient market in Section 5. Section 6concludes this paper and discusses future work.
2. Methodology2.1.
Definitions
At the time of writing, no clear mathematical definition for SR levels can be found inthe literature. Qualitative description of SR levels on the other hand are well establishedin technical analysis manuals and there are little differences in their definitions (Osler2000). For example a standard technical analysis reference states that “Support levelsindicate the price where the majority of investors believe that prices will move higher,and resistance levels indicate the price at which a majority of investors feel prices willmove lower.” (Achelis 2001). Garzarelli et al. (2014) evaluates the efficacy of SR levelsusing a probabilistic approach but also have a qualitative definition. As far as a generalapproach is concerned, recent minima and maxima are as good approximates of SRlevels as any (Osler 2000).These definitions, though form the basis of our discovery algorithm in the later sections,are unsatisfying mathematically and are not concrete enough to work with. To carryout our investigations in the subsequent sections, we propose the following definitionsfor support and resistance level in a discrete time framework:
Definition 2.1.
Support Level is an interval r a, b s P R such that if x t P r a, b s , then p p x t ` δ ą b q ą p p x t ` δ ă a q for all δ P t , . . . , ω u . Definition 2.2.
Resistance Level an interval r a, b s P R such that if x t P r a, b s , then p p x t ` δ ą b q ă p p x t ` δ ă a q for all δ P t , . . . , ω u .Our proposed definitions acknowledge the varying width of an SR level with an arbitraryinterval r a, b s , as well as its temporary nature by specifying an arbitrary value ω for thelength of its existence. The choice to specify an interval for an SR level is twofold:relaxation of strict price levels such as using SR zones instead of SR levels are popularamong technical traders, and such relaxation allows more price bounces to be observedfor any interval which helps in detecting SR levels. In section 2.2, we argue that theoptimal choice of interval width for our discovery algorithm is determined by the averageprice increment, which is in turn related to the resolution of the price series. For veryhigh frequency price series, or in a theoretical continuous context, choosing the intervalwidth to be 0 may be suitable. However, our definitions do not directly address thesupply and demand imbalance in the order book which is one of the root causes of SRlevels (Osler 2001), but is sufficient for our subsequent analysis where only the assetprice series is concerned.Next, we define the bounce and penetration event for an SR level. A bounce on a support3resistance) level is defined as the price entering the level’s interval from its upper (lower)boundary and then exiting it through the upper (lower) boundary, without going belowthe lower (upper) boundary. We define penetration of a support (resistance) level as theprice entering its region from the upper (lower) boundary and then exiting through thelower (upper) boundary. Figures 2.1 and 2.2 display support levels with a price bounceand a price penetration respectively, with the dotted lines denoting the upper and lowerboundary of the support level. . . . . Index p r i c e Figure 2.1.
Support level with a single bounce . . . Index p r i c e Figure 2.2.
Support level with penetration
In order to evaluate the strength of an SR level following our proposed definitions, wedefine the probability of bouncing, which for a support level is p p b q “ p p x t ` δ ą b q p p x t ` δ ă a q ` p p x t ` δ ą b q , and for a resistance level is p p b q “ p p x t ` δ ă a q p p x t ` δ ă a q ` p p x t ` δ ą b q , where x t P r a, b s and δ P t , . . . , ω u . This probability of bouncing is conditional on priceexiting the SR level, and is essential for our investigation in the subsequent sections.Note that the bounce probability defined here holds true for the particular price level4rom t to t ` δ , for any δ P t , . . . , ω u , and that price exit events can happen at any timewithin this time interval. We also refer the strength of an SR level to be its p p b q value;i.e. the higher the p p b q value for an SR level, the stronger it is, therefore the better itsability to reverse price trends. Discovery & Evaluation Algorithm
At the time of writing, no existing discovery algorithm of SR levels is documented in theacademic literature. Osler evaluated SR levels published by financial institutions (Osler2000), and Garzarelli et al. (2014) has not explicitly stated how their evaluated SR levelsare discovered. The algorithm proposed in this section follows a rolling window approachcommonly used in technical analysis (Chang et al. 2018), and simply identifies localminima and local maxima as support and resistance levels respectively. We acknowledgethat there are many methods for discovering SR levels in the trading circle and thattherefore the discovery algorithm proposed here is one of all possible discovery methods.A rolling window approach entails that a pre-specified period of immediate historic priceseries being analysed by the algorithm at every time point. Given a rolling window withprices series X t “ x τ : τ Pt t ´ i,t ´ i ` ,...,t u , where τ is the time index and i the rolling windowlength. We also refer to rolling windows with length i minutes to be an i minute lagwindow for the remainder of this paper. Following our definitions of an SR level earlier,we choose for a rolling window, a support level to be min X t ˘ γ and a resistance levelto be max X t ˘ γ , where γ is the level width parameter. We follow the approach ofGarzarelli et al. (Garzarelli et al. 2014), which accommodates different resolution ofprice series, by choosing γ to be the average price increment of the entire price seriesdefined as ∆ p x t q “ T ´ T ÿ t “ | x t ´ x t ´ | , (1)where T is the last time index of the price series. We find that using this approach yields p p b q “ . γ would inflate p p b q while a lower γ would deflate p p b q .With the SR levels of a rolling window identified, we can then count the number ofbounces there are for this pair of SR levels. In the case of a support level, its number ofbounces S b can be determined by the number of crosses on the upper boundary of thesupport level ¯ S “ min X t ` γ of each price movement divided by 2; or in mathematicalterms, the number of times ¯ S is between x τ ´ and x τ for τ P t t ´ i, t ´ i ` , . . . , t u divided by 2, where i denote the rolling window length. Thus, the number of supportbounces S b “ Y t ´ ÿ τ “ t ´ i I t x τ ď ¯ S ă x τ ` u ` I t x τ ` ď ¯ S ă x τ u ] , where t u denote the floor function, as single crosses are merely price entering supportlevels and do not constitute as bounces. Similarly, denoting R as the lower boundary of5 resistance level, then the number of resistance bounces is R b “ Y t ´ ÿ τ “ t ´ i I t x τ ă R ď x τ ` u ` I t x τ ` ă R ď x τ u ] , They can be calculated at each time step t from the price series rolling window. Theparameter γ denotes the level width parameter.This way of discovering SR levels is a heuristic approach and has some overly simplifyingassumptions. It assumes SR levels do not last longer than the length of the rollingwindow, and therefore older price series does not contribute to the discovery of SRlevels. We know this to be false as SR levels only become obsolete once the limit ordersstacked at the price level are either executed or cancelled. It also assume there are onlyone pair of SR levels at any given time. This is also likely untrue as limit orders canbe stacked with varying quantity at different price levels, leading to multiple SR levelswith different strengths. Another caveat of this approach is that it strictly chooses SRlevels to be the window maximum and minimum, effectively ignoring newly formed SRlevels which are neither the maximum nor the minimum within the rolling window.For the purpose of observing p p b | b prev q described in the next section, the discoveryprocedure ceases to operate temporarily when price enters an SR level. This ensuresthat the discovered SR levels remain static, as the price could achieve a new minimumor maximum of the rolling window without penetrating the SR level. If the discoveryprocedure continues operating, a new minimum (maximum) would create a new lower(upper) boundary for the support (resistance) level, and thus erroneously reducing theprobability of penetration. Once a bounce or penetration is determined, this is recordedalong with the number of previous price bounces there has been on the SR level ( b prev ),and the discovery procedure resumes process normally. Bounce Probability Bayesian Framework
Retail traders believe that multiple price trend reversals on the same SR level indicateits strength. A framework to evaluate the conditional probability of a bounce p p b | b prev q on an SR level given b prev previous bounces on the same SR level was developed for thispurpose (Garzarelli et al. 2014). In this framework, b denotes the binary variable where b “ b “ p p b | b prev q continues as follows. As-suming the discovered SR levels are statistically identical and independent, and denoting ‚ b prev as the number of previous bounces of an SR level, ‚ n b prev as the total number of price bounce events given b prev , ‚ k b prev as the total number of price penetration events given b prev , ‚ and N b prev “ n b prev ` k b prev as the total number of times price exits given b prev .6hen p p b | b prev q can be modelled using the method of Bayesian inference. Assumingthat n b prev follows a Bernoulli process, as there are only two outcomes when the priceenters an SR level - bounce or penetration, we can define the probability of successcorresponding to a price bounce given the number of previous bounces of an SR level,as π “ p p b | b prev q . By assuming an uninformative uniform prior for π such that P rior p π q “ U pr , sq , and modelling of observed n b prev and N b prev with a binomial likelihood l p n b prev | N b prev , π q “ ˜ N b prev n b prev ¸ p π q n bprev p ´ π q N bprev ´ n bprev . The uniform prior is in fact a special case of the Beta distribution and can therefore betreated as a conjugate prior to a Beta posterior with respect to a binomial likelihood.As the posterior of π can be written as P osterior p π | N b prev , n b prev q “ Beta p π | n b prev ` N b prev ´ n b prev ` q The expectation and variance of p p b | b prev q can be estimated using E r p p b | b prev qs “ n b prev ` N b prev ` V ar r p p b | b prev s “ p n b prev ` qp N b prev ´ n b prev ` qp N b prev ` qp N b prev ` q
3. Statistical Evidence
This section investigates the extend at which the hypothesised SR levels influence futureprice, which manifests as a memory effect. In particular, we investigate the relationshipof the strength of an SR level and the number of previous price bounces it has. The resultof a positively correlated relationship from analysing price series in 2018 in the foreignexchange market, London Stock Exchange and the commodity market, is consistentwith the analysis by Garzarelli et al. (2014) on high frequency price series on 9 selectedstocks in the London Stock Exchange in 2002. In addition, we obtain evidence for thetemporal decay in this bounce probability and also show that simulated time series fromAR1 processes are unable to reproduce similar results.The minute intraday price series in 2018 for 3 financial assets are analysed: 1) the Euro-US dollar conversion rate (EURUSD) in the foreign exchange market, 2) the LloydsBanking Group PLC (LLOY) equity in London Stock Exchange, and 3) the Brent CrudeOil (BRENT) commodity in the global commodity market. These financial assets arethe most traded assets (Hasbrouck and Levich 2017) from their respective financial7arkets, with 372,607, 127,606 and 307,678 entries respectively after removing entrieswithout trading activities. Note that stocks are only traded for 8 hours during tradingdays, and contributes to the vastly lower number of the LLOY price entries. The minuteintraday price series required for analysis can be obtained for free from the followingwebsites: ‚ ‚ Estimated Bounce Probability
The estimated p p b | b prev q values evaluated by applying the discovery and evaluationalgorithms described in Section 2.2 are presented here. In essence, we determine localminima and maxima to be local support and resistance levels, then count the numberof bounces these levels have in the recent past, and finally observe if prices in the futurebounce or penetrate these levels. This procedure is carried out throughout the entireprice series and results are then aggregated using the Bayesian estimation frameworkdescribed in Section 2.3.Estimated p p b | b prev q values represents the probability of price bouncing off an SR levelagain given the number of previous bounces, and estimated values other than 0.5 sug-gests predictability in the price series. The higher this estimate is, the more likely priceis going to bounce again on the discovered SR level. Since we are investigating theability of SR level to reverse price trends, we expect the estimated p p b | b prev q values tobe higher than the baseline 0.5. To demonstrate this price reversal ability as a memoryeffect in the price series, we also estimate p p b | b prev q for a shuffled returns price seriesfor comparison. The confidence intervals in this section are constructed using a widthof 1 standard deviation on each side which only represents a 68% confidence interval.This is done to improve the readability of the charts due to some large standard devia-tions estimations. Doubling the width of the confidence intervals in the produced chartsgives 95% confidence intervals and may serve as a better comparison of the estimated p p b | b prev q values between the original price series and the shuffled return price series.Figure 3.1 displays the estimated p p b | b prev q , in which the results for the shuffled returnsseries is superimposed with the results for the original prices for comparison. Directingour attention to the estimated p p b | b prev q for the original series, it is seen that b prev is positively correlated with p p b | b prev q . This result coincides with the stylised fact ofmultiple price trend reversals of an SR level confirms its strength; and provides evidencefor the self-reinforcement hypothesis in the behavioural finance perspective (Menkhoff1997) where traders collectively bet on price trend reversals at SR levels with a highnumber of previous bounces. Furthermore, the estimated p p b | b prev q is higher for theoriginal price series than that of the shuffled returns series. There is also no visuallydiscernible difference in price behaviour between support and resistance levels. Thiscomparison with the shuffled returns series provides evidence for a memory effect inthe price series, at least in the short term. Lastly, having b prev “ p p b | b prev q estimation and itsstandard deviation. Due to this, it might become difficult to determine statistically if p p b | b prev “ q is indeed higher in the original price series, but it is logical to assume p p b | b prev “ q converges to 0.5 for a perfect random walk which has no memory.8 l l l l l l l . . . . . . . Support (60min lag window) b prev p ( b | b p r e v ) l Original SeriesShuffled Returns l l l l l l l l . . . . . . . Resistance (60min lag window) b prev p ( b | b p r e v ) l Original SeriesShuffled Returns l l l l l l l l . . . . . . . Combined (60min lag window) b prev p ( b | b p r e v ) l Original SeriesShuffled Returns
Figure 3.1. Estimated p p b | b prev q for EURUSD (60-minute lag window). The confidence intervals areconstructed using a width of 1 standard deviation on each side.
We perform the same procedure on a longer lag window to demonstrate SR levelsexist also on other timeframes. Figure 3.2 displays the results for the EURUSD 2018price series but applying the discovery and evaluation algorithms using a lag windowof 240 minutes. The results in general are similar to the results in the previous sectionfor a lag window of 60 minutes: higher number of previous bounces predicts a higherprobability of bouncing again. There is however, a decrease in the estimated p p b | b prev q ,which confirms the temporary nature of SR levels, i.e. the strength of SR levels decreaseswith time. There is also a decrease in the number of events recorded, up to half as manyas the 60-minute lag window results; and is more prominent for lower b prev values. Thisis a consequence of using a large lag window and that SR levels identified in a longertime frame simply has more opportunities for price bounces to occur, leading to less SRlevels with a small number of previous bounces. l l l l l l l l . . . . . . . Support (240min lag window) b prev p ( b | b p r e v ) l Original SeriesShuffled Returns l l l l l l l l . . . . . . . Resistance (240min lag window) b prev p ( b | b p r e v ) l Original SeriesShuffled Returns l l l l l l l l . . . . . . . Combined (240min lag window) b prev p ( b | b p r e v ) l Original SeriesShuffled Returns
Figure 3.2. Estimated p p b | b prev q for EURUSD (240-minute lag window). The confidence intervalsare constructed using a width of 1 standard deviation on each side.
Results for LLOY using a 60 and 240 minute lag window are displayed in Figure 3.3 and3.4 respectively; the results for BRENT using a 60 and 240 minute lag window are dis-played in Figure 3.5 and 3.6 respectively. The observed bounce behaviour is also similarfor the LLOY and BRENT price series, and provides evidence for the universal exis-tence of SR levels across asset classes. We again observe a positive correlation betweenan SR level’s bounce probability and its number of previous bounces. As a side note, theLLOY price series has a length of approximately a third of the length of the EURUSDand BRENT series due to its market opening hours, therefore the estimated p p b | b prev q l l l l l l l l . . . . . . . Support (60min lag window) b prev p ( b | b p r e v ) l Original SeriesShuffled Returns l l l l l l l l . . . . . . . Resistance (60min lag window) b prev p ( b | b p r e v ) l Original SeriesShuffled Returns l l l l l l l l . . . . . . . Combined (60min lag window) b prev p ( b | b p r e v ) l Original SeriesShuffled Returns
Figure 3.3. Estimated p p b | b prev q for LLOY (60-minute lag window) . The confidence intervals areconstructed using a width of 1 standard deviation on each side. l l l l l l l l . . . . . . . Support (240min lag window) b prev p ( b | b p r e v ) l Original SeriesShuffled Returns l l l l l l l l . . . . . . . Resistance (240min lag window) b prev p ( b | b p r e v ) l Original SeriesShuffled Returns l l l l l l l l . . . . . . . Combined (240min lag window) b prev p ( b | b p r e v ) l Original SeriesShuffled Returns
Figure 3.4. Estimated p p b | b prev q for LLOY (240-minute lag window). The confidence intervals areconstructed using a width of 1 standard deviation on each side. l l l l l l l l . . . . . . . Support (60min lag window) b prev p ( b | b p r e v ) l Original SeriesShuffled Returns l l l l l l l l . . . . . . . Resistance (60min lag window) b prev p ( b | b p r e v ) l Original SeriesShuffled Returns l l l l l l l l . . . . . . . Combined (60min lag window) b prev p ( b | b p r e v ) l Original SeriesShuffled Returns
Figure 3.5. Estimated p p b | b prev q for BRENT (60-minute lag window). The confidence intervals areconstructed using a width of 1 standard deviation on each side.
In the price series with shuffled returns, there is no visually observable correlationbetween an SR level’s bounce probability and its number of previous bounces. Theestimated p p b | b prev q are close to 0.5 across all investigated b prev , with exceptions ofhigher b prev values. This unexpected deviation however can be explained by a smaller10 l l l l l l l . . . . . . . Support (240min lag window) b prev p ( b | b p r e v ) l Price SeriesShuffled Returns l l l l l l l l . . . . . . . Resistance (240min lag window) b prev p ( b | b p r e v ) l Price SeriesShuffled Returns l l l l l l l l . . . . . . . Combined (240min lag window) b prev p ( b | b p r e v ) l Price SeriesShuffled Returns
Figure 3.6. Estimated p p b | b prev q for BRENT (240-minute lag window). The confidence intervals areconstructed using a width of 1 standard deviation on each side. sample size, as is also indicated by a larger standard deviation. A close to 0.5 p p b | b prev q is theoretically in agreement with martingale models, and suggests that this class ofmodels may not be adequate for capturing this effect in the actual price series. Statistical Testing
Garzarelli et al. (2014) have proposed the use of a Kolmogorov-Smirnov test to showthat the estimated p p b | b prev q for the original and the shuffled returns price series arefrom different distributions (Garzarelli et al. 2014). They have also conducted a chi-squared test of independence for the estimated p p b | b prev q for b prev P t , , , u , andconcluded that p p b | b prev q is statistically dependent on b prev for the original price series.For the purpose of showing the price series is predictable, which essentially contradictsthe efficient market hypothesis, statistically significant results of deviation from thebaseline of p p b | b prev q “ . p p b | b prev q is higher for the original price series than the shuffled returns priceseries. A modified permutation test is used to estimate the expected probability of ahigher bounce probability in the original than the shuffled returns series. We define thisexpectation to be Λ and it can be written asΛ “ E ! p “ p o p b | b prev q ą p s p b | b prev q ‰) , (2)where p o p b | b prev q and p s p b | b prev q refer to the probability of bouncing in the original andthe shuffled returns price series respectively. This expectation can be numerically esti-mated using Monte Carlo simulations by making the p o p b | b prev q ą p s p b | b prev q compari-son using a large number of price series with differently shuffled return. The procedurescan be repeated for other lag window lengths, assets and support/resistance/combinedlevels.A down side of this approach is that it is computationally expensive to apply thediscovery and evaluation algorithms in Section 2.2 to a large number of price series.Therefore it is of interest to use as few shuffled returns series as possible, as long as itis justified to do so. From the previous section we see that the number of recorded SRentry events for b prev “ p s p b | b prev “ q . The worst case for our investigation would be the11stimation of p s p b | b prev “ q for the LLOY price series for a lag window of 240 minutes.This is because the price series is the shortest, and leads to a very low number ofevents for estimation when coupled this with a long lag window. However, we find thatthe median of the estimated p s p b | b prev “ q for LLOY stabilises after aggregating theresults of 30 or more shuffled returns series. The median also converges to approximately0.5, which is an expected result and confirms our random walk assumption. Figure 3.7shows the evolution of this median over the number of shuffled returns series used forLLOY with a lag window of 240 minutes. In addition, since we would also like sufficientprecision for significance level testing, we decide to evaluate 1000 shuffled returns series. . . . . . support number of shuffles p ( b | b_p r e v = ) m ed i an . . . . . resistance number of shuffles p ( b | b_p r e v = ) m ed i an . . . . . combined number of shuffles p ( b | b_p r e v = ) m ed i an Figure 3.7.
Aggregated Median of Estimated p s p b | b prev “ q for LLOY Table 3.1 displays the estimated Λ (Equation 2) for support, resistance and combinedlevel, for b prev P t , , , , , , , u . The large majority of the estimated Λ are largerthan 0.95, providing statistical evidence that the price series do have higher probabilityof bouncing on an SR level than their shuffled returns counterparts; the implication ofthis conclusion is that there is indeed a memory effect in the price series. However, dueto LLOY having a shorter price series, a comparatively smaller number of SR level entryevents with a high value of b prev is discovered from its shuffled returns series. This leadsto very small Λ estimates for the LLOY price series with 0.226 being the smallest. Weare therefore apprehensive about making the same conclusion for the SR levels in LLOYfor b prev values of 6, 7 and 8. Given the statistical evidence, we conclude SR levels havea higher probability of SR level bouncing in the LLOY price series than in the shuffledreturns series up to and including b prev “
4. Temporal Decay of SR Levels
Results in the previous section show a smaller bounce probability when applying thediscovery algorithm using a 240 minute lag window, instead of a 60 minute lag windowfor the original series. So far our analysis which corroborate the work of Garzarreli etal. (Garzarelli et al. 2014), have not investigated the temporary nature of SR levels(though Osler (Osler 2000) has concluded that SR levels can last up to at least 5business days). In this section, we extend the knowledge of SR levels in the literatureby considering the temporal aspect of SR levels on an intraday basis. The duration ofwhich individual SR levels exist are non-deterministic and have varying lengths. Wetherefore investigates if and how the memory effect decays over time by aggregatingresults over all discovered SR levels. We obtain evidence for the decay in memory effect12 prev asset type lag (minutes) 1 2 3 4 5 6 7 8EURUSD Support 60 1.000 1.000 1.000 1.000 1.000 1.000 0.942 0.991EURUSD Resistance 60 1.000 1.000 1.000 1.000 1.000 1.000 0.995 0.893EURUSD Combined 60 1.000 1.000 1.000 1.000 1.000 1.000 0.998 0.986EURUSD Support 240 1.000 0.970 0.957 1.000 1.000 0.998 0.976 0.908EURUSD Resistance 240 1.000 1.000 1.000 1.000 1.000 0.996 0.975 0.955EURUSD Combined 240 1.000 1.000 1.000 1.000 1.000 1.000 0.998 0.978LLOY Support 60 1.000 1.000 1.000 1.000 1.000 0.978 0.944 0.999LLOY Resistance 60 1.000 1.000 1.000 1.000 1.000 0.931 0.412 0.226LLOY Combined 60 1.000 1.000 1.000 1.000 1.000 0.992 0.889 0.955LLOY Support 240 1.000 1.000 0.998 0.999 0.997 0.740 0.916 0.822LLOY Resistance 240 0.995 1.000 1.000 0.983 0.933 0.663 0.917 0.296LLOY Combined 240 1.000 1.000 1.000 1.000 0.998 0.753 0.972 0.614BRENT Support 60 1.000 1.000 1.000 1.000 1.000 1.000 0.993 0.933BRENT Resistance 60 1.000 1.000 1.000 1.000 1.000 0.998 0.865 0.902BRENT Combined 60 1.000 1.000 1.000 1.000 1.000 1.000 0.996 0.946BRENT Support 240 1.000 1.000 1.000 1.000 0.998 0.992 0.946 0.935BRENT Resistance 240 1.000 1.000 1.000 1.000 0.992 0.938 0.898 0.999BRENT Combined 240 1.000 1.000 1.000 1.000 1.000 1.000 0.978 0.962
Table 3.1.
Permutation Test Estimated Λ in terms of bounce probability in the macro scale by varying lag window lengths, and inthe micro scale by measuring time from last bounce. The decay behaviour seems to beunique depending on the particular asset, which we attribute to the general price trendof the asset in 2018 and to the unique characteristic of the asset.
Macro Decay
We refer the macro decay in the SR level memory effect as the negative correlationobserved for SR level bounce probabilities and the lag window length used for thediscovery of the SR levels. To observe this decay directly, we compare the estimated p p b | b prev q for lag windows from 30 minutes to 1440 minutes (1 day) in 30 minutesincrements. It is anticipated that the use of a large lag window such as 1440 minutesgives a small number of discovered SR levels with a higher number of previous bounces,which in turn leads to inaccurate estimations. To overcome this, we focus our attentiononly on SR levels with 1 to 4 previous bounces. Figure 4.1, 4.2 and 4.3 display estimated p p b | b prev q over different lag window lengths and overlay b prev values from 1 to 4 forcomparison.As expected a general downward trend for the estimated p p b | b prev q against lag windowlength is observed in Figure 4.1. This shows that previous bounces of an SR level overa longer time frame become less effective at predicting future bounces. For EURUSD,previous bounces of an SR level predicts future bounces most effectively with short lagwindows, but we also observe that SR levels with a higher number of previous bouncesdecay in predictive ability the slowest. For example, the estimated bounce probabilityfor SR levels with 1 previous bounce decays to 0.5 at approximately a 350 minute lagwindow length, whereas SR levels with 4 previous decays to the same level at a muchlonger 900 minute lag window length. The comparatively quicker decay of support levelsto a bounce probability of less than 0.5 can be attributed to a general bear market in2018 for EURUSD.The decay behaviour of the LLOY asset is very different than that of EURUSD. Figure4.2 shows that most bounce probabilities do not decay to 0.5 or below. This suggests13
200 400 600 800 1000 1200 1400 . . . . . support lag window length (min) p ( b ) b prev =1b prev =2b prev =3b prev =4 0 200 400 600 800 1000 1200 1400 . . . . . resistance lag window length (min) p ( b ) b prev =1b prev =2b prev =3b prev =4 0 200 400 600 800 1000 1200 1400 . . . . . combined lag window length (min) p ( b ) b prev =1b prev =2b prev =3b prev =4 Figure 4.1. EURUSD Lag Window Length Analysis. the memory effect of SR levels are more persistent in the stock markets. In fact, itis difficult to determine, from inspecting Figure 4.2 alone, if the memory effect of SRlevels decays at all for the LLOY asset. Again, a somewhat observable decay in bounceprobability for the support level compared to the resistance level can be attributed tothe general bear market for LLOY in 2018. A general decay in bounce probability forlonger lag window lengths is observed for BRENT in Figure 4.3, which is similar to thatof EURUSD. However, it would seem the memory effect for the SR levels with only1 previous bounce decays very rapidly to 0.5 at lag window lengths of no longer than300 minutes; it also decays to lower than 0.5 which suggests not only does 1 previousbounce not predict future bounces, it actually predicts penetrations. This could be acharacteristic of the BRENT asset, but can also be attributed to an extreme bear marketin the final quarter of 2018 for the BRENT asset, as this feature is more prominent forsupport levels than it is for resistance levels. . . . . . . . . support lag window length (min) p ( b ) b prev =1b prev =2b prev =3b prev =4 0 200 400 600 800 1000 1200 1400 . . . . . . . . resistance lag window length (min) p ( b ) b prev =1b prev =2b prev =3b prev =4 0 200 400 600 800 1000 1200 1400 . . . . . . . . combined lag window length (min) p ( b ) b prev =1b prev =2b prev =3b prev =4 Figure 4.2. LLOY Lag Window Length Analysis.
Micro Decay
Next we investigate the decay in bounce probability as time increases from the previousbounce of an SR level, referred as micro decay in this section. To this end, we measurethe time from previous bounce of an SR level for every SR level entry event and constructlogistic regression models to describe the relationship between price bounces and timefrom previous bounce. This is done separately for b prev values from 1 to 8, and for a14
200 400 600 800 1000 1200 1400 . . . . . . support lag window length (min) p ( b ) b prev =1b prev =2b prev =3b prev =4 0 200 400 600 800 1000 1200 1400 . . . . . . resistance lag window length (min) p ( b ) b prev =1b prev =2b prev =3b prev =4 0 200 400 600 800 1000 1200 1400 . . . . . . combined lag window length (min) p ( b ) b prev =1b prev =2b prev =3b prev =4 Figure 4.3. BRENT Lag Window Length Analysis. lag window length of 600 minutes. We have picked this particular length of lag window(600 minutes) because most estimated bounce probability manages to decay to 0.5 inthe macro scale in the 600 minute lag window as described in the previous section,and therefore allows us to study the micro decay. On the contrary, if we have pickeda 60 minute lag window length, no micro decay can be observed as we have alreadyshown there is minimal macro decay within a 60 minute time frame. The logistic modelassumes the following form: log ´ Y ´ Y ¯ “ a ` bX, where Y represents the binary variable for price exiting SR level events (1 for bounceevents, 0 for penetration events), X the time from previous bounce and a, b the modelparameters. The inclusion of the intercept parameter a serves as a baseline bounce prob-ability, but we are most interested in the b parameter which indicates the relationshipbetween bounce probability and time from previous bounce of an SR level. Non-lineartransformations of X have also been modelled but they do not improve model fit.The estimated regression parameters for the EURUSD price series are displayed in Table4.1. It can be observed that not all estimated paramters are statistically significant.However, the signs of the estimated parameters are consistent with previous results andour expectations. The estimated values for a are positive, implying a baseline bounceprobability of higher than 0.5; this number increases with b prev which is consistentwith our previous conclusion of multiple SR level bounces confirms its strength. Theestimated b values are negative, implying a negative correlation with bounce probabilityand time from previous bounce; confirming our suspicion of a micro decay in bounceprobability. Despite both of these observations, the inference of the existence of a microdecay is only supported by models for b prev “ , b prev “ , , a values are posi-tive and all estimated b values are negative, which are consistent with previous resultsand within our expectations. Although the macro decay in bounce probability is con-servatively speaking inconclusive as seen in Figure 4.2, the negative estimated b values15 prev a b N Table 4.1. EURUSD Micro Decay Logistic Regression Estimated Parameters (600 min lag win-dow).
P-values are denoted: ă ă ă N denotes the regression sample size. suggest the existence of a micro decay. There is no statistically significant evidence tosupport this suggestion, but the memory effect in the LLOY price series seems to bemore persistence which explains this result. b prev a b N Table 4.2. LLOY Micro Decay Logistic Regression Estimated Parameters (600 min lag window).
P-values are denoted: ă ă ă N denotes the regression sample size. The estimated regression parameters for the BRENT price series are displayed in Table4.3. All estimated a values are positive except for the b prev “ b values do not have a consistent sign which makes it difficult to say if micro decay exists.However, the model for b prev “ b prev a b N Table 4.3. BRENT Micro Decay Logistic Regression Estimated Parameters (600 min lag win-dow).
P-values are denoted: ă ă ă N denotes the regression sample size. . SR Levels in AR(1) Processes A simplified interpretation of the efficient market hypothesis is that financial time seriesshould follow a random walk (or Brownian motion in continuous time) like pattern. Thisfeature implies future prices cannot be predicted using historical data. Auto-regressiveprocesses with unit roots simulate this feature, and thus studying SR levels in simulatedauto-regressive processes allows us to determine if SR levels naturally exist in efficientmarkets. We investigate this line of argument in this section by modelling the price serieswith auto-regressive processes with 1 lag term (AR1 processes), and then applying thediscovery and evaluation algorithms in Section 2.2 on the simulated time series withvarious extend of stationarity to determine if results obtained from the previous sectioncan be replicated with simple mean reverting time series. Simulated time series has thefollowing form: X t “ ρX t ´ ` (cid:15) t , where (cid:15) t „ N p , q . The parameter ρ in this model determines the strength of stationar-ity of the time series. We simulate time series for different values of ρ , each with a lengthof 1,000,000; and then apply the discovery and evaluation algorithms in Section 2.2 witha 60 time unit lag window. Figure 5.1, 5.2 and 5.3 displays the estimated p p b | b prev q forAR1 processes with ρ “ ρ “ .
95 and ρ “ . l l l l l l l l . . . . . . . Support (60min lag window) b prev p ( b | b p r e v ) l Original SeriesShuffled Returns l l l l l l l l . . . . . . . Resistance (60min lag window) b prev p ( b | b p r e v ) l Original SeriesShuffled Returns l l l l l l l l . . . . . . . Combined (60min lag window) b prev p ( b | b p r e v ) l Original SeriesShuffled Returns
Figure 5.1. Estimated p p b | b prev q for AR1 Process with ρ “ . The confidence intervals are constructedusing a width of 1 standard deviation on each side. l l l l l l l l . . . . . . . Support (60min lag window) b prev p ( b | b p r e v ) l Original SeriesShuffled Returns l l l l l l l l . . . . . . . Resistance (60min lag window) b prev p ( b | b p r e v ) l Original SeriesShuffled Returns l l l l l l l l . . . . . . . Combined (60min lag window) b prev p ( b | b p r e v ) l Original SeriesShuffled Returns
Figure 5.2. Estimated p p b | b prev q for AR1 Process with ρ “ . . The confidence intervals are con-structed using a width of 1 standard deviation on each side. l l l l l l l . . . . . . . Support (60min lag window) b prev p ( b | b p r e v ) l Original SeriesShuffled Returns l l l l l l l l . . . . . . . Resistance (60min lag window) b prev p ( b | b p r e v ) l Original SeriesShuffled Returns l l l l l l l l . . . . . . . Combined (60min lag window) b prev p ( b | b p r e v ) l Original SeriesShuffled Returns
Figure 5.3. Estimated p p b | b prev q for AR1 Process with ρ “ . . The confidence intervals are constructedusing a width of 1 standard deviation on each side.
For simulated AR1 series with ρ “
1, there is no visually discernible difference for theestimated p p b | b prev q between the original series and shuffled returns series. This meansthat if the time series is a random walk, there is no memory in the time series andthat the probability of bouncing again of a discovered SR level is not dependent on thenumber of previous bounces. This also shows that a time series with shuffled returns canbe interpreted as a random walk for our purposes. However, if we simulate stationaryAR1 series, such as that of ρ “ .
95 and ρ “ .
9, we can see that smaller ρ increases thevalues of the estimated p p b | b prev q . This is within our expectation as we would expectstronger stationarity, in terms of the parameter ρ , to increase the probability of meanreversion, regardless of the existence of SR levels.The results displayed here differs from the EURUSD, LLOY and BRENT price series inthat b prev values seem to have a negative correlation with the probability of bouncing.An explanation for this would be that it is statistically less likely to have higher bounceson a recent maximum/minimum, if a genuine SR level does not exist. Independence ofprevious bounces means that the probability of bouncing can be interpreted as inde-pendent Bernoulli events with p p b q , and that decreasing the value of ρ simply increasesthe value of p p b q ; therefore having multiple bounces on the same level in a lag window,is akin to having a bounce event happening multiple times, which yields a smaller prob-ability according to the multiplicative rule of probability, assuming p p b q ă
1. We cantherefore conclude that the results we obtain from the financial price series cannot bereplicated from simple stationary AR1 processes; and some that other features, whichvery well could be SR levels, are in play to create price trend reversals at recent pricemaximum/minimum.
6. Conclusion & Future Work
In this paper, the existence of SR levels and the tendency of price trends reversing atthese levels are investigated. Stacking of limit orders and trader psychology are twopossible, though not mutually exclusive, reasons for the existence of SR levels. Thoughqualitative knowledge of SR levels has been accumulating for at least 3 decades inthe retail trading circle, no formal quantitative definition has been established. Wetherefore propose a general definition of SR levels suitable for the evaluation frameworkused throughout this paper. 18ocusing on intraday short term price trend reversals, we measure the ability of SRlevels to reverse price trends by the probability of price bouncing on SR levels within ashort intraday time frame. Using a heuristic method of discovering SR levels, we gath-ered empirical evidence that price have a higher probability of bouncing on discoveredSR levels. We also find that the number of previous bounces of an SR level positivelycorrelates with price bouncing on it again. This result is statistically significantly differ-ent from the same price series with shuffled returns, exhibits temporal decay which isdependent on the particular asset and cannot be replicated simply by simulated AR(1)processes, stationary or otherwise.Moving forward, we would like to analyse limit order book and trade data in order toimprove the current SR level discovery methodology in relation to the market micro-structure. Using the discoveries from this analysis, we can then attempt to model SRlevels with agent based models to simulate behaviour and consequences of market par-ticipants. Finally we would like to explore methods to incorporate SR levels into algo-rithmic trading strategies such as optimal liquidation/acquisition in continuous finance.
Acknowledgements
The authors thank the UK PhD Centre in Financial Computing at University CollegeLondon for their financial support for Ken Chung.
References
Lef`evre, E., 1923. Reminiscences of a Stock Operator.Malkiel, B.G., 1989. Efficient market hypothesis. In
Finance (pp. 127-134). Palgrave Macmil-lan, London.Taylor, M.P. and Allen, H., 1992. The use of technical analysis in the foreign exchange market.
Journal of international Money and Finance , 11(3), pp.304-314.Bollinger, J., 1992. Using Bollinger bands.
Stocks & Commodities, 10 (2), pp.47-51.Menkhoff, L., 1997. Examining the use of technical currency analysis.
International Journalof Finance & Economics, 2 (4), pp.307-318.Osler, C.L., 2000. Support for resistance: technical analysis and intraday exchange rates.
Eco-nomic Policy Review , 6(2).LeBaron, B., 2000. The stability of moving average technical trading rules on the Dow JonesIndex.
Derivatives Use, Trading and Regulation, 5 (4), pp.324-338.Osler, C.L., 2001. Currency orders and exchange-rate dynamics: explaining the success oftechnical analysis.
FRB of New York Staff Report , (125).Achelis, S.B., 2001.
Technical Analysis from A to Z.
New York: McGraw Hill.Leigh, W., Purvis, R. and Ragusa, J.M., 2002. Forecasting the NYSE composite index withtechnical analysis, pattern recognizer, neural network, and genetic algorithm: a case studyin romantic decision support.
Decision support systems, 32 (4), pp.361-377.Leung, J.M.J. and Chong, T.T.L., 2003. An empirical comparison of moving average envelopesand Bollinger Bands.
Applied Economics Letters, 10 (6), pp.339-341. alkiel, B.G., 2003. The efficient market hypothesis and its critics. Journal of economic per-spectives, 17 (1), pp.59-82.Williams, O., 2006. Empirical optimization of Bollinger Bands for profitability.
Available atSSRN 2321140.
C. Park & S. Irwin 2007. What do we know about the profitability of technical analysis?
Journal of Economic Surveys , Vol 21, Iss 4, pp 786-826.Lento, C., Gradojevic, N. and Wright, C.S., 2007. Investment information content in BollingerBands?.
Applied Financial Economics Letters, 3 (4), pp.263-267.Chiao, C. and Wang, Z.M., 2009. Price clustering: Evidence using comprehensive limit-orderdata.
Financial Review, 44 (1), pp.1-29.Bourghelle, D. and Cellier, A., 2009. Limit order clustering and price barriers on financial mar-kets: Empirical evidence from Euronext. Working paper, University of Lille, Lille, France.Kabasinskas, A. and Macys, U., 2010. Calibration of Bollinger bands parameters for tradingstrategy development in the baltic stock market.
Engineering Economics, 21 (3).Sewell, M., 2011. Characterization of Financial Time Series. UCL Department of ComputerScience.Menkveld, A.J., 2013. High frequency trading and the new market makers.
Journal of financialMarkets, 16 (4), pp.712-740.Garzarelli, F., Cristelli, M., Pompa, G., Zaccaria, A. and Pietronero, L., 2014. Memory effectsin stock price dynamics: evidences of technical trading.
Scientific reports , 4, p.4487.Bharathi, S., Geetha, A. and Sathiynarayanan, R., 2017. Sentiment analysis of twitter andRSS news feeds and its impact on stock market prediction.
International Journal Intell.Eng. Syst., 10 (6), pp.68-77.Hasbrouck, J. and Levich, R.M., 2017. FX market metrics: New findings based on CLS banksettlement data (No. w23206). National Bureau of Economic Research.Chang, C.L., Ilom¨aki, J., Laurila, H. and McAleer, M., 2018. Long run returns predictabilityand volatility with moving averages.
Risks , 6(4), p.105., 6(4), p.105.