WebSocket Compression, Share-Class Capitalization, Futures Benchmarks
In our LEAN release notes for versions 18201 to 18212, we introduce share-class market capitalization while preserving company-wide totals, opt-in WebSocket compression, configurable RelativeDailyVolume warm-up, and C# and Python futures performance benchmarks. We also expose organization seat tiers through the API.
We improve trading accuracy by correcting market-hours boundaries, Day market-on-close order expiration, cash distribution accounting, and futures settlement currencies. We retain delisted securities until funds settle, update QC500 for Morningstar data changes, and strengthen continuous futures mapping.
We enhance live connectivity with safer WebSocket reconnections and OAuth token invalidation. We also refine Python imports and typing, expand parameter format support, enable benchmark disabling and initialization-time summary statistics, and improve reporting stability. ARM64 optimizations, safer chart snapshots, and documentation corrections further strengthen reliability and usability.
Thanks aarushkandukoori, quantconnect-kronos[bot], Lanchenba-Mayanglambam, and DG47 for correcting XML documentation, fixing websocket resubscriptions, adding futures benchmarks, and enabling RelativeDailyVolume warm-up—advancing LEAN!
Features
- Shipped (#9946): Allow enabling permessage-deflate compression in WebSocketClientWrapper: We added opt-in permessage-deflate compression to WebSocketClientWrapper through DeflateOptions, supporting dYdX connections while preserving default behavior.
- Shipped (#9921): Fundamentals: ShareClassMarketCap, MarketCap stays the company total: We added 'CompanyProfile.ShareClassMarketCap' for individual share classes, while 'CompanyProfile.MarketCap' continues to represent total company market capitalization.
- Shipped (#9875): Add EmptyFuturesBenchmark in C# and Python (#4381): We added C# and Python futures benchmarks measuring universe selection, contract chain loading, and data synchronization overhead without trading.
- Shipped (#9870): Add the organization's seat type to the organizations/read response: We added Organization.Type to expose organization seat tiers returned by Api.ReadOrganization().
- Shipped (#9859): Allow RelativeDailyVolume to be warmed up through a user-defined WarmUpPeriod: We enabled 'RelativeDailyVolume' warm-up through 'WarmUpIndicator' using a user-defined 'WarmUpPeriod', defaulting to zero.
Bug Fixes
- Fixed issue (#9950): We cancel stale websocket resubscriptions on reconnect.
- Fixed issue (#9926): We corrected early-close and late-open market-hours boundary handling.
- Fixed issue (#9925): We expire Day market-on-close orders at midnight, preserving fills.
- Fixed issue (#9924): We support dictionary and key-value list parameter formats.
- Fixed issue (#9908): We enable brokerages to invalidate rejected cached OAuth tokens.
- Fixed issue (#9878): We prevent cash distribution double-counting in raw backtests.
- Fixed issue (#9877): We retain delisted securities until pending funds settle.
- Fixed issue (#9872): We settle daily futures P&L in contract quote currencies.
- Fixed issue (#9871): We eliminate report thread leaks and optimize holdings snapshots.
- Fixed issue (#9869): We preserve symbol-specific trading hours across market-wide holidays.
- Fixed issue (#9868): We updated QC500 universe selection for new Morningstar data.
- Fixed issue (#9862): We return empty CancelOpenOrders results during initialization and warm-up.
- Fixed issue (#9861): We prevent decimal overflow in portfolio alpha calculations.
- Fixed issue (#9858): We export current equity tickers to Collective2.
- Fixed issue (#9856): We now support disabling benchmarks with SetBenchmark(null).
- Fixed issue (#9855): We now support setting summary statistics during Initialize.
- Fixed issue (#9848): We snapshot charts to prevent concurrent in-run analysis errors.
- Fixed issue (#9846): We corrected KnowSureThing documentation to accurately describe the indicator.
- Fixed issue (#9845): We correct Cboe index early closes to 12:15 CT.
- Fixed issue (#9839): We fixed live-read errors and prevented leaked test deployments.
- Fixed issue (#9835): We enable ARM64 optimizations by launching LEAN through dotnet.
- Fixed issue (#9831): We improve continuous futures mapping fallbacks and configuration warnings.
Updates
- Fixed issue (#9959): We corrected spelling errors in XML documentation comments.
- Fixed issue (#9919): We removed QC500’s market capitalization fallback, relying on LeanData.
- Fixed issue (#9918): We corrected four XML documentation typos without changing code.
- Fixed issue (#9914): We standardized QuantConnect namespaces, improving Python imports and typing.
- Fixed issue (#9912): We streamlined Python stubs by hiding fundamental data internals.
- Fixed issue (#9897): We corrected spelling errors in XML documentation comments.
- Fixed issue (#9860): We updated syntax tests to mypy 2.4.0 without regressions.
- Fixed issue (#9850): We corrected OpenInterestAnnual documentation to reference open interest.
- Fixed issue (#9843): We enable TradeStation combo order quantity updates in backtests.
Mia Alissi
The material on this website is provided for informational purposes only and does not constitute an offer to sell, a solicitation to buy, or a recommendation or endorsement for any security or strategy, nor does it constitute an offer to provide investment advisory services by QuantConnect. In addition, the material offers no opinion with respect to the suitability of any security or specific investment. QuantConnect makes no guarantees as to the accuracy or completeness of the views expressed in the website. The views are subject to change, and may have become unreliable for various reasons, including changes in market conditions or economic circumstances. All investments involve risk, including loss of principal. You should consult with an investment professional before making any investment decisions.
This discussion is closed