Package Libor.LiborProcess

Package description: LiborProcess

See:
          Description

Class Summary
Calibrator This is a restricted version of a Libor process which has all the methods needed for calibration (computing the relevant prices at time zero, solving for implied volatilities etc) but no methods for path computation.
CalibratorTest A jUnit test suite for the class Calibrator.
CS_FactorLoading Implements the correlation and volatility structure from the document LiborProcess.ps which follows ideas of B.
CS_FactorLoadingTest Class of unit tests for the class CS_FactorLoading in the jUnit testing framework.
EP_FactorLoading A factor loading with log-Libor volatilities of the form sigma_j(t)=c_jg(1-t/T_j) with g(t)=1+Ah(t) where h(t)=t(1-t) and correlations rho_ij=b_i/b_j, for i<=j, with b_i=exp(beta*i^alpha).
FactorLoading This class provides access to the factor loadings nu_i(s) in the form of the Libor volatilities sigma_i(t) and correlations rho_ij.
JR_FactorLoading Implements the correlation and volatility structure from Jaeckel's book Monte Carlo Methods in Finance.
JR_FactorLoadingTest Class of unit tests for the class CS_FactorLoading in the jUnit testing framework.
LiborProcess The basic class simulating Libor paths as well as the paths of two log-normal approximations (X0,X1, see LiborProcess.ps).
LiborProcessTest Class of unit tests for the class LiborProcess in the jUnit testing framework.
LiborVector The RandomVector of Libors U=(X_m(T_m),X_{m+1}(T_m),...,X_{n-1}(T_m)) as seen from time t=0, ie.
LMM_Parameters Class which combines an initial term structure l[j]=L_j(0) with a FactorLoading object and hence provides everything to set up a Libor process.
SyntheticData This class has static methods to produce a set of caplet and swaption prices from the analytic pricing formulas in two separate files CapletFile and SwaptionFile in the precise format in which a Calibrator object expects these files for reading in the data.
 

Package Libor.LiborProcess Description

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).