Commit Graph

65 Commits

Author SHA1 Message Date
Gerardo Salazar 0a70611d81 MVP of Apache Arrow in-memory pandas DataFrame construction 2020-12-06 19:13:16 -08:00
Adalyat Nazirov a4f66628fd Lean Optimization interface in QCAlgorithm (#4923)
* initial commit

* run parametrized algorithm with command line parameters

* skeleton: top level structure

* OptimizationNodePacket scheme

* pass parameters as HashSet

* run Lean and read results

* call method on optimization completion

* refactor public interfaces

- close ParameterSet collection; allow only get operations
- explicit method to start LeanOptimizer

* synchronize RunLean method; the result could come in before the backtest id is set in the collections

* another portion of refactoring and interface changes

* comments

* comments & tests for Extremum, Minimization and Maximization classes

* unify optimization paramater values (min, max, step) & mode GridSearch tests

- swap min&max if necessary
- iterate left => right (negate step value if necessary) & provide default step value if step == 0
- no StackOverflow Exception
- parameterSet Id should be global for current generator and retain between steps
- test signle point boundary (min == max)

* BruteForceStrategy tests

* more comments

* Update Optimizer assembly information

- Update Optimizer projects assembly information to match behavior of
  the other projects

* Tweaks

- Adding comments
- Replace OnComplete for Ended event
- Replace Abort for Dispose
- ConsoleLeanOptimizer will keep track of running processes
- Each backtest will store results in a separated directory, so they
  don't fight for the log.txt file.
- Adding cmdline option for lean to close automatically
- Adding concurrent execution backtest limit
- Console optimizer will start Lean minimized
- Escape spaces in Json path

* remove parameter set generator abstraction layer

we don't need this flexibility now.

* refactor public methods; Step shouldn't be public

* constraints: wip

* define contract

* comparison operators and tests

* specify JsonProperty values

* Move SafeMultiply100 to extensions

* Throw exception on failed Optimizer.Start

* constraints: wip

* change finish & dispose process

* minor fixes

- handle force lean abort
- notify consumer if target has been reached

* target & constraints; adapt unit tests

* Minor Tweaks and fixes

- Some logging improvements
- Remove Public since not required

* Ignore empty ParameterValue

* simplify condition

* avoid reinitialization

* reduce type; force immutable

* unit tests for constraints  and target value

* parse & normalize percent values, i.e. 20% => 0.2

* fixup

* Target & Constraint & OptimizationNodePacket unit tests

* Add more json unit tests

- Adding more json conversion unit tests. Fix bug for Extremum which
  wasn't using the converter.

* LeanOptimizer tests

* Estimation results

* User thread safe counters

* LeanOptimizer unit tests; push OptimizationResult on Ended event

* more unit tests

* Minor tweaks

-Estimate ToString in a single line.
-Typos and missing header file

* Add base SendUpdate method

- Add base SendUpdate method for LeanOptimizer

* fix LeanOptimizer test; rely on internal Update rather than timer

* Add OptimizationStatus

- Add missing commments and OptimizationStatus

* EulerSearch implementation: wip

* OptimizationParameter custom converter

* change the type

* make step optional

* change folder structure

* enumerate optimization parameter using IEnumerable & IEnumerator

* unit tests: parameters & objectives

* unit tests: strategies

* remove redundant TODO

* change Euler search boundaries

* more Euler tests

* prevent race condition

* Add account/read endpoint

- Adding account/read endpoint. Adding unit test

* Add status check before running lean

* Minor self review

- Adding missing comments, minor changes

* remove array parameters

* minor changes

- tidy up config file, rename variable
- accept min less or equal than max

* move OptimizationParameter methods to strategies

* Minor improvements for BaseResultHandler derivates

* minor changes

- strict requirements for Step and MinStep values
- strategy specific settigs

* Add TotalRuntime to estimate

Co-authored-by: Martin Molinero <martin.molinero1@gmail.com>
2020-12-02 20:10:40 -03:00
Martin Molinero 8a63a1ac32 Rename Jupyter to Research add nuget
- Rename Jupyter to Research and add it's nuget package
2020-05-22 12:42:59 -03:00
Gerardo Salazar 53653fe6ed Address review - Revert version changes to sln file
* Fixes comments on a few report elements
* Fixes wrong name of a report element "psr kpi" -> "ir kpi"
2019-12-19 11:14:24 -08:00
Gerardo Salazar e2c75fa5fa Address review - delete python report creator
* Move PortfolioLooper classes to their own files
* Remove VisualStudioPlugin project
* Add SharedAssemblyInfo
* Add new crisis events
2019-12-18 18:02:04 -08:00
Jared Broad f66a682f63 Debug commit 2019-12-18 16:08:40 -08:00
AlexCatarino a751556779 Removes QuantConnect.Views project
This UX has been deprecated and now removed.
2019-08-14 21:23:58 +01:00
AlexCatarino 0be6e8fa1f Initial commit of LeanReportCreator
- Renames `ApiPython` project to `PythonToolbox`
- Moves `LeanReportCreator` from https://github.com/QuantConnect/LeanReportCreator to https://github.com/QuantConnect/Lean/tree/master/PythonToolbox.
- Fixes README.rst
- Add QuantConnect License header
2018-06-06 13:17:37 +01:00
AlexCatarino 7c5c45d1fb Creates QuantConnect ApiPython project
This new project includes the source and tools to develop the quantconnect python package that provides interaction via API with quantconnect.com.
2018-02-09 15:06:36 +00:00
Michael Handschuh 118d42e027 Revert unintended change to sln file 2017-12-08 10:07:54 -05:00
Michael Handschuh 077452da2b Add QuantConnect.Algorithm.Framework csproj
This project will house the new modular qc algorithm framework.
2017-12-08 10:07:53 -05:00
Atif Aziz 3dd7ba508a Remove non-existing file ref from VS solution
The file `.nuget\packages.config` does not exist.
2017-10-04 17:23:15 +02: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
Martin-Molinero 47c63d1987 Removing plugin project from solution build 2017-09-09 15:36:09 -07:00
Martin Molinero 091915510a Modifying projects GUIDs 2017-09-09 19:22:34 -03:00
Martin Molinero a2b18bae1c Renaming VS17 solution file 2017-09-09 18:24:17 -03:00
Martin-Molinero 933f4c71ef Creating solution files for VS17 & VS15 2017-09-09 09:50:48 -07:00
Martin-Molinero fa2a445ae3 Adding a Project for VS15 & one for VS17 2017-09-07 19:21:39 -07:00
AlexCatarino 85ed5a92a3 Implements Jupyter Project
With this new project, we are able to use Jupyter with QuantConnect data for quantitative analysis
2017-08-04 21:06:07 +01:00
AlexCatarino 95de4fdc1f Removes Algorithm.VisualBasic and Algorithm.Java projects
Since we no longer support VB and Java, those projects are removed from solution to avoid compilation and exectution issues.
They will be kept on disk for developers who still want to use them.
2017-06-23 11:48:12 +01:00
Jared 9de02c9eaa Merge pull request #806 from mushketyk/backtest-plugin
Backtest plugin
2017-05-18 15:34:31 -04:00
Ivan Mushketyk 94dc3cbceb Fix CI build 2017-03-20 14:22:06 -07:00
AlexCatarino 60bcfd76ae Fixes UI display
Since debug mode doesn't display UI View reliably, we set Lean to use the release mode version.
2017-03-16 22:13:09 -03:00
Ivan Mushketyk 0bba7b7be3 Renamed VisualStudio plugin folder 2017-02-28 00:40:57 -08:00
Ivan Mushketyk fad6270096 Add empty VisualStudio plugin 2017-02-26 15:01:10 -08:00
jaredbroad 269e39bed5 Removing VB/F# from Release build 2016-06-03 16:59:03 -04:00
jaredbroad 8a2fd1cd3d Removed vb/fsharp from debug build list
too many linux build issues. removed for now until the fsharp
build process is more reliable
2016-05-10 13:32:32 -04:00
jaredbroad 6dff8e3600 Remove travisCI build profile 2016-04-19 18:46:56 -04:00
jaredbroad bd6534328e Added views project to default build steps 2016-04-19 18:45:04 -04:00
jaredbroad d4c5a422b9 Test fix with Mono Web Browser replacing Gecko 2016-04-19 18:41:48 -04:00
jaredbroad e93006b6a5 Added Travis CI release configuration and disabled views from building in linux 2016-04-15 12:44:37 -04:00
David Hsieh 9070c96130 Added CEFSharp To Library. 2016-03-02 22:36:36 +10:00
snugs 681cd32e32 Lean.Engine now dll, Adds Lean.Launcher exe 2015-11-30 14:12:43 -05:00
snugs 7143798b89 Bar.Update no longer updates on zero values
This is a much simpler way of doing this and is more correct for 99.999% of use cases.

Thanks to @AlexCatarino for this one!
2015-11-11 21:32:27 -05:00
snugs 5d4aadbb9c Removes QuantConnect.Interfaces
This project was collapsed into QuantConnect.csproj.
This will allow code in the common project to use the interfaces abstractions
2015-11-04 13:18:59 -05:00
QuantConnect 2064776f37 Moved QuantConnect.ToolBox into ToolBox directory 2015-10-08 18:02:13 -04:00
QuantConnect f2051f3802 Adds QuantConnect.ToolBox to sln 2015-10-08 15:03:58 -04:00
snugs 928acd2f88 Remove non AnyCPU build configurations 2015-07-03 17:31:22 -04:00
snugs 447dccf268 Merge branch 'master' of https://github.com/craig-stevenson/Lean into craig-stevenson-master 2015-06-29 20:07:51 -04:00
craig-stevenson 88b93b1c99 Added Java Support
Added Java Support for QuantConnect
2015-06-28 12:31:01 -05:00
QuantConnect 5099d89b13 Added FSharp.Core reference to Lean 2015-06-20 18:03:51 -04:00
Alexander Köplinger 9809e23e54 Reenable VB project and make it work on Travis 2015-06-20 12:54:21 +02:00
QuantConnect d7fd47d001 Remove visual basic from solution build to pass travis-ci 2015-06-19 23:10:18 -04:00
snugs d1bb092014 Merge remote-tracking branch 'origin/master'
Conflicts:
	Engine/config.json
	QuantConnect.Lean.sln
2015-06-18 17:26:26 -04:00
QuantConnect 45e66a21dd Removed my-project junk files from visual basic algorithm project 2015-06-18 17:06:32 -04:00
snugs 4de2ec4070 Make Engine an instance
Updated all interfaces to accept dependencies via Initialize methods
2015-06-18 13:50:11 -04:00
QuantConnect 35a121d239 Added VS project to build config 2015-06-18 13:15:44 -04:00
QuantConnect e8bad91b2d Travis.yml symbolic link fix 2015-06-18 11:14:29 -04:00
snugs dd27fc5ee1 Remove VB from sln build configurations, lack of travis VB support 2015-06-17 23:31:29 -04:00
snugs d646591861 Remove Fsharp and VB projects from build, travis fix test 2015-06-17 23:13:12 -04:00