# DETRENDED PRICE OSCILLATOR (DPO)

## What is a Detrended price oscillator (DPO)?

The detrended price oscillator is designed to trends from prices and give easier identification on cycle highs and lows with an estimate of the cycle length. Unlike, other oscillators such as the stochastic and the moving average convergence divergence (MACD), the DPO is not a momentum indicator. Therefore, it does not extend to the last date because it is based on a moving average. DPO highlights the highs and lows in a price which are then used to estimate buy and sell points in line with the historical cycle.

## How to calculate DPO?

The formula looks like this:

DPO=Price from x/2+1 period ago-X period SMA

Where:

X = number of periods used for the look-back period

SMA = Simple Moving Average. (SMA full explanation can be found in the link under moving average).

Steps:

1. Determine a period of time such as 20 days.
2. Find the closing price from X/2 +1 period ago. A 20-day DPO would use a 20-day SMA that is displayed by 11 periods (20/2 + 1).
3. Calculate the SMA, in this example, is 20.
4. Subtract the SMA from the closing price (step 2) to get the DPO.

### Why is DPO important?

The detrended price oscillator measures the difference between the past price and a moving average. In other words, it is comparing the SMA (moving average) to a historical price that is near the middle of the look-back period.

By looking at historical highs and lows traders will usually draw vertical lines on the chart in order to identify the time elapsed between the two.

If for example, bottoms are two months apart this can further enhance the next buying opportunity. This is accomplished by isolating the most recent bottom in the indicator/price and then forecasting the next bottom two months out from there.

If for example, highs are one and a half months apart the trader can identify the next high that will happen in one and a half months. This can be an opportunity to sell before the next peak.

Overall the distance between a high and low could be used to estimate the length of a long trade or the short of a trade.

### Positive and Negative indicators

When the price from x/2 + 1 period ago is above the SMA line the indicator is positive. Whereas, when the price from x/2 + 1 periods ago is below the SMA line the indicator is negative.

By definition, the oscillator is not used for assessing trends. Therefore, determining which trades to take is up to the trader. In an uptrend, the bottoms will indicate a possible buy position and the downtrends will indicate possible sell positions.

### Real-Life Example of DPO

In the above example, International Business Machines (IBM) is bottoming approximately every one month (As you can see from the black vertical lines placed). A trader that uses the oscillator can place a buy order at the bottoming point of the cycle in order to benefit from the full raise that will occur. On the other hand, traders might choose to sell the stock because of the cycle before it reached the bottom point. This is how DPO works in real-life examples. The trader needs to choose the direction he wishes to follows.

### Limitations of using DPO

Unlike other technical tools, DPO does not provide trading signals on its own. It is used as an additional tool to market cycle timing. This is done by looking at the peaks or high and the lows or bottoms of past prices. This is provide used as a reference point of future expectations complying with the theory that history tends to repeat itself. However, this is not in any kind of way guarantee that past cycles will happen again in the future. Cycles could get longer or shorter compared to previous cycles.

In addition, the indicator does not show the trader which direction to trade. The trader is fully responsible for determining the desire direction he wants to trade.

DPO will not move at the same level as previous peaks and bottoms. This means that the DPO line might not drop or move up to the extent that it did previously. However, this does not mean that the bottom or peak length is not valid.