Hot answers tagged

23

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


17

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


14

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


11

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


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

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.


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

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


7

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


7

Just to elaborate on the comments above to include some visuals. As you pointed out, the high coupon, seasoned 10.625s traded at a steep discount. The first chart below shows the yield spread against 4.25s; the spread blew up to 80 bps at one point in 2008: This phenomenon was not unique to these two bonds. Toward the end of 2008, many Treasuries traded out ...


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

Let's start with a single bond. The total return from time $t_0$ to time $t_1$ can be easily calculated as follows: $$ R = \frac{\text{ending price} + \text{ending accrued interest} + \text{coupon payments between $t_0$ and $t_1$}}{\text{starting price} + \text{starting accrued interest}} - 1. $$ (This is no different from how you'd calculate the total ...


6

The formula you quote (forward minus spot) is the yield carry for a financed position. The problem is that different people use the word carry to mean different things. The most commonly used convention, at least when we prepare analytical reports and quote sheets, is to use the word "Carry" to refer to the breakeven measure – it tells us how much yield ...


6

Carry and roll-down are two different measures. The carry is the PNL resulting from holding a position. However, even if you don't finance the bond in repo, you can still measure your carry as the yield-to-maturity of maturity of the bond vs the yield of the alternative default investment you would have made with your cash (for example 0% if sitting on ...


6

In #2, you can use FX forwards to convert your JPY cashflows to USD but it is more common in practice to use a cross-currency swap for this purpose. Indeed, the advantage of the latter is that it allows you to keep the nominal of your synthetic USD bond constant because the final exchange in the swap is done at FX spot (not forward), and the difference is ...


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

The chart you posted does not give a correct visual representaion of convexity . Convexity is not $\frac{\partial^2 P}{\partial y^2}$ but $\frac{1}{P}\frac{\partial^2 P}{\partial y^2}$. So you have to normalize for P. The 4 curves you plot have very different P. When the curves are redrawn normalized so they go through the same point $(y_0,P_0)$ you will ...


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

To add to emcor's answer, if a bond defaults, you do not automatically get the "recovery" amount immediately, you get some unknown amount at some unknown time in the future, possibly years later, and greatly depending on your particular bond's covenants and seniority. If you are trying to consistently price bonds, you might be better off implying the ...


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

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


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