Matthias
b5f55c9b14
Improve type safety in backtesting
2023-03-01 20:32:32 +01:00
Matthias
f6b3998bbd
Fix backtesting type incompatibilities
2023-03-01 20:32:32 +01:00
Matthias
d014e4590e
use Path.open() instead of open
2023-02-25 17:15:54 +01:00
Matthias
34c42be74f
Fix minor stylistic errors
2023-02-23 20:06:10 +01:00
Matthias
0f878daa98
Remove some too generic noqa statements
2023-02-22 19:56:32 +01:00
robcaulk
fd4e27d889
remove populate_any_indicators
2023-02-21 14:22:40 +01:00
Matthias
5073c780d8
.agg would like strings, not the sum function.
2023-01-31 11:22:04 +00:00
Matthias
f57394c1ce
Merge branch 'develop' into bybit
2023-01-30 07:23:41 +01:00
Matthias
25dfbb5a08
Compare stake amout >= in backtesting
...
closes #8067
2023-01-29 12:47:16 +01:00
Matthias
9286cbed86
add partial Docstring to backtesting enter_trade
2023-01-29 11:02:31 +01:00
Matthias
34e7433844
Add leverage to dry-run liquidation price calculation
2023-01-24 07:21:56 +01:00
Matthias
8108a48f39
Follow PEP 484 - no implicit optionals
2023-01-21 20:01:56 +01:00
Matthias
bb355cfac5
improve naming of backtest function
2023-01-21 19:46:27 +01:00
Matthias
80bb120026
Simplify backtesting by removing now unnecessary private function
2023-01-21 18:01:01 +01:00
Matthias
89eb1b0084
funding-fees need to be recalculated for detailed timeframes, too.
...
closes #7978
2023-01-21 17:47:37 +01:00
Matthias
c8ecedf6d5
Clarify a variable via typehint
2023-01-17 20:05:18 +01:00
Antonio Della Fortuna
5e10bb2cca
Merge branch 'develop' of https://github.com/freqtrade/freqtrade into max-open-trades
2023-01-16 20:19:46 +01:00
Antonio Della Fortuna
ab12aace5f
changed trades_space
to max_open_trades_space
2023-01-15 11:50:40 +01:00
Antonio Della Fortuna
b0f1d914c8
Changed max_open_trades type to int or inf
2023-01-15 11:44:10 +01:00
Matthias
cbcee02ded
call data migration from backtesting
2023-01-14 20:07:33 +01:00
Antonio Della Fortuna
534aa8f7ff
Merge branch 'develop' of https://github.com/freqtrade/freqtrade into max-open-trades
...
# Conflicts:
# freqtrade/optimize/backtesting.py
2023-01-11 18:55:57 +01:00
Matthias
811f13e09a
Merge pull request #7981 from freqtrade/backtest_detail_speed
...
Improve backtest detail speed
2023-01-09 18:21:54 +01:00
Antonio Della Fortuna
10d8b016e4
Changed max_open_trades default range for optimization
2023-01-08 12:48:36 +01:00
Antonio Della Fortuna
24ace646c3
Merge branch 'develop' of https://github.com/freqtrade/freqtrade into max-open-trades
2023-01-08 12:40:01 +01:00
Antonio Della Fortuna
464cb4761c
Fixed max_open_trades update from hyperopt
...
Fixed max_open_trades update from hyperopt + removed max_open_trades as a param to backtesting + refactoring
2023-01-08 12:39:39 +01:00
Antonio Della Fortuna
8c3ac56bc5
Merge branch 'develop' of https://github.com/freqtrade/freqtrade into max-open-trades
2023-01-07 11:11:59 +01:00
root
7bf531c8b8
isort fix
2023-01-07 09:50:05 +09:00
Stefano Ariestasia
c1042996db
flake8 fix
2023-01-07 09:46:46 +09:00
Stefano Ariestasia
6198b21001
update calmar loss
2023-01-07 09:30:16 +09:00
Stefano Ariestasia
d3b1aa7f01
update sortino calc
2023-01-07 09:19:06 +09:00
Stefano Ariestasia
157bf962f7
add missing imports
2023-01-07 09:14:56 +09:00
Stefano Ariestasia
86ba7dae92
change sharpe hyperopt loss
2023-01-07 08:56:40 +09:00
Matthias
92800930e9
Improve backtest detail speed
2023-01-05 10:14:58 +01:00
Matthias
8e5b4750d6
Continue in "regular backtest" case (no detail-data available).
...
link to #7967
2023-01-04 18:08:45 +01:00
Antonio Della Fortuna
f2fa476dc6
max_open_trades should be an integer
...
Max open trades will be always an integer in the strategy (-1 for infinity), but in the config -1 will be parsed as infinity
2023-01-04 16:09:27 +01:00
Antonio Della Fortuna
ce661cb58b
Merge branch 'develop' of https://github.com/freqtrade/freqtrade into max-open-trades
2023-01-04 10:35:09 +01:00
Antonio Della Fortuna
5fd85368a9
Added support for max_open_trades hyperopting
2023-01-04 10:34:44 +01:00
Matthias
02eb00fa33
Merge branch 'develop' into pr/stash86/7810
2022-12-28 14:04:54 +01:00
Stefano Ariestasia
6353f3ac1a
fix formulas and implement new metrics
2022-12-26 08:19:51 +09:00
Matthias
7a5439321c
Show new metrics in backtesting
2022-12-25 21:29:37 +01:00
Matthias
ad0d7c9a9e
Don't allow DCA trades to go beyond max order size
...
closes #7924
2022-12-23 16:09:35 +01:00
froggleston
f5359985e8
Make CLI option and docs clearer that we're handling signals not trades
2022-12-08 18:47:09 +00:00
froggleston
854f056eaf
Fix missing Path constructors
2022-12-05 16:16:36 +00:00
froggleston
5a4e99b413
Add support for collating and analysing rejected trades in backtest
2022-12-05 15:34:31 +00:00
Matthias
2219d2f491
Merge pull request #7707 from freqtrade/bt/full_detail
...
backtesting - use full detail timeframe
2022-11-27 16:09:23 +01:00
Matthias
79c041b62d
Update tests for new export format
2022-11-25 16:57:58 +01:00
Matthias
8c014bd365
Export trade-counts to csv
...
closes #7789
2022-11-25 16:57:45 +01:00
Matthias
8ee8b6e943
Improve hyperopt list output
...
closes #7789
2022-11-25 16:31:21 +01:00
Robert Caulk
cd6f87be17
Merge pull request #7728 from freqtrade/improve_timerange
...
Simplify timerange handling
2022-11-17 19:57:48 +01:00
Matthias
0a702cdd26
Ensure more methods are typechecked
2022-11-14 20:56:35 +01:00
Matthias
0f9c5f8d41
Simplify timerange handling
2022-11-10 18:28:18 +01:00
Matthias
884014a4b9
Fix some minor typos
2022-11-07 18:35:28 +00:00
Matthias
ded57fb301
Remove no longer valid test part
2022-11-05 20:32:31 +01:00
Matthias
d089fdae34
Fix current-time_det calculation
2022-11-05 20:02:36 +01:00
Matthias
0888b53b5a
Udpate current_time handling for detail loop
2022-11-05 17:02:27 +01:00
Matthias
a11d579bc2
Verify order fills on "detail" timeframe
2022-11-05 17:02:27 +01:00
Wagner Costa Santos
6606a0113f
refactoring - remove unnecessary config file
2022-10-20 14:53:25 -03:00
Wagner Costa Santos
52b60c5cbb
Merge branch 'develop' into backtest_live_models
2022-10-20 11:59:37 -03:00
Matthias
c3d4fb9f1b
Simplify backtest calling interface
2022-10-18 06:39:55 +02:00
Matthias
6252ae466e
Convert position_stacking to attribute of backtest
2022-10-17 06:57:26 +02:00
Matthias
8534dfb0d4
Extract backtest 1 candle from main function
2022-10-17 06:57:26 +02:00
Matthias
0e8cf366f5
Keep trade state in LocalTrade
2022-10-17 06:57:26 +02:00
Matthias
e82baf5f60
Use helper-method to modify trades_open
2022-10-16 16:45:16 +02:00
Evgeniy Vladimirov
de9f5660f3
Fix counting available trade slots in backtesting.
2022-10-16 12:56:59 +03:00
Matthias
b6c096d3bc
Simplify backtest condition
2022-10-16 09:22:56 +02:00
Matthias
05ca725e4d
Remove no longer needed local state
2022-10-15 12:07:22 +02:00
Matthias
c8e6dad9cd
use exit_reason to determine left open trades
2022-10-15 12:00:20 +02:00
Matthias
9d4ba767c4
Update usages of search_all_objects
2022-10-14 14:50:52 +00:00
Wagner Costa Santos
02fc59d473
Merge branch 'develop' into backtest_live_models
2022-10-13 15:52:19 -03:00
Matthias
f019471051
Don't round prices if no custom prices have been used
...
closes #7573
2022-10-13 19:51:42 +02:00
Wagner Costa Santos
3081e73f8a
Merge branch 'develop' into backtest_live_models
2022-10-10 14:53:45 -03:00
Marek Cieplucha
3264d7b890
Fix for #7534 in backtesting
2022-10-04 20:27:13 +02:00
Matthias
a6296be2f5
Update market_change datatype
2022-10-04 10:27:04 +00:00
Matthias
016e438468
Calculate market-change in hyperopt
...
closes #7532
2022-10-04 08:37:07 +00:00
Matthias
2ce265bed3
Merge pull request #7473 from freqtrade/feat/producerpairlist
...
Producerpairlist
2022-09-30 06:54:15 +02:00
Wagner Costa Santos
6845a5c6ea
backtest_live_models - refactoring after PR review
2022-09-29 01:48:38 -03:00
Matthias
30a5bb08dd
partial exits should account for leverage
2022-09-27 19:53:55 +02:00
Wagner Costa Santos
3c002ff752
Merge branch 'develop' into backtest_live_models
2022-09-27 10:27:47 -03:00
Matthias
8c2e473ee5
Fix test warning
2022-09-27 08:53:29 +00:00
Matthias
43e847ff2f
Update to pandas 1.5.0 syntax, avoiding warnings
2022-09-27 08:02:51 +00:00
Wagner Costa Santos
182d9e5426
Merge branch 'develop' into backtest_live_models
2022-09-26 17:23:44 -03:00
Matthias
cf5267a4d3
Merge pull request #7481 from chusri/develop
...
✏️ fixed typo from StaticPairlist to StaticPairList
2022-09-26 18:11:56 +02:00
Matthias
8e0811d9de
Call cleanup explicitly
2022-09-26 09:35:21 +00:00
Matthias
a1a62681bf
add fixes for random test failures
2022-09-26 08:11:00 +00:00
Thaweesak Chusri
c4784c6695
✏️ fixed typo from StaticPairlist to StaticPairList
2022-09-26 11:05:27 +08:00
Wagner Costa Santos
5880f7a638
backtest_live_models - params validation and get timerange from live models in BT
2022-09-25 23:14:00 -03:00
Matthias
0c810868de
Add Dataprovider to pairlist
2022-09-25 09:22:21 +02:00
Matthias
585342f193
Merge pull request #7454 from freqtrade/fix_backtesting_dfsize_freqai
...
Ensure the DF has the same size in backtesting FreqAI
2022-09-24 16:17:39 +02:00
paranoidandy
2cc00a1a2c
Allow use of --strategy-list with freqai, with warning ( #7455 )
...
* Allow use of --strategy-list with freqai, with warning
* ensure populate_any_indicators is identical for resused identifiers
* use pair instead of metadata["pair"]
Co-authored-by: robcaulk <rob.caulk@gmail.com>
2022-09-24 13:21:01 +02:00
Wagner Costa Santos
b1dbc3a65f
remove function remove_training_from_backtesting and ensure BT period is correct with startup_candle_count
2022-09-22 12:13:51 -03:00
Matthias
994c1c5ea0
use Config typing in more places
2022-09-18 13:31:52 +02:00
Matthias
667853c504
Use Alias to type config objects
2022-09-18 13:20:55 +02:00
Matthias
e5368f5a14
backtesting confirm_trade_entry should pass correct amount, not stake-amount
...
closes #7423
2022-09-16 13:24:20 +00:00
Matthias
982c0315fa
Rename variable
2022-09-11 19:31:11 +02:00
Matthias
72d197a99d
Run first epoch in non-parallel mode
...
this allows dataprovider to load it's cache.
closes #7384
2022-09-11 17:51:07 +02:00
Matthias
78cd46ecd5
hyperopt Remove unnecessary arguments
2022-09-11 14:59:39 +02:00
Matthias
32e13d65c3
Refactor hyperopt to extract evaluate_result
2022-09-11 14:59:39 +02:00
Matthias
a48923c0e4
Extract widget colorization to separate function
2022-09-11 14:59:39 +02:00
Matthias
37fcbeba58
Update backtesting output wording to Entries
2022-09-09 19:58:55 +02:00
Matthias
4d69df08dd
trunc to amount precision before checking valid partial exits
...
closes #7368
2022-09-07 06:43:08 +02:00
Matthias
98ec84fca6
Merge pull request #7339 from freqtrade/fix/fundingfee_handling
...
Fix/fundingfee handling
2022-09-06 19:21:40 +02:00
Matthias
4dec19de9f
Add comment to explain why we use the non-trimmed DF
2022-09-06 06:52:50 +02:00
Italo
9f5642fd97
fix hyperopt df preprocessing
2022-09-05 18:12:19 +02:00
Matthias
df50b1928d
Fix funding fee calculation for backtesting
2022-09-03 15:01:42 +02:00
Matthias
a88ffd2c9d
Merge branch 'develop' into move_datadownload
2022-08-31 10:23:45 +00:00
Matthias
226fa5d93c
Simplify liquidation price calling structure
2022-08-29 07:04:48 +02:00
Matthias
6686489c06
Merge pull request #7258 from freqtrade/feat/hyp_optinal_indicator
...
Add flag to move hyperopt populate_indicators to epoch
2022-08-27 09:21:16 +02:00
Matthias
2b70c3d0c0
support price callback for partial exits in bt
...
This will align results to how live works.
closes #7292
2022-08-27 08:50:09 +02:00
Matthias
01126c43f7
Fix liquidation price tier calculation
...
closes #7294
2022-08-26 20:14:24 +02:00
robcaulk
4b7e640f31
reduce code duplication, optimize auto data download per tf
2022-08-26 13:56:44 +02:00
Matthias
53d46a0385
align max_entry_position_adjustment
behavior of backtesting to live
...
closes #7293
2022-08-25 20:36:17 +02:00
Matthias
6636f17e0f
Simplify usage of amount_to_contract precision
2022-08-25 07:08:22 +02:00
Matthias
32faad9333
Fix backtest calculation problem with DCA
...
closes #7287
2022-08-24 20:36:08 +02:00
Matthias
fe7108ae75
Convert amount to contracts before comparing for close
...
closes #7279
2022-08-23 06:37:38 +02:00
robcaulk
ac42c0153d
deprecate indicator_max_period_candles, automatically compute startup candles for FreqAI backtesting.
2022-08-22 18:19:07 +02:00
Matthias
f6d832c6d9
Add get_option to expose ft_has via method
2022-08-21 17:51:46 +02:00
Matthias
5b3f031590
Use hyperopt safe amount precision method
2022-08-20 14:13:15 +02:00
Matthias
0da0600836
Have backtesting respect tradable size
...
closes #7161
2022-08-20 11:41:11 +02:00
Matthias
aa3da092a0
Dont' use classProperty - that's not supported on 3.8
2022-08-20 10:55:52 +02:00
Matthias
bc359675a2
Add --analyze-per-epoch - moving populate_analysis to the epoch process
2022-08-19 15:19:43 +02:00
Matthias
09f8904545
Extract analysis to separate method
2022-08-19 15:12:55 +02:00
Matthias
08ef5ad2d8
Add HyperoptState enum and container class
2022-08-19 15:11:43 +02:00
Matthias
83ca168bb8
Merge pull request #7216 from freqtrade/precise_calcs
...
Precise calcs
2022-08-17 14:32:02 +02:00
Matthias
0b0e7eaf96
Mutex TTL Cache accesses which can be accessed by multiple threads
...
Apparently, cachetools is (intentionally) not threadsafe
when using the Caches directly.
It's therefore recommended to wrap these with an explicit lock to avoid
problems.
source: https://github.com/tkem/cachetools/issues/245
closes #7215
2022-08-16 19:48:21 +02:00
Matthias
fa89368c02
Add test for precision backpopulation
2022-08-16 11:11:52 +02:00
Matthias
15a1c59a91
Backtesting should cache precisionMode
2022-08-16 10:15:19 +02:00
Matthias
711b6b1a1a
Merge branch 'develop' into precise_calcs
2022-08-16 09:29:39 +02:00
Matthias
c3f159bd57
Add precision fields to database
2022-08-15 19:58:40 +02:00
Matthias
3b827ee60a
Add "freqai.enabled" flag to disable freqAI via config flag
...
aligns with how other optional modules work in freqtrade.
2022-08-13 09:24:04 +02:00
Matthias
f6545ebdb8
Disallow backtesting with --strategy-list for now.
2022-08-13 09:10:03 +02:00
Matthias
9a82898d6b
Merge branch 'develop' into feat/freqai
2022-08-09 06:22:57 +02:00
robcaulk
26de992d20
ensure user sets startup candles in backtesting mode
2022-08-05 12:23:14 +02:00
Matthias
d75e0a9820
Fix Flake8 errors after flake update
2022-08-01 06:43:59 +02:00
Kavinkumar
a4bada3ebe
Partial exit using average price ( #6545 )
...
Introduce Partial exits
2022-07-31 14:19:04 +02:00
Matthias
d046f0cc5e
Improve method wording for liquidation price setter
2022-07-30 16:11:31 +02:00
Matthias
8711b7d99f
Liquidations cannot be rejected.
2022-07-30 16:10:16 +02:00
Matthias
995be90f91
Liquidation should be a separate exit type
2022-07-30 16:10:16 +02:00
Matthias
61c41fd919
Merge branch 'develop' into feat/freqai
2022-07-24 16:18:58 +02:00
Matthias
2eb1d18c2a
Don't load leverage tiers when not necessary
2022-07-23 19:56:38 +02:00
Matthias
f6bfd89cef
Merge branch 'develop' into feat/freqai
2022-07-16 18:14:34 +02:00
Matthias
40e2da10f3
Add hypeorpt cloudpickle magic
...
closes #7078
2022-07-16 11:49:33 +02:00
Matthias
e52f82b565
Add leverage to custom_stake_amount callback
...
closes #7047
2022-07-08 19:44:20 +02:00
robcaulk
a6077ac7f4
Merge feat/freqai into develop to get new features
2022-07-03 16:17:13 +02:00
Matthias
07aa372e2a
Ensure bot_loop_start is called in hyperopt, too
...
closes #7001
2022-07-03 14:10:59 +02:00
Matthias
2b07d34611
Revert several undesired changes
2022-06-23 20:47:51 +02:00
Matthias
8bf0bf10c5
Merge branch 'develop' into pr/SmartManoj/6859
2022-06-23 20:43:35 +02:00
Matthias
bb61250bfe
Merge pull request #6987 from freqtrade/profit_metrics
...
Profit metrics
2022-06-18 17:20:20 +02:00
Matthias
474e6705e6
Add Profit factor to backtesting
2022-06-18 16:35:40 +02:00
Matthias
8c46d19071
Fix backtesting bug
...
balance was never released on cancelled trades
2022-06-18 16:27:54 +02:00
Matthias
6a15d36d14
Add Drawdown and profit_factor to /profit
...
#6816
2022-06-18 11:14:28 +02:00