Better Know an Indicator: Aroon

The Aroon indicator is a momentum indicator used to determine the beginning,  direction and strength of a trend.  It is popular in currency markets because, like bitcoin, they trend.  I thought we might see how the Aroon works and its application to Bitcoin markets.   The Aroon is different than most momentum oscillators because it is based primarily on time.

It measures the amount of time between the most recent highs and lows.  In a strong up trend there isn’t a lot of time elapsed between the last high.  In a downtrend there isn’t a lot of time elapsed from the recent low.  In a sideways market time has elapsed from both highs and lows.

The Aroon has two lines that measure the time elapsed since recent highs and lows.  For example, let’s say that the Aroon is set to 21 (a common setting).  This means that it will measure highs and lows of the last 21 bars.  When  the price hit a new 21 bar high, then the Aroon Up line will be at 100.  Conversely, if the the most recent low as yesterday, then the Aroon Down will be set at 100.   It is generally thought that a crossover of the Aroon Up above the Aroon Down is a buy signal and a cross of the Aroon Down above the Aroon Up is a sell signal.  Here is an example:


We can see that the Aroon gave a buy signal when BTC closed at $5.08 and closed at 9.54.  It also showed sideways price action when the Aroon Up and Aroon Down moved toward each other.

Now that we understand the basics of the Aroon it might help us better understand the indicator to see how it has fared historically.  My purpose in this backtest is to better understand the Aroon indicator and not to create a stand alone system.  So, I will make certain assumptions that would be slightly different than if I were creating a system.

Let’s assume that we are consistently trading approximately $1,000 and not reinvesting profits.  This assumption helps us to better see the Aroon work across various  Bitcoin prices for a few reasons.  First, the profits and losses from each trade are more equivalent.  Second, we get a better idea of how the Aroon profited from each trend.  Third, there are no optimized reinvestment parameters (its pretty easy to get a backtest yielding millions if you curve fit your position sizing strategy).

Here are the results from 1/1/2012 – 6/1/2014

The indicator yielded 18 trades with a net profit of $7,609- 61% profitable – 30% drawdown and 15.41 profit factor.

If you watch the quick market replay of these trades (about 2 min.) you may get a better picture of how the aroon would’ve actually worked in real time trading.

Here are some things that we’ve learn from this backtest

1. The aroon crossover does succeed in entering each major trend early and does not exit too early.   However, this often means exiting after giving back a good amount of profit.

2. The aroon crossover made most of its losses when there was a longer term down trend. Perhaps one might think of only using the aroon when longer term trend filters are in place.

3. The aroon is subject to various whipsaw trades when momentum spikes and then quickly moves sideways.

I am attaching the code below.

Trade Well and Prosper








**A few caveats these backtests are designed to better understand this indicator and not to be stand alone systems.   A much more complete backtest would be required to make a robust trading system.


One thought on “Better Know an Indicator: Aroon

  1. Great blog and I’m interested in trying the Aroon. How do I install the code in your link above? I already have Ninja Trader and BitConnector is running, however I’ve had some trouble with the historical BTC data so it’s not loaded.



Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s