Commit Graph

792 Commits

Author SHA1 Message Date
Fredrik81 55d471190a Changed table style of backtesting and alignment of headers 2020-02-27 13:28:28 +01:00
hroff-1902 893d9cde8d
Merge pull request #2943 from Fredrik81/add-print-table
Added function to print hyperopt-list as table using tabulate
2020-02-27 05:22:41 +03:00
Fredrik81 cd7efde6c0 Fixed coloring so it's only targeting the values not the table borders 2020-02-24 22:06:21 +01:00
Fredrik81 23bf135b8a Alignment of table content, changed coloring, changed 'Best' column to show if it's initial_point or best 2020-02-24 11:01:14 +01:00
Yazeed Al Oyoun 3fb6818bd8
Merge branch 'develop' into sortino_hyperopt_loss 2020-02-19 02:37:25 +01:00
Fredrik Rydin 2058b492eb Added function to print hyperopt-list as table using tabulate 2020-02-18 22:46:53 +01:00
Matthias 6335d81ceb Merge branch 'develop' into data_handler 2020-02-16 15:12:14 +01:00
hroff-1902 674898bd32 Fix usage of vars in the commented out line 2020-02-16 15:26:40 +03:00
hroff-1902 42dfda9231 Adjust docstring 2020-02-16 13:46:07 +03:00
hroff-1902 fbe5cc44da Use statistics.pstdev 2020-02-16 13:43:23 +03:00
hroff-1902 1e84b2770c Fix values of downside_returns 2020-02-16 04:10:53 +03:00
hroff-1902 161dd1a3e6 Rename risk_free_return to minumum_accepted_return 2020-02-16 03:55:16 +03:00
hroff-1902 b2328cdf4f
Do not subtract risk_free_ratio twice 2020-02-13 07:07:35 +03:00
hroff-1902 9ec9a7b124
Fix t_index to be normalized 2020-02-09 21:20:15 +03:00
hroff-1902 c89a32224c
Fix SharpeHyperOptLossDaily 2020-02-09 18:40:19 +03:00
Matthias d65a06947d Merge branch 'develop' into data_handler 2020-02-09 15:16:43 +01:00
hroff-1902 61ced5e926 Fix typo 2020-02-08 02:49:06 +03:00
Yazeed Al Oyoun e8b9d88eb6 moved line for total_downside 2020-02-07 16:44:55 +03:00
Yazeed Al Oyoun a46b7bcd6d more fixes... 2020-02-07 16:44:43 +03:00
Yazeed Al Oyoun 9bcc5d2eed fixed downside_returns to read from profit_percent_after_slippage 2020-02-07 16:36:12 +03:00
Yazeed Al Oyoun 728ab0ff21 Added both SortinoHyperOptLoss and SortinoHyperOptLossDaily 2020-02-07 16:35:28 +03:00
Yazeed Al Oyoun b56a1f0603 initial push of sortino, work not done, still need own tests 2020-02-07 16:34:20 +03:00
Yazeed Al Oyoun deb0b7ad67 Added both SortinoHyperOptLoss and SortinoHyperOptLossDaily 2020-02-07 16:30:37 +03:00
Yazeed Al Oyoun 44d67389d2 initial push of sortino, work not done, still need own tests 2020-02-07 16:29:27 +03:00
Yazeed Al Oyoun ff819386e1 added draws to backtesting tables, reduced len of some labels to help fit this without increasing total width 2020-02-07 03:51:50 +01:00
Yazeed Al Oyoun 5b00eaa42d
Updated Strategy Summary table to match other backtesting tables (#2864) 2020-02-06 06:58:58 +01:00
Yazeed Al Oyoun 9639ffb140
added daily sharpe ratio hyperopt loss method, ty @djacky (#2826)
* more consistent backtesting tables and labels

* added rounding to Tot Profit % on Sell Reasosn table to be consistent with other percentiles on table.

* added daily sharpe ratio hyperopt loss method, ty @djacky

* removed commented code

* removed unused profit_abs

* added proper slippage to each trade

* replaced use of old value total_profit

* Align quotes in same area

* added daily sharpe ratio test and modified hyperopt_loss_sharpe_daily

* fixed some more line alignments

* updated docs to include SharpeHyperOptLossDaily

* Update dockerfile to 3.8.1

* Run tests against 3.8

* added daily sharpe ratio hyperopt loss method, ty @djacky

* removed commented code

* removed unused profit_abs

* added proper slippage to each trade

* replaced use of old value total_profit

* added daily sharpe ratio test and modified hyperopt_loss_sharpe_daily

* updated docs to include SharpeHyperOptLossDaily

* docs fixes

* missed one fix

* fixed standard deviation line

* fixed to bracket notation

* fixed to bracket notation

* fixed syntax error

* better readability, kept np.sqrt(365) which results in  annualized sharpe ratio

* fixed method arguments indentation

* updated commented out debug print line

* renamed after slippage profit_percent so it wont affect _calculate_results_metrics()

* Reworked to fill leading and trailing days

* No need for np; make flake happy

* Fix risk free rate

Co-authored-by: Matthias <xmatthias@outlook.com>
Co-authored-by: hroff-1902 <47309513+hroff-1902@users.noreply.github.com>
2020-02-06 06:49:08 +01:00
hroff-1902 d457d43999
Merge pull request #2833 from hroff-1902/type-hints
Add some type hints
2020-02-03 23:24:26 +03:00
Yazeed Al Oyoun 3499f1b85c better readability and more consistent with daily sharpe loss method 2020-02-02 08:47:33 +01:00
hroff-1902 f3d500085c Add some type hints 2020-02-02 07:00:40 +03:00
Matthias 19d4e1435c
Merge pull request #2828 from yazeed/line_alignment_fixes
fixed some more line alignments
2020-02-01 11:19:28 +01:00
Yazeed Al Oyoun d038bcedb0 fixed some more line alignments 2020-01-31 22:37:05 +01:00
Matthias c396ad4daa Align quotes in same area 2020-01-31 20:41:51 +01:00
Yazeed Al Oyoun 907a61152c added rounding to Tot Profit % on Sell Reasosn table to be consistent with other percentiles on table. 2020-01-31 04:53:37 +01:00
Yazeed Al Oyoun e2b3907df5 more consistent backtesting tables and labels 2020-01-31 04:39:18 +01:00
Matthias 1b9af9d2d8 Merge branch 'develop' into data_handler 2020-01-26 20:31:13 +01:00
Matthias f347e5934a Small adjustments for moved commands 2020-01-26 13:46:01 +01:00
Matthias e033df6a2f Move optimize_commands to commands module 2020-01-26 13:46:01 +01:00
Matthias 6e85280467 Adjust imports 2020-01-26 13:46:01 +01:00
Matthias bd4dd8403b Fix type-errors with stake_amount 2020-01-25 12:49:37 +01:00
hroff-1902 f4c7edf551 No args for backtest(), use arguments 2020-01-25 12:49:37 +01:00
Matthias 7d2d0235a0 Fix typo in sell-reason table generation 2020-01-22 06:08:34 +01:00
Matthias fc2970f41b Merge branch 'develop' into data_handler 2020-01-21 06:58:48 +01:00
Tejesh f73f0b1653 Update comments on backtesting 2020-01-15 19:29:00 +05:30
Matthias 785cd2a640 Rename test module 2020-01-09 06:53:51 +01:00
Matthias c475729c13 Extract edge reporting to optimize_reports 2020-01-09 06:52:34 +01:00
Matthias 989ab646a9 Add profit % to sell_reason table 2020-01-09 06:46:39 +01:00
Matthias a9fbad0741 Improve docstrings 2020-01-02 09:37:54 +01:00
Matthias 904e1647e1 Extract generate_text_table_strategy to seperate module 2020-01-02 09:31:53 +01:00
Matthias caec345c0b Extract generate_text_table_sell_reason from backtesting class 2020-01-02 09:31:53 +01:00
Matthias 18a53f4467 Extract generate_text_table from backtesting class 2020-01-02 09:31:47 +01:00
Matthias 699c0d6bc3 Merge branch 'develop' into data_handler 2019-12-30 19:40:43 +01:00
Matthias 2537b8cb0c
Merge pull request #2725 from freqtrade/minor_fix
[Minor] Edge-cli should use exchangeresolver
2019-12-30 19:27:40 +01:00
Matthias 1ffda29fd2 Adjust improts to new exception location 2019-12-30 15:02:17 +01:00
Matthias fb3a53b8af Use ExchangeResolver for edge_cli too 2019-12-30 14:28:34 +01:00
Matthias f4a532ef6d Pass format to load_data 2019-12-28 14:57:39 +01:00
Matthias 416517b0c9 Move trim_dataframe from history to converter 2019-12-28 11:01:41 +01:00
hroff-1902 6db75bc244
Merge pull request #2706 from freqtrade/data_dir
Convert datadir within config to Path
2019-12-28 05:14:48 +03:00
Matthias e5aed098b5 Enhance backtest results with sell reason profit / loss table 2019-12-25 09:39:29 +01:00
Matthias c6b9c8eca0 Forgot to save 2019-12-23 19:32:31 +01:00
Matthias c6d2233978 Convert StrategyLoader to static loader 2019-12-23 10:23:48 +01:00
Matthias 6d5aca4f32 Convert hyperoptloss resolver to static loader 2019-12-23 10:09:08 +01:00
Matthias 248ef5a0ea Convert HyperoptResolver to static loader 2019-12-23 10:06:19 +01:00
Matthias 560acb7cea Convert ExchangeResolver to static loader class 2019-12-23 10:03:18 +01:00
Matthias fc5764f9df Edge small cleanup 2019-12-19 19:55:21 +01:00
hroff-1902 cf4c3642ce Minor improvements in data.history 2019-12-18 01:06:03 +03:00
Matthias a2964afd42 Rename profit_percent to profit_ratio to be consistent 2019-12-17 08:53:30 +01:00
hroff-1902 26ab108890 Fix mypy errors in develop 2019-12-15 01:10:09 +03:00
hroff-1902 1cc174c007
Merge pull request #2624 from freqtrade/backtest_refactor
handle and document ROI=-1
2019-12-14 23:11:36 +03:00
hroff-1902 e26f563f4b
Merge pull request #2655 from freqtrade/avoid_keyerror_backtest
Use first pair of pairlist to get fee
2019-12-14 23:10:40 +03:00
Matthias 2f7181e236
Merge pull request #2648 from hroff-1902/hyperopt-random-state
Seed hyperopt random_state if not passed
2019-12-14 15:54:59 +01:00
hroff-1902 f2266ea9f4
Use shorter range for seeded random-state 2019-12-14 15:17:45 +03:00
Matthias a48c0ad868 Use first pair of pairlist to get fee
Use this instead of hardcoded ETH/BTC - so backtesting works with
exchanges without ETH/BTC pair
2019-12-14 12:55:02 +01:00
Matthias 703924d6c4
Merge pull request #2643 from freqtrade/mins
Remove min (plural) from codebase
2019-12-12 14:27:39 +01:00
hroff-1902 6e778ad710 Seed hyperopt random_state if not passed 2019-12-12 03:12:28 +03:00
Matthias f44e3dc319
Merge pull request #2642 from hroff-1902/fix-hyperopt-trailing
Fix generation of hyperopt trailing params
2019-12-11 19:53:42 +01:00
Matthias 7c7ca1cb90 Remove min (plural) from codebase 2019-12-11 07:12:37 +01:00
Matthias b2a9b87be3
Merge pull request #2632 from freqtrade/dependabot/pip/develop/scikit-learn-0.22
Bump scikit-learn from 0.21.3 to 0.22
2019-12-10 16:20:39 +01:00
Matthias 3f9f29ba4e Fix Flake8 import error 2019-12-10 16:10:51 +01:00
hroff-1902 3448f86263 Suppress scikit-learn FutureWarnings from skopt imports 2019-12-10 15:46:29 +03:00
hroff-1902 641e3fdf7a Fix generation of hyperopt trailing params 2019-12-10 03:32:43 +03:00
hroff-1902 0e4ef33d6a
Merge pull request #2581 from hroff-1902/hyperopt-list
Add hyperopt-list and hyperopt-show commands
2019-12-10 00:30:26 +03:00
Matthias de33ec4250 use sell_row.open also when the active ROI value just changed 2019-12-09 16:52:12 +01:00
Matthias 45d12dbc83 Avoid a few calculations during backtesting 2019-12-07 15:28:56 +01:00
Matthias 3163cbdf8a Apply special case for negative ROI 2019-12-07 15:18:12 +01:00
Matthias 3091869115 refactor get_close_rate out of get_sell_trade-entry 2019-12-07 14:30:14 +01:00
hroff-1902 d21ae4edd3 Add fixes for comments in the review 2019-12-05 23:29:31 +03:00
Matthias 4b0a4c936a Fix hyperopt with ticker_interval from strategy 2019-12-05 20:31:02 +01:00
hroff-1902 b61f43835d Make flake happy 2019-12-05 01:11:06 +03:00
hroff-1902 017a94adc1 Merge develop 2019-12-05 01:08:38 +03:00
hroff-1902 54694dd3a4 Manual merge of some conflicts in hyperopt 2019-12-04 23:14:47 +03:00
hroff-1902 668d42447f Refactor log_trials_result() 2019-12-01 16:15:00 +03:00
hroff-1902 69b0767165 Merge remote-tracking branch 'upstream/develop' into hyperopt-trailing-space 2019-12-01 03:28:23 +03:00
hroff-1902 a88bfa8ded Fix: trailing_stop_positive should be positive 2019-12-01 02:27:17 +03:00
hroff-1902 8f9b5095b5 Fix some tests 2019-11-27 22:52:43 +03:00
hroff-1902 8e7512161a Add hyperopt-list and hyperopt-show commands 2019-11-26 15:01:42 +03:00
Matthias af3eea3805 Move config json validation to after strategy loading
Otherwise attributes are mandatory in configuration
while they could be set in the strategy
2019-11-25 07:05:30 +01:00
hroff-1902 067267f4cf Log messages improved (plural/singular) 2019-11-23 12:20:41 +03:00
hroff-1902 737c07c5b6 Make mypy happy 2019-11-23 11:51:52 +03:00
hroff-1902 097cdcb57a Save epochs at intermediate points 2019-11-23 11:32:33 +03:00
hroff-1902 e7ddd81251
Merge branch 'develop' into hyperopt-trailing-space 2019-11-23 03:42:58 +03:00
Matthias 9b050523e9
Merge pull request #2397 from freqtrade/feat/new_args_system
require subcommand for all actions
2019-11-14 06:28:42 +01:00
Matthias 5b62ad876e Remove hyperopts occurances 2019-11-13 09:39:00 +01:00
Matthias c449e39280 Replace more occurances of ticker_interval 2019-11-12 15:13:06 +01:00
Matthias 1c57a4ac35 more replacements of ticker_interval 2019-11-12 15:13:06 +01:00
Matthias d801dec6aa Some more places with ticker_interval gone 2019-11-12 15:13:06 +01:00
Matthias e4bdb92521 Replace some occurances of ticker_interval with timeframe 2019-11-12 15:13:06 +01:00
hroff-1902 31ab32f0b9 Always set trailing_stop=True with 'trailing' hyperspace 2019-11-08 12:47:28 +03:00
hroff-1902 f90676cfc5 Add trailing stoploss hyperspace 2019-11-08 03:07:43 +03:00
Matthias ca77dbe8da Fix UnicodeError in hyperopt output 2019-11-06 19:33:15 +01:00
Matthias eb0b0350e0 Introduce remove_credentials to remove code duplication 2019-11-05 12:39:19 +01:00
Matthias 1e44f93c31 Fix pandas access warning 2019-11-03 10:58:31 +01:00
Matthias 861f10dca6 Allow populate-indicators to come from strategy 2019-11-02 11:10:33 +01:00
Matthias 132a4da7cf Small style fixes and adjusted tests 2019-10-27 10:56:38 +01:00
Matthias 33164ac78e Refactor loading of bt data to backtesting ... 2019-10-27 09:44:56 +01:00
Matthias bd4a23beeb Refactor start-adjust logic to timerange 2019-10-27 09:44:56 +01:00
Matthias 6382a4cd04 Implement startup-period to default-strategy 2019-10-27 09:44:56 +01:00
Matthias 704121c197 Move most logic to history 2019-10-27 09:44:56 +01:00
Matthias 9c7696a8ce Add required_startup to backtesting 2019-10-27 09:44:56 +01:00
hroff-1902 4ec83a2c24 DefaultHyperOpts --> DefaultHyperOpt; hyperopts --> hyperopt where it's not correct 2019-10-18 23:29:19 +03:00
Matthias 85c4546333
Merge pull request #2343 from hroff-1902/move-experimental
Move experimental settings to ask_strategy
2019-10-10 16:08:11 +02:00
hroff-1902 2ec8376af9
Merge pull request #2342 from freqtrade/fix/negativeroi
Don't have backtest sells outside of a candle
2019-10-08 11:19:34 +03:00
Matthias 0664a8c0e6 add `--fee` to change fees to other values 2019-10-05 15:29:00 +02:00
hroff-1902 9b23376415 Move experimental settings to ask_strategy 2019-10-05 13:29:59 +03:00
Matthias 7ea9da9605 Fix #2277 2019-10-05 10:54:28 +02:00
Matthias dc47a391da Move ignore to corrct line for mypy 730 2019-09-30 19:32:46 +02:00
Matthias ed10048394
Merge pull request #2308 from hroff-1902/hyperopt-config
Allow use of config in custom hyperopt methods
2019-09-28 10:36:46 +02:00
hroff-1902 4ac53f1549 Shorten the default hyperopt stoploss space 2019-09-28 04:13:53 +03:00
hroff-1902 9db915853a Allow use of config in custom hyperopt methods 2019-09-26 11:59:21 +03:00
Matthias 5237723f22
Merge pull request #2303 from freqtrade/feat/hyperopt_optional_install
Optional hyperopt dependency installation
2019-09-26 09:42:16 +02:00
Matthias b994f5c273
Merge pull request #2294 from hroff-1902/fix-skopt-memory3
Fix skopt memory exhaustion
2019-09-25 19:55:27 +02:00
Matthias 27cc73f47e Dynamically import hyperopt modules 2019-09-25 11:40:34 +02:00
hroff-1902 665e0570ae Fix hyperopt position stacking 2019-09-25 03:41:22 +03:00
hroff-1902 6ffb8b7a70 Fix wordings in comment 2019-09-23 13:25:31 +03:00
hroff-1902 0c6164df7e Fix memory exhaustion in skopt models list 2019-09-23 13:03:43 +03:00
Matthias 313091eb1c some more refresh_pairs cleanups 2019-09-20 20:22:51 +02:00
Matthias 1cd8ed0c1a Remove --refresh-pairs 2019-09-20 20:02:07 +02:00
hroff-1902 69f29e8907 minor: Cleanup for backtesting 2019-09-18 22:57:17 +03:00
hroff-1902 5cbc073dd1 minor: Cleanup hyperopt 2019-09-16 21:46:15 +03:00
hroff-1902 76e45883bd
Merge pull request #2253 from hroff-1902/backtesting-improve-logs
Improve logs for backtesting
2019-09-14 11:23:46 +03:00
Matthias e6ccc1427c have Arguments return a dict instead of Namespace 2019-09-12 20:16:39 +02:00
hroff-1902 849d694c27 Don't inherit from object 2019-09-12 04:39:52 +03:00
hroff-1902 9bdfaf3803 Remove quotes around the pairs 2019-09-11 23:32:08 +03:00
hroff-1902 35580b135a Improve backtesting logs 2019-09-10 10:42:45 +03:00
hroff-1902 3d028f512e
Merge pull request #2235 from hroff-1902/eliminate_import_strategy
Allow --strategy for hyperopt
2019-09-08 12:23:48 +03:00
hroff-1902 2b00a5d90a Get rid of import_strategy() 2019-09-08 02:43:02 +03:00
Matthias 972b8a1726 Remove defaulting to test_data folder when no datadir is present 2019-09-07 21:06:20 +02:00
hroff-1902 2e49125e87
Merge branch 'develop' into hyperopt-simplified-interface 2019-09-06 15:11:06 +03:00
Matthias 7af445adf3
Merge pull request #2137 from hroff-1902/hyperopt-adaptive-roi-space
Hyperopt: adaptive roi_space
2019-09-06 06:26:52 +02:00
hroff-1902 9a6a89c238 allow simplified hyperopt interface 2019-09-03 19:54:28 +03:00