9

I'm familiar with the library, but not with the way it is exported to R. Anyway: gearings are optional multipliers of the LIBOR fixing (some bonds might pay, for instance, 0.8 times the LIBOR) and spreads are the added spreads. In your case, the gearing is 1 and the spread is 0.0140 (that is, 140 bps; rates and spread must be expressed in decimal form). ...


6

There are two different issues at play here. One is that, of course, you want only the future cash flows to enter the calculation. This is taken care when you set the evaluation date to 6 months from today. In C++, you would say Settings::instance().evaluationDate() = today + 6*Months; I don't remember the corresponding function in QuantLibXL, but you can ...


5

I believe it's correct. However, consider that it would be easy enough, and more clear, to create a new class (at least in C++; the task is more difficult if you also want to export it to Excel). The new instrument should only inherit from Bond and implement a constructor that builds the desired cash flows via a call to FixedLeg and another to IborLeg; you ...


4

While you may be able to arrive at some answer to this question empirically with a bit of research, theoretically I don't know if there is a formulaic/mathematical way to extract expectations of future rates from floaters. The reason is that, theoretically, a floating rate note's price is determined only from the interest rate corresponding to the next ...


4

I think to have the answer: use qlBondPreviousCashFlowDate() pointing at your FloatingRateBond object to get the last date of payment; use qlInterestRateIndexFixingDate() to get the fixing date referring to the last payment date; use qlIndexAddFixings() to add a fixing rate to the fixing date you got above; repeat for each one of your bonds if they share ...


3

Answering my own question: use qlFloatingRateBond and pass it a range of strikes (one for each coupon) for both Caps and Floors arguments use BondEngine as pricing engine use IborCouponPricer with Type argument equal to "IborByBlack" as coupon pricer - This pricer also takes an OptionletVolatilitySurface as input the OptionletVolatilitySurface can be ...


3

If you are trying to value the FRN, plugging in the forward rates and then discounting is a method that works. If you are trying (as you specifically say) to calculate the expected cash flows, then you have to specify which probability measure you are in. In the forward measure for each cash flow, the forward rate is the expected value. However in the ...


3

Is formula (1) correct? Yes, follows from first definition - floater with deterministic spread is composed (sum) of two components: (1) pure floater and (2) deterministic coupon strip via contractual spread payment. Is formula (2) correct? Yes, by taking the derivative of an exponential function. what other case where duration of floating rate bond not ...


2

You can resort to a model for the "hazard rate", $\lambda$, where the hazard rate is "the instantaneous conditional default probability". Hull suggests modelling this in exactly the same way you would model the short rate of interest in the Hull-White short rate setup. Recall, for short rates you assume an Affine structure for bond prices $P(t,T)=A(t,T)...


2

I am a co-author of that paper. You may want to check out FinancePy which is a beta version of a finance library where I have implemented the code for calculating the discount margin. Here is an example Jupyter notebook that reproduces (almost exactly) a Bloomberg example. https://github.com/domokane/FinancePy/blob/master/notebooks/products/bonds/...


1

I don't have enough repuation to commnet, but I think it is a general cashflow discount model for bond pricing, and the formula looks wrong. The last item should be discounting of principal and last period coupon, which should be like this: PER here refers to coupon payment frequency. FV definitely cannot be divided by frequency.


1

This is not how most people calculate the yield of a floater. The way most people calculate the yield of a floater is: 1 for each remaining unset coupon, project the values of the index that will be used (such as 3Mo LIBOR, daily SOFR, SONIA, ESTR, etc - see Forecast 3m LIBOR USD. Budget purpose for example); and project the coupons. For example, if a ...


1

A floating rate bond trading at par is more like an academic formulation rather than what you would observe in reality. If there were only one yield curve and the bond has no credit spread, that in theory (on reset dates) the forwards would exactly match the equivalent discount factors and so compounding and discounting at the same rates would offset each ...


1

The yield is the internal rate of return of the coupons and the principal repayment. For a floater, the future unset coupons are not known, and the value of the yield depends a lot on how you project them, making the yield less stable than DM. On Bloomberg terminal, for example, there is a setting for how to project a floater's coupons. The default is to ...


1

My understanding is as follows - you pay 100 at $T=0$, receive LIBOR+40bp annually, and get back 100 at the end of the deal. This is actually a cash outflow of 100, plus a floating rate note (FRN). The FRN with a 40bp spread (i.e. the one that pays LIBOR + 40bp) can be decomposed into a LIBOR flat FRN (priced at 100), plus a 40bp annuity paid out at $T=1,2,.....


1

The website below shows how to price bonds from curves, currently it only supports fixed rate and zero-coupon bonds, but it might give you an idea how to price a floater using similar concept: Goto: https://www.opencminc.com Switch to Yield Curves under the Market Data section Click on any curve point. For example: click on a rate under 10Y https://www....


1

Update (2018-10-09): This solution is more correct. It's a class that solves for the DM using the class ForwardSpreadedTermStructure. public class DMFinder : ISolver1d { private readonly List<Cashflow> leg_; private readonly double dm_; private readonly DayCounter dayCounter_; private readonly Compounding compounding_; private ...


1

Quote [fixed equivalent] yield is determined by assuming the coupon rate on the floater is swapped to a synthetic fixed rate and then solving for the internal rate of return. Endquote link In other words it is based on seeing what kind of fixed rate you can get in the swap market for the floating rate payments from the bond, then seeing what Yield to ...


1

The question of how to hedge an option portfolio on multiple underlyings against tail risks is not an easy one, nor what with a single answer. There are probably two big risks: - a period of increased volatility in all currencies versus MAD until the MAD settles down that the market believes to be right - a big one-off P&L on a big move on MAD versus ...


1

Linear interpolation of the discount factors is not a good idea. A better idea, in the absence of a full analysis, is to linearly interpolate the logarithm of the discount factors. You can use the 6M IBOR rate and other yearly tenor IRSs (versus 6M IBOR) to roughly bootstrap the 6M forecast curve. What linearly interpolating the logarithm of the discount ...


1

your concern about issuer's credit quality deterioration is valid. price would be par when a spread over reference index for the purpose of coupon determination is the same as a spread used for discounting (subject reference curve and discount curves are the same) - i.e. reset margin equals discount margin. have a look at seminal paper Salomon Brothers - An ...


1

Yes, you would make "guesses", but fortunately these guesses are derived from market-observed rates. Assuming a semi-annual coupon rate and discrete compounding, the price of a bond ($P$) is given by: $$ P=\sum_{i=1}^{2T} \frac{CF_i}{(1+\frac{Y}{2})^i} $$ where $CF_i$ is the cashflow at time $i$, $Y$ is the annual yield, and $T$ is the number of years. ...


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