CapeTools Generic IR LMM MonteCarlo Pricer




Welcome | Documentation format | QuantTools Groups | QuantTools Categories | Licence

Key TAGs | Excel Index | API Index


http://www.QuantTools.com

In total there are 11 functions present within the CapeTools Generic IR LMM MonteCarlo Pricer category of functions.


General Description


Functions to price generic interest rate structures under a LMM MonteCarlo framework. If your product's payoff does not refer to asset prices in the future (ie - Bermudan / American options) you can use this framework.

Here are some general rules to keep in mind regarding how the payoff grid will be processed :

  1. Rows are time points. As you read down the grid you are moving forward in time.
  2. Columns represent your payoff formulas. You can create as many columns as you like. Columns are there to help you split up your payoff, or for a payoff function within a cell to refer to other cells within the grid.
  3. For the MonteCarlo pricer, the pricing starts at the first timestep and prices from left to right.
  4. Formula expressions within a cell cannot refer to formula cells to the right of itself.
  5. Formula expressions within a cell cannot refer to formula cells below itself (future time points).
  6. No payoff formulas must be present within the very first timestep and you can never refer to the very first time step (we call this step, time step 0).


If you bear the 6 points in mind, this should aid you in constructing payoff grids.

Below is an example of a payoff table. The Step column is not required.


StepEventDatePayOff ColPayOff ColPayOff ColPayOff Col
0#21/07/2006#
1#23/10/2006#Libor(cRow) + _aInterp1D(1,cRow)GridRowSum(cRow, cCol-2, cCol-1)
2#22/01/2007#Libor(cRow) + _aInterp1D(1,cRow)GridRowSum(cRow, cCol-2, cCol-1)
3#23/04/2007#Libor(cRow) + _aInterp1D(1,cRow)GridRowSum(cRow, cCol-2, cCol-1)
4#23/07/2007#Libor(cRow) + _aInterp1D(1,cRow)GridRowSum(cRow, cCol-2, cCol-1)
5#22/10/2007#Libor(cRow) + _aInterp1D(1,cRow)GridRowSum(cRow, cCol-2, cCol-1)
6#21/01/2008#Libor(cRow) + _aInterp1D(1,cRow)GridRowSum(cRow, cCol-2, cCol-1)
7#21/04/2008#Libor(cRow) + _aInterp1D(1,cRow)GridRowSum(cRow, cCol-2, cCol-1)
8#21/07/2008#Libor(cRow) + _aInterp1D(1,cRow)GridRowSum(cRow, cCol-2, cCol-1)
9#21/10/2008#Libor(cRow) + _aInterp1D(1,cRow)GridRowSum(cRow, cCol-2, cCol-1)
10#21/01/2009#Libor(cRow) + _aInterp1D(1,cRow)GridRowSum(cRow, cCol-2, cCol-1)
11#21/04/2009#Libor(cRow) + _aInterp1D(1,cRow)GridRowSum(cRow, cCol-2, cCol-1)
12#21/07/2009#Libor(cRow) + _aInterp1D(1,cRow)GridRowSum(cRow, cCol-2, cCol-1)
13#21/10/2009#Libor(cRow) + _aInterp1D(1,cRow)GridRowSum(cRow, cCol-2, cCol-1)
14#21/01/2010#Libor(cRow) + _aInterp1D(1,cRow)GridRowSum(cRow, cCol-2, cCol-1)
15#21/04/2010#Libor(cRow) + _aInterp1D(1,cRow)GridRowSum(cRow, cCol-2, cCol-1)
16#21/07/2010#Libor(cRow) + _aInterp1D(1,cRow)GridRowSum(cRow, cCol-2, cCol-1)
17#21/10/2010#Libor(cRow) + _aInterp1D(1,cRow)GridRowSum(cRow, cCol-2, cCol-1)
18#21/01/2011#Libor(cRow) + _aInterp1D(1,cRow)GridRowSum(cRow, cCol-2, cCol-1)
19#21/04/2011#Libor(cRow) + _aInterp1D(1,cRow)GridRowSum(cRow, cCol-2, cCol-1)
20#21/07/2011#Libor(cRow) + _aInterp1D(1,cRow)GridRowSum(cRow, cCol-2, cCol-1)max(GridColMin(cCol-1, 1, cRow) - LiborMin(1, cRow), 0.0) * DCF(cRow) * Cvg(cRow)




Note the following definitions :

.


Financial variables (case sensitive) :



Financial functions (case sensitive) :



Predefined functions (case sensitive) :



Predefined operators :



Predefined operators that can be used within the first parameter of the ite() or iff() function :





Function list.

Copyright (c) 2003-2007 CapeTools - All Rights Reserved.