Commit Graph

912 Commits

Author SHA1 Message Date
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
hroff-1902 d9c2b7d460 fix fetching ticker_interval from strategy 2019-08-26 22:31:24 +03:00
hroff-1902 bfc68ec792 minor cleanup in Backtesting 2019-08-25 23:36:42 +03:00
Matthias 513e84880e Don't escape ticks where it's not needed 2019-08-25 20:38:51 +02:00
hroff-1902 067208bc9d make backtesting an attribute of Hyperopt 2019-08-24 00:10:35 +03:00
Matthias 91b0394433
Merge pull request #2156 from freqtrade/remove_live
Remove deprecated option live  - deprecate -r
2019-08-22 15:33:39 +02:00
Matthias aaeeb9c0c6 Merge branch 'develop' into align_userdata 2019-08-21 19:41:10 +02:00
hroff-1902 fcb0ff1b60 do not round values in the debug message 2019-08-20 23:42:44 +03:00
hroff-1902 17b3f01b28
Merge branch 'develop' into hyperopt-adaptive-roi-space 2019-08-20 23:00:23 +03:00
hroff-1902 cadf573170 round printed stoploss value as well 2019-08-20 22:24:59 +03:00
hroff-1902 a12876da92 fine printing for floats in the roi tables (round to 5 digits after the decimal point) 2019-08-20 22:17:21 +03:00
Matthias 9e24992835 Remove calls to load_data using live= 2019-08-20 07:00:43 +02:00
Matthias 9e8ca8d4bf
Merge pull request #2138 from freqtrade/history_docstrings
Refactorings to history
2019-08-20 06:35:54 +02:00
Matthias 0a478bc0dc Merge branch 'develop' into align_userdata 2019-08-18 15:00:12 +02:00
Matthias 09286d4918 file_dump_json accepts Path - so we should feed it that 2019-08-16 13:04:48 +02:00
hroff-1902 e525275d10 make flake and mypy happy 2019-08-15 23:13:46 +03:00
hroff-1902 4fa92ec0fa hyperopt: --print-json option added 2019-08-15 21:39:04 +03:00
hroff-1902 5b9711c002 adaptive roi_space 2019-08-14 13:25:49 +03:00
Matthias 51c3a31bb5 Correct imports and calls to parse_timerange 2019-08-14 10:07:32 +02:00
Matthias c0784b7c33
Merge pull request #2089 from hroff-1902/hyperopt-print-colorized
Hyperopt print colorized results
2019-08-13 19:36:06 +02:00
hroff-1902 8f92912852 final colorization schema
colorization schema-2: red, green, bright/dim

colorization schema-3: red, green, bright only green bests

colorization schema-4: no red, green for profit, bright for bests
2019-08-12 21:08:52 +03:00
hroff-1902 e5dcd520ba cosmetics in sample_hyperopt and default_hyperopt 2019-08-12 02:19:50 +03:00
Matthias 2c5a499a8b Merge branch 'develop' into align_userdata 2019-08-10 20:15:07 +02:00
Matthias 74e583a612
Merge pull request #2094 from hroff-1902/hyperopt-roi-stoploss
Simplify custom hyperopts -- no need to copy ugly methods in every custom implementation
2019-08-10 15:49:52 +02:00
hroff-1902 ae39f6fba5 use of termcolor eliminated 2019-08-09 14:51:03 +03:00
Cedric Schmeits 8ad5afd3a1
As -sharp_ratio is returned the value should be nagative.
This leads in a high positive result of the loss function, as it is a minimal optimizer
2019-08-08 22:10:51 +02:00
hroff-1902 0d4a2c6c3a advanced sample hyperopt added; changes to helpstrings 2019-08-08 22:51:37 +03:00
Matthias 3d3b0938e5
Merge pull request #2101 from freqtrade/backtest_ticker_interval_unset
Backtest ticker interval unset
2019-08-07 14:20:36 +02:00
Matthias 7e91a0f4a8 Fail gracefully if ticker-interval is not set 2019-08-06 06:45:44 +02:00
Matthias bc2e920ae2 Adjust code to verify "current" candle for buy/sells 2019-08-05 20:07:29 +02:00
hroff-1902 c6444a10a8 move roi_space, stoploss_space, generate_roi_table to IHyperOpt 2019-08-05 18:07:25 +03:00
Matthias 383b24ab84 Merge branch 'develop' into align_userdata 2019-08-05 06:55:51 +02:00
hroff-1902 9cbab35de0 colorization by means of termcolor and colorama 2019-08-04 22:54:19 +03:00
hroff-1902 f200f52a16 hyperopt print colorized results 2019-08-03 19:09:42 +03:00
hroff-1902 13620df717 'with values:' line removed 2019-08-03 11:05:05 +03:00
hroff-1902 3b65c986ee wordings fixed 2019-08-03 10:20:20 +03:00
hroff-1902 aa8f44f68c improvements to hyperopt output 2019-08-02 22:22:58 +03:00
Matthias 39e8e507d9 Merge branch 'develop' into align_userdata 2019-08-02 20:08:26 +02:00
hroff-1902 065ebd39ef cleanup in hyperopt 2019-08-01 23:57:26 +03:00
Matthias bcccdda7c0 Merge branch 'develop' into align_userdata 2019-08-01 19:33:45 +02:00
Matthias 8cef567abc create and use hyperopt-results folder 2019-07-31 07:10:17 +02:00
hroff-1902 8f1f416a52 hyperopt cleanup and output improvements 2019-07-30 11:47:28 +03:00
Matthias 2c7a248307 Use user_data_dir in hyperopt 2019-07-28 14:57:05 +02:00
Matthias 0a253d66d0 Remove os.path from hyperopt 2019-07-28 14:57:05 +02:00
hroff-1902 e9b77298a7 max() removed 2019-07-25 08:17:41 +03:00
hroff-1902 0c2c094db6 minor: add OnlyProfitHyperOptLoss 2019-07-23 18:51:24 +03:00
Matthias 639a4d5cf7 Allow importing interface from hyperopt.py 2019-07-17 07:15:43 +02:00
Matthias 0e500de1a0 Add sample loss and improve docstring 2019-07-17 06:32:24 +02:00
Matthias 8ccfc0f316 Remove unused variables 2019-07-17 06:24:40 +02:00
Matthias ec49b22af3 Add sharpe ratio hyperopt loss 2019-07-16 06:45:13 +02:00
Matthias d23179e25c Update hyperopt-loss to use resolver 2019-07-16 06:27:43 +02:00
Matthias 7d62bb8c53 Revert --clean argument to --continue 2019-07-16 05:51:26 +02:00
Matthias 07a1c48e8c Fix wrong intendation for custom-hyperopt check 2019-07-15 23:14:07 +02:00
Matthias 7be25313a5 Add some mypy ignores 2019-07-15 22:59:28 +02:00
Matthias 55e8092cbf Add sharpe ratio as loss function 2019-07-15 22:52:33 +02:00
Matthias e5170582de Adapt tests to new loss-function method 2019-07-15 22:45:14 +02:00
Matthias 710443d200 Add documentation for custom hyperopt 2019-07-15 21:38:49 +02:00
Matthias 2a20423be6 Allow loading custom hyperopt loss functions 2019-07-15 21:35:42 +02:00
Matthias 2fedae6060 Move unnecessary things out of generate_optimizer 2019-07-15 20:31:55 +02:00
Matthias b1b4048f97 Add test for hyperopt 2019-07-15 20:28:02 +02:00
Matthias 107f00ff8f Add hyperopt option to clean temporary pickle files 2019-07-15 20:17:15 +02:00
Matthias 5144e98a82
Merge pull request #2015 from hroff-1902/refactor/config2
Make configuration a module
2019-07-15 19:41:57 +02:00
Matthias cbe25178d7
Merge pull request #2009 from hroff-1902/fix-2008
fix #2008
2019-07-15 10:55:33 +02:00
hroff-1902 65f77306d3 using logger.debug, info was too noisy 2019-07-14 21:00:48 +03:00
hroff-1902 efbc7cccb1 enable --dmmp for hyperopt 2019-07-14 20:56:17 +03:00
hroff-1902 1bdffcc73b make configuration a sep. module, including arguments 2019-07-12 00:49:23 +03:00
hroff-1902 e993e010f4 Fix #2013 2019-07-11 23:02:57 +03:00
hroff-1902 c474e2ac86 fix #2008 2019-07-10 01:53:40 +03:00
Matthias 700bc087d3
Merge pull request #1952 from hroff-1902/fix/1948
Fix #1948
2019-06-27 19:36:06 +02:00
hroff-1902 e5a8030dd7 comment added 2019-06-27 16:42:10 +03:00
Matthias a07653a6cc Merge branch 'develop' into fix/validate_dataframe 2019-06-24 06:21:08 +02:00
hroff-1902 7fbdf36c64 avoid code duplication while selecting min_roi entries 2019-06-23 19:23:51 +03:00
Matthias 4cbcb5f36f Move .title to ExchangeResolver (it does not make sense to do this over
and over again)
2019-06-22 16:52:14 +02:00
Matthias 7a0d86660e Mypy type errors 2019-06-21 07:10:30 +02:00
hroff-1902 813c008af2 setup_configuration() cleanup 2019-06-16 21:37:43 +03:00
Matthias 89ff614e1d Add pair as parameter, and warn when fillup was necessary 2019-06-15 13:46:19 +02:00
Matthias 55079831a1 Don't explicitly validate backtest data (it's done while loading now). 2019-06-15 13:45:50 +02:00
Misagh ad9dc349e4 edge cli should override stake_amount 2019-06-15 12:20:32 +02:00
Matthias 1afe6c1437 Don't run validation per strategy, it's only eneded once 2019-06-14 19:37:54 +02:00
Matthias 4dc3a0ca1d Small cleanup to reduce dict lookups during backtesting/hyperopt 2019-06-10 16:20:19 +02:00
hroff-1902 90b0f1daa8 minor optimize cleanup 2019-06-10 02:08:54 +03:00
Matthias c2f6897d8b Move download of live data to load_data
Avoids code duplication in backtesting and plot_dataframe
2019-05-29 20:20:20 +02:00
Matthias 55bdd26439 Edgecli -> Edge for Runmode and start_edge() 2019-05-28 19:25:01 +02:00
Matthias 104f1212e6 Move edge_cli_start to optimize 2019-05-25 20:06:15 +02:00
Matthias 236c392d28 Don't load hyperopts / optimize dependency tree if that module is not
used
2019-05-25 20:00:31 +02:00
Matthias b38c43141c Adjust imports to new location 2019-05-25 16:53:35 +02:00
Matthias 9225cdea8a Move validate_backtest_data and get_timeframe to histoyr 2019-05-25 16:51:52 +02:00
hroff-1902 c3e93e7593 fix reduce() TypeError in hyperopts 2019-05-24 23:08:56 +03:00
hroff-1902 406e266bb4 typo in comment fixed 2019-05-22 14:34:35 +03:00
hroff-1902 2c9a519c5e edge: handle properly the 'No trades' case 2019-05-22 14:21:36 +03:00
hroff-1902 8b95e12468 log message adjusted in backtesting and hyperopt 2019-05-15 12:05:35 +03:00
hroff-1902 5677c4882e minor: add ticker data validation; log backtesting interval 2019-05-13 23:56:59 +03:00
hroff-1902 00b4501c59 avg profit and total profit corrected (to be %, not ratio); comments cleaned up a bit; typo in the log msg fixed 2019-05-12 21:14:00 +03:00
hroff-1902 0f43e0bb7d minor hyperopt output improvements 2019-05-10 10:54:44 +03:00
hroff-1902 e7b81e4d46 hyperopt --min-trades parameter 2019-05-01 15:27:58 +03:00
hroff-1902 ea44bbff9f prevent hyperopt from running simultaneously 2019-04-25 11:11:04 +03:00
Matthias bf56e25404
Merge pull request #1746 from hroff-1902/json-defaults
Support for defaults in json schema
2019-04-24 12:20:39 +02:00
Matthias d16ccd7e37 Merge branch 'develop' into json-defaults 2019-04-24 09:51:04 +02:00
hroff-1902 6a0f527e0e
merge --job-workers and commit printing debug log messages with the opt state 2019-04-24 10:35:04 +03:00
hroff-1902 2898067318
Merge branch 'develop' into hyperopt-jobs 2019-04-24 10:31:03 +03:00
hroff-1902 fc4ef2b430
Merge branch 'develop' into hyperopt-opt-params 2019-04-23 21:58:27 +03:00
hroff-1902 e3b0474901
Merge branch 'develop' into hyperopt-jobs 2019-04-23 21:34:38 +03:00
hroff-1902 cc9f899cd6 removed explicit dependency on multiprocessing module 2019-04-23 21:25:36 +03:00
hroff-1902 a022b1a6c1 --random-state for optimzer to get reproducible results added 2019-04-23 21:18:52 +03:00
Matthias 4971b9fc39
Merge pull request #1793 from hroff-1902/hyperopt-debug-state
hyperopt: print optimizer state in debug log messages
2019-04-23 20:11:04 +02:00
hroff-1902 3e3fce5f38 print optimizer state in debug log messages 2019-04-23 09:49:24 +03:00
hroff-1902 7c8e26c717 -j/--job-workers option added for controlling the number of joblib parallel worker processes used in hyperopt
docs refreshed
2019-04-23 00:52:07 +03:00
hroff-1902 ad85ac3dde make --refresh-pairs-cached common option for optimization; added support for it into hyperopt 2019-04-22 21:24:45 +03:00
hroff-1902 6b87d94bb0 --print-all command line option added for hyperopt 2019-04-22 01:10:01 +03:00
hroff-1902 9fbe573cca limit usage of ccxt to freqtrade/exchange only 2019-04-09 12:27:35 +03:00
hroff-1902 4559a38172 PoC: use defaults in json schema for some exchange options 2019-04-08 04:42:28 +03:00
hroff-1902 8cb1024ff6
Merge branch 'develop' into ccxt-parse_timeframe 2019-04-05 23:16:27 +03:00
Misagh 9dc2a30793
Merge pull request #1683 from gianlup/fix_bt_partial_data
Fix backtest problem with partial data
2019-04-05 07:28:57 +02:00
Matthias 7010c835d2 Improve commentign 2019-04-04 20:23:10 +02:00
hroff-1902 2aa1b43f01 get rid of TICKER_INTERVAL_MINUTES dict, use ccxt's parse_timeframe() instead 2019-04-04 20:56:40 +03:00
Matthias 32cbb714f9 Improve commenting on backtsting and backtest_multi_tst 2019-04-04 19:44:03 +02:00
Matthias 0307ba7883 Remove one branch - python does lazy evaluation 2019-04-03 20:04:04 +02:00
Matthias e085fd9e95 Disable dataprovider from hyperopt.
Dataprovider uses weak links to initialize, which cannot be pickled, and
therefore cannot be used during hyperopt.
2019-03-25 19:49:58 +01:00
Matthias 0ae81d4115 Provide dataprovider access during backtesting 2019-03-25 19:26:51 +01:00
Matthias 00e6749d8b Refactor backtest() to be a bit more concise 2019-03-23 15:00:07 +01:00
Gianluca Puglia 6b89e86a97 Removed Timestamp cast 2019-03-20 19:44:59 +01:00
Gianluca Puglia 0eff324ce0 Use dedicated index for every pair 2019-03-20 18:38:10 +01:00
Matthias e67ffd2d87 Fix issue that backtest is broken when stoploss_on_exchange is on 2019-03-06 19:55:34 +01:00
Matthias 02d13645b0 Merge branch 'develop' into feat/dataprovider 2019-01-26 19:29:41 +01:00
Matthias 3afe54790e
Merge pull request #1510 from gianlup/add_totprofit_to_bt
Added total profit column to backtest result
2019-01-25 06:38:39 +01:00
Matthias d136cac181 Merge branch 'develop' into feat/dataprovider 2019-01-23 21:01:19 +01:00
Gianluca Puglia 896c9d34fd Added total profit column do backtest result 2019-01-22 22:41:53 +01:00
Matthias 13e2f71d30 Add flake8 plugins and implement small improvements 2019-01-22 20:01:12 +01:00
Matthias 0aa0b1d4fe Store tickers by pair / ticker_interval 2019-01-22 07:07:15 +01:00
Matthias a206777fe5 Rename refresh_tickers to refresh_latest_ohlcv 2019-01-22 07:05:09 +01:00
Matthias 1340b71633 Add RunMode setting to determine bot state 2019-01-22 07:04:19 +01:00
Matthias a2c01916e1 Add type-ignores to floatfmt
tabulate supports this:
30554300d7/tabulate.py?at=master&fileviewer=file-view-default#tabulate.py-1291:1294
2019-01-17 20:28:21 +01:00
Matthias cd2bccd441 Have backtest use the same logic to get the ROI entry 2019-01-12 13:45:43 +01:00
Matthias 40b1d8f067 Fix CI problems 2019-01-06 14:57:14 +01:00
Matthias dd2af86a41 pprint results 2019-01-06 14:47:38 +01:00
Matthias 167088827a include default buy/sell trends for the hyperopt strategy 2019-01-06 14:13:15 +01:00
Matthias a0df7b9d7c Use sell/buy trends from hyperopt file if available 2019-01-06 14:12:55 +01:00
Matthias 2147bd8847 Fix problem when no experimental dict is available 2019-01-06 13:29:14 +01:00
Matthias 798ae460d8 Add check if trigger is in parameters 2019-01-06 13:29:14 +01:00
Matthias 68ba1e1f37 Add sell signal hyperopt 2019-01-06 13:29:14 +01:00
Misagh 26a77e193e
Merge pull request #1454 from freqtrade/feat/interpolate_missing
interpolate missing candles
2019-01-04 22:33:53 +01:00
Matthias 2bc76771bf Align backtest to interface.py
interface.py roi calculation skips on <= duration
the correct selection is therefore trade_duration > x.
2019-01-01 16:50:10 +01:00
Matthias fae875f588 Implement missing_data_fillup to tests and operations 2018-12-31 19:15:49 +01:00
Matthias 8b9cc45f41 move test for data completeness
should be done before analyzing strategy
2018-12-31 15:09:50 +01:00
Matthias 429f846ad1 Switch load_data to kwargs 2018-12-15 20:31:05 +01:00
Matthias 6c02cc5993 Adjust test to pathlib 2018-12-15 14:14:38 +01:00
Matthias 21aba1620c Replace calls to load_data 2018-12-15 14:10:33 +01:00
Matthias 407139b0e0 remove unused imports 2018-12-14 06:32:49 +01:00
Matthias 432cc00283 Adjust imports to data.history 2018-12-14 06:32:49 +01:00
Matthias 1a3fcd4771 extract data-handling methods from optimize 2018-12-14 06:32:49 +01:00
Matthias 04c330f10b
Merge pull request #1404 from freqtrade/feat/pass_df
keep DF instead of list
2018-12-13 20:14:32 +01:00
Matthias 7e3955b04c Fix edge-cli comments (refer to edge, not backtest 2018-12-12 20:04:14 +01:00
Matthias 7a533de1a8 Use list ticker history for backtesting 2018-12-12 19:17:09 +01:00
Matthias 3ac2106a16
Merge pull request #1290 from freqtrade/fix/backtest_toomanyopen
fix backtesting not respecting max_open_trades
2018-11-30 19:17:09 +01:00
Matthias cc7b820978 Move hyperoptresolver to resolvers package 2018-11-24 20:14:08 +01:00
Matthias 21a093bcdb extract resolvers to IResolvers and it's own package 2018-11-24 20:00:02 +01:00
Matthias 805f509498 Merge branch 'develop' into fix/backtest_toomanyopen 2018-11-24 10:39:16 +01:00
Matthias 64028647a0
Merge pull request #571 from stephendade/userhyper
Separated out custom hyperopts
2018-11-21 19:14:30 +01:00
Matthias a3b6004115 IHyperopt: all methods static, somef ixes for mypy 2018-11-20 19:41:07 +01:00
Matthias 7757c53b06 Small fixes 2018-11-20 17:43:49 +01:00
Matthias 5dd013c3b1 Rename hyperopt interface and resolver 2018-11-20 17:40:45 +01:00
misagh f666d1596b renaming edge to edge_cli for command line version 2018-11-15 10:31:56 +01:00
Matthias 4f800bfbc8 Fix pickling-error 2018-11-14 20:25:43 +01:00
misagh ca22a116ad timerange added to args 2018-11-14 17:14:37 +01:00
misagh 5d73b303fe unnecessary libraries removed + arg help enriched 2018-11-14 16:49:16 +01:00
misagh dd47d7adb4 cli blank line added to readability 2018-11-14 16:37:26 +01:00
misagh b0e4aa8eff stop loss range added to args 2018-11-14 16:31:23 +01:00
misagh 36030176bb nb_trades and avg_trade_duration added to cli 2018-11-14 13:38:23 +01:00
misagh 5de3f1d9dd showing result in tabular 2018-11-14 13:25:44 +01:00
misagh 95cbbf1cb5 adding edge configuration to cli 2018-11-14 12:53:20 +01:00
misagh cf974168e9 Edge cli drafted 2018-11-14 12:37:15 +01:00
Matthias 93429a58b2 remove TODO 2018-11-09 07:13:20 +01:00
Matthias 9cd2ed5a16 fix hyperopt get_timeframe mock 2018-11-09 07:13:20 +01:00
Matthias 66487f2a13 require start/end-date argument in backtest 2018-11-09 07:13:20 +01:00
Matthias 96efd12a31 add new options to hyperopt 2018-11-09 07:12:41 +01:00
Matthias e94da7ca41 inverse backtest logic to loop over time - not pairs (more realistic) 2018-11-09 07:12:41 +01:00
Matthias 7b62e71f23 Fix some tests and rebase issues 2018-11-07 20:45:52 +01:00
Matthias 8044846d37 Fix some refactoring problems 2018-11-07 07:05:40 +01:00
Stephen Dade 477515c4b5 Now using resolver for custom hyperopts 2018-11-07 06:58:20 +01:00
Stephen Dade e0f420983e Updated logger in custom_hyperopt 2018-11-07 06:55:28 +01:00
Stephen Dade 469db0d434 Decoupled custom hyperopts from hyperopt.py 2018-11-07 06:26:16 +01:00
Matthias 95d271ca5d Fix ROI close-rate calculation to work with fees - adjust tests 2018-11-01 13:14:59 +01:00
Matthias 8c93760a6d simplify some code 2018-10-30 20:23:31 +01:00
Matthias f96f0cdea7 Add additional comment 2018-10-30 20:02:31 +01:00
Matthias 98050ff594 use all min_roi entries 2018-10-29 19:27:23 +01:00
Matthias 233c442af9 Adjust backtest so sell uses stop-loss or roi value as closerate 2018-10-29 19:27:23 +01:00
Matthias db9a85f4a2
Merge pull request #1282 from freqtrade/feat/add_missingdata_warning
Show warning if part of backtest data is missing
2018-10-27 11:16:10 -04:00
Matthias 3c6d10f03e Print missing value count too 2018-10-18 20:05:57 +02:00
Matthias bc356c4d65 Return true/false for validation function 2018-10-18 19:48:54 +02:00
Matthias fb52d32296 Add validate_backtest_data function 2018-10-18 19:42:54 +02:00
Matthias d7459bbbf3 refactor get_timeframe out of backtesting class 2018-10-17 19:59:33 +02:00
Matthias 8a3272e7c5 don't copy tickerdata_to_dataframe into backtesting
it's used only once, so this does not make sense and hides the origin of
the function
2018-10-17 19:47:19 +02:00
Matthias 631ba464f3 Show warning if part of backtest data is missing 2018-10-14 14:40:03 +02:00
Matthias 84622dc84b Move test for strategy out of constructor 2018-09-29 14:23:53 +02:00
Matthias 1b290ffb5d Update hyperopt to show errors if non-supported variables are used 2018-09-29 13:49:38 +02:00
Matthias 6e66763e5f Only load strategy once during backtesting 2018-09-27 19:23:55 +02:00
Matthias 567211e9f9 don't print "NAN" lines in "left_open_trades" 2018-09-20 20:35:26 +02:00
Matthias 54ddd908e6 Merge branch 'develop' into ccxt-async 2018-08-29 19:43:09 +02:00
Matthias a077955efa update json.load to json_load - followup to #1142 2018-08-19 19:58:07 +02:00
Matthias 6d1c82a5fa Remove last refreence to `get_candle_history` 2018-08-19 19:50:14 +02:00
Matthias 2b37c1ff0e Merge branch 'develop' into ujson-loader 2018-08-12 13:11:40 +02:00
Matthias 7d72e364aa Remove broken ujson loading - replace with variable-based fix 2018-08-12 13:08:10 +02:00
Matthias a852d2ff32 default since_ms to 30 days if no timerange is given 2018-08-10 11:15:02 +02:00
Matthias a107c4c7b4 Download using asyncio 2018-08-10 11:08:28 +02:00
Matthias 74d6816a1a Fix some comments 2018-08-10 11:00:07 +02:00
Janne Sinivirta 3a5b435dfa
Merge pull request #1089 from freqtrade/feat/backtest_multi_strat
Allow multi strategy backtest without data reload
2018-08-02 12:35:47 +03:00
creslin a741f1144a missing __init__.py 2018-08-02 08:58:04 +00:00
Matthias 40ee86b357 Adapt after rebase 2018-07-31 21:08:03 +02:00
Matthias 76fbb89a03 use print for backtest results to avoid odd newline-handling 2018-07-31 21:04:03 +02:00
Matthias c648e2acfc Adjust documentation to strategy table 2018-07-31 21:04:03 +02:00
Matthias 028589abd2 Add strategy summary table 2018-07-31 21:04:03 +02:00
Matthias 5125076f5d Fix typo 2018-07-31 21:04:03 +02:00
Matthias a57a2f4a75 Store backtest-result in different vars 2018-07-31 21:04:03 +02:00
Matthias bd3563df67 Add test for new functionality 2018-07-31 21:04:03 +02:00
Matthias 644f729aea Refactor strategy loading to __init__ 2018-07-31 21:04:03 +02:00
Matthias 5f2e92ec5c Refactor backtesting 2018-07-31 21:04:03 +02:00
Matthias 65aaa3dffd Extract backtest strategy setting 2018-07-31 21:04:03 +02:00
Matthias 56046b3cb3 Add strategylist option to backtesting 2018-07-31 21:04:03 +02:00
Matthias 787d6042de Switch from pair(str) to metadata(dict) 2018-07-29 20:56:23 +02:00
Matthias 5fbce13830 update hyperopt to use new methods 2018-07-29 20:55:40 +02:00
Matthias 98665dcef4 revert inadvertent wihtespace changes 2018-07-29 20:55:37 +02:00
Matthias df8700ead0 Adapt after merge from develop 2018-07-29 20:55:37 +02:00
Gert Wohlgemuth 0dcaa82c3b fixed test? 2018-07-29 20:55:06 +02:00
Gert Wohlgemuth 3dd7d209e9 more test fixes 2018-07-29 20:55:06 +02:00
Gert Wohlgemuth abc55a6e6b fixing? hyperopt 2018-07-29 20:55:06 +02:00
xmatthias 2e6e5029ba fix mypy and tests 2018-07-29 20:55:06 +02:00
Matthias 7f27beff4b
Revert "backtesting: try to load data with ujson if it exists" 2018-07-29 13:23:11 +02:00
Samuel Husso cb2fff8909 mypy doesn't handle common idiomacy so disable the line (see the open issue more details) 2018-07-28 22:06:26 +03:00
Samuel Husso cdd8cc551c backtesting: try to load data with ujson if it exists 2018-07-28 21:56:11 +03:00
Janne Sinivirta 4b38c8b11d use pandas own min and max for column sorting 2018-07-25 17:04:25 +03:00
Janne Sinivirta 0b3190552e
Merge pull request #1018 from freqtrade/feat/sell_reason
Record sell reason
2018-07-24 09:09:45 +03:00
Matthias 4fb9823cfb fix rebase problem 2018-07-19 19:50:06 +02:00
Matthias 760c79c5e9 Use `.center()` to output trades header line 2018-07-19 19:39:08 +02:00
Matthias a452864b41 Use namedtuple for sell_return 2018-07-19 19:39:08 +02:00
Matthias 506aa0e3d3 Add print_sales table and test 2018-07-19 19:34:14 +02:00
Matthias 2a61629014 Export sell_reason from backtest 2018-07-19 19:29:31 +02:00
Matthias cbffd3650b add sell_reason to backtesting 2018-07-19 19:29:31 +02:00
Janne Sinivirta 0cc1b66ae7
Merge pull request #1037 from freqtrade/fix/backtest-comment
replace --realistic with 2 separate flags
2018-07-19 17:33:19 +03:00
Janne Sinivirta 6070d819b8
Merge pull request #1040 from freqtrade/xmatthias_backtest_duration
Fix backtest duration calculation
2018-07-19 17:32:11 +03:00
Matthias 8f254031c6 Add short form for parameters, change default for hyperopt 2018-07-19 13:19:36 +02:00
Matthias aa69177436 Properly check emptyness and adjust floatfmt 2018-07-19 13:14:21 +02:00
Matthias 79b1030435 output duration in a more readable way 2018-07-18 20:08:55 +02:00
Matthias f9f6a3bd04
cast to int to keep exports constant 2018-07-18 09:29:51 +02:00
Matthias 8e4d2abd4e
Fix typo 2018-07-18 09:10:17 +02:00
Matthias 08237abe20
Fix wrong backtest duration
identified in #1038
2018-07-18 09:06:12 +02:00
Matthias c82276ecbe add --disable-max-market-positions 2018-07-17 21:05:03 +02:00
Matthias e17618407b Rename --realistic-simulation to --enable-position-stacking 2018-07-17 20:26:59 +02:00
Janne Sinivirta aeb4102bcb refactor Analyze class methods to base Strategy class 2018-07-16 08:23:39 +03:00
Janne Sinivirta 85e6c9585a remove pass-through methods from Analyze 2018-07-16 08:23:39 +03:00
Janne Sinivirta a74147c472 move strategy initialization outside Analyze 2018-07-16 08:23:39 +03:00
Matthias 06c9494a46
add missing s to Backtest cum results 2018-07-11 14:50:04 +02:00
Janne Sinivirta aa2366346a
Merge pull request #1001 from xmatthias/feat/backtest_cum_profit
Add cumulative profit to backtest result table
2018-07-11 07:21:28 +03:00
Matthias 8b06000f0f Use open-rates for backtesting 2018-07-08 20:03:11 +02:00
Matthias efaa8f16e7 Improve formattiong of table 2018-07-08 20:01:33 +02:00
Matthias 1a24afef77 add cumsum to backtest-results 2018-07-08 19:55:04 +02:00
Samuel Husso 7dca3c6d03 freqtradebot,main,hyperopt: fstrings in use 2018-07-05 10:11:29 -05:00
Samuel Husso 03c112a601 config, optimize: fstrings in use 2018-07-05 10:11:29 -05:00
Samuel Husso d8d0579c5a
Merge pull request #930 from freqtrade/skopt
Replace Hyperopt with scikit-optimize
2018-07-04 13:51:14 -05:00
Janne Sinivirta bf4d0a9b70 sort imports 2018-07-04 10:31:35 +03:00
Janne Sinivirta 96bb2efe69 use joblib.dump and load for trials 2018-07-03 23:08:29 +03:00
Janne Sinivirta c4a8435e00 change pickle file name to better suit it's current purpose 2018-07-03 22:17:43 +03:00
Janne Sinivirta 3a7056ea1b run at least one epoch 2018-07-03 21:55:22 +03:00
Janne Sinivirta 2cde540645 remove dead code 2018-07-03 21:50:45 +03:00
Janne Sinivirta ef59f9ad24 sort imports in hyperopt.py 2018-07-03 21:50:24 +03:00
Janne Sinivirta ee4754cfb9 avoid re-serialization of whole dataframe 2018-07-03 14:49:58 +03:00
Janne Sinivirta 2713fdb860 use cpu count explicitly in job count 2018-07-03 11:46:56 +03:00
Janne Sinivirta 79aab4cce2 use fstring 2018-07-03 11:44:54 +03:00
Janne Sinivirta fa8fc3e4ce handle the case where we have zero buys 2018-07-02 11:46:55 +03:00
Janne Sinivirta aec3f582e1 Merge branch 'develop' into skopt 2018-07-02 11:27:27 +03:00
Janne Sinivirta 0ce08932ed mypy fixes 2018-06-30 09:54:31 +03:00
Michael Egger 6dd5f85fb6
Merge pull request #954 from freqtrade/feat/allow_backtest_plot
allow backtest ploting
2018-06-29 19:44:06 +02:00
Janne Sinivirta 0bddc58ec4 extract loading previous results to a method 2018-06-25 11:38:14 +03:00
xmatthias e70cb963f7 document what to do with exported backtest results 2018-06-24 17:00:00 +02:00
Janne Sinivirta 118a43cbb8 fixing tests for hyperopt 2018-06-24 15:27:53 +03:00
Anton f82b809fcf Merge with develop 2018-06-23 16:50:27 +03:00
Janne Sinivirta 642ad02316 remove unused import 2018-06-23 15:56:38 +03:00
Janne Sinivirta ab9e2fcea0 fix guard names to match search space 2018-06-23 15:47:19 +03:00
Janne Sinivirta 136456afc0 add three triggers to hyperopting 2018-06-23 15:44:51 +03:00
xmatthias 0440a19171 export open/close rate for backtesting too
preparation to allow plotting of backtest results
2018-06-23 14:19:50 +02:00
Janne Sinivirta e8f2e6956d to avoid pickle problems, get rid of reference to exchange after initialization 2018-06-23 14:37:36 +03:00
Janne Sinivirta a525cba8e9 switch signal handler to try catch. fix pickling and formatting output 2018-06-23 14:37:36 +03:00