Commit Graph

788 Commits

Author SHA1 Message Date
Matthias
fc2a3c9f17 Implement further improvements, improve typehinting 2023-04-28 15:17:35 +02:00
Matthias
8dd8c24595 Merge branch 'develop' into pr/froggleston/7861 2023-04-28 14:59:03 +02:00
Matthias
76ae539e61 Minor edit 2023-04-28 14:59:00 +02:00
Matthias
e2cd23b1d2 Remove deprecated pandas option 2023-04-10 16:33:56 +02:00
Matthias
8ae44c204e
Merge pull request #8361 from TheJoeSchr/feature/trades-feather
featherdatahandler: implement trades_store/_trades_load
2023-03-27 21:05:30 +02:00
Matthias
ed0e7ead31 Fix wrong import 2023-03-27 20:36:05 +02:00
Matthias
3928051baf Revert unneeded formatting changes 2023-03-27 20:35:26 +02:00
Matthias
ad58bac810 Type WS messagetypes 2023-03-24 20:54:28 +01:00
Joe Schr
e16db814fa featherdatahandler: implement trades_store/_trades_load 2023-03-21 17:56:51 +01:00
Matthias
cd9c2c4c23 Merge branch 'develop' into pr/froggleston/7861 2023-03-19 15:00:20 +01:00
Matthias
d45599ca3b Fix some type errors 2023-03-15 21:09:25 +01:00
Matthias
764001a4c2 Don't reuse variable 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
Joe Schr
7d906fd4c2 refactor(if-gate): use temp variable instead of if-gate 2023-02-23 10:58:43 +01:00
Matthias
ecff21ac21 type Orderbook 2023-02-15 07:01:36 +01:00
Matthias
1dc3c58775 Convert missing candle count to int
closes #8082
2023-01-31 11:04:56 +00:00
Matthias
410324ac19 time-jump detection should happen on the trimmed dataframe
Fixes comment in #7615
2023-01-31 10:13:21 +00:00
Matthias
8108a48f39 Follow PEP 484 - no implicit optionals 2023-01-21 20:01:56 +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
froggleston
813724bd82 Add a new analysis group to output stats grouped by exit_tag 2023-01-16 13:28:40 +00:00
Antonio Della Fortuna
b0f1d914c8 Changed max_open_trades type to int or inf 2023-01-15 11:44:10 +01:00
Matthias
ee7b505dcb Add data migration method 2023-01-12 20:59:43 +01:00
Stefano Ariestasia
329d95366a
Merge branch 'freqtrade:develop' into bt-metrics 2023-01-06 08:04:00 +08:00
Matthias
6470635753 In cases of no losing trade, sortino ratio can't be calculated.
closes #7977
2023-01-04 17:55:24 +01:00
Matthias
6f031f005d Fix flake error 2023-01-03 20:29:08 +01:00
zhanglei14
63db1fd894 Fix Backtesting Analysis Column Wrong 2023-01-04 01:38:07 +08:00
Stefano Ariestasia
5188464fc0 fix typo 2022-12-31 02:03:02 +09:00
Matthias
32bbe603cb Fix sortino std calculation 2022-12-28 14:59:49 +01:00
Matthias
d5b516842c Fix 2 docstrings 2022-12-28 14:44:23 +01:00
Matthias
02eb00fa33 Merge branch 'develop' into pr/stash86/7810 2022-12-28 14:04:54 +01:00
Matthias
cd4faa9c59 keep max_stake_amount through backtests 2022-12-27 18:08:20 +01:00
Matthias
63f114395a is_short should be a boolean 2022-12-26 14:02:47 +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
ca2a878b86 Update test naming 2022-12-14 20:06:55 +01:00
Matthias
fa260e6560 Move "replace or append" decision to dataprovider 2022-12-14 19:56:54 +01:00
Matthias
a693495a6d Improve external_candle aggregation 2022-12-12 22:47:35 -07:00
Timothy Pogue
414c0ce050 change unused var 2022-12-12 22:47:35 -07:00
Timothy Pogue
6717dff19b update overlapping candle handling, move append to misc 2022-12-12 22:47:35 -07:00
Timothy Pogue
0602479f7d minor changes, update candle appending to support overlaps 2022-12-12 22:47:35 -07:00
Timothy Pogue
0d5b2eed94 fix same candle handling 2022-12-12 22:47:35 -07:00
Timothy Pogue
ccd1aa70a2 change log calls to debug, handle already received candle 2022-12-12 22:47:35 -07:00
Timothy Pogue
c050eb8b8b add candle difference calculation to dataprovider 2022-12-12 22:47:35 -07:00
Timothy Pogue
d2c8487ecf update add_external_candle, fix breaking on ping error, handle empty dataframes 2022-12-12 22:47:35 -07:00
Timothy Pogue
36a00e8de0 update add_external_candle returns 2022-12-12 22:47:35 -07:00
Timothy Pogue
4cbb3341d7 change how missing candles will be handled 2022-12-12 22:47:35 -07:00
Timothy Pogue
9660e445b8 use new channel apis in emc, extend analyzed df to include list of dates for candles 2022-12-12 22:47:35 -07:00
froggleston
6f08b610d6 Merge branch 'develop' of github.com:froggleston/freqtrade into reject_report 2022-12-08 18:48:33 +00:00
froggleston
f5359985e8 Make CLI option and docs clearer that we're handling signals not trades 2022-12-08 18:47:09 +00:00
Stefano Ariestasia
89c7c2fec6 isort fix 2022-12-07 18:09:57 +09:00
Stefano Ariestasia
611e35ed81 flake8 fix 2022-12-07 15:47:58 +09:00
Matthias
24edc276ea Simplify new_candle message 2022-12-05 19:46:39 +01:00
Matthias
5e533b550f Emit a simple "new candle" message to allow UI's to refresh charts 2022-12-05 18:19:19 +01:00
froggleston
5a4e99b413 Add support for collating and analysing rejected trades in backtest 2022-12-05 15:34:31 +00:00
Stefano Ariestasia
f410b1b14d Update metrics.py 2022-11-28 08:56:49 +09:00
froggleston
1a3f88c7b9 Replace separate start/end date option with usual timerange option 2022-11-27 11:30:13 +00:00
froggleston
4790aaaae1 Implement cli options for backtesting-analysis date filtering 2022-11-26 16:58:56 +00:00
froggleston
391817243c Tidy up complex functions 2022-11-25 16:12:15 +00:00
Robert Caulk
cd6f87be17
Merge pull request #7728 from freqtrade/improve_timerange
Simplify timerange handling
2022-11-17 19:57:48 +01:00
robcaulk
214c622475 move dataframe converter to converter.py 2022-11-12 10:38:25 +01:00
Matthias
57313dd961 Update some usages of timerange to new, simplified method 2022-11-10 18:11:39 +01:00
Matthias
d48a9ae96d Add leverage to backtest results
closes #7574
2022-11-06 09:40:44 +01:00
Matthias
6e09d552ac Properly handle and test ohlcv min_max with empty files 2022-11-05 13:14:35 +01:00
Matthias
547fd28811 Price-jump detection should only run once 2022-10-22 08:43:37 +02:00
Matthias
0ff7a0771d Move price_jump_warn to dataloading
it's not relevant for live data, and should only run when loading data
from disk.
2022-10-22 08:37:30 +02:00
Matthias
60cb11a44d Add price jump warning 2022-10-20 19:36:28 +02:00
Matthias
00965d8c06 Default to assume stored data only contains complete candles
closes #7468
2022-09-29 19:18:52 +02: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
Matthias
ba8c714698 Require kwargs on ohlcv_load 2022-09-26 20:33:49 +02:00
Matthias
f4fac53a13
Merge pull request #7458 from xmatthias/dataformat/feather
new Dataformats feather and Parquet
2022-09-25 09:00:22 +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
Matthias
166ae8e3a1 Remove missleading comment 2022-09-24 15:51:20 +02:00
Matthias
7e1e388b9c Add feather/parquet docs 2022-09-23 18:24:30 +02:00
Matthias
48352b8a37 Update hdf5 handler to reset index on load 2022-09-23 14:49:17 +00:00
Matthias
dc2b93228b Add ParquetDataHandler 2022-09-23 07:18:18 +02:00
Matthias
3c0d2c446d Add Feather datahandler (no trade mode yet) 2022-09-23 07:18:18 +02:00
Matthias
1db8421b9d
Merge pull request #7303 from wizrds/feat/externalsignals
Producer/consumer mode
2022-09-23 06:29:58 +02:00
Matthias
1626eb7f97 Update dataprovider function name to get_producer_df 2022-09-22 20:46:40 +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
Timothy Pogue
0811bca8b4 revise docs, update dp method docstring 2022-09-21 15:50:11 -06:00
Matthias
8a91c8e220 Sort and dedup pairs before data conversion 2022-09-20 13:36:28 +00:00
Matthias
914eccecec Merge branch 'develop' into pr/wizrds/7303 2022-09-20 06:56:15 +02:00
Matthias
703bcc099a Fix list-pair regex to also support 1INCH/USDT 2022-09-19 20:32:54 +02:00
Matthias
8116ca847b move trades_get_pairs to parent class 2022-09-18 19:40:03 +02:00
Matthias
a06eee300a move ohlcv_get_pairs to parent class 2022-09-18 19:36:23 +02: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
Timothy Pogue
efaef68ad7 Merge branch 'develop' into feat/externalsignals 2022-09-15 18:09:25 -06:00
Timothy Pogue
bf2e5dee75 add running false on shutdown, fix dp typing 2022-09-12 14:21:39 -06:00
Timothy Pogue
c19a5fbe06 copy data being transferred, remove debug messages in emc 2022-09-12 13:57:29 -06:00
Timothy Pogue
a477b3c244 remove log line, fix tests to not connect to actual ip 2022-09-12 10:45:59 -06:00
Timothy Pogue
10852555e5 change verbosity of testing log 2022-09-12 09:53:47 -06:00
Timothy Pogue
457075b823 one more line 2022-09-12 07:47:30 -06:00
Timothy Pogue
85b43a7c34 Merge branch 'develop' into feat/externalsignals 2022-09-12 07:28:08 -06:00
Matthias
715a71465d Fix auth bug when no token is set 2022-09-12 07:28:31 +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
9c8c7a03a1 Improve typehint 2022-09-11 14:59:39 +02:00
Timothy Pogue
0f8eaf98e7 Merge branch 'develop' into feat/externalsignals 2022-09-10 15:14:10 -06:00
Matthias
97be3318f4 Use Datetime_format from constants 2022-09-09 20:31:02 +02:00
Timothy Pogue
a50923f796 add producers attribute to dataprovider 2022-09-07 17:14:26 -06:00
Timothy Pogue
5934495dda add websocket request/message schemas 2022-09-07 15:08:01 -06:00
Timothy Pogue
3535aa7724 add last_analyzed to emitted dataframe 2022-09-06 12:12:05 -06:00
Timothy Pogue
cd8455ccb7 Merge branch 'develop' into feat/externalsignals 2022-09-05 15:10:25 -06:00
Timothy Pogue
07f806a314 minor improvements, fixes, old config+constant removal 2022-09-04 10:22:10 -06:00
Timothy Pogue
1601868854 dataprovider fix, updated config example 2022-09-04 09:42:43 -06:00
Timothy Pogue
dccde88c83 fix dataframe serializing 2022-09-01 23:15:03 -06:00
Timothy Pogue
00f35f4870 remove old constant, add initial_data requesting, minor changes 2022-09-01 20:06:36 -06:00
Timothy Pogue
865b34cd6f add producer names 2022-08-31 11:43:02 -06:00
Timothy Pogue
510cf4f305 remove data waiting, remove explicit analyzing of external df 2022-08-31 10:40:26 -06:00
Matthias
a88ffd2c9d Merge branch 'develop' into move_datadownload 2022-08-31 10:23:45 +00:00
Timothy Pogue
ddc45ce2eb message handling fix, data waiting fix 2022-08-30 19:30:14 -06:00
Timothy Pogue
346e73dd75 client implementation, minor fixes 2022-08-30 19:21:34 -06:00
Timothy Pogue
2b5f067877 Refactoring, minor improvements, data provider improvements 2022-08-26 23:40:13 -06:00
robcaulk
65b552e310 make docs reflect reality, move download_all_data to new utils.py file, automatic startup_candle detection 2022-08-26 15:30:01 +02:00
robcaulk
4b7e640f31 reduce code duplication, optimize auto data download per tf 2022-08-26 13:56:44 +02:00
Timothy Pogue
d474111a65 Renamed to external signals, controller class refactored 2022-08-24 22:42:29 -06:00
Matthias
a6d78a8615 initialize Since parameter properly
closes #7285
2022-08-23 06:43:04 +02:00
robcaulk
ac42c0153d deprecate indicator_max_period_candles, automatically compute startup candles for FreqAI backtesting. 2022-08-22 18:19:07 +02:00
Timothy Pogue
6f5478cc02 DataFrame transmission, strategy follower logic 2022-08-21 22:45:36 -06:00
Matthias
f6d832c6d9 Add get_option to expose ft_has via method 2022-08-21 17:51:46 +02:00
Matthias
b7553d20d4 Get min/max data in list-data command 2022-08-19 13:45:55 +02:00
Matthias
7d84ef2e2c Remove unused imports 2022-08-19 13:45:10 +02:00
Matthias
b420614d65 Reduce code duplication in datahandlers 2022-08-19 09:33:07 +02:00
Matthias
975bf8fe88 Update Docstring to match actual return values 2022-08-19 09:23:53 +02:00
Matthias
0461a89348 Fix test failures 2022-08-18 07:20:49 +02:00
Matthias
66910bfe63 Don't fail if mark candles are missing
closes #7239
2022-08-17 20:01:57 +02:00
Matthias
adc8ee88e2 Move periodicCache to Utils package 2022-08-10 08:57:19 +00:00
Matthias
7bac054668 Add documentation and clarity for send_msg 2022-07-26 20:24:52 +02:00
Matthias
229e8864bb Add send_msg capability to dataprovider 2022-07-26 20:15:49 +02:00
Matthias
017fd03180 Fix but with late entries in backtesting 2022-06-18 09:05:22 +02:00
Matthias
ec40e79362
Merge pull request #6874 from froggleston/buy_reasons
Buy reasons
2022-06-15 19:06:00 +02:00
froggleston
14110bd5ca Merge branch 'buy_reasons' of github.com:froggleston/freqtrade into buy_reasons 2022-06-15 11:25:24 +01:00
froggleston
c391ca08de Change backtesting-analysis options to space separated lists 2022-06-15 11:25:06 +01:00
Matthias
29d8aeb9b3 Don't fail on invalid parameter 2022-06-15 07:13:47 +02:00
froggleston
6bb342f23a Add export-filename support 2022-06-14 16:54:27 +01:00
Matthias
0b806af487 Add orders column to btresult 2022-06-06 10:59:10 +02:00
Matthias
79107fd062 Add minimal order object serialization 2022-06-05 22:12:27 +02:00
froggleston
9a068c0b14 Add test for each analysis group, remove default table output if not indicator-list 2022-05-29 16:25:31 +01:00
froggleston
df1c36e5aa Change command name, use load_backtest_stats for strategy resolving 2022-05-29 11:54:27 +01:00
froggleston
c59209a01a Merge branch 'buy_reasons' of github.com:froggleston/freqtrade into buy_reasons 2022-05-29 11:20:32 +01:00
froggleston
e7c5818d16 First pass changes for cleaning up 2022-05-29 11:20:11 +01:00
Matthias
43b7955fc2 Fully rely on pathlib 2022-05-26 19:37:55 +02:00
froggleston
2873ca6d38 Add cleanup, adjust _print_table for indicators, add rsi to test output 2022-05-25 09:57:12 +01:00
froggleston
3adda84b96 Update docs, add test 2022-05-24 20:27:15 +01:00
froggleston
8c03ebb78f Fix group 0 table, add pathlib.Path use 2022-05-24 12:48:13 +01:00
froggleston
ae1ede58da Fix import order 2022-05-24 11:47:26 +01:00
froggleston
9488e8992d First commit for integrating buy_reasons into FT 2022-05-24 11:47:25 +01:00
Matthias
904f094b80 Don't reassign method, but implement it properly 2022-05-24 06:59:54 +02:00
Matthias
eb5fe9e3ae
Merge pull request #6857 from froggleston/develop
Add support for fudging unavailable funding rates, allowing backtesti…
2022-05-23 06:31:51 +02:00
Matthias
a3d9384bc0 Remove clean-dry-run code 2022-05-19 06:56:34 +02:00
froggleston
37e4ede65c Fix flake issues 2022-05-17 22:32:17 +01:00
froggleston
bb758da940 Add support for fudging unavailable funding rates, allowing backtesting of timeranges where futures candles are available, but rates are not 2022-05-17 22:05:33 +01:00
Matthias
76637d3939 Simplify timeframe-transition 2022-05-16 20:10:52 +02:00
Matthias
2e65a1793d Add fallback to load 1M files as well as 1Mo files 2022-05-16 19:48:27 +02:00
Matthias
a1048fb619 Store monthly candles as "Mo" 2022-05-16 19:39:43 +02:00
Matthias
88c8fe5570
Merge pull request #6715 from nicolaspapp/feat/relative-drawdown
Add relative drawdown
2022-05-02 21:09:14 +02:00
Matthias
1e2523af61 Fix some assumptions on the data
available_capital is not guaranteed to be available, while dry-run-wallet is.
2022-05-02 19:44:14 +02:00
Matthias
2a6efab8a2 Don't use deprecated abstractclassmethod decorator 2022-05-02 06:24:52 +00:00
Nicolas Papp
f9244aad92 Fix on max drawdown formula to match tests 2022-05-01 12:25:53 -03:00
Matthias
53a2f55cf0 Merge branch 'develop' into pr/nicolaspapp/6715 2022-05-01 10:03:10 +02:00
Matthias
8b5d454b50 Fix subtle bug in trades download 2022-04-30 17:44:57 +02:00
Matthias
e49b3ef051 Improve message formatting 2022-04-30 17:35:11 +02:00
Matthias
f6a7e6b785 Add prepend option to download-data 2022-04-30 17:32:50 +02:00
Matthias
11d447cd5a Add support for download-data "until" 2022-04-30 15:42:41 +02:00
Matthias
c6c569b772 chore: split BTAnalyais to metrics 2022-04-30 14:47:27 +02:00
Matthias
4262f84744 Merge branch 'develop' into pr/nicolaspapp/6715 2022-04-30 14:22:18 +02:00
Matthias
fbd142844f Refactor bt-caching stuff to it's own module 2022-04-29 19:37:13 +02:00
Matthias
4143ebbeae Add CAGR calculation to backtesting 2022-04-25 10:51:11 +02:00
Nicolas Papp
e8aec967dd Update on note 2022-04-24 17:42:52 -03:00
Nicolas Papp
086cc6be93 Correction on tests 2022-04-24 17:37:09 -03:00
Nicolas Papp
0f943c482b PEP8 code compliance 2022-04-23 13:15:14 -03:00
Matthias
f89b64c972 Improve test by having multistrat.meta file available 2022-04-13 07:09:26 +02:00
Matthias
4ac54a76af Add strategy as mandatory argument 2022-04-13 06:47:39 +02:00
Nicolas Papp
c8e4687833 Plots and hyperopt 2022-04-11 16:41:48 -03:00
Matthias
d9039152ba Add "get backtest historic results" endpoint 2022-04-11 19:44:47 +02:00
Nicolas Papp
178240aa6c Merge branch 'develop' of https://github.com/nicolaspapp/freqtrade into feat/relative-drawdown 2022-04-11 14:42:10 -03:00
Nicolas Papp
47a6ef4f00 Max relative drawdown 2022-04-10 12:53:47 -03:00
Matthias
cd2e49bb60 Simplify downloading futures data code 2022-04-10 09:53:33 +02:00
Matthias
95f69a8c3b Remove some outdated TODO's 2022-04-10 09:53:33 +02:00
Matthias
543aa74278 update sell_reason to exit_reason 2022-04-02 20:04:29 +02:00
Matthias
30cff1bd2c Update hdf5 to not raise naturalNaming warnings 2022-03-27 16:39:34 +02:00
Matthias
fa3c00c673 Remove some default arguments in history_utils 2022-03-22 07:20:21 +01:00
Matthias
9bcc79e118 Use parsed TradingMode from config 2022-03-03 07:06:13 +01:00
Matthias
c5cf73e67b hdf5 datahandler should also create directory 2022-03-02 19:41:14 +01:00
Matthias
0c6d92a7a6 Merge branch 'develop' into feat/short 2022-02-11 17:02:04 +01:00
Matthias
64d0c75bbb Fix deprecation warnings 2022-02-01 19:11:51 +01:00
Matthias
ab932d8398 Properly detect default candle type 2022-01-29 14:31:58 +01:00
Matthias
88ccfedd32 Improve wording of "no history found" error 2022-01-26 06:53:00 +01:00
Matthias
f090dcc597 Merge branch 'develop' into feat/short 2022-01-22 17:56:01 +01:00
Matthias
bb1d8fb54f Improve message when no hyperopt fie is found
closes #6266
2022-01-21 15:24:26 +01:00
Matthias
d319204dea Add note about legacy metadata format 2022-01-19 20:08:09 +01:00
Rokas Kupstys
5fffc5033a Rework backtesting --no-cahche to --cache=[none, day, week, month].
Fix an issue where config modification during runtime would prevent use of cached results.
2022-01-19 11:44:35 +02:00
Rokas Kupstys
16861db653 Implement previous backtest result reuse when config and strategy did not change. 2022-01-15 17:30:40 +02:00
Matthias
2fb9e7940a Improve "missing data" message 2022-01-08 14:39:09 +01:00
Matthias
522496d9e2 Add Compatibility code for BT_DATA_COLUMNS 2022-01-07 17:17:35 +01:00
Matthias
46809f08fe Merge branch 'develop' into feat/short 2022-01-07 10:13:16 +01:00
Matthias
d64f9030c1 Remove now unused codesegment 2022-01-07 08:04:01 +01:00
Matthias
b3a4ecaf77 Remove old backtest format support 2022-01-06 19:49:25 +01:00