# Tag Info

39

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

23

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

16

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

12

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

12

I think your question can be split into two parts: (i) how to value a swap mathematically and (ii) how swaps actually work as a traded product. Part (i): As noob2 pointed out, "theoretically", a swap is valued with the help of two curves: one "forward" curve and one "discounting" curve. Say you want to "value" a 10-...

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

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

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

8

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

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

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

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

6

A multi-curve meants that you observe the discounting instruments (such as fed funds) and projection (libor, swap curve) and solve for all of them simultaneously; as opposed to bootstrapping separately a projection curve and a discounting curve. A simple paper with examples is Numerix Model Calibration: The Multiple Curve Approach. A more detailed intro is ...

6

The problem is that you are not pricing the same thing, and for two reasons: The vanilla instruments you are pricing should start on spot date and have a maturity with that start as reference The frequency of the fixed leg on the OIS swap should be annual. If you change you code to: print('TENOR \t PV \t fairrate% \t fairrate% + fairspread%') calendar = ql....

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

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

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

5

Unless all of your yields are par yields (yield of bonds trading at par), you'll get very unreliable results if you fit your curve using yields alone. This is because yields can be distorted by the coupon effect – given two bonds maturing on the same day and assuming the yield curve is upward sloping, a higher coupon bond will always have lower yield. What ...

5

Typically, the yield curve used for performing relative value analysis should be built from off-the-run bonds. Different vendors select different bonds, but starting with all outstanding Treasury issues, you'd usually remove the following: Treasury bills: Because of market segmentation concerns, bills are usually excluded, while short-term coupon bonds are ...

5

Let's step back and look at the reason for making a DV01 calculation first before answering the question; The reason for making a DV01 calculation is to quantify what market movements has impact on the valuation of the trade. Since the 'flat' forecast curve won't be affected by market movements the answer is (using pre-2008 methodology): The floating ...

5

To put things in context, if $\{{\bf X}_i\}_{i=1}^n$ is a set of variables and $\{{\bf Y}_j\}_{j=1}^n$ denote the principal components of ${\bf X}$ then $${\bf X}_j = \mu_j + \sum_{k=1}^n{\bf Y}_k A_{jk} \tag{1}$$ where $\mu = \mathbb{E}[{\bf X}]$ and $A$ is the diagonal representation of the correlation matrix $\Sigma = \mathbb{C}{\rm ov}[{\bf X}]$. The ...

5

Please refer to the picture below for what each trade is betting on. As an example, in a bull flattening trade, you're betting that rates will decline AND the yield curve will flatten. The flattening aspect can be easily expressed by buying a long-term bond, while simultaneously shorting a shorter-term bond. If you do NOT structure the two legs to be DV01 ...

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