Commit Graph

361 Commits

Author SHA1 Message Date
Michael 975c2845c3 Merge pull request #2246 from QuantConnect/feature-2245-updates-pythonnet
Update pythonnet version to v1.0.5.8
* Includes fix for date time UTC bug
2018-07-18 11:26:19 -04:00
Martin Molinero ff5e888313 Fix for delisted subscription data being sent 2018-07-18 09:45:13 -03: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 0a6488ba5b Removes PairsTradingAlphaModelFrameworkAlgorithm
This algorithm uses the `BasePairsTradingAlphaModel` that should only be used as a base class, since it doesn't have a method to select the pairs.
2018-07-11 23:40:30 +01:00
AlexCatarino 6121236f20 Implements PearsonCorrelationPairsTradingAlphaModelFrameworkAlgorithm
This algorithm is an example on how to extend the `BasePairsTradingAlphaModel` to select a pair to trade based on pearson correlation.
2018-07-11 23:40:29 +01:00
Martin Molinero 96dc5e8673 Moving IRegressionAlgorithmDefinition to QuantConnect.Common 2018-07-03 13:34:27 -03:00
Jing Wu 15e67b4ddd Renamed IndicatorWarmupRegressionAlgorithm 2018-06-28 11:56:23 -04:00
Jing Wu 891cd5952a Renamed HistoryAndWarmupRegressionAlgorithm 2018-06-27 17:42:35 -04:00
Michael Handschuh 9ee61f425c Refactor regression algorithm to IRegressionAlgorithmDefinition
A mechanical refactoring was performed to make algorithms currently used in
regression algorithms to implement IRegressionAlgorithmDefinition, which allows
algorithms to define their own expected statistics and what languages should be
run as part of regression. The type name of the  C# type is used to determine the
file/model name for python. This was for simplicity, but if needed, could later be
refactored to expose more information, but for now the convention of keeping names
the same makes sense and just works easily.
2018-06-05 12:10:50 -04:00
Michael Handschuh ad331118ab Add refresh to IUniverseSelectionModel to support dynamic universes
This change allows the universe selection model to select different universe
definitions as time proceeds. This enables the definition of a universe model
that, for example, could add option chains for securities selected by a different
universe model.

The BasicTemplateOptionsFrameworkAlgorithm was added to showcase and provide
regression for a universe model that selects different universes.
2018-05-31 11:48:23 -04:00
Michael Handschuh 80e01e0d1f Add support for removing universes
Adds the concept of universe disposal which is requested by an algorithm
through invocation of UniverseManager.Remove, which is invoked via
algorithm.RemoveSecurity. This instructs the data feed that the algorithm
has requested to completely remove the universe and any child subscriptions
from the feed. Security changes are fired for all removed securities.
2018-05-30 15:55:33 -04:00
Michael Handschuh e95157b097 Add QCAlgorithmFrameworkBridge for easier porting of QCAlgorithm
Provides demonstration algorithm showing the steps required to convert a
QCAlgorithm into the framework with minimal code changes.

1. Subclass QCAlgorithmFrameworkBridge
2. Add EmitInsights calls to where orders are placed
3. Profit :)
2018-05-29 22:42:16 +01:00
Michael Handschuh 6f4b15e182 Add demonstration of porting old algorithm to framework 2018-05-29 22:41:07 +01:00
Jared f0a3196b00 Merge pull request #2041 from jingwu74/master
Adding Benchmark algorithms
2018-05-29 17:38:55 -04:00
Jing Wu 6e8dd0d40f modify project file 2018-05-26 01:55:39 -04:00
Stefano Raggi ae427a14d0 Add regression algorithms for this bug fix 2018-05-25 22:06:28 +02:00
Jared d3c70c93b1 Update QuantConnect.Algorithm.CSharp.csproj 2018-05-21 19:59:31 -04:00
AlexCatarino ec63bffaa2 Modifies CoarseFundamentalTop5Algorithm
Renames CoarseUniverseTop5DollarVolumeAlgorithm.cs to CoarseFundamentalTop5Algorithm.cs: fine name was unconsistent with class name (not a QuantConnect pattern).

Adds Log method calls to python algorithm that are present in C# example.
2018-05-10 19:44:19 +01:00
AlexCatarino 24af1bd7cd Adds universe selection algorithm with custom security initilizer 2018-05-10 11:58:11 +01:00
AlexCatarino b476e22e41 Implements EmaCrossUniverseSelectionModel
Adds EmaCrossUniverseSelectionModel and EmaCrossUniverseSelectionFrameworkAlgorithm to show the new model in action
2018-05-08 18:54:17 +01:00
AlexCatarino 61b5859446 Implements SectorExposureRiskFrameworkAlgorithm
This algorithm and its regression test are meant to test the `MaximumSectorExposureRiskManagementModel`.
2018-05-03 21:53:14 +01:00
Stefano Raggi 38ac2c5d72 Add TimeInForceAlgorithm regression tests 2018-04-30 20:18:18 +02:00
Michael Handschuh 38d749caa4 Add PairsTradingAlphaModel w/ regression test
The PairsTradingAlphaModel is a simple example of defining an insight
grouping. Insights that are grouped together are assigned a unique
group-id that can be used by the portfolio construction model.

Updates were made to the CommonAlphaModelTests to give more control to
derived types. Some changes are still needed here to give securities
unique prices. I would recommend using a psuedo-random walk approach
by using Random with a constant seed value.
2018-04-19 16:30:20 -04:00
Michael Handschuh a161f4bf9d Add CompositeAlphaModelFrameworkAlgorithm w/ regression
Showcases the CompositeAlphaModel and provides a regression tests as well.
Also demonstrates using AddXXX methods coupled with a manual universe
2018-04-18 11:02:49 -04:00
Jared eb9e15c507 Merge pull request #1866 from jingwu74/master
Use available resolution in options and futures algorithms
2018-04-13 15:58:56 -04:00
Juan José D'Ambrosio bda5b11cc2 Nuspec files added for all projects.
Launcher project is packed as `QuantConnect.Lean`but as a mean ot having all Lean features just calling one package. 

In the same sense, `QuantConnect.Algorithm.CSharp` is included as package and added as dependecy in the `QuantConnect.Lean` package just to have a working example aailable out-of-the-box.
2018-04-13 07:28:34 -03:00
Jing Wu c8a66c0192 modified project file for deleting the futures daily algorithm 2018-04-12 15:41:01 -04:00
Michael Handschuh 3db242203e Add ScheduledUniverseSelectionModel
The ScheduledUniverseSelectionModel wraps the new ScheduledUniverse.
ScheduledUniverse is similar to the UserDefinedUniverse we use to create
universes for dopbox/remote files w/ symbol listing. The new abstraction
that 'turns on' this no-data/scheduled based universe behavior is the
ITimeTriggeredUniverse, which exposes GetTriggerTimes which yields the
date/times your univese selection function will be called.

A regression algorithm was also added to cover the new feature.
2018-04-10 19:24:36 -04:00
Michael 4eda0e659d Merge pull request #1825 from AlexCatarino/feature-1821-updates-pythonnet
Updates QuantConnect.pythonnet to 1.0.5.7
2018-04-09 15:38:49 -04:00
AlexCatarino a4db921b87 Updates pythonnet
Rebase with pythonnet/master
2018-04-09 18:59:59 +01:00
Stefano Raggi e034fd3960 Fix buying power error handling bug in BacktestingBrokerage
Fixes #1843
2018-04-09 19:55:12 +02:00
Michael Handschuh 92c5e64024 Adds VWAP and STD execution models
VWAP will submit market orders while the current price is more favorable than VWAP.
STD will submit market orders while the current price is a configured number of
standard deviations away from the mean in the favorable direction.
2018-04-06 16:30:26 -04:00
Stefano Raggi 4ce6976446 Add DuplicateSecurityWithBenchmarkRegressionAlgorithm
Closes #1612
2018-03-30 10:00:30 +02:00
Jared Broad bfe2f7f33f Reduce length of benchmark and fix name conflict with loader tests 2018-03-27 16:12:02 -04:00
Jared Broad 69e7df6d77 Rename benchmark algorithms and fix headers 2018-03-27 15:45:17 -04:00
Michael Handschuh ecf6e59c88 Add EmptySingleSecuritySecondEquityAlgorithm 2018-03-27 14:05:53 -04:00
Jing Wu 75c5902f89 add CustomDataIndicatorExtensions Algorithm 2018-03-15 17:11:55 -04:00
Stefano Raggi 58a65bee97 Fix Forex data not received when reusing an existing internal feed
Fixes #1611
2018-03-09 23:28:23 +01:00
Jing Wu 8565d0f7b9 add csharp example of ConstituentsQC500Generator 2018-03-05 18:18:57 -05:00
Michael Handschuh e70e18254b Add regression algorithm for framework crypto algo
This covers the case defined in #1635.
2018-03-02 11:23:35 -05: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
Stefano Raggi c235dc7ada Add BasicTemplateCryptoAlgorithm
Also added both C# and Python versions as regression tests
2018-02-12 17:40:26 +01:00
Jared Broad b54f165006 Added library example to LEAN 2018-01-15 18:22:22 -05:00
Jared d01ac3b980 Merge pull request #1360 from Jay-Jay-D/IntrinioEconomicDataIndices
Intrinio economic data indices
2018-01-12 12:35:09 -05: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
Juan José D'Ambrosio dab155c51d Merge branch 'master' into IntrinioEconomicDataIndices 2017-12-22 13:27:52 -03:00
Jing Wu 03057e9ca2 add OptionChainProviderAlgorithm(Csharp) 2017-12-21 14:37:12 -05: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