Commit Graph

231 Commits

Author SHA1 Message Date
HalldorAndersen c69d00d76c Update QuantConnect.Algorithm.Python.csproj 2019-03-26 10:15:37 -07:00
Jared 10d1d3e854 Merge pull request #2938 from simonsonjack/cca_alpha
New Alpha -- Contingent Claims Analysis Alpha
2019-03-15 09:49:23 -07:00
Jared 0b0f81d18e Merge branch 'master' into price_gap_alpha 2019-03-12 10:37:49 -07:00
AlexCatarino 0f5bcd6454 Adds VIXDualThrustAlpha
- Adds Python version
2019-03-05 23:02:24 +00:00
AlexCatarino df6bdedd64 Adds GreenblattMagicFormulaAlpha
- Adds C# version
- Minor improments in python version
2019-03-05 22:53:38 +00:00
Jared 37affce63e Merge branch 'master' into feature-2950-adds-csharp-alpha-stream-examples 2019-03-01 17:10:07 -08:00
AlexCatarino 6ca82fd196 Further Fixes From Peer-Review 2019-03-02 01:06:09 +00:00
AlexCatarino 774b32bc5f Apply Fixes Suggested by Peer-Review 2019-03-02 00:34:12 +00:00
Jared 2a66b4d727 Merge pull request #2941 from simonsonjack/energy_correlation_alpha
New Alpha -- Energy Correlation Alpha
2019-03-01 16:06:56 -08:00
AlexCatarino 4ae74a2c7b Adds Python Alpha Algorithms to Project and Apply Standards
- Adds Python Alpha algorithms to project
- Adds link to appear in Alpha Stream
- Rename algorithms' names to match file name
- Add/remove imports
- Order dictionary by value and key (if true values are the same, order by key)
2019-03-01 14:54:42 +00:00
HalldorAndersen d419cafd68 Update QuantConnect.Algorithm.Python.csproj 2019-02-25 09:39:20 -08:00
Martin Molinero 9651df9900 Updating the ScheduledEventBenchmark
- Renaming files from `Schedule...` to `Scheduled...` to match algorithm
name.
- Removed `ScheduledEvents` set every 5 seconds
- Increased the every day `ScheduledEvents` from 200 to 600
2019-02-22 18:57:08 -03:00
Jared 58f342ba5d Merge branch 'master' into forex_triangle_alpha 2019-02-22 13:02:42 -08: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
Jack Simonson c1cdd06d85 Renaming share class alpha file and removing old version; updating VS project file 2019-02-21 16:42:14 -08:00
Jack Simonson 861ea320da New Alpha -- Price Gap Reversion Alpha 2019-02-21 11:38:07 -08:00
Jack Simonson 1562170959 New Alpha -- Energy Correlation Alpha 2019-02-21 11:34:19 -08:00
Jack Simonson fab0e37235 New Alpha -- Dual Share Class Alpha 2019-02-21 11:18:46 -08:00
Jack Simonson f0558a2765 New Alpha -- Contingent Claims Analysis Alpha 2019-02-21 11:00:13 -08:00
Jack Simonson f5b9690966 New Alpha - Triangle Exchange Rate 2019-02-21 10:44:39 -08:00
HalldorAndersen bb2e3e37a5 Update QuantConnect.Algorithm.Python.csproj 2019-02-20 19:05:22 -08:00
HalldorAndersen bc2d1c1963 Added new alpha: Lunch Break Mean Reversion Alpha (#2931)
* Create MeanReversionLunchBreakAlpha.py
2019-02-20 18:58:53 -08:00
HalldorAndersen 42bd32b15c Added new alpha: Global Equity Mean Reversion using IBS Alpha (#2930)
* Create GlobalEquityMeanReversionIBSAlpha.py

* Update QuantConnect.Algorithm.Python.csproj

* Update QuantConnect.Algorithm.Python.csproj

* Update GlobalEquityMeanReversionIBSAlpha.py

* Update GlobalEquityMeanReversionIBSAlpha.py
2019-02-20 18:37:22 -08:00
Martin Molinero 1b0bdd9b0b Adding SetAccountCurrency for backtesting
- Adding new `SetAccountCurrency()` for backtesting. Has to be called
before adding any `Security` or calling `SetCash()`, else will throw.
- Adding new Non account currency unit tests for `CashBuyingPower`,
`SecurityPortfolioModel`, `SecurityMarginModel`,
`SecurityPortfolioManager`, `Future/OptionMarginBuyingPowerModels`
- Adding new C# regression test using `SetAccountCurrency()`, one for
`CashBuyingPowerModel` and one for `SecurityMarginModel`
- Adding new Py and C# basic regression algorithms using
`SetAccountCurrency()`
- `Options` and `Futures` will use not use `AccountCurrency` as quote
Cash.
- `SecurityBenchmark` value will be in account currency
2019-01-25 14:54:43 -03: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
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