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

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


4

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


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

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

I think the following two questions and related answers should help in answering the question: Why use swap-rates in a yield curve? and Is there an Australian Interbank Rate? Essentially to derive funding curves you gotta use what is left with the constraint that the source instrument has to be liquid enough and closely enough reflect true market ...


2

It really depends on how/where do you plan to use final values. I would not use extrapolation since it will ignore market realities. Forward rates across long end tend to be increasing while dumb extrapolation might give you the opposite result. In case of treasuries one can use treasury and swap spread and while you do not have 50 Y treasuyy one can find ...


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

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

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

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


2

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


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}


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

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

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

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


1

The new curve will look a bit strange no matter how you do it, although 1bp is not such a big move that will render it "useless". Two ways of doing it, as you point out, are (a) use a spline method, which will do whatever it will do, including moving some points that are far away from the point in question, and (b) do some linear interpolation, as you ...


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