IndexedCoupon and possible convexity adjustment

Posted by Luigi Ballabio-2 on
URL: http://quantlib.414.s1.nabble.com/IndexedCoupon-and-possible-convexity-adjustment-tp3279.html

Hi all,
        right now, IndexedCoupon implements its fixing() and amount()  
methods (neglecting any spreads for clarity) as:

fixing() => return index_->fixing(fixingDate());
amount() => return fixing() * accrualPeriod() * notional()

However, a convexity adjustment might be necessary (for instance,  
InArrearIndexedCoupon needs one although none is currently provided.)
My question is, to which method it should be added? Leaving aside for  
the time being the problem of calculating the adjustment, should we  
write the two above methods as:

fixing() => return index_->fixing(fixingDate()) + adjustment();
amount() => return fixing() * accrualPeriod() * notional()

or (more to my liking) as:

fixing() => return index_->fixing(fixingDate());
amount() =>
    return (fixing()+adjustment()) * accrualPeriod() * notional()

In other words, what would a user (you) expect from the fixing() method  
of a coupon based on an index---simply the theoretical fixing of the  
index, or the convexity-adjusted value?

Or should the convexity adjustment be taken into account only when  
discounting the amount? (Which would make me shudder as the convexity  
adjustment should be moved all the way up to the CashFlow interface?)

Later,
        Luigi