| Version: | 0.0-4 | 
| Date: | 2014-01-08 | 
| Title: | Hawkes process simulation and calibration toolkit | 
| Author: | Riadh Zaatour <zaatour_riadh@yahoo.fr> | 
| Maintainer: | Riadh Zaatour <zaatour_riadh@yahoo.fr> | 
| Description: | The package allows to simulate Hawkes process both in univariate and multivariate settings. It gives functions to compute different moments of the number of jumps of the process on a given interval, such as mean, variance or autocorrelation of process jumps on time intervals separated by a lag. | 
| License: | GPL-2 | GPL-3 [expanded from: GPL (≥ 2)] | 
| Depends: | R (≥ 3.0.2) | 
| Imports: | Rcpp (≥ 0.11.1) | 
| LinkingTo: | Rcpp, RcppArmadillo (≥ 0.4.100.2.1) | 
| Repository: | CRAN | 
| Repository/R-Forge/Project: | hawkes | 
| Repository/R-Forge/Revision: | 61 | 
| Repository/R-Forge/DateTimeStamp: | 2014-05-19 11:27:02 | 
| Date/Publication: | 2014-05-19 16:33:15 | 
| Packaged: | 2014-05-19 12:15:19 UTC; rforge | 
| NeedsCompilation: | yes | 
Autocorrelation of Hawkes process jumps on nonoverlapping time intervals with lag.
Description
The function returns the theoretical autocorrelation of the number of jumps of a Hawkes process on nonoverlapping time intervals with lag
Usage
jumpAutocorrelation(lambda0, alpha, beta, tau,lag)
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. | 
| tau | Time interval length. | 
| lag | Time lag. | 
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 matrix containing the autocorrelation of the number of jumps of process components.
References
Jose Da Fonseca and Riadh Zaatour Hawkes Process : Fast Calibration, Application to Trade Clustering and Diffusive Limit. Journal of Futures Markets, Volume 34, Issue 6, pages 497-606, June 2014.
Jose Da Fonseca and Riadh Zaatour Clustering and Mean Reversion in Hawkes Microstructure Models.
Examples
#One dimensional Hawkes process
lambda0<-0.02
alpha<-0.05
beta<-0.06
tau<-60#one minute
lag<-0#adjacent non overlappingintervals
h<-jumpAutocorrelation(lambda0,alpha,beta,tau,lag)
#Multivariate Hawkes process
lambda0<-c(0.02,0.02)
alpha<-matrix(c(0.05,0,0,0.05),byrow=TRUE,nrow=2)
beta<-c(0.06,0.06)
tau<-60#one minute
lag<-0#adjacent non overlappingintervals
h<-jumpAutocorrelation(lambda0,alpha,beta,tau,lag)
Mean of Hawkes process jumps.
Description
The function returns the theoretical mean of the number of jumps of a Hawkes process on a time interval of length tau.
Usage
jumpMean(lambda0, alpha, beta, tau)
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. | 
| tau | Time interval length. | 
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 containing the mean number of jumps of every process component.
References
Jose Da Fonseca and Riadh Zaatour Hawkes Process : Fast Calibration, Application to Trade Clustering and Diffusive Limit. Journal of Futures Markets, Volume 34, Issue 6, pages 497-606, June 2014.
Jose Da Fonseca and Riadh Zaatour Clustering and Mean Reversion in Hawkes Microstructure Models.
Examples
#One dimensional Hawkes process
lambda0<-0.02
alpha<-0.05
beta<-0.06
tau<-60#one minute
h<-jumpMean(lambda0,alpha,beta,tau)
#Multivariate Hawkes process
lambda0<-c(0.02,0.02)
alpha<-matrix(c(0.05,0,0,0.05),byrow=TRUE,nrow=2)
beta<-c(0.06,0.06)
tau<-60#one minute
h<-jumpMean(lambda0,alpha,beta,tau)
Variance of Hawkes process jumps.
Description
The function returns the theoretical variance matrix of the number of jumps of a Hawkes process on a time interval of length tau.
Usage
jumpVariance(lambda0, alpha, beta, tau)
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. | 
| tau | Time interval length. | 
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 matrix containing the variance of the number of jumps of every process component.
References
Jose Da Fonseca and Riadh Zaatour Hawkes Process : Fast Calibration, Application to Trade Clustering and Diffusive Limit. Journal of Futures Markets, Volume 34, Issue 6, pages 497-606, June 2014.
Jose Da Fonseca and Riadh Zaatour Clustering and Mean Reversion in Hawkes Microstructure Models.
Examples
#One dimensional Hawkes process
lambda0<-0.02
alpha<-0.05
beta<-0.06
tau<-60#one minute
h<-jumpVariance(lambda0,alpha,beta,tau)
#Multivariate Hawkes process
lambda0<-c(0.02,0.02)
alpha<-matrix(c(0.05,0,0,0.05),byrow=TRUE,nrow=2)
beta<-c(0.06,0.06)
tau<-60#one minute
h<-jumpVariance(lambda0,alpha,beta,tau)
Compute the likelihood function of a hawkes process
Description
Compute the likelihood function of a hawkes process for the given parameter and given the jump times vector (or list of vectors in the multivariate case), and until a time horizon.
Usage
likelihoodHawkes(lambda0, alpha, beta, history)
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. | 
| history | Jump times vector (or list of vectors in the multivariate case). | 
Value
Returns the opposite of the likelihood.
References
Y. Ogata. (1981) On Lewis simulation method for point processes. IEEE Transactions on Information Theory, 31
Examples
#One dimensional Hawkes process
lambda0<-0.2
alpha<-0.5
beta<-0.7
history<-simulateHawkes(lambda0,alpha,beta,3600)
l<-likelihoodHawkes(lambda0,alpha,beta,history[[1]])
#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)
history<-simulateHawkes(lambda0,alpha,beta,3600)
l<-likelihoodHawkes(lambda0,alpha,beta,history)
Hawkes process simulation Function
Description
The function simulates a Hawkes process for the given parameter, and until a time horizon.
Usage
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
#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)