Lean icon indicating copy to clipboard operation
Lean copied to clipboard

Add flexible settlement date

Open Marinovsky opened this issue 9 months ago • 0 comments

Description

I created flexible static properties Equity.DefaultSettlementDays, Equity.USASettlementDaysHistory and Equity.InternationalSettlementDaysHistory, as well as their corresponding ones for Option so that the user can freely modify them. I also added a method in Security to compute the settlement days based on a given dictionary of pairs (date, settlement days) and the current time, where the date corresponds to the date the settlement days changed.

Related Issue

Closes #8659

Motivation and Context

With this change users will be able to freely modify the settlement days for both equity and options

Requires Documentation Change

N/A

How Has This Been Tested?

I created a unit test that apply funds to a DefaultBrokerageModel and then asserts the money is settled after the expected settlement days computed by Security.GetSettlementDays()

Types of changes

  • [x] Bug fix (non-breaking change which fixes an issue)
  • [ ] Refactor (non-breaking change which improves implementation)
  • [ ] Performance (non-breaking change which improves performance. Please add associated performance test and results)
  • [x] New feature (non-breaking change which adds functionality)
  • [ ] Breaking change (fix or feature that would cause existing functionality to change)
  • [ ] Non-functional change (xml comments/documentation/etc)

Checklist:

  • [x] My code follows the code style of this project.
  • [x] I have read the CONTRIBUTING document.
  • [x] I have added tests to cover my changes.
  • [x] All new and existing tests passed.
  • [x] My branch follows the naming convention bug-<issue#>-<description> or feature-<issue#>-<description>

Marinovsky avatar Apr 20 '25 19:04 Marinovsky