* Test
* Fix price shift on continuous future rollover
* Keep track of both data and exchange time in subscription data reader
* Fix for daily and hourly resolutions.
Add daily and hour algorithms
* Fixes for emitting new exchange dates at the beginning and end when data is not available
* Cleanup
* Minor fix
* Minor fix: detect mapping in data reader after advancing time keeper
* Minor fix
* More fixes
* More fixes
* Fixes for universe files
* More fixes for daily resolution data
* Separate DateChangeTimeKeeper to its own file
* Add DateChangeTimeKeeper unit tests
* Minor fix
* Add more DateChangeTimeKeeper unit tests
* Address peer review
* Address peer review
* Address peer review
* Detect mappings using the config NewSymbol event
* DateChangeTimeKeeper performance improvement for time zone conversions
* Clean up date change time keeper
* Cleanup
* Minor regression algo update
* Cleanup
* Cleanup
* Fix perform universe selection on sundays for continuous futures with extended market hours
* Cleanup
* Address peer review
* More cleanup
* More cleanup
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
* feat: sort property in SubscriptionDataSource
* refactor: read lines (with sort opportunity) in TextSubscriptionDataSourceReader
* refactor: xml description of Sort property in SubscriptionDataSource
* revet: TextSubscriptionDataSourceReader changes
* feat: develop UnsortedTextSubscriptionDataSourceReader
* remove: UnsortedTextSubscriptionDataSourceReader
* feat: develop SortEnumerator
feat: use SortEnumerator in SubscriptionDataReader
* revert: TextSubscriptionDataSourceReader changes
* feat: use sort Enumerator in LiveCustomDataSubscriptionEnumeratorFactory
* test:feat: Unsorted Live Data Feed with using Object Store
* test:feat: history CustomData request with unsorted data
* refactor: develop TryWrapper on SortEnumerator
* remove: extra spacing
* refactor: Sort in SubscriptionDataSource
* feat: add RegressionAlgorithms when source return data in Descending format
* refactor: xml description of prop Sort in SubscriptionDataSource
* refactor: SortEnumerator
* test:refactor access modifier in ExampleCustomDataWithSort
* test:refactor: increase performance LiveDataFeedSourcesDataFromObjectStore
* feat: add xml comment of regression algorithm
* test:revert: access modifier to public in internal test class
* test:refactor: use while instead of timer
* Revert "test:refactor: use while instead of timer"
This reverts commit 4fe43da8094df366f7ae4b361c97a4a14b815c32.
* Fix pandas converter to handle list of data with different symbols
* Properly convert list of data into dataframe
Take into consideration data for multiple symbols in the same list
* Cleanup
* Index dataframes by symbol object instead of SID string
* Add symbol equality operator to compare against object
* Exclude "ID" from option chain dataframe
* Minor fix
* Add greeks columns directly in option chain dataframe.
Also add pass-through properties for greek values in OptionUniverse
* Some cleanup
* Minor fix
* Add new QCAlgorithm.OptionChains() method
- Use OptionChains as output
- Add DataFrame to OptionChain and OptionChains
- Rename Greeks classes
- Add ISymbolProvider for classes that have a symbol (IBaseData, OptionContract)
* Unify QCAlgorithmOptionChain API
Also refactor OptionContract to handle: (1) Actual market data and option price model data, and (2) OptionUniverse data
* Pass symbol properties to OptionUniverse option chain from algorithm
* Format OptionContract for dataframe
* Minor fix
* Add multiple option chains api regression algorithms and other minor changes
* Address peer review
Add NullGreeks class: keep ModeledGreeks as internal as possible
* Minor fix and add PandasConverter unit tests
* Peer review: Non-thread-safe Lazy for Python
* Handle Greeks unwrapping by PandasData
* PandasData cleanup
* Add data and other minor changes
* Unit test fix
* Update Pythonnet to 2.0.39
* Cleanup
* PandasData handling children class members
Address peer review
* Fix: indexing symbol conversion in pandas mapper
* Fix pandas mapper to convert string keys to symbol only when necessary
* Cleanup
* Cleanup
* Add PandasColumn python class to handle proper indexing
This allows propery hash and equality between Symbols, C# strings and Python strings
* Minor fixes
* Symbol cache improvements
* Minor fix for cache miss
* Revert PandasMapper reserved names and improvements
* Minor fix
* Revert reserved names
* Minor fix for Symbol equality operators
---------
Co-authored-by: Martin Molinero <martin.molinero1@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
API Tests / build (push) Has been cancelled
Build & Test Lean / build (push) Has been cancelled
Python Virtual Environments / build (push) Has been cancelled
* Enhance command support
- Enhance command support, adding link helper methods. Adding and
expanding new tests
- Minor improvement for command str representation
* Minor test fix
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
* remove: not used proxy config TradeStation
* feat: missed config of TradeStation in Launcher
* feat: support new OrderTypes in TradeStationBrokerageModel
Build & Test Lean / 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
Regression Tests / build (push) Has been cancelled
Report Generator Tests / build (push) Has been cancelled
* Option universe improvements
- Improvement for resolution handling of option universes, affecting
performance in live mode. Adding regression algorithm
* Minor fix for research test
Build & Test Lean / build (push) Has been cancelled
Research Regression Tests / build (push) Has been cancelled
API Tests / build (push) Has been cancelled
Benchmarks / build (push) Has been cancelled
Regression Tests / build (push) Has been cancelled
Report Generator Tests / build (push) Has been cancelled
Python Virtual Environments / build (push) Has been cancelled
* Fix: adjust option expiry reference date
* Add universe files
* Update data and other minor changes
* Minor changes
* Add regression algorithm summary
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
* EUREX data
EUREX data model and sample data
* Add EUREX futures expiry function and sample algorithms
* Add EuroStoxx50 futures map and factor files
* Reduce eurex data for repo
* Map eurex market to primary exchange
* Update Euro Stoxx 50 (FESX) map and factol files
* Update Euro Stoxx 50 (FESX) minute data
* Added EURSD data
* Added 2 basic FESX futures algorithms in CSharp and Python (#2)
* Add regression algorithms
* Update regression algorithms and data
* Minor change
* Cleanup
---------
Co-authored-by: paulius-an <118921953+paulius-an@users.noreply.github.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
* Initial options universe with greeks implementation
* Options universe improvements
* Address peer review
* File based options universe fixes and improvements.
- Adjust OptionUniverse start-end times and period.
- Adapt unit tests and some algorithms to pass with new options universe selection.
* Updated options regression algorithms stats for new universe data
* Updated options regression algorithms stats for new universe data
* Updated options regression algorithms stats for new universe data
* Updated options regression algorithms stats for new universe data
* Updated options regression algorithms stats for new universe data
* Option chain provider with new options universe
* Allow canonical option history requests
* Address peer review
* Address peer review
* Fix symbols parsing in OptionUniverse
* Fix universe selection subscriptions start time to not include extended market hours
* Minor changes
* Minor changes
* Peer recommended changes and fixes
* Update regression algorithm stats
* Update regression algorithms stats and minor fixes
* Fix option chain provider history request
* Round option indicators values
* Added option universe csv header property
* Update regression algorithms stats
* Update regression algorithms stats
* Data fixes and regression algos stats update
* Unit test fixes
* Minor changes
* Option chain handling in live trading data feed
* Minor changes
* Added processed data provider
* Fix thread-safety violation in Slice class
* Minor change
* Update options filter universe API to use OptionUniverse data
Add new filter methods for greeks, IV and open interest
* Option filter universe api updates
* Add OptionUniverse history regression algorithms
* Add regression algorithms for new options filter universe api methods
* Added options greeks data and updated regression algorithms
* Address peer review
* Address peer review
* Add more assertions to new options filter api regression algorithms
* Minor performance improvement.
Reduce greeks binomial model steps to 140
* Minor tests updates
* Greeks numerical models performance improvements
* Greeks numerical models performance improvements
* Revert array pool change for option pricing numerical models
* Update default dividend yield provider depending on option type
* [TEST]
* Add helper method con calculate time till expiration
* Use double in price option numerical models
* Implied volatility calculation improvements
- Adjust root finding method accuracy as a factor of the option price
- Use BSM to get a first guess
* Cleanup
* Some regression algorithms and unit tests cleanup
* Regression tests updates after rebasing from master
* Add universe files
* Self review and cleanup
* Minor regression tests updates after rebase
* Fix: set data time zone to same as exchange tz for options universes
* Minor change
* Minor change
* Fix for live trading options universe selection
* Keep underlying when aggregating collections in BaseDataCollectionAggregatorEnumerator
* Update index options regression algorithms stats
* Minor change
* Address peer review
* Memory usage improvements
* Minor build fix
* Minor changes and test fixes
* Cache symbols in OptionUniverse
* Cleanup
* Fix index option creation in OptionUniverse
* Use cached underlying SID when parsing from string
* Abstract symbols cache to BaseDataCollection
* Return actual underlying symbol when mapping decomposing ICO ticker
* Address peer review
* Minor performance improvements reduce garbage
* Limit Symbols and SIDs cache size to help with memory usage
* Minor fix in symbols and sid cache cleanup
* Build fix
* Lazily parse greeks on individual access
* Cleanup and tests
* Address peer review
* Minor greeks fix
---------
Co-authored-by: Martin Molinero <martin.molinero1@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
Build & Test Lean / build (push) Has been cancelled
Python Virtual Environments / build (push) Has been cancelled
* refactor: adding OrderId in GroupOrderManger
* feat: new support of OrderTypes in TradeStationBrokerageModel
feat: unSupported OrderTypes in CanUpdateOrder's TradeStationBrokerageModel
* feat: AllOrNone property in TradeStationOrderProperties
* feat: unsupported SubmitCrossZero of Combo Order in TSBrokerageModel
* test:feat: submit / update CrossZero Combo Orders
* feat: new Message Brokerage error message
refactor: use new Message in TradeStationBrokerageModel
* feat: setter of Id in GroupOrderManager
* feat: new constructor of GroupOrderManager
* feat: develop GroupOrderCacheManager service
* fix: groupOrderManger.Id in OrderProvider
* fix: incrementOrderGroupOrderManagerID in BrokerageTransactionHandler
feat: add _groupOrderManagerId in OrderProvider
* remove: extra semicolon
* refactor: prevent increment GroupOrderID
* feat: add new Exchanges
* feat: Try Get Group Combo Orders extension
* refactor: ComboORderType in TSBrokerageModel
* remove: implementing of prop ID in GroupOrderManager
* refactor: UnsupportedCrossZeroByOrderType message
* fix: warning of UnsupportedCrossZeroByOrderType
* fix: several exchanges code based on tradier docs
https://documentation.tradier.com/brokerage-api/reference/exchanges
* feat: add missed Exchange in Global class
* refactor: possible update LimitPrice in TSBrokerageModel
test:feat: validate upddate LimitPrice of ComboLimit Order
* refactor: GroupOrderCacheManager
remove: TryGetGroupCachedOrders from extension
* refactor: exchange SPHR to MIAX_SAPPHIRE
* remove: Exchange BYX cuz It is BATS_Y
* refactor: change position of Exchange C2
* refactor: change constructor's access modifier in class Exchange
Report Generator Tests / build (push) Has been cancelled
Regression Tests / build (push) Has been cancelled
Build & Test Lean / build (push) Has been cancelled
Python Virtual Environments / build (push) Has been cancelled
Research Regression Tests / build (push) Has been cancelled
* First draft of the solution
* The same check for crytpo is done before
* Fix failing unit tests
* Remove non perpetual crypto futures from SPDB
* Address requests
* Fix failing unit 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
* Minor indicator history fix
- Take into account warmup period when used, the last bar of the warmup
period is counted as a data point.
- Fix bug where in some cases the last data point could of been missed
and the indicator not updated with it
* Minor tweak
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 dividend yield calculation
* Get security price as input for dividend yield provider
* Account for splits in dividend yield provider
* Fix split adjustment for dividend yield calculation
* Use right dividend yield in options indicators
Build & Test Lean / build (push) Has been cancelled
Report Generator Tests / build (push) Has been cancelled
Python Virtual Environments / build (push) Has been cancelled
Regression Tests / build (push) Has been cancelled
Benchmarks / build (push) Has been cancelled
Research Regression Tests / build (push) Has been cancelled
* Default daily precise end times
- Enable by default daily precise end times. Updating stats
- Minor fix for algorithm manager consolidator updates, adding new regression test
asserting behavior and updating others
- Minor fix for SubscriptionData creator avoid round down on warmup if
not appropiate
- Adjust consolidators to emit on daily strict end times if requested
daily resolution and setting enabled
- Updating regression algorithms
* Skip daily data on extended market hours
* Some cleanup and self review
* Revert unrequired change
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
* First draft of the solution
* Reduce duplication and add more properties
* Add regression tests
* Add xml docs
* Add unit tests
* Improve regression and unit tests
* Address requested changes
* Address request and improve unit tests
* Add unit test and fix bug
* Improve unit tests and implementation
* Nit change
* Address reviews
* Improve regression tests
* Address requests
* Fix bug
* Address requests
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
Report Generator Tests / build (push) Has been cancelled
Research Regression Tests / build (push) Has been cancelled
* feat: new constructor of AlgorithmNodePacket
* refactor: extract JobQueue configuration
* remove: not used `using` in IDataDownloader
* feat: create BrokerageDataDownloader
* Revert "refactor: extract JobQueue configuration"
This reverts commit 5778936b712befd6e367bee3decc4a3565ca69af.
* Revert "feat: new constructor of AlgorithmNodePacket"
This reverts commit d7a565ff761243ae1391bd45fd10c93221f0329e.
* feat: new config `data-download-brokerage` in DataDownloadProvider
* refactor: initialize in BrokerageDataDownloader
* remove: not used `using` in Program's DataDownloadProvider
* remove: not used ref on QuantConnect.Queue proj
* refactor: use default market based on SecurityType
* refactor: MarketName in DataDownloadConfig struct
test:feat: validate MarketName
* feat: support Canonical Symbols in BrokerageDataDownloader
* remove: not used command arguments
* feat: init CacheProvider of IOptionChainProvider in Downloader
* feat: add brokerage message event in BrokerageDataDownloader
* Set best recommended model based on option style.
The best option model will be used in options indicators based on option style if not specified
* Reduced Greeks/IV numerical models steps to 100
* Minor fixes
* Minor changes and improvements
* Changed default pricing model for IV
* Minor performance improvements
* Minor performance improvements and fixes
* Minor change
* Minor regression algorithm fix
* Update greek indicators internal IV indicator only when not user provided
* Revert unnecessary changes
* Minor changes
* Cleanup
* Made changes in the ParseOptionTickerOSI function. Now it can handle both with and without space
* added new function GenerateOptionTickerOSICompact and added the test cases for it, expanded test cases for ParseOptionTickerOSI
* added assertions for strikePrice and date, corrected the indentation
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
* First draft of the solution
* First draft of the tests
* Nit changes
* Nit change
* Add improvements
* Improve unit tests
* Regression algos
* Nit change
* Nit changes
* Improve unit tests
* Improve unit test
* Nit change
* Address reviews