Commit Graph

199 Commits

Author SHA1 Message Date
Gerald Lonlas
1d251d6151 Move Backtesting to a class and add unit tests 2018-03-03 09:33:54 +08:00
Samuel Husso
35c51c73f7
Merge pull request #518 from gcarq/cleaning_up_backtesting
Cleaning up backtesting/hyperopt
2018-02-18 10:18:00 +02:00
Janne Sinivirta
fac122891f remove stoploss parameter from backtest, it is loaded from strategy 2018-02-17 11:14:03 +02:00
Janne Sinivirta
d1bdbcd273
Fix wrong duration calculation in hyperopting 2018-02-16 22:08:20 +02:00
Janne Sinivirta
bf72b5bc37 make args available for optimizer and use them instead of guessing from params 2018-02-16 14:00:12 +02:00
Janne Sinivirta
f64c8cc9ce realistic should be False by default and enabled with a --realistic-simulation flag 2018-02-15 13:11:17 +02:00
Janne Sinivirta
a1ba57186b correctly join paths and debug log the found results 2018-02-15 08:59:02 +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
3e07d41fa9 remove mention of sell space 2018-02-12 07:01:51 +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
2dd2f31431 remove repeated condition 2018-02-11 14:31:37 +02:00
Janne Sinivirta
dc105d5eae better names for row variables 2018-02-11 14:24:19 +02:00
Janne Sinivirta
c62356438a loop over arrays instead of dataframes 2018-02-11 14:18:57 +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
a28ffcbcf7 remove slow unnecessary table scan 2018-02-06 21:21:47 +02:00
Janne Sinivirta
a071571eac switch to faster short circuiting condition 2018-02-06 12:13:12 +02:00
Janne Sinivirta
5cf2dd79f2 don't reset index if not needed 2018-02-06 11:34:01 +02:00
Janne Sinivirta
cf7c6d2e9c switch to properly using dates as indexes, makes date based searching and slicing a lot faster 2018-02-06 11:34:00 +02:00
Janne Sinivirta
8c7b29734e use date info to calculate trade durations 2018-02-06 11:34:00 +02:00
Janne Sinivirta
0a42a0e814
Merge pull request #479 from gcarq/fix/issue-478
Fix Backtesting / Hyperopt ticker_interval download
2018-01-31 17:15:47 +02:00
Jean-Baptiste LE STANG
07b7828f39 Fixing bug in backtesting causing to much sells 2018-01-31 07:59:45 +01:00
Gerald Lonlas
d313eb812d Forgot one args.ticker_interval 2018-01-29 23:07:54 -08:00
Gerald Lonlas
321e3ede30 Fix hyperopt ticker interval download 2018-01-29 22:53:28 -08:00
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