Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

m over n callable convertible bond #1741

Closed
zhtangsh opened this issue Jul 25, 2023 · 6 comments
Closed

m over n callable convertible bond #1741

zhtangsh opened this issue Jul 25, 2023 · 6 comments
Labels

Comments

@zhtangsh
Copy link

Hi there
I'm new to QuantLib and was trying to price a convertible bond with QuantLib.

I saw a example in https://github.com/lballabio/QuantLib/blob/master/Examples/ConvertibleBonds/ConvertibleBonds.cpp, which implements 2 Soft Call in second/fourth year with 1.2 trigger.
However, I'm facing a different soft call situation, say

  • From 2rd to 4th year, any m(20) days over n(30) days, price is above the trigger(1.2), then we do the soft call.

Can I implemented this situation with QuantLib? Any help is appreciate.

@boring-cyborg
Copy link

boring-cyborg bot commented Jul 25, 2023

Thanks for posting! It might take a while before we look at your issue, so don't worry if there seems to be no feedback. We'll get to it.

@pcaspers
Copy link
Contributor

Hi @zhtangsh, I don't think this feature is supported at the moment.

I also want to mention an alternative implementation of convertible bond instrument with arguably richer / more realistic set of features and more standard finite-difference pricing engine in ORE. The particular feature you mention is not yet supported in the pricing engine either although we already have it in the trade data model

https://github.com/OpenSourceRisk/Engine/blob/master/Docs/UserGuide/tradedata/convertiblebond.tex#L131

We might add the implementation of the feature in the engine in one of the upcoming releases. The instrument and pricing engine might also be migrated to QuantLib in the future.

@zhtangsh
Copy link
Author

Hi @zhtangsh, I don't think this feature is supported at the moment.

I also want to mention an alternative implementation of convertible bond instrument with arguably richer / more realistic set of features and more standard finite-difference pricing engine in ORE. The particular feature you mention is not yet supported in the pricing engine either although we already have it in the trade data model

https://github.com/OpenSourceRisk/Engine/blob/master/Docs/UserGuide/tradedata/convertiblebond.tex#L131

We might add the implementation of the feature in the engine in one of the upcoming releases. The instrument and pricing engine might also be migrated to QuantLib in the future.

Hi @pcaspers , thank you for quick reply and confirmation of this feature. I'll look through the quoted link.

Can I ask for confirmation of another feature?

  • From 2rd to 4th year, any time price is above the trigger(1.2), then we do the soft call, where the call date is not pre determined.

I'm trying to parse a list of SoftCallability, which is constructed by all dates between 2rd and 4th year, to CallabilitySchedule object.

date_list = all_dates_between_2rd_and_4th_year() # some magic code to extract date from schedule
callability_schedule = ql.CallabilitySchedule()
call_price = 104
call_trigger = 1.2
for date in date_list:
    callability_price = ql.BondPrice(call_price,  ql.BondPrice.Clean)
    callability_schedule.append(ql.SoftCallability(callability_price, date, call_trigger))

Does it make sense?

@pcaspers
Copy link
Contributor

I have not worked with the convertible bond in QuantLib a lot, but my impression is that you have to set up each call date separately, i.e. for an American call (as it typically occurs in convertible bonds) you have to set up a call on each business day in the call period.

@github-actions
Copy link
Contributor

This issue was automatically marked as stale because it has been open 60 days with no activity. Remove stale label or comment, or this will be closed in two weeks.

@github-actions github-actions bot added the stale label Sep 25, 2023
@github-actions
Copy link
Contributor

github-actions bot commented Oct 9, 2023

This issue was automatically closed because it has been stalled for two weeks with no further activity.

@github-actions github-actions bot closed this as not planned Won't fix, can't repro, duplicate, stale Oct 9, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants