Tag Info

6

Day-count conventions. You can't live with them, you can't live without them. The reason the prices differ is that the pricing engine can't calculate correctly the time over which the first coupon is discounted, and thus it gets slightly different discount factors to apply to the coupon amounts. Please sit down, it'll take some explaining. Ultimately, both ...

5

It's because of the settlement days you passed when you initialized the flat volatility curve. You're creating the spot, forward and flat volatilities as: boost::shared_ptr<BlackVarianceSurface> volatilitySurface( new BlackVarianceSurface(todaysDate, calendar, maturityArray, strikeArray, ...

3

A free to use Excel Add-on providing QuantLib-backed derivatives pricing analytics directly in Excel is available at http://www.deriscope.com Disclosure: answerer is author of the package.

3

The time to expiry is required, but it's included in the inputs: the two discounts $e^{-rT}$ and $e^{-qT}$ and the standard deviation $\sigma\sqrt{T}$. You might argue it could be documented more clearly, and I might agree with you.

2

The process must contain the spot price. The AnalyticEuropeanEngine will take care of calculating the forward price from the data you're passing in the process (in this case spot and risk-free-rate) and the maturity of the option. As implemented in QuantLib, though, The BlackProcess class assumes there's no dividend yield. If you want to model some kind of ...

2

You can obtain the desired effect by tweaking the bond construction. For instance, let's say you're creating a 4-years bond with semiannual coupons paying 3%, but missing the last. This makes for 7 coupons. Instead, you'll create the schedule as usual (so you have 8 periods), but specify a null last coupon when creating the bond. So: Schedule schedule = ...

Only top voted, non community-wiki answers of a minimum length are eligible