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

QD+ fixed point American option engine #1495

Merged
merged 69 commits into from
Nov 1, 2022

Conversation

klausspanderen
Copy link
Contributor

High performance/precision American engine based on fixed point iteration for the exercise boundary

@coveralls
Copy link

coveralls commented Oct 9, 2022

Coverage Status

Coverage increased (+0.3%) to 71.535% when pulling 2a2e4f1 on klausspanderen:early_exercise_boundary into e3bdecf on lballabio:master.

@lballabio lballabio added this to the Release 1.29 milestone Oct 18, 2022
@lballabio lballabio merged commit 3e74b28 into lballabio:master Nov 1, 2022
@sweemer
Copy link
Contributor

sweemer commented Nov 1, 2022

I'm seeing some new test failures in the non-default build related to this change, here's one example: https://github.com/sweemer/QuantLib/actions/runs/3367619449/jobs/5585272824#step:6:29

They also appear on my branch with the workaround for the gcc bug: https://github.com/sweemer/QuantLib/actions/runs/3366500279/jobs/5583056463#step:6:29

@lballabio
Copy link
Owner

What happens applying my change instead? (d7bb8ca)

@lballabio
Copy link
Owner

No, scratch that, it's probably not related

@lballabio
Copy link
Owner

I guess the problem is the version of Boost — we can require a later one at https://github.com/lballabio/QuantLib/pull/1495/files#diff-e992058fb8a4cbfd3fee5fd1eb5e2cf45ed03927c0e0aa3a767299bb70a8f2c7R30

@sweemer
Copy link
Contributor

sweemer commented Nov 1, 2022

Sounds good

@klausspanderen
Copy link
Contributor Author

Hi,

thanks for bringing this up!

boostorg/math#108
boostorg/math#155

In order to avoid a bug in the earlier versions of boost tanh_sinh we should bump the version to 1.69. I'll create a PR.

@klausspanderen klausspanderen deleted the early_exercise_boundary branch November 1, 2022 17:57
@sweemer
Copy link
Contributor

sweemer commented Nov 2, 2022

Unfortunately the EquityOption example is still failing with Boost 1.66 and gcc 6.3. Should we bump the Boost version to 1.69 in the CI jobs as well?

https://github.com/sweemer/QuantLib/actions/runs/3373734503/jobs/5598603424#step:8:317

@lballabio
Copy link
Owner

No, I think that shows that the fallback integral method can do "fast" and "accurate" but not "high precision". I'd skip that case if QL_BOOST_HAS_TANH_SINH is not defined.

@lballabio
Copy link
Owner

I just pushed a fix for the example.

@sweemer
Copy link
Contributor

sweemer commented Nov 2, 2022

Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants