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
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
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
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
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
0e7d903a6f
Merge pull request #5644 from slyons/develop
...
Add ability to ignore unparameterized spaces
2021-10-14 08:07:07 +02: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
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
6319c104fe
Fix unreliable backtest-result when using webserver mode
2021-09-26 15:07:48 +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
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
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
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
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
Matthias
315ea1e116
Merge pull request #5566 from freqtrade/remove_hyperopt
...
Remove legacy hyperopt
2021-09-14 19:20:58 +02: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
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
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
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