Turning points of a time series
fin-turnpoints.Rd
Extracts and analyzes turning points of an univariate
"timeSeries"
object.
Arguments
- x
an univariate
"timeSeries"
object of financial indices or prices.- ...
optional arguments passed to the function
na.omit
.- doplot
a logical flag, should the results be plotted? By default TRUE.
Details
The function turns
determines the number and the positions of
extrema (turning points, either peaks or pits) in a regular time
series.
The function turnsStats
calculates the quantity of information
associated with the observations in this series, according to
Kendall's information theory.
The functions are borrowed from the contributed R package
pastecs
and made ready for working together with univariate
timeSeries
objects. You need not to load the R package
pastecs
, the code parts we need here are builtin in the
timeSeries
package.
We have renamed the function turnpoints
to turns
to
distinguish between the original function in the contributed R package
pastecs
and our Rmetrics function wrapper.
For further details please consult the help page from the contributed
R package pastecs
.
Value
for turns
, an object of class timeSeries
.
for turnsStats
, an object of class turnpoints
with the
following entries:
- data
The dataset to which the calculation is done.
- n
The number of observations.
- points
The value of the points in the series, after elimination of ex-aequos.
- pos
The position of the points on the time scale in the series (including ex-aequos).
- exaequos
Location of exaequos (1), or not (0).
- nturns
Total number of turning points in the whole time series.
- firstispeak
Is the first turning point a peak (TRUE), or not (FALSE).
- peaks
Logical vector. Location of the peaks in the time series without ex-aequos.
- pits
Logical vector. Location of the pits in the time series without ex-aequos.
- tppos
Position of the turning points in the initial series (with ex-aequos).
- proba
Probability to find a turning point at this location.
- info
Quantity of information associated with this point.
Author
Frederic Ibanez and Philippe Grosjean for code from the contributed R
package pastecs
and Rmetrics for the function wrapper.
References
Ibanez, F., 1982, Sur une nouvelle application de la theorie de l'information a la description des series chronologiques planctoniques. J. Exp. Mar. Biol. Ecol., 4, 619--632
Kendall, M.G., 1976, Time Series, 2nd ed. Charles Griffin and Co, London.
Examples
## Load Swiss Equities Series -
SPI.RET <- LPP2005REC[, "SPI"]
head(SPI.RET)
#> GMT
#> SPI
#> 2005-11-01 0.008414595
#> 2005-11-02 0.002519342
#> 2005-11-03 0.012707292
#> 2005-11-04 -0.000702757
#> 2005-11-07 0.006205226
#> 2005-11-08 0.000329260
## Cumulate and Smooth the Series -
SPI <- smoothLowess(cumulated(SPI.RET), f=0.05)
plot(SPI)
## Plot Turn Points Series -
SPI.SMOOTH <- SPI[, 2]
tP <- turns(SPI.SMOOTH)
plot(tP)
## Compute Statistics -
turnsStats(SPI.SMOOTH)
#> Turning points for: x
#>
#> nbr observations : 377
#> nbr ex-aequos : 0
#> nbr turning points: 14 (first point is a peak)
#> E(p) = 250 Var(p) = 66.7 (theoretical)
#>
#> point type proba info
#> 1 28 peak 2.894020e-32 104.76862
#> 2 34 pit 1.941760e-24 78.76891
#> 3 55 peak 1.370106e-21 69.30620
#> 4 58 pit 9.874935e-31 99.67600
#> 5 85 peak 6.665581e-30 96.92111
#> 6 88 pit 5.157541e-54 177.01743
#> 7 130 peak 2.664544e-90 297.55964
#> 8 163 pit 7.413829e-51 166.52811
#> 9 178 peak 2.069038e-16 52.10189
#> 10 184 pit 1.402003e-137 454.61666
#> 11 271 peak 3.830644e-146 483.06391
#> 12 286 pit 1.471670e-80 265.19679
#> 13 337 peak 7.722581e-84 276.09288
#> 14 355 pit 6.778577e-39 126.79421