Within Excel, a range such as this can be passed directly into the PayOffTable parameter.
| | | | |
|---|
| 21/Jul/2006 | | | | |
| 23/Oct/2006 | Libor(cRow) + _a | Interp1D(1,cRow) | GridRowSum(cRow, cCol-2, cCol-1) | |
| 22/Jan/2007 | Libor(cRow) + _a | Interp1D(1,cRow) | GridRowSum(cRow, cCol-2, cCol-1) | |
| 23/Apr/2007 | Libor(cRow) + _a | Interp1D(1,cRow) | GridRowSum(cRow, cCol-2, cCol-1) | |
| 23/Jul/2007 | Libor(cRow) + _a | Interp1D(1,cRow) | GridRowSum(cRow, cCol-2, cCol-1) | |
| 22/Oct/2007 | Libor(cRow) + _a | Interp1D(1,cRow) | GridRowSum(cRow, cCol-2, cCol-1) | |
| 21/Jan/2008 | Libor(cRow) + _a | Interp1D(1,cRow) | GridRowSum(cRow, cCol-2, cCol-1) | |
| 21/Apr/2008 | Libor(cRow) + _a | Interp1D(1,cRow) | GridRowSum(cRow, cCol-2, cCol-1) | |
| 21/Jul/2008 | Libor(cRow) + _a | Interp1D(1,cRow) | GridRowSum(cRow, cCol-2, cCol-1) | |
| 21/Oct/2008 | Libor(cRow) + _a | Interp1D(1,cRow) | GridRowSum(cRow, cCol-2, cCol-1) | |
| 21/Jan/2009 | Libor(cRow) + _a | Interp1D(1,cRow) | GridRowSum(cRow, cCol-2, cCol-1) | |
| 21/Apr/2009 | Libor(cRow) + _a | Interp1D(1,cRow) | GridRowSum(cRow, cCol-2, cCol-1) | |
| 21/Jul/2009 | Libor(cRow) + _a | Interp1D(1,cRow) | GridRowSum(cRow, cCol-2, cCol-1) | |
| 21/Oct/2009 | Libor(cRow) + _a | Interp1D(1,cRow) | GridRowSum(cRow, cCol-2, cCol-1) | |
| 21/Jan/2010 | Libor(cRow) + _a | Interp1D(1,cRow) | GridRowSum(cRow, cCol-2, cCol-1) | |
| 21/Apr/2010 | Libor(cRow) + _a | Interp1D(1,cRow) | GridRowSum(cRow, cCol-2, cCol-1) | |
| 21/Jul/2010 | Libor(cRow) + _a | Interp1D(1,cRow) | GridRowSum(cRow, cCol-2, cCol-1) | |
| 21/Oct/2010 | Libor(cRow) + _a | Interp1D(1,cRow) | GridRowSum(cRow, cCol-2, cCol-1) | |
| 21/Jan/2011 | Libor(cRow) + _a | Interp1D(1,cRow) | GridRowSum(cRow, cCol-2, cCol-1) | |
| 21/Apr/2011 | Libor(cRow) + _a | Interp1D(1,cRow) | GridRowSum(cRow, cCol-2, cCol-1) | |
| 21/Jul/2011 | Libor(cRow) + _a | Interp1D(1,cRow) | GridRowSum(cRow, cCol-2, cCol-1) | max(GridColMin(cCol-1, 1, cRow) - LiborMin(1, cRow), 0.0) * DCF(cRow) * Cvg(cRow) |
CTQL.CTRangeData GenericLMM_MCPricer_PayOffTable = new CTQL.CTRangeData();
System.Text.StringBuilder GenericLMM_MCPricer_PayOffTable_builder =
new System.Text.StringBuilder(100);
GenericLMM_MCPricer_PayOffTable_builder.Append("{");
GenericLMM_MCPricer_PayOffTable_builder.Append("#21/Jul/2006# | | | | ;");
GenericLMM_MCPricer_PayOffTable_builder.Append("#23/Oct/2006# | Libor(cRow) + _a | Interp1D(1,cRow) | GridRowSum(cRow, cCol-2, cCol-1) | ;");
GenericLMM_MCPricer_PayOffTable_builder.Append("#22/Jan/2007# | Libor(cRow) + _a | Interp1D(1,cRow) | GridRowSum(cRow, cCol-2, cCol-1) | ;");
GenericLMM_MCPricer_PayOffTable_builder.Append("#23/Apr/2007# | Libor(cRow) + _a | Interp1D(1,cRow) | GridRowSum(cRow, cCol-2, cCol-1) | ;");
GenericLMM_MCPricer_PayOffTable_builder.Append("#23/Jul/2007# | Libor(cRow) + _a | Interp1D(1,cRow) | GridRowSum(cRow, cCol-2, cCol-1) | ;");
GenericLMM_MCPricer_PayOffTable_builder.Append("#22/Oct/2007# | Libor(cRow) + _a | Interp1D(1,cRow) | GridRowSum(cRow, cCol-2, cCol-1) | ;");
GenericLMM_MCPricer_PayOffTable_builder.Append("#21/Jan/2008# | Libor(cRow) + _a | Interp1D(1,cRow) | GridRowSum(cRow, cCol-2, cCol-1) | ;");
GenericLMM_MCPricer_PayOffTable_builder.Append("#21/Apr/2008# | Libor(cRow) + _a | Interp1D(1,cRow) | GridRowSum(cRow, cCol-2, cCol-1) | ;");
GenericLMM_MCPricer_PayOffTable_builder.Append("#21/Jul/2008# | Libor(cRow) + _a | Interp1D(1,cRow) | GridRowSum(cRow, cCol-2, cCol-1) | ;");
GenericLMM_MCPricer_PayOffTable_builder.Append("#21/Oct/2008# | Libor(cRow) + _a | Interp1D(1,cRow) | GridRowSum(cRow, cCol-2, cCol-1) | ;");
GenericLMM_MCPricer_PayOffTable_builder.Append("#21/Jan/2009# | Libor(cRow) + _a | Interp1D(1,cRow) | GridRowSum(cRow, cCol-2, cCol-1) | ;");
GenericLMM_MCPricer_PayOffTable_builder.Append("#21/Apr/2009# | Libor(cRow) + _a | Interp1D(1,cRow) | GridRowSum(cRow, cCol-2, cCol-1) | ;");
GenericLMM_MCPricer_PayOffTable_builder.Append("#21/Jul/2009# | Libor(cRow) + _a | Interp1D(1,cRow) | GridRowSum(cRow, cCol-2, cCol-1) | ;");
GenericLMM_MCPricer_PayOffTable_builder.Append("#21/Oct/2009# | Libor(cRow) + _a | Interp1D(1,cRow) | GridRowSum(cRow, cCol-2, cCol-1) | ;");
GenericLMM_MCPricer_PayOffTable_builder.Append("#21/Jan/2010# | Libor(cRow) + _a | Interp1D(1,cRow) | GridRowSum(cRow, cCol-2, cCol-1) | ;");
GenericLMM_MCPricer_PayOffTable_builder.Append("#21/Apr/2010# | Libor(cRow) + _a | Interp1D(1,cRow) | GridRowSum(cRow, cCol-2, cCol-1) | ;");
GenericLMM_MCPricer_PayOffTable_builder.Append("#21/Jul/2010# | Libor(cRow) + _a | Interp1D(1,cRow) | GridRowSum(cRow, cCol-2, cCol-1) | ;");
GenericLMM_MCPricer_PayOffTable_builder.Append("#21/Oct/2010# | Libor(cRow) + _a | Interp1D(1,cRow) | GridRowSum(cRow, cCol-2, cCol-1) | ;");
GenericLMM_MCPricer_PayOffTable_builder.Append("#21/Jan/2011# | Libor(cRow) + _a | Interp1D(1,cRow) | GridRowSum(cRow, cCol-2, cCol-1) | ;");
GenericLMM_MCPricer_PayOffTable_builder.Append("#21/Apr/2011# | Libor(cRow) + _a | Interp1D(1,cRow) | GridRowSum(cRow, cCol-2, cCol-1) | ;");
GenericLMM_MCPricer_PayOffTable_builder.Append("#21/Jul/2011# | Libor(cRow) + _a | Interp1D(1,cRow) | GridRowSum(cRow, cCol-2, cCol-1) | max(GridColMin(cCol-1, 1, cRow) - LiborMin(1, cRow), 0.0) * DCF(cRow) * Cvg(cRow)");
GenericLMM_MCPricer_PayOffTable_builder.Append("}");
// Parse the string into the Range object.
GenericLMM_MCPricer_PayOffTable.RangeFromStr( GenericLMM_MCPricer_PayOffTable_builder.ToString() );