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