Refactor Correlation and beta indicators #8485
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
This PR fixes a bug in the Correlation indicator. It now performs a fill-forward of the Correlation value, ensuring that the calculation is correctly updated when sufficient data is available. Additionally, the refactor introduces a base class for dual-symbol indicators, improving maintainability and scalability for indicators like Beta and Correlation. Unit tests have been updated to reflect these changes, and a new regression test has been added to verify the correct handling of last computed values.
Related Issue
Closes #8424
Motivation and Context
This change simplifies the management of dual-symbol indicators by refactoring them into a base class. It reduces code duplication and improves maintainability. The new regression test ensures the correct handling of last computed values.
Requires Documentation Change
No documentation change required.
How Has This Been Tested?
The changes have been tested using unit tests and a regression test. The unit tests validate the refactored logic, while the regression test ensures that the last computed values for Beta and Correlation are handled correctly.
Types of changes
Checklist:
bug-<issue#>-<description>
orfeature-<issue#>-<description>