Skip to content

Fall back to the backup coarse universe file for fundamental properties in live trading - #9752

Open
jhonabreul wants to merge 5 commits into
QuantConnect:masterfrom
jhonabreul:feature-fundamental-universe-backup-files
Open

Fall back to the backup coarse universe file for fundamental properties in live trading#9752
jhonabreul wants to merge 5 commits into
QuantConnect:masterfrom
jhonabreul:feature-fundamental-universe-backup-files

Conversation

@jhonabreul

@jhonabreul jhonabreul commented Aug 26, 2026

Copy link
Copy Markdown
Collaborator

Description

Follow-up to #9690. Fundamental universes fell back to the backup universe file for the symbol list, but the per-symbol properties (Price, DollarVolume, ...) are resolved through CoarseFundamentalDataProvider, which fetched fundamental/coarse/<date>.csv directly and returned defaults when it was missing.

  • New BackupUniverseFileDataProvider in Common: the fallback wrapper moved out of LiveCustomDataSubscriptionEnumeratorFactory, same behavior.
  • CoarseFundamentalDataProvider.Initialize wraps its data provider with it in live mode.

Related Issue

N/A

Motivation and Context

Selections filtering on price or volume saw zeros when running off the backup universe file.

Requires Documentation Change

No.

How Has This Been Tested?

  • BackupUniverseFileDataProviderTests and CoarseFundamentalDataProviderTests: fallback, no fallback when the expected file exists or in backtesting, defaults when neither file exists.
  • LiveTradingDataFeedTests: added FutureChain cases to the backup fallback test.
  • Live paper runs with a shifted clock for futures and coarse universes, with and without the expected file.

Types of changes

  • 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)
  • 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:

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

…es in live trading

The universe subscription already falls back to the backup coarse universe file when the expected one is not available,
but the per symbol fundamental properties read through the CoarseFundamentalDataProvider did not, returning defaults.
…r wrapper

Moves the backup universe file data provider out of the live custom data subscription enumerator factory so the
coarse fundamental data provider can reuse it instead of duplicating the fallback logic.
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