I'm stuck - I thought I know how to calculate duration/price for any bond, but it seems I was wrong. I have troubles when I need to calculate price or the duration of the bond if there is time to maturity that is not consistent with coupons. E.g. like in the topic of the thread:

Settlement: 2010/01/01

Maturity: 2013/07/01

Coupon: 1%

YTM: 1%

Par: $100

And now - the price should be $100 I guess (I thought I know, but Excel seems to disagree and the function PRICE() returns 99.99876). I assume that when calculating duration, what I need to do is to assume that the last coupon is half the previous ones, am I right? And the time periods are t= [1, 2, 3, 3.5]. Such approach however, gives different results than the excel build-in function DURATION(). I'm stuck for a few days right now, can you help me anyhow?