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.
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.
- 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
- 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 <<<<
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;
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.
- 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
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.
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
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
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.
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.
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