Commit Graph

303 Commits

Author SHA1 Message Date
xmatthias 7564f7e526 fix hyperopt test when no config.json exists 2018-06-16 13:49:03 +02:00
Matthias a5511e2e30
Merge pull request #894 from freqtrade/feature/force_close_backtest
Display open trades after backtest period
2018-06-16 12:49:08 +02:00
Janne Sinivirta 0c85febe76 remove all mongodb related code 2018-06-16 09:09:28 +03:00
Janne Sinivirta c1f8f641e6 remove use of hyperopt_conf.py 2018-06-16 09:09:28 +03:00
xmatthias 0f117d480e improve backtesting-tests
* assert length of result specifically
* add assert for "open_at_end"
2018-06-13 06:42:24 +02:00
xmatthias 8d8e6dcffc Add test for extracted backtest_results test 2018-06-13 06:31:42 +02:00
Michael Egger 59a4dffc56
Merge pull request #901 from freqtrade/fix/backtest_abort_no_data
Check if no backtest data is found and fail gracefully
2018-06-12 02:54:58 +02:00
xmatthias a0f735d4f2 reduce test-noise 2018-06-11 21:02:24 +02:00
xmatthias 335d1fbbbc Check if no backtest data is found and fail gracefully 2018-06-11 19:50:43 +02:00
Anton ce663f6af5 Merge with develop 2018-06-11 16:25:05 +03:00
xmatthias a9f3744f1b fix backtest test 2018-06-10 19:46:52 +02:00
xmatthias 9cc087c788 update hyperopt tests to support new structure 2018-06-10 13:56:23 +02:00
xmatthias aff1ede46b Fix last backtesting test 2018-06-10 13:25:52 +02:00
xmatthias 17c0ceec04 adjust tests for backtestresult type 2018-06-10 13:22:24 +02:00
xmatthias c9476fade8 adjust tests for forcesell 2018-06-10 13:20:41 +02:00
xmatthias 7b5a2946e5 adjust for forcesell backtesting 2018-06-10 13:19:32 +02:00
Anton b4138f29c8 Merge with develop 2018-06-08 00:29:44 +03:00
Janne Sinivirta 3cee04fb8c bot should not repaint: do not include last partial candle in analysis 2018-06-07 20:23:09 +03:00
Janne Sinivirta b4ae5a36a8 use .copy() to avoid Pandas mistake. drop first row because of shifting 2018-06-07 17:29:40 +03:00
xmatthias f37c5b70ba Fix tests - read optional argument 2018-06-05 23:53:49 +02:00
Anton 87f750da35 Merge with develop 2018-06-04 01:50:10 +03:00
Anton daa9c0c026 Fix review comments 2018-06-04 01:48:26 +03:00
xmatthias e3227a741c add --export-filename for backtesting 2018-06-03 19:36:53 +02:00
xmatthias 50fc5f91ca Merge branch 'develop' into mypy_typecheck 2018-06-03 10:35:56 +02:00
Gerald Lonlas fe8ff1b929 Fix stake_currency return by Hyperopt
Hyperopt had BTC hard coded in the result. This commit  will display
the real stake_currency used.

If you used `"stake_currency": "USDT",` in your config file.
Before this commit you saw a message like:
"2 trades. Avg profit  0.13%. Total profit  0.00002651 BTC (0.0027Σ%). Avg duration 142.5 mins."

Now with the commit, we fix the wrong BTC currency:
"2 trades. Avg profit  0.13%. Total profit  0.00002651 USDT (0.0027Σ%). Avg duration 142.5 mins."
2018-06-02 14:07:31 -07:00
Gerald Lonlas 127cf5d619 Backtesting: Add the Interval required when data is missing
Change the message:
"No data for pair ETH/BTC, use --refresh-pairs-cached to download the data"
for:
"No data for pair: "ETH/BTC", Interval: 5m. Use --refresh-pairs-cached to download the data"

The message structure is unified with the download message:
"Download the pair: "ETH/BTC", Interval: 5m"
2018-06-02 13:55:05 -07:00
xmatthias 9537f17dd4 Fix test 2018-06-02 20:06:29 +02:00
Matthias 81bb128cf7
Merge pull request #822 from gcarq/fix/misleading_log
change misleading logging for datadir
2018-06-02 14:50:27 +02:00
xmatthias d9e951447f remove _init function in backtesting (and according test) 2018-06-02 13:54:22 +02:00
Janne Sinivirta a82a31341b change misleading logging for datadir 2018-06-02 11:32:05 +03:00
Gerald Lonlas 792dd556a1 Fix wrong hint '--update-pairs-cached' from Backtesting/Hyperopt 2018-06-01 19:46:53 -07:00
Anton 8c22cfce37 Fix tests; fix codestyle 2018-05-21 23:15:01 +03:00
Matthias Voppichler 8f17b11610 Fix testfluke in hyperopt 2018-05-13 13:38:29 +02:00
Anton 932b65da27 Fix test_optimize.py 2018-05-04 13:59:50 +03:00
Anton ceeb98dda9 Fix conflicts 2018-05-03 11:16:29 +03:00
gcarq 306885e174 Merge branch 'develop' into feat/objectify-ccxt 2018-05-02 22:49:55 +02:00
Anton 24ab1b5be5 Fix review comments, documenation update 2018-05-01 00:27:05 +03:00
Anton 2267a420a4 Fix codestyle 2018-04-28 00:30:42 +03:00
Anton 82ea56c8fd Fix review comments. Add support of datetime timeganges 2018-04-28 00:16:34 +03:00
gcarq 9ab4953472 fix backtesting testsuite 2018-04-22 00:21:03 +02:00
Matthias acb1b50924 [ccxt] fix unsupported fiat failures (#620)
* prepare to support FIAT/Crypto trading

* Don't fail fiat-convert for unsupported stake currencies

* remove commented code

* Add BNB to cryptomap

* Fix test-failure

* related to random execution as fee was not properly mocked if this is
one of the first tests
2018-04-21 23:20:12 +02:00
gcarq f4077a51c1 log hyperopt progress to stdout instead to the logger 2018-04-21 20:52:01 +02:00
gcarq 403f59ef45 use native python logger 2018-04-21 20:47:06 +02:00
gcarq 09fb4ea584 add mocks for exchange.get_fee 2018-04-21 19:39:18 +02:00
enenn cc5991d269 Fixturize fee MagicMock object in tests 2018-04-15 12:09:12 +02:00
enenn 2765a065a7 Use UNITTEST/BTC pair instead of ETH/BTC pair for load_data tests 2018-04-12 19:21:40 +02:00
enenn 94287d66a8 Flake8 fixes 2018-04-12 18:16:27 +02:00
enenn 838bd5824e Mock validate_pairs 2018-04-12 18:16:26 +02:00
enenn a650072fe0 Edit signal handler tests to work on windows as well 2018-04-12 18:16:26 +02:00
enenn c3d00a8825 Change ticker format to ccxt in backtesting and optimize tests 2018-04-12 18:14:33 +02:00
enenn a86104d0fe Update backtesting and hyperopt tests to use default_config and mock validate_pairs
Use default_config from conftest.py instead of user supplied config in user_data/hyperopt_conf
Mock validate pairs so tests don't fail if pairs don't exist/are removed from exchanges
2018-04-12 18:07:45 +02:00
enenn 4ac2afacfa Use global backtest instance for backtesting tests 2018-04-12 18:07:45 +02:00
enenn 07c655cf41 Use os.path.join for file paths 2018-04-12 18:07:45 +02:00
enenn 12a84cc30b Mock fee during testing as 0.0025
Ensures profit calculations does not vary if exchange fees change, which can cause tests to fail
2018-04-12 18:07:44 +02:00
enenn db46ad6502 Change ticker interval from minutes as integer to string (1m, 5m, 1h,...) 2018-04-07 16:57:47 +02:00
enenn 616006caf8 Replace 'ETH/BTC' with 'UNITTEST/BTC' to fix adx not generating if ETH/BTC ticker history is too short 2018-04-07 16:55:18 +02:00
enenn c1c6ed6ed7 Replace 'BTC_XXX' with 'XXX/BTC' for pairs and 'XXX_BTC' for files 2018-04-07 16:51:50 +02:00
gcarq 24aa6a1679 adapt test_download_backtesting_testdata 2018-03-29 20:17:11 +02:00
gcarq b254ff9b41 Merge 'develop' into feature/enhance-strategy-resolving 2018-03-26 16:23:25 +02:00
gcarq 611bb52d1f log hyperopt progress to stdout instead to the logger 2018-03-25 22:57:40 +02:00
gcarq f374a062e1 remove freqtrade/logger.py 2018-03-25 21:43:00 +02:00
gcarq b4d2a3f495 refactor StrategyResolver to work with class names 2018-03-25 15:12:39 +02:00
gcarq ca9c5edd39 rename Strategy into StrategyResolver 2018-03-25 15:12:39 +02:00
gcarq d2aea7bdc1 optimize imports 2018-03-20 19:50:04 +01:00
gcarq 967bf417df Merge branch 'develop' into feature/objectify 2018-03-19 19:10:19 +01:00
Matthias 94caf82ab2 Fix test_dataframe when ran standalone (#546)
* Fix dataframe test when ran standalone

* Fix standalone tests in hyperopt and optimize tests
2018-03-19 18:30:14 +01:00
Matthias e907c48438 Fix test_dataframe when ran standalone (#546)
* Fix dataframe test when ran standalone

* Fix standalone tests in hyperopt and optimize tests
2018-03-15 23:37:34 +01:00
Gerald Lonlas 173b640b34 Increase Hyperopt() code coverage 2018-03-05 22:36:15 -08:00
Gerald Lonlas ea7b25766b Increase Hyperopt() code coverage 2018-03-05 00:35:42 -08:00
Gerald Lonlas 25d0e5f942 Merge commit '4dca84817eb1b62047a9e4d282254392ea978e44' into feature/objectify 2018-03-04 02:06:40 -08:00
Gerald Lonlas 722ed48d9d Merge commit 'e3d222912dfd775b7456a44d6d6055430711f251' into feature/objectify 2018-03-04 00:51:22 -08:00
Gerald Lonlas 38510d4b03 Merge commit '1134c81aad049d4357c8f299ffc801218f3d9574' into feature/objectify 2018-03-03 17:26:06 -08:00
Gerald Lonlas bbb1a31fda Merge commit 'c5400b6c37c7de64a86c9db39a4d0fa9169b35f6' into feature/objectify 2018-03-03 10:01:06 +08:00
Gerald Lonlas 390501bac0 Make Pylint Happy chapter 1 2018-03-03 09:33:54 +08:00
Gerald Lonlas 8bd0f4d0d7 Remove ugly pprints 2018-03-03 09:33:54 +08:00
Gerald Lonlas 6ef7b7d93d Complete Backtesting and Hyperopt unit tests 2018-03-03 09:33:54 +08:00
Gerald Lonlas 1d251d6151 Move Backtesting to a class and add unit tests 2018-03-03 09:33:54 +08:00
Janne Sinivirta bf54692efb use log_has helper in tests 2018-02-24 22:18:19 +02:00
Samuel Husso e3d222912d
Merge pull request #511 from gcarq/hyperopt_selectable_spaces
Allow selecting Hyperopt search space
2018-02-12 08:28:24 +02:00
Janne Sinivirta b1230b27b7 adjust unit test to match new --spaces format 2018-02-11 19:22:13 +02:00
Janne Sinivirta 2ce03ab1b5 make Strategy store roi and stoploss values as numbers to avoid later casting 2018-02-11 15:25:30 +02:00
Janne Sinivirta f14d6249e0 allow selecting hyperopt searchspace 2018-02-09 20:59:06 +02:00
kryofly 12a19e400f tests: more backtesting testing (#496)
* tests: more backtesting testing

* tests: hyperopt

* tests: document kludge

* tests: improve test_dataframe_correct_length

* tests: remove remarks
2018-02-08 21:49:43 +02:00
Janne Sinivirta 8c7b29734e use date info to calculate trade durations 2018-02-06 11:34:00 +02:00
Janne Sinivirta 45975c9677 set capturing level 2018-01-31 19:37:38 +02:00
Janne Sinivirta a5155b3b20
Merge pull request #465 from gcarq/fix/increase_test_coverage
Fix/increase test coverage
2018-01-29 08:47:26 +02:00
Michael Smith e438422a22 test_optimize.py:
Added spaces for flake8 compliance.
2018-01-29 11:21:01 +08:00
Michael Smith 4799e1ed44 tests/optimize/test_optimize.py:
Added test for gzip ticker file.
BTC_UNITEST-8.json.gz:
Added to test gzip loading.
2018-01-29 10:22:55 +08:00
Gerald Lonlas 7ab2498544 Increase test coverage on optimize.py 2018-01-28 15:33:57 -08:00
Gerald Lonlas 25ab08f422 Fix Flake8 warning 2018-01-28 15:03:54 -08:00
Gerald Lonlas d85b56a2bd Add unit test for test_file_dump_json() 2018-01-28 14:38:30 -08:00
Gerald Lonlas 45a34be2ac Add more unittest for trim_tickerlist() method 2018-01-28 14:20:20 -08:00
Gerald Lonlas d824816880 Increase pylint score on test files 2018-01-28 00:28:41 -08:00
Janne Sinivirta 1eebbebed1 fix assert order 2018-01-26 19:02:25 +02:00
Janne Sinivirta a5690e707d remove unused parameters 2018-01-26 19:02:25 +02:00
Janne Sinivirta 0ff56c6e8d use uppercase constant 2018-01-26 18:54:15 +02:00
Janne Sinivirta e14007ced4 sort imports 2018-01-26 18:52:39 +02:00
Janne Sinivirta a7a7c37121 add day counter to timeframe 2018-01-26 18:32:45 +02:00
Janne Sinivirta 42087c9bfe let hyperopt optimize ROI table 2018-01-25 11:12:00 +02:00
Janne Sinivirta 5007165908 add search space for ROI table 2018-01-25 09:34:26 +02:00
Janne Sinivirta 7dc63c06e7
Merge pull request #356 from kryofly/test_coverage
Test coverage
2018-01-25 09:31:06 +02:00
kryofly 30ca078cec test: use pytest fixture 2018-01-24 11:05:27 +01:00
kryofly a14d9d35c7 tests: run backtest single 2018-01-24 10:32:52 +01:00
Gerald Lonlas baae374899 Move hyperopt_conf.py into user_data/ 2018-01-22 20:51:39 -08:00
kryofly e94e6292e9 Merge branch 'develop' into test_coverage 2018-01-20 22:01:03 +01:00
Jean-Baptiste LE STANG f1efaffe81 with fXXXXX8 2018-01-20 19:30:47 +01:00
Jean-Baptiste LE STANG 36797cda30 Merge branch 'develop' into support_multiple_ticker 2018-01-20 19:25:47 +01:00
kryofly cf266a67ad Merge branch 'develop' into test_coverage 2018-01-20 10:06:53 +01:00
kryofly e3088647fc Merge branch 'develop' into test_coverage 2018-01-19 08:40:40 +01:00
kryofly 4a9e1cb345 Merge branch 'develop' into backtest-export 2018-01-19 07:02:38 +01:00
Gérald LONLAS 14d16f2574
Merge pull request #357 from kryofly/timeperiod
Timeperiod
2018-01-18 20:26:44 -08:00
Jean-Baptiste LE STANG c9e1fd3fc4 Merge branch 'develop' into support_multiple_ticker 2018-01-17 21:29:36 +01:00
kryofly 423b251467 tests: speed up backtests 2018-01-17 18:19:39 +01:00
Jean-Baptiste LE STANG 3a4ff4c76c fixing a duplicated unit test without config 2018-01-17 13:52:14 +01:00
Jean-Baptiste LE STANG 2509ce030d Refreshing pair of only selected ticker_interval 2018-01-17 13:52:14 +01:00
Jean-Baptiste LE STANG 15189c28ed fixing pep8 compliance 2018-01-17 13:52:14 +01:00
Jean-Baptiste LE STANG a0df566b2b fix unitest file for 30 minutes ticker 2018-01-17 13:52:14 +01:00
Jean-Baptiste LE STANG e2e2005567 Adding 30 minutes, 1 hour, 1 day tickers 2018-01-17 13:52:14 +01:00
Janne Sinivirta ce963aae58 add macd < 0 guard to hyperopt 2018-01-16 18:52:06 +02:00
kryofly 0e58ab7e01 more advanced use of --timerange 2018-01-16 00:15:49 +01:00
kryofly 71bb348698 rename --timeperiod to --timerange 2018-01-15 21:49:06 +01:00
kryofly 05f5a1b0ee Merge branch 'develop' into test_coverage 2018-01-11 19:49:33 +01:00
kryofly 153e11f045 Merge branch 'develop' into timeperiod 2018-01-11 19:45:47 +01:00
kryofly 4781a23809 Merge branch 'develop' into backtest-export 2018-01-11 19:40:42 +01:00
kryofly ed47ee4e29 backtest export json2 2018-01-11 19:14:11 +01:00
kryofly 27769f0301 uncomplex backtest 2018-01-11 17:45:41 +01:00
Janne Sinivirta 1b6b0ad9d2 autopep8 2018-01-11 06:50:36 +02:00
kryofly b0f3fd7ffb timeperiod argument to backtesting and hyperopt 2018-01-10 23:48:59 +01:00
kryofly f848a5c87d tests optimize load_data 2018-01-10 13:43:03 +01:00
Samuel Husso fe2b0c2862 add unittest to save and read trials file 2018-01-09 12:26:52 +02:00
Samuel Husso 1647e7a0c1 update fix failing tests, unitest that resume hyperopt functionality works 2018-01-09 12:26:52 +02:00
Janne Sinivirta f7dd5e6396 use sensible value for stoploss in test 2018-01-08 22:00:10 +02:00
Gerald Lonlas ca05d1f79e Fix for flake8 2018-01-07 21:08:12 -08:00
Janne Sinivirta 9dd38aebe0 add stoploss to the hyperopt parameters 2018-01-07 21:08:12 -08:00
Gerald Lonlas 9c21077dc1 Fix hypeopt issue when no result found 2018-01-07 17:53:21 -08:00
kryofly 890083ce7f Merge branch 'develop' into datadir 2018-01-07 10:00:35 +01:00
Gerald Lonlas b3ea0f4ec5 Make readable hyperopt best parameters result 2018-01-06 17:19:48 -08:00
kryofly 60ed4b9d1e --datadir <path> argument
This argument enables usage of different backtesting directories.
Useful if one wants compare backtesting performance over time.
2018-01-06 23:24:35 +01:00
kryofly 79fcd0b06c tests cover more backtesting 2018-01-05 10:44:10 +01:00
kryofly 421ccb23d3 split load tickerdata function 2018-01-05 10:20:48 +01:00
Jean-Baptiste LE STANG 0f2d3adbbc applying pep8 2018-01-03 17:36:40 +01:00
Jean-Baptiste LE STANG eb53a796e2 pep8 compliance 2018-01-03 11:35:54 +01:00
Jean-Baptiste LE STANG 2d273a8509 Update unittests 2018-01-03 11:30:24 +01:00
Janne Sinivirta fed3024302 rewrite get_timeframe in backtesting 2018-01-02 21:54:31 +02:00
Janne Sinivirta ae52880f81 improve backtesting result formatting 2018-01-02 17:39:02 +02:00
kryofly f7398e615a Improve backtesting tests (#256)
* test bugfix dataframe trimming

* flake8 (as usual)

* tests backtesting cleanup and bugfix

* flake8

* test backtesting::start()

* tests cleanup set() usage

* tests: add missing assert
2017-12-30 11:55:23 +01:00
kryofly 37613fc056 flake8 2017-12-29 17:53:58 +01:00
Janne Sinivirta 133c467cf4
Merge branch 'develop' into tests_dec28 2017-12-29 16:33:12 +02:00
Gerald Lonlas 0d605d2396 Refactor Optimize tests, and add more unit tests 2017-12-28 22:32:48 -08:00
kryofly ab112581a7 tests: anal stretching to accomodate flake8 2017-12-28 20:05:33 +01:00
kryofly f48f5d0f31 tests for dataframe, whitelist and backtesting 2017-12-28 15:58:19 +01:00
Janne Sinivirta 7f44ba6df4 unit tests for optimize.hyperopt 2017-12-28 06:39:56 +02:00
Janne Sinivirta ae0a1436e2 match test files to prod files for backtesting/hyperopt 2017-12-28 06:35:09 +02:00