public void BasicBondTest() { var bond = new Bond( id: "bond", startDate: new Date(2016, 3, 15), maturityDate: new Date(2019, 3, 15), notional: 100.0, currency: CurrencyCode.CNY, coupon: new FixedCoupon(0.05), calendar: CalendarImpl.Get("chn"), paymentFreq: Frequency.SemiAnnual, stub: Stub.ShortEnd, accrualDayCount: new Act365(), paymentDayCount: new Act365(), accrualBizDayRule: BusinessDayConvention.ModifiedFollowing, paymentBizDayRule: BusinessDayConvention.ModifiedFollowing, settlementGap: new DayGap("+0D"), bondTradingMarket: TradingMarket.ChinaInterBank); var engine = new BondEngineCn(new BondYieldPricerCn()); var market = new MarketCondition( x => x.ValuationDate.Value = new Date(2018, 8, 1), x => x.MktQuote.Value = new Dictionary <string, Tuple <PriceQuoteType, double> > { { "bond", Tuple.Create(PriceQuoteType.Clean, 100.0) } } ); var result = engine.Calculate(bond, market, PricingRequest.Ytm); }
public BondFuturesYieldPricer(BondFutures bondFuture, IMarketCondition market) { _qbBondEngine = new BondEngineCn(new BondYieldPricerCn()); _bondFuture = bondFuture; _market = market; }