Commit Graph

1021 Commits

Author SHA1 Message Date
Matthias 4ce4eadc23 remove only ccxt objects when hyperopting 2021-02-27 09:32:59 +01:00
Matthias 9361aa1c95 Add wallets to backtesting 2021-02-27 09:32:59 +01:00
Matthias 11b20d6932 Add config to hyperopt_loss_function documentation 2021-02-17 07:04:29 +01:00
Matthias eff0d46ea1
Merge pull request #4375 from flomerz/pass_processed_data
pass data and config to loss function
2021-02-16 20:06:50 +01:00
Matthias 009a447d8a Adjust documentation for new parameter in loss functions 2021-02-16 19:51:09 +01:00
Florian Merz 3e06cd8b3a pass data and config to loss function 2021-02-16 10:11:33 +01:00
Florian Reitmeir 5c263c7ffd add backtesting results abs profit min/abs profit max, to get a better view if a strategy has a enough money to succeed 2021-02-14 19:41:12 +01:00
Matthias e7acee7904 Improve coin value output by rounding coin specific 2021-02-13 16:05:56 +01:00
Matthias 072abde9b7 Introduce round_coin_value to simplify coin rounding 2021-02-13 16:05:35 +01:00
Matthias c659150d9f Also print trade_duration in seconds to json 2021-01-25 19:42:34 +01:00
Matthias 62e43539c9 Limit max_open_trades to maximum available pairs
closes #4008
2021-01-24 19:59:54 +01:00
Matthias 789a980a30 Fix tests for new export format 2021-01-24 19:42:32 +01:00
Matthias deb8432d33 Streamline trade to dataframe conversion 2021-01-24 08:58:41 +01:00
Matthias 8ee264bc59 Don't use profit_percent for backtesting results anymore 2021-01-24 08:58:41 +01:00
Matthias 48977493bb Backtesting does not need to convert to BacktestResult object 2021-01-24 08:58:41 +01:00
Matthias 7c80eeea95 Add use_custom_stoploss to optimize_report 2021-01-19 22:51:12 +01:00
Matthias 0b65fe6afe Capture backtest start / end time 2021-01-14 19:09:25 +01:00
Matthias 9147106259 call bot_loop_start() in backtesting to allow setup-code to run 2021-01-14 19:09:25 +01:00
Matthias baa1142afa Use preprocessed to get min/max date in hyperopt 2021-01-14 19:09:21 +01:00
Matthias 9d4cdcad10 Extract backtesting of one strategy 2021-01-14 19:04:42 +01:00
Matthias f3de0dd3eb Fix support for protections in hyperopt
closes #4208
2021-01-14 06:53:40 +01:00
Matthias 63a579dbab Add sell_profit_offset parameter
Allows defining positive offsets before enabling the sell signal
2021-01-11 19:30:25 +01:00
Matthias f11fd2fee1 Sort imports 2020-12-23 17:00:02 +01:00
Matthias 67193bca3d Move pairlists to be a plugin submodule 2020-12-23 16:54:35 +01:00
Matthias 266031a6be Disallow PerformanceFilter for backtesting
closes #4072
2020-12-16 19:24:47 +01:00
Matthias f047297995 Improve wording, fix bug 2020-12-07 15:48:06 +01:00
Matthias 5849d07497 Export locks as part of backtesting 2020-12-07 11:39:01 +01:00
Matthias bb51da8297 Fix slow backtest due to protections 2020-12-07 11:39:01 +01:00
Matthias 75a5161650 Support multis-strategy backtests with protections 2020-12-07 11:39:01 +01:00
Matthias a3f9cd2c26 Only load protections when necessary 2020-12-07 11:39:01 +01:00
Matthias e2d15f4082 Add parameter to enable protections for backtesting 2020-12-07 11:39:01 +01:00
Matthias 32189d27c8 Disable output from plugins in backtesting 2020-12-07 11:39:01 +01:00
Matthias 9f34aebdaa Allow closing trades without message 2020-12-07 11:39:01 +01:00
Matthias b606936eb7 Make changes to backtesting to incorporate protections 2020-12-07 11:39:01 +01:00
Matthias e40d97e05e Small formatting improvements 2020-11-28 17:52:29 +01:00
Matthias 5d3f59df90 Add best / worst trade 2020-11-28 17:45:56 +01:00
Matthias a00f852cf9 Add best / worst pair to summary statistics 2020-11-28 17:37:10 +01:00
Matthias a47d8dbe56 Small refactor, avoiding duplicate calculation of profits 2020-11-28 11:35:29 +01:00
Matthias 730c9ce471 Add Max_open_trades to summary metrics 2020-11-24 06:57:26 +01:00
Matthias 887d78171c
Merge pull request #3857 from freqtrade/arrow_deprecation_timestamp
Convert timestamp to int_timestamp for all arrow occurances
2020-11-02 16:40:43 +01:00
Matthias e73203acb8 FIx bug with dmmp 2020-11-01 10:51:07 +01:00
Matthias 7a092271c5 Merge branch 'develop' into arrow_deprecation_timestamp 2020-10-20 20:01:54 +02:00
Matthias cf2ae788d7 Convert backtesting rows to Tuples for performance gains 2020-10-18 17:16:57 +02:00
Matthias 5d3a67d324 Don't debug-log during backtesting.
Even though log-messages are surpressed, calling "debug" will always
have to do something.
2020-10-18 16:38:16 +02:00
Matthias b80a219d03 Improve typehints for backtesting 2020-10-18 16:35:23 +02:00
Matthias 380e6628e0 Merge branch 'develop' into feat/backtest_speedup_serialize 2020-10-18 16:19:04 +02:00
Matthias 2591a34db4 Don't use arrow objects for backtesting 2020-10-18 16:18:52 +02:00
Matthias ecddaa663b Convert timestamp to int_timestamp for all arrow occurances 2020-10-13 06:24:01 +02:00
Matthias 23bad8fd9f Rename DefahltHyperoptLoss function to ShortTradeDurHyperOptLoss 2020-10-10 14:22:29 +02:00
Matthias 23278e52db remove obsolete logging statements 2020-10-08 20:22:59 +02:00
Matthias e8f2c09f08 Extract handling of left open trades to seperate method 2020-10-08 20:11:45 +02:00
Matthias 52502193c4 Backtesting should not double-loop for sell signals 2020-10-07 20:59:05 +02:00
Matthias 40b61bbfe3 Adjust trailing-stop to be python compliant 2020-10-05 07:44:12 +02:00
Matthias cb74c9bcde Fix hyperopt output 2020-10-03 13:27:06 +02:00
Matthias 6977ffdbf9 Merge branch 'develop' into isort_config 2020-09-28 20:21:55 +02:00
Matthias 253b7b763e Apply isort to freqtrade codebase 2020-09-28 19:40:46 +02:00
Matthias c42a924df8 Load latest file 2020-09-27 16:50:42 +02:00
Matthias ff96cf154c Keep hyperopt result history 2020-09-27 16:33:26 +02:00
Matthias b736691e0e Remove hyperopt --continue 2020-09-27 16:18:28 +02:00
Matthias bb27b236ce Remove unused arguments 2020-09-26 14:55:12 +02:00
Matthias ff3e2641ae generate_backtest_stats must take config options from the strategy
config

as a strategy can override certain options.
2020-09-25 20:47:37 +02:00
Matthias 378f03a5b1 Add relevant parameters to stored backtest result 2020-09-25 06:37:40 +02:00
Matthias 6674285b12
Merge pull request #3756 from allenday/patch-1
prettify hyperopt console output
2020-09-19 17:43:05 +02:00
Matthias f0d7f18cf9 Pad wins / draws / losses for hyperopt with spaces instead of 0's 2020-09-19 17:32:22 +02:00
Matthias ec01f20bf8 Add ratio to sell reason stats 2020-09-16 20:27:28 +02:00
Allen Day f63a378967
Update hyperopt.py
zero pad wins/draws/losses (W/D/L) column to preserve alignment in console pretty print
2020-09-07 23:26:55 +08:00
Matthias 284d39930f Allow using pairlists through dataprovider in backtesting 2020-08-30 10:07:28 +02:00
Matthias d8a6410fd1 Fix small bug when using max-open-trades -1 in backtesting 2020-08-23 09:00:57 +02:00
Matthias 3d93236709 Remove unused import 2020-08-21 14:55:47 +02:00
Matthias 301f74fd1b
Merge pull request #3418 from freqtrade/hyperopt_colorama_init
Test colorama init again (after the fixes done to progressbar)
2020-08-21 14:54:35 +02:00
Matthias 4f1179d85c Test for empty case 2020-08-20 20:11:58 +02:00
Matthias f5a9001dc0 Handle backtest results without any trades 2020-08-20 19:51:36 +02:00
Matthias 3d515ed5bf
Merge pull request #3558 from freqtrade/bt_add_maxdrawdown
Revise backtesting export format, add some metrics
2020-08-19 06:39:47 +02:00
Matthias 9982ad2f36 Add profit to backtest summary output 2020-08-18 16:59:24 +02:00
Matthias 668d167adc Add docstring to store_backtest_stats 2020-08-18 16:15:24 +02:00
Matthias 4eb17b4daf Remove unneeded function 2020-08-18 15:20:37 +02:00
Matthias a6dac9acf3
Merge pull request #3667 from freqtrade/hyperopt_enable_dataprovider
Hyperopt enable dataprovider
2020-08-17 07:00:48 +02:00
Matthias 1f153f51ee
Merge pull request #3660 from freqtrade/hyperopt_default_tests
Move DefaultHyperopt to tests
2020-08-17 06:49:55 +02:00
Matthias b98107375e Improve formatting of result string to be a bit conciser 2020-08-14 07:31:14 +02:00
Matthias d76ee43246 Show wins / draws / losses in hyperopt table 2020-08-14 07:14:10 +02:00
Matthias 05bd099f51 Merge branch 'develop' into pr/yazeed/3008 2020-08-14 06:58:09 +02:00
Matthias 87e4a82041 Merge branch 'develop' into bt_add_maxdrawdown 2020-08-09 08:34:36 +02:00
Matthias fca41a44bb Also logg timeframe 2020-08-08 20:20:58 +02:00
Matthias 2afe1d5b11 Add link to full sample 2020-08-08 17:30:31 +02:00
Matthias dd430455e4 Enable dataprovier for hyperopt 2020-08-08 17:04:32 +02:00
Matthias 8b6d10daf1 Move DefaultHyperopt to test folder (aligned to strategy) 2020-08-06 08:50:41 +02:00
Matthias aab5596fa6 Convert trade open / close to timestamp
(to allow uniform analysis of backtest and real trade data - while
giving control of date-formatting to the endsystem.
2020-07-27 07:20:40 +02:00
Matthias 977a6d4e9c Add profit_total to results line 2020-07-26 16:10:48 +02:00
Matthias 454046f745 Add stake_currency and max_opeN_trades to backtest result 2020-07-26 15:55:54 +02:00
Matthias 8d0f338bf2 Timestamps should be in ms 2020-07-26 15:23:21 +02:00
Matthias 9ed5fed887 Fix output format to be of an identical type 2020-07-26 15:17:54 +02:00
Matthias 902e8fa62f Fix wrong spelling in one subcomponent 2020-07-26 14:39:00 +02:00
Matthias c1191400a4 Allow 0 fee value by correctly checking for None 2020-07-15 19:20:20 +02:00
Matthias bdf611352e Update summary-metrics output 2020-07-14 19:34:01 +02:00
Matthias 1fc4451d2f Avoid \ linebreak 2020-07-03 20:32:04 +02:00
Matthias 0d15a87af8 Remove old store_backtest method 2020-07-03 20:21:32 +02:00
Matthias 987188e41f Add avgduration for winners and losers 2020-07-03 19:58:02 +02:00
Matthias 8e0ff4bd86 Add Win / draw / losing days 2020-07-03 19:45:45 +02:00
Matthias 42868ad24a Add best / worst day to statistics 2020-07-03 19:30:29 +02:00
Matthias 7c5587aeaa exportfilename can be a file or directory 2020-07-03 06:58:27 +02:00
Matthias 2ed808da1f Extract .last_result.json to constant 2020-07-03 06:58:27 +02:00
Matthias 59e0ca0aaa Add pairlist to backtest-result 2020-07-03 06:58:27 +02:00
Matthias c13ec4a1d4 implement fallback loading for load_backtest_data 2020-07-03 06:58:27 +02:00
Matthias 7727292861 Rename duration to trade_duration 2020-07-03 06:58:27 +02:00
Matthias f368aabcc7 Add amount to backtest-result 2020-07-03 06:58:27 +02:00
Matthias 6e94734678 Add fee to backtestresult 2020-07-03 06:58:27 +02:00
Matthias 03ab61959b Add test for generate_backtest_stats 2020-07-03 06:58:27 +02:00
Matthias 075eb0a161 Fix sequence of saving 2020-07-03 06:58:27 +02:00
Matthias 0fa56be9d2 remove openIndex and closeIndex from backtest-report 2020-07-03 06:58:27 +02:00
Matthias 04cbc2cde5 Shorten variable 2020-07-03 06:58:27 +02:00
Matthias b068e7c564 Rename open_time and close_time to *date 2020-07-03 06:58:27 +02:00
Matthias 415853583b Save backtest-stats 2020-07-03 06:58:27 +02:00
Matthias 81c8e8677d use 0 as profit mean, not nan 2020-07-03 06:58:27 +02:00
Matthias 480c5117f1 Handle empty return strings 2020-07-03 06:58:27 +02:00
Matthias 5fce7f3b22 Add market Change
closes #2524 and #3518
2020-07-03 06:58:27 +02:00
Matthias cf044d166e Tests should use new Datetime format too 2020-07-03 06:58:27 +02:00
Matthias fbddfaeacf Introduce DatetimePrintFormat 2020-07-03 06:58:27 +02:00
Matthias cbcf3dbb43 Add more metrics to summarytable 2020-07-03 06:58:27 +02:00
Matthias 6922fbc3aa Add max_drawdown error handler 2020-07-03 06:58:27 +02:00
Matthias 455b26ea48 Add max drawdown to backtesting 2020-07-03 06:58:27 +02:00
hroff-1902 02c0488d45
Merge pull request #3453 from freqtrade/fix/3363
Backtesting should load pairlists after the strategy
2020-06-29 21:53:33 +03:00
Matthias 0b2982caed Merge branch 'develop' into hyperopt_colorama_init 2020-06-16 10:16:41 +02:00
Matthias 761407f74d
Merge pull request #3430 from freqtrade/timeframe
ticker_interval -> timeframe
2020-06-15 13:47:26 +02:00
Matthias a3506f4d8e Merge branch 'develop' into timeframe 2020-06-15 06:35:55 +02:00
Matthias d337fb6c6a Update some comments 2020-06-15 06:35:31 +02:00
hroff-1902 ea77edce05
Make flake happy 2020-06-13 18:54:54 +03:00
hroff-1902 3d9b107761
Changes after review 2020-06-13 17:12:37 +03:00
Felipe Lambert 69ac5c1ac7 change hyperopt return to better copy to strategy file 2020-06-10 14:35:31 -03:00
Matthias 72ae4b1500 Load pairlist after strategy to use strategy-config
fail in certain conditions when using strategy-list

Fix #3363
2020-06-07 16:15:26 +02:00
Matthias a75b94f143 use bracket notation for dataframe access 2020-06-07 15:40:00 +02:00
Matthias 68395d2745 Use bracket notation to query results in hyperopt 2020-06-07 15:39:59 +02:00
Matthias 04779411f5 Add docstring to backtest_stats 2020-06-07 15:39:59 +02:00
Matthias 070913f327 Rename text_table generation 2020-06-07 11:35:02 +02:00
Matthias 499c6772d1 Rename tabulate methods
they don't "generate" anything
2020-06-07 11:31:33 +02:00
Matthias a6f6724752 Reorder functions in optimize_report 2020-06-07 11:29:14 +02:00
hroff-1902 64881a94e2
Merge branch 'develop' into timeframe 2020-06-02 15:56:34 +03:00
Matthias a8005819c9 Add class-level attributes to hyperopt and strategy 2020-06-02 10:19:27 +02:00
Matthias f9bb1a7f22 Update more occurances of ticker_interval 2020-06-02 10:02:55 +02:00
Matthias 3e895ae74a Some more replacements of ticker_interval 2020-06-02 09:41:42 +02:00
Matthias cadc50ce9b Replace more occurances of ticker_interval with timeframe 2020-06-01 20:49:40 +02:00
Matthias d9afef8fe1 Move colorama_init to where it was 2020-06-01 09:37:10 +02:00
Matthias ffa93377b4 Test colorama init again (after the fixes done to progressbar) 2020-06-01 09:34:03 +02:00
Matthias 091693308a Correctly call show_backtest_results 2020-06-01 09:25:26 +02:00
Matthias ceaf32d304 Extract backtesting report generation from show_backtest_Results 2020-06-01 09:24:05 +02:00
Matthias f202e09b10 Extract conversion to trades list to it's own function 2020-06-01 08:57:31 +02:00
Matthias 18a5787a2c
Reorder typing imports
Co-authored-by: hroff-1902 <47309513+hroff-1902@users.noreply.github.com>
2020-05-27 19:17:15 +02:00
Matthias abf79e4ab4 Use temporary variable to clean up code 2020-05-25 20:47:48 +02:00
Matthias 6a9a8f927e Rename some methods, improve some testing 2020-05-25 20:46:31 +02:00
Matthias 462c35cf75 Move stats generation to the top 2020-05-25 20:22:22 +02:00
Matthias 027ea64d48 Fix docstrings, extract strategy-list results 2020-05-25 19:55:02 +02:00