Autocomplete Python Stubs CI, Binance Exchange Integration, LEAN Speed Improvement – LEAN Release Notes v9194-v9449

In the last 2 weeks the QuantConnect team has been focused on stability and bug fixes. Diving deep into some of the long lingering issues and publishing fixes for the along with additional regression tests to lock in that stability. We also surpassed 10,000 unit tests giving the platform a rock solid foundation for expansion!

A few highlights were finally merged into production LEAN. First we set up continuous integration to generate python stubs for QCAlgorithm; giving your favorite code editor autocomplete on the QCAlgorithm API. Second, we’ve rebased, polished and merged Binance Exchange integration into LEAN and are excited to publish it to QuantConnect in the coming weeks. Finally we’ve worked on optimizing certain intensive methods to add a 10% speed boost to LEAN. 

Special thanks to Github users @mchandschuh @michael-Sena @aarjaneiro @nazbrok @jatinkumar

Features

  • Add AggressiveInlining for certain methods to increase performance speed (Github | Docker)
  • Autocomplete API stubs merged into LEAN (Github | Docker)
  • New Binance brokerage implementation (Github | Docker)
  • Add ability to provide Equity Symbol to QuantBook.GetOptionHistory method (Github | Docker
  • Crypto brokerage supported tickers to be driven by the Symbol Properties Database. (Github | Docker

Updates

  • Upgrade Bitfinex API to v2 (Github | Docker
  • Update Oanda to be default forex market (Github | Docker)
  • Added unit test to detect PythonNet ‘clr’ installation was valid (Github | Docker
  • GetFundamental() is now supported for C# in the research environment (Github | Docker)
  • Upgrade NLog from 4.4.11 to 4.4.13 to initialize properly on Mono (Github | Docker)
  • LiveTradingResultHandler no longer send non-tradable securities in the
    holdings update (Github | Docker
  • Updated brokerage data queue handlers to be driven by SubscriptionDataConfiguration.  (Github | Docker)
  • Expanded regression tests to ensure orders were immutable. (Github | Docker)

Bug Fixes 

  • Removal of depreciated module called in test, addition of _init_ (Github | Docker
  • Correct next.EndTime value according to daylight saving time shift. (Github | Docker
  • Removed Polygon.io streaming from AlpacaBrokerage (Github | Docker)
  • Fixed brokerage WebSocket connection wait for completion (Github | Docker)
  • Fix underlying data feed for options (Github | Docker
  • Update OptionExercised order price to reflect option strike price (Github | Docker)
  • Update orders fields in Backtesting Brokerage as they are processed (Github | Docker)
  • Fix Slice.Get for OpenInterest tick type (Github | Docker)
  • Improvements CoinBase order fills to be more reliable (Github | Docker
  • Fix Arithmetic Overflow errors in methods that create orders (Github | Docker)
  • BaseWebsocketsBrokerage will handle reconnection using DefaultConnectionHandler to avoid code duplication. (Github | Docker)
  • Fix to prevent repetitive factor file numerical precision warnings (Github | Docker)
  • Fix regression .{lang}.details.logs (Github | Docker)
  • Fix to determine next market open/close to detect late open and early close (Github | Docker)
  • Fix calculation Time.GetStartTimeForTradeBars for historical data requests (Github | Docker)
  • Fix to Simplify BaseWebSocketsBrokerage reconnection (Github | Docker
  • Check collection for null in OptionChainUniverseDataCollectionEnumerator.IsValid (Github | Docker)
  • Fix Option Expiration Order Tags and Order Event IsAssignment Flag (Github | Docker)
  • Fix to Override exchange hours when get MarketHoursDatabase entry (Github | Docker
  • Fix YahooDataDownloader.DownloadSplitAndDividendData decimal error in exponent format (Github | Docker)
  • Fixes to improve report generator stability, addition of COVID-19 crisis plot (Github | Docker)
  • Fix for HistoryRequestFactory to stop extended market hours for hour resolution (Github | Docker)
  • Append the full stacktrace to the algorithm loading exception message (Github | Docker)
  • Fixes issue where BidPrice/AskPrice were not adjusted for Quote Ticks (Github | Docker)
  • AddBusinessDays will ignore holidays when DateTime being compared has time specified (Github | Docker)
Lexie Robinson

By: Lexie Robinson

05.10.2020