Hawkes process simulation Function

Share:

Description

The function simulates a Hawkes process for the given parameter, and until a time horizon.

Usage

1
simulateHawkes(lambda0, alpha, beta, horizon)

Arguments

lambda0

Vector of initial intensity, a scalar in the monovariate case.

alpha

Matrix of excitation, a scalar in the monovariate case. Excitation values are all positive.

beta

Vector of betas, a scalar in the monovariate case.

horizon

Time horizon until which the simulation is to be conducted.

Details

Notice that in the scalar case, one must have beta>alpha for the process to be stable, and in the multivariate case, the matrix (diag(beta)-alpha) must have eigen values with strictly positive real parts for the process to be stable.

Value

Returns a vector of jump times in the monovariate case, and a list of such vectors for every component in the multivariate case.

References

Y. Ogata. (1981) On Lewis simulation method for point processes. IEEE Transactions on Information Theory, 31

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
#One dimensional Hawkes process
lambda0<-0.2
alpha<-0.5
beta<-0.7
horizon<-3600#one hour
h<-simulateHawkes(lambda0,alpha,beta,horizon)

#Multivariate Hawkes process
lambda0<-c(0.2,0.2)
alpha<-matrix(c(0.5,0,0,0.5),byrow=TRUE,nrow=2)
beta<-c(0.7,0.7)
horizon<-3600#one hour
h<-simulateHawkes(lambda0,alpha,beta,horizon)