4926a4f2cdf6062caa499af9106fb599cd45ede6
12 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
683bfe007a |
Avoid emitting overlapping fill forwarded data (#9107)
Syntax Tests / 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
Python Virtual Environments / build (push) Has been cancelled
Report Generator Tests / build (push) Has been cancelled
Research Regression Tests / build (push) Has been cancelled
* Avoid emitting overlapping fill forward data * Cleanup |
||
|
|
16fdf61903 |
Track securities addition and removal notifications (#9097)
* Track security addition and removal sent notifications * Minor regression algorithm fixes * Fix regression algorithms data points count * Add description to new regression algorithms * Simplify tracking removal notifications * Cleanup |
||
|
|
c81f5d7d1a |
Seed securities by default (#9045)
Build & Test Lean / 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
Report Generator Tests / build (push) Has been cancelled
Research Regression Tests / build (push) Has been cancelled
Syntax Tests / build (push) Has been cancelled
Python Virtual Environments / build (push) Has been cancelled
* Add SeedInitialPrices algorithm setting This is true by default and indicates that the engine will seed initial prices right after the security is added or selected * Update regression algorithms * Update regression algorithms * Update regression algorithms * Refactor default securities seeding * Minor fix * Minro fixes * Cleanup * Updated and add regression algorithms * Address peer review * Centralize logic to get last known data for multiple securities * Some cleanup * Minor build fix * Minor fixes * More logic centralization * Some more cleanup * Cleanup * Update regression algorithms and minor fixes * Update regression algorithms * Minor fix * More minor fixes * Update regression algorithms * Cleanup * Minor test fix * Address peer review * Minor fix and performance improvement * Fix to seed open interest data * Minor test fixes * Address peer review * Minor change * Minor revert * Minor fixes and improvements * Disable initial seeding by default * Minor fixes * Cleanup * Cleanup * Minor fix |
||
|
|
4961844f82 |
Refactor user define universe handling (#9088)
* Refactor user define universe handling - Normalize user define universe additions and removals to behave like other subscriptions without requiting special handling * Minor fixes |
||
|
|
7008d17714 |
Add MaxDrawdownRecovery metric (#8865)
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
Syntax Tests / build (push) Has been cancelled
Python Virtual Environments / build (push) Has been cancelled
* Implement a prototype of the maximum recovery time function. * Add unit test skeletons. * Add failing test * Issue #4581: Implement MaxDrawdownRecoveryTime. * Issue 4581: Add DTO for Drawdown Percentage, Drawdown Enddate, and High Value * Issue 4581: Fix bgu for when lDrawdowns list is empty. * Issue 4581: Change names of tests. Change name of file. * Issue 4581: Make adjustements to flow of adding drawdowns to lDrawdowns. * Issue 4581: Add multiple unit tests. * Issue #4581: Change name of unit test * Issue #4581: Add to PerformanceMetrics * Issue #4581: Add Maximum Drawdown Recovery to PortolioStatistics class. * Issue #4581: Add to portolfio statistics class. * Issue #4581: Add to statistics builder. * Issue #4581: Add report key. * Case #4581: Convert to decimal. * Issue #4581: Correct comment. * Issue #4581: Correct performance metrics view model string. * Case #4581: Correct statistics builder view model string..again. * Issue #4581: Placed DradownDradownDateHighValueDTO at the end of the file for simpler diff. * Issue #4581: Add 2 new tests. * Issue #4581: Change algorithm so that when multiple maximum drawdowns occur, the longest of all recoveries is reported. * Issue #4581: Add unit test. * Issue #4581: Remove reportkey. Change dto name. * Issue #4581: Change summary. * Issue #4581: Change comment. * Add max drawdown recovery calculation with unit tests * Update regression algorithms with the new metric * Solve review comments * Update regression algorithms * Add TryGet to safely get the key: MaximumDrawdownRecovery * Ignore MaximumDrawdownRecovery metric in OptimizationBacktest Json * Revert changes in Messaging * Update regression algorithms * Add test case: TakesLongestRecoveryAmongMultipleDrawdowns * Use integer days for MaximumDrawdownRecovery * Add MaximumDrawdownRecoveryReportElement * Use more explicit names * Rename files and variables for consistency * Update regression algorithms --------- Co-authored-by: Alain Schaerer <aschaerer@pcatg.com> |
||
|
|
69d2f5ae82 |
Futures and Future Options file-based universes (#8480)
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 |
||
|
|
ec428c5f6c |
Daily options contracts valid open interest values (#8450)
* Fix for daily options open interest data to be added to contracts * Cleanup * Update regression algorithms stats * Minor fix and cleanup * Minor fix * Minor fix * Update regression algorithms data point count * Address peer review |
||
|
|
7eea365aa1 |
Let delistings through for internal subscriptions (#8398)
* Let delistings through for internal subscriptions Without it, previously mapped continuous future contracts for which a position is open never received a delisting event for them to be liquidated and marked as non-tradable * Update regression algorithm stats * Revert/remove transaction handler initialization parameters DTO class * Cleanup |
||
|
|
e29bb2c5e0 |
File-based options universe (#8212)
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
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> |
||
|
|
363d469d6a |
Minor indicator history fix (#8270)
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
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 |
||
|
|
7879795207 |
Enable daily precise end time by default (#8254)
API Tests / build (push) Has been cancelled
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 |
||
|
|
5226b7a468 |
Add more options to Field class (#8228)
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
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 |