Commit Graph

256 Commits

Author SHA1 Message Date
Martin Molinero 567e59ba00 Copy decimal.py to Launcher output dir
- Moving `decimal.py` into `Common/decimal.py` as a content copy always
file
2019-01-21 17:26:52 -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
Martin Molinero d9195317e3 C# decimal to Python conversion
- This commit is related to PR 19 in QC/pythonnet
   - C# decimal will be cast to C# double and converted into python
   float
- Adding new `decimal.py` into the python algorithm project. This is
required for backwards compatibility with users performing operations
over expected decimal types (like `Price`)
- Updating two python regression test algorithms using custom python
execution models to be aware and ignore floating point precision errors
when handling order sizing.
2019-01-15 12:13:42 -03: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 25baaf179a Implements python version of TrailingStopRiskManagementModel
- Implements python version of `TrailingStopRiskManagementModel`
- Implements python version of `TrailingStopRiskFrameworkAlgorithm`
2018-11-07 15:50:40 +00:00
AlexCatarino 5389f9bf8b Implements python version of MaximumDrawdownPercentPortfolio
- Implements python version of `MaximumDrawdownPercentPortfolio`
- Implements python version of  `MaximumPortfolioDrawdownFrameworkAlgorithm`
2018-11-06 23:52:52 +00:00
Stefano Raggi 82e5af0408 Add CompositeRiskManagementModelFrameworkAlgorithm Python regression 2018-10-24 22:45:13 +02:00
Jared Broad ff172add77 Added missing examples to py proj 2018-08-14 21:28:35 -04:00
Michael cfb05d190f Merge pull request #2328 from AlexCatarino/feature-2326-implements-futures-template-framework
Implements BasicTemplateFuturesFrameworkAlgorithm
2018-08-02 10:44:09 -04:00
Stefano Raggi dc4b961ec8 Update CoarseFundamentalTop5Algorithm to run as cloud regression test
- The algorithm has been renamed to CoarseFundamentalTop3Algorithm and updated to select the Top 3 instead of Top 5.
- The only new data required is daily, map and factor file for FB and has been added (map and factor files are dated 6/4/2018, as required by all regression tests).
- The coarse fundamental open source data has been updated.
- The expected regression statistics for the algorithm have been updated.
2018-07-31 21:20:06 +02:00
AlexCatarino e5ed09924b Implements BasicTemplateFuturesFrameworkAlgorithm
This algorithm shows how to implement a futures strategy in a framework algorithm.
`FutureUniverseSelectionModel` portfolio selection model was implemented to provide a base class to help create other futures universe selection models.
2018-07-30 22:21:47 +01:00
Stefano Raggi 3d48efcbea Add Tiingo Daily Prices example algorithm 2018-07-24 13:24:52 +02:00
AlexCatarino b0d1606118 Refactors portfolio construction models with portfolio optimization
- Creates `MinimumVariancePortfolioOptimizer` and `MaximumSharpeRatioPortfolioOptimizer` portfolio optimizer. They implement `Optimize` method that returns a array of float representing the portfolio weights.
- Refactors `BlackLittermanOptimizationPortfolioConstructionModel` and `MeanVarianceOptimizationPortfolioConstructionModel` to use the portfolio optimizers. Part of the logic in BLOPC was changed to match the MVOPC one.
- Adds `BlackLittermanPortfolioOptimizationFrameworkAlgorithm` similar to `MeanVarianceOptimizationFrameworkAlgorithm` that uses BLOPC.
2018-07-20 23:09:48 +01: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
AlexCatarino 6676098c9c Implements python version of BasicTemplateOptionsFrameworkAlgorithm 2018-07-05 20:59:08 +01: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
AlexCatarino 75e4001b56 Add python demonstration of porting old algorithm to framework 2018-05-29 22:42:45 +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
Jing Wu d8559f1fb4 Update project file for adding new algorithms 2018-05-24 16:40:26 -04:00
Jared dcb373afe3 Update QuantConnect.Algorithm.Python.csproj 2018-05-21 19:51:15 -04:00
Jing Wu 567e9135ee add python example of using fxcm volume 2018-05-17 17:46:02 -04:00
AlexCatarino 24af1bd7cd Adds universe selection algorithm with custom security initilizer 2018-05-10 11:58:11 +01:00
AlexCatarino 5d6dea6473 Simplify EmaCrossUniverseSelectionModel by using list instread of dict 2018-05-08 18:54:17 +01:00
AlexCatarino f3c6c7202a Updates Algorithm.Python and Algorithm.PythonTools projects 2018-05-07 14:19:51 +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
AlexCatarino 991b15a6d1 Adds python version of PairsTradingAlphaModelFrameworkAlgorithm 2018-04-25 13:45:44 +01:00
Michael 0c8119de8a Merge pull request #1889 from AlexCatarino/feature-1884-python-execution-models
Adds python version of execution model examples
2018-04-19 13:24:27 -04:00
AlexCatarino 4722e1cab5 Adds python version of execution models regression algorithms 2018-04-19 12:53:29 +01:00
AlexCatarino c4cde0e06d Adds python version of CompositeAlphaModelFrameworkAlgorithm 2018-04-19 11:32:33 +01:00
AlexCatarino 35e8e0891e Fixes RenkoConsolidator for python
- Missing `event` keyword prevented pythonnet to recognize `DataConsolidated` as a event handler.
- Adds python version of `RenkoConsolidatorAlgorithm`.
2018-04-16 13:39:16 +01:00
AlexCatarino db1149b169 Adds python version of ScheduledUniverseSelectionModelRegressionAlgorithm 2018-04-12 17:09:54 +01:00
AlexCatarino a4db921b87 Updates pythonnet
Rebase with pythonnet/master
2018-04-09 18:59:59 +01:00
AlexCatarino 92238a02fc Implements MeanVarianceOptimizationAlgorithm
This framework algorithm alpha model is  HistoricalReturnsAlphaModel and the  portfolio construction model is MeanVarianceOptimizationPortfolioConstructionModel.
This examples implements an algorithm that rebalances the portfolio according to modern portfolio theory.
2018-04-06 00:28:05 +01:00
Jared b22f8f3cbf Merge pull request #1773 from Jay-Jay-D/bug-1772-Intrinio-error-too-many-requests
Intrinio error fixed, Python port and regression test added
2018-03-26 12:11:06 -04:00
Juan José D'Ambrosio b2b541483f Intrinio template modified, C# regression test added
Intrinio Python port added


Python regression test added


RateGate implemented in static IntrinioConfig


Clean stuff


Intrinio C# regression test pass


Intrinio working, Python port, C# regression test
2018-03-26 09:41:10 -03:00
Jing Wu 0c9ad729b3 add project file of DisplacedMovingAverageRibbon.py 2018-03-21 18:27:41 -04:00
Jing Wu 75c5902f89 add CustomDataIndicatorExtensions Algorithm 2018-03-15 17:11:55 -04:00
Jing Wu c7839e3e38 add python example of ConstituentsQC500Generator 2018-03-05 18:20:13 -05:00
Juan José D'Ambrosio b1734d6948 IndicatorSuiteAlgorithm implemented in Python 2018-02-28 21:45:56 -03: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
AlexCatarino 6827624f83 Adds RegisterIndicator overloads that takes python-defined indicators
Adds example for this feature
2018-02-07 12:31:18 +00:00