Commit Graph

14847 Commits

Author SHA1 Message Date
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 5f309627ea Update tests for Calmar ratio 2021-10-24 09:01:13 +02:00
Matthias dffb4c5d53 Merge branch 'develop' into pr/TreborNamor/5607 2021-10-24 08:55:10 +02:00
Matthias 4966619f1d Merge pull request #5773 from samgermain/gateio-futures
Gateio futures
2021-10-24 08:45:24 +02:00
Sam Germain 60478cb213 Add fill_leverage_brackets and get_max_leverage back in 2021-10-23 22:16:51 -06:00
Sam Germain d99e0dac7b Added name for futures market property 2021-10-23 21:59:47 -06:00
Sam Germain 3eda9455b9 Added dry run capability to funding-fee 2021-10-23 21:59:47 -06:00
Sam Germain 2533d3b420 Added get_funding_rate_history method to exchange 2021-10-23 21:59:41 -06:00
Sam Germain ef8b617eb2 gateio, ftx and binance all use same funding fee formula 2021-10-23 21:59:03 -06:00
Sam Germain badc0fa445 Adjusted _get_funding_fee_method 2021-10-23 21:58:57 -06:00
Sam Germain cba0a8cee6 adjusted funding fee formula binance 2021-10-23 21:58:17 -06:00
Sam Germain 2a26c6fbed Added backtesting methods back in 2021-10-23 21:33:37 -06:00
Sam Germain ed91516f90 Changed future to swap 2021-10-23 14:10:09 -06:00
Matthias b4bedc22d7 Merge pull request #5777 from SimonEbner/pathlib_stem
Use pathlib.stem instead of str(x).ends_with
2021-10-23 19:29:18 +02:00
Simon Ebner fde10f5395 Use pathlib.stem instead of str(x).ends_with 2021-10-23 12:26:07 +02:00
Sam Germain 1fa2600ee2 Added gateio to test__ccxt_config 2021-10-22 11:52:05 -06:00
Sam Germain 167f9aa8d9 Added gateio futures support, and added gatio to test_exchange exchanges variable 2021-10-22 11:52:05 -06:00
Sam Germain aed22f7dad Merge branch 'develop' into feat/short 2021-10-22 11:45:27 -06:00
Matthias 21141bdcb3 Merge pull request #5732 from samgermain/new-max-lev
New max lev
2021-10-22 19:30:58 +02:00
Sam Germain f07555fc84 removed binance constructor, added fill_leverage_brackets call to exchange constructor 2021-10-22 06:37:56 -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 053fb076e4 Add documentation for breakdown command 2021-10-21 10:57:23 +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
Matthias 1267374c8a Small fixes to tests 2021-10-20 19:21:38 +02:00
theluxaz 905f3a1a50 Removed exit_tag from Trade objects. 2021-10-20 17:58:50 +03:00
Matthias 028e5de935 Remove space after @ decorator in tests 2021-10-20 16:53:24 +02:00
Sam Germain 0329da1a57 updated get_max_leverage to use new ccxt unified property 2021-10-20 08:36:48 -06:00
Sam Germain 3fffc315ac Merge branch 'develop' into feat/short 2021-10-20 08:11:53 -06:00
Matthias 79a91dc31b Merge pull request #5567 from samgermain/lev-freqtradebot
Lev freqtradebot
2021-10-20 15:48:07 +02:00
Matthias dd59b23b49 Merge pull request #5763 from samgermain/test-ccxt-config
Test ccxt config
2021-10-20 15:41:26 +02:00
Sam Germain 8c80fb46c8 test__ccxt_config 2021-10-20 05:33:09 -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
Matthias 55b0216180 Allow StaticPairlist in non-first position
closes #5754
2021-10-19 19:48:56 +02:00
Matthias 42a4dfed28 Reallow bitstamp
revert #1984, related to #1983
2021-10-19 19:12:35 +02:00
GluTbl 00406ea7d5 Update backtesting.py
Support for custom entry-prices and exit-prices during backtesting.
2021-10-19 17:15:45 +05:30
Matthias 2995f9a347 Merge pull request #5726 from daniila/patch-1
How to run multiple instances with docker
2021-10-19 11:43:12 +02:00
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
daniila f863f4fdfc Update advanced-setup.md
A note on having to use different database files, ports and telegram configs for each bot.
2021-10-18 23:49:59 +03:00
daniila 5d2e374099 Update docs/advanced-setup.md
Co-authored-by: Matthias <xmatthias@outlook.com>
2021-10-18 23:38:45 +03:00
daniila f9b1667478 Update docs/advanced-setup.md
Co-authored-by: Matthias <xmatthias@outlook.com>
2021-10-18 23:36:47 +03:00