Let's define the US yield curve as the O/N fed funds rate, then the on the run 2/3/5/7/10/20/30y us treasury notes and bonds, represented by their yield to maturity as of today T. What I am trying to do is find a point in time in the past when the yield curve YC(t < T) most "resembles" YC(T). I realize that this is a subjective definition, so I am trying to figure out if there is a usually accepted method? I suppose I could define a measure such as YC_Diff(YC(Ti), YC(Tj)) which measures the YTM deviations (like sum of squares of YTM differences, maybe with weights). Then I could compute the measure for all historical dates available (excluding recent history as this is the most likely match) and return T* such that YC_Diff(YC(T), YC(T*) is the min value across the entire data set? Are there more advanced techniques to match a shape of a curve?

  • $\begingroup$ This sounds very similar to work done by Brody & Hughston a while back, see: jstor.org/stable/3067288 $\endgroup$
    – user35980
    Commented Sep 5, 2023 at 17:48

1 Answer 1


What you suggesting amounts to applying a topology to a space which contains yield curves. The suggested approach which is basically applying the $l_2$ norm seems pretty reasonable, as perhaps would be applying the $l_1$ norm, where the distance between two curves is the sum of the absolute values of their differences.

I would add that depending upon precisely what you are doing you might not care about the overall level of rates but, instead, the shape of the curve, i.e where the term structure is relative to its start. In which case your distance metric, here lets use $l_1$, is amended such that instead of:

$$ D(C_1, C_2) = \sum_{i}^n |C_{1,i} - C_{2,i}| $$

you allow any curve to be shifted in parallel by $\epsilon$ to match the shape of the other:

$$ D(C_1, C_2) = \min_\epsilon \sum_{i}^n |C_{1,i}-C_{2,i}+\epsilon|$$

I will state without proof that $\epsilon$ is probably equal to:

$$\epsilon = \frac{1}{n} \sum_{i=1}^n C_{2,i} - C_{1,i}$$ which makes this quite efficient to calculate rather than solving an optimisation for each date. Taking squares ($l_2$ norm) probably makes this harder, I don't know for sure as I've never investigated.

  • $\begingroup$ How about defining the shape of the curve as CT,i / CT,1 (i=1 to N) i.e. normalizing rates by the level of the shortest maturity? $\endgroup$
    – PHH
    Commented Sep 5, 2023 at 21:03
  • $\begingroup$ Sure that's an idea, but it's not the same as the above and won't give the same results. Valid, though, depending upon your scenario. You could even have two parameters but then the minimisation becomes a multi-param solver and a bit harder. $\endgroup$
    – Attack68
    Commented Sep 6, 2023 at 4:58

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.