Matthias
c0784b7c33
Merge pull request #2089 from hroff-1902/hyperopt-print-colorized
...
Hyperopt print colorized results
2019-08-13 19:36:06 +02:00
hroff-1902
8f92912852
final colorization schema
...
colorization schema-2: red, green, bright/dim
colorization schema-3: red, green, bright only green bests
colorization schema-4: no red, green for profit, bright for bests
2019-08-12 21:08:52 +03:00
hroff-1902
e5dcd520ba
cosmetics in sample_hyperopt and default_hyperopt
2019-08-12 02:19:50 +03:00
Matthias
2c5a499a8b
Merge branch 'develop' into align_userdata
2019-08-10 20:15:07 +02:00
Matthias
74e583a612
Merge pull request #2094 from hroff-1902/hyperopt-roi-stoploss
...
Simplify custom hyperopts -- no need to copy ugly methods in every custom implementation
2019-08-10 15:49:52 +02:00
hroff-1902
ae39f6fba5
use of termcolor eliminated
2019-08-09 14:51:03 +03:00
Cedric Schmeits
8ad5afd3a1
As -sharp_ratio is returned the value should be nagative.
...
This leads in a high positive result of the loss function, as it is a minimal optimizer
2019-08-08 22:10:51 +02:00
hroff-1902
0d4a2c6c3a
advanced sample hyperopt added; changes to helpstrings
2019-08-08 22:51:37 +03:00
Matthias
3d3b0938e5
Merge pull request #2101 from freqtrade/backtest_ticker_interval_unset
...
Backtest ticker interval unset
2019-08-07 14:20:36 +02:00
Matthias
7e91a0f4a8
Fail gracefully if ticker-interval is not set
2019-08-06 06:45:44 +02:00
Matthias
bc2e920ae2
Adjust code to verify "current" candle for buy/sells
2019-08-05 20:07:29 +02:00
hroff-1902
c6444a10a8
move roi_space, stoploss_space, generate_roi_table to IHyperOpt
2019-08-05 18:07:25 +03:00
Matthias
383b24ab84
Merge branch 'develop' into align_userdata
2019-08-05 06:55:51 +02:00
hroff-1902
9cbab35de0
colorization by means of termcolor and colorama
2019-08-04 22:54:19 +03:00
hroff-1902
f200f52a16
hyperopt print colorized results
2019-08-03 19:09:42 +03:00
hroff-1902
13620df717
'with values:' line removed
2019-08-03 11:05:05 +03:00
hroff-1902
3b65c986ee
wordings fixed
2019-08-03 10:20:20 +03:00
hroff-1902
aa8f44f68c
improvements to hyperopt output
2019-08-02 22:22:58 +03:00
Matthias
39e8e507d9
Merge branch 'develop' into align_userdata
2019-08-02 20:08:26 +02:00
hroff-1902
065ebd39ef
cleanup in hyperopt
2019-08-01 23:57:26 +03:00
Matthias
bcccdda7c0
Merge branch 'develop' into align_userdata
2019-08-01 19:33:45 +02:00
Matthias
8cef567abc
create and use hyperopt-results folder
2019-07-31 07:10:17 +02:00
hroff-1902
8f1f416a52
hyperopt cleanup and output improvements
2019-07-30 11:47:28 +03:00
Matthias
2c7a248307
Use user_data_dir in hyperopt
2019-07-28 14:57:05 +02:00
Matthias
0a253d66d0
Remove os.path from hyperopt
2019-07-28 14:57:05 +02:00
hroff-1902
e9b77298a7
max() removed
2019-07-25 08:17:41 +03:00
hroff-1902
0c2c094db6
minor: add OnlyProfitHyperOptLoss
2019-07-23 18:51:24 +03:00
Matthias
639a4d5cf7
Allow importing interface from hyperopt.py
2019-07-17 07:15:43 +02:00
Matthias
0e500de1a0
Add sample loss and improve docstring
2019-07-17 06:32:24 +02:00
Matthias
8ccfc0f316
Remove unused variables
2019-07-17 06:24:40 +02:00
Matthias
ec49b22af3
Add sharpe ratio hyperopt loss
2019-07-16 06:45:13 +02:00
Matthias
d23179e25c
Update hyperopt-loss to use resolver
2019-07-16 06:27:43 +02:00
Matthias
7d62bb8c53
Revert --clean argument to --continue
2019-07-16 05:51:26 +02:00
Matthias
07a1c48e8c
Fix wrong intendation for custom-hyperopt check
2019-07-15 23:14:07 +02:00
Matthias
7be25313a5
Add some mypy ignores
2019-07-15 22:59:28 +02:00
Matthias
55e8092cbf
Add sharpe ratio as loss function
2019-07-15 22:52:33 +02:00
Matthias
e5170582de
Adapt tests to new loss-function method
2019-07-15 22:45:14 +02:00
Matthias
710443d200
Add documentation for custom hyperopt
2019-07-15 21:38:49 +02:00
Matthias
2a20423be6
Allow loading custom hyperopt loss functions
2019-07-15 21:35:42 +02:00
Matthias
2fedae6060
Move unnecessary things out of generate_optimizer
2019-07-15 20:31:55 +02:00
Matthias
b1b4048f97
Add test for hyperopt
2019-07-15 20:28:02 +02:00
Matthias
107f00ff8f
Add hyperopt option to clean temporary pickle files
2019-07-15 20:17:15 +02:00
Matthias
5144e98a82
Merge pull request #2015 from hroff-1902/refactor/config2
...
Make configuration a module
2019-07-15 19:41:57 +02:00
Matthias
cbe25178d7
Merge pull request #2009 from hroff-1902/fix-2008
...
fix #2008
2019-07-15 10:55:33 +02:00
hroff-1902
65f77306d3
using logger.debug, info was too noisy
2019-07-14 21:00:48 +03:00
hroff-1902
efbc7cccb1
enable --dmmp for hyperopt
2019-07-14 20:56:17 +03:00
hroff-1902
1bdffcc73b
make configuration a sep. module, including arguments
2019-07-12 00:49:23 +03:00
hroff-1902
e993e010f4
Fix #2013
2019-07-11 23:02:57 +03:00
hroff-1902
c474e2ac86
fix #2008
2019-07-10 01:53:40 +03:00
Matthias
700bc087d3
Merge pull request #1952 from hroff-1902/fix/1948
...
Fix #1948
2019-06-27 19:36:06 +02:00
hroff-1902
e5a8030dd7
comment added
2019-06-27 16:42:10 +03:00
Matthias
a07653a6cc
Merge branch 'develop' into fix/validate_dataframe
2019-06-24 06:21:08 +02:00
hroff-1902
7fbdf36c64
avoid code duplication while selecting min_roi entries
2019-06-23 19:23:51 +03:00
Matthias
4cbcb5f36f
Move .title to ExchangeResolver (it does not make sense to do this over
...
and over again)
2019-06-22 16:52:14 +02:00
Matthias
7a0d86660e
Mypy type errors
2019-06-21 07:10:30 +02:00
hroff-1902
813c008af2
setup_configuration() cleanup
2019-06-16 21:37:43 +03:00
Matthias
89ff614e1d
Add pair as parameter, and warn when fillup was necessary
2019-06-15 13:46:19 +02:00
Matthias
55079831a1
Don't explicitly validate backtest data (it's done while loading now).
2019-06-15 13:45:50 +02:00
Misagh
ad9dc349e4
edge cli should override stake_amount
2019-06-15 12:20:32 +02:00
Matthias
1afe6c1437
Don't run validation per strategy, it's only eneded once
2019-06-14 19:37:54 +02:00
Matthias
4dc3a0ca1d
Small cleanup to reduce dict lookups during backtesting/hyperopt
2019-06-10 16:20:19 +02:00
hroff-1902
90b0f1daa8
minor optimize cleanup
2019-06-10 02:08:54 +03:00
Matthias
c2f6897d8b
Move download of live data to load_data
...
Avoids code duplication in backtesting and plot_dataframe
2019-05-29 20:20:20 +02:00
Matthias
55bdd26439
Edgecli -> Edge for Runmode and start_edge()
2019-05-28 19:25:01 +02:00
Matthias
104f1212e6
Move edge_cli_start to optimize
2019-05-25 20:06:15 +02:00
Matthias
236c392d28
Don't load hyperopts / optimize dependency tree if that module is not
...
used
2019-05-25 20:00:31 +02:00
Matthias
b38c43141c
Adjust imports to new location
2019-05-25 16:53:35 +02:00
Matthias
9225cdea8a
Move validate_backtest_data and get_timeframe to histoyr
2019-05-25 16:51:52 +02:00
hroff-1902
c3e93e7593
fix reduce() TypeError in hyperopts
2019-05-24 23:08:56 +03:00
hroff-1902
406e266bb4
typo in comment fixed
2019-05-22 14:34:35 +03:00
hroff-1902
2c9a519c5e
edge: handle properly the 'No trades' case
2019-05-22 14:21:36 +03:00
hroff-1902
8b95e12468
log message adjusted in backtesting and hyperopt
2019-05-15 12:05:35 +03:00
hroff-1902
5677c4882e
minor: add ticker data validation; log backtesting interval
2019-05-13 23:56:59 +03:00
hroff-1902
00b4501c59
avg profit and total profit corrected (to be %, not ratio); comments cleaned up a bit; typo in the log msg fixed
2019-05-12 21:14:00 +03:00
hroff-1902
0f43e0bb7d
minor hyperopt output improvements
2019-05-10 10:54:44 +03:00
hroff-1902
e7b81e4d46
hyperopt --min-trades parameter
2019-05-01 15:27:58 +03:00
hroff-1902
ea44bbff9f
prevent hyperopt from running simultaneously
2019-04-25 11:11:04 +03:00
Matthias
bf56e25404
Merge pull request #1746 from hroff-1902/json-defaults
...
Support for defaults in json schema
2019-04-24 12:20:39 +02:00
Matthias
d16ccd7e37
Merge branch 'develop' into json-defaults
2019-04-24 09:51:04 +02:00
hroff-1902
6a0f527e0e
merge --job-workers and commit printing debug log messages with the opt state
2019-04-24 10:35:04 +03:00
hroff-1902
2898067318
Merge branch 'develop' into hyperopt-jobs
2019-04-24 10:31:03 +03:00
hroff-1902
fc4ef2b430
Merge branch 'develop' into hyperopt-opt-params
2019-04-23 21:58:27 +03:00
hroff-1902
e3b0474901
Merge branch 'develop' into hyperopt-jobs
2019-04-23 21:34:38 +03:00
hroff-1902
cc9f899cd6
removed explicit dependency on multiprocessing module
2019-04-23 21:25:36 +03:00
hroff-1902
a022b1a6c1
--random-state for optimzer to get reproducible results added
2019-04-23 21:18:52 +03:00
Matthias
4971b9fc39
Merge pull request #1793 from hroff-1902/hyperopt-debug-state
...
hyperopt: print optimizer state in debug log messages
2019-04-23 20:11:04 +02:00
hroff-1902
3e3fce5f38
print optimizer state in debug log messages
2019-04-23 09:49:24 +03:00
hroff-1902
7c8e26c717
-j/--job-workers option added for controlling the number of joblib parallel worker processes used in hyperopt
...
docs refreshed
2019-04-23 00:52:07 +03:00
hroff-1902
ad85ac3dde
make --refresh-pairs-cached common option for optimization; added support for it into hyperopt
2019-04-22 21:24:45 +03:00
hroff-1902
6b87d94bb0
--print-all command line option added for hyperopt
2019-04-22 01:10:01 +03:00
hroff-1902
9fbe573cca
limit usage of ccxt to freqtrade/exchange only
2019-04-09 12:27:35 +03:00
hroff-1902
4559a38172
PoC: use defaults in json schema for some exchange options
2019-04-08 04:42:28 +03:00
hroff-1902
8cb1024ff6
Merge branch 'develop' into ccxt-parse_timeframe
2019-04-05 23:16:27 +03:00
Misagh
9dc2a30793
Merge pull request #1683 from gianlup/fix_bt_partial_data
...
Fix backtest problem with partial data
2019-04-05 07:28:57 +02:00
Matthias
7010c835d2
Improve commentign
2019-04-04 20:23:10 +02:00
hroff-1902
2aa1b43f01
get rid of TICKER_INTERVAL_MINUTES dict, use ccxt's parse_timeframe() instead
2019-04-04 20:56:40 +03:00
Matthias
32cbb714f9
Improve commenting on backtsting and backtest_multi_tst
2019-04-04 19:44:03 +02:00
Matthias
0307ba7883
Remove one branch - python does lazy evaluation
2019-04-03 20:04:04 +02:00
Matthias
e085fd9e95
Disable dataprovider from hyperopt.
...
Dataprovider uses weak links to initialize, which cannot be pickled, and
therefore cannot be used during hyperopt.
2019-03-25 19:49:58 +01:00
Matthias
0ae81d4115
Provide dataprovider access during backtesting
2019-03-25 19:26:51 +01:00
Matthias
00e6749d8b
Refactor backtest() to be a bit more concise
2019-03-23 15:00:07 +01:00
Gianluca Puglia
6b89e86a97
Removed Timestamp cast
2019-03-20 19:44:59 +01:00
Gianluca Puglia
0eff324ce0
Use dedicated index for every pair
2019-03-20 18:38:10 +01:00
Matthias
e67ffd2d87
Fix issue that backtest is broken when stoploss_on_exchange is on
2019-03-06 19:55:34 +01:00
Matthias
02d13645b0
Merge branch 'develop' into feat/dataprovider
2019-01-26 19:29:41 +01:00
Matthias
3afe54790e
Merge pull request #1510 from gianlup/add_totprofit_to_bt
...
Added total profit column to backtest result
2019-01-25 06:38:39 +01:00
Matthias
d136cac181
Merge branch 'develop' into feat/dataprovider
2019-01-23 21:01:19 +01:00
Gianluca Puglia
896c9d34fd
Added total profit column do backtest result
2019-01-22 22:41:53 +01:00
Matthias
13e2f71d30
Add flake8 plugins and implement small improvements
2019-01-22 20:01:12 +01:00
Matthias
0aa0b1d4fe
Store tickers by pair / ticker_interval
2019-01-22 07:07:15 +01:00
Matthias
a206777fe5
Rename refresh_tickers to refresh_latest_ohlcv
2019-01-22 07:05:09 +01:00
Matthias
1340b71633
Add RunMode setting to determine bot state
2019-01-22 07:04:19 +01:00
Matthias
a2c01916e1
Add type-ignores to floatfmt
...
tabulate supports this:
30554300d7/tabulate.py (tabulate.py-1291)
:1294
2019-01-17 20:28:21 +01:00
Matthias
cd2bccd441
Have backtest use the same logic to get the ROI entry
2019-01-12 13:45:43 +01:00
Matthias
40b1d8f067
Fix CI problems
2019-01-06 14:57:14 +01:00
Matthias
dd2af86a41
pprint results
2019-01-06 14:47:38 +01:00
Matthias
167088827a
include default buy/sell trends for the hyperopt strategy
2019-01-06 14:13:15 +01:00
Matthias
a0df7b9d7c
Use sell/buy trends from hyperopt file if available
2019-01-06 14:12:55 +01:00
Matthias
2147bd8847
Fix problem when no experimental dict is available
2019-01-06 13:29:14 +01:00
Matthias
798ae460d8
Add check if trigger is in parameters
2019-01-06 13:29:14 +01:00
Matthias
68ba1e1f37
Add sell signal hyperopt
2019-01-06 13:29:14 +01:00
Misagh
26a77e193e
Merge pull request #1454 from freqtrade/feat/interpolate_missing
...
interpolate missing candles
2019-01-04 22:33:53 +01:00
Matthias
2bc76771bf
Align backtest to interface.py
...
interface.py roi calculation skips on <= duration
the correct selection is therefore trade_duration > x.
2019-01-01 16:50:10 +01:00
Matthias
fae875f588
Implement missing_data_fillup to tests and operations
2018-12-31 19:15:49 +01:00
Matthias
8b9cc45f41
move test for data completeness
...
should be done before analyzing strategy
2018-12-31 15:09:50 +01:00
Matthias
429f846ad1
Switch load_data to kwargs
2018-12-15 20:31:05 +01:00
Matthias
6c02cc5993
Adjust test to pathlib
2018-12-15 14:14:38 +01:00
Matthias
21aba1620c
Replace calls to load_data
2018-12-15 14:10:33 +01:00
Matthias
407139b0e0
remove unused imports
2018-12-14 06:32:49 +01:00
Matthias
432cc00283
Adjust imports to data.history
2018-12-14 06:32:49 +01:00
Matthias
1a3fcd4771
extract data-handling methods from optimize
2018-12-14 06:32:49 +01:00
Matthias
04c330f10b
Merge pull request #1404 from freqtrade/feat/pass_df
...
keep DF instead of list
2018-12-13 20:14:32 +01:00
Matthias
7e3955b04c
Fix edge-cli comments (refer to edge, not backtest
2018-12-12 20:04:14 +01:00
Matthias
7a533de1a8
Use list ticker history for backtesting
2018-12-12 19:17:09 +01:00
Matthias
3ac2106a16
Merge pull request #1290 from freqtrade/fix/backtest_toomanyopen
...
fix backtesting not respecting max_open_trades
2018-11-30 19:17:09 +01:00
Matthias
cc7b820978
Move hyperoptresolver to resolvers package
2018-11-24 20:14:08 +01:00
Matthias
21a093bcdb
extract resolvers to IResolvers and it's own package
2018-11-24 20:00:02 +01:00
Matthias
805f509498
Merge branch 'develop' into fix/backtest_toomanyopen
2018-11-24 10:39:16 +01:00
Matthias
64028647a0
Merge pull request #571 from stephendade/userhyper
...
Separated out custom hyperopts
2018-11-21 19:14:30 +01:00
Matthias
a3b6004115
IHyperopt: all methods static, somef ixes for mypy
2018-11-20 19:41:07 +01:00
Matthias
7757c53b06
Small fixes
2018-11-20 17:43:49 +01:00
Matthias
5dd013c3b1
Rename hyperopt interface and resolver
2018-11-20 17:40:45 +01:00
misagh
f666d1596b
renaming edge to edge_cli for command line version
2018-11-15 10:31:56 +01:00
Matthias
4f800bfbc8
Fix pickling-error
2018-11-14 20:25:43 +01:00
misagh
ca22a116ad
timerange added to args
2018-11-14 17:14:37 +01:00
misagh
5d73b303fe
unnecessary libraries removed + arg help enriched
2018-11-14 16:49:16 +01:00
misagh
dd47d7adb4
cli blank line added to readability
2018-11-14 16:37:26 +01:00
misagh
b0e4aa8eff
stop loss range added to args
2018-11-14 16:31:23 +01:00
misagh
36030176bb
nb_trades and avg_trade_duration added to cli
2018-11-14 13:38:23 +01:00
misagh
5de3f1d9dd
showing result in tabular
2018-11-14 13:25:44 +01:00
misagh
95cbbf1cb5
adding edge configuration to cli
2018-11-14 12:53:20 +01:00
misagh
cf974168e9
Edge cli drafted
2018-11-14 12:37:15 +01:00
Matthias
93429a58b2
remove TODO
2018-11-09 07:13:20 +01:00
Matthias
9cd2ed5a16
fix hyperopt get_timeframe mock
2018-11-09 07:13:20 +01:00
Matthias
66487f2a13
require start/end-date argument in backtest
2018-11-09 07:13:20 +01:00
Matthias
96efd12a31
add new options to hyperopt
2018-11-09 07:12:41 +01:00
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
Anton
87f750da35
Merge with develop
2018-06-04 01:50:10 +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
Janne Sinivirta
a657e3d24a
Merge pull request #826 from gcarq/fix/hyperopt-stake_currency
...
Fix stake_currency returned by Hyperopt …
2018-06-03 07:19:24 +03:00
Janne Sinivirta
2cd8782a88
Merge pull request #825 from gcarq/fix/hyperopt-in-progress
...
Fix the in-progress dot that does not show up during a Hyperopt run
2018-06-03 07:16:39 +03: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
Gerald Lonlas
dc65753a64
Fix the in-progress dot that does not show up during a Hyperopt run
2018-06-02 12:35:07 -07:00
Raymond Luo
2791d543ea
Make backtesting report markdown shareable
...
Small tweak to make the backtesting report markdown ready and much easier to share reports on many markdown publishing tools and editors that already support Markdown Extra with just a copy and paste
Example:
![Example](https://i.imgur.com/HXlNkfm.png )
2018-06-02 19:52:16 +02:00
xmatthias
f88729f0e8
add ignore comment
2018-06-02 14:14:28 +02:00
xmatthias
3447e4bb97
comment on ignore hint
2018-06-02 14:13:17 +02:00
xmatthias
0007002c80
fix test failure
2018-06-02 14:07:54 +02:00
xmatthias
0a595190a3
fix last typechecks
2018-06-02 13:59:35 +02:00
xmatthias
d9e951447f
remove _init function in backtesting (and according test)
2018-06-02 13:54:22 +02:00
xmatthias
4a322abd4d
Typecheck improvements
2018-06-02 13:44:05 +02:00
Gerald Lonlas
792dd556a1
Fix wrong hint '--update-pairs-cached' from Backtesting/Hyperopt
2018-06-01 19:46:53 -07:00
xmatthias
3fb1dd02f1
add typehints and type: ignores
2018-05-31 22:00:46 +02:00
xmatthias
45909af7e0
type anotation fixes
2018-05-30 22:38:09 +02:00
Anton
3427c7eb54
Use constants
2018-05-25 17:04:08 +03:00
Anton
9be98cd8f7
Add ability to set unlimited stake_amount
2018-05-23 13:15:03 +03:00
Anton
8c22cfce37
Fix tests; fix codestyle
2018-05-21 23:15:01 +03:00
Anton
e1cb0dbf28
Do not try to redownload pair data if --refresh-pairs-cached is not set
2018-05-21 22:31:08 +03:00
Anton
2bfce64e6a
Fix conflicts
2018-05-04 13:38:51 +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
a127e1db07
Fix case with empty dict
2018-04-28 01:40:48 +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
Matthias Voppichler
a140748b5a
Merge branch 'feat/objectify-ccxt' into cxxt_obj_sellfix
2018-04-21 22:39:22 +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
Matthias Voppichler
ce90ee4ac2
have backtesting use fee_open and fee_close
2018-04-21 20:05:49 +02:00
enenn
94287d66a8
Flake8 fixes
2018-04-12 18:16:27 +02:00
enenn
1678518cd4
Add dry_run=True to config during backtesting
2018-04-12 18:16:26 +02:00
enenn
e42403fecc
Change date to timestamp conversion method in backtesting
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
c1c6ed6ed7
Replace 'BTC_XXX' with 'XXX/BTC' for pairs and 'XXX_BTC' for files
2018-04-07 16:51:50 +02:00
enenn
1f75636e56
[1/3] Add support for multiple exchanges with ccxt (objectified version) ( #585 )
...
* remove obsolete helper functions and make _state a public member.
* remove function assertions
* revert worker() changes
* Update pytest from 3.4.2 to 3.5.0
* Adapt exchange functions to ccxt API
Remove get_market_summaries and get_wallet_health, add exception handling
* Add NetworkException
* Change pair format in constants.py
* Add tests for exchange functions that comply with ccxt
* Remove bittrex tests
* Remove Bittrex and Interface classes
* Add retrier decorator
* Remove cache from get_ticker
* Remove unused and duplicate imports
* Add keyword arguments for get_fee
* Implement 'get_pair_detail_url'
* Change get_ticker_history format to ccxt format
* Fix exchange urls dict, don't need to initialize exchanges
* Add "Using Exchange ..." logging line
2018-04-06 10:57:08 +03:00
gcarq
fee8d0a2e1
refactor get_timeframe
2018-03-29 20:16:25 +02:00
gcarq
702402e1fe
simplify download_backtesting_testdata
2018-03-29 20:15:32 +02:00
Janne Sinivirta
85a81b18a3
Merge pull request #586 from xmatthias/obj_backtest_pr2
...
fix backtest --export format
2018-03-27 12:43:52 +03:00
Matthias Voppichler
a182cab27f
fix backtest --export format
...
reverts regression introduced in c623564
2018-03-26 20:28:51 +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
fa7f74b4bc
use native python logger
2018-03-25 21:43:00 +02:00
gcarq
3f8d7dae39
make name a required argument and add fallback to getEffectiveLevel
2018-03-25 21:42:03 +02:00
Matthias Voppichler
f51ef1a791
refactor format_ms_time to misc.py
2018-03-25 13:38:50 +02:00
Matthias Voppichler
016232a8e9
Revert OHLVC dataformat to ccxt format
...
* Also fixes backtesting - but data must be refreshed for now as no
conversation is happening yet
2018-03-25 13:32:46 +02:00
Matthias Voppichler
85af68d807
ccxt - make backtesting work
2018-03-24 19:45:23 +01:00
Samuel Husso
eb4ac73b78
remove last bittrex references so that bot is runnable
2018-03-22 08:29:52 +02:00
gcarq
d2aea7bdc1
optimize imports
2018-03-20 19:50:04 +01:00
gcarq
5327533188
optimize: set correct typehints
2018-03-20 19:48:03 +01:00
gcarq
a6a38735b1
backtesting: only respect max_open_trades with realistic_simulation
2018-03-20 19:38:33 +01:00
gcarq
93931eb32b
fix typo in _generate_text_table
2018-03-19 23:05:12 +01:00
Gerald Lonlas
0bb7cc8ab5
Hyperopt: fix 'Ran out of input' error
2018-03-05 20:49:45 -08:00
Gerald Lonlas
de468c6fc8
Fix wrong realistic_simulation implementation in Hyperopt
2018-03-04 02:31:25 -08:00
Gerald Lonlas
6fcc173489
Merge commit '35c51c73f713bfdb81bd84721f3dceab0c19e819' into feature/objectify
2018-03-04 01:33:39 -08:00
Gerald Lonlas
bb1e38f584
Merge commit '8eed9c08a6cffdd7c6b43fa3db2c3e08d1657f43' into feature/objectify
2018-03-04 01:01:19 -08:00
Gerald Lonlas
2001c20426
Merge commit '028700d86f130d5c3cbfef4e422dc701340f58c9' into feature/objectify
2018-03-04 00:53:27 -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
84759073d9
Refactor Configuration() to apply common configurations all the time and to remove show_info
2018-03-03 13:43:14 -08:00
Gerald Lonlas
0632cf0f44
Merge commit 'aa7aeb046ef72412cadd094666efc8e4c503ef2d' into feature/objectify
2018-03-02 23:28:36 -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
d274f13480
Remove Memory profiler in Backtesting
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
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
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
Janne Sinivirta
871357a2e3
just require positive results
2017-12-23 15:11:19 +02:00
Samuel Husso
8d93363655
filter nan values from total_profit and avg_profit
2017-12-23 09:21:04 +02:00
Janne Sinivirta
f300af0fe2
Merge pull request #200 from glonlas/fix_fees_calculation
...
Fix the fee calculation
2017-12-22 13:55:02 +02:00
Gerald Lonlas
41e22657e4
Fix hyperopt when using MongoDB
2017-12-21 19:20:47 -08:00
Gerald Lonlas
d258118b0a
Fix the fee calculation, backtesting, and hyperopt fee calculation and avg_profit
2017-12-20 20:18:41 -08:00
Janne Sinivirta
c8fb6c4661
More lint fixes ( #198 )
...
* autopep fixes
* remove unused imports
* fix plot_dataframe.py lint warnings
* make pep8 error fails the build
* two more line breakings
* matplotlib.use() must be called before pyplot import
2017-12-18 17:36:00 +01:00
Gerald Lonlas
d613d63fdc
Fix the fee calculation
2017-12-17 23:01:34 -08:00
Janne Sinivirta
80ef2cfed4
Merge pull request #193 from gcarq/feature/ci-enforce-pep8
...
CI: enforce PEP8 conform code
2017-12-17 07:42:23 +02:00
Gérald LONLAS
14868615d5
Add mock to improve backtesting tests ( #194 )
2017-12-17 00:24:21 +01:00
Gérald LONLAS
512fcdbcb1
Allow user to update testdata files with parameter --refresh-pairs-cached ( #174 )
2017-12-16 15:42:28 +01:00
gcarq
95fe0f4dec
fix pep8 warnings
2017-12-16 03:39:47 +01:00
Janne Sinivirta
77023c0ecf
Merge pull request #169 from jblestang/fix_ticker_interval
...
Fix ticker interval
2017-12-12 17:21:55 +02:00
Janne Sinivirta
3d532c6015
update backtest data to match pairs in config.json.example
2017-12-10 11:17:01 +02:00
toto
18f01113c2
use the CLI arguments as the ticker interval
2017-12-09 11:51:53 +01:00
toto
f7def09dec
fix for the ticker interval set by default to 5
2017-12-09 11:39:26 +01:00
Samuel Husso
a7cca4985e
omit hyperopt output if total_profit doesn't go pass threashold (3)
2017-12-02 01:32:23 +02:00
Samuel Husso
965c075362
disable info logging on hyperopt.tpe
2017-12-02 00:21:46 +02:00
gcarq
0c35e6ad19
minor changes
2017-11-25 03:28:52 +01:00
gcarq
e27a6a7a91
add mongodb support for hyperopt parallelization
2017-11-25 02:04:37 +01:00
gcarq
5bf583cba4
remove unused imports
2017-11-25 01:23:18 +01:00
gcarq
a23fce519d
pretty print hyperopt results
2017-11-25 01:22:36 +01:00
gcarq
9ff1f05e66
add --epochs to hyperopt subcommand
2017-11-25 01:12:44 +01:00
gcarq
b9c4eafd96
integrate hyperopt and implement subcommand
2017-11-25 01:04:11 +01:00
gcarq
7fa5846c6b
move hyperopt to freqtrade.optimize.hyperopt
2017-11-25 00:30:39 +01:00
gcarq
3b37f77a4d
move backtesting to freqtrade.optimize.backtesting
2017-11-24 23:58:35 +01:00