Commit Graph

59 Commits

Author SHA1 Message Date
Stefano Raggi e39791ac6c Upgrade RestSharp library from v105.2.3 to v106.6.10 2019-07-17 10:28:35 +02:00
Stefano Raggi ec66c8e415 Update FxcmBrokerage for TLS 1.2 support
These changes are required to connect and receive data properly since the TLS 1.2 server upgrade on 6/16/2019. This also required upgrading the IKVM libraries for C#/Java interop.
2019-06-18 18:35:11 +02:00
Stefano Raggi 74cdc4a767 Revert "Update FxcmBrokerage for TLS 1.2 support" 2019-06-18 18:03:12 +02:00
Stefano Raggi ca60e1c03b Update FxcmBrokerage for TLS 1.2 support
These changes are required to connect and receive data properly since the TLS 1.2 server upgrade on 6/16/2019. This also required upgrading the IKVM libraries for C#/Java interop.
2019-06-18 15:40:49 +02:00
Gerardo Salazar 340cc3a330 Upgrade dependency DotNetZip to version 1.13.3 to fix security issue 2019-06-11 11:03:37 -07:00
AlexCatarino c3de660551 Updates pythonnet to 1.0.5.20 2019-04-23 23:15:14 +01:00
AlexCatarino da6519b9f4 Updates pythonnet to 1.0.5.19
Updates PythonNet to 1.0.5.19
 - Related  https://github.com/QuantConnect/pythonnet/pull/28/
2019-04-02 17:17:40 +01:00
AlexCatarino 6d2460d8ed Updates pythonnet to 1.0.5.18
- Updates PythonNet to 1.0.5.18
  - Cherry picks the memory leak fix from upstream/pythonnet
2019-03-28 00:47:38 +00: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
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
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
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
David 9af10f94bb Add nunit adapter for getting tests to work in VS2017 2018-10-24 22:42:12 +01:00
AlexCatarino 76cc75006c Refactors BlackLittermanOptimizationPortfolioConstructionModel
1. Apply the pattern used in `EqualWeightingPortfolioConstructionModel`
2. Change the logic to compute the views from the insights.
3. Change the logis to compute the posterior mean and covariance

Use `UnconstrainedMeanVariancePortfolioOptimizer` in `BlackLittermanPortfolioOptimizationFrameworkAlgorithm` to bypass the difference in regression tests with `IPortfolioOptimizer` that rely on different algorithms in C# and python.

Adds unit tests for BLOPCV to test the implementation against Black and Litterman 1999 paper.
2018-08-20 21:01:14 +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 a4db921b87 Updates pythonnet
Rebase with pythonnet/master
2018-04-09 18:59:59 +01: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
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
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 ac1e23a65f Remove web socket 4 net (#1243)
Swap WebSocket4Net for WebSocketSharpFork

WebSocket4Net was throwing exceptions with newer mono versions.

* Added more logging

* More logging

* Log when web socket connection is opened.

Remove auto-pinging

My hunch is that the server will do it's own which will cause the
reconnection logic to work as expected. Currently it constantly
thinks we're not connected because we're pinging the server, so
therefore it doesn't ping at the heartbeat interval.

* Dont reconnect if we're still connected

* Check if connection is open before starting reconnect logic

* Force ping on each connecton monitor time loop

* Log null response in GetAccountHoldings

Set fill price/quantity for market orders

Refactor to use Messages.Order instead of dynamic objects

Add supported crypto currencies as conversion feeds

This list is used to try and figure out what data subscription is needed
to provide the algorithm with currency feeds to support various currencies
and securities quoted in various currencies.

The previous work around required the user to explicitly add these feeds,
but now the system will resolve them even if the security isn't explicitly
added to the algorithm

* DEBUG: Log response for market orders

* More logging

* DEBUG: Heartbeat logging... does the server do it for you?

* Disable gdax

* Stream locker

Fixed order direction issue

Fix resolution of crypto currency pairs

This change splits out the various currency lists by security type.
This is not ideal, but it does remove the special case checking for
cfds in the cash method and makes it explicit what security type to
use when constructing symbol objects.

* Add EUR crypto pairs

* Fix broken tests, add some crpyto currency symbols

Account holdings loading from GDAX

Don't model holdings, use empty list

* Remove throw as we can add cash another way

* Fix failing unit tests

* Remove subscription requirement from Cash.EnsureCurrencyDataFeed

We're now passing in the default markets per security type so we no longer require
subscriptions to be added before adding currency conversion feeds.

* Log everything coming through web socket

* Fix duplicate messages in BaseWebsocketsBrokerage

This issue was caused by event handlers being attached twice, due to Connect being called twice (by BrokerageHistoryProvider and BrokerageSetupHandler)

* Remove Log.Trace from WebSocketWrapper.OnMessage

* Remove GDAX maintenance error message

* Restore WebSocketWrapper.OnMessage log trace

* Remove change log

* Clean white space, remove unused member
2017-10-24 02:14:03 -04:00
Jared ef9a841ae1 Merge branch 'master' into gdax 2017-10-13 21:43:19 -04: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
jameschch@outlook.com d6f5fb2a33 merge from master 2017-09-15 12:55:06 +01: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
jameschch@outlook.com 54e77223fb Ports websockets library to improve stability,
Fixes price ticks
2017-09-02 21:12:44 +01: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
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 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 087a69f002 Upgrade libraries AsyncIO, Castle.Core, Moq, NetMQ, NUnit, NLog 2017-07-08 00:07:17 +02:00
Stefano Raggi 6d160533c3 Upgrade DotNetZip to version 1.10.1 2017-07-07 23:37:09 +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
AlexCatarino 37b22d4693 Updates pythonnet nuget version
In this version, we have just included a dll for macOS
2017-06-23 13:22:24 +01:00
AlexCatarino 6ca9d7cf14 Updates pythonnet package
This update implemented implicit conversion.
From now on, python algorithms will be able to use string object instead of Symbol object when a method overload requires Symbol.
2017-06-15 18:32:29 +01:00
AlexCatarino f6aa31643c Updates pythonnet package
This new pythonnet package makes available the latest version from pythonnet master branch and includes modifications to enable charting in Lean for python.

The dockerfile to create images for the cloud is updated to reflect the package update and adds keras and tensorflow
2017-06-02 10:45:45 +01:00
AlexCatarino 4eb80e78e9 Upgrades pythonnet to version 1.0.2.1
Previous version was not matching methods with nullables accordingly
2017-05-26 01:16:54 +01:00
AlexCatarino 18d83fb8ec Updates python framework to support python datetime
Updates nuget package to support conversion from C# DateTime to python datetime.
Updates algorithms to reflect this change.
2017-05-23 13:40:26 +01:00
AlexCatarino 40e570b2cb Updates QuantConnect.Pythonnet package
New version include instructions to copy nPython.exe to bin directories
2017-04-11 17:05:29 +01:00
AlexCatarino 479fadea55 Updates QuantConnect.Pythonnet nuget package
In the new version, it was included nPython.exe that compiles python scripts.
2017-04-11 12:08:38 +01:00
jaredbroad 0f40b0df05 Merge remote-tracking branch 'origin/master' into pythonnet 2017-03-26 10:14:03 -04:00
Victor Baybekov de21307a32 Update Json.Net to 9.0.1 2017-03-14 01:35:59 +03:00
AlexCatarino 9774af9adc Custom Data for Python Support 2017-02-09 17:48:50 -02:00
jaredbroad 4a154882c0 Update web socket sharp to version 1.04 2016-12-12 10:33:14 +13:00
Andrew Hart b6850abf79 Added ApiDataQueueHandler for live data websocket connections 2016-11-01 15:17:27 -04:00
Andrew Hart 953fac17ca Added tests for StreamingMessageHandler 2016-08-31 12:01:27 -04:00