Within Excel, a range such as this can be passed directly into the PayOffTable parameter.
| | | | | |
|---|
| 19/Jul/2005 | False | Asset(1, cRow) + _a + 5pct | Asset(2, cRow) + Interp1D(1,cRow) - 100bp | GridRowAvg(cRow, cCol-2, cCol-1) | |
| 19/Jan/2006 | False | Asset(1, cRow) + _a + 5pct | Asset(2, cRow) + Interp1D(1,cRow) - 100bp | GridRowAvg(cRow, cCol-2, cCol-1) | |
| 19/Jul/2006 | False | Asset(1, cRow) + _a + 5pct | Asset(2, cRow) + Interp1D(1,cRow) - 100bp | GridRowAvg(cRow, cCol-2, cCol-1) | |
| 19/Jan/2007 | False | Asset(1, cRow) + _a + 5pct | Asset(2, cRow) + Interp1D(1,cRow) - 100bp | GridRowAvg(cRow, cCol-2, cCol-1) | |
| 19/Jul/2007 | False | Asset(1, cRow) + _a + 5pct | Asset(2, cRow) + Interp1D(1,cRow) - 100bp | GridRowAvg(cRow, cCol-2, cCol-1) | |
| 19/Jan/2008 | False | Asset(1, cRow) + _a + 5pct | Asset(2, cRow) + Interp1D(1,cRow) - 100bp | GridRowAvg(cRow, cCol-2, cCol-1) | |
| 19/Jul/2008 | False | Asset(1, cRow) + _a + 5pct | Asset(2, cRow) + Interp1D(1,cRow) - 100bp | GridRowAvg(cRow, cCol-2, cCol-1) | |
| 19/Jan/2009 | False | Asset(1, cRow) + _a + 5pct | Asset(2, cRow) + Interp1D(1,cRow) - 100bp | GridRowAvg(cRow, cCol-2, cCol-1) | |
| 19/Jul/2009 | False | Asset(1, cRow) + _a + 5pct | Asset(2, cRow) + Interp1D(1,cRow) - 100bp | GridRowAvg(cRow, cCol-2, cCol-1) | |
| 19/Jan/2010 | False | Asset(1, cRow) + _a + 5pct | Asset(2, cRow) + Interp1D(1,cRow) - 100bp | GridRowAvg(cRow, cCol-2, cCol-1) | |
| 19/Jul/2010 | False | Asset(1, cRow) + _a + 5pct | Asset(2, cRow) + Interp1D(1,cRow) - 100bp | GridRowAvg(cRow, cCol-2, cCol-1) | |
| 19/Jan/2011 | False | Asset(1, cRow) + _a + 5pct | Asset(2, cRow) + Interp1D(1,cRow) - 100bp | GridRowAvg(cRow, cCol-2, cCol-1) | max(GridColMin(cCol-1, 1, cRow) - AssetMin(1, 1, cRow), 0.0) * DCF(1, cRow) |
CTQL.CTRangeData GenericMCPricer_PayOffTable = new CTQL.CTRangeData();
System.Text.StringBuilder GenericMCPricer_PayOffTable_builder =
new System.Text.StringBuilder(100);
GenericMCPricer_PayOffTable_builder.Append("{");
GenericMCPricer_PayOffTable_builder.Append("#19/Jul/2005# | False | Asset(1, cRow) + _a + 5pct | Asset(2, cRow) + Interp1D(1,cRow) - 100bp | GridRowAvg(cRow, cCol-2, cCol-1) | ;");
GenericMCPricer_PayOffTable_builder.Append("#19/Jan/2006# | False | Asset(1, cRow) + _a + 5pct | Asset(2, cRow) + Interp1D(1,cRow) - 100bp | GridRowAvg(cRow, cCol-2, cCol-1) | ;");
GenericMCPricer_PayOffTable_builder.Append("#19/Jul/2006# | False | Asset(1, cRow) + _a + 5pct | Asset(2, cRow) + Interp1D(1,cRow) - 100bp | GridRowAvg(cRow, cCol-2, cCol-1) | ;");
GenericMCPricer_PayOffTable_builder.Append("#19/Jan/2007# | False | Asset(1, cRow) + _a + 5pct | Asset(2, cRow) + Interp1D(1,cRow) - 100bp | GridRowAvg(cRow, cCol-2, cCol-1) | ;");
GenericMCPricer_PayOffTable_builder.Append("#19/Jul/2007# | False | Asset(1, cRow) + _a + 5pct | Asset(2, cRow) + Interp1D(1,cRow) - 100bp | GridRowAvg(cRow, cCol-2, cCol-1) | ;");
GenericMCPricer_PayOffTable_builder.Append("#19/Jan/2008# | False | Asset(1, cRow) + _a + 5pct | Asset(2, cRow) + Interp1D(1,cRow) - 100bp | GridRowAvg(cRow, cCol-2, cCol-1) | ;");
GenericMCPricer_PayOffTable_builder.Append("#19/Jul/2008# | False | Asset(1, cRow) + _a + 5pct | Asset(2, cRow) + Interp1D(1,cRow) - 100bp | GridRowAvg(cRow, cCol-2, cCol-1) | ;");
GenericMCPricer_PayOffTable_builder.Append("#19/Jan/2009# | False | Asset(1, cRow) + _a + 5pct | Asset(2, cRow) + Interp1D(1,cRow) - 100bp | GridRowAvg(cRow, cCol-2, cCol-1) | ;");
GenericMCPricer_PayOffTable_builder.Append("#19/Jul/2009# | False | Asset(1, cRow) + _a + 5pct | Asset(2, cRow) + Interp1D(1,cRow) - 100bp | GridRowAvg(cRow, cCol-2, cCol-1) | ;");
GenericMCPricer_PayOffTable_builder.Append("#19/Jan/2010# | False | Asset(1, cRow) + _a + 5pct | Asset(2, cRow) + Interp1D(1,cRow) - 100bp | GridRowAvg(cRow, cCol-2, cCol-1) | ;");
GenericMCPricer_PayOffTable_builder.Append("#19/Jul/2010# | False | Asset(1, cRow) + _a + 5pct | Asset(2, cRow) + Interp1D(1,cRow) - 100bp | GridRowAvg(cRow, cCol-2, cCol-1) | ;");
GenericMCPricer_PayOffTable_builder.Append("#19/Jan/2011# | False | Asset(1, cRow) + _a + 5pct | Asset(2, cRow) + Interp1D(1,cRow) - 100bp | GridRowAvg(cRow, cCol-2, cCol-1) | max(GridColMin(cCol-1, 1, cRow) - AssetMin(1, 1, cRow), 0.0) * DCF(1, cRow)");
GenericMCPricer_PayOffTable_builder.Append("}");
// Parse the string into the Range object.
GenericMCPricer_PayOffTable.RangeFromStr( GenericMCPricer_PayOffTable_builder.ToString() );