'Quantlib: How to correctly use Trigger variable in SoftCallability
QuantLib's soft call class constructor takes three inputs:
SoftCallability (const Bond::Price &price, const Date &date, Real trigger)
My expectation is that the trigger is in some way representing the stock price which must be equaled or exceeded in order for the call feature to be activated, however, I am unsure of the implementation.
The sample computation of the value of a convertible bond available in the QLAnnotatedSource implements the SoftCallability member function using a hardcoded 1.20:
ext::make_shared<SoftCallability>Bond::Price(
callPrices[i],
Bond::Price::Clean),
schedule.date(callLength[i]),
1.20));
However, the underlying (starting stock price) used in the example is 36.0. As such, my guess is that the 1.20 does not represent the stock price threshold directly (i.e. the stock price does not need to be above 1.20 for the call feature to be activated). Is it a multiple (the stock price must be greater than or equal to 1.20 * the starting stock price)? Or maybe some other implementation?
Thanks!
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|