From: Toyin A. <toy...@ho...> - 2006-07-19 18:52:37
|
Hey Guowen, Thanks for the tip. The dirty pricing bit is a big help for structures whose start date is in the past. I actually forgot about the fact that you can call on ANY date. However I assume that coupon dates are the most commonly dates that are chosen for calling any structure. Thanks again, Toy out... >From: Guowen Han <GH...@dt...> >To: "Toyin Akin" <toy...@ho...> >CC: >qua...@li...,qua...@li..., >lui...@gm...,qua...@li... >Subject: Re: [Quantlib-users] Pricing Callable Capped Floaters within >a HullWhite Tree >Date: Wed, 19 Jul 2006 09:07:08 -0400 > >Please keep in mind >1. the call schedule does not have to match the coupon schedule, >2. the quoted call price is kind of clean, and >3. the simulated prices are always dirty price and the backward induction >values on the tree are kind of dirty price (including accrued interest) > >So, the call prices are not necessary the paid off price when the calls >are exercised. > >Guowen > > > > > > >"Toyin Akin" <toy...@ho...> >Sent by: qua...@li... >07/19/2006 03:40 AM > >To >lui...@gm... >cc >qua...@li..., qua...@li... >Subject >[Quantlib-users] Pricing Callable Capped Floaters within a HullWhite >Tree > > > > > > > >Hi all, > >I am looking at the possibility of pricing callable capped floater using >QuantLib and it seems like most of the code to price such a product is >more >or less within Quantlib already (parts of the logic is present in >different >classes). > >Basically I want to price, for each period, the following > >Libor() - Caplet(Libor, X)*Notional*AccuralPeriod , callable @ $Y for each > >period. > >This has to be priced via a tree methodology and the Libor() - Cap(Libor, >X)*Notional*AccuralPeriod >part can be priced by > >1) implementing the Libor() pricing via the float leg code that is part of > >the DiscretizedSwap class >2) implementing the Caplet(Libor, X) pricing via the cap leg code that is >part of the DiscretizedCapFloor class > >Thus these two legs can be pulled out to form a class like the >DiscretizedSwaption class. > >The issue I have is how to price the callable part. > >Now I have this little description of the callable algorithm from the >FinancialCAD web site : > >########################################################### >The price of a callable capped floater is obtained by building a trinomial > >interest rate tree, constructing the yield curve on each node of the tree, > >and re-valuing the capped floater (note) on each node. On nodes that are >exercise dates, the price of the note is compared to the call and/or put >price(s). If it is possible for the issuer to call, and the call price is > >less than the note price, then the call option is exercised and the price >of >the option on that node is the difference between the call price and the >note price. If the note is not called and it is possible for the holder >to >put, and the put price is greater than the note price, then the put option > >is exercised and the price of the option on that node is the difference >between the put price and the note price. The option price is rolled back > >to earlier nodes on the tree and re-calculated as above depending on >whether >or not the option is exercised. The option price rolled back to the value > >date is added to the price of the non-callable capped floater on the value > >date to get the price of the callable capped floater. >########################################################### > >My question is regarding the statement " difference between the call price > >and the note price". > >Again the note can be computed easily via the "Libor() - Caplet(Libor, >X)*Notional*AccuralPeriod" expression. The note is priced backwards in >time >and each time you step back, an extra coupon period is added onto the note > >(at each node). > >The tree that quantlib builds for interest rate pricing (ie - capfloor via > >tree) assumes that you are standing on the start date of a coupon period >(see preAdjustValuesImpl() of the DiscretizedCapFloor() class). Thus you >cannot use the regular max(L-X,0) expression to value a cap, but a >modified >version to take into account that you are standing on the start date of a >rate fixing and not the end. > >Thus, FINALLY!!, the question I am asking : Is there an adjustment that >one >needs to perform on this "difference between the call price and the note >price" because we are standing on the start date of each coupon period. > >I am making the assumption that the $Y callable price is to be paid at the > >each of each callable period. Is this the normal convention? > >Long winded I know...!! >Toy out. > > > >------------------------------------------------------------------------- >Take Surveys. Earn Cash. Influence the Future of IT >Join SourceForge.net's Techsay panel and you'll get the chance to share >your >opinions on IT & business topics through brief surveys -- and earn cash >http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV >_______________________________________________ >QuantLib-users mailing list >Qua...@li... >https://lists.sourceforge.net/lists/listinfo/quantlib-users > > > > >----------------------------------------- >________________________________________________________ >DTCC DISCLAIMER: This email and any files transmitted with it are >confidential and intended solely for the use of the individual or >entity to whom they are addressed. If you have received this email >in error, please notify us immediately and delete the email and any >attachments from your system. The recipient should check this email >and any attachments for the presence of viruses. The company >accepts no liability for any damage caused by any virus transmitted >by this email. >------------------------------------------------------------------------- >Take Surveys. Earn Cash. Influence the Future of IT >Join SourceForge.net's Techsay panel and you'll get the chance to share >your >opinions on IT & business topics through brief surveys -- and earn cash >http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV >_______________________________________________ >QuantLib-users mailing list >Qua...@li... >https://lists.sourceforge.net/lists/listinfo/quantlib-users |