BiMOL.aic: Calculate a Pseudo AIC Value for a Bivariate Diffusion Model...

Description Usage Arguments Value Interface Warning Note Author(s) References See Also Examples


MOL.aic() approximates the likelihood function for a bivariate diffusion model under a given dataset and parameter vector.


BiMOL.aic(X, time, delt, xlims, ylims, N, theta, diff.type, plt = TRUE,
          wrt = FALSE, border = NA)



N x 2 matrix of coordinates at which the diffusion process was observed, where N is the number of observations.


A vector of time nodes at which the process was observed.


Step size for the time domain of the lattice (see note [4]).


X-limits for the spatial nodes of the lattice. These limits should be wide enough for the transition density to be negligibly small at the endpoints (see note [2]).


Y-limits for the spatial nodes of the lattice. These limits should be wide enough for the transition density to be negligibly small at the endpoints (see note [2]).


The number of nodes in each spatial domain at which to evaluate the transitional density. Increase N for more accurate approximations (see note [3] and warning [2]).


Parameter vector at which the AIC should be evaluated. Typically the parameter vector is calculated using RS.impute()


2-Component vector of indicators, each assuming values 1, 2 or 3, for which of the predefined volatility structures to impose.


Draw a plot of the calculation as it takes place.


Write a .cpp file. Useful for inspection purposes.


Border colour for the mesh of the perspective plot.



An approximate AIC value.


The approximate likelihood value used in the calculation.


The dimesnion of the parameter vector.


BiMOL.aic uses a function-input interface whereby the drift and diffusion components of the stochastic differential equation (SDE)

dX_t = mu_1(X_t, Y_t, t)dt+sigma_1(X_t, Y_t, t)dW_t^1

dY_t = mu_2(X_t, Y_t, t)dt+sigma_2(X_t, Y_t, t)dW_t^2,

are defined as R-functions in the current workspace. That is by defining the drift and diffusion components

mu1=function(X,Y,t){some expression i.t.o. X, Y and t}

mu2=function(X,Y,t){some expression i.t.o. X, Y and t}

sig11=function(X,Y,t){some expression i.t.o. X, Y and t}

sig22=function(X,Y,t){some expression i.t.o. X, Y and t}

further analysis may be conducted by calling the function BiMOL.aic().


Warning [1]: Note that if the lattice is shifted, degeneracies may occur for certain drift/volatility specifications if the shifted lattice moves into non-nonsensical values of the drift/volatility functions' domains.

Warning [2]: Although increasing the spatial resolution of the lattice by increasing N improves approximations, instabilities will occur if delt is not sufficiently small. This tends to manifest as jagged/spiked solutions that oscillate between positive and negative values.


Note [1]: Although the spatial limits of the lattice is defined by the user using xlims, if the initial value Xs does not fall on one of the lattice nodes, then the lattice is shifted accordingly.

Note [2]: The approximation assumes that the entire density of the process falls on a finite interval. Thus the algorithm may breakdown for certain problems. Depending on the parameters of the process, the limits may be very far apart or near. Some experimentation may be required. Otherwise, set autofind = TRUE to find useful limits. Note also that larger N may be required for wider limits.

Note [3]: Increasing N will likely require smaller delt, thus increasing computation time. For some problems, slight increases in N will require much smaller delt.

Note [4]: delt is used as the step size for a 10(8)-th order Runge-Kutta method for solving the resulting system of ODEs. Note again the inter-play between N and delt (see note [3]).


Etienne A.D. Pienaar


Hamdi, S., Schiesser, W. E. and Griffiths, G. W. 2007 Method of lines. Scholarpedia, 2(7):2859. Revision #124335.

Feagin, T. 2007 A tenth-order Runge-Kutta method with error estimate. In Proceedings of the IAENG Conf. on Scientifc Computing.

See Also

MOL.aic, BiRS.impute.



DiffusionRimp documentation built on May 2, 2019, 2 p.m.