- Implementing `QCAlgorithm.AddUniverseSelectionModel`
- Adding C#/Py regression algorithms using the new API
- Modifying `ManualUniverSelectionModels` symbol, adding hash of
the selected `Symbol.Values`
- Modifying `Coarse` and `Fine` symbol, adding random GUID
- Adding `NullUniverseSelectionModel`
Removes `G10CurrencySelectionModel` from `Algorithm.Framework` and implement them in the `G10CurrencySelectionModelFrameworkAlgorithm`
Minor change in the Python version of `ManualUniverseSelectionModel` to improve exception messages.
- Adding new `CompositeAlphaModel.AddAlphaModel()`
- Adding C#/Py regression algorithms using the new `QCAlgorith.AddAlphaModel()`
- Improving exception message
- Add python version of `QCAlgorith.AddAlphaModel()`
- Removing `using QCAlgorithmFramework = QuantConnect.Algorithm.QCAlgorithm`
- Removing `QCAlgorithmFrameworkBridge`
- Removing `IsFrameworkAlgorithm`
- Making `EmitInsightBasedOnFill` private. Adding new
`IOrderEventProvider` exposing an `event` to which `QCAlgorithm` will
subscribe.
- `AccountType.Cash` algorithms will be allowed to manually trade and
emight insights manually or with alpha model.
- Classic Algorithms will emight insights based on order fills.
- To be able to update generated insights closed time, we will not
clone emitted insights.
- `InsightAnalysisContext` will update `AnalysisEndTimeUtc` when the
Insight period is closed and the period is `EndOfTimeTimeSpan`
- Adding new regression algorithm asserting on the new emitted insights
- Adding unit tests
- `LiveTradingResultHandler` will store `AlphaRunTimeStatistics`
- Making `DefaultAlphaHandler.ProcessAsynchronousEvents` virtual to
facilitate cloud changes
In this new UniverseDefintions, a member, QC500, defines the QC500 Universe. This helper can be used to add that custom universe to the user algorithm (both in C# and Python).
- ConstituentsQC500GeneratorAlgorithm:
- Change monthly flag to be consistent with Selection Model that cannot use Schedule events.
- Use a Dictionary keyed by `Symbol` instead of `string`.
- Selector functions return `Universe.Unchanged` instead of empty list;
-Refactoring and more informative logging.
- QC500UniverseSelectionModel
- SelectFine methods were performing all the logics every day and it should be only once per month
- Log and return `Universe.Unchanged` before division by zero if universe drops to zero members after filtering before selection by sector.
- Refactoring
* Previous version entered Nifty OnData method prior to initializing CorrelationPair in DollarRupee method
Made this adjustment to ensure that CorrelationPair is properly instantiated -- previous method didn't initialize it in DollarRupee OnData method and so failed in evaluation later. Also, the Python version of this algo. used Portfolio.MarginRemaining to calculate quantity and so I changed this one to ensure they return the same results.
* Minor spacing edits to make cleaner