# Tag Info

15

Amazingly, there are several different methods for computing bond forward price – the underlying ideas are the same (forward price = spot price - carry), but the computational details differ a bit based on market convention. Let's start with the basics. Assume between now ($t_0$) and the forward settlement date $t_2$, the bond makes a coupon payment at time ...

13

Treasury futures are actually really complicated... There are complete books dedicated to this topic (e.g., The Treasury Bond Basis) and really good sell-side research papers ("Understanding Treasury Bond Futures" by Salomon Brothers) that I highly recommend. You're actually very much on the right track, but I'll try to paint a somewhat complete picture. ...

12

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 ...

12

If I were to recommend one, it would be: Bruce Tuckman's Fixed Income Securities. This is by far my absolute favorite. It is extremely well written and discusses complex concepts in very easy-to-understand terms. Tuckman is both an academic and a practitioner (Salmon/Credit Suisse/Lehman/Barclays), so the book takes great care in addressing many real-life ...

10

It is helpful to think of the yield $r_b$ of a risky bond (say a corporate) in your country as the yield of the risk-free government bond $r_f$ plus a "spread" $r_s$ ($r_b = r_f + r_s$). This extra spread is the extra yield that the market needs to be paid to purchase the corporate bond instead of buying an equivalent amount of risk-less bonds. In other ...

9

Your overall approach is correct. However to my knowledge it is formally more appealing to work with a parameterized and smoothed yield curve. Basically one assumes that the yield curve can be described by a smooth function $r(t,\alpha, \beta,\gamma)$ (mostly of three parameters) Given a set of market data $Y(t,T_1)\dots Y(t, T_n)$ one looks for ...

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). ...

9

To begin with, as Student T suggested, you can check that the cashflows are those you expect: for c in fixed_rate_bond.cashflows(): print '%20s %12f' % (c.date(), c.amount()) July 1st, 2017 2.500000 January 1st, 2018 2.500000 July 1st, 2018 2.500000 January 1st, 2019 2.500000 July 1st, 2019 2.500000 ...

9

In the beginning, we had a plot of yields of individual bonds against time to maturity, the crudest form of "yield curve." Years later, people began hand-drawing a smoothed line through these yields as closely as possible. Because bonds have different coupon rates, making their yields hard to compare, people tend to draw the curve through bonds trading ...

8

This is called on the run/off the run arbitrage, a type of convergence trade. The basic idea is that as the liquidity premium disappears for the on-the-run issue, the price will fall and converge to the price of previous issues. Here are a couple papers - http://people.stern.nyu.edu/lpederse/courses/LAP/papers/SearchBargaining/VayanosWeill.pdf http://...

8

It's because of a bank regulation called the Liquidity Coverage Ratio. This says that if you have liabilities of less than 30 days, you have to hold liquid assets against it. To avoid that , you can call the bond when it still has 3 months to go.

8

No. The dirty price is the market's estimate of fair value for the bond. The clean price is just a quoting convention (so that the price doesn't jump when you pass over a coupon date). The market doesn't try to estimate the clean price and then get the all-in (dirty) price wrong. The market estimates the all-in price, and then applies the accrued interest ...

7

1) 52-week T-bills are currently auctioned on a monthly basis. Bloomberg always shows the most recently auctioned T-bills for each tenor. For example, right now, the "12-month" T-bill was actually issued on Jan 8, 2015, and matures on Jan 7, 2016. 2) T-bills are quoted on a discount basis, using the Actual/360 day count convention. Its price is $$\text{... 6 As John already mentioned the formula for calculating yield to maturity is independent of any risk-related numbers. Its just the connection between coupons, time and price. In theory, default-risk can be seen as already incorporated in the yield. The yield spread between the bond and a comparable investment without default risk is a measure for the default ... 6 Bond Price Dynamics I do not know the source of the bond dynamics you show above but seeing how we are dealing with an affine model there is a very elegant way to derive those. Due to the model being affine the bond price is given by$$P(t,T)=A(t,T)e^{-r(t)B(t,T)}$$you can find the exact formulas for A(t,T) and B(t,T) in this document (or just read ... 6 For the vast majority of bonds, as other commenters have pointed out, coupon sizes are generally not affected by bad days (i.e., holidays and weekends), so for a bond with semi-annual coupon payments, the coupon size will (almost) always be as simple as c/2. Some exceptions are: Bonds with irregular first coupon periods: The first coupon period spans from ... 6 Business days are all weekdays excluding holidays under the respective settlement calendar. The "252 business days per year" rule of thumb is quite common not only in Brazil - see e.g. here. The reason is, as you suspected, that the average number of business days over a year are often around 252. 6 There are three sources of carry for bond futures - Carry on the underlying (coupon accrual and yield roll-down) for which you just compute the carry on the cheapest-to-deliver as you suggest. Implied financing rate, for which you need the term repo rate for the CTD. Theta on the various short options inherent in a long futures position (switch option, end-... 6 As @noob2 pointed out, a Laspeyeres type index is the way to go, so I'll focus on other parts of your question. Nearly all bond indices are rule-based and rebalanced monthly. At the end of each month, based on a pre-determined set of rules (countries, credit rating range, maturity range, minimum par amount, etc.), you select a basket of bonds. This basket ... 6 There is a liquidity premium between on-the-run treasury issues and off-the-run issues with similar characteristics. This is why when building a yield curve, typically on-the-run issues are used to compute this curve as a representation of the risk-free rate. Depends on what you're using the curve for. In practice, it is far more prevalent to use only OFF-... 5 Like Aksakal already mentioned in his comment it might depend on the duration formula you use. (see e.g. the wikipedia page or here) It can also depend on the type of instrument as mentioned by Richard. This topic has also been already discussed on the Wilmott Forum (their proposed solution is a reverse floater) Theoretically bonds with embedded options (... 5 The general idea is to bootstrap the discount factors in the correct order, based on the data you have given. I'm going to make some assumptions that your bonds are paying annual coupons. The longest maturity is 2.5 years, meaning you need discount factors for 6M, 1.5Y and 2.5Y. The 6M deposit has a rate of 5%, this tells you that you should use the 5% rate ... 5 CUSIP and ISIN codes are issued in the US by CUSIP Global Services, run by S&P. While the data structure follows a certain logic, there is no way to extract relevant security information from the number. You generally have to rely on a data vendor for specific data such as the maturity date for a bond. In the case of US Treasuries, however, the Treasury ... 5 The intuition behind Macaulay Duration is the average time it takes to get all the cash flows from a bond. Think of it as computing the centre of gravity for a see-saw. You can find the image depicting the same here: This should immediately tell you that Macaulay Duration for Zero coupon bond is the maturity of the bond. In continuous discounting ... 5 It is useful in risk reports because it tells a trader the interest rate risk of each bond in his portfolio. A trader then only needs to multiply the duration by the expected yield change to calculate the price change. Scenario analysis is then easier. Hedging a bond portfolio with duration measures is common. But as these must rely on the assumption that ... 5 While @Baruch Youssin answers correctly in the general sense, the first part of his answer isn't what happened in the example code. While QLNet is a port of QuantLib, it's not a direct port. Your quoted example doesn't show up in QLNet. The example in QuantLib was written in a very complicated way, in fact it's a simple example. discountingTermStructure is ... 5 A Consol Bond is a bond that pays an annual coupon of c every year. Therefore its price is P=\frac{c}{1+r}+\frac{c}{(1+r)^2}+\cdots. Factoring out the c and using the known formula for a geometric series, namely u+u^2+u^3+\cdots = \frac{u}{1-u} we get P=c[\frac{1}{1+r}/(1-\frac{1}{1+r})]=\frac{c}{r} Clearly this is a discrete compounding, not ... 5 There are different measures and interpretations of duration. One, as has been pointed out already, has a formula weighting coupons and final contractual cashflow. Other definitions of duration take a broader perspective and relate it to the interest rate sensitivity of the security and not to a particular formula. These go by names such as effective or ... 5 Assume : R a recovery rate, a continuous payment a flat intensity \lambda i.e$$\mathbb{P}(\tau>t)=e^{-\lambda t}$$a flat discount rate r With bonds prices Assuming JPM bond pays a coupon rate of \kappa the risk free bond (being US bonds) pays a coupon rate of \kappa^{risk~free} you have :$$\text{PV}(\text{Bond}_{JPM}) = \int_{0}^T \...

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