Hi,

ATM swap rates come from put-call parity on inflation cap/floor premiums.
The intersection is made in ql/experimenta/yoycapfloortermpricesurface.hpp/ InterpolatedYoYCapFloorTermPriceSurface::intersect()
The code below refers to this function.

I think that the line:

if ( floorPrice_(t,cStrikes_.back()) > capPrice_(t,cStrikes_.front()) ) {

should be changed in:

if ( floorPrice_(t,fStrikes_.back()) > capPrice_(t,cStrikes_.front()) ) {

That is, if the floor price at fStrikes_.back(),the last strike available for floors is higher than cStrikes_.front(),
the cap price at the first strike available for caps, the fixed leg in the associated YoY Inflation Swap is paying too much.
Hence, the search must be oriented towards ATM Swap Rate( t ) < fStrikes_.back() and the code following the line above gains sense.

So far, I've worked with data where fStrikes_.back() = cStrikes_.front() = 2% (the standard market convention in quoting caps/floors).
The ATM Swap curve I get after the change is compatible with the ZC Inflation Swap market.


Regards,
Raffaele





Freundliche Grüsse
Raffaele Pellicani
Zürcher Kantonalbank
Financial Engineering Handel, SIPH



Sie drucken dieses E-Mail nicht aus? Die Umwelt dankt!

___________________________________________________________________

Disclaimer :


Diese Mitteilung ist nur fuer die Empfaengerin / den Empfaenger bestimmt.

Fuer den Fall, dass sie von nichtberechtigten Personen empfangen wird, bitten wir diese hoeflich, die Mitteilung an die ZKB zurueckzusenden und anschliessend die Mitteilung mit allen Anhaengen sowie allfaellige Kopien zu vernichten bzw. zu loeschen. Der Gebrauch der Information ist verboten.


This message is intended only for the named recipient and may contain confidential or privileged information.

If you have received it in error, please advise the sender by return e-mail and delete this message and any attachments. Any unauthorised use or dissemination of this information is strictly prohibited.