4c085ff853
* Add support for Index SecurityType 🚀 (#5364) * Add Index SecurityType 🚀 * Extend SecurityIdentifier & Lean Data classes with Index support * Add Index SecurityType 🚀 * Extend SecurityIdentifier & Lean Data classes with Index support * Fixes * Added index cross basic template demonstration * WIP: Prototype index security type for LEAN as non tradable asset * Re-adds Index entries to MHDB after rebase * First steps to getting Index Options running * Looks at any instance where we pattern match for an option type and replaces it with a generic call to `.IsOption()` for easier extensibility in the future for additional option security types * Adds IndexOption security and misc. classes * Misc. changes, mainly related to any sort of special casing of equity options and made index options take the same path * Enables index options data for backtesting * Adds new index options market hours to MHDB * Misc. bug fixes for index options * WIP: add live support for index options and indexes * Use OptionMarginModel for Index Options because they both use the same calculation for margin requirements * Fixes contract not found errors on SPX index options and SPX index in IB * Turns out index options' last trading day is the day before expiry, which IB was expecting the last trading day. * Add index option test cases (temp) * LiveOptionChainProvider fix, use Symbol vs. ticker * Description updates to regression algorithms * Fixes bug in live trading for indexes and index options * Adds overridable minimum price variation symbol property * Adds variable sized minimum price variation for index options * Adjusts symbol properties for index options * Misc. bug fixes * Fixes option assignment simulation for European options * Updates index options regression algorithms (WIP) * Fixes bug where index option exercise would trade index underlying * Fixes bugs where SecurityType.Index was getting flagged as tradable * Regression algorithms updates and addresses review * Misc. style fixes and refactoring + a few bug fixes * Updates regression algorithms to run without runtime errors * Adds data for regression algos * Sets DefaultOptionStyle on Canonical and support index options * Update regression algos statistics * Removes bad line in regression algorithm causing build to fail * Minor tweaks * Address review add comment about quoteBar parse scale Co-authored-by: Balamurali Pandranki <balamurali@live.com> Co-authored-by: Jared Broad <jaredbroad@gmail.com> Co-authored-by: Martin-Molinero <martin@quantconnect.com>
Lean Data ToolBox
Lean Home | Documentation | Download Lean
Introduction
Lean Engine is an open-source algorithmic trading engine built for easy strategy research, backtesting and live trading. We integrate with common data providers and brokerages so you can quickly deploy algorithmic trading strategies.
The ToolBox project is a command line program which wraps over 15 tools.
Usage
Each tool requires a different set of parameters, the only required argument is '--app=', which defines the target tool and is case insensitive.
Help information is available using the '--help' parameter.
Example: --app=YahooDownloader --tickers=SPY,AAPL --resolution=Daily --from-date=yyyyMMdd-HH:mm:ss --to-date=yyyyMMdd-HH:mm:ss
Available downloaders
- '--app='
- GDAXDownloader or GDAXDL
- CryptoiqDownloader or CDL
- DukascopyDownloader or DDL
- FxcmDownloader or FDL
- FxcmVolumeDownload or FVDL
- IBDownloader or IBDL
- KrakenDownloader or KDL
- OandaDownloader or ODL
- QuandlBitfinexDownloader or QBDL
- YahooDownloader or YDL
- IEXDownloader or IEXDL
- BitfinexDownloader or BFXDL
- BinanceDownloader or MBXDL
- PolygonDownloader or PDL
- '--from-date=yyyyMMdd-HH:mm:ss' required
- '--tickers=SPY,AAPL,etc' required, except for QuandlBitfinexDownloader (QBDL)
- '--resolution=Tick/Second/Minute/Hour/Daily/All' required, except for QuandlBitfinexDownloader (QBDL), CryptoiqDownloader (CDL). Case sensitive. Not all downloaders support all resolutions, send empty for more information.
- '--to-date=yyyyMMdd-HH:mm:ss' optional. If not provided 'DateTime.UtcNow' will be used
Available Converters
- '--app='
- AlgoSeekFuturesConverter or ASFC
- '--date=yyyyMMdd' reference date.
- AlgoSeekOptionsConverter or ASOC
- '--date=yyyyMMdd' reference date.
- CoinApiDataConverter or CADC
- '--source-dir=' path to the raw CoinAPI data.
- IVolatilityEquityConverter or IVEC
- '--source-dir=' source archived IVolatility data.
- '--source-meta-dir=' source archived IVolatility meta data.
- '--destination-dir=' directory where Lean Data is located "Lean/Data".
- '--resolution=Minute/Hour/Daily' resolution of your IVolatility data. Case insensitive.
- KaikoDataConverter or KDC
- '--market=' the exchange the data represents.
- '--tick-type=Quote/Trade' the tick type being processed. Case insensitive.
- '--source-dir=' path to the raw Kaiko data.
- NseMarketDataConverter or NMDC
- '--source-dir=' source directory of unzipped NSE data.
- '--destination-dir=' directory where Lean Data is located "Lean/Data".
- QuantQuoteConverter or QQC
- '--source-dir=' directory where your QuantQuote order is extracted.
- '--destination-dir=' directory where Lean Data is located "Lean/Data".
- '--resolution=' resolution of the QuantQuote data.
- AlgoSeekFuturesConverter or ASFC
Other tools
- '--app='
- CoarseUniverseGenerator or CUG