the maturity effect: says that bonds with same coupon rates and different maturities the longer will have the greater price change percentage.

but there’s an exception when the bond is trading at discount. and this illustrated in the results for Bonds D and G (in the same Exhibit), whereas the D has the greatest price change despite it have a shorter-term.

until here everything is logical.

so why the bond A have a lower price change than D, and it have a more even shorter-term?

or in other words: what determines the bond that will have the more price change percentage if all bonds are trading at discount same as A, D, and G bonds?

This is generally the case: the shorter the time to maturity, the shorter the (modified) duration, so the lower the percentage price change.

The point is that they’re _ not _ trading at the same discount:

Bond A is trading at 58.075, a discount of 41.925% of par

Bond D is trading at 51.304, a discount of 48.696% of par

Bond G is trading at 50.211, a discount of 49.789% of par

What determines the percentage price change is the complex (i.e., nonlinear) interaction of the discount rate, the coupon rate, and the time to maturity.

What you should know is that generally longer-maturity bonds have longer (modified) durations and higher percentage price changes when interest rates change, but that for bonds selling at deep discounts that may not always hold true.