De-Trended Price Oscillator
The Detrended Price Oscillator (DPO) removes the trend in prices - or other series - by subtracting a moving average of the price from the price.
DPO(x, n = 10, maType, shift = n/2 + 1, percent = FALSE, ...)
x |
Price, volume, etc. series that is coercible to xts or matrix. |
n |
Number of periods for moving average. |
maType |
A function or a string naming the function to be called. |
shift |
The number of periods to shift the moving average. |
percent |
logical; if |
... |
Other arguments to be passed to the |
The Detrended Price shows cycles and overbought / oversold conditions.
A object of the same class as x
or a vector (if try.xts
fails) containing the DPO values.
The detrended price oscillator removes the trend in the series by centering the moving average. Centering the moving average causes it to include future data. Therefore, even though this indicator looks like a classic oscillator, it should not be used for trading rule signals.
DPO does not extend to the last date because it is based on a displaced moving
average. The calculation shifts the results shift
periods, so the last
shift
periods will be zero.
As stated above, the DPO can be used on any univariate series, not just price.
Joshua Ulrich
The following site(s) were used to code/document this
indicator:
https://school.stockcharts.com/doku.php?id=technical_indicators:detrended_price_osci
data(ttrc) priceDPO <- DPO(ttrc[,"Close"]) volumeDPO <- DPO(ttrc[,"Volume"])
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.