* feat: make static and get; set; of DefaultSettlementDays in Equity,Option
* refactor: reset _lastUnsettledCash depend on settlementDays in UnsettledCashWhenQuoteCurrencyIsNotAccountCurrencyAlgorithm
Build & Test Lean / build (push) Has been cancelled
Regression Tests / build (push) Has been cancelled
Report Generator Tests / build (push) Has been cancelled
Research Regression Tests / build (push) Has been cancelled
Python Virtual Environments / build (push) Has been cancelled
* FINAL TEST
* Change version
* test commit
* echo commits
* echo last commits before generating stubs
* Fix bugs
* fix more bugs
* fix yaml error
* try with a different version
* Check we can get last commits
* add variables in options
* Echo commits
* tweaks
* More tweaks
* Add an exception
* FINAL TEST
Report Generator Tests / build (push) Has been cancelled
Research Regression Tests / build (push) Has been cancelled
Python Virtual Environments / build (push) Has been cancelled
API Tests / build (push) Has been cancelled
Benchmarks / build (push) Has been cancelled
Build & Test Lean / build (push) Has been cancelled
Regression Tests / build (push) Has been cancelled
* Make FOPs selection universe file-based for backtesting
* Make FOPs option chains universe file based
* Make Future universe selection file-based like option universe
* Make Future universe selection file-based like option universe
* Abstraction cleanup
* Add FuturesChains API to QC algorithm
Also refactor future chain provider to use the new FutureUniverse instead of zip file names
* Update regression algorithms stats
* Refactor QuantBook option and future history to use new universes
* Fix failing tests
* Fix failing tests
* Fix failing tests
* Minor future chains unit test improvement
* Add futures chains DataFrame property
Also, remove IDerivativeSecurity interface from Future
* Add DataFrame property to FuturesChains class
* Add regression algorithms
* Add regression algorithms
* Replace QCAlgorithm.FutureChainProvider usages with new FuturesChain api
* Minor fixes
* Reduce number of universe files in repo
* Minor data fixes
* Regression algorithms updates
* Add implicit conversion from FuturesContract to Symbol
Modified algorithms to use futures contract objects directly instead of accessing their Symbol property.
Removed unnecessary import statements and redundant lines in various files.
* Improve resolution handling for history requests
* Changed _auxiliaryData field to lazily-initialized AuxiliaryData property
* Refactor data handling in BaseChain and TimeSliceFactory
- Added `AddData` method to `BaseChain` for adding market data
- Refactored `TimeSliceFactory` to use `BaseChain.AddData` method
* Remove specific constructors and indexers from Chain classes
Removed public indexers in `BaseChains` for getting or setting `BaseChain` instances by `ticker` or `Symbol`, which were used for Pythonnet compatibility.
* Remove chain cache logic from FuturesChainUniverse
* Refactor class and interface names for clarity
Renamed `FileBasedUniverse` to `BaseChainUniverseData` and
`IFileBasedUniverse` to `IChainUniverseData`.
* Add base class for options and futures contracts
- Introduced `BaseContract` as an abstract base class for contracts, consolidating common properties and methods.
- Removed ISymbolInterface
* Add minor fix for future options tickers parsing
Added tests
* Trigger Build
* Trigger Build
* Trigger Build
* Trigger Build
* Clean chain provider classes up
* Remove ZipEntryName other classes and unused code
Removed ZipEntryName class and references across various files.
Removed DataQueueFuturesChainUniverseDataCollectionEnumerator and DataQueueOptionChainUniverseDataCollectionEnumerator classes.
Removed OptionChainUniverseSubscriptionEnumeratorFactory class.
Removed unused code for handling OptionChainUniverse and FuturesChainUniverse in FileSystemDataFeed.cs and LiveTradingDataFeed.cs.
Removed several test files related to enumerator factories and universe data collection.
* Minor changes and cleanup
* Trigger Build
* Trigger Build
* Refactor FuturesContract data handling
Forward price data from bars and ticks stored in private fields for improved memory usage
* Fix: use universe data for market data in FuturesContract
* Update regression algorithms stats after rebase
Added HSI futures universe files
* Sort configs by internal flag
Internals go first
* Throw from option universe data filters for future options
Future options IV, Open interest and greeks are not supported for future options
* Minor changes
* Improve some regression algorithms
* Minor fix for failing unit tests
* Update FOPs universe file header
Removed greeks and IV columns.
Updated FOPs universe files: removed outdated columns.
* Minor unit test fix
* Trigger Build
* Trigger Build
* Trigger Build
* Trigger Build
* Trigger Build
* Trigger Build
* Trigger Build
* Trigger Build
* Trigger Build
* Trigger Build
* Trigger Build
* Trigger Build
* Trigger Build
* Minor fix
* Add history provider as constructor argument for chain providers
* Update new regression algorithms data points count
* Minor fix for FakeDataQueue
* Add initialize method to chain providers classes
* Minor changes
* Trigger Build
* Trigger Build
* Trigger Build
* Minor fix
* Minor fix
* Trigger Build
* Trigger Build
* Trigger Build
* Trigger Build
* Add logs to ProcessedDataProvider
* Removed test logs
* Minor fix
* Support downloading options and futures universe files from api data provider
Build & Test Lean / build (push) Has been cancelled
Regression Tests / build (push) Has been cancelled
Report Generator Tests / build (push) Has been cancelled
Research Regression Tests / build (push) Has been cancelled
Python Virtual Environments / build (push) Has been cancelled
- Fix for division by zero in option assigment check. Adding regression
test reproducing issue. Will now rely on normalized path in universe
selection to clear the cache
Build & Test Lean / build (push) Has been cancelled
Regression Tests / build (push) Has been cancelled
Report Generator Tests / build (push) Has been cancelled
Research Regression Tests / build (push) Has been cancelled
Python Virtual Environments / build (push) Has been cancelled
API Tests / build (push) Has been cancelled
* Support registering indicators of type IndicatorBase<BaseData>
* Add IndicatorBase<BaseData> scenario for all the usages of ConvertPythonIndicator
* Add all scenarios in the test case
Build & Test Lean / build (push) Has been cancelled
Report Generator Tests / build (push) Has been cancelled
Regression Tests / build (push) Has been cancelled
API Tests / build (push) Has been cancelled
Benchmarks / build (push) Has been cancelled
Research Regression Tests / build (push) Has been cancelled
Python Virtual Environments / build (push) Has been cancelled
* Initial solution
* Update unit test
* Explicit conversion if T is IndicatorDataPoint
* Solve review comments
* Add override tests for Beta and Alpha
* Refactor and update unit test suite
* Create unit test for OptionIndicators
* Resolve review comments
* Resolve new review comments
* Add a new default selector
* feat: parsing of universe file path for different security types
* fix: market position in parsing of universe file
refactor: add example of universes file path in xml description method
* test:feat: parsing of universe path
* rename: return variable in ParseUniversePath
* feat: extension to create history request internally
* feat: entity DataUniverseDownloaderGetParameters
* config: downloaderDataProvider project
* feat: create DataUniverseDownloadConfig in download project
* feat: run universe downloader in DownloaderProvider
* test:fix: missing using
test:remove: parameter ctor of DataDownloadConfig
* refactor: run Universe downloader in Main
* feat: GetUniverseFileName by processingDate
* refactor: CreateDataUniverseDownloaderGetParameters with using Start and EndDate
refactor: exception message in DataUniverseDownloadConfig
* feat: new out argument in TryParsePath's LeanData
* feat: RunUniverseDownloader in DownloadDataProvider
* feat: DerivativeUniverseData to write csv file
feat: extension to download universe data with different parameters
* remove: log warn which path when get universe file path
* refactor: DataUniverseDownloaderGetParameters
feat: run Download Universes file in DownloaderDataProvider internally
* refactor: overload TryParsePath only with 4 parameters
* remove: editconfig file in DownloaderDataProvider
* remove: validation on null parameters
* rename: typo DateType to DataType
* refactor: use endDate in ctor DataUniverseDownloaderGetParameters
refactor: use UnderlyingSymbol from base class Symbol property
remove: CreateDataUniverseDownloaderGetParameters()
refactor: put LoadSymbol in base class
clean/remove: DataUniverseDownloadConfig
* refactor: use Time.EachTradeableDay in CreateDataDownloaderGetParameters
remove: CheckMarketOpenStatus
* fix: RunUniverseDownloader with EndUtc in DownloaderDataProvider
* refactor: GetUniverseFullFilePath
* remove: validate historyData like Any
* fix: use date from parsing path in DownloaderDataProvider
* feat: download QuoteBar for Universe file
feat: handle QuoteBar in DerivativeUniverseData
refactor: filter option in final dictionary
* revert: CreateHistoryRequest() in DownloaderExtensions
* feat: use optional parameter SecurityExchangeHours in DataUniverseDownloaderGetParameters
refactor: DataUniverseDownloaderGetParameters
refactor: use Log.Debug instead Log.Trace to prevent spamming
* fix: ordering of download universe data
revert: parameter ctor in DataDownloadConfig
revert:test: use parameter ctor instead of Config.Set
* clean: extra `usings`
* fix: Get DataType in DataDownloadConfig
feat: new ctor in BaseDataDownloadConfig
* Fix IndicatorHistory api for options indicators
Fix for indicators based on OptionIndicatorBase to be able to use IndicatorHistory api. They require proper conversion of indicators from PyObjects
* Fix WarmupIndicator to support multi symbol indicators in Python
* Minor fix for WarmUpIndicator api
* Refactored switch statements for indicator conversion
* Solve comments review
* Refactored WarmUpIndicator to remove duplicated code
* Resolve review comments
---------
Co-authored-by: Jhonathan Abreu <jdabreu25@gmail.com>
Build & Test Lean / build (push) Has been cancelled
Regression Tests / build (push) Has been cancelled
Report Generator Tests / build (push) Has been cancelled
Research Regression Tests / build (push) Has been cancelled
Python Virtual Environments / build (push) Has been cancelled
* Cache registered custom python security and universe data types
Use this cache to get the correct config for history requests since pythonnet will always pass PythonData and we lose reference to the actual Python type
* Use local repo data for unit tests
* Move unit tests to algorithm history tests
* Use UniverseManager instead of CacheCustomPythonDataType
* Add regression algorithms
* Update regression algorithms to solve issues
* Update regression test and History
* Updated source path to avoid issues with linux
---------
Co-authored-by: Jhonathan Abreu <jdabreu25@gmail.com>
Regression Tests / build (push) Has been cancelled
Report Generator Tests / build (push) Has been cancelled
Research Regression Tests / build (push) Has been cancelled
Python Virtual Environments / build (push) Has been cancelled
API Tests / build (push) Has been cancelled
Benchmarks / build (push) Has been cancelled
Build & Test Lean / build (push) Has been cancelled
* Adds BroadcastCommand Method
Send a command to all live algorithms.
* Addresses Peer-Review
* Minor tweaks
---------
Co-authored-by: Martin Molinero <martin.molinero1@gmail.com>
* Initial draft of the solution
* Remove old format
* Address requested changes
* Add Index option test case
* nit changes
* Address Martin reviews, improve unit tests and solve 8577
* Add unit tests
* Nit change
* Address requested changes
* Address Martin reviews
* Nit changes and more unit tests
* Nit change
* Address requested changes
* Address requested changes
Build & Test Lean / build (push) Has been cancelled
Regression Tests / build (push) Has been cancelled
Report Generator Tests / build (push) Has been cancelled
Research Regression Tests / build (push) Has been cancelled
Python Virtual Environments / build (push) Has been cancelled
* Initial solution
* Add python support for CompositeIndicator
* Add unit tests and update CompositeIndicator
* Add new test case
* Update TryConvertToIndicator logic
* Solve review comments
* Resolve review comments
* Remove unnessary case
* Use GetIndicatorAsManagedObject instead of ConvertToIndicator
* Add regression tests
Build & Test Lean / build (push) Has been cancelled
Regression Tests / build (push) Has been cancelled
Report Generator Tests / build (push) Has been cancelled
Research Regression Tests / build (push) Has been cancelled
Python Virtual Environments / build (push) Has been cancelled
* Upgrade IB gateway version to 3010
* Update ib gateway version in config file
* Remove ib-version config
Let the brokerage detect or set the correct ib gateway version
Build & Test Lean / build (push) Has been cancelled
Regression Tests / build (push) Has been cancelled
API Tests / build (push) Has been cancelled
Report Generator Tests / build (push) Has been cancelled
Research Regression Tests / build (push) Has been cancelled
Python Virtual Environments / build (push) Has been cancelled
* Add new indexes, including market hours - part 4
* Resolve review comments
* Add an entry to SPDB for ASX
* Add new indexes and update the old ones
* Add entries to SPDB
Build & Test Lean / build (push) Has been cancelled
Regression Tests / build (push) Has been cancelled
API Tests / build (push) Has been cancelled
Research Regression Tests / build (push) Has been cancelled
Python Virtual Environments / build (push) Has been cancelled
Report Generator Tests / build (push) Has been cancelled
* Add bank holidays
* Add missing holidays to MHDB
* Add 2025 new year's eve bank holiday
* Add Columbus day and veterans day to bank holidays
* Add missing bank holidays entry
* Modify FuturesExpiryFunctions
* Add missing change
* Remove empty bankHolidays lists from MHDB
* Address review
* Add tests
* Address review
* Add bank holidays from 2009-2024
* Fix unit and regression tests
* Review bank holidays
* Fix tests
* MHDB tweaks
* Remove Bank holidays from CNH, MNH and MIR
* Add setting for bank holidays disabled by default
---------
Co-authored-by: Martin Molinero <martin.molinero1@gmail.com>
Regression Tests / build (push) Has been cancelled
Build & Test Lean / build (push) Has been cancelled
Python Virtual Environments / build (push) Has been cancelled
Report Generator Tests / build (push) Has been cancelled
Research Regression Tests / build (push) Has been cancelled
* Add unit test reproducing the bug
* Improve unit test
* Apply market hours database updates to instance
Make sure entries are updated instead of overridden so that consumers holding the mhdb can pick up the changes
* Improved unit tests
* Update data folder MHDB entries instead of overriding instance
* Optionally reset custom mhdb entries on reset
* Simplify mhdb reset in live trading
Cleanup and minor fixes
* Ensure symbol properties database updates are picked up by consumers
Update SPDB entries instead of overriding them, just like for the MHDB so that consumers pick up updates after refresh
* Fix for symbol properties update thread safety
* Minor improvements and cleanup
* Mhdb and spdb update logic simplification
* Move "force exchange always open" logic to mhdb
* Simplify symbol properties holder and updates
* Refactor security databases to use a common base class
Introduce BaseSecurityDatabase<T, TEntry> to encapsulate common functionality for MarketHoursDatabase and SymbolPropertiesDatabase.
* Cleanup
* Add DualSymbolIndicator unit tests
* Introduce MultiSymbolIndicator for indicators working on multiple symbols
Use the new class as base for DualSymbolIndicator and OptionIndicatorBase.
The OptionIndicatorBase can now detect when ready even if underlying and options market close is different when resolution is daily.
* Accept any BaseData for options indicators
* Improve indicator conversion from python on registration
Also minor fixes
* Cleanup and simplification
* Fix ImpliedVolatility IsReady flag
* Update regression algorithm history count
AutomaticIndicatorWarmupOptionIndicatorsMirrorContractsRegressionAlgorithm history count decreased because options indicators period is now 1 instead of 2
* Address peer review
Build & Test Lean / build (push) Has been cancelled
Regression Tests / build (push) Has been cancelled
Report Generator Tests / build (push) Has been cancelled
Research Regression Tests / build (push) Has been cancelled
Python Virtual Environments / build (push) Has been cancelled
* Initial solution
* Update regression test
* Update assertions
* Resolve PR comments
* Add more order types to regression test
* Update regression algorithm name
* Update old regression algorithm
* Refactor validation to check buying power only for non-ComboLeg update orders
* Update ValidateSufficientBuyingPowerForOrders
* Update regression algorithm
* Resolve review comments
* Use try out pattern