QuantConnect / QuantConnect/Lean

Refactor internal subscriptions

Open
#4,689 0 comments 0 reactions 0 assignees View on GitHub

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, the CurrencySubscriptionDataConfigManager and directly managing the benchmark subscription
  • Review QCAlgorithm.AddToUserDefinedUniverse how 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 master branch
  • I have confirmed that this is not a duplicate issue by searching issues
  • I have provided detailed steps to reproduce the issue

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.