ENH: Model-based optimization and randomized grid search (#154)

* initial commit

* initial commit

* added optimize_skopt to backtesting

* _optomize_skopt refactor

* made dimensions dynamic

* added unit test-apply PR comments

* added heatmap to skopt and update unit tests

* removed eggs folder

* remove egg folder

* fixed gitignore

* add scikit-optimize dependancy for test

* comment out pickle TRUE

* fixed flake8 errors

* added skopt to Parameter Heatmap notebook

* Revert unwanted changes

* Fixup .gitignore

* Reword docstring

* Refactor Backtest.optimize() code

* make Backtest.optimize() arguments kw-only
* add random_state for reproducible results
* ensure function arguments consistency
* ensure all kwargs have values
* make scikit-optimize package optional
* cast timedelta/datetime dimensions to int
* cache objective_function evaluations (avoid warning)
* ensure param combo matches constraint=
* adjust skopt.forest_minimize() params
* return ordering: stats, heatmap, optimize_result
* clean heatmap and optimize_result

* Make max_tries for method=grid be randomized search

* Update example notebook

* doc/build.sh: unescape URLs

* mypy happy

* minor restyle

* fix typo

* Add changelog entry

Co-authored-by: Tony Freeman <tfreeman@approachci.com>
Co-authored-by: Kernc <kerncece@gmail.com>
This commit is contained in:
Tony
2020-11-23 19:28:36 -07:00
committed by GitHub
parent f264bb57b4
commit 6b33ce5287
10 changed files with 1394 additions and 1017 deletions

View File

@@ -47,6 +47,7 @@ if __name__ == '__main__':
'seaborn',
'matplotlib',
'scikit-learn',
'scikit-optimize',
],
'dev': [
'flake8',