Matthias
|
e94da7ca41
|
inverse backtest logic to loop over time - not pairs (more realistic)
|
2018-11-09 07:12:41 +01:00 |
|
Matthias
|
7b62e71f23
|
Fix some tests and rebase issues
|
2018-11-07 20:45:52 +01:00 |
|
Matthias
|
8044846d37
|
Fix some refactoring problems
|
2018-11-07 07:05:40 +01:00 |
|
Stephen Dade
|
477515c4b5
|
Now using resolver for custom hyperopts
|
2018-11-07 06:58:20 +01:00 |
|
Stephen Dade
|
e0f420983e
|
Updated logger in custom_hyperopt
|
2018-11-07 06:55:28 +01:00 |
|
Stephen Dade
|
469db0d434
|
Decoupled custom hyperopts from hyperopt.py
|
2018-11-07 06:26:16 +01:00 |
|
Matthias
|
95d271ca5d
|
Fix ROI close-rate calculation to work with fees - adjust tests
|
2018-11-01 13:14:59 +01:00 |
|
Matthias
|
8c93760a6d
|
simplify some code
|
2018-10-30 20:23:31 +01:00 |
|
Matthias
|
f96f0cdea7
|
Add additional comment
|
2018-10-30 20:02:31 +01:00 |
|
Matthias
|
98050ff594
|
use all min_roi entries
|
2018-10-29 19:27:23 +01:00 |
|
Matthias
|
233c442af9
|
Adjust backtest so sell uses stop-loss or roi value as closerate
|
2018-10-29 19:27:23 +01:00 |
|
Matthias
|
db9a85f4a2
|
Merge pull request #1282 from freqtrade/feat/add_missingdata_warning
Show warning if part of backtest data is missing
|
2018-10-27 11:16:10 -04: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
|
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
|
84622dc84b
|
Move test for strategy out of constructor
|
2018-09-29 14:23:53 +02:00 |
|
Matthias
|
1b290ffb5d
|
Update hyperopt to show errors if non-supported variables are used
|
2018-09-29 13:49:38 +02:00 |
|
Matthias
|
6e66763e5f
|
Only load strategy once during backtesting
|
2018-09-27 19:23:55 +02:00 |
|
Matthias
|
567211e9f9
|
don't print "NAN" lines in "left_open_trades"
|
2018-09-20 20:35:26 +02:00 |
|
Matthias
|
54ddd908e6
|
Merge branch 'develop' into ccxt-async
|
2018-08-29 19:43:09 +02:00 |
|
Matthias
|
a077955efa
|
update json.load to json_load - followup to #1142
|
2018-08-19 19:58:07 +02:00 |
|
Matthias
|
6d1c82a5fa
|
Remove last refreence to get_candle_history
|
2018-08-19 19:50:14 +02:00 |
|
Matthias
|
2b37c1ff0e
|
Merge branch 'develop' into ujson-loader
|
2018-08-12 13:11:40 +02:00 |
|
Matthias
|
7d72e364aa
|
Remove broken ujson loading - replace with variable-based fix
|
2018-08-12 13:08:10 +02:00 |
|
Matthias
|
a852d2ff32
|
default since_ms to 30 days if no timerange is given
|
2018-08-10 11:15:02 +02:00 |
|
Matthias
|
a107c4c7b4
|
Download using asyncio
|
2018-08-10 11:08:28 +02:00 |
|
Matthias
|
74d6816a1a
|
Fix some comments
|
2018-08-10 11:00:07 +02: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
|
76fbb89a03
|
use print for backtest results to avoid odd newline-handling
|
2018-07-31 21:04:03 +02:00 |
|
Matthias
|
c648e2acfc
|
Adjust documentation to strategy table
|
2018-07-31 21:04:03 +02:00 |
|
Matthias
|
028589abd2
|
Add strategy summary table
|
2018-07-31 21:04:03 +02:00 |
|
Matthias
|
5125076f5d
|
Fix typo
|
2018-07-31 21:04:03 +02:00 |
|
Matthias
|
a57a2f4a75
|
Store backtest-result in different vars
|
2018-07-31 21:04:03 +02:00 |
|
Matthias
|
bd3563df67
|
Add test for new functionality
|
2018-07-31 21:04:03 +02:00 |
|
Matthias
|
644f729aea
|
Refactor strategy loading to __init__
|
2018-07-31 21:04:03 +02:00 |
|
Matthias
|
5f2e92ec5c
|
Refactor backtesting
|
2018-07-31 21:04:03 +02:00 |
|
Matthias
|
65aaa3dffd
|
Extract backtest strategy setting
|
2018-07-31 21:04:03 +02:00 |
|
Matthias
|
56046b3cb3
|
Add strategylist option to backtesting
|
2018-07-31 21:04:03 +02:00 |
|
Matthias
|
787d6042de
|
Switch from pair(str) to metadata(dict)
|
2018-07-29 20:56:23 +02:00 |
|
Matthias
|
5fbce13830
|
update hyperopt to use new methods
|
2018-07-29 20:55:40 +02:00 |
|
Matthias
|
98665dcef4
|
revert inadvertent wihtespace changes
|
2018-07-29 20:55:37 +02:00 |
|
Matthias
|
df8700ead0
|
Adapt after merge from develop
|
2018-07-29 20:55:37 +02:00 |
|
Gert Wohlgemuth
|
0dcaa82c3b
|
fixed test?
|
2018-07-29 20:55:06 +02:00 |
|
Gert Wohlgemuth
|
3dd7d209e9
|
more test fixes
|
2018-07-29 20:55:06 +02:00 |
|
Gert Wohlgemuth
|
abc55a6e6b
|
fixing? hyperopt
|
2018-07-29 20:55:06 +02:00 |
|
xmatthias
|
2e6e5029ba
|
fix mypy and tests
|
2018-07-29 20:55:06 +02:00 |
|
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 |
|