the return of the security as , this leads to the perturbation equation where the last term denotes higher-order corrections that may be ignored, and The terms and measure first- and second-order interest rate sensitivity. These are conventionally referred to as the modified duration and convexity of the security, and are often called risk numbers. The data requirements for this approach to attribution are less onerous than for the first-principle approach. The perturbation equation does require externally calculated risk numbers, but this may not be a major obstacle, since these quantities are readily available from the same sources as yields and prices. There may also be inherent advantages in this approach with its ability to work with user-supplied risk numbers, since it allows the user to use sensitivity measures from in-house models, which is particularly useful where (for instance) the user has custom repayment models for mortgage-backed securities. The approach is also self-checking, in that the size of the residual returns should be very low. If this is not the case, there will be presumably be an error in the calculated return or the risk numbers, or some other source of risk will be distorting the returns. Conveniently, the perturbational approach may be extended to new asset types without requiring any new pricing code or types of data, and it also works for benchmark sectors as well as individual securities, which is useful if benchmark data is only available at sector level. Modeling the yield curve Historically, one of the most important drivers of return in fixed-income portfolios has been the yield curve, and many investment strategies are expressed in terms of changes in the curve. Any discussion of fixed-income attribution therefore requires an appreciation of how changes in the curve are described, and their effect on the performance of a portfolio. If one is only interested in gross changes in the yield curve at a particular maturity, then one can read yields off the various datasets, using interpolation where necessary, and there is no need to model any part of the curve. If, on the other hand, one wants to describe curve movements in terms used by traders (or to extrapolate), then some form of parameterization is required. The most widely used nomenclature for describing yield curve changes uses the terms "shift", "twist" and "butterfly". Briefly: shift measures the degree to which a curve has moved upwards or downwards,