Stefano Raggi

By: Stefano Raggi

Senior Engineer

08.08.2017

R-Support, Visual Studio Integration, Python Updates – LEAN Release Notes v2.4.0.1

This release adds R-support to LEAN; allowing you to run R-code from your LEAN C# algorithms. This makes the R statistics libraries available for use in QuantConnect. Additionally a community member contributed a plugin for Visual Studio which uses the QuantConnect API to perform file editing tasks and deploy backtests. Additionally this release extends Python support with many new libraries, charting, history request support, Quandl support and many example algorithms. Quantity decimalization was implemented as the first step towards crypto-currency support. In addition there were numerous bug fixes, notably forIB connection handling and Python support.

Download this release from GitHub

Features

  • Added support for R.Net and R-base from C#
  • Added Plug-in for Visual Studio Integration
  • Added charting support for Python
  • Added Arnaud Legoux Moving Average (ALMA) indicator
  • Added Python packages sklearn, keras, tensorflow, copulalib, theano, xgboost, TA-Lib and many more
  • Added Python basic template algorithms for options and futures
  • Added calculation of futures expiry dates
  • Added AlgorithmSettings and IAlgorithm.Settings property
  • Order quantity and position sizes are now decimals to support crypto-currency assets.
  • Added Python History Requests returning pandas.DataFrame
  • Added new LeanManagement interface
  • Added Quandl support for Python

Updates

  • Updated example algorithms written in Python
  • Improved ZipDataCacheProvider exception handling and logging
  • Restored default accountId for OandaDownloader
  • Updated OandaDownloader to save QuoteBars instead of TradeBars
  • Improved compression in futures and options data writers
  • Update Reader error log messages for QuoteBar and TradeBar
  • Added symbol to QuoteBar.Reader error logging
  • Added Resolution to QuoteBar.Reader error logging
  • Performance improvements to ZipDataCacheProvider
  • Updated and added new sample data files
  • Added rate limiting to 50 msg/second for Interactive Brokerssubscribe/unsubscribe
  • Added Easter holidays in market-hours-database
  • Updated Python framework to support Python datetime
  • Time-based removal of option contracts from universe in live mode
  • Updated OandaSymbolMapper to support delisted symbols
  • Updated Forex/CFD default fee model to ConstantFeeModel(0)
  • Added Holidays for CFDs in market-hours-database
  • Updated YahooDownloader to new Yahoo API
  • Updated example Python algorithms
  • Added DataNormalization mode validation for Options
  • Updated HistoryDataCacheProvider to use ZipDataCacheProvider within Engine
  • Updated all LEAN threads to be Background threads
  • Increased speed in option data conversion
  • Upgraded all projects to target .NET Framework 4.5.2
  • Upgraded all projects to use C# 6.0 compiler
  • Upgraded all third-party libraries
  • Updated ToDecimal extension method to allow negative numbers
  • Added OANDA-Agent HTTP Header to API requests

Bug Fixes

  • Removed redundant properties in HistoryRequest class
  • Added HasCustomData flag to SubscriptionManager (for Python)
  • Updated IB brokerage to restart when receiving reconnect (1102) message
  • Removed lock from AddData method
  • Added check for custom data existence after security removal
  • Fixed FSharp reference error
  • Fixed Warmup/History requests for canonical symbols
  • Added parameter validation in FutureMarginModel.GetInitialMarginRequirement
  • Fixed OANDA v20 history requests for more than 5000 bars
  • Fixed ParallelRunner error during application exit
  • Fixed zero-value open interest bug in IB brokerage
  • Fixed compiler build warnings
  • Fixed errors with Futures or Options existing holdings
  • Fixed existing brokerage holdings in Futures universe selection filters
  • Fixed bugs and performance issues in Python integration
  • Fixed bug in option filtering by range of strikes
  • Fixed counting bug in SubscriptionLimiter with Options/Futures
  • Fixed IB reset sequence in CheckIbGateway
  • Fixed SetBrokerageModel resetting leverage when called after AddSecurity
  • Added missing enumerator disposal when symbol removed from universe
  • Fixed price adjusting on split dates with hourly resolution
  • Fixed issues with IB reconnect and nightly reset logic
  • Fixed AddConsolidator to support all input data types available
  • Removed unnecessary subscriptions in FineFundamental universe selection
  • Fixed error handling for OANDA connection failure
  • Fixed file naming bug in daily or hourly resolution market data for futures
  • Fixed OANDA v20 GetOpenOrders with unsupported order types
  • Fixed formatting bug in StatisticsBuilder.GetSummary
  • Fixed bug in LiveTradingDataFeed.Run exception handler
  • Fixed OANDA API v1 error handling
  • Fixed error handling in FileSystemDataFeed
  • Fixed IB bug causing error “Already Connected”
  • Fixed concurrency issue in RuntimeStatistics
  • Fixed invalid order status when receiving IB errors for operations not allowed
  • Fixed DirectoryNotFoundException when using custom data with FileFormat.Collection
  • Fixed RenkoConsolidator not accepting Tick data

Notes

Thank you to the community contributors in this release:
@AnshulYADAV007, @jameschch, @Jay-Jay-D, @LiXiang618, @mushketyk, @smartquant, @tomhunter-gh

About LEAN

LEAN aims to empower investors to invest with confidence by using cutting edge algorithmic trading technology. Through the power of open source we are building the world’s best algorithmic trading platform, capable of accurately modeling global markets to give you insight into your strategy. Your trading algorithms can be seamlessly deployed from backtesting into production with no changes or even moved between brokerages. The LEAN user community reaches over 36,000 quants from all over the world. LEAN supports C#, F#, VB, Java and Python programming languages and can be used in Equity, Forex, CFD, Options and Futures markets. It currently supports live paper trading, or execution by Interactive Brokers, FXCM and OANDA Brokerage.

For more information join the LEAN Community on GitHub.

img Back to Blog

Related Articles

lean report creator

LEAN’s Tear Sheet – The LEAN Report Creator

By: Jared Broad • 26.06.2018 algorithmic trading

Python Library Support – LEAN Release Notes v2.4.0.0

By: Jared Broad • 04.05.2017 algorithmic trading

Tracking and Managing Orders

By: Jared Broad • 05.04.2017 lean

Scheduled Events

By: Jared Broad • 29.03.2017 algorithmic trading

Desktop Charting with LEAN

By: Jared Broad • 28.03.2017