Commit Graph

166 Commits

Author SHA1 Message Date
AlexCatarino 84d548b5f2 Adds Custom Python Indicator Support for QCAlgorithm.PlotIndicator
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.
2019-07-23 22:02:33 +01:00
Martin Molinero f6b5e92a96 Add conditional optimization flag 2019-06-19 16:11:15 -03:00
AlexCatarino c3de660551 Updates pythonnet to 1.0.5.20 2019-04-23 23:15:14 +01:00
AlexCatarino 672cea86a6 Adds QCAlgorithm.WarmUpIndicator Method
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.
2019-04-18 23:28:48 +01:00
AlexCatarino da6519b9f4 Updates pythonnet to 1.0.5.19
Updates PythonNet to 1.0.5.19
 - Related  https://github.com/QuantConnect/pythonnet/pull/28/
2019-04-02 17:17:40 +01:00
AlexCatarino 6d2460d8ed Updates pythonnet to 1.0.5.18
- Updates PythonNet to 1.0.5.18
  - Cherry picks the memory leak fix from upstream/pythonnet
2019-03-28 00:47:38 +00:00
AlexCatarino d91cad3123 Updates pythonnet to 1.0.5.17
- 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
2019-02-22 17:46:59 +00:00
Martin Molinero d53a922cf0 PythonNet installation does not require copy pasting
- 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 <<<<
2019-01-22 19:48:11 -03:00
AlexCatarino ef59fa7ba2 Updates pythonnet package.
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;
2019-01-18 23:18:35 +00:00
AlexCatarino 823bb01438 Updates pythonnet
Includes memory leak fix (https://github.com/QuantConnect/pythonnet/commit/c6db86653e7fa4fa89e1f8404d72e346b67ed857 and https://github.com/QuantConnect/pythonnet/commit/bec9563d2958acc5adf3e8972b23609fe3914402)

- Fix python version to 3.6.6 (avoid updating to 3.7)
- Fix numpy version to 1.14.5 (tensorflow requirement)

- Adds py-earth python package (closes #2399).
2018-12-07 09:36:48 +00:00
AlexCatarino 8e3b7153b2 Rebase with pythonnet/master and fix datetime UTC bug
Updates pythonnet with pythonnet/master and fix datetime issue ([65ac279](https://github.com/QuantConnect/pythonnet/commit/65ac279a03dbded39fe3e28bb79c233f0c970f6f)).
2018-07-16 11:52:54 +01:00
AlexCatarino a4db921b87 Updates pythonnet
Rebase with pythonnet/master
2018-04-09 18:59:59 +01:00
Michael Handschuh 81f8fbfb85 Add IntradayVwap indicator w/ VWAP(symbol) helper
This is the traditional VWAP indicator that resets each day at market open.
2018-04-06 16:27:14 -04:00
AlexCatarino 403bafc3ca Implements WilderMovingAverage indicator
Implements the `WilderMovingAverage` indicator. It is a special exponential moving average which uses a simple moving average as seeding.
2018-03-21 00:13:37 +00:00
Michael Handschuh 18a559943e Upgrade LEAN Python to 3.6 from 2.7
- 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
2018-02-23 15:09:06 -05:00
Stefano Raggi a39e6a8e28 Revert "Merge pull request #1526 from AlexCatarino/python3"
This reverts commit 2e523992d0, reversing
changes made to fa48fc23ea.
2018-02-14 16:03:12 +01:00
AlexCatarino 34a271adac Updates pythonnet
In this update, we had compiled pythonnet with python 3.6 instead of 2.7 flags
2018-02-13 13:00:50 +00:00
Juan José D'Ambrosio e7223da4a7 Coppock Curve indicator implementation 2018-01-30 12:05:13 -03:00
AlexCatarino 9459f47cba Updates pythonnet
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.
2017-12-29 17:25:48 +00:00
AlexCatarino c912c0d190 Updates pythonnet
In this update, we fixed type correspondence from C# Decimal to python decimal that caused wrong method overload binding.
2017-12-18 10:57:26 +00:00
AlexCatarino 933022fb8b Adds pythonnet to QuantConnect.Indicators project 2017-10-24 16:52:53 +01:00
jjd 354da79c04 DetrendedPriceOscillator indicator.
Small redudant code fix at CompositeIndicator.cs
2017-10-11 09:56:57 -03:00
Jared 57fa355fc0 Merge pull request #1109 from Jay-Jay-D/IndicatorMassIndex
Indicator mass index
2017-09-06 16:38:38 -04:00
jjd d8b2a1a63b Test passed 2017-09-01 14:40:26 -03:00
jjd 21a7685e64 helper method added. 2017-08-29 15:48:08 -03:00
Andrew e116709b24 Specify <LangVersion> of 6 in all csproj files 2017-08-07 15:27:26 -04:00
Stefano Raggi 4f483abcd9 Upgrade libraries Accord.NET, CloneExtensions, MathNet, QLNet 2017-07-08 00:31:40 +02:00
Stefano Raggi e463ccf088 Upgrade all projects to target .NET Framework 4.5.2
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.
2017-07-07 22:49:17 +02:00
jjd 68ddbbc84f ALMA and test implemented. 2017-05-02 10:42:01 -03:00
jjd c37282d522 HullMovingAverage, tests and helper method implemented 2017-04-27 20:52:27 -03:00
AlexCatarino 0f46f34418 Implements FilteredIdentity indicator
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
2017-03-06 14:40:14 -03:00
Andrew Hart 5a633df6e9 Make xml comment file names consistent across projects
For project that have xml comment files, make the comment file end with .xml instead of .Xml or .XML.
2016-12-30 16:18:54 -05:00
Michael Handschuh 591f6b2127 Use IBaseData in type constraints
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.
2016-11-09 09:20:16 -05:00
Alexandre Catarino 47a75771c6 Implements the RegressionChannel indicator (#584)
* 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
2016-10-10 11:48:09 -04:00
jameschch@outlook.com 4aa4d3372f Adds Swiss Army Knife Indicator 2016-05-31 14:56:09 +01:00
jameschch@outlook.com 085f906a9e Adds FRAMA indicator 2016-05-24 12:19:21 +01:00
AlexCatarino 34b664460d Adds VWAP indicator via WeightedBy indicator extension
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.
2016-04-21 19:34:52 -03:00
AlexCatarino 4748443667 Adds Fisher Transform indicator
Adds Fisher Transform indicator, its test and external source for comparison
2016-04-18 11:53:48 -03:00
Michael Handschuh 4a8e3612e9 Move RollingWindow<T> to Common/Indicators 2016-04-05 21:54:50 -04:00
Michael Handschuh ca0a12f2ab Move IIndicator<T> to Common/Indicators 2016-04-05 20:01:50 -04:00
Michael Handschuh b0ca9a7edd Extract IIndicator<T> interface from IndicatorBase<T> 2016-04-05 19:35:06 -04:00
Michael Handschuh 329c217e4b Move IndicatorDataPoint to Common/Indicators 2016-04-05 19:17:16 -04:00
Stefano Raggi 6b0fa8259a PercentagePriceOscillator now derives from AbsolutePriceOscillator 2016-03-24 02:18:21 +01:00
Stefano Raggi ad60c42e75 Adds PercentagePriceOscillator indicator (PPO) 2016-03-23 21:15:39 +01:00
Stefano Raggi 890d668653 Adds AbsolutePriceOscillator indicator (APO) 2016-03-23 20:53:08 +01:00
Michael Handschuh 2b6ca278b8 Merge branch 'midprice-indicator' of https://github.com/StefanoRaggi/Lean into StefanoRaggi-trix-indicator 2016-03-22 11:14:54 -04:00
Michael Handschuh 1aee77e317 Merge branch 'trix-indicator' of https://github.com/StefanoRaggi/Lean into StefanoRaggi-trix-indicator
Conflicts:
	Algorithm/QCAlgorithm.Indicators.cs
	Tests/QuantConnect.Tests.csproj
2016-03-22 10:56:26 -04:00
Michael Handschuh e54d0f7d5d Merge branch 'ultosc-indicator' of https://github.com/StefanoRaggi/Lean into StefanoRaggi-ultosc-indicator
Conflicts:
	Algorithm/QCAlgorithm.Indicators.cs
2016-03-22 10:54:11 -04:00
Stefano Raggi 1a797a5c42 Adds MidPoint indicator (MIDPOINT) 2016-03-21 21:20:11 +01:00
Stefano Raggi 4dd9f2cf14 Adds Trix indicator (TRIX) 2016-03-20 11:31:38 +01:00