Reigo Reinmets
b2c2852f86
Initial backtesting support. This does make it rather slow.
2021-12-09 23:21:35 +02:00
Matthias
edd80c3006
Merge branch 'develop' into feat/short
2021-12-09 06:34:07 +01:00
Matthias
c981cc335d
Remove wrong comment
2021-12-04 14:51:55 +01:00
Matthias
68ac8008ec
Call custom_exit_price only for sell_signal and custom_sell
2021-12-04 14:14:22 +01:00
Matthias
86910b58dc
Bracket entry/exit prices to low/high of the candle
2021-12-03 17:44:53 +01:00
Matthias
d1209fe415
Merge branch 'develop' into pr/GluTbl/5756
2021-12-03 17:37:44 +01:00
Matthias
2f17fa2765
Update more to use candleType
2021-12-03 14:15:35 +01:00
Matthias
5493212672
More candletype changes
2021-12-03 13:04:31 +01:00
Matthias
77443d5abc
Merge pull request #6011 from freqtrade/lev/backtesting
...
correctly apply leverage to backtesting
2021-12-01 19:49:40 +01:00
Matthias
67f3570bf3
Merge branch 'develop' into feat/short
2021-12-01 07:21:36 +01:00
Matthias
a2a974fc6d
correctly apply leverage to backtesting
2021-11-30 20:32:34 +01:00
Matthias
6ca6f62509
Remove duplicate code in optimize_reports
2021-11-27 09:39:10 +01:00
Matthias
450293878f
Merge pull request #5964 from stash86/fix-docs
...
Add more words on VolumePairlist backtest error message
2021-11-26 07:48:24 +01:00
Matthias
897788de17
Reformulate exception to be "nicer"
2021-11-26 07:02:50 +01:00
Matthias
cc9ea1d466
Merge pull request #5935 from freqtrade/short_buy_tag_compat
...
Short buy tag compat
2021-11-26 06:29:56 +01:00
Stefano Ariestasia
5307d2bf3b
Trimming the sentence
2021-11-25 17:04:04 +09:00
Stefano Ariestasia
0d1e84cf55
Add more words
...
Because apparently, we get at least 1 question about this everyday in Discord
2021-11-25 16:00:10 +09:00
Matthias
ce0593c0e1
Merge branch 'develop' into feat/short
2021-11-23 07:35:26 +01:00
Rokas Kupstys
78a00f2518
Use market data to get base and quote currencies in @informative() decorator.
2021-11-22 09:27:45 +02:00
Matthias
c26c0b6822
Merge branch 'feat/short' into short_buy_tag_compat
2021-11-21 19:31:59 +01:00
Matthias
aad37bb8f3
Merge pull request #5924 from freqtrade/feat/leverage
...
call leverage methods
2021-11-21 19:30:27 +01:00
Matthias
63d94aa585
short should be allowed for all non-spot modes
2021-11-21 19:29:08 +01:00
Matthias
fb519a5b39
Add comment with reasoning to ignore leverage in min_amount calculation
2021-11-21 10:28:40 +01:00
Matthias
192ac88314
Update optimize-reports to enter_tag wording
2021-11-21 10:20:09 +01:00
Matthias
36deced00b
Remove more buy_tag references
2021-11-21 09:55:10 +01:00
Matthias
6247608cc6
top/bottom cap leverage
2021-11-19 07:11:19 +01:00
Matthias
021d1b518c
Call "leverage" to determine leverage to be used.
2021-11-18 20:55:45 +01:00
Matthias
5a8824171c
Add short/long metrics to backtest result
2021-11-18 20:42:43 +01:00
Matthias
0a50017c84
Add long/short support to backtesting
2021-11-18 20:34:59 +01:00
Matthias
f40221dd9f
Merge branch 'develop' into feat/short
2021-11-18 20:20:01 +01:00
Matthias
8638e6fe47
Simplify tradingmode parsing
2021-11-18 19:58:44 +01:00
Matthias
e0fd880c11
Improve some more pct formattings
2021-11-11 16:12:23 +01:00
Matthias
4eb9038358
Some more fixes to % formatting
2021-11-11 15:06:16 +01:00
Matthias
23a566b478
validate_stake_amount should not be a private method
2021-11-10 06:38:24 +01:00
Matthias
e4cca63163
Align sell_reason assignment location
...
trade mode sets it after "exit confirmation" - so should backtesting
detected in #5828
2021-11-08 19:32:13 +01:00
Matthias
ebc38159b8
Merge branch 'develop' into feat/short
2021-11-06 15:24:52 +01:00
raphael
ae2343db93
Update optimize_reports
...
Update show_backtest_reults() to preserve backwards compatibility by fixing KeyError: 'results_per_buy_tag' for older hyperopt result files.
2021-11-04 10:25:13 -04:00
Matthias
431b96de98
Merge branch 'develop' into pr/theluxaz/5710
2021-11-03 19:43:36 +01:00
Matthias
4249fcefba
Merge pull request #5150 from cryptomeisternox/backtesting-filter
...
Adding command for Filtering and print trades
2021-11-01 09:43:49 +01:00
Matthias
c094ac5762
Merge branch 'develop' into feat/short
2021-10-30 19:45:19 +02:00
Matthias
20904f1ca4
Add tests for new command
2021-10-30 19:43:42 +02:00
Matthias
72ecb45d86
Add test for backtest_show logic
2021-10-30 16:53:48 +02:00
Matthias
d60001e886
Stoploss cannot be below candle low
...
fix #5816
2021-10-30 16:14:13 +02:00
Matthias
f472709438
Add option to show sorted pairlist
...
Allows easy copy/pasting of the pairlist to a configuration
2021-10-30 10:50:40 +02:00
Matthias
6f1e719216
Merge branch 'develop' into pr/cryptomeisternox/5150
2021-10-30 10:26:05 +02:00
Matthias
201fe108bc
Merge pull request #5607 from TreborNamor/develop
...
a new hyperopt loss created that uses calmar ratio
2021-10-29 09:20:44 +02:00
Matthias
5cdae2ce3f
Remove CalmarDaily hyperopt loss
2021-10-29 06:53:40 +02:00
Matthias
20a61e03da
Merge pull request #5786 from SimonEbner/clean_up_file_handles
...
Clean up file handles
2021-10-25 19:49:07 +02:00
Robert Roman
88b96d5d1b
Update hyperopt_loss_calmar.py
2021-10-25 00:45:10 -05:00
Simon Ebner
f7926083ca
Clean up unclosed file handles
...
Close all file handles that are left dangling to avoid warnings such as
```
ResourceWarning: unclosed file <_io.TextIOWrapper
name='...' mode='r' encoding='UTF-8'> params = json_load(filename.open('r'))
```
2021-10-24 23:15:05 +02:00
Simon Ebner
df033d92ef
Improve performance of decimalspace.py
...
decimalspace.py is heavily used in the hyperoptimization. The following
benchmark code runs an optimization which is taken from optimizing a
real strategy (wtc).
The optimized version takes on my machine approx. 11/12s compared to the
original 32s. Results are equivalent in both cases.
```
import freqtrade.optimize.space
import numpy as np
import skopt
import timeit
def init():
Decimal = freqtrade.optimize.space.decimalspace.SKDecimal
Integer = skopt.space.space.Integer
dimensions = [Decimal(low=-1.0,
high=1.0,
decimals=4,
prior='uniform',
transform='identity')] * 20
return skopt.Optimizer(
dimensions,
base_estimator="ET",
acq_optimizer="auto",
n_initial_points=5,
acq_optimizer_kwargs={'n_jobs': 96},
random_state=0,
model_queue_size=10,
)
def test():
opt = init()
actual = opt.ask(n_points=2)
expected = [[
0.7515, -0.4723, -0.6941, -0.7988, 0.0448, 0.8605, -0.108, 0.5399,
0.763, -0.2948, 0.8345, -0.7683, 0.7077, -0.2478, -0.333, 0.8575,
0.6108, 0.4514, 0.5982, 0.3506
], [
0.5563, 0.7386, -0.6407, 0.9073, -0.5211, -0.8167, -0.3771,
-0.0318, 0.2861, 0.1176, 0.0943, -0.6077, -0.9317, -0.5372,
-0.4934, -0.3637, -0.8035, -0.8627, -0.5399, 0.6036
]]
absdiff = np.max(np.abs(np.asarray(expected) - np.asarray(actual)))
assert absdiff < 1e-5
def time():
opt = init()
print('dt', timeit.timeit("opt.ask(n_points=20)", globals=locals()))
if __name__ == "__main__":
test()
time()
```
2021-10-24 18:14:24 +02:00
Matthias
22dd2ca003
Fix mypy type errors
2021-10-24 15:18:29 +02:00
Matthias
17432b2823
Improve some stylings
2021-10-24 09:15:05 +02:00
Matthias
dffb4c5d53
Merge branch 'develop' into pr/TreborNamor/5607
2021-10-24 08:55:10 +02:00
Sam Germain
aed22f7dad
Merge branch 'develop' into feat/short
2021-10-22 11:45:27 -06:00
Matthias
78724e304e
Merge branch 'develop' into pr/theluxaz/5710
2021-10-21 17:46:39 +02:00
theluxaz
0e085298e9
Fixed test failures.
2021-10-21 17:25:38 +03:00
Matthias
96f99699e0
Merge pull request #4606 from rextea/add_days_breakdown_to_backtesting_summary
...
Add days breakdown table to backtesting
2021-10-21 13:56:30 +02:00
Matthias
e458c9867a
Styling fixes
2021-10-21 07:45:15 +02:00
Matthias
7b5346b984
Add test for breakdown-stats
2021-10-21 07:11:39 +02:00
Matthias
fa028c2134
Support day/week/month breakdowns
2021-10-21 06:58:40 +02:00
Matthias
7197f4ce77
Don't show daily % profit (it's wrong)
2021-10-20 20:01:31 +02:00
Matthias
de5497c766
backtest_days cannot be below 1
2021-10-20 19:39:37 +02:00
theluxaz
905f3a1a50
Removed exit_tag from Trade objects.
2021-10-20 17:58:50 +03:00
Sam Germain
3fffc315ac
Merge branch 'develop' into feat/short
2021-10-20 08:11:53 -06:00
Matthias
5454460227
Revert initial_points to 30
...
closes #5760
2021-10-20 07:46:15 +02:00
theluxaz
1fdc4425dd
Changed exit_tag to be represented as sell_reason
2021-10-20 01:26:15 +03:00
GluTbl
00406ea7d5
Update backtesting.py
...
Support for custom entry-prices and exit-prices during backtesting.
2021-10-19 17:15:45 +05:30
theluxaz
5ecdd1d112
Merge branch 'develop' into freqtrade-development
2021-10-19 00:00:15 +03:00
theluxaz
69a59cdf37
Fixed flake 8, changed sell_tag to exit_tag and fixed telegram functions
2021-10-18 23:56:41 +03:00
Matthias
7d8cd736b8
Support days-breakdown also for hyperopt results
2021-10-17 16:49:39 +02:00
Matthias
47bba331c1
Merge branch 'develop' into pr/rextea/4606
2021-10-17 16:29:31 +02:00
Matthias
69fdb8edfa
Merge branch 'develop' into feat/short
2021-10-17 10:40:08 +02:00
Matthias
0e7d903a6f
Merge pull request #5644 from slyons/develop
...
Add ability to ignore unparameterized spaces
2021-10-14 08:07:07 +02:00
Sam Germain
bd488cc086
Merge branch 'develop' into feat/short
2021-10-13 17:56:40 -06:00
theluxaz
0bb7ea10ab
Fixed minor header for backtesting
2021-10-14 01:34:30 +03:00
theluxaz
ed39b8dab0
fixed profit total calculation
2021-10-14 01:18:16 +03:00
Matthias
aed919a05f
Simplify "no-space-configured" error handling by moving it to hyperopt_auto
2021-10-13 19:54:35 +02:00
theluxaz
b151cf032b
Merge branch 'develop' of https://github.com/theluxaz/freqtrade into main
...
# Conflicts:
# freqtrade/freqtradebot.py
# freqtrade/optimize/backtesting.py
2021-10-13 02:01:26 +03:00
theluxaz
80b71790bc
Added some bigfixes for sell_tag
2021-10-13 01:22:53 +03:00
theluxaz
b898f86364
Added sell_tag and buy/sell telegram performance functions
2021-10-13 00:02:28 +03:00
sid
30bc96cf3f
simplify expression
2021-10-09 06:36:23 +05:30
sid
46c320513a
use profit_abs
2021-10-07 08:07:07 +05:30
sid
6ba46b38bd
fix formatting
2021-10-06 13:46:05 +05:30
sid
c0d01dbc26
add max_drawdown loss
2021-10-06 13:24:27 +05:30
Sam Germain
e8b4cf6eaa
Merge branch 'develop' into feat/short
2021-10-02 03:15:12 -06:00
Scott Lyons
df45f467c6
Adding ability to ignore unparameterized spaces
2021-09-30 01:11:02 -07:00
Robert Roman
ca973c05d1
Merge branch 'freqtrade:develop' into develop
2021-09-28 10:16:36 -05:00
Robert Roman
626a40252d
resolved mypy error
...
error: Signature of "hyperopt_loss_function" incompatible with supertype "IHyperOptLoss"
2021-09-27 17:33:29 -05:00
Robert Roman
c3414c3b78
resolved mypy error
...
error: Signature of "hyperopt_loss_function" incompatible with supertype "IHyperOptLoss"
2021-09-27 17:32:49 -05:00
Matthias
5726886b06
Reduce backtest-noise from "pandas slice" warning
2021-09-27 20:52:19 +02:00
Robert Roman
bdca3e2343
Merge branch 'freqtrade:develop' into develop
2021-09-26 15:37:09 -05:00
Matthias
a926f54a25
Add "side" parameter to custom_stake_amount
2021-09-26 19:35:54 +02:00
Matthias
84e013de2d
Update confirm_trade_entry to support "side" parameter
2021-09-26 19:33:22 +02:00
Matthias
4d49f1a0c7
Reset columns by dropping instead of resetting
2021-09-26 15:39:34 +02:00
Matthias
4fd00db630
Use "combined" enter_tag column
2021-09-26 15:22:37 +02:00
Matthias
6319c104fe
Fix unreliable backtest-result when using webserver mode
2021-09-26 15:07:48 +02:00
Matthias
2a678bdbb4
Update buy_tag column to long_tag
2021-09-26 08:37:44 +02:00
Robert Roman
24baad7884
Add Calmar Ratio Daily
...
This hyper opt loss calculates the daily Calmar ratio.
2021-09-25 16:28:36 -05:00
Robert Roman
3b99c84b0a
resolved the total profit issue
...
I resolved the total profit issue and locally ran flak8 and isort
2021-09-23 21:31:33 -05:00
Matthias
0e13d57e57
Update advise_* methods to entry/exit
2021-09-22 20:42:31 +02:00
Matthias
4c6b1cd55b
Add very simple short logic to test-strategy
2021-09-22 20:36:03 +02:00
Robert Roman
c6b684603c
removed trade_count inside if statement
...
i removed trade_count inside if statement. Even though it helps overfitting, It is not useful when running hyperopt on small datasets.
2021-09-22 09:21:43 -05:00
Robert Roman
b946f8e7f1
I sorted imports with isort
2021-09-22 09:18:17 -05:00
Robert Roman
3834bb86ff
updated line 42
...
I removed the minus sign on max drawdown.
2021-09-21 20:25:17 -05:00
Robert Roman
3845d55186
a new hyperopt loss created that uses calmar ratio
...
This is a new hyperopt loss file that uses the Calmar Ratio.
Calmar Ratio = average annual rate of return / maximum drawdown
2021-09-21 20:04:23 -05:00
Sam Germain
778f0d9d0a
Merged feat/short into lev-strat
2021-09-19 17:44:12 -06:00
Rokas Kupstys
5dc78a0c66
[SQUASH] Get rid of _initialize() and fix informatives for dynamic pairlists.
2021-09-18 10:48:53 +03:00
Rokas Kupstys
dfa61b7ad2
[SQUASH] Fix informatives for each pair not being created because dataprovider was not available.
...
Fix not being able to have informative dataframe of a pair in whitelist.
2021-09-18 10:48:53 +03:00
Matthias
853c3a4433
Merge pull request #5587 from raph92/patch-3
...
Update prepare_trials_columns() return type
2021-09-18 08:08:18 +02:00
raphael
4b2c1a9b8e
Remove trailing whitespace
2021-09-17 14:39:15 -04:00
raphael
e715f2a253
Update formatting
...
Line 302 was too long
2021-09-17 14:23:26 -04:00
raphael
9525a5b96c
Add type to "trials" parameter
2021-09-17 14:10:37 -04:00
Matthias
4d558879e9
Merge branch 'feat/short' into pr/samgermain/5378
2021-09-17 19:33:35 +02:00
raphael
124e97f3b9
Remove ununsed variables from export_csv_file
2021-09-17 11:57:36 -04:00
raphael
3a98fb72a4
Update prepare_trials_columns() return type
...
Was returning str, updated to pd.DataFrame
2021-09-17 11:42:33 -04:00
Matthias
d680fdf33a
Merge branch 'develop' into feat/short
2021-09-17 11:16:37 +02:00
Matthias
994c3c3a4c
Add some errorhandling for custom estimator
2021-09-16 07:13:25 +02:00
Matthias
c0811ae896
Add possibility to override estimator from within hyperopt
2021-09-15 21:36:53 +02:00
Matthias
57ea0c322f
Rename indicator_space to buy_indicator_space
2021-09-15 20:20:31 +02:00
Sam Germain
d77ab337bf
merged with develop
2021-09-14 18:26:46 -06:00
Matthias
315ea1e116
Merge pull request #5566 from freqtrade/remove_hyperopt
...
Remove legacy hyperopt
2021-09-14 19:20:58 +02:00
Sam Germain
5225bd4a5b
Merge branch 'develop' into feat/short
2021-09-13 14:02:23 -06:00
Matthias
a12c3ecc9b
Remove credentials whenever dry-run is set from within the exchange
2021-09-13 20:27:32 +02:00
Matthias
fd6bf591f8
Update some tests to remove explicit hyperopt interface
2021-09-12 08:18:13 +02:00
Matthias
dad4a49e81
Remove legacy hyperopt interface from hyperopt.py
2021-09-12 08:18:13 +02:00
Sam Germain
695a8fc73b
comment updates, formatting, TODOs
2021-09-08 03:09:39 -06:00
Matthias
68b75af08e
Fix bug with inversed sell signals in backtesting
2021-09-05 08:59:18 +02:00
Matthias
ca44d2e092
Merge branch 'feat/short' into pr/samgermain/5378
2021-09-04 19:54:34 +02:00
Matthias
5184cc7749
Merge branch 'develop' into feat/short
2021-09-02 07:03:14 +02:00
Matthias
b0c4f079c2
Merge branch 'develop' into feat/backtest_detail
2021-08-31 20:16:42 +02:00
Matthias
2ce458810b
rename default_hyperopt_loss file
2021-08-26 19:39:57 +02:00
Matthias
053d6d8ee1
Merge branch 'feat/short' into pr/samgermain/5378
2021-08-25 20:34:52 +02:00
Matthias
e1c3b7fd8c
Merge branch 'develop' into feat/short
2021-08-25 20:31:40 +02:00
Matthias
7fb570cc58
hyperopt Fallback methods should not be used.
2021-08-25 20:28:55 +02:00
Matthias
23d21d8ace
Fix wrong message if protection-space is missing
...
closes #5480
2021-08-25 19:57:10 +02:00
Matthias
cb4889398b
Fix backtesting bug
2021-08-25 07:03:48 +02:00
Matthias
6524edbb4e
Simplify should_exit interface
2021-08-24 20:47:54 +02:00
Matthias
b40f985b13
Add short-exit logic to backtesting
2021-08-24 20:02:40 +02:00
Matthias
eb71ee847c
Rename backtest index constants
2021-08-24 06:56:06 +02:00
Matthias
11bd8e912e
Fix some tests
2021-08-24 06:52:28 +02:00
Matthias
7a977a8eaf
Merge branch 'feat/short' into pr/samgermain/5378
2021-08-24 06:28:16 +02:00
Matthias
957551ea97
Merge branch 'develop' into feat/short
2021-08-24 06:25:06 +02:00
Matthias
7373b39015
Initial support for backtesting with short
2021-08-23 21:16:26 +02:00
Matthias
3e8164bfca
Use proper exchange name in backtesting
2021-08-23 21:13:47 +02:00
Sam Germain
a5be535cc9
strategy interface: removed some changes
2021-08-21 17:06:04 -06:00
Sam Germain
e2d5299116
Name changes for strategy
2021-08-18 13:22:54 -06:00
Matthias
fa4ec9f83e
Add explicit test for get_sell_trade_entry
2021-08-15 14:52:24 +02:00
Matthias
8405ccc15e
Seperate detail data loading from regular backest-data loading
2021-08-14 16:33:01 +02:00
Matthias
88172fab82
Allow "detailed" backtesting timeframe to look into the candle
2021-08-14 16:04:23 +02:00
Matthias
bdbac37be7
Merge pull request #5399 from rokups/rk/fix-buy-tag-backtest
...
Fix buy_tag not being saved to trade object.
2021-08-12 06:36:33 +02:00
Rokas Kupstys
f6267c7514
Fix buy_tag not being saved to trade object.
...
Column is mistakenly excluded because advise_buy() creating this column runs after code detecting presence of buy_tag column.
2021-08-11 15:21:23 +03:00
ipqhjjybj
65d025923d
add code
2021-08-11 14:35:16 +08:00
Matthias
0b6aedbc4c
Merge pull request #5395 from freqtrade/fix/hyperopt-show
...
Stream hyperopt-result in small batches
2021-08-10 19:54:02 +02:00
Matthias
039d6384ed
Stream hyperopt-result in small batches
...
Avoiding memory-exhaustion on huge hyperopt results
closes #5305
closes #5149
2021-08-10 10:12:57 +02:00
Matthias
3f160c7144
Cache dataframe before cutting the first candle
...
This allows providing the "current closed" candle in all cases.
2021-08-10 09:14:29 +02:00
Matthias
5bfb9edf02
Only query date once from list
2021-08-09 15:42:17 +02:00
Matthias
895b912c71
Fix recently introduced lookahead bias in backtesting
...
closes #5388
2021-08-09 14:54:47 +02:00
Matthias
a5f796bc97
refactor ohlcvdata_to_dataframe to advise_all_indicators
2021-08-09 14:53:18 +02:00
Matthias
f17942b68f
Fix random test failure
2021-08-09 11:18:18 +02:00
Matthias
47f641d12f
Remove hyperopt-pickle result support
2021-08-09 07:04:18 +02:00
Matthias
3bd0c3d009
Remove legacy code from export to csv
2021-08-08 11:02:54 +02:00
Matthias
faf16a64e5
Remove legacy hyperopt file support
2021-08-08 10:22:45 +02:00
Matthias
0ae4eccea5
Refactor Hyperopt-list and hyperopt-show to reduce some duplicate code
2021-08-08 10:06:35 +02:00
Matthias
6532aba765
Merge pull request #5360 from freqtrade/hyperopt_protections
...
Hyperopt protections and Boolean parameter
2021-08-07 09:42:05 +02:00
Sam Germain
b9356a5564
Autopep8 formatting
2021-08-06 16:35:39 -06:00
Matthias
a6454cfc39
Autoenable protections when protection-space is selected
2021-08-04 07:17:29 +02:00
Matthias
091bf7c4d2
Output protection space
2021-08-04 06:50:14 +02:00
Matthias
544e0da6c2
Add protection parameter space
2021-08-04 06:50:14 +02:00
Matthias
800b2eeaf0
Load protections as part of backtest()
...
this enables different values in hyperopt per epoch
2021-08-04 06:50:14 +02:00
Matthias
dfc17f2bd1
Fix ci failure
2021-08-03 07:21:11 +02:00
Matthias
4ab03f7e37
Don't load fallback methods for autohyperopt
2021-08-02 21:17:56 +02:00
Matthias
e70a742005
Reorder space methods in hyperopt
2021-08-02 21:12:10 +02:00
Matthias
056bc93bc6
backtesting needs startup_candle_count
...
fixes informative-pair loading being different between --strategy-list and
--strategy.
2021-08-01 19:17:52 +02:00
Matthias
1ccc89d1e9
Store fully analyzed dataframe
2021-07-31 10:00:24 +02:00
Matthias
b1cbc75e93
Properly cache pair dataframe in backtesting (without startup-range).
2021-07-31 08:45:04 +02:00
Matthias
138b126d03
Merge pull request #5299 from kevinjulian/feat/kevinjulian/add-buy-signal-name
...
Add buy signal name
2021-07-30 08:23:11 +02:00
kevinjulian
aea5da0c73
changes testcase
2021-07-23 11:42:43 +07:00
kevinjulian
f5a660f845
caps BUY_TAG_IDX
2021-07-21 20:19:56 +07:00
kevinjulian
49886874aa
rename to buy_tag
2021-07-21 20:05:35 +07:00
kevinjulian
5d04d6ffa7
fix edge testcase
2021-07-20 23:40:32 +07:00
kevinjulian
cbfedf8b29
fix backtest testcase
2021-07-20 23:25:00 +07:00
Kevin Julian
edf9c08f06
Merge branch 'develop' into feat/kevinjulian/add-buy-signal-name
2021-07-20 19:19:46 +07:00
kevinjulian
ed30c023cd
fix some testcase
2021-07-20 19:08:14 +07:00
kevinjulian
9e63bdbac9
feat: add buy signal name
2021-07-20 04:58:20 +07:00
Matthias
365479f5e0
Remove startup-candles after populating buy/sell signals
...
closes #5242
2021-07-18 11:06:41 +02:00
Matthias
7b7d9c02d7
Merge pull request #5243 from freqtrade/feat/webservermode_progress
...
Introduce webserver mode subcommand
2021-07-18 10:48:55 +02:00
Matthias
38296e8689
Merge pull request #5189 from rokups/rk/custom-stake
...
Implement strategy-controlled stake sizes
2021-07-11 19:45:43 +02:00
Matthias
7ea0a74c53
Default to proposed stake
2021-07-11 14:11:41 +02:00
Rokas Kupstys
0e4466ca1e
Implement strategy-controlled stake sizes. Expose self.wallet
to a strategy.
2021-07-11 12:38:58 +03:00
Matthias
ad26b0dad0
Don't void backtest object when not necessary
2021-07-10 10:59:00 +02:00
Matthias
6129c5ca9e
Fix deprecation warnings from pandas 1.3.0
...
closes #5251
2021-07-09 20:46:38 +02:00
Matthias
2f33b97b95
Validate startup candles for backtesting correctly
...
closes #5250
2021-07-09 07:20:43 +02:00
octaviusgus
d1104bd434
fix daily profit data and daily profit curve example
2021-07-06 22:47:39 +02:00
Matthias
005da97183
extract backtesting abort functionality
2021-07-06 19:48:28 +02:00
Matthias
830b2548bc
Add backtest stopping
2021-07-06 19:48:28 +02:00
Matthias
134c61126e
Properly track bt progress ...
2021-07-06 19:48:28 +02:00
Matthias
048008756f
Add progress tracking for backtesting
2021-07-06 19:48:28 +02:00
Matthias
800e314bfd
Store backtesting results in backtest instance
2021-07-06 19:48:28 +02:00
octaviusgus
4aa2ae37bd
add daily_profit_list
...
added extra key daily_profit in return of optimize_reports.generate_daily_stats
this allows us to analyze and plot a daily profit chart / equity line using snippet below inside jupyter notebook
```
# Plotting equity line (starting with 0 on day 1 and adding daily profit for each backtested day)
from freqtrade.configuration import Configuration
from freqtrade.data.btanalysis import load_backtest_data, load_backtest_stats
import plotly.express as px
import pandas as pd
# strategy = 'Strat'
# config = Configuration.from_files(["user_data/config.json"])
# backtest_dir = config["user_data_dir"] / "backtest_results"
stats = load_backtest_stats(backtest_dir)
strategy_stats = stats['strategy'][strategy]
equity = 0
equity_daily = []
for dp in strategy_stats['daily_profit']:
equity_daily.append(equity)
equity += float(dp)
dates = pd.date_range(strategy_stats['backtest_start'], strategy_stats['backtest_end'])
df = pd.DataFrame({'dates':dates,'equity_daily':equity_daily})
fig = px.line(df, x="dates", y="equity_daily")
fig.show()
```
2021-07-04 14:38:17 +02:00
Matthias
898bef1837
Merge pull request #5219 from freqtrade/hyperopt_paramfile
...
automatic Hyperopt paramfile
2021-07-04 13:56:52 +02:00
Matthias
77293b1f1e
Remove Zero duration Trades
...
after the recent backtesting fixes, this metric no longer makes sense, as it can't really be 0 any longer.
2021-07-04 10:50:10 +02:00
Matthias
a4096318e0
Provide full backtest-statistics to Hyperopt loss functions
...
closes #5223
2021-07-04 10:15:19 +02:00
Matthias
9d6860337f
Merge pull request #5212 from rokups/rk/trailing-stop-2
...
Trailing stoploss in backtesting v2
2021-07-03 08:39:30 +02:00
Matthias
fbd91cd3f8
Improve formatting to avoid backslash newlines
2021-07-03 08:22:21 +02:00
Matthias
b25ad68c44
Fix np.bool_ not outputting correctly
2021-07-02 20:52:25 +02:00
Matthias
15e36a20e1
Improve naming of default hyperopt serializer
2021-06-30 19:48:34 +02:00
Rokas Kupstys
bc0742ae67
Fix extremely optimistic results when using a combination of custom_stoploss and trailing_stop.
2021-06-30 09:10:50 +03:00
Matthias
0809225a0a
Update documentation to mention parameter strategy files
2021-06-30 07:05:20 +02:00
Matthias
645da51b5f
Add test for parameter loading
2021-06-30 06:55:10 +02:00
Matthias
dcf53ac3ff
Add test for try_eport_params
2021-06-30 06:33:40 +02:00
Matthias
84703080b8
Extract hyperopt_defaults_serializer to hyperopt_tools
2021-06-29 20:51:29 +02:00
Matthias
62cdbdc26a
Automatically export hyperopt parameters
2021-06-29 20:51:25 +02:00
barbarius
a8117c6e0b
Refactored to use results variable from for loop
2021-06-29 11:24:49 +02:00
Matthias
8ca0076332
Fix small typos
2021-06-29 06:50:47 +02:00
Matthias
d4514f5f16
Introduce File versions to hyperopt result files
2021-06-29 06:50:47 +02:00
Matthias
a7e9e362b7
Simplify printing logic for non-optimized parameters
2021-06-29 06:50:47 +02:00
Matthias
8b7010fc9a
Update pprint name
2021-06-29 06:50:47 +02:00
Matthias
aa5181ca81
Properly export non-optimized parameters
2021-06-29 06:50:47 +02:00
Matthias
34e6ce431f
Print non-optimized parameters (also stop / roi)
2021-06-29 06:50:47 +02:00
Matthias
2310deec53
Update name to get non-optimized parameters
2021-06-29 06:50:47 +02:00
Matthias
8cdd1e3aef
Fix some type errors
2021-06-29 06:50:47 +02:00
Matthias
2bf17f71e7
Dump parameters from hyperopt-show
2021-06-29 06:50:47 +02:00
barbarius
a0f28f4a15
Added max open trades to strategy summary first line
2021-06-28 17:05:12 +02:00
barbarius
2e5b719de8
Added timerange above multiple strategy backtest result summary table
2021-06-28 10:54:54 +02:00
barbarius
c99ae3b419
Added timerange above multiple strategy backtest result summary table
2021-06-28 10:20:34 +02:00
Matthias
1067a9f356
Move strategy-override signals to top-level of the config
...
closes #2867
2021-06-26 16:06:13 +02:00
aayush-jain18
d294ef10d7
unexpected docstring params
2021-06-25 23:56:16 +05:30
aayush-jain18
a46f60bd94
spell corrections
2021-06-25 22:10:04 +05:30
Matthias
e40d481d09
Merge pull request #5014 from Rikj000/hyperopt-show-include-non-optimized-in-json
...
BugFix - `hyperopt-show --print-json` include non-optimized params
2021-06-19 07:42:15 +01:00
Rik Helsen
656bebd4da
🪲 Included completely non_optimized spaces in json + swapped merge dictionary order
2021-06-18 22:03:04 +02:00
Matthias
e1010ff592
Don't load protections from config if strategy defines a property
2021-06-18 19:55:53 +02:00
Rik Helsen
1567804509
⚡ kwargs merge dictionaries instead of using loops
2021-06-17 22:41:49 +02:00
Cryptomeister Nox
85979c3176
* Adding command for Filtering
...
* Read latest Backtest file and print trades
2021-06-17 20:35:02 +02:00
Rik Helsen
546ca01071
♻️ Fixed flake8 warning
2021-06-17 20:33:21 +02:00
Rik Helsen
90d37f5ec6
🔀 Merged upstream branches and fixed merge conflicts
2021-06-17 20:24:20 +02:00
Matthias
8bb464bd64
Merge pull request #5108 from rokups/rk/pessimistic-trailing-stoploss
...
Implement most pessimistic handling of trailing stoploss.
2021-06-17 18:41:00 +01:00
Matthias
b38ab84a13
Add documentation mention about new behaviour
2021-06-17 06:48:41 +02:00
Matthias
1c9def2fdb
Update freqtrade/optimize/optimize_reports.py
2021-06-16 20:17:44 +01:00
barbarius
1bb04bb0c2
Moved daily avg trade row next to total trades on backtest results
2021-06-16 11:40:55 +02:00
Rokas Kupstys
6d5fc96714
Implement most pessimistic handling of trailing stoploss.
2021-06-15 09:05:36 +03:00
Matthias
cf7394d01c
Export backtesting results by default
...
closes #4977
2021-06-14 19:57:24 +02:00
Matthias
eaf0aac77e
Remove OrderedDict
...
as we're no longer supporting python 3.6
2021-06-13 11:47:18 +02:00
Matthias
d54ee0eb04
Refactor hyperopt_tools naming
2021-06-13 11:24:24 +02:00
Matthias
ef208012c4
Merge pull request #5104 from freqtrade/enums_own_module
...
Enums own package
2021-06-10 05:31:14 +01:00
Bruno Gouvea
40f1ede775
Simplifying HO's result function
2021-06-09 12:03:24 -03:00
Matthias
d16a619489
Move SellType Enum to it's own module
2021-06-08 21:04:34 +02:00
Bruno Gouvea
3cce668353
Creating a control variable to determine the existence of max drawdown in the final result.
2021-06-08 02:57:44 -03:00
Bruno Gouvea
816bb531b3
Creating fake column for legacy mode on max drawdown
2021-06-08 02:42:55 -03:00
Bruno Gouvea
4595db39aa
Displaying max. drawdown only when it is not legacy mode.
2021-06-08 02:18:00 -03:00
Bruno Gouvea
c513c9685d
Remove blank line (PEP8)
2021-06-07 18:20:04 -03:00
Bruno Gouvea
5c3a418e65
Adjusting drawdown column position.
2021-06-07 18:15:26 -03:00
Bruno Gouvea
35d6140068
Displays the max drawdown in the hyper optimization results table.
2021-06-07 17:53:19 -03:00
Matthias
f920c26802
fix Hyperopt-list avg-time filters
...
These should use a numeric field (which currently isn't available).
closes #5061
2021-05-31 20:01:40 +02:00
Matthias
8a56af9192
Update onlyprofit loss should use absolute profit
...
closes #4934
2021-05-28 08:38:46 +02:00
Matthias
a89364aa98
Merge branch 'develop' into pr/Antreasgr/4838
2021-05-27 14:59:39 +02:00
Matthias
3014bc3467
Don't use Sum sign in hyperopt to avoid compatibility problems
2021-05-27 14:22:11 +02:00
Matthias
cf39dd2163
Fix csv-export error with new hyperopt format
2021-05-27 13:08:28 +02:00
Matthias
8e89d3e6e4
Fix sort error
2021-05-25 19:33:34 +02:00
Matthias
cc5769e900
Convert np.int64 to proper int
...
closes #5018
2021-05-25 19:24:56 +02:00
Rikj000
bd44deea0d
BugFix - hyperopt-show --print-json include non-optimized params
2021-05-24 18:51:33 +02:00
Matthias
af16614bf2
Fix formatting issue
2021-05-24 07:48:36 +02:00
Priveyes
6f990c5976
Fix a rare error in save_result : ValueError: Out of range float values are not JSON compliant
...
freqtrade/freqtrade/optimize/hyperopt.py", line 166, in _save_result
rapidjson.dump(epoch, f, default=str, number_mode=rapidjson.NM_NATIVE)
ValueError: Out of range float values are not JSON compliant
2021-05-23 18:49:07 +02:00
Matthias
971d5b2ecc
Merge pull request #5002 from freqtrade/track_rejected_trades
...
Track rejected trades
2021-05-23 14:56:50 +01:00
Matthias
3f956441fc
Properly format % of zero_duration_trades
2021-05-23 15:53:54 +02:00
Matthias
a39860e0de
Add tests for rejected signals
2021-05-23 14:15:02 +02:00
Matthias
7f125315b0
Track Rejected Trades
...
closes #3423
2021-05-23 09:42:05 +02:00
Matthias
02faeb60a3
Merge pull request #4943 from rokups/rk/statistics
...
Extra statistics
2021-05-23 08:38:27 +01:00
Rokas Kupstys
db985cbc2e
Fix hyperopt-show failing to display old results with missing new fields.
2021-05-23 09:45:26 +03:00
Rokas Kupstys
25cc4eae96
Fix tests that broke after table formatting changed.
2021-05-22 15:25:37 +02:00
Rokas Kupstys
981b2df7ca
Include win:loss ratio in results tables.
2021-05-21 12:18:08 +03:00
Rokas Kupstys
debd98ad9a
Make results table more compact by merging win/draw/loss columns and drawdown abs/% into single columns.
2021-05-21 11:36:23 +03:00
Rokas Kupstys
e1dc1357ce
Add drawdown column to strategy summary table.
2021-05-21 11:36:23 +03:00
Rokas Kupstys
edcfa94093
Include zero duration trades in backtesting report.
2021-05-21 11:36:23 +03:00
Matthias
f398888865
Refactor preprocessed trimming to seperate method
2021-05-21 08:26:19 +02:00
Kamontat Chantrachirathumrong
6172e67fcd
Update hyperopt.py
2021-05-20 11:56:31 +07:00
Kamontat Chantrachirathumrong
c2b9da68e1
fix indent
2021-05-20 11:56:11 +07:00
Kamontat Chantrachirathumrong
1b3bfb2e7f
found root cause.
2021-05-20 11:50:15 +07:00
Kamontat Chantrachirathumrong
48210170e7
wrap with is not empty
2021-05-20 11:49:25 +07:00
Kamontat Chantrachirathumrong
082fb11bbe
Avoid having error cannot set a frame with no defined index and a scalar
2021-05-20 01:54:48 +07:00
Matthias
ef4d1c24d7
Merge pull request #4941 from brookmiles/fix-stoploss-above-candle
...
prevent backtest stoploss trade price being set above candle high
2021-05-19 06:20:35 +02:00
Matthias
7a9853bfe1
Fix "Too many open Files" exception
2021-05-18 20:39:55 +02:00
Matthias
36eba0f110
Don't use "r+" memmap, but "r2
2021-05-17 21:05:48 +02:00
Matthias
6aa574fa2b
Convert ROI result to proper json object
...
closes #4952
2021-05-17 20:58:50 +02:00
Matthias
4f968b4a6f
Merge pull request #4926 from rokups/rk/misc-fixes
...
Two fixes
2021-05-15 15:11:07 +02:00
Rokas Kupstys
2d5f465f1b
Fix protections being loaded multiple times for first strategy when backtesting.
2021-05-15 13:37:03 +03:00
Rokas Kupstys
29fed37df3
Fix exception when few pairs with no data do not result in aborting backtest.
...
Exception is triggered by backtesting 20210301-20210501 range with BAKE/USDT pair (binance). Pair data starts on 2021-04-30 12:00:00 and after adjusting for startup candles pair dataframe is empty.
Solution: Since there are other pairs with enough data - skip pairs with no data and issue a warning.
Exception:
```
Traceback (most recent call last):
File "/home/rk/src/freqtrade/freqtrade/main.py", line 37, in main
return_code = args['func'](args)
File "/home/rk/src/freqtrade/freqtrade/commands/optimize_commands.py", line 53, in start_backtesting
backtesting.start()
File "/home/rk/src/freqtrade/freqtrade/optimize/backtesting.py", line 502, in start
min_date, max_date = self.backtest_one_strategy(strat, data, timerange)
File "/home/rk/src/freqtrade/freqtrade/optimize/backtesting.py", line 474, in backtest_one_strategy
results = self.backtest(
File "/home/rk/src/freqtrade/freqtrade/optimize/backtesting.py", line 365, in backtest
data: Dict = self._get_ohlcv_as_lists(processed)
File "/home/rk/src/freqtrade/freqtrade/optimize/backtesting.py", line 199, in _get_ohlcv_as_lists
pair_data.loc[:, 'buy'] = 0 # cleanup from previous run
File "/home/rk/src/freqtrade/venv/lib/python3.9/site-packages/pandas/core/indexing.py", line 692, in __setitem__
iloc._setitem_with_indexer(indexer, value, self.name)
File "/home/rk/src/freqtrade/venv/lib/python3.9/site-packages/pandas/core/indexing.py", line 1587, in _setitem_with_indexer
raise ValueError(
ValueError: cannot set a frame with no defined index and a scalar
```
2021-05-15 13:37:03 +03:00
Brook Miles
2eac23a15f
if stoploss price is above the candle high, set it to candle open instead. this can occur if stoploss had previously been reached but the sell was prevented by confirm_trade_exit
2021-05-15 15:38:51 +09:00
Matthias
5e73195b30
Use linux lineseperator at all times
2021-05-15 07:01:32 +02:00
Matthias
ecee42f561
Read pickle file in mmap mode
2021-05-13 20:13:04 +02:00
Matthias
1055862bc0
Extract data-load + dump from hyperopt
...
(Reduces memory-usage as the dataframes go out of scope)
2021-05-12 21:15:01 +02:00
Matthias
24a1d5a96f
Change default hyperopt-name to be shorter
2021-05-12 19:06:13 +02:00
Matthias
3cbe40875d
read hyperopt results from pickle or json
2021-05-12 06:06:30 +02:00
Matthias
06bf1aa274
Store epochs as json per line
2021-05-12 05:58:25 +02:00
Matthias
7398ea88e0
Change optimize_reports to convert dates to string earlier
2021-05-11 20:37:49 +02:00
Matthias
92186d89a2
Add some changes to strategytemplate
2021-05-09 09:56:36 +02:00
Rokas Kupstys
8d8c782bd0
Slice dataframe in backtesting, preventing access to rows past current time.
2021-05-08 18:40:49 +03:00
Rokas Kupstys
f1eb653545
Fix strategy protections not being loaded in backtesting.
2021-05-08 10:29:47 +03:00
Rokas Kupstys
1b01ad6f85
Make exchange parameter optional and do not use it as parameter in backtesting.
2021-05-08 10:29:47 +03:00
Matthias
4b6cd69c81
Add test for no-exchange dataprovider
2021-05-08 10:29:47 +03:00
Rokas Kupstys
d344194b36
Fix dataprovider in hyperopt.
2021-05-08 10:29:47 +03:00
Rokas Kupstys
6fb4d83ab3
Fix dataprovider in hyperopt.
2021-05-08 10:29:47 +03:00
Rokas Kupstys
cdfa6adbe5
Store pair datafrmes in dataprovider for backtesting.
2021-05-08 10:29:47 +03:00
Rokas Kupstys
d34da3f981
Revert "Add dataframe parameter to custom_stoploss() and custom_sell() methods."
...
This reverts commit 595b8735f8
.
# Conflicts:
# freqtrade/optimize/backtesting.py
# freqtrade/strategy/interface.py
2021-05-08 10:29:47 +03:00
Matthias
513be11fd9
Fix hyperopt output
...
closes #4892
2021-05-07 20:23:11 +02:00
Matthias
554f5f14b6
Raise exception if no data is left
2021-05-07 06:41:15 +02:00
Matthias
4f529fe424
Don't use Arrow to get min/max backtest dates
2021-05-06 19:43:14 +02:00
Matthias
da574e4e69
Small style fixes
2021-05-03 06:30:41 +02:00
Matthias
fc110ea418
Support csv export for new and old versions
2021-05-02 20:41:45 +02:00
Matthias
287b43e999
Output strategy results including non-optimized parameters
2021-05-02 11:30:53 +02:00
Matthias
d069ad43d8
Small reformatting in hyperopt
2021-05-02 11:01:26 +02:00
Matthias
8ee0b0d8e8
Store not optimized parameters (if applicable)
2021-05-02 10:46:04 +02:00
Matthias
46f0f66039
Keep dimensions stored in hyperopt class
...
There is no point in regenerating them and it will cause some
overhead as all space classes will be recreated for every epoch.
2021-05-02 09:48:37 +02:00
Matthias
ced5cc7ce2
Don't recalculate min/max date - they won't change between epochs
2021-05-02 09:46:27 +02:00
Matthias
ecdfb6e5ed
Fix output of % for new format
2021-05-02 09:46:27 +02:00
Matthias
881cba336a
Show backtesting result in hyperopt-show
2021-05-02 09:46:27 +02:00
Matthias
420e75af65
Extract show_backtest_result for one strategy
2021-05-02 09:46:27 +02:00
Matthias
97478abb9d
Move format explanation string to HyperoptTools
2021-05-02 09:46:27 +02:00
Matthias
f2e182002d
Simplify calling backtesting by returning the proper result
2021-05-02 09:46:27 +02:00
Matthias
e2e1d34828
Extract stake_currency param from hyperopt-explanationstring
2021-05-02 09:46:27 +02:00
Matthias
6aaaad29d7
Use backtesting output for hyperopt results
2021-05-02 09:46:27 +02:00
Matthias
545cba7fd8
Refactor optimize_report
...
we should not calculate non-daily statistics in the daily stats method
2021-05-02 09:46:27 +02:00
Matthias
9994fce577
Extract generation of report for one strategy to it's own method
2021-05-02 09:46:27 +02:00
Matthias
b125c975c7
Rename strategy_comparison method
2021-05-02 09:46:27 +02:00
Matthias
ac2e1eb3d7
Don't import joblib for regular strategies
2021-05-02 08:44:16 +02:00
Matthias
1cb430f59b
Remove encoding specifics, gitattributes to echeckout as utf8
2021-05-01 17:41:40 +02:00
Matthias
e0ca3c014c
Don't completely remove encode/decode
2021-05-01 17:12:48 +02:00
Matthias
30da307d13
Remove encode/decode for hyperopt
2021-05-01 17:01:52 +02:00
Matthias
e381df9098
extract has_space to Hyperopt-Tools
2021-05-01 16:36:35 +02:00
Matthias
7c8a367442
Update docs to not promote stoploss / take-profit
2021-04-28 20:36:06 +02:00
Matthias
2061162d79
Convert trade-opendate to python datetime
2021-04-26 20:01:13 +02:00
Rokas Kupstys
98f6fce2ec
Use correct sell reason in case of custom sell reason.
2021-04-25 09:48:40 +03:00
Rokas Kupstys
595b8735f8
Add dataframe parameter to custom_stoploss() and custom_sell() methods.
2021-04-25 09:48:40 +03:00
Rokas Kupstys
1aad128d85
Support returning a string from custom_sell() and have it recorded as custom sell reason.
2021-04-25 09:48:40 +03:00
Matthias
88f26971fa
Use defaultdict for backtesting
2021-04-24 19:15:09 +02:00
Matthias
f12e002686
Merge pull request #4775 from freqtrade/fix_wallet_unlimited
...
Fix wallet unlimited
2021-04-24 15:54:06 +02:00
Matthias
df16fbd742
Add "dataload complete" message to backtest + hyperopt
2021-04-23 19:22:41 +02:00
Matthias
d8c8a8d8c2
Remvoe pointless arguments from get_trade_stake_amount
2021-04-21 20:01:10 +02:00
Matthias
cfa9315e2a
Prevent out of candle ROI sells
2021-04-20 20:29:53 +02:00
Matthias
ce870bbcf7
Use 3 decimals for ROI space
2021-04-15 21:38:20 +02:00
Matthias
52c482cecf
Convert trailing and roi defaults to skdecimal
2021-04-14 20:36:34 +02:00
Matthias
e820814809
Default-stoploss-hyperopt should use decimal space, nto real
2021-04-14 20:32:34 +02:00
Matthias
9804e20114
Don't use _set_value for autoOpt-Spaces
2021-04-10 09:53:48 +02:00
Matthias
34e47db18d
Test SKDecimal space
2021-04-09 22:15:24 +02:00
Matthias
5f67400649
Add SKDecimal Space
2021-04-09 21:58:15 +02:00
Matthias
7b2a0d46cb
Fix typo
2021-04-05 15:38:25 +02:00
Matthias
b470672dfd
Merge pull request #4596 from rokups/rk/hyper-strategy
...
Support for creating auto-hyperoptable strategies.
2021-04-05 13:55:32 +02:00
Matthias
bd5e1c5096
Merge pull request #4660 from rextea/order_pairlist_results
...
Sort pair lists by total profit
2021-04-04 19:47:33 +02:00
rextea
9e56f6d4eb
Sort pair lists by total profit
2021-04-04 01:19:38 +03:00
Matthias
9d4b5cc6bb
Fix typo
2021-04-03 19:56:20 +02:00
Matthias
41cb2a6451
Merge branch 'develop' into pr/rokups/4596
2021-04-03 17:00:37 +02:00
Matthias
6555454bd2
Remove more ticker_interval occurances
2021-04-03 16:54:47 +02:00
Rokas Kupstys
ea43d5ba85
Implement DecimalParameter and rename FloatParameter to RealParameter.
2021-04-02 17:08:16 +03:00
Matthias
5acdc9bf42
Fix type errors by converting all hyperopt methods to instance methods
2021-04-01 06:47:23 +02:00
Rokas Kupstys
5e5b11d4d6
Split "enabled" to "load" and "optimize" parameters.
2021-03-31 12:31:28 +03:00
Matthias
2869d5368d
Allow edge to use dynamic pairlists
...
closes #4298
2021-03-30 20:20:24 +02:00
Matthias
89bbfd2324
Remove candle_count from dataframe before backtesting
...
closes #3754
2021-03-29 20:26:54 +02:00
Matthias
8022386404
Type custom_hyperopt
2021-03-27 18:00:07 +01:00
Matthias
786ddc6a91
remove unused imports
2021-03-27 10:47:33 +01:00
rextea
76a02ff70a
fix indentations
2021-03-26 18:49:17 +03:00
rextea
2bed41da5d
Add days breakdown table to backtesting
2021-03-26 18:40:50 +03:00
Rokas Kupstys
40f5c7853e
[SQUASH] Add a way to temporarily disable a parameter (excludes from parameter loading/hyperopt) and print parameter values when executed.
2021-03-26 16:56:24 +02:00
Rokas Kupstys
fd45dfd894
[SQUASH] Make skopt imports optional.
2021-03-26 16:56:24 +02:00
Rokas Kupstys
11689100e7
[SQUASH] Fix exception when HyperOpt nested class is not defined.
2021-03-26 16:56:24 +02:00
Rokas Kupstys
e9f0babe8a
[SQUASH] Use HyperStrategyMixin as part of IStrategy interface.
2021-03-26 16:56:24 +02:00
Rokas Kupstys
2d13e5fd50
[SQUASH] Oopsies.
2021-03-26 16:56:24 +02:00
Rokas Kupstys
bb89e44e19
[SQUASH] Address PR comments.
...
* Split Parameter into IntParameter/FloatParameter/CategoricalParameter.
* Rename IHyperStrategy to HyperStrategyMixin and use it as mixin.
* --hyperopt parameter is now optional if strategy uses HyperStrategyMixin.
* Use OperationalException() instead of asserts.
2021-03-26 16:56:24 +02:00
Rokas Kupstys
0a205f52b0
Optional support for defining hyperopt parameters in a strategy file and reusing common hyperopt/strategy parts.
2021-03-26 16:56:24 +02:00
Matthias
8da7d5c009
Merge pull request #4594 from rextea/add_confirm_exit_enter_tade_to_backtesting
...
Add confirm_trade_exit and confirm_trade_entry to backtesting
2021-03-25 20:26:56 +01:00
Matthias
292ea8c1d0
Update backtesting.py
2021-03-25 09:34:33 +01:00
rextea
0ca95aa0c2
Change rate to acctual close rate
2021-03-25 10:25:25 +02:00
Matthias
ec15610bff
Fix isort issue
2021-03-24 19:21:07 +01:00
rextea
f51f4b1817
Add confirm_trade_exit and confirm_trade_entry to backtesting
2021-03-23 10:35:46 +02:00
rextea
dc4ea604dd
Add confirm_trade_exit and confirm_trade_entry to backtesting
2021-03-23 10:19:16 +02:00
rextea
eb5d69dcd4
Add confirm_trade_exit and confirm_trade_entry to backtesting
2021-03-23 10:12:08 +02:00
rextea
6856963aef
Add confirm_trade_exit and confirm_trade_entry to backtesting
2021-03-23 10:09:41 +02:00
Matthias
76ca3c219f
extract result-printing from hyperopt class
2021-03-17 20:45:15 +01:00
Matthias
b57c150654
Final balance should include forcesold pairs
2021-03-14 09:48:40 +01:00
Matthias
cd8d9f2930
Merge pull request #4534 from rokups/patch-1
...
Provide access to strategy instance from hyperopt class.
2021-03-13 17:14:47 +01:00
Rokas Kupstys
5e872273d1
Provide access to strategy instance from hyperopt class.
2021-03-13 15:13:42 +02:00
Matthias
d1acc8092c
Improve backtest performance
2021-03-13 10:17:14 +01:00
Matthias
0db5c9746f
Merge pull request #4454 from freqtrade/backtest_compound_speed
...
Backtest compound, wallet, ...
2021-03-10 10:07:40 +01:00
Matthias
4b550dab17
Always reset fake-databases
...
Otherwise results may stick around for the next strategy
2021-03-08 19:40:29 +01:00
Matthias
0b81b58d28
Use pandas.values.tolist instead of itertuples
...
speeds up backtesting
closes #4494
2021-03-07 11:28:54 +01:00
Patrick Weber
4532222010
Fixed line length in HyperOpt for new name
...
Fixed line length errors and multiple f strings to facilitate strategy being added in the name
2021-03-05 13:16:49 -06:00
Patrick Weber
345f7404e9
Add strategy name to HyperOpt results filename
...
This just extends the HyperOpt result filename by adding the strategy name. This allows analysis of HyperOpt results folder with no additional necessary context. An alternative idea would be to expand the result dict, but the additional static copies are non value added.
2021-03-05 12:56:11 -06:00
Matthias
731ab5d2a7
Fix too long line errors
2021-03-05 19:22:57 +01:00
Matthias
bc05d03126
Make best / worst day absolute
2021-03-05 19:21:09 +01:00
raoulus
0968ecc1af
added "Median profit" column to hyperopt -> export-csv
2021-03-04 17:27:04 +01:00
Matthias
078b77d41b
Fix crash when using unlimited stake and no trades are made
2021-03-02 16:12:22 +01:00
Joe Schr
55a315be14
fix: avg_stake_amount should not be NaN
if df is empty
2021-03-02 13:38:55 +01:00
Matthias
2083cf6ddf
Fix mypy errors introduced by Arrow update
2021-03-01 08:57:57 +01:00
Matthias
9cb37409fd
Explicitly convert starting-balance to float
2021-02-28 09:56:29 +01:00
Matthias
b2e9295d7f
Small stylistic fixes
2021-02-27 19:57:42 +01:00
Matthias
324b9dbdff
Simplify wallet code
2021-02-27 10:33:25 +01:00
Matthias
98f3142b30
Improve handling of backtesting params
2021-02-27 09:33:00 +01:00
Matthias
fc256749af
Add test for backtesting _enter_trade
2021-02-27 09:33:00 +01:00
Matthias
53a57f2c81
Change some types
...
Fix types of new model object
2021-02-27 09:33:00 +01:00
Matthias
03eb23a4ce
2 levels of Trade models, one with and one without sqlalchemy
...
Fixes a performance issue when backtesting with sqlalchemy, as that
uses descriptors for all properties.
2021-02-27 09:33:00 +01:00
Matthias
394a6bbf2a
Fix some type errors
2021-02-27 09:33:00 +01:00
Matthias
52acacbed5
Check min-trade-stake in backtesting
2021-02-27 09:33:00 +01:00
Matthias
f04f07299c
Improve backtesting metrics
2021-02-27 09:33:00 +01:00
Matthias
7913166453
Improve performance by updating wallets only when necessary
2021-02-27 09:33:00 +01:00
Matthias
f367375e5b
ABS drawdown should show wallet high and low values
2021-02-27 09:33:00 +01:00
Matthias
0d2f877e77
Use absolute drawdown calc
2021-02-27 09:32:59 +01:00
Matthias
74fc4bdab5
Shorten debug log
2021-02-27 09:32:59 +01:00
Matthias
72f21fc5ec
Add trade-volume metric
2021-02-27 09:32:59 +01:00
Matthias
35e6a9ab3a
Backtest-reports should calculate total gains based on starting capital
2021-02-27 09:32:59 +01:00
Matthias
8d61a26382
Allow dynamic stake for backtesting and hyperopt
2021-02-27 09:32:59 +01:00
Matthias
e4abe902fc
Enable compounding for backtesting
2021-02-27 09:32:59 +01:00
Matthias
0faa6f84dc
Improve Wallet logging disabling for backtesting
2021-02-27 09:32:59 +01:00
Matthias
081b9be45c
use get_all_locks to get locks for backtest result
2021-02-27 09:32:59 +01:00
Matthias
712d503e6c
Use sell-reason value in backtesting, not the enum object
2021-02-27 09:32:59 +01:00
Matthias
b5177eadab
Extract close method for exchange
2021-02-27 09:32:59 +01:00
Matthias
4ce4eadc23
remove only ccxt objects when hyperopting
2021-02-27 09:32:59 +01:00
Matthias
9361aa1c95
Add wallets to backtesting
2021-02-27 09:32:59 +01:00
Matthias
11b20d6932
Add config to hyperopt_loss_function documentation
2021-02-17 07:04:29 +01:00
Matthias
eff0d46ea1
Merge pull request #4375 from flomerz/pass_processed_data
...
pass data and config to loss function
2021-02-16 20:06:50 +01:00
Matthias
009a447d8a
Adjust documentation for new parameter in loss functions
2021-02-16 19:51:09 +01:00
Florian Merz
3e06cd8b3a
pass data and config to loss function
2021-02-16 10:11:33 +01:00
Florian Reitmeir
5c263c7ffd
add backtesting results abs profit min/abs profit max, to get a better view if a strategy has a enough money to succeed
2021-02-14 19:41:12 +01:00
Matthias
e7acee7904
Improve coin value output by rounding coin specific
2021-02-13 16:05:56 +01:00
Matthias
072abde9b7
Introduce round_coin_value to simplify coin rounding
2021-02-13 16:05:35 +01:00
Matthias
c659150d9f
Also print trade_duration in seconds to json
2021-01-25 19:42:34 +01:00
Matthias
62e43539c9
Limit max_open_trades to maximum available pairs
...
closes #4008
2021-01-24 19:59:54 +01:00
Matthias
789a980a30
Fix tests for new export format
2021-01-24 19:42:32 +01:00
Matthias
deb8432d33
Streamline trade to dataframe conversion
2021-01-24 08:58:41 +01:00
Matthias
8ee264bc59
Don't use profit_percent for backtesting results anymore
2021-01-24 08:58:41 +01:00
Matthias
48977493bb
Backtesting does not need to convert to BacktestResult object
2021-01-24 08:58:41 +01:00
Matthias
7c80eeea95
Add use_custom_stoploss to optimize_report
2021-01-19 22:51:12 +01:00
Matthias
0b65fe6afe
Capture backtest start / end time
2021-01-14 19:09:25 +01:00
Matthias
9147106259
call bot_loop_start() in backtesting to allow setup-code to run
2021-01-14 19:09:25 +01:00
Matthias
baa1142afa
Use preprocessed to get min/max date in hyperopt
2021-01-14 19:09:21 +01:00
Matthias
9d4cdcad10
Extract backtesting of one strategy
2021-01-14 19:04:42 +01:00
Matthias
f3de0dd3eb
Fix support for protections in hyperopt
...
closes #4208
2021-01-14 06:53:40 +01:00
Matthias
63a579dbab
Add sell_profit_offset parameter
...
Allows defining positive offsets before enabling the sell signal
2021-01-11 19:30:25 +01:00
Matthias
f11fd2fee1
Sort imports
2020-12-23 17:00:02 +01:00
Matthias
67193bca3d
Move pairlists to be a plugin submodule
2020-12-23 16:54:35 +01:00
Matthias
266031a6be
Disallow PerformanceFilter for backtesting
...
closes #4072
2020-12-16 19:24:47 +01:00
Matthias
f047297995
Improve wording, fix bug
2020-12-07 15:48:06 +01:00
Matthias
5849d07497
Export locks as part of backtesting
2020-12-07 11:39:01 +01:00
Matthias
bb51da8297
Fix slow backtest due to protections
2020-12-07 11:39:01 +01:00
Matthias
75a5161650
Support multis-strategy backtests with protections
2020-12-07 11:39:01 +01:00
Matthias
a3f9cd2c26
Only load protections when necessary
2020-12-07 11:39:01 +01:00
Matthias
e2d15f4082
Add parameter to enable protections for backtesting
2020-12-07 11:39:01 +01:00
Matthias
32189d27c8
Disable output from plugins in backtesting
2020-12-07 11:39:01 +01:00
Matthias
9f34aebdaa
Allow closing trades without message
2020-12-07 11:39:01 +01:00
Matthias
b606936eb7
Make changes to backtesting to incorporate protections
2020-12-07 11:39:01 +01:00
Matthias
e40d97e05e
Small formatting improvements
2020-11-28 17:52:29 +01:00
Matthias
5d3f59df90
Add best / worst trade
2020-11-28 17:45:56 +01:00
Matthias
a00f852cf9
Add best / worst pair to summary statistics
2020-11-28 17:37:10 +01:00
Matthias
a47d8dbe56
Small refactor, avoiding duplicate calculation of profits
2020-11-28 11:35:29 +01:00
Matthias
730c9ce471
Add Max_open_trades to summary metrics
2020-11-24 06:57:26 +01:00
Matthias
887d78171c
Merge pull request #3857 from freqtrade/arrow_deprecation_timestamp
...
Convert timestamp to int_timestamp for all arrow occurances
2020-11-02 16:40:43 +01:00
Matthias
e73203acb8
FIx bug with dmmp
2020-11-01 10:51:07 +01:00
Matthias
7a092271c5
Merge branch 'develop' into arrow_deprecation_timestamp
2020-10-20 20:01:54 +02:00
Matthias
cf2ae788d7
Convert backtesting rows to Tuples for performance gains
2020-10-18 17:16:57 +02:00
Matthias
5d3a67d324
Don't debug-log during backtesting.
...
Even though log-messages are surpressed, calling "debug" will always
have to do something.
2020-10-18 16:38:16 +02:00
Matthias
b80a219d03
Improve typehints for backtesting
2020-10-18 16:35:23 +02:00
Matthias
380e6628e0
Merge branch 'develop' into feat/backtest_speedup_serialize
2020-10-18 16:19:04 +02:00
Matthias
2591a34db4
Don't use arrow objects for backtesting
2020-10-18 16:18:52 +02:00
Matthias
ecddaa663b
Convert timestamp to int_timestamp for all arrow occurances
2020-10-13 06:24:01 +02:00
Matthias
23bad8fd9f
Rename DefahltHyperoptLoss function to ShortTradeDurHyperOptLoss
2020-10-10 14:22:29 +02:00
Matthias
23278e52db
remove obsolete logging statements
2020-10-08 20:22:59 +02:00
Matthias
e8f2c09f08
Extract handling of left open trades to seperate method
2020-10-08 20:11:45 +02:00
Matthias
52502193c4
Backtesting should not double-loop for sell signals
2020-10-07 20:59:05 +02:00
Matthias
40b61bbfe3
Adjust trailing-stop to be python compliant
2020-10-05 07:44:12 +02:00
Matthias
cb74c9bcde
Fix hyperopt output
2020-10-03 13:27:06 +02:00
Matthias
6977ffdbf9
Merge branch 'develop' into isort_config
2020-09-28 20:21:55 +02:00
Matthias
253b7b763e
Apply isort to freqtrade codebase
2020-09-28 19:40:46 +02:00
Matthias
c42a924df8
Load latest file
2020-09-27 16:50:42 +02:00
Matthias
ff96cf154c
Keep hyperopt result history
2020-09-27 16:33:26 +02:00
Matthias
b736691e0e
Remove hyperopt --continue
2020-09-27 16:18:28 +02:00
Matthias
bb27b236ce
Remove unused arguments
2020-09-26 14:55:12 +02:00
Matthias
ff3e2641ae
generate_backtest_stats must take config options from the strategy
...
config
as a strategy can override certain options.
2020-09-25 20:47:37 +02:00
Matthias
378f03a5b1
Add relevant parameters to stored backtest result
2020-09-25 06:37:40 +02:00
Matthias
6674285b12
Merge pull request #3756 from allenday/patch-1
...
prettify hyperopt console output
2020-09-19 17:43:05 +02:00
Matthias
f0d7f18cf9
Pad wins / draws / losses for hyperopt with spaces instead of 0's
2020-09-19 17:32:22 +02:00
Matthias
ec01f20bf8
Add ratio to sell reason stats
2020-09-16 20:27:28 +02:00
Allen Day
f63a378967
Update hyperopt.py
...
zero pad wins/draws/losses (W/D/L) column to preserve alignment in console pretty print
2020-09-07 23:26:55 +08:00
Matthias
284d39930f
Allow using pairlists through dataprovider in backtesting
2020-08-30 10:07:28 +02:00
Matthias
d8a6410fd1
Fix small bug when using max-open-trades -1 in backtesting
2020-08-23 09:00:57 +02:00
Matthias
3d93236709
Remove unused import
2020-08-21 14:55:47 +02:00
Matthias
301f74fd1b
Merge pull request #3418 from freqtrade/hyperopt_colorama_init
...
Test colorama init again (after the fixes done to progressbar)
2020-08-21 14:54:35 +02:00
Matthias
4f1179d85c
Test for empty case
2020-08-20 20:11:58 +02:00
Matthias
f5a9001dc0
Handle backtest results without any trades
2020-08-20 19:51:36 +02:00
Matthias
3d515ed5bf
Merge pull request #3558 from freqtrade/bt_add_maxdrawdown
...
Revise backtesting export format, add some metrics
2020-08-19 06:39:47 +02:00
Matthias
9982ad2f36
Add profit to backtest summary output
2020-08-18 16:59:24 +02:00
Matthias
668d167adc
Add docstring to store_backtest_stats
2020-08-18 16:15:24 +02:00
Matthias
4eb17b4daf
Remove unneeded function
2020-08-18 15:20:37 +02:00
Matthias
a6dac9acf3
Merge pull request #3667 from freqtrade/hyperopt_enable_dataprovider
...
Hyperopt enable dataprovider
2020-08-17 07:00:48 +02:00
Matthias
1f153f51ee
Merge pull request #3660 from freqtrade/hyperopt_default_tests
...
Move DefaultHyperopt to tests
2020-08-17 06:49:55 +02:00
Matthias
b98107375e
Improve formatting of result string to be a bit conciser
2020-08-14 07:31:14 +02:00
Matthias
d76ee43246
Show wins / draws / losses in hyperopt table
2020-08-14 07:14:10 +02:00
Matthias
05bd099f51
Merge branch 'develop' into pr/yazeed/3008
2020-08-14 06:58:09 +02:00
Matthias
87e4a82041
Merge branch 'develop' into bt_add_maxdrawdown
2020-08-09 08:34:36 +02:00
Matthias
fca41a44bb
Also logg timeframe
2020-08-08 20:20:58 +02:00
Matthias
2afe1d5b11
Add link to full sample
2020-08-08 17:30:31 +02:00
Matthias
dd430455e4
Enable dataprovier for hyperopt
2020-08-08 17:04:32 +02:00
Matthias
8b6d10daf1
Move DefaultHyperopt to test folder (aligned to strategy)
2020-08-06 08:50:41 +02:00
Matthias
aab5596fa6
Convert trade open / close to timestamp
...
(to allow uniform analysis of backtest and real trade data - while
giving control of date-formatting to the endsystem.
2020-07-27 07:20:40 +02:00
Matthias
977a6d4e9c
Add profit_total to results line
2020-07-26 16:10:48 +02:00
Matthias
454046f745
Add stake_currency and max_opeN_trades to backtest result
2020-07-26 15:55:54 +02:00
Matthias
8d0f338bf2
Timestamps should be in ms
2020-07-26 15:23:21 +02:00
Matthias
9ed5fed887
Fix output format to be of an identical type
2020-07-26 15:17:54 +02:00
Matthias
902e8fa62f
Fix wrong spelling in one subcomponent
2020-07-26 14:39:00 +02:00
Matthias
c1191400a4
Allow 0 fee value by correctly checking for None
2020-07-15 19:20:20 +02:00
Matthias
bdf611352e
Update summary-metrics output
2020-07-14 19:34:01 +02:00
Matthias
1fc4451d2f
Avoid \ linebreak
2020-07-03 20:32:04 +02:00
Matthias
0d15a87af8
Remove old store_backtest method
2020-07-03 20:21:32 +02:00
Matthias
987188e41f
Add avgduration for winners and losers
2020-07-03 19:58:02 +02:00
Matthias
8e0ff4bd86
Add Win / draw / losing days
2020-07-03 19:45:45 +02:00
Matthias
42868ad24a
Add best / worst day to statistics
2020-07-03 19:30:29 +02:00
Matthias
7c5587aeaa
exportfilename can be a file or directory
2020-07-03 06:58:27 +02:00
Matthias
2ed808da1f
Extract .last_result.json to constant
2020-07-03 06:58:27 +02:00
Matthias
59e0ca0aaa
Add pairlist to backtest-result
2020-07-03 06:58:27 +02:00
Matthias
c13ec4a1d4
implement fallback loading for load_backtest_data
2020-07-03 06:58:27 +02:00
Matthias
7727292861
Rename duration to trade_duration
2020-07-03 06:58:27 +02:00
Matthias
f368aabcc7
Add amount to backtest-result
2020-07-03 06:58:27 +02:00
Matthias
6e94734678
Add fee to backtestresult
2020-07-03 06:58:27 +02:00
Matthias
03ab61959b
Add test for generate_backtest_stats
2020-07-03 06:58:27 +02:00
Matthias
075eb0a161
Fix sequence of saving
2020-07-03 06:58:27 +02:00
Matthias
0fa56be9d2
remove openIndex and closeIndex from backtest-report
2020-07-03 06:58:27 +02:00
Matthias
04cbc2cde5
Shorten variable
2020-07-03 06:58:27 +02:00
Matthias
b068e7c564
Rename open_time and close_time to *date
2020-07-03 06:58:27 +02:00
Matthias
415853583b
Save backtest-stats
2020-07-03 06:58:27 +02:00
Matthias
81c8e8677d
use 0 as profit mean, not nan
2020-07-03 06:58:27 +02:00
Matthias
480c5117f1
Handle empty return strings
2020-07-03 06:58:27 +02:00
Matthias
5fce7f3b22
Add market Change
...
closes #2524 and #3518
2020-07-03 06:58:27 +02:00
Matthias
cf044d166e
Tests should use new Datetime format too
2020-07-03 06:58:27 +02:00
Matthias
fbddfaeacf
Introduce DatetimePrintFormat
2020-07-03 06:58:27 +02:00
Matthias
cbcf3dbb43
Add more metrics to summarytable
2020-07-03 06:58:27 +02:00
Matthias
6922fbc3aa
Add max_drawdown error handler
2020-07-03 06:58:27 +02:00
Matthias
455b26ea48
Add max drawdown to backtesting
2020-07-03 06:58:27 +02:00
hroff-1902
02c0488d45
Merge pull request #3453 from freqtrade/fix/3363
...
Backtesting should load pairlists after the strategy
2020-06-29 21:53:33 +03:00
Matthias
0b2982caed
Merge branch 'develop' into hyperopt_colorama_init
2020-06-16 10:16:41 +02:00
Matthias
761407f74d
Merge pull request #3430 from freqtrade/timeframe
...
ticker_interval -> timeframe
2020-06-15 13:47:26 +02:00
Matthias
a3506f4d8e
Merge branch 'develop' into timeframe
2020-06-15 06:35:55 +02:00
Matthias
d337fb6c6a
Update some comments
2020-06-15 06:35:31 +02:00
hroff-1902
ea77edce05
Make flake happy
2020-06-13 18:54:54 +03:00
hroff-1902
3d9b107761
Changes after review
2020-06-13 17:12:37 +03:00
Felipe Lambert
69ac5c1ac7
change hyperopt return to better copy to strategy file
2020-06-10 14:35:31 -03:00
Matthias
72ae4b1500
Load pairlist after strategy to use strategy-config
...
fail in certain conditions when using strategy-list
Fix #3363
2020-06-07 16:15:26 +02:00
Matthias
a75b94f143
use bracket notation for dataframe access
2020-06-07 15:40:00 +02:00
Matthias
68395d2745
Use bracket notation to query results in hyperopt
2020-06-07 15:39:59 +02:00
Matthias
04779411f5
Add docstring to backtest_stats
2020-06-07 15:39:59 +02:00
Matthias
070913f327
Rename text_table generation
2020-06-07 11:35:02 +02:00
Matthias
499c6772d1
Rename tabulate methods
...
they don't "generate" anything
2020-06-07 11:31:33 +02:00
Matthias
a6f6724752
Reorder functions in optimize_report
2020-06-07 11:29:14 +02:00
hroff-1902
64881a94e2
Merge branch 'develop' into timeframe
2020-06-02 15:56:34 +03:00
Matthias
a8005819c9
Add class-level attributes to hyperopt and strategy
2020-06-02 10:19:27 +02:00
Matthias
f9bb1a7f22
Update more occurances of ticker_interval
2020-06-02 10:02:55 +02:00
Matthias
3e895ae74a
Some more replacements of ticker_interval
2020-06-02 09:41:42 +02:00
Matthias
cadc50ce9b
Replace more occurances of ticker_interval with timeframe
2020-06-01 20:49:40 +02:00
Matthias
d9afef8fe1
Move colorama_init to where it was
2020-06-01 09:37:10 +02:00
Matthias
ffa93377b4
Test colorama init again (after the fixes done to progressbar)
2020-06-01 09:34:03 +02:00
Matthias
091693308a
Correctly call show_backtest_results
2020-06-01 09:25:26 +02:00
Matthias
ceaf32d304
Extract backtesting report generation from show_backtest_Results
2020-06-01 09:24:05 +02:00
Matthias
f202e09b10
Extract conversion to trades list to it's own function
2020-06-01 08:57:31 +02:00
Matthias
18a5787a2c
Reorder typing imports
...
Co-authored-by: hroff-1902 <47309513+hroff-1902@users.noreply.github.com>
2020-05-27 19:17:15 +02:00
Matthias
abf79e4ab4
Use temporary variable to clean up code
2020-05-25 20:47:48 +02:00
Matthias
6a9a8f927e
Rename some methods, improve some testing
2020-05-25 20:46:31 +02:00
Matthias
462c35cf75
Move stats generation to the top
2020-05-25 20:22:22 +02:00
Matthias
027ea64d48
Fix docstrings, extract strategy-list results
2020-05-25 19:55:02 +02:00
Matthias
db257e9f7f
Rename method to be public
2020-05-25 19:50:23 +02:00
Matthias
18a2dad684
Extract data generation from generate_text_table
2020-05-25 19:35:32 +02:00
Matthias
0917b17efd
Refactor result_line to return dict
2020-05-25 19:21:01 +02:00
Matthias
876a9e4f44
finish refactor of sell_reason table
2020-05-25 07:08:15 +02:00
Matthias
d17300fd84
Refactor sell reason stats to return a dict
2020-05-25 07:02:24 +02:00
Matthias
9d1ad70bb7
Split optimize generation from printing
2020-05-25 06:44:51 +02:00
Florian Merz
889a153731
fix PEP8
2020-05-03 17:29:56 +02:00
Florian Merz
690bb7646a
hyperopt csv export - add params
2020-05-03 17:00:12 +02:00
Matthias
509f38d3aa
Use non-deprectated parameter for progressbar
2020-05-01 17:59:24 +02:00
hroff-1902
726e52aaa7
Use skopt model_queue_size instead of custom hack
2020-04-29 10:49:25 +03:00
hroff-1902
c26835048c
Hyperopt cleanup, do not use 'trials'
2020-04-28 22:56:19 +03:00
hroff-1902
a01ed170f5
Improve hyperopt-list logging
2020-04-28 17:33:07 +03:00
hroff-1902
9ebc997e9d
Merge pull request #3215 from freqtrade/backtest_use_pairlists
...
Backtest use pairlists
2020-04-27 13:34:06 +03:00
Matthias
fb8a85da01
Disallow VolumePairList from backtesting for now
2020-04-27 07:56:17 +02:00
Matthias
e8530c36d3
Remove pairlists from hyperopt too (it holds a reference to exchange)
2020-04-25 15:46:20 +02:00
Matthias
8987859044
Enable pairlist parsing for backtesting and hyperopt
2020-04-25 15:37:13 +02:00
hroff-1902
d9f255a6c0
Fix asterisk printing for csv output
2020-04-25 12:49:14 +03:00
Yazeed Al Oyoun
c9711678fd
fixed indent
2020-04-25 11:31:51 +02:00
Yazeed Al Oyoun
181b12b3a8
added wins/draws/losses
2020-04-25 11:31:51 +02:00
Yazeed Al Oyoun
6147498fd4
fixed indent
2020-04-25 11:31:51 +02:00
Yazeed Al Oyoun
2fb3d94938
added wins/draws/losses
2020-04-25 11:31:51 +02:00
hroff-1902
2d994f6feb
Better printing of asterisk
2020-04-24 21:57:29 +03:00
hroff-1902
6e5f0869b3
Remove another unused method
2020-04-24 18:39:08 +03:00
hroff-1902
5c012d79eb
Remove unused method
2020-04-24 18:14:07 +03:00
Matthias
d36e2cf6ab
Fix random test failure in hyperopt
2020-04-16 07:06:47 +02:00
hroff-1902
8b6a7e685e
Merge pull request #3133 from freqtrade/backtesting_filenameexpanding
...
[minor] Fix filename handling with --strategy-list
2020-04-15 12:02:19 +03:00
hroff-1902
4d80f52db4
Merge pull request #3134 from freqtrade/backtesting_memory
...
Backtesting memory and dataframe
2020-04-13 23:08:45 +03:00
Fredrik81
2c1c1c7f16
Update freqtrade/optimize/hyperopt.py
...
nice find
Co-Authored-By: Matthias <xmatthias@outlook.com>
2020-04-11 17:42:32 +02:00
Fredrik81
d9e54ab7a4
Update freqtrade/optimize/hyperopt.py
...
nice find
Co-Authored-By: Matthias <xmatthias@outlook.com>
2020-04-11 17:42:19 +02:00
Fredrik81
4707484a4c
Fix issue with colring enabled + styling
2020-04-09 11:42:13 +02:00
Fredrik81
cdc774549e
Merge branch 'develop' into progress-bar
2020-04-08 01:56:43 +02:00
Fredrik81
132f5f73f5
Update hyperopt.py
2020-04-07 10:44:18 +02:00
Fredrik81
c95906cfcf
Update hyperopt.py
2020-04-07 10:42:15 +02:00
Fredrik81
d5609d4997
Changed back to progressbar2 for better handling of logger.
...
Coloring still needs some work (bug + what colors to use)
2020-04-06 13:12:32 +02:00
Matthias
de47186263
Use .loc for assignments
2020-04-02 19:31:48 +02:00
Matthias
cf6e6488c7
Fix filename handling with --strategy-list
2020-04-02 17:29:18 +02:00
Matthias
3d4664c2a6
Remove unnecessary import
2020-03-15 15:40:12 +01:00
Matthias
e1b08ad76c
Add docstring to store_backtest_result
2020-03-15 15:38:26 +01:00
Matthias
e95665ceca
Make backtestresult storing independent from printing
2020-03-15 15:36:23 +01:00
Matthias
a13d581658
Move backtest-result visualization out of backtesting class
2020-03-15 15:17:53 +01:00
Matthias
6106d59e1a
Move store_backtest_results to optimize_reports
2020-03-15 15:17:35 +01:00
Matthias
328dbd3930
Remove unnecessary parameter to generate_text_table_sell_reason
2020-03-15 15:04:48 +01:00
Matthias
0f1640bed4
convert exportfilename to Path when config parsing
2020-03-15 09:39:45 +01:00
hroff-1902
51f52c8609
Merge branch 'develop' into no-ticker-2
2020-03-13 16:43:52 +03:00
hroff-1902
a7ed51c642
return back the name of the hyperopt data file
2020-03-13 04:04:23 +03:00
hroff-1902
ebb0187f40
dataframe -> df_analyzed in backtesting and edge
2020-03-13 03:54:56 +03:00
Fredrik81
5737139979
Small fix
2020-03-12 16:47:09 +01:00
Fredrik81
1a59fc11be
doh
2020-03-12 02:36:18 +01:00
Fredrik81
df1ae565dc
clean-up
2020-03-12 02:26:41 +01:00
Fredrik81
9387ed923c
fix for empty lines
2020-03-12 02:07:50 +01:00
Fredrik81
81cbb92556
Switch to TQDM
2020-03-11 22:30:36 +01:00
Fredrik81
3a8b68c0fd
Initial work on progressbar
2020-03-10 20:30:36 +01:00
hroff-1902
73c19da4b9
Adjust handling of zero stdev in loss functions
2020-03-10 13:44:16 +03:00
hroff-1902
f148b5f734
cosmetics in lambdas
2020-03-10 10:38:37 +03:00
Fredrik81
bd158eefd2
Fixed loggin
2020-03-10 03:02:52 +01:00
Fredrik81
2f5fc731bb
Removed overwrite option
2020-03-09 18:53:30 +01:00
Fredrik81
cb419614cd
Spelling miss
2020-03-08 23:00:21 +01:00
Fredrik81
4ad93ed6bb
Changed output for null columns
2020-03-08 22:41:05 +01:00
hroff-1902
3208faf7ed
Do not use ticker where it's not a ticker
2020-03-08 20:47:02 +03:00
Fredrik81
7606d814fa
Initial work on csv-file export. Missing docs and tests
2020-03-05 01:58:33 +01:00
hroff-1902
57523d58df
Merge pull request #2994 from Fredrik81/hyperopt-table
...
Added dynamic print table function to hyperopt
2020-03-04 23:44:53 +03:00
Fredrik81
090d1e8a70
Alignment and cleanups
2020-03-04 20:51:09 +01:00
Fredrik81
7652a2bb95
Updated table layout and aligning better for hyperopt
2020-03-04 00:10:47 +01:00
Fredrik81
399c419163
Changed table formating. Adding some code to align hyperopt table generation. WIP
2020-03-03 01:14:56 +01:00
hroff-1902
82bdd01843
Merge pull request #3003 from Fredrik81/cores-and-arguments
...
Hyperopt: fix number of CPU cores, jobs and total epochs
2020-03-03 02:12:21 +03:00
hroff-1902
52cd5f9127
Better use enumerate: more correct and more pythonic
2020-03-03 01:42:25 +03:00
hroff-1902
45c9496792
Do not run optimizer for 'jobs' epochs for the last iteration
2020-03-03 01:33:11 +03:00
hroff-1902
a7d4755859
optimize calculation of current_jobs
2020-03-03 01:20:14 +03:00
hroff-1902
92425642da
Fix config_jobs
2020-03-03 01:00:24 +03:00
Fredrik81
0e4862b0c8
Added logging if argument is miss-configured
2020-03-02 22:58:54 +01:00
Fredrik81
7713cfeb79
Corrected logic for -j + and - argument
2020-03-02 21:02:32 +01:00
Fredrik81
f08c7eedf1
Changed jobs to be dynamic for last loop
2020-03-01 14:35:13 +01:00
Fredrik81
75b4f1a442
Fix alignment of higher values
2020-03-01 14:12:27 +01:00
Fredrik81
e89fd33229
Fix for more arguments
2020-02-29 23:57:15 +01:00
Fredrik81
7a4edb1cd8
Fix: When total epochs is less than cpu cores
2020-02-29 23:41:59 +01:00
Fredrik81
23ae0653bd
Changed table output to match hyperopt-list command
2020-02-29 23:24:08 +01:00
hroff-1902
0528af1700
Merge pull request #2879 from freqtrade/sortino_hyperopt_loss
...
Sortino hyperopt loss
2020-02-29 11:36:27 +03:00
Fredrik81
349aa2f957
Added dynamic print table function to hyperopt
2020-02-28 21:54:04 +01:00
hroff-1902
bee8e92f02
Final changes, use sqrt i.o. statistics.pstdev
2020-02-28 23:50:25 +03:00
Fredrik81
55d471190a
Changed table style of backtesting and alignment of headers
2020-02-27 13:28:28 +01:00
hroff-1902
893d9cde8d
Merge pull request #2943 from Fredrik81/add-print-table
...
Added function to print hyperopt-list as table using tabulate
2020-02-27 05:22:41 +03:00
Fredrik81
cd7efde6c0
Fixed coloring so it's only targeting the values not the table borders
2020-02-24 22:06:21 +01:00
Fredrik81
23bf135b8a
Alignment of table content, changed coloring, changed 'Best' column to show if it's initial_point or best
2020-02-24 11:01:14 +01:00
Yazeed Al Oyoun
3fb6818bd8
Merge branch 'develop' into sortino_hyperopt_loss
2020-02-19 02:37:25 +01:00
Fredrik Rydin
2058b492eb
Added function to print hyperopt-list as table using tabulate
2020-02-18 22:46:53 +01:00
Matthias
6335d81ceb
Merge branch 'develop' into data_handler
2020-02-16 15:12:14 +01:00
hroff-1902
674898bd32
Fix usage of vars in the commented out line
2020-02-16 15:26:40 +03:00
hroff-1902
42dfda9231
Adjust docstring
2020-02-16 13:46:07 +03:00
hroff-1902
fbe5cc44da
Use statistics.pstdev
2020-02-16 13:43:23 +03:00
hroff-1902
1e84b2770c
Fix values of downside_returns
2020-02-16 04:10:53 +03:00
hroff-1902
161dd1a3e6
Rename risk_free_return to minumum_accepted_return
2020-02-16 03:55:16 +03:00
hroff-1902
b2328cdf4f
Do not subtract risk_free_ratio twice
2020-02-13 07:07:35 +03:00
hroff-1902
9ec9a7b124
Fix t_index to be normalized
2020-02-09 21:20:15 +03:00
hroff-1902
c89a32224c
Fix SharpeHyperOptLossDaily
2020-02-09 18:40:19 +03:00
Matthias
d65a06947d
Merge branch 'develop' into data_handler
2020-02-09 15:16:43 +01:00
hroff-1902
61ced5e926
Fix typo
2020-02-08 02:49:06 +03:00
Yazeed Al Oyoun
e8b9d88eb6
moved line for total_downside
2020-02-07 16:44:55 +03:00
Yazeed Al Oyoun
a46b7bcd6d
more fixes...
2020-02-07 16:44:43 +03:00
Yazeed Al Oyoun
9bcc5d2eed
fixed downside_returns to read from profit_percent_after_slippage
2020-02-07 16:36:12 +03:00
Yazeed Al Oyoun
728ab0ff21
Added both SortinoHyperOptLoss and SortinoHyperOptLossDaily
2020-02-07 16:35:28 +03:00
Yazeed Al Oyoun
b56a1f0603
initial push of sortino, work not done, still need own tests
2020-02-07 16:34:20 +03:00
Yazeed Al Oyoun
deb0b7ad67
Added both SortinoHyperOptLoss and SortinoHyperOptLossDaily
2020-02-07 16:30:37 +03:00
Yazeed Al Oyoun
44d67389d2
initial push of sortino, work not done, still need own tests
2020-02-07 16:29:27 +03:00
Yazeed Al Oyoun
ff819386e1
added draws to backtesting tables, reduced len of some labels to help fit this without increasing total width
2020-02-07 03:51:50 +01:00
Yazeed Al Oyoun
5b00eaa42d
Updated Strategy Summary table to match other backtesting tables ( #2864 )
2020-02-06 06:58:58 +01:00
Yazeed Al Oyoun
9639ffb140
added daily sharpe ratio hyperopt loss method, ty @djacky ( #2826 )
...
* more consistent backtesting tables and labels
* added rounding to Tot Profit % on Sell Reasosn table to be consistent with other percentiles on table.
* added daily sharpe ratio hyperopt loss method, ty @djacky
* removed commented code
* removed unused profit_abs
* added proper slippage to each trade
* replaced use of old value total_profit
* Align quotes in same area
* added daily sharpe ratio test and modified hyperopt_loss_sharpe_daily
* fixed some more line alignments
* updated docs to include SharpeHyperOptLossDaily
* Update dockerfile to 3.8.1
* Run tests against 3.8
* added daily sharpe ratio hyperopt loss method, ty @djacky
* removed commented code
* removed unused profit_abs
* added proper slippage to each trade
* replaced use of old value total_profit
* added daily sharpe ratio test and modified hyperopt_loss_sharpe_daily
* updated docs to include SharpeHyperOptLossDaily
* docs fixes
* missed one fix
* fixed standard deviation line
* fixed to bracket notation
* fixed to bracket notation
* fixed syntax error
* better readability, kept np.sqrt(365) which results in annualized sharpe ratio
* fixed method arguments indentation
* updated commented out debug print line
* renamed after slippage profit_percent so it wont affect _calculate_results_metrics()
* Reworked to fill leading and trailing days
* No need for np; make flake happy
* Fix risk free rate
Co-authored-by: Matthias <xmatthias@outlook.com>
Co-authored-by: hroff-1902 <47309513+hroff-1902@users.noreply.github.com>
2020-02-06 06:49:08 +01:00
hroff-1902
d457d43999
Merge pull request #2833 from hroff-1902/type-hints
...
Add some type hints
2020-02-03 23:24:26 +03:00
Yazeed Al Oyoun
3499f1b85c
better readability and more consistent with daily sharpe loss method
2020-02-02 08:47:33 +01:00
hroff-1902
f3d500085c
Add some type hints
2020-02-02 07:00:40 +03:00
Matthias
19d4e1435c
Merge pull request #2828 from yazeed/line_alignment_fixes
...
fixed some more line alignments
2020-02-01 11:19:28 +01:00
Yazeed Al Oyoun
d038bcedb0
fixed some more line alignments
2020-01-31 22:37:05 +01:00
Matthias
c396ad4daa
Align quotes in same area
2020-01-31 20:41:51 +01:00
Yazeed Al Oyoun
907a61152c
added rounding to Tot Profit % on Sell Reasosn table to be consistent with other percentiles on table.
2020-01-31 04:53:37 +01:00
Yazeed Al Oyoun
e2b3907df5
more consistent backtesting tables and labels
2020-01-31 04:39:18 +01:00
Matthias
1b9af9d2d8
Merge branch 'develop' into data_handler
2020-01-26 20:31:13 +01:00
Matthias
f347e5934a
Small adjustments for moved commands
2020-01-26 13:46:01 +01:00
Matthias
e033df6a2f
Move optimize_commands to commands module
2020-01-26 13:46:01 +01:00
Matthias
6e85280467
Adjust imports
2020-01-26 13:46:01 +01:00
Matthias
bd4dd8403b
Fix type-errors with stake_amount
2020-01-25 12:49:37 +01:00
hroff-1902
f4c7edf551
No args for backtest(), use arguments
2020-01-25 12:49:37 +01:00
Matthias
7d2d0235a0
Fix typo in sell-reason table generation
2020-01-22 06:08:34 +01:00
Matthias
fc2970f41b
Merge branch 'develop' into data_handler
2020-01-21 06:58:48 +01:00
Tejesh
f73f0b1653
Update comments on backtesting
2020-01-15 19:29:00 +05:30
Matthias
785cd2a640
Rename test module
2020-01-09 06:53:51 +01:00
Matthias
c475729c13
Extract edge reporting to optimize_reports
2020-01-09 06:52:34 +01:00
Matthias
989ab646a9
Add profit % to sell_reason table
2020-01-09 06:46:39 +01:00
Matthias
a9fbad0741
Improve docstrings
2020-01-02 09:37:54 +01:00
Matthias
904e1647e1
Extract generate_text_table_strategy to seperate module
2020-01-02 09:31:53 +01:00
Matthias
caec345c0b
Extract generate_text_table_sell_reason from backtesting class
2020-01-02 09:31:53 +01:00
Matthias
18a53f4467
Extract generate_text_table from backtesting class
2020-01-02 09:31:47 +01:00
Matthias
699c0d6bc3
Merge branch 'develop' into data_handler
2019-12-30 19:40:43 +01:00
Matthias
2537b8cb0c
Merge pull request #2725 from freqtrade/minor_fix
...
[Minor] Edge-cli should use exchangeresolver
2019-12-30 19:27:40 +01:00
Matthias
1ffda29fd2
Adjust improts to new exception location
2019-12-30 15:02:17 +01:00
Matthias
fb3a53b8af
Use ExchangeResolver for edge_cli too
2019-12-30 14:28:34 +01:00
Matthias
f4a532ef6d
Pass format to load_data
2019-12-28 14:57:39 +01:00
Matthias
416517b0c9
Move trim_dataframe from history to converter
2019-12-28 11:01:41 +01:00
hroff-1902
6db75bc244
Merge pull request #2706 from freqtrade/data_dir
...
Convert datadir within config to Path
2019-12-28 05:14:48 +03:00
Matthias
e5aed098b5
Enhance backtest results with sell reason profit / loss table
2019-12-25 09:39:29 +01:00
Matthias
c6b9c8eca0
Forgot to save
2019-12-23 19:32:31 +01:00
Matthias
c6d2233978
Convert StrategyLoader to static loader
2019-12-23 10:23:48 +01:00
Matthias
6d5aca4f32
Convert hyperoptloss resolver to static loader
2019-12-23 10:09:08 +01:00
Matthias
248ef5a0ea
Convert HyperoptResolver to static loader
2019-12-23 10:06:19 +01:00
Matthias
560acb7cea
Convert ExchangeResolver to static loader class
2019-12-23 10:03:18 +01:00
Matthias
fc5764f9df
Edge small cleanup
2019-12-19 19:55:21 +01:00
hroff-1902
cf4c3642ce
Minor improvements in data.history
2019-12-18 01:06:03 +03:00
Matthias
a2964afd42
Rename profit_percent to profit_ratio to be consistent
2019-12-17 08:53:30 +01:00
hroff-1902
26ab108890
Fix mypy errors in develop
2019-12-15 01:10:09 +03:00
hroff-1902
1cc174c007
Merge pull request #2624 from freqtrade/backtest_refactor
...
handle and document ROI=-1
2019-12-14 23:11:36 +03:00
hroff-1902
e26f563f4b
Merge pull request #2655 from freqtrade/avoid_keyerror_backtest
...
Use first pair of pairlist to get fee
2019-12-14 23:10:40 +03:00
Matthias
2f7181e236
Merge pull request #2648 from hroff-1902/hyperopt-random-state
...
Seed hyperopt random_state if not passed
2019-12-14 15:54:59 +01:00
hroff-1902
f2266ea9f4
Use shorter range for seeded random-state
2019-12-14 15:17:45 +03:00
Matthias
a48c0ad868
Use first pair of pairlist to get fee
...
Use this instead of hardcoded ETH/BTC - so backtesting works with
exchanges without ETH/BTC pair
2019-12-14 12:55:02 +01:00
Matthias
703924d6c4
Merge pull request #2643 from freqtrade/mins
...
Remove min (plural) from codebase
2019-12-12 14:27:39 +01:00
hroff-1902
6e778ad710
Seed hyperopt random_state if not passed
2019-12-12 03:12:28 +03:00
Matthias
f44e3dc319
Merge pull request #2642 from hroff-1902/fix-hyperopt-trailing
...
Fix generation of hyperopt trailing params
2019-12-11 19:53:42 +01:00
Matthias
7c7ca1cb90
Remove min (plural) from codebase
2019-12-11 07:12:37 +01:00
Matthias
b2a9b87be3
Merge pull request #2632 from freqtrade/dependabot/pip/develop/scikit-learn-0.22
...
Bump scikit-learn from 0.21.3 to 0.22
2019-12-10 16:20:39 +01:00
Matthias
3f9f29ba4e
Fix Flake8 import error
2019-12-10 16:10:51 +01:00
hroff-1902
3448f86263
Suppress scikit-learn FutureWarnings from skopt imports
2019-12-10 15:46:29 +03:00
hroff-1902
641e3fdf7a
Fix generation of hyperopt trailing params
2019-12-10 03:32:43 +03:00
hroff-1902
0e4ef33d6a
Merge pull request #2581 from hroff-1902/hyperopt-list
...
Add hyperopt-list and hyperopt-show commands
2019-12-10 00:30:26 +03:00
Matthias
de33ec4250
use sell_row.open also when the active ROI value just changed
2019-12-09 16:52:12 +01:00
Matthias
45d12dbc83
Avoid a few calculations during backtesting
2019-12-07 15:28:56 +01:00
Matthias
3163cbdf8a
Apply special case for negative ROI
2019-12-07 15:18:12 +01:00
Matthias
3091869115
refactor get_close_rate out of get_sell_trade-entry
2019-12-07 14:30:14 +01:00
hroff-1902
d21ae4edd3
Add fixes for comments in the review
2019-12-05 23:29:31 +03:00
Matthias
4b0a4c936a
Fix hyperopt with ticker_interval from strategy
2019-12-05 20:31:02 +01:00
hroff-1902
b61f43835d
Make flake happy
2019-12-05 01:11:06 +03:00
hroff-1902
017a94adc1
Merge develop
2019-12-05 01:08:38 +03:00
hroff-1902
54694dd3a4
Manual merge of some conflicts in hyperopt
2019-12-04 23:14:47 +03:00
hroff-1902
668d42447f
Refactor log_trials_result()
2019-12-01 16:15:00 +03:00
hroff-1902
69b0767165
Merge remote-tracking branch 'upstream/develop' into hyperopt-trailing-space
2019-12-01 03:28:23 +03:00
hroff-1902
a88bfa8ded
Fix: trailing_stop_positive should be positive
2019-12-01 02:27:17 +03:00
hroff-1902
8f9b5095b5
Fix some tests
2019-11-27 22:52:43 +03:00
hroff-1902
8e7512161a
Add hyperopt-list and hyperopt-show commands
2019-11-26 15:01:42 +03:00
Matthias
af3eea3805
Move config json validation to after strategy loading
...
Otherwise attributes are mandatory in configuration
while they could be set in the strategy
2019-11-25 07:05:30 +01:00
hroff-1902
067267f4cf
Log messages improved (plural/singular)
2019-11-23 12:20:41 +03:00
hroff-1902
737c07c5b6
Make mypy happy
2019-11-23 11:51:52 +03:00
hroff-1902
097cdcb57a
Save epochs at intermediate points
2019-11-23 11:32:33 +03:00
hroff-1902
e7ddd81251
Merge branch 'develop' into hyperopt-trailing-space
2019-11-23 03:42:58 +03:00
Matthias
9b050523e9
Merge pull request #2397 from freqtrade/feat/new_args_system
...
require subcommand for all actions
2019-11-14 06:28:42 +01:00
Matthias
5b62ad876e
Remove hyperopts occurances
2019-11-13 09:39:00 +01:00
Matthias
c449e39280
Replace more occurances of ticker_interval
2019-11-12 15:13:06 +01:00
Matthias
1c57a4ac35
more replacements of ticker_interval
2019-11-12 15:13:06 +01:00
Matthias
d801dec6aa
Some more places with ticker_interval gone
2019-11-12 15:13:06 +01:00
Matthias
e4bdb92521
Replace some occurances of ticker_interval with timeframe
2019-11-12 15:13:06 +01:00
hroff-1902
31ab32f0b9
Always set trailing_stop=True with 'trailing' hyperspace
2019-11-08 12:47:28 +03:00
hroff-1902
f90676cfc5
Add trailing stoploss hyperspace
2019-11-08 03:07:43 +03:00
Matthias
ca77dbe8da
Fix UnicodeError in hyperopt output
2019-11-06 19:33:15 +01:00
Matthias
eb0b0350e0
Introduce remove_credentials to remove code duplication
2019-11-05 12:39:19 +01:00
Matthias
1e44f93c31
Fix pandas access warning
2019-11-03 10:58:31 +01:00
Matthias
861f10dca6
Allow populate-indicators to come from strategy
2019-11-02 11:10:33 +01:00
Matthias
132a4da7cf
Small style fixes and adjusted tests
2019-10-27 10:56:38 +01:00
Matthias
33164ac78e
Refactor loading of bt data to backtesting ...
2019-10-27 09:44:56 +01:00
Matthias
bd4a23beeb
Refactor start-adjust logic to timerange
2019-10-27 09:44:56 +01:00
Matthias
6382a4cd04
Implement startup-period to default-strategy
2019-10-27 09:44:56 +01:00
Matthias
704121c197
Move most logic to history
2019-10-27 09:44:56 +01:00
Matthias
9c7696a8ce
Add required_startup to backtesting
2019-10-27 09:44:56 +01:00
hroff-1902
4ec83a2c24
DefaultHyperOpts --> DefaultHyperOpt; hyperopts --> hyperopt where it's not correct
2019-10-18 23:29:19 +03:00
Matthias
85c4546333
Merge pull request #2343 from hroff-1902/move-experimental
...
Move experimental settings to ask_strategy
2019-10-10 16:08:11 +02:00
hroff-1902
2ec8376af9
Merge pull request #2342 from freqtrade/fix/negativeroi
...
Don't have backtest sells outside of a candle
2019-10-08 11:19:34 +03:00
Matthias
0664a8c0e6
add --fee
to change fees to other values
2019-10-05 15:29:00 +02:00
hroff-1902
9b23376415
Move experimental settings to ask_strategy
2019-10-05 13:29:59 +03:00
Matthias
7ea9da9605
Fix #2277
2019-10-05 10:54:28 +02:00
Matthias
dc47a391da
Move ignore to corrct line for mypy 730
2019-09-30 19:32:46 +02:00
Matthias
ed10048394
Merge pull request #2308 from hroff-1902/hyperopt-config
...
Allow use of config in custom hyperopt methods
2019-09-28 10:36:46 +02:00
hroff-1902
4ac53f1549
Shorten the default hyperopt stoploss space
2019-09-28 04:13:53 +03:00
hroff-1902
9db915853a
Allow use of config in custom hyperopt methods
2019-09-26 11:59:21 +03:00
Matthias
5237723f22
Merge pull request #2303 from freqtrade/feat/hyperopt_optional_install
...
Optional hyperopt dependency installation
2019-09-26 09:42:16 +02:00
Matthias
b994f5c273
Merge pull request #2294 from hroff-1902/fix-skopt-memory3
...
Fix skopt memory exhaustion
2019-09-25 19:55:27 +02:00
Matthias
27cc73f47e
Dynamically import hyperopt modules
2019-09-25 11:40:34 +02:00
hroff-1902
665e0570ae
Fix hyperopt position stacking
2019-09-25 03:41:22 +03:00
hroff-1902
6ffb8b7a70
Fix wordings in comment
2019-09-23 13:25:31 +03:00
hroff-1902
0c6164df7e
Fix memory exhaustion in skopt models list
2019-09-23 13:03:43 +03:00
Matthias
313091eb1c
some more refresh_pairs cleanups
2019-09-20 20:22:51 +02:00
Matthias
1cd8ed0c1a
Remove --refresh-pairs
2019-09-20 20:02:07 +02:00
hroff-1902
69f29e8907
minor: Cleanup for backtesting
2019-09-18 22:57:17 +03:00
hroff-1902
5cbc073dd1
minor: Cleanup hyperopt
2019-09-16 21:46:15 +03:00
hroff-1902
76e45883bd
Merge pull request #2253 from hroff-1902/backtesting-improve-logs
...
Improve logs for backtesting
2019-09-14 11:23:46 +03:00
Matthias
e6ccc1427c
have Arguments return a dict instead of Namespace
2019-09-12 20:16:39 +02:00
hroff-1902
849d694c27
Don't inherit from object
2019-09-12 04:39:52 +03:00
hroff-1902
9bdfaf3803
Remove quotes around the pairs
2019-09-11 23:32:08 +03:00
hroff-1902
35580b135a
Improve backtesting logs
2019-09-10 10:42:45 +03:00
hroff-1902
3d028f512e
Merge pull request #2235 from hroff-1902/eliminate_import_strategy
...
Allow --strategy for hyperopt
2019-09-08 12:23:48 +03:00
hroff-1902
2b00a5d90a
Get rid of import_strategy()
2019-09-08 02:43:02 +03:00
Matthias
972b8a1726
Remove defaulting to test_data folder when no datadir is present
2019-09-07 21:06:20 +02:00
hroff-1902
2e49125e87
Merge branch 'develop' into hyperopt-simplified-interface
2019-09-06 15:11:06 +03:00
Matthias
7af445adf3
Merge pull request #2137 from hroff-1902/hyperopt-adaptive-roi-space
...
Hyperopt: adaptive roi_space
2019-09-06 06:26:52 +02:00
hroff-1902
9a6a89c238
allow simplified hyperopt interface
2019-09-03 19:54:28 +03:00
hroff-1902
d9c2b7d460
fix fetching ticker_interval from strategy
2019-08-26 22:31:24 +03:00
hroff-1902
bfc68ec792
minor cleanup in Backtesting
2019-08-25 23:36:42 +03:00
Matthias
513e84880e
Don't escape ticks where it's not needed
2019-08-25 20:38:51 +02:00
hroff-1902
067208bc9d
make backtesting an attribute of Hyperopt
2019-08-24 00:10:35 +03:00
Matthias
91b0394433
Merge pull request #2156 from freqtrade/remove_live
...
Remove deprecated option live - deprecate -r
2019-08-22 15:33:39 +02:00
Matthias
aaeeb9c0c6
Merge branch 'develop' into align_userdata
2019-08-21 19:41:10 +02:00
hroff-1902
fcb0ff1b60
do not round values in the debug message
2019-08-20 23:42:44 +03:00
hroff-1902
17b3f01b28
Merge branch 'develop' into hyperopt-adaptive-roi-space
2019-08-20 23:00:23 +03:00
hroff-1902
cadf573170
round printed stoploss value as well
2019-08-20 22:24:59 +03:00
hroff-1902
a12876da92
fine printing for floats in the roi tables (round to 5 digits after the decimal point)
2019-08-20 22:17:21 +03:00
Matthias
9e24992835
Remove calls to load_data using live=
2019-08-20 07:00:43 +02:00
Matthias
9e8ca8d4bf
Merge pull request #2138 from freqtrade/history_docstrings
...
Refactorings to history
2019-08-20 06:35:54 +02:00
Matthias
0a478bc0dc
Merge branch 'develop' into align_userdata
2019-08-18 15:00:12 +02:00
Matthias
09286d4918
file_dump_json accepts Path - so we should feed it that
2019-08-16 13:04:48 +02:00
hroff-1902
e525275d10
make flake and mypy happy
2019-08-15 23:13:46 +03:00
hroff-1902
4fa92ec0fa
hyperopt: --print-json option added
2019-08-15 21:39:04 +03:00
hroff-1902
5b9711c002
adaptive roi_space
2019-08-14 13:25:49 +03:00
Matthias
51c3a31bb5
Correct imports and calls to parse_timerange
2019-08-14 10:07:32 +02:00
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