Commit Graph

336 Commits

Author SHA1 Message Date
Matthias f65092459a Fix optimize_reports test 2021-02-27 10:14:25 +01:00
Matthias 98f3142b30 Improve handling of backtesting params 2021-02-27 09:33:00 +01:00
Matthias fc256749af Add test for backtesting _enter_trade 2021-02-27 09:33:00 +01:00
Matthias 53a57f2c81 Change some types
Fix types of new model object
2021-02-27 09:33:00 +01:00
Matthias 52acacbed5 Check min-trade-stake in backtesting 2021-02-27 09:33:00 +01:00
Matthias 72f21fc5ec Add trade-volume metric 2021-02-27 09:32:59 +01:00
Matthias 35e6a9ab3a Backtest-reports should calculate total gains based on starting capital 2021-02-27 09:32:59 +01:00
Matthias 8d61a26382 Allow dynamic stake for backtesting and hyperopt 2021-02-27 09:32:59 +01:00
Matthias e4abe902fc Enable compounding for backtesting 2021-02-27 09:32:59 +01:00
Matthias 712d503e6c Use sell-reason value in backtesting, not the enum object 2021-02-27 09:32:59 +01:00
Matthias 3110d2dbb1 Add small test cases 2021-02-09 20:09:10 +01:00
Matthias 4facf662de Fix random test-failure caused by un-clean hyperopt shutdown
pytest --random-order-seed=415781
2021-02-01 11:00:55 +01:00
Matthias 789a980a30 Fix tests for new export format 2021-01-24 19:42:32 +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 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 6d1fba1409 Remove unnecessary log output tests 2021-01-14 19:04:42 +01:00
Matthias 378a252ad1 Fix #4161 - by not using the problematic method for windows 2021-01-08 13:46:43 +01:00
Matthias 29ce323649 Fix wrong hyperoptlosstest 2021-01-03 06:49:04 +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 effc96e92b Improve tests for backtest 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 4aa6ebee04 Add more tests for #2422 2020-11-27 09:17:25 +01:00
Matthias 81d08c4def Add detailed backtest test verifying the ROI / trailing stop collision 2020-11-27 08:24:56 +01:00
Matthias e1e2829ef3 Improve and refactor hyperopt tests 2020-10-28 14:49:25 +01:00
Matthias 23bad8fd9f Rename DefahltHyperoptLoss function to ShortTradeDurHyperOptLoss 2020-10-10 14:22:29 +02:00
Matthias 8c2f763193 Add test to ensure --hyperopt-loss is mandatory 2020-10-05 20:36:16 +02:00
Matthias fa1d1679f0 Adapt tests to work without default hyperoptloss 2020-10-05 19:33:50 +02:00
Matthias 06759234b6 Add test to verify output of roi / trailing stop hyperopt 2020-10-05 08:07:53 +02:00
Matthias 6977ffdbf9 Merge branch 'develop' into isort_config 2020-09-28 20:21:55 +02:00
Matthias 9df366d943 Apply isort to tests 2020-09-28 19:43:15 +02:00
Matthias 15bb0af1b3 Add some test-coverage 2020-09-28 00:36:13 +02:00
Matthias f3de74f817 Mock all occurances of hyperopt.dump 2020-09-27 19:48:11 +02:00
Matthias 5769b9244f Mock test correctly 2020-09-27 19:34:47 +02:00
Matthias c42a924df8 Load latest file 2020-09-27 16:50:42 +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 c56dd487f2 Fix test failure 2020-09-25 21:00:58 +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 f0d7f18cf9 Pad wins / draws / losses for hyperopt with spaces instead of 0's 2020-09-19 17:32:22 +02:00
Allen Day 3fe2ed0e18
zero pad in test 2020-09-07 23:38:51 +08:00
Matthias 842eff95eb Add simple verification to ensure pairlists is iitialized 2020-08-30 10:07:58 +02:00
Matthias 4f1179d85c Test for empty case 2020-08-20 20:11:58 +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 4eb17b4daf Remove unneeded function 2020-08-18 15:20:37 +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 d01070dba8 Increase coverage of edge_cli 2020-08-06 09:22:41 +02:00
Matthias 59370672b8 Fix more tests 2020-08-06 09:00:28 +02:00
Matthias 081625c5dc Have hyperopt tests use new hyperopt location 2020-08-06 08:51:01 +02:00
Matthias 8b6d10daf1 Move DefaultHyperopt to test folder (aligned to strategy) 2020-08-06 08:50:41 +02:00
Matthias c1191400a4 Allow 0 fee value by correctly checking for None 2020-07-15 19:20:20 +02:00
Matthias 0d15a87af8 Remove old store_backtest method 2020-07-03 20:21:32 +02:00
Matthias 523437d970 Add tst for daily stats 2020-07-03 20:03:33 +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 59ac4b9c9a Test writing statistics 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 0fa56be9d2 remove openIndex and closeIndex from backtest-report 2020-07-03 06:58:27 +02:00
Matthias 2881718733 Adapt tests for new column names 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
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 a3506f4d8e Merge branch 'develop' into timeframe 2020-06-15 06:35:55 +02: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 54226b45b1 Add test verifying failure 2020-06-07 16:02:54 +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
hroff-1902 64881a94e2
Merge branch 'develop' into timeframe 2020-06-02 15:56:34 +03:00
Matthias f9bb1a7f22 Update more occurances of ticker_interval 2020-06-02 10:02:55 +02:00
Matthias 950f358982 Replace occurances in test files 2020-06-01 20:47:27 +02:00
Matthias 009ea0639f Exchange some occurances of ticker_interval 2020-06-01 20:33:26 +02:00
Matthias 091693308a Correctly call show_backtest_results 2020-06-01 09:25:26 +02:00
Matthias 6a9a8f927e Rename some methods, improve some testing 2020-05-25 20:46:31 +02:00
Matthias 46f1470e28 Fix failing test 2020-05-25 20:00:05 +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 e1362755d2 Add test for sell_reason_stats 2020-05-25 07:14:21 +02:00
Matthias 876a9e4f44 finish refactor of sell_reason table 2020-05-25 07:08:15 +02:00
Matthias 5a9a31351a Adjust empty f-strings to be non-fstrings 2020-05-18 11:40:25 +02:00
hroff-1902 c8f3ef884b Minor: Add filterwarning for DeprecationWarning in test 2020-05-11 20:22:19 +03:00
hroff-1902 c26835048c Hyperopt cleanup, do not use 'trials' 2020-04-28 22:56:19 +03:00
Matthias fb8a85da01 Disallow VolumePairList from backtesting for now 2020-04-27 07:56:17 +02:00
Matthias 8987859044 Enable pairlist parsing for backtesting and hyperopt 2020-04-25 15:37:13 +02:00
Yazeed Al Oyoun 72b088d85f added test 2020-04-25 11:31:51 +02:00
Matthias ac008a4758 Remove obsolete comment in tests 2020-04-15 06:58:54 +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 fe50a0f3a1 Move test for store_bt_results to optimize_reports 2020-03-15 15:36:53 +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 1b6e77649a Add test for hyperopt 2020-03-10 12:42:31 +03:00
hroff-1902 81b6a950ac Adjust test for backtesting 2020-03-10 12:42:11 +03:00
hroff-1902 3208faf7ed Do not use ticker where it's not a ticker 2020-03-08 20:47:02 +03: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 4aca8d7fcc PEP8 fix 2020-03-03 01:35:18 +01:00
Fredrik81 399c419163 Changed table formating. Adding some code to align hyperopt table generation. WIP 2020-03-03 01:14:56 +01:00
Fredrik81 379275e2d6 Updated tests 2020-03-01 03:24:04 +01:00
Fredrik81 267416eced Changed test for new table printing 2020-03-01 03:11:00 +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 55d471190a Changed table style of backtesting and alignment of headers 2020-02-27 13:28:28 +01:00
hroff-1902 bee28a1061
Merge pull request #2944 from freqtrade/move_defaultstrategy
Move defaultstrategy
2020-02-20 08:52:24 +03:00
Matthias a7342bd910 Fix non-existing strategy loading 2020-02-19 19:42:04 +01:00
Matthias 09d89fbfb3 Fix last test 2020-02-19 07:15:55 +01:00
Yazeed Al Oyoun 3fb6818bd8
Merge branch 'develop' into sortino_hyperopt_loss 2020-02-19 02:37:25 +01:00
Matthias 6335d81ceb Merge branch 'develop' into data_handler 2020-02-16 15:12:14 +01:00
hroff-1902 4f3376e2a1 Do not instantiate directly DefaultStrategy in tests 2020-02-12 01:39:15 +03:00
Matthias 81997cba8a
Merge pull request #2902 from hroff-1902/fix/tests_hyperopt_loss
Minor: Fix tests for hyperopt_loss
2020-02-11 07:13:29 +01:00
hroff-1902 29f7c5071b Fix usage of an item from BTContainer in tests 2020-02-11 04:17:10 +03:00
hroff-1902 d07c69809d Fix tests for hyperopt_loss 2020-02-10 18:32:41 +03:00
Matthias 83644ce5d8 Fix mypy type errors in tests 2020-02-10 10:35:48 +01:00
Matthias d65a06947d Merge branch 'develop' into data_handler 2020-02-09 15:16:43 +01:00
Yazeed Al Oyoun 6b279f297c fixed test 2020-02-07 16:45:07 +03:00
Yazeed Al Oyoun a46b7bcd6d more fixes... 2020-02-07 16:44:43 +03:00
Yazeed Al Oyoun 951a19fb00 added tests for both sortino methods 2020-02-07 16:44:30 +03:00
Yazeed Al Oyoun aa2cb937b1 flake8 :) 2020-02-07 03:54:47 +01: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
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
hroff-1902 52f0ed5310 Adjust tests 2020-01-25 12:49:37 +01:00
Matthias fc2970f41b Merge branch 'develop' into data_handler 2020-01-21 06:58:48 +01:00
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 8cc48cf4b0 Fix tests where mocks fail now 2020-01-02 09:31:53 +01:00
Matthias 10ee23622a Extract tests for backtest_reports to their own test module 2020-01-02 09:31:53 +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 1ffda29fd2 Adjust improts to new exception location 2019-12-30 15:02:17 +01:00
Matthias 6860491189 Rename datahandler module to history module
Also move previous history.py into this module - so everything is
bundled
2019-12-28 11:01:42 +01:00
Matthias 5479c67178 Clean up some codes which use list-based tests 2019-12-28 11:01:41 +01:00
Matthias 80dbba1280 Remove unnecessary mocks 2019-12-28 11:01:41 +01:00
Matthias aa39f2160b Use load_data instead of a sequence of calls
in tests which don't test this
2019-12-28 11:01:41 +01:00