QuantConnect / QuantConnect/Lean
Refactor internal subscriptions
Open
Nobody has claimed this yet.
consistency
refactor
- Dominant language
- C#
- Stars
- 21.7k
- Forks
- 5.3k
- Avg merge
- 2d 22h
- Merged PRs (30d)
- 34
Description
Expected Behavior
- There is a single centralized owner in Lean for internal subscriptions
Actual Behavior
- We currently have internal subscriptions being added by the UniverseSelection, through the
InternalSubscriptionManager, theCurrencySubscriptionDataConfigManagerand directly managing the benchmark subscription - Review
QCAlgorithm.AddToUserDefinedUniversehow is removing the benchmark subscription if the user adds it.
Potential Solution
- Refactor internal subscription into a single class.
Reproducing the Problem
N/A
System Information
N/A
Checklist
- I have completely filled out this template
- I have confirmed that this issue exists on the current
masterbranch - I have confirmed that this is not a duplicate issue by searching issues
- I have provided detailed steps to reproduce the issue
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading the internal subscription paths in UniverseSelection, InternalSubscriptionManager, CurrencySubscriptionDataConfigManager, and QCAlgorithm.AddToUserDefinedUniverse. Review how benchmark subscriptions are added and removed, then determine the scope of centralizing ownership in one class. Done means internal subscriptions have a single owner without changing the expected benchmark behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp
- Domain
- backend
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100