# Tag Info

33

Garabedian, Typically, the "swap curve" refers to an x-y chart of par swap rates plotted against their time to maturity. This is typically called the "par swap curve." Your second question, "how it relates to the zero curve," is very complex in the post-crisis world. I think it's helpful to start the discussion with a government bond yield curve to ...

24

I like to present to you a slightly different approach: Historically, only one single yield curve was derived from different instruments, such as OIS, deposit rates, or swap rates. However, market practice nowadays is to derive multiple swap curves, optimally one for each rate tenor. This idea goes against the idea of one fully-consistent zero coupon curve, ...

20

You can't make any concrete statements about the monotonicity, convexity or even sign of the yield curve. Yields are almost always positive, and in the past (2007 and earlier) you could find people who would argue that yields must be positive, typically using a no-arbitrage argument. But recent history has shown us that it is possible for even 10Y yields to ...

14

There are two parts to your question and I'd like to answer them separately. Curve Construction On a daily basis, you can observe prices on a large variety of instruments, whose prices are driven by news and trading flows. Based on market prices of these instruments, there are a number of ways to create discount curves/forward curves. At a very high level (...

11

(In addition to the answers of Freddy and Phil H): With "modern" multi-curve setups: You have to distinguish between discount curves (which describe todays value of the a future fixed payoff (e.g. a zero coupon bond)) and forward curve, which describe the expectation (in a specific sense) of future interest rate fixings. Swaps pay LIBOR rates and are ...

9

You should take a look at the example from Hull's book. Assume that the 6-month, 12-month, 18-month zero rates are 4%, 4.5%, and 4.8%, respectively. Suppose we know that the 2-year swap rate is 5%, which implies that a 2-year bond with a semiannual coupon of 5% per annum sells for par: 2.5 e^{-0.04 \bullet 0.5} + 2.5 e^{-0.045 \bullet 1.0} + 2.5 e^{-...

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

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

9

1. Observable instruments, spot rates, and forward rates First remember that something observable means that you can observe/find the rate in the market by looking at traded rate instruments or fixings. 1.1. Observed spot rates For simplicity, assume Zero Coupon Bonds (ZCBs) are traded with time left to maturity of 10Y, 15Y and 20Y. Hence, by observing ...

8

To elaborate on Freddy's answer: These days you need to maintain a separate funding (usually OIS) curve to your Libor* type curves. Once you have this discounting curve, you can calculate from Libor instrument market data what the market estimations of that Libor are: 3m instruments like Interest Rate Futures, IRS with a 3m float leg, 3m FRAs can be used to ...

8

The original Nelson Siegel paper describes a parsimonious model of the term structure using only four or three (if $\lambda_t$ is fixed). Filipovic (1999) proves that this model can never be used in a arbitrage free context, paraphrasing the abstract: We introduce the class of consistent state space processes, which have the property to provide an ...

8

There are many reasons why a yield curve can be inverted. A default-free yield curve reflects a combination of - market expectation of future short-term interest rates; bond risk premium: usually positive, longer duration bonds are more volatile and riskier, so investors demand a compensation in the form of higher yields; convexity. Let's consider a case ...

7

The short answer is that Libor swap rates come from the market. They represent a series of cashflows in the future whose value is determined by the fixing, which the market participants have their own valuations of. Since the actual cash flows are now discounted using a separate funding curve, the swap prices embed both a prediction of future fixings and a ...

7

Within the fixed income space, there's a lot of literature on PCA trading. The first 2-3 principal component factors (PCs) can typically explain 90-99% of the total variances in yield curve movement. It's also nice, because the first PC looks like a change in the overall level of the yield curve, the second PC looks like a slope change, while the third ...

7

The short answer is that using 2y/10y is not a requirement and many other combinations are commonly used (e.g., 3m/10y, 1y/10y, fed funds/10y). According to a note published by the New York Fed: With regard to the short-term rate, earlier research suggests that the three-month Treasury rate, when used in conjunction with the ten-year Treasury rate, ...

7

Given a forward rate, for example: $F(t, T, T+\delta)$ The instantaneous forward rate $f(t,T)$ fixed in $t$ is the limit when $\delta \rightarrow 0$ of your forward rate. If the relation between forward rate and zero coupon bond is: $F(t,T,T+\delta) = \frac{p(t,T) - p(t,T+\delta)}{\delta p(t,T+\delta)}$ We have, f(t,T) = \lim_{\...

6

Ok, I've done some digging in the code. It's an issue with the LogLinear interpolation; while trying to find the correct rate for the 1-week node, the bootstrapper wanders unchecked into a region of negative rates and the logarithms blow up. At this time, I'm afraid the workaround is just to use some other interpolation. Or recompile the library and the ...

6

Your observations are pretty much correct. The groupings are because of the fine print "Note how I have expanded the drift and volatility terms at $t = T$; in the above these are evaluated at $r$ and $T$." on the same page (p.528). Basically, $w$ is a function of both $r$ and $t$. Since we want to use $w(r,T)$ instead of $w(r,t)$, we taylor expand $w(r,t)$...

6

You should use the full yield curve, discounting cash flows at specific dates using the appropriate zero-coupon interest rate. As to which yield curve, that is often a matter of convention. Generally one uses the LIBOR/swaps curve for all but the most liquid products (in which case you use the treasury curve). The curve is constructed from LIBOR/Eurodollar ...

6

There's no class at this time to add two curves as you want, but it won't be much difficult to write it. The closest you'll get in the library is the ZeroSpreadedTermStructure class, that shows the general idea: it inherits from YieldTermStructure (by way of ZeroYieldStructure) takes a YieldTermStructure and a spread (constant, in this case) and override ...

6

Quantlib supports multi-curve framework (to the best of my knowledge). By the way, there's a "newer" version of that paper (authored by Pallavicini & Brigo). http://arxiv.org/abs/1304.1397 This paper might also be useful for you, very practical and basically answers any question you could have. Also see this discussion about multi-curve discounting ...

6

The NS model should be fit directly to bond prices. If you have the prices of all the Treasuries, you should use those directly. See this paper for how the Fed does it http://www.federalreserve.gov/pubs/feds/2006/200628/200628pap.pdf The "Daily Treasury Yield Curve Rates" are already fitted par yields (they're fitted using a cubic spline model to on-the-run ...

6

This is what banks have been doing for hundreds of years. They borrow short term (mainly through deposits and interbank lending) and lend long term (e.g. mortgages). I would not call it arbitrage, as it is not riskless profit. Apart from credit risk and interest rate risk, there is also liquidity risk. In these type of strategies, the investor has to ...

6

fixedLegBPS is the basis-point sensitivity of the fixed leg, that is, how much its NPV changes when the fixed rate changes by one basis point: it's calculated as the NPV corresponding to a fixed rate of 1 bps. Since the NPV of the fixed leg is linearly proportional to the fixed rate, you can write the equation targetNPV : fixedRate = BPS : 1 basis point ...

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

The answer to your first four questions is affirmative. Option-adjusting the spread makes an equivalence between everything theoretically possible, but the quality of results depends significantly on the quality of your interest rate model and its calibration. My personal opinion, though, is that the results need to be treated carefully because the OAS ...

5

It's hard to be sure without seeing the inputs, but I'm guessing that the implied curve changes shape because the original curve does (which you can see from your output: except for the 1-year and 5-years points, the actual discounts are different). The reason the original curve changes is probably the different position of weekends or holidays (so that, ...

5

@Arrigo's answers are quite good; I'll try to beef up his points a bit more. Yield curves should be constructed using instruments of similar credit risks. If you're building a US Treasury yield curve, then you should use Treasury bills, notes, and bonds (although lots of people actually exclude Treasury bills because of market segmentation concerns). On the ...

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

You're not the first to trip on this, and unfortunately the fact that the provided example is from a different era doesn't help. Quite simply, you're not writing rates correctly. The 5-years swap rate, 0.3523%, must be written in decimal form as 0.003523. The same goes for the deposit rates. As your code is now, you're writing that the 4-years rate is 23....

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