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

Move transformation used in GlobalBootstrap into Traits #2135

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

eltoder
Copy link
Contributor

@eltoder eltoder commented Jan 8, 2025

Also, use exp instead of atan transformation for discount factors. This is an improvement on #2120 based on these observations:

  • Rates-based traits don't need any constraints in the optimization, so we don't need any transformation with them. This removes unnecessary computations.

  • Discount factors are only bounded on one side (have to be positive), so instead of estimating a max value to use atan, we can simply use exp. This is faster and uses fewer magic numbers.

    Another issue with atan is that it changes the gradients too much when the value is far from the middle of the range. This pushes optimization away from the correct solution when rates are low. This makes it hard to find value of maxDF that works for both very low and very high rates.

Also, use exp instead of atan transformation for discount factors. This
is an improvement on lballabio#2120 based on these observations:

* Rates-based traits don't need any constraints in the optimization, so
  we don't need any transformation with them. This removes unnecessary
  computations.

* Discount factors are only bounded on one side (have to be positive),
  so instead of estimating a max value to use atan, we can simply use
  exp. This is faster and uses fewer magic numbers.

  Another issue with atan is that it changes the gradients too much when
  the value is far from the middle of the range. This pushes
  optimization away from the correct solution when rates are low. This
  makes it hard to find value of maxDF that works for both very low and
  very high rates.
@eltoder eltoder force-pushed the feature/global-bootstrap-transform branch from e709cb6 to c3c27e2 Compare January 8, 2025 23:23
@coveralls
Copy link

coveralls commented Jan 8, 2025

Coverage Status

coverage: 73.201% (-0.002%) from 73.203%
when pulling c3c27e2 on eltoder:feature/global-bootstrap-transform
into b5ab596 on lballabio:master.

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.

2 participants