Commit Graph

175 Commits

Author SHA1 Message Date
Gerald Lonlas 524290d678 Fix backtesting ticker interval download 2018-01-29 22:51:29 -08:00
Jean-Baptiste LE STANG 94172091ae Refactoring the sell conditions evaluation to share the function with backtesting 2018-01-29 10:10:19 +01: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
Gerald Lonlas 2bccaa31c9 Increase pylint score on misc.py 2018-01-28 14:28:28 -08:00
Michael Smith f66958c34f optimize/__init__.py:
Added support for gzip ticker data files if they exist.
2018-01-28 21:57:25 +08:00
Michael Smith b44adaa5ab Added support in /optimize for gzip ticker data files if they exist. 2018-01-28 21:52:27 +08:00
Janne Sinivirta a6a479f7aa balances to min roi hyperopt settings 2018-01-28 10:46:22 +02:00
Janne Sinivirta 67ddb2e7f8 lower precision for most search space variables 2018-01-27 09:51:06 +02:00
Janne Sinivirta 95ab7c84bc remove unnecessary else 2018-01-26 18:41:41 +02:00
Janne Sinivirta f33923c784 fix typings for hyperopt code 2018-01-26 18:32:45 +02:00
Janne Sinivirta a7a7c37121 add day counter to timeframe 2018-01-26 18:32:45 +02:00
Janne Sinivirta b7e297ebda remove unused loop variable 2018-01-26 11:50:00 +02:00
Janne Sinivirta 4fe6ae0bae fix search space for min ROI 2018-01-25 22:32:46 +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
Janne Sinivirta c400d15ed1 rip out hyperopt things from strategy, add indicator populating to hyperopt 2018-01-23 16:56:12 +02:00
Janne Sinivirta a6cbc1ba16
Merge pull request #400 from gcarq/feature/custom_strategy
Allow custom strategy files
2018-01-23 15:25:18 +02:00
Gerald Lonlas e220ad5389 Remove useless USDT_BTC filename conversion 2018-01-22 21:40:07 -08:00
Gerald Lonlas eac6e05392 Fix error when config does not have stoploss 2018-01-22 20:51:39 -08:00
Gerald Lonlas 1c7da95fed Move hyperopt_trials.pickle to user_data/ 2018-01-22 20:51:39 -08:00
Gerald Lonlas baae374899 Move hyperopt_conf.py into user_data/ 2018-01-22 20:51:39 -08:00
Gerald Lonlas be75522507 Fix flake8 2018-01-22 20:51:39 -08:00
Gerald Lonlas c46d78b4b9 Decouple strategy from analyse.py 2018-01-22 20:51:39 -08:00
Gerald Lonlas ad2a5f1717 Remove optimize.load_data() that is called twice 2018-01-20 15:35:13 -08:00
kryofly e94e6292e9 Merge branch 'develop' into test_coverage 2018-01-20 22:01:03 +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
Jean-Baptiste LE STANG 7b292d5ca3 backtesting takes its ticker_interval from the config file, else from the command line options 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 e2e2005567 Adding 30 minutes, 1 hour, 1 day tickers 2018-01-17 13:52:14 +01:00
Janne Sinivirta c670ccfd37 add trigger +DI crossed above -DI 2018-01-16 18:52:06 +02:00
Janne Sinivirta 8896b39231 add heikenashi reversal bullish trigger to hyperopt 2018-01-16 18:52:06 +02:00
Janne Sinivirta ce963aae58 add macd < 0 guard to hyperopt 2018-01-16 18:52:06 +02:00
Janne Sinivirta dc01807b3c switch ema5 trigger to ema3 cross trigger 2018-01-16 18:52:06 +02:00
Janne Sinivirta fadac5fe4a remove too aggressive trigger 2018-01-16 18:52:06 +02:00
Janne Sinivirta 99260735ae remove broken bbands trigger from hyperopt. add two working bbands triggers 2018-01-16 18:52:06 +02:00
Janne Sinivirta 501be8a3bc adjust the hyperopt objective function to emphasize profit and allow more variation in trade counts 2018-01-16 16:36:50 +02:00
Janne Sinivirta 38fe7ec7cd adjust default target values for hyperopt 2018-01-16 16:35:48 +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
Janne Sinivirta ec7bfba8df add comment about checking the new total profit logging 2018-01-14 13:11:19 +02:00
Janne Sinivirta f1e176d35c log total profit in percentages also 2018-01-14 13:10:25 +02:00
Janne Sinivirta 92241baade log the loss value 2018-01-14 13:09:39 +02:00
kryofly d4008374f6 backtest export: include enter,exit dates 2018-01-12 22:12:00 +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
kryofly feb5da0c35 file_dump_json 2018-01-11 15:49:04 +01:00
Janne Sinivirta c11102cf4a another run of autopep8 2018-01-11 07:08:56 +02:00
Janne Sinivirta 86db6c9084 sort imports 2018-01-11 07:08:56 +02: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 feca87345f refactor 2018-01-10 23:00:40 +01:00
kryofly f848a5c87d tests optimize load_data 2018-01-10 13:43:03 +01:00
Samuel Husso e67c652988 use os.path.join, fix docstrings 2018-01-10 11:50:00 +02:00
Samuel Husso ffae0b2cd5 hyperopt: prettyfie best values when receiving SIGINT, use the global TRIALS 2018-01-09 12:37:56 +02:00
Samuel Husso 1647e7a0c1 update fix failing tests, unitest that resume hyperopt functionality works 2018-01-09 12:26:52 +02:00
Samuel Husso b35fa4c9f6 hyperopt: show the best results so far 2018-01-09 12:25:58 +02:00
Samuel Husso a48840509b Hyperopt: use results from previous runs 2018-01-09 12:25:58 +02:00
Samuel Husso ca8cab0ce9 Hyperopt to handle SIGINT by saving/reading the trials file 2018-01-09 12:25:58 +02:00
Janne Sinivirta dd2ccea6e5 fix wrong range in stoploss search space 2018-01-08 21:59:46 +02: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
Janne Sinivirta 41933c31ca
Merge pull request #315 from kryofly/tests_jan05
tests cover more backtesting
2018-01-06 09:26:20 +02: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
Gerald Lonlas 7fd6d089c0 Fix Backtesting header alignment 2018-01-04 23:14:10 -08:00
Gerald Lonlas 90017998fc Use named argument for backtest() 2018-01-04 22:27:55 -08:00
Jean-Baptiste LE STANG ea6a1c629d fixing pep8 compliance 2018-01-03 11:50:30 +01:00
Jean-Baptiste LE STANG eb53a796e2 pep8 compliance 2018-01-03 11:35:54 +01:00
Jean-Baptiste LE STANG 45f2d01895 - add a profit/loss counter
- the use of the sell_signal is conditional now (taken from the config)
2018-01-03 11:19:46 +01:00
Jean-Baptiste LE STANG c176ace889 Adding sell_profit_only and stoploss in hyperopt 2018-01-03 10:56:18 +01:00
Janne Sinivirta fed3024302 rewrite get_timeframe in backtesting 2018-01-02 21:54:31 +02:00
Janne Sinivirta dc2f048c98 make tuples smaller in backtesting loops 2018-01-02 21:52:47 +02:00
Janne Sinivirta 82e9ed2ac2 shorten table title to match table length 2018-01-02 17:53:47 +02:00
Janne Sinivirta ae52880f81 improve backtesting result formatting 2018-01-02 17:39:02 +02:00
Gerald Lonlas 0d605d2396 Refactor Optimize tests, and add more unit tests 2017-12-28 22:32:48 -08:00
Janne Sinivirta a36fd00f6a also print dot when hyperopt eval result is fail 2017-12-28 06:40:11 +02:00
Janne Sinivirta 7f44ba6df4 unit tests for optimize.hyperopt 2017-12-28 06:39:56 +02:00
Janne Sinivirta 7b0beb0afa cleanups 2017-12-28 06:36:18 +02:00
Janne Sinivirta de33d69eed Lint fixes (#236)
* correct docstring

* add type annotation to trade_count_lock

* fix indentations

* allow globals in hyperopt.py

* fix import order

* simplify asserts

* use proper variable name

* simplify condition

* fix path operation that fails on windows
2017-12-25 12:07:50 +01:00
Janne Sinivirta 9959d53f5e Logging improvements to Hyperopt (#235)
* make log texts go on new line

* remove unnecessary fields from hyperopt log messages

* shorten log text in hyperopt

* consider making zero trades a failed hyperopt eval

* only log from hyperopt when result improves

* remove unnecessary temp variables

* remove unused result data variables

* remove unused import

* fix an outdated comment
2017-12-25 08:18:34 +01:00
Janne Sinivirta 353b0d2d34 balance hyperopt objective to adjusted profit calculations 2017-12-23 19:18:28 +02:00
Janne Sinivirta e644d57dbe log should state profit is in BTC to avoid confusion 2017-12-23 19:00:49 +02:00
Janne Sinivirta 50e7cef5f3 remove commented-out code 2017-12-23 19:00:49 +02:00
Janne Sinivirta 1058820e1b just pass stake_amount instead of the whole config 2017-12-23 19:00:49 +02:00
Janne Sinivirta 24bc3a8390 show more digits for profits 2017-12-23 15:11:19 +02:00
Janne Sinivirta 5309ea3820 use newline for each log result for readability 2017-12-23 15:11:19 +02:00
Janne Sinivirta a063680d32 calculate log line only if really logging 2017-12-23 15:11:19 +02:00
Janne Sinivirta 10cf2ce853 remove unnecessary confusing division 2017-12-23 15:11:19 +02:00