I have tried using both yield curve levels as well as daily moves (absolute change) while doing PCA. Using both types of input/dataset gives me roughly the same shape in terms of principal components matching the empirical observation: parallel shift, slope, butterfly.

For daily moves, I am not doing any centering nor standardization since it should already be centered at 0. For spot rates, given that there's a drift component, are there any preferences into doing either centering or standardization?

I am curious if there are any preferences between using spot levels vs. daily moves as well or are both acceptable. Since I've seen most people doing it on the spot levels only.


  • $\begingroup$ Suppose that 1 year ago some interest rate changed from 1 bp to 2 bps. Today the same rate changed from 26 bps to 27 bps. Are these moves comparable? $\endgroup$ Commented Apr 8, 2022 at 2:48
  • $\begingroup$ Markets are trading in bps at the moment. Though, I agree as rates go higher and higher, it starts to lean back to log-normal. $\endgroup$
    – abckk
    Commented Apr 8, 2022 at 11:03
  • $\begingroup$ You should use daily moves. The explanation is here: quant.stackexchange.com/questions/50924/… $\endgroup$
    – Attack68
    Commented Apr 11, 2022 at 16:50
  • $\begingroup$ I have been using daily moves (abs) in the past, but seeing other people using spot levels in Yield curve makes me wonder. I might have to do a bit more research on that front. Thanks for the perspective $\endgroup$
    – abckk
    Commented Apr 11, 2022 at 23:43
  • $\begingroup$ So, does the observation that "markets are trading in bps" mean that a change from -1 to 1 bp is comparable to a change from 299 to 301 bps? $\endgroup$ Commented May 1, 2022 at 15:13

1 Answer 1


I think it depends on whether you're trying to simulate an increase in rates (level) or increase in slope.

  • $\begingroup$ Does that mean using returns would allow the returns to be decomposed into factors (e.g. a 5bps move of which maybe 3bps coming from PC1, 2bps coming from PC2 etc.), while using levels would decompose the current levels into factors (e.g. 100bps coming from PC1, 20bps from PC2,.. so roughly the curve is at 120bps)? $\endgroup$
    – abckk
    Commented Apr 8, 2022 at 11:11
  • $\begingroup$ No, it is not that simple. There are multipliers for each factor at each period (I believe). You cannot just add them up. $\endgroup$
    – Kevin
    Commented Apr 9, 2022 at 12:55
  • $\begingroup$ yes, i believe there should be a set of multiplier/weights that lets you fit the PCs to the actual moves. But I see, it's the idea of explaining moves in current levels using levels data, and returns on returns data. If I understood it correctly? $\endgroup$
    – abckk
    Commented Apr 11, 2022 at 23:37

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.