Contingent Orders, Derivative Filters, Combo Orders
These are the LEAN release notes for versions 18125 to 18130. We expanded order handling with native contingent orders, including OCO, OTO, OUO, and brackets, added Alpaca option combo order support, and introduced Bloomberg FIX position-side controls for clearer open and close intent.
We improved derivatives research and trading workflows with shared option and futures contract filters, daily synthetic option universe generation, deterministic option margin behavior, and more accurate handling of iron condors, expirations, stop-limit fills, and futures parsing.
We also strengthened live trading, APIs, and engine reliability by exposing deployment details safely, storing data monitor reports, improving pagination, hardening shutdown and socket handling, and recovering from OAuth failures. We fixed data accuracy issues across histories, fundamentals, Cboe index sessions, map files, cash-in-lieu conversions, and market-on-open slippage.
Thanks mkzung, dawNotPoi, Tyagiquamar, abhijeetvichare76, matvt-cell, 0xpinara, pengpengyi92, hsm207 for stronger validations, safer sockets, data fixes, LSMA and option-universe enhancements!
Features
- Shipped (#9832): feature: add position side to bloomberg fix order properties: We added Bloomberg FIX position side controls, enabling explicit open/close handling and preserving locates for SellToOpen orders.
- Shipped (#9828): Add contingent orders: OCO, OTO, OUO and brackets: We added native OCO, OTO, OUO, and bracket orders with atomic lifecycle handling, backtesting support, and brokerage validation.
- Shipped (#9822): feature: support combo orders in the alpaca brokerage model: We now support Alpaca combo market and limit orders for options, validating two to four legs before brokerage submission.
- Shipped (#9814): Store the data monitor report from the result handler: We now store data monitor reports via the result handler, with self-describing request files and configurable succeeded-request logging.
- Shipped (#9794): Surface the deployment details in the live read api client: We now deserialize optional deploymentDetails in live/read results, preserving backward compatibility and covering casing, absence, and statistics regression tests.
- Shipped (#9791): Add contract filters to futures chains and universes: We added shared contract filters to futures chains and universes, including contract months, open interest, and volume.
- Shipped (#9788): Expose brokerage data to the algorithm and the live results: We expose safe brokerage data to algorithms and live results with read-only views and fixed dictionary immutability.
- Shipped (#9783): Add strike, expiration and moneyness filters to option chains and universes: We added strike, expiration, moneyness, zero-DTE, and farthest-expiration filters for option chains and universes.
- Shipped (#9779): Share the option universe filters with OptionChain: We added shared option universe filters to OptionChain, preserving semantics and returning filtered chains with safer strategy handling.
- Shipped (#9761): Extend LeastSquaresMovingAverage to accept a benchmark reference: We added an LSMA overload using DualSymbolIndicator to regress target prices against a synchronized benchmark reference.
- Shipped (#9740): Generate daily option universe files in RandomDataGenerator: We added daily option universe CSV generation to RandomDataGenerator, enabling offline synthetic option chain universe selection.
Bug Fixes
- Fixed issue (#9834): We restore test data folder state from Globals.
- Fixed issue (#9830): We align Cboe index closes with official regular sessions.
- Fixed issue (#9829): We support nullable file dates and reliable backtest polling.
- Fixed issue (#9826): We margin unequal-wing iron condors using wider wing.
- Fixed issue (#9825): We now enumerate option positions deterministically for reproducible margins.
- Fixed issue (#9824): We validate regression indicator periods before construction failures.
- Fixed issue (#9816): We fixed long-dated double-digit futures year parsing.
- Fixed issue (#9815): We synced the API client with the OpenAPI spec.
- Fixed issue (#9812): We restrict dotted-ticker fallback to custom data symbols.
- Fixed issue (#9810): We synchronized NetMQ socket sends and disposal.
- Fixed issue (#9808): We expose paged order totals and standardize API pagination.
- Fixed issue (#9806): We fixed daily history counts around lunch-break markets.
- Fixed issue (#9805): We prevent duplicate coarse rows on map-file boundary dates.
- Fixed issue (#9804): We fixed chained fundamental universe look-ahead bias.
- Fixed issue (#9796): We count option expirations by last trading date.
- Fixed issue (#9787): We now fill triggered stop-limit orders as resting limits.
- Fixed issue (#9785): We now convert split cash-in-lieu to account currency.
- Fixed issue (#9772): We updated pythonnet to prevent Python deletion crashes.
- Fixed issue (#9770): We now treat OAuth failures as recoverable disconnections.
- Fixed issue (#9769): We fix pandas flattening for heterogeneous DynamicData properties
- Fixed issue (#9768): We allow only market/limit Clear Street option orders.
- Fixed issue (#9767): We improved failed order assertion messages in brokerage tests.
- Fixed issue (#9763): We fix MOO slippage to avoid daily look-ahead bias.
- Fixed issue (#9762): We hardened transaction shutdown and preserved final order states.
- Fixed issue (#9758): We strengthened ARIMA period validation, preventing runtime errors.
Updates
- Fixed issue (#9833): We added live paper contingent order processing tests.
- Fixed issue (#9817): We removed unused StoragePermissions enum dead code.
- Fixed issue (#9792): We renamed brokerage data to deployment details, adding helper
- Fixed issue (#9759): We warn once for coarse option underlying resolution.
- Fixed issue (#9733): We added 2027 CME-family holiday calendars and validation.
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.
To unlock posting to the community forums please complete at least 30% of Boot Camp.
You can continue your Boot Camp training progress from the terminal. We hope to see you in the community soon!