Hello,
I have a vanilla IRS 6M fixed vs 3M USD Libor floating trade and I am building my Forward Curve as follows. From what I have learned from this forum, we do not add Cash Deposits to forward curve, also there is no 2 weeks or 1 Month node, the first one is a 3 Month ED future.
//Add the LIBOR fixing as the swap is off market, the start date is in the past
BusinessDayAdjustment bda = BusinessDayAdjustment.of(FOLLOWING, USNY);
TermDepositConvention convention = ImmutableTermDepositConvention.of("USD-Dep", USD, bda, ACT_360, DaysAdjustment.ofBusinessDays(0, USNY));
QuoteId quoteId = QuoteId.of(StandardId.of(SCHEME, "USD-Fixing-3M"));
forwardCurveNodes.add(
IborFixingDepositCurveNode.of(IborFixingDepositTemplate.of(USD_LIBOR_3M),
quoteId));
builder.addValue(quoteId, 0.0170725);
//Add the first ED Future
IborFutureConvention futureConvention = ImmutableIborFutureConvention.of(USD_LIBOR_3M, DateSequences.QUARTERLY_IMM);
quoteId = QuoteId.of(StandardId.of(SCHEME, "USD-ED1"));
forwardCurveNodes.add(IborFutureCurveNode.of(IborFutureTemplate.of(YearMonth.of(2020, 3), futureConvention),
quoteId));
builder.addValue(quoteId, 0.983429);
//Add more ED futures and then par swaps start at 3Y mark
This works as expected and the NPV of the swap is very close to vendor’s NPV. Now, I need to get par sensitivities only for certain points of the curve (2W,1M,3M,6M,1Y,2Y…30Y). If I do the below, I get sensitivity to each node that was used to build the Fwd curve but I do not want that. How do I go about asking for only certain par rate sensitivities ? Is Linear Interpolation is good option to get 2W and 1M sensitivity?
SwapTradeCalculations swapTradeCalc = new SwapTradeCalculations(SWAP_PRICER);
CurrencyParameterSensitivities ps = swapTradeCalc.pv01MarketQuoteBucketed(trade, result);
Thanks.