Commit Graph

846 Commits

Author SHA1 Message Date
Matthias
3eb3596552 Simplify trades_data storing 2023-08-18 09:36:16 +02:00
Matthias
5de3b9d7ae Clean up no longer used method 2023-08-18 09:31:17 +02:00
Matthias
fae742de59 Fix imports 2023-08-18 09:12:40 +02:00
Matthias
fa5f7d290b Update download-trades method to work with dataframes 2023-08-18 09:08:10 +02:00
Matthias
7577613882 Extract trades df type conversion 2023-08-18 09:08:10 +02:00
Matthias
0fab65df03 Set explicit dtypes 2023-08-18 09:08:10 +02:00
Matthias
f69a776305 Ensure only relevant columns are stored 2023-08-18 09:08:10 +02:00
Matthias
26c89d89e4 Keep original timestamp in dataframe 2023-08-18 09:08:10 +02:00
Matthias
d97d0e4426 Extract trades DF creation to converter function 2023-08-18 07:02:46 +02:00
Matthias
357b04202c Datahandlers should store data from dataframes 2023-08-17 20:11:18 +02:00
Matthias
6fc1ee9831 trades_append should use dataframe, not lists 2023-08-17 18:06:25 +02:00
Matthias
780f238904 Fix trades duplicates if trade id is different 2023-08-17 18:04:13 +02:00
Matthias
5d5cc71945 Fix pandas duplication detection, improve test 2023-08-17 17:53:08 +02:00
Matthias
0be2250cf5 Keep existing trades_remove_duplicates for now 2023-08-17 17:23:12 +02:00
Matthias
53db254cba don't cascade calls, that creates an additional call 2023-08-17 17:22:02 +02:00
Matthias
7ac9d33c31 Default should return a dataframe, not an empty list. 2023-08-17 10:00:11 +02:00
Matthias
ac80a69142 Update converters for trades dataframe handling 2023-08-17 10:00:11 +02:00
Matthias
46882406be Update Datahandlers to work with trades data as dataframes 2023-08-17 10:00:11 +02:00
Matthias
161ab14ed0 Avoid lookahead bias through informative pairs in callbacks 2023-08-15 17:48:07 +02:00
Matthias
6f347b839a Remove optionality from timeframe parameter
(it was never optional, and code was failing if it wasn't provided).
2023-08-15 17:31:56 +02:00
Matthias
78972604d0 Allow metadata file updating 2023-08-03 06:17:05 +02:00
Matthias
2f95c44777 Add "notes" to backtest result output 2023-08-03 06:17:05 +02:00
Matthias
30f6f470d3 Add filename to backtest result metadata 2023-07-31 21:22:22 +02:00
Matthias
c836bd8fa5 Add Get_backtest_resultlist typing 2023-07-31 21:22:22 +02:00
Matthias
f546ee6569 Use list comprehension to get backtest-history 2023-07-31 21:22:22 +02:00
Matthias
1a1103c239 Add backtest-result typing 2023-07-30 10:54:03 +02:00
Matthias
6659d26131 Merge branch 'develop' into dataformat/feather 2023-07-29 20:04:12 +02:00
Matthias
79910870a3 Fix bug resampling monthly candles
closes #8972
2023-07-29 08:58:30 +02:00
Matthias
2fcff78756 Move comment to actually relevant line 2023-07-26 07:07:21 +02:00
Matthias
05e4b63091 Extract backtest_result deletion logic to separate function 2023-07-25 20:42:07 +02:00
Matthias
8b2abf4422 Remove .json from backtesting output 2023-07-25 20:41:28 +02:00
Matthias
787e94924d Update default expectancy ratio to 100 2023-07-23 07:20:59 +02:00
Matthias
955a63725a Improve resiliance when showing older backtest results 2023-07-22 19:43:20 +02:00
Stefano Ariestasia
e5f01ab2e8 pre-commit fix 2023-07-22 17:45:58 +09:00
Stefano Ariestasia
40d7d05e4e merge 2 expectancy functions 2023-07-22 17:29:43 +09:00
Stefano Ariestasia
c6ee8fcf54 remove unused check 2023-07-22 12:20:35 +09:00
Stefano Ariestasia
ee3b69ea63 fix test 2023-07-22 11:37:22 +09:00
Stefano Ariestasia
cfd8b068e7 add test for expectancy 2023-07-22 11:25:53 +09:00
Stefano Ariestasia
8621dc96e7 fix tests 2023-07-22 09:44:24 +09:00
Stefano Ariestasia
4812bcc28b flake8 fiz 2023-07-22 09:13:24 +09:00
Stefano Ariestasia
c048e7229a modify expectancy and expectancy ratio 2023-07-22 08:36:51 +09:00
Matthias
4369e3cdeb trim_dataframe should enforce kwargs for non-required arguments 2023-07-21 20:33:41 +02:00
Matthias
b593205ad9 No need to use .get() for properties with default values 2023-07-12 18:29:12 +02:00
Matthias
4d3740d4ce Update default datahandler class 2023-07-12 18:23:30 +02:00
Matthias
cca8c4e5b8 Update default dataformat to feather 2023-07-12 18:23:30 +02:00
Matthias
448f02960f Improve behavior for convert-data 2023-07-09 15:36:44 +02:00
Matthias
5a43dd4766 don't hard-default --timeframes via argparse 2023-07-09 15:32:51 +02:00
Matthias
a9e239ca7a Don't use future date for downloading new trade data
closes #8860
2023-07-07 11:23:34 +02:00
Matthias
942f0b4fbd Move format_ms_time to datetime_helpers 2023-07-07 08:59:07 +02:00
Matthias
0be4084eac Don't allow downloading wrong pairs
Prior to this, BTC/USDT:USDT could be downloaded to the spot directory, as it was filtered inproperly.
2023-06-17 18:14:58 +02:00
Matthias
66b34edc0b Clarify variable name 2023-06-17 18:03:57 +02:00
Matthias
7453ff2fb5 Migrate download-data out of commands section 2023-06-17 17:53:12 +02:00
Matthias
e0d5242a45 Reduce download-data verbosity 2023-06-17 17:53:12 +02:00
Matthias
fc11c79b77 Fix not working date format output 2023-06-11 08:51:20 +02:00
Matthias
1d03e8bc5f Reduce arrow usage further 2023-05-18 07:00:36 +02:00
Matthias
6e395ad7c9 Refactor methods in backtesting 2023-04-28 16:09:09 +02:00
Matthias
0753f427b1 Simplify storage 2023-04-28 15:29:15 +02:00
Matthias
e20d9c8f98 Impoved errorhandling, better typesafety 2023-04-28 15:25:25 +02:00
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