Commit Graph

239 Commits

Author SHA1 Message Date
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
Michael Handschuh 2f319fdbdf Add MACDSignalModel and CustomFrameworkModelsAlgorithm 2017-12-08 10:07:54 -05:00
Michael Handschuh e4e82bd2bc Add BasicTemplateFrameworkAlgorithm
This example algorithm serves as a template for building framework algorithms
2017-12-08 10:07:53 -05:00
Juan José D'Ambrosio d795b99715 First Algo working 2017-11-30 06:57:49 -03:00
Stefano Raggi a244e5186a Add FinancialAdvisor example algorithm 2017-10-26 18:15:08 +02:00
AlexCatarino 9536123160 Updates pythonnet
In this update, we have changed our version of pythonnet to give precedence to methods that include a PyObject parameter.
2017-10-12 16:41:50 +01:00
AlexCatarino 099e871afd Updates pythonnet nuget version
In this new nuget package, we have included two versions Python.Runtime.dll for macOS
We also add the instructions to compile pythonnet for different operational systems
2017-09-29 17:59:38 +01:00
AlexCatarino 992d8b458f Adds RollingWindowAlgorithm (C#) 2017-09-21 17:32:33 +01:00
Jared Broad fb7d1994ff Tidy and add tags 2017-09-20 17:14:44 -04:00
Jared Broad 61043d9d98 Tagged algorithms for QCU 2017-09-20 15:44:51 -04:00
AlexCatarino d7f2411fcd Upgrades pythonnet version
In this version, we have fixed a bug that led to System.AccessViolationException when we add timezone information in the datetime.datetime object.
2017-09-12 17:33:52 +01:00
Juan José D'Ambrosio f2bcad3451 FXCM Forex Real volume and Transactions ToolBox Project (#1025)
Create ForexVolume.cs

ForexVolumeDownloader added

* testing

Retrieving all resolution data.

* Writer WIP

Writing volume data with LeanDataWriter

* hour and minute data correctly saved

* algorithm added

* all working!

Downloader slices big requests working!

Cleaning made, documentation added.

* vwma qcalgorithm

VWMA QCalgorithm done.

* small fix

* Small changes.
Typo fix

* Duplicated dates issue fixed

* QC sid added.
feed changed.

* code cleaning

* data correctness test implemented

* First review changes.

* Review changes

* LeanData.cs reseted

* Forex volume writer hour and daily data tests passed.

* Cleaning tests WIP

* All test pass.

* Tests refactoring done.
All tests pass.

* config.json reverted

* FxcmDD reverted

* program.cs clean
namespace fixed

* Resolution and Symbol argument check added.

* Start date fix.

* end date request fixed

* Update Program.cs

market fixed

Update Program.cs

* New path implemented and working.
Reading tests deleted.

* Update Program.cs

* ForexVolume renamed to FxcmForexVolume

Rename classes and files to FxcmVolume
2017-08-28 16:25:52 -04:00
Jared Broad 8281911bd0 Revert "Upgrades pythonnet version"
This reverts commit 310e5c4211.
2017-08-22 16:11:54 -04:00
AlexCatarino 310e5c4211 Upgrades pythonnet version
In this version, we have fixed a bug that led to System.AccessViolationException when we add timezone information in the datetime.datetime object.
2017-08-21 21:59:59 +01:00
Andrew e116709b24 Specify <LangVersion> of 6 in all csproj files 2017-08-07 15:27:26 -04:00
LiXiang618 b017017ab1 Support R.Net and R-base in C#
Install R-base.
Write CallingRFromCSharp.cs file telling the usage of some APIs.
2017-07-26 15:08:17 -04:00
Stefano Raggi f704747696 Downgrade NodaTime to version 1.3.4 due to breaking changes in 2.x 2017-07-08 03:09:35 +02:00
Stefano Raggi 0344387fa9 Fix invalid MathNet.Numerics reference in Algorithm.CSharp 2017-07-08 02:41:25 +02:00
Stefano Raggi e4005fa78c Upgrade NodaTime to version 2.0.3 2017-07-08 01:12:43 +02:00
Stefano Raggi 4f483abcd9 Upgrade libraries Accord.NET, CloneExtensions, MathNet, QLNet 2017-07-08 00:31:40 +02:00
Stefano Raggi d88d82af12 Upgrade Json.NET to version 10.0.3 2017-07-07 23:21:47 +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
Jared 678b05bb4f Merge pull request #980 from smartquant/daily_futures_settings
Fix for using daily or hourly resolution market data for futures.
2017-06-30 11:09:48 -04:00