Matthias
7e1a30f9bf
Merge pull request #1287 from freqtrade/backtest_data_validation
...
Backtest data validation
2018-10-26 07:21:24 -04:00
Matthias
202b1d1f0b
fix #1289 - we should not modify decimal context
2018-10-21 09:21:32 +02: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
518dcf5209
Cleanup some tests 8m is not a valid ticker value
...
not in constants.TICKER_INTERVAL_MINUTES map
2018-10-18 19:43:04 +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
a541d0a931
convert tests to packages
...
source: https://docs.pytest.org/en/latest/goodpractices.html
If you need to have test modules with the same name, you might add __init__.py files to your tests folder and subfolders, changing them to packages:
2018-10-09 21:13:43 +02:00
Matthias
1b290ffb5d
Update hyperopt to show errors if non-supported variables are used
2018-09-29 13:49:38 +02:00
Matthias
6d1c82a5fa
Remove last refreence to get_candle_history
2018-08-19 19:50:14 +02:00
Matthias
9403248e4d
have plot-script use async ticker-refresh
2018-08-19 19:48:24 +02:00
Matthias
88e85e8d33
fix tests - move load_async_markets call to validate_pairs
2018-08-10 13:11:04 +02:00
Janne Sinivirta
e282d57a91
fix broken test
2018-08-02 12:57:47 +03: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
765d1c769c
Add test for stratgy summary table
2018-07-31 21:04:03 +02:00
Matthias
a8b55b8989
Add test for strategy-name injection
2018-07-31 21:04:03 +02:00
Matthias
bd3563df67
Add test for new functionality
2018-07-31 21:04:03 +02:00
Janne Sinivirta
f85cc422a3
Merge branch 'develop' into cleaner-tests
2018-07-30 21:08:55 +03:00
Janne Sinivirta
8b8d3f3b75
default_conf is function-scoped fixture, no need to deepcopy it
2018-07-30 15:41:02 +03:00
Janne Sinivirta
3083e5d2be
use pytest fixture properly in test_hyperopt
2018-07-30 13:26:54 +03:00
Janne Sinivirta
e242842805
remove more useless docstrings from tests
2018-07-30 12:09:07 +03:00
Matthias
2401fa15d2
Change missed calls to advise_* functions
2018-07-29 21:07:21 +02:00
Matthias
f12167f0dc
Fix backtesting test
2018-07-29 20:55:37 +02:00
Gert Wohlgemuth
921f645623
fixing tests...
2018-07-29 20:55:06 +02:00
Gert Wohlgemuth
3dd7d209e9
more test fixes
2018-07-29 20:55:06 +02:00
xmatthias
2e6e5029ba
fix mypy and tests
2018-07-29 20:55:06 +02:00
Janne Sinivirta
f832edf5bc
remove useless docstrings from tests
2018-07-29 17:09:44 +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
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
79b1030435
output duration in a more readable way
2018-07-18 20:08:55 +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
a74147c472
move strategy initialization outside Analyze
2018-07-16 08:23:39 +03: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
750d737b7d
Add tests for change to open_rate
2018-07-08 20:18:34 +02:00
Matthias
38487644f0
fix tests for backtest-result output table
2018-07-08 19:55:16 +02:00
Matthias
9906da46f6
move comment to correct place
2018-07-06 20:00:54 +02:00
Matthias
54976fa103
Add more tests to validate buy/sell rows
2018-07-06 19:56:16 +02:00
Matthias
c35d1b9c9d
Add test which checks the backtest result
2018-07-05 23:22:35 +02: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
9dbe0f50a3
fix tests after changing the dumping and pickling dataframe in hyperopt
2018-07-03 22:09:59 +03:00
Janne Sinivirta
aec3f582e1
Merge branch 'develop' into skopt
2018-07-02 11:27:27 +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
2b6407e598
remove unused tests from hyperopt
2018-06-25 11:38:42 +03: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
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
01d45bee76
fix flake8
2018-06-23 14:37:36 +03:00
Janne Sinivirta
c1691f21f3
check that we set fee on backtesting init
2018-06-23 14:37:36 +03:00
Janne Sinivirta
9a07d57ed7
fix flake8
2018-06-23 07:58:25 +03:00
Janne Sinivirta
f7e5d2c3a5
check that we set fee on backtesting init
2018-06-22 21:55:09 +03:00
xmatthias
2b099a89e4
fix styling issues
2018-06-17 23:38:07 +02:00
xmatthias
e194af8d25
Streamline validate_pair patching
2018-06-17 23:38:07 +02:00
xmatthias
ace5198475
fix optimize tests
2018-06-17 23:38:07 +02:00
xmatthias
52d36c33cf
fix optimie test
2018-06-17 23:38:07 +02:00
Anton
ae94ab17f4
Merge branch 'develop' into feature-unlimited-stake_amount
2018-06-17 02:23:40 +03:00
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