From: Paolo D'E. <pao...@gm...> - 2025-01-06 19:12:15
|
Dear QuantLib Developers, I hope this email finds you well. I’m currently working on implementing the feature request in issue #1986 <https://github.com/lballabio/QuantLib/issues/1986>, which involves adding support for the calculation of partial-time put barrier options using the put-call symmetry approach as described on page 167 of Haug’s book (since there is no closed-form formula available). I’ve pushed my current work to the branch [partial-time-barrier-put-option] <https://github.com/paolodelia99/QuantLib/tree/partial-time-barrier-put-option> in my fork, and I would greatly appreciate your guidance on the following matters. So far, I’ve extended the AnalyticPartialTimeBarrierOptionEngine to support this feature. My implementation creates a synthetic call option and leverages the put-call symmetry to calculate the put price. While the code works in the context of the AnalyticPartialTimeBarrierOptionEngine, I wanted to verify its correctness by testing this same symmetry property on standard barrier options. Here is where I’m encountering an issue: for interest rate values different from 0, I observe a discrepancy in the put-call symmetry results. My suspicion is that I may not have properly accounted for the "cost of carry" term in the symmetry calculation. However, I’m struggling to fully understand this concept. I’ve read on page 8 of Haug’s book that, in the Black-Scholes model, the cost of carry is the same as the risk-free interest rate, but I can’t wrap my head around how it applies here or whether I’m omitting this variable in my implementation. Could this discrepancy be related to the cost-of-carry term, or am I misunderstanding something fundamental about the put-call symmetry for barrier options? If anyone has experience or insights into this area, I would be very grateful for your assistance and guidance. Thank you in advance for your time and help. Please let me know if further details or specific code snippets would be helpful. Best regards, Paolo D'Elia |