-
Lean Optimization interface in QCAlgorithm (#4923)
发布于
2020-12-02 23:10:40 +00:00 | 2692 次提交 在此版本后已推送到 master-
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
下载附件
-