QRM (version 0.4-13)

PointProcess: Point Processes

Description

Functions for estimating point processes.

Usage

extremalPP(data, threshold = NA, nextremes = NA, ...)
unmark(PP)
fit.POT(PP, markdens = "GPD", ...)
fit.sePP(PP, model = c("Hawkes", "ETAS"), mark.influence = TRUE,
         std.errs = FALSE, ...)
fit.seMPP(PP, markdens = "GPD", model = c("Hawkes", "ETAS"),
          mark.influence = TRUE, predictable = FALSE,
          std.errs = FALSE, ...)
stationary.sePP(sePP)
sePP.negloglik(theta, PP, case)
seMPP.negloglik(theta, PP, case, markdens)
volfunction(anytimes, times, marks, theta, model)
# S3 method for MPP
plot(x, ...)
# S3 method for PP
plot(x, ...)
# S3 method for sePP
plot(x, ...)

Arguments

anytimes

vector, times at which to calculate self-excitement function.

data

timeSeries object or vector.

case

numeric, indicating Hawkes or ETAS models and whether marks may have an influence on future points.

markdens

character, name of density of mark distribution, currently only "GPD".

mark.influence

logical, whether marks of marked point process may influence the self-excitement.

marks

vector, marks associated with point events.

model

character, name of self-exciting model.

nextremes

integer, count of upper extremes to be used.

PP

list, a point process object of class PP or MPP.

predictable

logical, whether previous events may influence the scaling of mark distribution.

sePP

list, a fitted self-exciting process created with fit.sePP() or a marked self-exciting process created with fit.seMPP().

std.errs

logical, whether standard errors should be computed.

theta

vector, parameters of self-excitement function.

threshold

numeric, threshold value.

times

vector, times of point events.

x

list, a (un/marked) point process object of class PP/MPP.

...

ellipsis, arguments passed to plot() or to fit.GPD() for fit.POT() or to nlminb() for functions fit.sePP() and fit.seMPP or to julian() for extremalPP.

Value

The function extremalPP() returns a list describing class MPP (marked point process) consisting of times and magnitudes of threshold exceedances:

times

vector of julian day counts (since 1/1/1960) for each exceedance

marks

vector of exceedances values (differences between value and threshold at each mark)

startime

the julian count one day prior to the first date in the entire timeSeries

endtime

value of last julian count in entire timeSeries

threshold

value of threshold above which exceedances are calculated

The functions fit.POT(), fit.seMPP(), and fit.sePP() return a list containing the fitted model.

The plot-methods return invisibly the data for producing these.

Details

extremalPP(): returns a list describing a marked point process (see pages 298-301 of QRM). fit.POT(): fits the POT (peaks-over-threshold) model to a point process of class PP or MPP. Note that if point process is of class PP, then function simply esitmates the rate of a homogeneous Poisson process (see pages 301--305 of QRM). fit.seMPP(): fits a marked self-exciting process to a point process object of class MPP. fit.sePP(): fits self-exciting process to a point process object of class PP (unmarked) or MPP (marked). seMPP.negloglik(): evaluates negative log-likelihood of a marked self-exciting point process model; this objective function will be passed to the optimizing function. sePP.negloglik(): evaluates negative log-likelihood of a self-exciting point process model (unmarked). stationary.sePP(): checks a sufficient condition for stationarity of a self-exciting model and gives information about cluster size. unmark(): strips marks from a marked point process. volfunction(): calculates a self-excitement function for use in the negloglik methods used in fit.sePP() and fit.seMPP().

See Also

GPD, nlminb

Examples

Run this code
# NOT RUN {
## Extremal PP
data(sp500)
l <- -returns(sp500) 
lw <- window(l, start = "1995-12-31", end = end(l)) 
mod1 <- extremalPP(lw, ne = 100) 
mod1$marks[1:5]
mod1$threshold
mod2a <- fit.sePP(mod1, mark.influence = FALSE, std.errs = TRUE)
mod2b <- fit.seMPP(mod1, mark.influence = FALSE, std.errs = TRUE)
stationary.sePP(mod2b)
mod2c <- fit.POT(mod1, method = "BFGS")
plot(mod1)
plot(unmark(mod1))
plot(mod2a)
# }

Run the code above in your browser using DataLab