In order to add support custom python indicators for `QCAlgorithm.PlotIndicator`, we created a `PythonIndicator` class that wraps the custom python indicator. In `QCAlgorithm`, the reference of the wrapper is saved into a dictionary keyed by the python indicator handle.
This helper method can be used to warm up indicators individually whether it is created after the security has been added to the universe or before (universe selection scenario).
- Fix the subscription addition to `SubcriptionManager` when a History request is made before the security is created, since it should be not added.
- `IndicatorBase.Update` does not throw when an input is older than the last update. We only log (adds QuantConnect.Logging dependency to QuantConnect.Indicators) the error and discard the addition. Removes unit test for that exception.
- Updates PythonNet to 1.0.5.17
- Improve performance by adding new `interop` `type` cache holding a `bool`, true if its an `exception`. And adding a `setter` and `getter` cache for the `propertyobject`. Closes#2925.
- Decimal parsing allows numeric string in exponential notation. Closes#2918#2919.
Closes#2929
- Requires a new PythonNet 1.0.5.15 package where the different `.dll` are in a
specific folder: `\win` `\linux` and `\osx`
- Removed not present `decimal.py` from `Algorithm.Python` project. It
was moved into `Common`.
- Replace `xbuild` for `msbuild` required for using the `System.Runtime.InteropServices`.
Also note the `xbuild` on travis prints:
> >>>> xbuild tool is deprecated and will be removed in future updates, use msbuild instead <<<<
In the new package:
- C# decimal conversion will use C# double and python float due to the big performance impact of converting C# decimal to python decimal;
- Adds log to display the python version the algorithm is using.
- Fixes python algorithms that were failing because of small subtleties
like leading zeroes.
- Updates pythonnet with a version compiled with python 3.6 flags
- Changes in DockerfileFoundation: we now use miniconda to manage the python
environment.
- Took the opportunity to add NTLK (#1349), Tensorforce (#1369) and
PyTorch/Pyro (#1385).
- Changes readme in Algorithm.Python to show steps to install miniconda
In this update, methods overloads with decimal parameters accept python float.
- Fixes FractionalQuantityRegressionAlgorithm:
With the pythonnet update we can pass a python float where a decimal is required.
In the advanced build settings, Language version was also upgraded from C# 5.0 to C# 6.0. The minimum Visual Studio version required will now be VS2015.
Represents an indicator that is a ready after ingesting a single sample and always returns the same value as it is given if it passes a filter condition
Adds an example algorithm
Refactors existing consolidators, indicators, and helper methods to depend on
IBaseData instead of BaseData. These updates also defines an IBaseDataBar to
act as an abstraction point between TradeBar and QuoteBar.
* Adds Intercept and Slope members in LeastSquareMovingAverage
* Implements the RegressionChannel indicator
The Regression Channel indicator extends the LeastSquaresMovingAverage with the inclusion of two (upper and lower) channel lines that are distanced from the linear regression line by a user defined number of standard deviations.
Adds tests.
* Renames Regression Channel properties
Remove *Line from Regression Channel properties
Adds reference
* Adds RegressionChannelAlgorithm
Adds RegressionChannelAlgorithm
Minor changes on the indidicator
Adds tests for the channels
* Intercept and Slope becomes IndicatorBase instead of WindowIndicator
* Fix LSMA Next Value calculation
Adds WindowIdentity indicator and its test. We need this at WeightedBy to keep values and weights at sync (same sample number).
Adds WeightedBy indicator extension and a simple test in IndicatorExtensionsTests
Adds VolumeWeightedAveragePriceIndicator (VWAP indicator), its test and external data file for testing.