Você está na página 1de 58

timeDate Class timeSeries Class Summary

Managing chronological objects with timeDate


and timeSeries

Yohan Chalabi and Diethelm Wuertz

ITP ETH, Zurich


Rmetrics Association, Zurich
Finance Online, Zurich

R/Rmetrics Workshop
Meielisalp
June 2009
timeDate Class timeSeries Class Summary

Outline

1 timeDate Class
timeDate Definition
Financial Center and Holiday Management

2 timeSeries Class
timeSeres Definition
Plotting timeSeries Objects
Subsetting timeSeries Objects
Manipulating a timeSeries
@recordIDs Concept

3 Summary
timeDate Class timeSeries Class Summary

Outline

1 timeDate Class
timeDate Definition
Financial Center and Holiday Management

2 timeSeries Class
timeSeres Definition
Plotting timeSeries Objects
Subsetting timeSeries Objects
Manipulating a timeSeries
@recordIDs Concept

3 Summary
timeDate Class timeSeries Class Summary

Time and R

There are different date and time classes in R. The most common are
Date : It supports dates without times.
chron : It is a contributed package which provides dates and times.
But there are not time zones or notion of daylight saving time
(DST).
POSIXt : with its two subclasses POSIXct and POSIXlt. These
classes support time zone and DST. But time zone and DST
calculations are passed to the operating system (OS) and may not
work if the OS has bugs or is not up-to-date!
timeDate Class timeSeries Class Summary

timeDate

timeDate class is for

mixing data collected in different time zones


calendar manipulations for business days, weekends, public and
ecclesiastical holidays.
and is almost compatible with the same class in S-Plus.
timeDate Class timeSeries Class Summary

timeDate class

The timeDate class represents calendar dates and times as


> library(timeDate)
> showClass("timeDate")
Class "timeDate" [package "timeDate"]

Slots:

Name: Data format FinCenter


Class: POSIXct character character

where @Data are the timestamps in POSIXct, @format is the format


typically applied to @Data and @FinCenter is the financial center.
timeDate Class timeSeries Class Summary

timeDate class

The timeDate class can be summarised as the combination of


POSIXct timestamps objects always in the GMT time zone
in the human readable ISO-8601 format standard which expresses
dates as "%Y-%m-%d" and dates/times as "%Y-%m-%d %H:%M:%S"
with a financial center used for the time zone and daylight saving
rules (DST).
timeDate Class timeSeries Class Summary

Create a timeDate object

There are different ways to generate a timeDate object.


timeDate()
timeSequence()
timeCalendar()
timeDate Class timeSeries Class Summary

Create a timeDate object, Contd

> Dates <- c("2007-01-01","2009-07-01")


> Times <- c( "23:12:55", "10:34:02")
> charvec <- paste(Dates, Times)
> timeDate(charvec, zone = "Zurich", FinCenter = "Tokyo")
Tokyo
[1] [2007-01-02 07:12:55] [2009-07-01 17:34:02]
> timeSequence(from = "2009-01-01", to = "2009-01-05", by = "day")
GMT
[1] [2009-01-01] [2009-01-02] [2009-01-03] [2009-01-04]
[5] [2009-01-05]
> timeCalendar(2009, m=1, d=1:4, h=16, zone = "Tokyo", FinCenter = "Zurich")
Zurich
[1] [2009-01-01 08:00:00] [2009-01-02 08:00:00]
[3] [2009-01-03 08:00:00] [2009-01-04 08:00:00]
timeDate Class timeSeries Class Summary

Operations

Many operations can be performed on timeDate objects.


Math Operations
Lagging
Rounding and Truncating
Subsetting
Logical Test
Coercions and Transformation
Concatentation and Reorderings
timeDate Class timeSeries Class Summary

FinCenter

Financial Centers allows mixing data collected in different time zones or


handling historical data recorded in the same time zone but with different
DST rules.

The local financial center can be defined with the global variable
myFinCenter and refers, by default, to the Greenwich Mean Time (GMT).

Note: By setting the financial center to a continent/city which lies


outside of the time zone used by your computer does not change any
time settings or environment variables used by your computer.
timeDate Class timeSeries Class Summary

list of FinCenters

There are almost 400 financial centers supported thanks to the Olson
data base. They can be listed with listFinCenter().
Note: You can search for financial centers with regular expressions.
> FCs <- listFinCenter()
> head(FCs) # the first few
[1] "Africa/Abidjan" "Africa/Accra"
[3] "Africa/Addis_Ababa" "Africa/Algiers"
[5] "Africa/Asmara" "Africa/Bamako"
> str(FCs) # the "overview"
chr [1:397] "Africa/Abidjan" "Africa/Accra" ...
> listFinCenter("Europe/[AB].*") # -> nine
[1] "Europe/Amsterdam" "Europe/Andorra"
[3] "Europe/Athens" "Europe/Belgrade"
[5] "Europe/Berlin" "Europe/Bratislava"
[7] "Europe/Brussels" "Europe/Bucharest"
[9] "Europe/Budapest"
timeDate Class timeSeries Class Summary

DST rules

Each financial center has an associated function which returns its daylight
saving time rule (DST). Theses functions are named as their financial
center, e.g. Zurich(), and return a data.frame with 4 columns,
> head(Zurich(), 8)
Zurich offSet isdst TimeZone numeric
1 1901-12-14 20:45:52 3600 0 CET -2147397248
2 1941-05-05 00:00:00 7200 1 CEST -904435200
3 1941-10-06 00:00:00 3600 0 CET -891129600
4 1942-05-04 00:00:00 7200 1 CEST -872985600
5 1942-10-05 00:00:00 3600 0 CET -859680000
6 1981-03-29 01:00:00 7200 1 CEST 354675600
7 1981-09-27 01:00:00 3600 0 CET 370400400
8 1982-03-28 01:00:00 7200 1 CEST 386125200
timeDate Class timeSeries Class Summary

Concatenation

Note: The c() method for timeDate objects takes care of the different
financial centers of the object to be concatenated.
> ZH <- timeDate("2009-01-01 16:00:00", zone = "GMT", FinCenter = "Zurich")
> NY <- timeDate("2009-01-01 18:00:00", zone = "GMT", FinCenter = "NewYork")
> c(ZH, NY)
Zurich
[1] [2009-01-01 17:00:00] [2009-01-01 19:00:00]
> c(NY, ZH)
NewYork
[1] [2009-01-01 13:00:00] [2009-01-01 11:00:00]
timeDate Class timeSeries Class Summary

Holidays

There are different functions to compute:

the last day in a given month and year,


the n-days before or after a given date,
the n-th occurrences of the n-days for a specified year/month,
or the last n-days for a specified year/month.
timeDate Class timeSeries Class Summary

Holidays

This gives

timeFirstDayInMonth()
timeLastDayInMonth()
timeFirstDayInQuarter()
timeLastDayInQuarter()
timeNthNdayInMonth()
timeLastNdayInMonth()
timeNdayOnOrAfter()
timeDate Class timeSeries Class Summary

Holidays

> tH <- listHolidays()


> # number of holiday days available in timeDate
> length(tH)
[1] 115
> # the first 10
> head(tH, 10)
[1] "Advent1st" "Advent2nd"
[3] "Advent3rd" "Advent4th"
[5] "AllSaints" "AllSouls"
[7] "Annunciation" "Ascension"
[9] "AshWednesday" "AssumptionOfMary"
> # The date of Easter for the next 3 years:
> Easter(2009:(2009+3))
GMT
[1] [2009-04-12] [2010-04-04] [2011-04-24] [2012-04-08]
timeDate Class timeSeries Class Summary

Calendar

The following three functions can be used as model to build new holiday
calendars.
holidayZURICH() : the Zurich holiday calendar,
holidayNYSE() : the NYSE stock exchange holiday calendar
and holidayTSX() : the TSX holiday calendar.
timeDate Class timeSeries Class Summary

Logical Test

Weekdays, weekends, business days and holidays can be tested with the
functions:

isWeekday()
isWeekend()
isBizday()
isHoliday()
timeDate Class timeSeries Class Summary

Logical Test

> tS <- timeSequence(Easter(2009, -3), Easter(2009, +3))


> print(tW <- tS[isWeekday(tS)])
GMT
[1] [2009-04-09] [2009-04-10] [2009-04-13] [2009-04-14]
[5] [2009-04-15]
> dayOfWeek(tW)
2009-04-09 2009-04-10 2009-04-13 2009-04-14 2009-04-15
"Thu" "Fri" "Mon" "Tue" "Wed"
> print(tB <- tS[isBizday(tS, holidayZURICH())])
GMT
[1] [2009-04-09] [2009-04-14] [2009-04-15]
> dayOfWeek(tB)
2009-04-09 2009-04-14 2009-04-15
"Thu" "Tue" "Wed"
timeDate Class timeSeries Class Summary

Outline

1 timeDate Class
timeDate Definition
Financial Center and Holiday Management

2 timeSeries Class
timeSeres Definition
Plotting timeSeries Objects
Subsetting timeSeries Objects
Manipulating a timeSeries
@recordIDs Concept

3 Summary
timeDate Class timeSeries Class Summary

timeSeries class

The timeSeries class represents time series as


> library(timeSeries)
> showClass("timeSeries")
Class "timeSeries" [package "timeSeries"]

Slots:

Name: .Data units positions


Class: matrix character numeric

Name: format FinCenter recordIDs


Class: character character data.frame

Name: title documentation


Class: character character

Extends:
Class "structure", from data part
Class "vector", by class "structure", distance 2, with explicit coerce

Note: timeSeries extends the virtual class structure


timeDate Class timeSeries Class Summary

timeSeries class

where
@.Data : time series data in numeric matrix form
@positions : date/time stamps as a character vector
@format : format of the character vector in @positions
@FinCenter : the financial center of the data
@units : the column names of the data matrix
@recordsIDs : record identification for additional information as a
data.frame
@title and @documentation : descriptive character strings
timeDate Class timeSeries Class Summary

timeSeries class

> data <- matrix(round(rnorm(6), 3), ncol = 2)


> td <- timeCalendar()[1:3]
> ts <- timeSeries(data, td)
> ts
GMT
TS.1 TS.2
2009-01-01 -0.326 0.420
2009-02-01 0.877 0.416
2009-03-01 0.948 -0.274
timeDate Class timeSeries Class Summary

timeSeries class

> ts@.Data
TS.1 TS.2
[1,] -0.326 0.420
[2,] 0.877 0.416
[3,] 0.948 -0.274
timeDate Class timeSeries Class Summary

timeSeries class

> ts@positions
[1] 1230768000 1233446400 1235865600
> ts@units
[1] "TS.1" "TS.2"
> ts@format
[1] "%Y-%m-%d"
> ts@FinCenter
[1] "GMT"
> ts@title
[1] "Time Series Object"
> ts@documentation
[1] "Tue Jun 30 11:48:08 2009"
timeDate Class timeSeries Class Summary

Creation of timeSeries Objects

The generic function timeSeries() has different methods to generate


timeSeries objects.

> showMethods("timeSeries")
Function: timeSeries (package timeSeries)
data="ANY", charvec="ANY"
data="ANY", charvec="missing"
data="matrix", charvec="ANY"
data="matrix", charvec="missing"
data="matrix", charvec="numeric"
data="matrix", charvec="timeDate"
data="missing", charvec="ANY"
data="missing", charvec="missing"
timeDate Class timeSeries Class Summary

Plotting timeSeries Objects

The plot() function of timeSeries is implemented in the same way as


the function plot.ts() for regular time series objects ts in Rs base
package.

Three different types of plots can be displayed :


Multiple plot : up to 10 subplots can be produced on one sheet of a
paper
Single plot : all curves are drawn in one plot on the same sheet,
Scatter plot of two univariate timeSeries objects.
timeDate Class timeSeries Class Summary

Multiple Plots

> library(fEcofin)
> LPP <- as.timeSeries(data(SWXLP))[,4:6]
> plot(LPP, main = "LPP")

LPP
125
LP25
110
95
130
LP40
110
90
110
LP60
90
70

20000103 20010622 20021210 20040530 20051117 20070508

Time
timeDate Class timeSeries Class Summary

Single Plots

> plot(LPP, plot.type = "single", col = 2:5, ylab = "Price")


130
120
110
100
90
80
70

20000103 20010622 20021210 20040530 20051117 20070508


timeDate Class timeSeries Class Summary

Subsetting
One can subset a timeSeires object by
Counts
Date/Time Vectors (timeDate)
Logical tests
Other common subsetting rules.
> showMethods("[", classes = "timeSeries")
Function: [ (package base)
x="timeSeries", i="ANY", j="index_timeSeries"
x="timeSeries", i="character", j="character"
x="timeSeries", i="character", j="index_timeSeries"
x="timeSeries", i="character", j="missing"
x="timeSeries", i="index_timeSeries", j="character"
x="timeSeries", i="index_timeSeries", j="index_timeSeries"
x="timeSeries", i="index_timeSeries", j="missing"
x="timeSeries", i="matrix", j="missing"
x="timeSeries", i="missing", j="character"
x="timeSeries", i="missing", j="index_timeSeries"
x="timeSeries", i="missing", j="integer"
(inherited from: x="timeSeries", i="missing", j="index_timeSeries")
x="timeSeries", i="missing", j="missing"
x="timeSeries", i="timeDate", j="character"
x="timeSeries", i="timeDate", j="index_timeSeries"
timeDate Class timeSeries Class Summary

Column Statistics

This functions return a numeric vector of the same length as the number
of columns of the timeSeries.

colStats calculates column statistics,


colSums calculates column sums,
colMeans calculates column means,
colSds calculates column standard deviations,
colVars calculates column variances,
colSkewness calculates column skewness,
colKurtosis calculates column kurtosis,
colMaxs calculates maximum values in each column,
colMins calculates minimum values in each column,
colProds computes product of all values in each column,
colQuantiles computes quantiles of each column.
timeDate Class timeSeries Class Summary

Column Statistics

> colMeans(LPP)
LP25 LP40 LP60
108.353 102.887 95.412
> colQuantiles(LPP)
LP25 LP40 LP60
97.708 88.278 76.036
> colStats(LPP, FUN = "median")
LP25 LP40 LP60
103.86 100.35 93.82
timeDate Class timeSeries Class Summary

Cumulated Column Statistics

Functions to compute cumulated column statistics are

colCumsums returns column cumulated sums


colCummaxs returns column cumulated maximums
colCummins returns column cumulated minimums
colCumprods returns column cumulated products
colCumreturns returns column cumulated returns
timeDate Class timeSeries Class Summary

Manipulating a timeSeries

Additional timeSeries operations include functions for

Sorting and reverting


Aggregation
Lagging
Rolling windows
Binding and merging
Adding new methods
@recordIDs Concept
timeDate Class timeSeries Class Summary

Sorting and Ordering

The time stamps of timeSeries objects can be sampled, sorted, and


reverted.
> ts <- dummySeries()
> ts
GMT
TS.1 TS.2
2009-01-01 0.634370 0.508988
2009-02-01 0.206838 0.569707
2009-03-01 0.617899 0.138199
2009-04-01 0.954138 0.532224
2009-05-01 0.094575 0.248911
2009-06-01 0.970725 0.366148
2009-07-01 0.397929 0.022207
2009-08-01 0.066369 0.230418
2009-09-01 0.426999 0.921124
2009-10-01 0.512974 0.918697
2009-11-01 0.403992 0.613478
2009-12-01 0.111533 0.209306
timeDate Class timeSeries Class Summary

Sorting and Ordering

> sa <- sample(ts)


> sa
GMT
TS.1 TS.2
2009-07-01 0.397929 0.022207
2009-05-01 0.094575 0.248911
2009-03-01 0.617899 0.138199
2009-09-01 0.426999 0.921124
2009-10-01 0.512974 0.918697
2009-01-01 0.634370 0.508988
2009-06-01 0.970725 0.366148
2009-12-01 0.111533 0.209306
2009-02-01 0.206838 0.569707
2009-08-01 0.066369 0.230418
2009-11-01 0.403992 0.613478
2009-04-01 0.954138 0.532224
timeDate Class timeSeries Class Summary

Sorting and Ordering

> so <- sort(sa)


> so
GMT
TS.1 TS.2
2009-01-01 0.634370 0.508988
2009-02-01 0.206838 0.569707
2009-03-01 0.617899 0.138199
2009-04-01 0.954138 0.532224
2009-05-01 0.094575 0.248911
2009-06-01 0.970725 0.366148
2009-07-01 0.397929 0.022207
2009-08-01 0.066369 0.230418
2009-09-01 0.426999 0.921124
2009-10-01 0.512974 0.918697
2009-11-01 0.403992 0.613478
2009-12-01 0.111533 0.209306
timeDate Class timeSeries Class Summary

Sorting and Ordering

> re <- rev(so)


> re
GMT
TS.1 TS.2
2009-12-01 0.111533 0.209306
2009-11-01 0.403992 0.613478
2009-10-01 0.512974 0.918697
2009-09-01 0.426999 0.921124
2009-08-01 0.066369 0.230418
2009-07-01 0.397929 0.022207
2009-06-01 0.970725 0.366148
2009-05-01 0.094575 0.248911
2009-04-01 0.954138 0.532224
2009-03-01 0.617899 0.138199
2009-02-01 0.206838 0.569707
2009-01-01 0.634370 0.508988
timeDate Class timeSeries Class Summary

Aggregation

> (by <- timeSequence(from = "2003-01-01", to = "2005-01-01", by = "quarter"))


GMT
[1] [2003-01-01] [2003-04-01] [2003-07-01] [2003-10-01]
[5] [2004-01-01] [2004-04-01] [2004-07-01] [2004-10-01]
[9] [2005-01-01]
> aggregate(LPP, by, mean)
GMT
LP25 LP40 LP60
2003-01-01 100.37 97.073 92.658
2003-04-01 97.46 86.600 73.363
2003-07-01 100.43 90.155 77.372
2003-10-01 103.42 94.390 82.812
2004-01-01 104.86 96.218 84.984
2004-04-01 108.08 99.842 88.920
2004-07-01 107.71 99.763 89.154
2004-10-01 107.71 99.238 88.076
2005-01-01 109.85 101.101 89.602
timeDate Class timeSeries Class Summary

Rolling Windows

Rolling windows can be performed with applySeries().


> by <- periods(time(LPP), period = "24m", by = "6m")
> applySeries(LPP, from = by$from, to = by$to, FUN = "colMeans")
GMT
LP25 LP40 LP60
2001-12-31 100.911 99.438 97.310
2002-06-30 101.209 98.476 94.639
2002-12-31 100.252 95.199 88.487
2003-06-30 99.437 92.248 83.037
2003-12-31 100.420 92.120 81.543
2004-06-30 102.222 93.126 81.524
2004-12-31 104.943 95.920 84.295
2005-06-30 108.678 100.223 89.070
2005-12-31 112.648 104.784 94.170
2006-06-30 116.179 109.216 99.525
2006-12-31 120.190 114.424 105.964
timeDate Class timeSeries Class Summary

Merging and Binding

There are four functions to bind time series together. These are, with
increasing complexity, c(), cbind(), rbind() and merge().
> (ts1 <- timeSeries(matrix(rnorm(4), ncol = 2), c("2009-01-01", "2009-03-01")))
GMT
TS.1 TS.2
2009-01-01 0.065859 -0.84444
2009-03-01 -1.434893 0.11602
> (ts2 <- timeSeries(matrix(rnorm(4), ncol = 2), c("2009-02-01", "2009-04-01")))
GMT
TS.1 TS.2
2009-02-01 1.31517 -0.97362
2009-04-01 0.99981 -0.97810
timeDate Class timeSeries Class Summary

c()

> c(ts1, ts2)


[1] 0.065859 -1.434893 -0.844442 0.116023 1.315173
[6] 0.999811 -0.973622 -0.978103
timeDate Class timeSeries Class Summary

cbind()

> cbind(ts1, ts2)


GMT
TS.1.1 TS.2.1 TS.1.2 TS.2.2
2009-01-01 0.065859 -0.84444 NA NA
2009-02-01 NA NA 1.31517 -0.97362
2009-03-01 -1.434893 0.11602 NA NA
2009-04-01 NA NA 0.99981 -0.97810
timeDate Class timeSeries Class Summary

rbind()

> rbind(ts1, ts2)


GMT
TS.1_TS.1 TS.2_TS.2
2009-01-01 0.065859 -0.84444
2009-03-01 -1.434893 0.11602
2009-02-01 1.315173 -0.97362
2009-04-01 0.999811 -0.97810
timeDate Class timeSeries Class Summary

merge()

> merge(ts1, ts2)


GMT
TS.1 TS.2
2009-01-01 0.065859 -0.84444
2009-02-01 1.315173 -0.97362
2009-03-01 -1.434893 0.11602
2009-04-01 0.999811 -0.97810
timeDate Class timeSeries Class Summary

Adding new methods

Since timeSeries is an S4 class, we can use the function


setMethod() to create new methods for a generic function which
has can not handle by default the class.
In this example, we write a method for the lowess() function from
the stats package.

> setMethod("lowess", "timeSeries",


function(x, y = NULL, f = 2/3, iter = 3)
{
stopifnot(isUnivariate(x))
series(x) <- stats::lowess(x = x, y, f, iter)$y
x
})
[1] "lowess"
timeDate Class timeSeries Class Summary

Adding new methods

> LP60 <- LPP[,"LP60"]


> LP60low <- lowess(LP60, f = 0.08)
> plot(LP60)
> lines(LP60low, col = "brown", lwd = 2)
120
110
100
90
80
70

20000103 20010622 20021210 20040530 20051117 20070508


timeDate Class timeSeries Class Summary

@recordIDs Concept
The slot @recordIDs is meant for additional information that we
want to keep for each time entries but which is not part of data part.
As starting from timeSeries version 2100.84 we have added a
method for the operator $ to access the @recordIDs as well as
the data part.
by default show() will print the data part with the @recordIDs.
Note the * in the column names of @recordIDs in the output.
@recordIDs can be used to give a data.frame behavior to your
time series.
> ts$id <- "id"
> head(ts)
GMT
> cov(ts)
TS.1 TS.2 id*
2009-01-01 0.634370 0.508988 id TS.1 TS.2
2009-02-01 0.206838 0.569707 id TS.1 0.094909 0.017982
2009-03-01 0.617899 0.138199 id TS.2 0.017982 0.084142
2009-04-01 0.954138 0.532224 id
2009-05-01 0.094575 0.248911 id
2009-06-01 0.970725 0.366148 id
timeDate Class timeSeries Class Summary

@recordIDs Example

A good example is to include turnpoints of the smoothed index to


the time series.
We can use the turnpoints() function from the R package
pastecs1 .
The function determines the number and the positions of extrema,
i.e. the turning points, either peaks or pits, in a regular time series.

> library(pastecs)
> setMethod("turnpoints", "timeSeries", function(x)
{
stopifnot(isUnivariate(x))
tp <- turnpoints(as.ts(x))
x$peaks <- tp$peaks #-> need timeSeries >= 2100.84
x$pits <- tp$pits
x
})
[1] "turnpoints"

1 Ibanez, Grosjean & Etienne, 2009


timeDate Class timeSeries Class Summary

@recordIDs Example

> head(LP60low <- turnpoints(LP60low))


GMT
LP60 peaks* pits*
2000-01-03 97.730 FALSE FALSE
2000-01-04 97.767 FALSE FALSE
2000-01-05 97.805 FALSE FALSE
2000-01-06 97.842 FALSE FALSE
2000-01-07 97.880 FALSE FALSE
2000-01-10 97.917 FALSE FALSE
timeDate Class timeSeries Class Summary

@recordIDs Example

We plot the original index series and the smoothed series and add points
for the peaks and pits in green and red respectively.

> plot(LP60)
> lines(LP60low, col = "brown", lwd = 2)
> points(LP60low[LP60low$peaks,], col = "green3", pch = 24)
> points(LP60low[LP60low$pits,], col = "red", pch = 25)

Note: the use of the operator $.


timeDate Class timeSeries Class Summary

@recordIDs Example

120
110
100
90
80
70

20000103 20010622 20021210 20040530 20051117 20070508


timeDate Class timeSeries Class Summary

Outline

1 timeDate Class
timeDate Definition
Financial Center and Holiday Management

2 timeSeries Class
timeSeres Definition
Plotting timeSeries Objects
Subsetting timeSeries Objects
Manipulating a timeSeries
@recordIDs Concept

3 Summary
timeDate Class timeSeries Class Summary

Summary

timeSeries is meant to have a matrix like behavior


With some aspects of a data.frame,
It can handle ordered/unordered data and display them in any order.
It takes care of financial centers when merging/binding.
And has facilities to manage calendars thanks to the timeDate
package.
timeDate Class timeSeries Class Summary

References I

D. Wuertz, Y. Chalabi, W. Chen, A. Ellis,


Portfolio Optimization with R/Rmetrics.
Finance Online, 2009.
D. Wuertz, Y. Chalabi, A. Ellis,
FAQ - Time Series Objects for R in Finance
timeDate Class timeSeries Class Summary

> toLatex(sessionInfo())

R version 2.10.0 Under development (unstable) (2009-06-23


r48824), i686-pc-linux-gnu
Locale: LC_CTYPE=en_US.UTF-8, LC_NUMERI ...
Base packages: base, datasets, graphics, grDevices, methods, stats,
utils
Other packages: boot 1.2-37, fEcofin 2100.77, pastecs 1.3-8,
timeDate 2100.86, timeSeries 2100.84
Loaded via a namespace (and not attached): tools 2.10.0
timeDate Class timeSeries Class Summary

Managing chronological objects with timeDate


and timeSeries

Yohan Chalabi and Diethelm Wuertz

ITP ETH, Zurich


Rmetrics Association, Zurich
Finance Online, Zurich

R/Rmetrics Workshop
Meielisalp
June 2009

Você também pode gostar