Commit Graph

42 Commits

Author SHA1 Message Date
AlexCatarino cdca13a6f6 Creates Unit Tests for Python Packages
Verify whether python packages can ne imported and used with unit test instead of algorithm
2019-07-09 23:33:33 +01:00
Jack Simonson 543abd77c5 Delete DailyFx class
Deleted DailyFx class and associated references in algorithms and tests
2019-05-22 09:36:19 -07:00
AlexCatarino bd9f1c9154 Adds Regression Algorithm 2019-04-17 18:11:48 +01: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
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
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 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
AlexCatarino 75e4001b56 Add python demonstration of porting old algorithm to framework 2018-05-29 22:42:45 +01:00
AlexCatarino 24af1bd7cd Adds universe selection algorithm with custom security initilizer 2018-05-10 11:58:11 +01:00
AlexCatarino 04f357f2b8 Implements python version of EmaCrossUniverseSelectionModel
Adds EmaCrossUniverseSelectionModel and EmaCrossUniverseSelectionFrameworkAlgorithm to show the new model in action
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
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 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
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 84282503d0 Fixes python algorithm to be python 3 compliant 2018-02-13 13:00:50 +00:00
AlexCatarino 6827624f83 Adds RegisterIndicator overloads that takes python-defined indicators
Adds example for this feature
2018-02-07 12:31:18 +00:00
AlexCatarino dd14821e75 Enables custom volatility models in python algorithms
Creates a python wrapper for volatility models created in python algorithms and adds a method to the Security object to set such models.
Adds an algorithm to show how volatility models can be implemented.
2018-01-31 12:17:24 +00:00
Alexandre Catarino 74bb93b8bf Adds python version of BasicTemplateFrameworkAlgorithm (#1334) 2017-12-08 10:07:54 -05:00
AlexCatarino e5fdc44d3e Adds python version of HistoryAlgorithm 2017-11-01 12:51:44 +00:00
AlexCatarino b032a91a71 Adds UniverseSelectionDefinitionsAlgorithm for python 2017-10-24 19:07:40 +01:00
AlexCatarino e675753075 Includes recently added python algorithms to regression tests
Also adds those algorithms to the PythonTools project
2017-10-13 00:04:29 +01:00
AlexCatarino ebb8f499f3 Adds CustomSecurityInitializerAlgortihm for python
This algorithm serves as an example for the SetSecurityInilializer for python feature
The date range for the C# version is changed to match existing data
2017-10-11 10:38:18 +01:00
AlexCatarino 9211b67286 Adds python algorithms for regression tests
CoarseFineFundamentalRegressionAlgorithm
CoarseFundamentalTop5Algorithm
DropboxUniverseSelectionAlgorithm
FractionalQuantityRegressionAlgorithm
2017-10-06 13:32:35 +01:00
AlexCatarino 1346acf0cf Adds support for FilteredIdentity indicator for python
Also adds FilteredIdentityAlgorithm as a working example.
2017-10-05 12:12:45 +01:00
AlexCatarino b4313ad740 Implements SetBrokerageModel for python algorithms
Adds BrokerageModelAlgorithm to showcase the implementation
2017-10-03 00:17:34 +01:00
AlexCatarino 9998e65df9 Adds support for custom models for python
Adds support for fee, fill and slippage custom modelling.
Adds CustomModelsAlgorithm to showcase the new feature
Modifies C# version of CustomModelsAlgorithm to match existing data in github
2017-09-28 16:47:58 +01:00
AlexCatarino b03c9daa6f Improves Custom Universe Selection
Covers the case where the Symbol of a custom data source is important.
Adds CustomDataUniverseAlgorithm python algorithm as an working example
2017-09-27 00:33:19 +01:00
AlexCatarino a082f930fa Adds support for Custom Universe Selection
Includes DropboxBaseDataUniverseSelectionAlgorithm python algorithm as an working example
2017-09-27 00:33:19 +01:00
AlexCatarino 6624e18f08 Fixes OnMarginCall for python algorithms
Due to pythonnet limitations, the list of SubmitOrderRequest could not be modified by OnMarginCall event handler. We now get a new list from that method and update the list in the wrapper.
2017-09-22 20:50:49 +01:00
AlexCatarino e35ba389d9 Adds support for user-defined universe selection for python
Adds UserDefinedUniverseAlgorithm python script to show how to use user-defined universe selection for python.
2017-09-20 22:45:51 +01:00
AlexCatarino bf8f2626a6 Adds Algorithm.PythonTools
Adds Algorithm.PythonTools project that enables PTVS (Python Tools Visual Studio, https://microsoft.github.io/PTVS/). With PTVS, the user has more tools to work with python script (e.g.: code completion).
2017-09-18 09:20:57 +01:00