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

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

I believe $N = 9$ is the default because the original paper, "Merrill Lynch Exponential Spline Model," used that value for the US Treasury market when the model was developed back in 1994. To be precise, the paper actually showed results for $N$ up to 14, concluding that fitted residuals are within noise levels at $N \geq 9$; it also recommended ...


5

I hope I understood you correctly and that the following thoughts help you a bit. Reference point: Univariate curve fitting using splines With a univariate function $f(x)$ you can perform 1D spline interpolation and require for each (inner) $x_i$-node that: $$ \begin{align} \left.f_{i-1}(x)\right|_{x=x_i}&=\left.f_i(x)\right|_{x=x_i} \quad \mathrm{...


3

Pricing of vanillas is basically interpolation of existing (or past) quotes. It is easier to interpolate in implied volatility space , than in price space. Reasons are we need to interpolate in multidimensional space (maturity, strike,forward, etc) and satisfy non-arbitrage conditions. Using Black-scholes formula is convenient mapping which would also ...


3

If you want to compare quotes across markets or over time it can be useful to use fixed points: eg the 110%/90% points to compute skew or the +/-25 delta points for risk-reversal. You can't rely on quotes existing at exactly those points so you would want to interpolate.


3

Why don't you just use SSVI (https://arxiv.org/abs/1204.0646) or maybe even eSSVI (https://papers.ssrn.com/sol3/papers.cfm?abstract_id=2971502)? With this parametric approaches an arbitrage free volatility surface is guaranteed and you only need a handfull of parameters. Gatheral and Jacquier even give you the calibration procedure which should be simple to ...


3

Creating yield curves: Pick one fitting method and use it throughout e.g. a cubic spline interpolation Determine an approach that allocates bond securities in the dataset to a yield curve subset. e.g. should all Italian govt instruments go to a single curve? Can I further split by floater, linker, ccy, etc. It is as simple as that. Your data subset is: ...


3

A curve is used to do calculations (e.g. discounting of cash flows) as of a given trade date. Bootstrapping a single curve for two different trade dates does not make sense. With the first set of data you should bootstrap an OIS curve for the 2017-02-09 trade date, with the second set of data you should bootstrap an OIS curve for the 2017-02-10 trade date.


3

This is a relative value application of equilibrium term structure models. There are really two steps in this exercise: Step 1 is a calibration procedure that gets you the model "parameters" (i.e., the mean reversion parameters, volatilities/correlation parameters, etc.). This is usually done using historical interest rate dat and either MLE or Kalman ...


3

For the US Treasury market, zero coupon bonds are traded and they are called STRIPS. You can access them through "S GOVT" (coupon Strips) or "SP GOVT" (principal strips) on BBG. With regard to relative value trading, it's actually pretty rare that we fit models to zeros, because a lot of them are not liquid and trade differently from their coupon ...


2

It could be much more simple: if you use the method of moments (MM) then you estimate the mean and the variance and for example the kurtosis of your sample. Then you fit the parameters to these statistics. Alternatively you use maximum-likelihood (MLE). For MM: from wikipedia you get the mean and the variance. In your notation you can fit $b = \bar{r}$ so $...


2

It depends on the market you're interested in and what the curve is used for. To build the USD swap curve, for example, you've got a ton of information available from actively traded market instruments – fed funds futures (monthly), OIS (even finer details at the front end), Eurodollar futures (quarterly), basis swap, etc. All of these should be ...


2

Can you not just measure the moments of your data, and then use them to find mu and v? where the second simplifies to


2

There seems to be a problem in the QuantLib code with using a face amount other than 100. If you initialize your bond helpers with face amount = 100 and rescale your price accordingly, the fit succeeds. I suggest you file an issue at https://github.com/lballabio/quantlib/issues so that this can be fixed. In the meantime, you can rescale your prices during ...


2

Nelson-Siegel and models in its succession (e.g. Diebold-Li) attempt to fit the yield curve as you describe. The reason for the development and research of these models answers your first additional question. The yield curve can take different shapes and the models attempt to model rising, inverted, flat, and humped yield curves. For your second question, ...


2

Note: It is computationally simple to determine the volatility of any given return series, so in fact there may be no need for this approximation. Let's start with the annualized return $r_a$, which is $$r_a = \sqrt[T]{1+R_t}-1$$ where $R_t$ is the cumulative return over the whole period $[0,T]$. Consider the Taylor-approximation $$log(1+y) = y - \frac{1}{2}...


2

By put-call parity, put and call must have the same vega : \begin{align} & c - p = PV\left(F_T - K\right) \\ \Rightarrow & \partial_\sigma c - \partial_\sigma p = \partial_\sigma PV\left(F_T - K\right) = 0 \\ \Rightarrow & \partial_\sigma c \equiv \partial_\sigma p \end{align}


2

I think different researchers might have different thresholds for what they perceive to be "stable." FWIW, the picture below provides our beta estimates going back to 1992 for the US Treasury market:


2

Is it correct to use the YTM? Maybe. These days, for accounting reasons, a lot of bonds out there are callable, and the call is in the money, and the YTW is very different from the YTM. You should check whether your bonds are callable before assuming that you can use YTM. Is it correct to graph it vs. the maturity in months You introduce unnecessary noise ...


1

What I have seen in papers such as Christoffersen, Heston and Jacobs (2009) where they look into a two-factor model of volatility is a quadratic polynomial in BOTH moneyness and maturity. I would assume that the advantage of using this approach is that you get a structured volatility surface using observed variables. Beyond the problem of having to estimate ...


1

Actually it is not just the long end of the swap curve it is any part of the curve that needs some form of basis swaps to be calibrated. A set of curves in any currency usually encompasses the following: { OIS curve, 1M IBOR curve, 3M Ibor curve, 6M Ibor curve } at a minimum. It is not practical for interbank markets to trade completely bespoke products so ...


1

@Lisa Ann: Typing an answer to my own post, mostly to share my "findings" for the benefit of anyone coming across this. Looking at the paper of Brigo, Mercurio and Rapisarda, they fit using a single forward price. This comes at the expense of being able to fit only smiles, where the minimum is ATMF. I asked why, and got the answer that choosing different ...


1

if you use existing on the run bond yield for analysis. There are at least three ptoblems. The duration is change slightly every day on the run roll cause a yield jump actual yield influenced a lot by liquidy


1

I'm just guessing, but they might be talking about the continuity of time series. The chart below shows the modified durations of 10-year par bonds and rolling 10-year on-the-run Treasuries. As you can see, they have the same trends (as expected), but you don't have those jumps (caused by new on-the-run 10-year issues being issued).


1

I would recommend you start with the basics and only then go to detailed examples when understanding bootstrapping. Important things to remember: The source of information when building a curve are prices of tradable instruments because correct forward estimations will have to be arbitrage free Understand the logic of using different instruments (deposits,...


1

This is just an add-on to @rrg's answer. The first thing I recommend that you do is to talk to your manager and get a better grasp of the project scope (which you may have done already). More specifically, are they asking you to build issuer level curves (doesn't sound that way), or sector curves (more likely). How do they plan to define the sectors (by ...


1

RMSE (root mean squared error) is by far the most commonly used quantitative measure for the "goodness-of-fit" of a yield curve. It is simply $$ \text{RMSE} = \sqrt{\frac{\sum_{i=1}^n (P_i - \hat{P}_i)^2}{n}}, $$ where $P_i$ is the market price (or yield) of an input instrument, and $\hat{P}_i$ is its price calculated using the curve. RMSE is usually the ...


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