Commit Graph

887 Commits

Author SHA1 Message Date
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
Matthias db257e9f7f Rename method to be public 2020-05-25 19:50:23 +02:00
Matthias 18a2dad684 Extract data generation from generate_text_table 2020-05-25 19:35:32 +02:00
Matthias 0917b17efd Refactor result_line to return dict 2020-05-25 19:21:01 +02:00
Matthias 876a9e4f44 finish refactor of sell_reason table 2020-05-25 07:08:15 +02:00
Matthias d17300fd84 Refactor sell reason stats to return a dict 2020-05-25 07:02:24 +02:00
Matthias 9d1ad70bb7 Split optimize generation from printing 2020-05-25 06:44:51 +02:00
Florian Merz 889a153731 fix PEP8 2020-05-03 17:29:56 +02:00
Florian Merz 690bb7646a hyperopt csv export - add params 2020-05-03 17:00:12 +02:00
Matthias 509f38d3aa Use non-deprectated parameter for progressbar 2020-05-01 17:59:24 +02:00
hroff-1902 726e52aaa7 Use skopt model_queue_size instead of custom hack 2020-04-29 10:49:25 +03:00
hroff-1902 c26835048c Hyperopt cleanup, do not use 'trials' 2020-04-28 22:56:19 +03:00
hroff-1902 a01ed170f5 Improve hyperopt-list logging 2020-04-28 17:33:07 +03:00
hroff-1902 9ebc997e9d
Merge pull request #3215 from freqtrade/backtest_use_pairlists
Backtest use pairlists
2020-04-27 13:34:06 +03:00
Matthias fb8a85da01 Disallow VolumePairList from backtesting for now 2020-04-27 07:56:17 +02:00
Matthias e8530c36d3 Remove pairlists from hyperopt too (it holds a reference to exchange) 2020-04-25 15:46:20 +02:00
Matthias 8987859044 Enable pairlist parsing for backtesting and hyperopt 2020-04-25 15:37:13 +02:00
hroff-1902 d9f255a6c0 Fix asterisk printing for csv output 2020-04-25 12:49:14 +03:00
Yazeed Al Oyoun c9711678fd fixed indent 2020-04-25 11:31:51 +02:00
Yazeed Al Oyoun 181b12b3a8 added wins/draws/losses 2020-04-25 11:31:51 +02:00
Yazeed Al Oyoun 6147498fd4 fixed indent 2020-04-25 11:31:51 +02:00
Yazeed Al Oyoun 2fb3d94938 added wins/draws/losses 2020-04-25 11:31:51 +02:00
hroff-1902 2d994f6feb Better printing of asterisk 2020-04-24 21:57:29 +03:00
hroff-1902 6e5f0869b3 Remove another unused method 2020-04-24 18:39:08 +03:00
hroff-1902 5c012d79eb Remove unused method 2020-04-24 18:14:07 +03:00
Matthias d36e2cf6ab Fix random test failure in hyperopt 2020-04-16 07:06:47 +02:00
hroff-1902 8b6a7e685e
Merge pull request #3133 from freqtrade/backtesting_filenameexpanding
[minor] Fix filename handling with --strategy-list
2020-04-15 12:02:19 +03:00
hroff-1902 4d80f52db4
Merge pull request #3134 from freqtrade/backtesting_memory
Backtesting memory and dataframe
2020-04-13 23:08:45 +03:00
Fredrik81 2c1c1c7f16
Update freqtrade/optimize/hyperopt.py
nice find

Co-Authored-By: Matthias <xmatthias@outlook.com>
2020-04-11 17:42:32 +02:00
Fredrik81 d9e54ab7a4
Update freqtrade/optimize/hyperopt.py
nice find

Co-Authored-By: Matthias <xmatthias@outlook.com>
2020-04-11 17:42:19 +02:00
Fredrik81 4707484a4c Fix issue with colring enabled + styling 2020-04-09 11:42:13 +02:00
Fredrik81 cdc774549e Merge branch 'develop' into progress-bar 2020-04-08 01:56:43 +02:00
Fredrik81 132f5f73f5
Update hyperopt.py 2020-04-07 10:44:18 +02:00
Fredrik81 c95906cfcf
Update hyperopt.py 2020-04-07 10:42:15 +02:00
Fredrik81 d5609d4997 Changed back to progressbar2 for better handling of logger.
Coloring still needs some work (bug + what colors to use)
2020-04-06 13:12:32 +02:00
Matthias de47186263 Use .loc for assignments 2020-04-02 19:31:48 +02:00
Matthias cf6e6488c7 Fix filename handling with --strategy-list 2020-04-02 17:29:18 +02:00
Matthias 3d4664c2a6 Remove unnecessary import 2020-03-15 15:40:12 +01:00
Matthias e1b08ad76c Add docstring to store_backtest_result 2020-03-15 15:38:26 +01:00
Matthias e95665ceca Make backtestresult storing independent from printing 2020-03-15 15:36:23 +01:00
Matthias a13d581658 Move backtest-result visualization out of backtesting class 2020-03-15 15:17:53 +01:00
Matthias 6106d59e1a Move store_backtest_results to optimize_reports 2020-03-15 15:17:35 +01:00
Matthias 328dbd3930 Remove unnecessary parameter to generate_text_table_sell_reason 2020-03-15 15:04:48 +01:00
Matthias 0f1640bed4 convert exportfilename to Path when config parsing 2020-03-15 09:39:45 +01:00
hroff-1902 51f52c8609
Merge branch 'develop' into no-ticker-2 2020-03-13 16:43:52 +03:00
hroff-1902 a7ed51c642 return back the name of the hyperopt data file 2020-03-13 04:04:23 +03:00
hroff-1902 ebb0187f40 dataframe -> df_analyzed in backtesting and edge 2020-03-13 03:54:56 +03:00
Fredrik81 5737139979 Small fix 2020-03-12 16:47:09 +01:00
Fredrik81 1a59fc11be doh 2020-03-12 02:36:18 +01:00
Fredrik81 df1ae565dc clean-up 2020-03-12 02:26:41 +01:00
Fredrik81 9387ed923c fix for empty lines 2020-03-12 02:07:50 +01:00
Fredrik81 81cbb92556 Switch to TQDM 2020-03-11 22:30:36 +01:00
Fredrik81 3a8b68c0fd Initial work on progressbar 2020-03-10 20:30:36 +01:00
hroff-1902 73c19da4b9 Adjust handling of zero stdev in loss functions 2020-03-10 13:44:16 +03:00
hroff-1902 f148b5f734
cosmetics in lambdas 2020-03-10 10:38:37 +03:00
Fredrik81 bd158eefd2 Fixed loggin 2020-03-10 03:02:52 +01:00
Fredrik81 2f5fc731bb Removed overwrite option 2020-03-09 18:53:30 +01:00
Fredrik81 cb419614cd Spelling miss 2020-03-08 23:00:21 +01:00
Fredrik81 4ad93ed6bb Changed output for null columns 2020-03-08 22:41:05 +01:00
hroff-1902 3208faf7ed Do not use ticker where it's not a ticker 2020-03-08 20:47:02 +03:00
Fredrik81 7606d814fa Initial work on csv-file export. Missing docs and tests 2020-03-05 01:58:33 +01:00
hroff-1902 57523d58df
Merge pull request #2994 from Fredrik81/hyperopt-table
Added dynamic print table function to hyperopt
2020-03-04 23:44:53 +03:00
Fredrik81 090d1e8a70 Alignment and cleanups 2020-03-04 20:51:09 +01:00
Fredrik81 7652a2bb95 Updated table layout and aligning better for hyperopt 2020-03-04 00:10:47 +01:00
Fredrik81 399c419163 Changed table formating. Adding some code to align hyperopt table generation. WIP 2020-03-03 01:14:56 +01:00
hroff-1902 82bdd01843
Merge pull request #3003 from Fredrik81/cores-and-arguments
Hyperopt: fix number of CPU cores, jobs and total epochs
2020-03-03 02:12:21 +03:00
hroff-1902 52cd5f9127
Better use enumerate: more correct and more pythonic 2020-03-03 01:42:25 +03:00
hroff-1902 45c9496792
Do not run optimizer for 'jobs' epochs for the last iteration 2020-03-03 01:33:11 +03:00
hroff-1902 a7d4755859
optimize calculation of current_jobs 2020-03-03 01:20:14 +03:00
hroff-1902 92425642da
Fix config_jobs 2020-03-03 01:00:24 +03:00
Fredrik81 0e4862b0c8 Added logging if argument is miss-configured 2020-03-02 22:58:54 +01:00
Fredrik81 7713cfeb79 Corrected logic for -j + and - argument 2020-03-02 21:02:32 +01:00
Fredrik81 f08c7eedf1 Changed jobs to be dynamic for last loop 2020-03-01 14:35:13 +01:00
Fredrik81 75b4f1a442 Fix alignment of higher values 2020-03-01 14:12:27 +01:00
Fredrik81 e89fd33229 Fix for more arguments 2020-02-29 23:57:15 +01:00
Fredrik81 7a4edb1cd8 Fix: When total epochs is less than cpu cores 2020-02-29 23:41:59 +01:00
Fredrik81 23ae0653bd Changed table output to match hyperopt-list command 2020-02-29 23:24:08 +01:00
hroff-1902 0528af1700
Merge pull request #2879 from freqtrade/sortino_hyperopt_loss
Sortino hyperopt loss
2020-02-29 11:36:27 +03:00
Fredrik81 349aa2f957 Added dynamic print table function to hyperopt 2020-02-28 21:54:04 +01:00
hroff-1902 bee8e92f02
Final changes, use sqrt i.o. statistics.pstdev 2020-02-28 23:50:25 +03:00
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