Package description: LiborProcess

Implementation of the Libor Market Model (LMM) with deterministic forward Libor volatilities and constant correlations. Path simulation relies on a predictor corrector algorithm and paths step directly from one point on the tenor structure to the next. Consequently this implementation is not useful in situations where forward Libors must be evaluated at times between Libor reset dates.

A detailed description of the theory behind the implementation and the notation and terminology is contained in the document LiborProcess.ps. All the information regarding the volatility and correlation structure is contained in the abstract class FactorLoading.

With forward Libor L_i satisfying the dynamics dL_i(t)=L_i(t)[BC_i(t)dt+BD_i(t)dW(t)] the factor loading of L_i is the W-integrable process BD_i. These factor loadings are accessed through the volatilities sigma_i(t) and correlations rho_ij. See LiborProcess.ps for details.

Two examples of factor loadings are implemented. One is a class based on ideas of B. Coffey and J. Schoenmakers the other is a test class with the sole purpose of producing synthetic data which can be used for calibration experiments with the Coffey-Schoenmakers structure.

There is a range of ideas regarding the proper construction of a correlation and volatility structure. The modularity of this program allows you to define your own volatilities and correlations and to plug them into the framework quite easily. All that is necessary is to derive from the class FactorLoading and to define the abstract methods which are the instantaneous log-libor correlations rho_ij, the volatility functions sigma_i(t) and covariation integrals

<log(L_i),log(L_j)>_t^T=integral_t^T cv_ij(s)ds,
where
cv_ij(s)=sigma_i(s)sigma_j(s)rho_ij=nu_i(s).nu_j(s).