Creates a an extended linear-exponential volatility model for the libor market model.
The resulting object is to be passed as a parameter to the
LiborMarketModel() function.
The extended linear exponential volatility model is defined as : sigma(t) = k_i*((b*(T{i}-t)+a)*exp{-c(T{i}-t)}+d), where T{i} is time at step i and k_i are weights that are applied to fixing (reset) value i (adjustment factors needed to match Black vols).
If you simply construct this object and leave the 'weights' parameter empty, the weights will be set to 1.0. Within the calibration functions (see
CalibrateModelLFM() and
CalibrateModelLFM_2() ) the weights will automatically be calibrated and from this, you can pass the calibrated values to the 'weights' parameter.
NOTE : If you are passing this object to the calibration functions along with an object created from the
LMMProcess2() function, then these weights cannot be calibrated.
Basically only parameters from LMM processes started from spot can be calibrated (ie - the
LMMProcess() function).
This function creates an object and returns a string-key value to represent this created object.
The TAG value of the string-key returned (second part of the key) is : "LMMLEVMOD2"
The C# example below contains all the sub-function calls leading up to this function call. As a result, the example can contain a lot of code.
The VB.NET, J#, C++.NET, Java, Excel VBA, Visual Basic 6 (via COM) and C++ examples below contain function code stubs for the calls leading up to this function call. However, the function call for this function is displayed.
You can easily reproduce the stub functions code from the
C# example.
Copyright (c) 2003-2007 CapeTools - All Rights Reserved.