Quantitative Finance Stack Exchange is a question and answer site for finance professionals and academics. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Suppose your portfolio has $w_0$ amount of bonds with yield $r_0$. Now you buy additional $w_1$ amount of bonds with yield $r_1$, then buy additional $w_2$ amount of bonds with yield $r_2$. Eventually your portfolio yield is $$r_f = \frac{\sum_0^2 w_i \cdot r_i}{\sum _0 ^2 w_i }$$. And change in yield is $r_f - r_0$

The question is, how do you attribute this difference to each of the two purchases?

The obvious answer is, first find the yield after you bought $w_1$, compare that to the original yield $r_0$, and let this difference be the contribution of $w_1$. Then find the yield after buying $w_2$, compare to the yield after buying $w_1$, and set the difference as the contribution of $w_2$.

The problem is that there is no natural order which the purchase decisions are made. We could have bought $w_2$ first and then bought $w_1$. If we use the same technique then we will calculate a difference level of attribution for the two purchasing decisions.

I am thinking that I should use the average of the two techniques above. But I am suspecting that there is a better measurement out there?

share|improve this question
Can't you just work with an absolute yield ? - dropping the ${\sum_0^2 w_i}$ This way the problem would solve itself. The relative yield you are trying to work with is not linear and thus you can't really decompose it linearly like you are trying to do. – Probilitator Mar 6 '14 at 20:06
Well that would be a way out. It's just that absolute yield does not convey much information about the performance of the portfolio. But you are right, the non-linearity is very annoying here. – Sam Li Mar 6 '14 at 22:01
I will think some more on the problem. Would a sensitivity indicator (perhaps derivative) do the job for you? E.g. how much does the overall yield change if you were to add $\Delta w_i$ ? – Probilitator Mar 7 '14 at 6:51
up vote 2 down vote accepted

This is not a perfect solution but perhaps the following approach could also serve you well as an indicator.

Assuming you are only using a finite number (e.g. $n$) of bonds with fixed yields $r_i$ you can write $r_f(w_1, \dots,w_n)=\frac{\sum_0^n w_ir_i}{\sum_0^n w_i}$ with most of the weights being zero. Using the quotient rule you can now calculate derivatives $r^j_f(w_1,\dots,w_n)=\frac{\sum_{i=0}^n w_i(r_j-r_i)}{(\sum_{i=0}^n w_i)^2}$

Thus given a concrete portfolio-composition $\vec{w}=(w_1,\dots,w_n)$ you can calculate the vector of derivatives $(r^0_f(\vec{w}),\dots,r^n_f(\vec{w}))$.

Intepretation: Having a portfolio $\vec w$ how will the porfolio yield be affected by marginal changes in the weights $w_i$. You could also do something like $r^j_f(\vec w)(w^{new}_j-w^{old}_j$) to approxiate the change in yield.

One can also do the above for $\tilde r_f(\vec w)=r_f(\vec w)-r_0=\frac{\sum_0^n w_i(r_i-r_0)}{\sum_0^n w_i}$

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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