DPO {TTR} | R Documentation |
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 TRUE , the percentage difference between the slow and fast moving
averages is returned, otherwise the difference between the respective averages is returned. |
... |
Other arguments to be passed to the maType function. |
The Detrended Price shows cycles and overbought / oversold conditions. Note the calculation
shifts the results shift
periods, so the last shift
periods will be zero.
A object of the same class as x
or a vector (if try.xts
fails) containing the DPO values.
As stated above, the DPO can be used on any univariate series, not just price.
Josh Ulrich
The following site(s) were used to code/document this indicator:
http://www.fmlabs.com/reference/DPO.htm
http://www.equis.com/Customer/Resources/TAAZ/?c=3&p=48
See EMA
, SMA
, etc. for moving average options; and note
Warning section. See MACD
for a general oscillator.
data(ttrc) priceDPO <- DPO(ttrc[,"Close"]) volumeDPO <- DPO(ttrc[,"Volume"])