Commit Graph

367 Commits

Author SHA1 Message Date
Matthias
7f27beff4b
Revert "backtesting: try to load data with ujson if it exists" 2018-07-29 13:23:11 +02:00
Samuel Husso
cb2fff8909 mypy doesn't handle common idiomacy so disable the line (see the open issue more details) 2018-07-28 22:06:26 +03:00
Samuel Husso
cdd8cc551c backtesting: try to load data with ujson if it exists 2018-07-28 21:56:11 +03:00
Janne Sinivirta
4b38c8b11d use pandas own min and max for column sorting 2018-07-25 17:04:25 +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
4fb9823cfb fix rebase problem 2018-07-19 19:50:06 +02:00
Matthias
760c79c5e9 Use .center() to output trades header line 2018-07-19 19:39:08 +02:00
Matthias
a452864b41 Use namedtuple for sell_return 2018-07-19 19:39:08 +02: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
8f254031c6 Add short form for parameters, change default for hyperopt 2018-07-19 13:19:36 +02:00
Matthias
aa69177436 Properly check emptyness and adjust floatfmt 2018-07-19 13:14:21 +02:00
Matthias
79b1030435 output duration in a more readable way 2018-07-18 20:08:55 +02:00
Matthias
f9f6a3bd04
cast to int to keep exports constant 2018-07-18 09:29:51 +02:00
Matthias
8e4d2abd4e
Fix typo 2018-07-18 09:10:17 +02:00
Matthias
08237abe20
Fix wrong backtest duration
identified in #1038
2018-07-18 09:06:12 +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
85e6c9585a remove pass-through methods from Analyze 2018-07-16 08:23:39 +03:00
Janne Sinivirta
a74147c472 move strategy initialization outside Analyze 2018-07-16 08:23:39 +03:00
Matthias
06c9494a46
add missing s to Backtest cum results 2018-07-11 14:50:04 +02: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
8b06000f0f Use open-rates for backtesting 2018-07-08 20:03:11 +02:00
Matthias
efaa8f16e7 Improve formattiong of table 2018-07-08 20:01:33 +02:00
Matthias
1a24afef77 add cumsum to backtest-results 2018-07-08 19:55:04 +02:00
Samuel Husso
7dca3c6d03 freqtradebot,main,hyperopt: fstrings in use 2018-07-05 10:11:29 -05:00
Samuel Husso
03c112a601 config, optimize: fstrings in use 2018-07-05 10:11:29 -05: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
c4a8435e00 change pickle file name to better suit it's current purpose 2018-07-03 22:17:43 +03:00
Janne Sinivirta
3a7056ea1b run at least one epoch 2018-07-03 21:55:22 +03:00
Janne Sinivirta
2cde540645 remove dead code 2018-07-03 21:50:45 +03:00
Janne Sinivirta
ef59f9ad24 sort imports in hyperopt.py 2018-07-03 21:50:24 +03:00
Janne Sinivirta
ee4754cfb9 avoid re-serialization of whole dataframe 2018-07-03 14:49:58 +03:00
Janne Sinivirta
2713fdb860 use cpu count explicitly in job count 2018-07-03 11:46:56 +03:00
Janne Sinivirta
79aab4cce2 use fstring 2018-07-03 11:44:54 +03:00
Janne Sinivirta
fa8fc3e4ce handle the case where we have zero buys 2018-07-02 11:46:55 +03:00
Janne Sinivirta
aec3f582e1 Merge branch 'develop' into skopt 2018-07-02 11:27:27 +03:00
Janne Sinivirta
0ce08932ed mypy fixes 2018-06-30 09:54:31 +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
0bddc58ec4 extract loading previous results to a method 2018-06-25 11:38:14 +03:00
xmatthias
e70cb963f7 document what to do with exported backtest results 2018-06-24 17:00:00 +02: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
Janne Sinivirta
642ad02316 remove unused import 2018-06-23 15:56:38 +03:00
Janne Sinivirta
ab9e2fcea0 fix guard names to match search space 2018-06-23 15:47:19 +03:00
Janne Sinivirta
136456afc0 add three triggers to hyperopting 2018-06-23 15:44:51 +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
e8f2e6956d to avoid pickle problems, get rid of reference to exchange after initialization 2018-06-23 14:37:36 +03:00
Janne Sinivirta
a525cba8e9 switch signal handler to try catch. fix pickling and formatting output 2018-06-23 14:37:36 +03:00
Janne Sinivirta
8272120c3a convert stoploss and ROI search spaces to skopt format 2018-06-23 14:37:36 +03:00
Janne Sinivirta
8fee2e2409 move result logging out from optimizer 2018-06-23 14:37:36 +03:00
Janne Sinivirta
c415014153 use multiple jobs in acq 2018-06-23 14:37:36 +03:00
Janne Sinivirta
964cbdc262 increase initial sampling points 2018-06-23 14:37:36 +03:00
Janne Sinivirta
a46badd5c0 reuse pool workers 2018-06-23 14:37:36 +03:00
Janne Sinivirta
0cb1aedf5b problem with pickling 2018-06-23 14:37:36 +03:00
Janne Sinivirta
b485e6e0ba start small 2018-06-23 14:37:36 +03:00
gcarq
78f50a1471 move logic from hyperopt to freqtrade.strategy 2018-06-23 14:37:36 +03:00
gcarq
5aae215c94 wrap strategies with HyperoptStrategy for module lookups with pickle 2018-06-23 14:37:36 +03:00
Janne Sinivirta
a68c90c512 avoid calling exchange.get_fee inside loop 2018-06-23 14:37:36 +03:00
gcarq
c40e6a12d1 move logic from hyperopt to freqtrade.strategy 2018-06-23 11:13:49 +02:00
gcarq
3360bf4001 wrap strategies with HyperoptStrategy for module lookups with pickle 2018-06-23 10:42:33 +02:00
Janne Sinivirta
c73b9f5c77 avoid calling exchange.get_fee inside loop 2018-06-22 21:04:07 +03:00
xmatthias
251f7db3ca require exchange object to delete pairs 2018-06-17 23:38:07 +02:00
xmatthias
21edcbdc27 Refactor exchange to class 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
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
c0289ad844 use list comprehension to build list 2018-06-13 19:53:12 +02:00
xmatthias
e600be4f56 Reduce force-sell verbosity 2018-06-13 19:44:00 +02:00
xmatthias
6357812743 fix backtest report able 2018-06-13 06:57:49 +02:00
xmatthias
e3ced7c15e extract export from backtest function 2018-06-12 22:29:30 +02:00
xmatthias
bfde33c945 Use timestamp() instead of strftime
this will avoid a bug shifting epoch time by 1 hour:
https://stackoverflow.com/questions/11743019/convert-python-datetime-to-epoch-with-strftime
2018-06-12 21:12:55 +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
12e455cbf5 add buy/sell index to backtest result 2018-06-10 20:52:42 +02:00
xmatthias
4710210cff fix hyperopt to use new backtesting result tuple 2018-06-10 13:56:10 +02:00
xmatthias
27ee8f7360 make flake happy 2018-06-10 13:55:48 +02:00
xmatthias
1cd7ac55a8 Added "left open trades" report 2018-06-10 13:45:16 +02:00
xmatthias
b81588307f Add "open_at_end" parameter 2018-06-10 13:37:53 +02:00
xmatthias
31025216f9 fix type of open/close timestmap 2018-06-10 13:32:07 +02:00
xmatthias
322a528c12 fix bug with backtestResult 2018-06-10 13:25:16 +02:00
xmatthias
9c57d3aa8b add BacktestresultTuple 2018-06-10 13:15:46 +02:00
xmatthias
c1b2e06eda simplify return from _get_sell_trade_entry 2018-06-10 09:07:04 +02:00
xmatthias
3094acc7fb update comment 2018-06-10 08:58:28 +02:00
xmatthias
24a875ed46 remove experimental parameters - they are read by analyze.py anyway 2018-06-09 21:44:57 +02:00
xmatthias
5623ea3ac6 Add forcesell at end of backtest period 2018-06-09 21:44:20 +02:00
xmatthias
8effc5f929 fix windows-specific init issue with named tuple 2018-06-08 19:46:07 +02:00
Anton
b4138f29c8 Merge with develop 2018-06-08 00:29:44 +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
Janne Sinivirta
7f8e0ba25f use buy/sell signal from previous candle, not current to avoid seeing to the future 2018-06-07 17:28:40 +03:00
xmatthias
f37c5b70ba Fix tests - read optional argument 2018-06-05 23:53:49 +02:00
xmatthias
7a34578b4d refactor timerange to named tuple 2018-06-05 23:34:26 +02:00
Anton
87f750da35 Merge with develop 2018-06-04 01:50:10 +03:00