Hi I have created the callable bond example and it works fine for pricing and duration calculation.
However, when I try to retrieve cashflows from the callable objective by callableBond.cashflows().at(i).get()->amount() it returns me a bullet bond cashflow which inherits from the fixed bond class. Isn't it more appropriate it returns the "expected" or "adjusted" cash flows specific to this callable bond class? It is somehow misleading it returns a bullet bond cash flows... Thanks for any comments on this! XC |
On Jan 21, 2011, at 8:43 PM, gigifaye29 wrote: > Hi I have created the callable bond example and it works fine for > pricing and > duration calculation. > > However, when I try to retrieve cashflows from the callable > objective by > > callableBond.cashflows().at(i).get()->amount() > > it returns me a bullet bond cashflow which inherits from the fixed > bond > class. > > Isn't it more appropriate it returns the "expected" or "adjusted" > cash flows > specific to this callable bond class? It depends. In a way, it would, since with the current implementation it doesn't hold that the value of the bond is the sum of the values of the cashflows (discounted, of course.) On the other hand, if ou want to know the amount you'll receive at a given coupon date, that's the amount of the bullet bond cashflow (or none, if the bond is called.) I guess we would need methods for both adjusted and unadjusted amount. In the current tree-based implementation, the adjusted amount is kind of hard to get, though. Maybe you might have a look at it and try coming up with a patch? Luigi ------------------------------------------------------------------------------ Special Offer-- Download ArcSight Logger for FREE (a $49 USD value)! Finally, a world-class log management solution at an even better price-free! Download using promo code Free_Logger_4_Dev2Dev. Offer expires February 28th, so secure your free ArcSight Logger TODAY! http://p.sf.net/sfu/arcsight-sfd2d _______________________________________________ QuantLib-users mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/quantlib-users |
what would the adjusted amount be ?
On a tree, is that the expectation of the cashflow at time i, which in turn is: sum [ cashflow_j * prob(cashflow_j) ] ? Also, at any time i other than at maturity k (and since the engine is a tree), I assume you'd have to pull out the principal payment contribution at time i, which is always being discounted from time k to i ? Allen On 1/22/2011 11:09 PM, Luigi Ballabio wrote: > On Jan 21, 2011, at 8:43 PM, gigifaye29 wrote: >> Hi I have created the callable bond example and it works fine for >> pricing and >> duration calculation. >> >> However, when I try to retrieve cashflows from the callable >> objective by >> >> callableBond.cashflows().at(i).get()->amount() >> >> it returns me a bullet bond cashflow which inherits from the fixed >> bond >> class. >> >> Isn't it more appropriate it returns the "expected" or "adjusted" >> cash flows >> specific to this callable bond class? > It depends. In a way, it would, since with the current implementation > it doesn't hold that the value of the bond is the sum of the values of > the cashflows (discounted, of course.) On the other hand, if ou want > to know the amount you'll receive at a given coupon date, that's the > amount of the bullet bond cashflow (or none, if the bond is called.) > I guess we would need methods for both adjusted and unadjusted > amount. In the current tree-based implementation, the adjusted amount > is kind of hard to get, though. Maybe you might have a look at it and > try coming up with a patch? > > Luigi > > > ------------------------------------------------------------------------------ > Special Offer-- Download ArcSight Logger for FREE (a $49 USD value)! > Finally, a world-class log management solution at an even better price-free! > Download using promo code Free_Logger_4_Dev2Dev. Offer expires > February 28th, so secure your free ArcSight Logger TODAY! > http://p.sf.net/sfu/arcsight-sfd2d > _______________________________________________ > QuantLib-users mailing list > [hidden email] > https://lists.sourceforge.net/lists/listinfo/quantlib-users > ------------------------------------------------------------------------------ Special Offer-- Download ArcSight Logger for FREE (a $49 USD value)! Finally, a world-class log management solution at an even better price-free! Download using promo code Free_Logger_4_Dev2Dev. Offer expires February 28th, so secure your free ArcSight Logger TODAY! http://p.sf.net/sfu/arcsight-sfd2d _______________________________________________ QuantLib-users mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/quantlib-users |
Hi Allen,
I think the expected cashflows are calculated as you described : sum [ cashflow_j * prob(cashflow_j) ] Luigi mentioned "the adjusted amount is kind of hard to get, though". Do you think whether someone can add the patch for expected/adjusted cash flows? ( I sort of understand the logic but my C++ is very limited) If this function becomes available that would be really helpful for many financial applications we deal with... Thanks, Xin -----Original Message----- From: Allen Kuo [mailto:[hidden email]] Sent: Saturday, January 22, 2011 10:48 AM To: [hidden email] Subject: Re: [Quantlib-users] callable bond cashflow() what would the adjusted amount be ? On a tree, is that the expectation of the cashflow at time i, which in turn is: sum [ cashflow_j * prob(cashflow_j) ] ? Also, at any time i other than at maturity k (and since the engine is a tree), I assume you'd have to pull out the principal payment contribution at time i, which is always being discounted from time k to i ? Allen On 1/22/2011 11:09 PM, Luigi Ballabio wrote: > On Jan 21, 2011, at 8:43 PM, gigifaye29 wrote: >> Hi I have created the callable bond example and it works fine for >> pricing and duration calculation. >> >> However, when I try to retrieve cashflows from the callable objective >> by >> >> callableBond.cashflows().at(i).get()->amount() >> >> it returns me a bullet bond cashflow which inherits from the fixed >> bond class. >> >> Isn't it more appropriate it returns the "expected" or "adjusted" >> cash flows >> specific to this callable bond class? > It depends. In a way, it would, since with the current implementation > it doesn't hold that the value of the bond is the sum of the values of > the cashflows (discounted, of course.) On the other hand, if ou want > to know the amount you'll receive at a given coupon date, that's the > amount of the bullet bond cashflow (or none, if the bond is called.) I > guess we would need methods for both adjusted and unadjusted amount. > In the current tree-based implementation, the adjusted amount is kind > of hard to get, though. Maybe you might have a look at it and try > coming up with a patch? > > Luigi > > > ---------------------------------------------------------------------- > -------- Special Offer-- Download ArcSight Logger for FREE (a $49 USD > value)! > Finally, a world-class log management solution at an even better price-free! > Download using promo code Free_Logger_4_Dev2Dev. Offer expires > February 28th, so secure your free ArcSight Logger TODAY! > http://p.sf.net/sfu/arcsight-sfd2d > _______________________________________________ > QuantLib-users mailing list > [hidden email] > https://lists.sourceforge.net/lists/listinfo/quantlib-users > ------------------------------------------------------------------------------ Special Offer-- Download ArcSight Logger for FREE (a $49 USD value)! Finally, a world-class log management solution at an even better price-free! Download using promo code Free_Logger_4_Dev2Dev. Offer expires February 28th, so secure your free ArcSight Logger TODAY! http://p.sf.net/sfu/arcsight-sfd2d _______________________________________________ QuantLib-users mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/quantlib-users NOTICE: Confidential message which may be privileged. Unauthorized use/disclosure prohibited. If received in error, please go to www.td.com/legal for instructions. AVIS : Message confidentiel dont le contenu peut être privilégié. Utilisation/divulgation interdites sans permission. Si reçu par erreur, prière d'aller au www.td.com/francais/avis_juridique pour des instructions. ------------------------------------------------------------------------------ Special Offer-- Download ArcSight Logger for FREE (a $49 USD value)! Finally, a world-class log management solution at an even better price-free! Download using promo code Free_Logger_4_Dev2Dev. Offer expires February 28th, so secure your free ArcSight Logger TODAY! http://p.sf.net/sfu/arcsight-sfd2d _______________________________________________ QuantLib-users mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/quantlib-users |
In reply to this post by Luigi Ballabio
Luigi, is it obvious there exists a mathematical breakdown which
ensures the "adjusted" cashflows, somehow pulled from the tree (see below), and discounted using the rates of a corresponding non-callable bond, always equal the callable bond NPV ? My intuition is telling me if I could pull cashflows from the tree (by separating the coupon and principal portions on each node of the tree and for those nodes where the bond is called, allocating between these portions fairly/proportionately), I'd still need a fudge factor (like a constant added to each cashflow) to correctly price the callable bond. Also, for callable bonds, when the call date is a coupon date, and the bond is called, is the coupon paid ? Right now, the code assumes it is. Thanks, Allen On 1/22/2011 11:09 PM, Luigi Ballabio wrote: > On Jan 21, 2011, at 8:43 PM, gigifaye29 wrote: >> Hi I have created the callable bond example and it works fine for >> pricing and >> duration calculation. >> >> However, when I try to retrieve cashflows from the callable >> objective by >> >> callableBond.cashflows().at(i).get()->amount() >> >> it returns me a bullet bond cashflow which inherits from the fixed >> bond >> class. >> >> Isn't it more appropriate it returns the "expected" or "adjusted" >> cash flows >> specific to this callable bond class? > It depends. In a way, it would, since with the current implementation > it doesn't hold that the value of the bond is the sum of the values of > the cashflows (discounted, of course.) On the other hand, if ou want > to know the amount you'll receive at a given coupon date, that's the > amount of the bullet bond cashflow (or none, if the bond is called.) > I guess we would need methods for both adjusted and unadjusted > amount. In the current tree-based implementation, the adjusted amount > is kind of hard to get, though. Maybe you might have a look at it and > try coming up with a patch? > > Luigi > > > ------------------------------------------------------------------------------ > Special Offer-- Download ArcSight Logger for FREE (a $49 USD value)! > Finally, a world-class log management solution at an even better price-free! > Download using promo code Free_Logger_4_Dev2Dev. Offer expires > February 28th, so secure your free ArcSight Logger TODAY! > http://p.sf.net/sfu/arcsight-sfd2d > _______________________________________________ > QuantLib-users mailing list > [hidden email] > https://lists.sourceforge.net/lists/listinfo/quantlib-users > ------------------------------------------------------------------------------ Special Offer-- Download ArcSight Logger for FREE (a $49 USD value)! Finally, a world-class log management solution at an even better price-free! Download using promo code Free_Logger_4_Dev2Dev. Offer expires February 28th, so secure your free ArcSight Logger TODAY! http://p.sf.net/sfu/arcsight-sfd2d _______________________________________________ QuantLib-users mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/quantlib-users |
Free forum by Nabble | Edit this page |