本文整理汇总了C#中Bond.nextCouponRate方法的典型用法代码示例。如果您正苦于以下问题:C# Bond.nextCouponRate方法的具体用法?C# Bond.nextCouponRate怎么用?C# Bond.nextCouponRate使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Bond
的用法示例。
在下文中一共展示了Bond.nextCouponRate方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: testGenericBondImplied
//.........这里部分代码省略.........
+ "\n bond's clean price: " + floatingBondPrice1
+ "\n asset swap fair price: " +
floatingBondAssetSwapPrice1
+ "\n error: " + error3
+ "\n tolerance: " + tolerance);
}
// FRN Underlying bond (Isin: XS0090566539 COE 0 09/24/18)
// maturity occurs on a business day
Date floatingBondStartDate2 =new Date(24,Month.September,2004);
Date floatingBondMaturityDate2 =new Date(24,Month.September,2018);
Schedule floatingBondSchedule2 = new Schedule(floatingBondStartDate2,
floatingBondMaturityDate2,
new Period(Frequency.Semiannual), bondCalendar,
BusinessDayConvention.ModifiedFollowing, BusinessDayConvention.ModifiedFollowing,
DateGeneration.Rule.Backward, false);
List<CashFlow> floatingBondLeg2 = new IborLeg(floatingBondSchedule2, vars.iborIndex)
.withPaymentDayCounter(new Actual360())
.withFixingDays(fixingDays)
.withSpreads(0.0025)
.inArrears(inArrears)
.withNotionals(vars.faceAmount)
.withPaymentAdjustment(BusinessDayConvention.ModifiedFollowing);
Date floatingbondRedemption2 =
bondCalendar.adjust(floatingBondMaturityDate2, BusinessDayConvention.ModifiedFollowing);
floatingBondLeg2.Add(new SimpleCashFlow(100.0, floatingbondRedemption2));
Bond floatingBond2 = new Bond(settlementDays, bondCalendar, vars.faceAmount,
floatingBondMaturityDate2, floatingBondStartDate2, floatingBondLeg2);
floatingBond2.setPricingEngine(bondEngine);
Utils.setCouponPricer(floatingBond2.cashflows(), vars.pricer);
vars.iborIndex.addFixing(new Date(22,Month.March,2007), 0.04013);
double currentCoupon=0.04013+0.0025;
double floatingCurrentCoupon= floatingBond2.nextCouponRate();
double error4= Math.Abs(floatingCurrentCoupon-currentCoupon);
if (error4>tolerance) {
Assert.Fail("wrong current coupon is returned for floater bond:"
+ "\n bond's calculated current coupon: " +
currentCoupon
+ "\n current coupon asked to the bond: " +
floatingCurrentCoupon
+ "\n error: " + error4
+ "\n tolerance: " + tolerance);
}
double floatingBondPrice2 = floatingBond2.cleanPrice();
AssetSwap floatingBondAssetSwap2= new AssetSwap(payFixeddouble,
floatingBond2, floatingBondPrice2,
vars.iborIndex, vars.spread,
null,
vars.iborIndex.dayCounter(),
parAssetSwap);
floatingBondAssetSwap2.setPricingEngine(swapEngine);
double floatingBondAssetSwapPrice2 = floatingBondAssetSwap2.fairCleanPrice();
double error5 = Math.Abs(floatingBondAssetSwapPrice2-floatingBondPrice2);
if (error5>tolerance) {
Assert.Fail("wrong zero spread asset swap price for floater:"
+ "\n bond's clean price: " + floatingBondPrice2
+ "\n asset swap fair price: " +
floatingBondAssetSwapPrice2
+ "\n error: " + error5
+ "\n tolerance: " + tolerance);
}
// CMS Underlying bond (Isin: XS0228052402 CRDIT 0 8/22/20)