Commit Graph

630 Commits

Author SHA1 Message Date
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
Matthias a0f9c1bf7b Avoid failure when calculating max-drawdown
occurs if if no winning trade is recorded.
2022-01-06 13:51:15 +01:00
Matthias 4e2b9203d7 Remove no longer used BT_DATA_COLUMNS_MID 2022-01-05 20:40:59 +01:00
Sam Germain 501f473164 Merge branch 'develop' into feat/short 2022-01-04 22:47:33 -06:00
Matthias 7a2b50ce8b Update drawdown calculation to account drawdown 2022-01-04 17:07:31 +01:00
Matthias ddfbe55e7c Merge branch 'develop' into feat/short 2022-01-01 19:16:49 +01:00
Matthias 78ba2d3fc7 Add underwaterplot calculation to btanalysis 2022-01-01 14:39:58 +01:00
Matthias 9becd20f20 Improve "Missing data" messages 2022-01-01 10:37:58 +01:00
Matthias bd98637ae9 Fail gracefully from plot-profit when no data is provided
closes #6132
2021-12-30 10:14:45 +01:00
Matthias 1871165d21
Merge pull request #6127 from wadedyck/download_data_futures_fix
Download data futures fix
2021-12-29 19:08:38 +01:00
Wade Dyck 5743b3a0b7 When getting analyzed dataframes, use candle_type_def in the pair_key as that's how they're cached. 2021-12-27 13:29:25 -07:00
Wade Dyck 5b3f907b0c Fixes a download_data bug when in futures mode.
When specifying multiple pairs to download, the json filenames were
inconsistent due to the reassignment of candle_type. Also adds the
candle_type being downloaded to a log message.
2021-12-27 11:16:38 -07:00
Matthias ddce28c12d Update data downloading to include funding_fee downloads 2021-12-18 15:32:02 +01:00
Matthias 2679744228 Explicit test for candletype get_default 2021-12-08 16:20:26 +01:00
Matthias 35afc7b478 Fix wrong tradingMOde comparison 2021-12-08 16:07:27 +01:00
Matthias 9b9d61c6d6 Remove SPOT_ candletype 2021-12-08 14:38:09 +01:00
Matthias d89cbda7b8 Use `candle_type_def` where possible 2021-12-08 14:15:54 +01:00
Matthias 222c293602 Add "defaultCandletype" 2021-12-08 13:17:20 +01:00
Matthias dda7283f3e Remove unnecessary default parameters 2021-12-08 11:32:58 +01:00
Matthias ac2fb08aea Small updates while reviewing 2021-12-07 20:21:49 +01:00
Matthias f1c5a4d065 Use pair-reconstruction method wherever possible 2021-12-07 20:12:44 +01:00
Matthias b4d27973b1 Update ohlcv_get_pairs test 2021-12-07 19:57:18 +01:00
Matthias 9d79501c13 Add candletypes argument for convert-data 2021-12-05 10:26:00 +01:00
Matthias a80c3f6a1b Use exchange-dependant timeframe/candletype to get mark/index candles 2021-12-05 10:01:44 +01:00
Matthias 69f371bf63 Update download-data to download necessary data for futures 2021-12-03 14:43:49 +01:00
Matthias 2f17fa2765 Update more to use candleType 2021-12-03 14:15:35 +01:00
Matthias 5493212672 More candletype changes 2021-12-03 13:04:31 +01:00
Matthias f33643cacf Add candletype from string 2021-12-03 12:46:18 +01:00
Matthias f9cf59bb4d Candle_type to enum 2021-12-03 12:32:12 +01:00
Matthias a87e256737 Add candleType enum 2021-12-03 12:12:33 +01:00
Matthias b578e31255 Align tests to have futures data in futures/ directory 2021-12-03 07:20:43 +01:00
Matthias 7baf11a497 Futures candles should go into a subdirectory 2021-12-03 07:04:53 +01:00
Matthias fae7167bf3 Merge branch 'feat/short' into pr/samgermain/5780 2021-12-02 20:25:30 +01:00
Matthias fb1599d21b Merge branch 'develop' into feat/short 2021-12-02 20:20:35 +01:00
Matthias ad5c8f601c Simplify datahandler classes by exploiting commonalities 2021-12-02 20:19:22 +01:00
Matthias f4d0abc51a Merge branch 'feat/short' into pr/samgermain/5780 2021-12-02 07:09:37 +01:00
Matthias f71b7a4e76 Merge branch 'develop' into feat/short 2021-12-02 06:53:15 +01:00
Matthias 0375a08302 use to_hdf instead of HDFStore 2021-12-01 20:32:23 +01:00
Matthias cb4efa6d56 Revert unnecessary formatting changes 2021-11-28 15:53:13 +01:00
Matthias 0d6c933935 Improve and fix pair detection from available data 2021-11-28 15:25:57 +01:00
Matthias 7faa7539b4 Further enhance pair retrieval 2021-11-28 15:03:55 +01:00
Matthias 8d70672bee Enhance Regex to work for mark candles 2021-11-28 14:37:54 +01:00
Matthias c096c7f5cb Add explicit tests for ohlcv regex 2021-11-28 14:34:46 +01:00
Sam Germain 392128013f Updated ohlcv_get_available_data to recognize swap and futures pairs 2021-11-27 03:11:44 -06:00
Sam Germain 8761649fd7 Added candle_type in doc strings 2021-11-27 02:55:42 -06:00
Sam Germain 920151934a Added candle_type to a lot of methods, wrote some tests 2021-11-21 17:48:14 -06:00
Sam Germain e2f98a8dab replaced candle_type: Optional[str] = '' with candle_type: str = '' 2021-11-21 17:48:14 -06:00
Sam Germain 64a6abc541 Added candle type to ohlcv_get_available_data 2021-11-21 17:48:14 -06:00
Sam Germain b4029533ec removed candle type from idatahandler.py 2021-11-21 17:48:14 -06:00
Sam Germain 843ca22a56 mark price test ohlcv_get_pairs 2021-11-21 17:48:14 -06:00
Sam Germain 3d95533bf9 Removed candletype from converter methods 2021-11-21 17:48:14 -06:00
Sam Germain ee2ad8ca97 updated historic data filenames to include the candle type 2021-11-21 17:48:14 -06:00
Matthias c26c0b6822 Merge branch 'feat/short' into short_buy_tag_compat 2021-11-21 19:31:59 +01:00
Matthias 36deced00b Remove more buy_tag references 2021-11-21 09:55:10 +01:00
Matthias 0a50017c84 Add long/short support to backtesting 2021-11-18 20:34:59 +01:00
Matthias f40221dd9f Merge branch 'develop' into feat/short 2021-11-18 20:20:01 +01:00
Matthias e0fd880c11 Improve some more pct formattings 2021-11-11 16:12:23 +01:00
Sam Germain e8b4cf6eaa Merge branch 'develop' into feat/short 2021-10-02 03:15:12 -06:00
Matthias 6319c104fe Fix unreliable backtest-result when using webserver mode 2021-09-26 15:07:48 +02:00
Matthias 2a678bdbb4 Update buy_tag column to long_tag 2021-09-26 08:37:44 +02:00
Matthias 71ff214adf Support "initial_call" for download-data of new pairs 2021-09-07 07:14:40 +02:00
Masoud Azizi 40ad451019 Download-data log process added
Download-data log process added

pytest assert solved
2021-08-20 14:52:56 +00:00
slowy07 f24a951ec5 fix: typo spelling grammar 2021-08-16 19:16:24 +07:00
Matthias e9ef9a6d28 Use .view() to convert dates to enums
part of #5314 - fixing deprecation warning.
2021-08-01 10:31:35 +02:00
Matthias 138b126d03
Merge pull request #5299 from kevinjulian/feat/kevinjulian/add-buy-signal-name
Add buy signal name
2021-07-30 08:23:11 +02:00
kevinjulian 49886874aa rename to buy_tag 2021-07-21 20:05:35 +07:00
kevinjulian cbfedf8b29 fix backtest testcase 2021-07-20 23:25:00 +07:00
George Muravei-Alkhavoi ab786abf7f Fix intendation. 2021-07-19 00:47:51 +03:00
George Muravei-Alkhavoi f705293353 Dataprovider caching and trimming to timerange of historical informative. 2021-07-19 00:25:24 +03:00
Matthias 10998eb0fa Remove further usages of int(int_timestamp) 2021-07-05 19:51:14 +02:00
aayush-jain18 d294ef10d7 unexpected docstring params 2021-06-25 23:56:16 +05:30
aayush-jain18 a46f60bd94 spell corrections 2021-06-25 22:10:04 +05:30
Matthias 9c34304cb9 Move state enums to enums package 2021-06-08 21:20:35 +02:00
Matthias a7bd8b0aa5 Fix exception in plotting when no trades where generated
as seen in #4981
2021-05-22 17:03:16 +02:00
Matthias 96ea10e562 Fix circular import in hyperopt 2021-05-21 08:52:56 +02:00
Matthias f398888865 Refactor preprocessed trimming to seperate method 2021-05-21 08:26:19 +02:00
Brook Miles db17b1a851 fix indentation 2021-05-15 20:20:36 +09:00
Brook Miles 88da1f109b fix #4412 download-data does not stop downloading at the specified TIMERANGE end date 2021-05-15 20:15:19 +09:00
Matthias 92186d89a2 Add some changes to strategytemplate 2021-05-09 09:56:36 +02:00
Rokas Kupstys 8d8c782bd0 Slice dataframe in backtesting, preventing access to rows past current time. 2021-05-08 18:40:49 +03:00
Rokas Kupstys 1b01ad6f85 Make exchange parameter optional and do not use it as parameter in backtesting. 2021-05-08 10:29:47 +03:00
Matthias 4b6cd69c81 Add test for no-exchange dataprovider 2021-05-08 10:29:47 +03:00
Rokas Kupstys d344194b36 Fix dataprovider in hyperopt. 2021-05-08 10:29:47 +03:00
Rokas Kupstys cdfa6adbe5 Store pair datafrmes in dataprovider for backtesting. 2021-05-08 10:29:47 +03:00
Matthias 4f529fe424 Don't use Arrow to get min/max backtest dates 2021-05-06 19:43:14 +02:00
Matthias fd3afdc230 plot-profit should use absolute values 2021-04-25 10:10:09 +02:00
Matthias e855530483 hdf5 handler should include the end-date 2021-04-24 20:26:37 +02:00
Matthias 406c1267a2 Remove superfluss space 2021-04-22 20:01:08 +02:00
Rokas Kupstys 09efa7b06b Add --new-pairs-days parameter for download-data command.
This parameter allows us to customize a number of days we would like to download for new pairs only. This allows us to achieve efficient data update, downloading all data for new pairs and only missing data for existing pairs. To do that use `freqtrade download-data --new-pairs-days=3650` (not specifying `--days` or `--timerange` causes freqtrade to download only missing data for existing pairs).
2021-04-22 10:07:13 +03:00
Matthias 9b23be4021 Return a copy from `current_whitelist`
this avoids manipulating of the pair whitelist from within a strategy
2021-04-13 06:49:53 +02:00
Matthias 50fcb3f330 Reduce verbosity of missing data if less than 1% of data is missing 2021-03-30 07:26:39 +02:00
Matthias 89bbfd2324 Remove candle_count from dataframe before backtesting
closes #3754
2021-03-29 20:26:54 +02:00
Matthias 53a57f2c81 Change some types
Fix types of new model object
2021-02-27 09:33:00 +01:00
Matthias aed23d55c2 Add starting balance to profit cumsum calculation 2021-02-27 09:33:00 +01:00
Matthias 0d2f877e77 Use absolute drawdown calc 2021-02-27 09:32:59 +01:00
Florian Reitmeir 5c263c7ffd add backtesting results abs profit min/abs profit max, to get a better view if a strategy has a enough money to succeed 2021-02-14 19:41:12 +01:00
Matthias 2c80388b40 Fix valueerror in case of empty array files 2021-02-01 06:28:49 +01:00
Matthias 5724371a4f Fix types for numpy 1.20.0 upgrade 2021-01-31 11:21:23 +01:00
Matthias ea0ffbae73 use profit_ratio in calculate_cum_profit 2021-01-29 19:06:57 +01:00
Matthias 789a980a30 Fix tests for new export format 2021-01-24 19:42:32 +01:00
Matthias deb8432d33 Streamline trade to dataframe conversion 2021-01-24 08:58:41 +01:00
Matthias 0d4cf32086 Slightly adapt to pandas incompatibility 2020-12-28 09:50:48 +01:00
Matthias ceb50a7807 use exception handler when downloading data
closes #3992
2020-11-25 07:57:27 +01:00
Matthias e8e3ca0c3c Catch ValueError from trade_conversion
closes #3967
2020-11-21 10:57:19 +01:00
Matthias 83861fabde Fix #3967, move TradeList type to constants 2020-11-21 10:52:15 +01:00
Matthias 52c9a2c37f Convert np to None when loading hdf5 trades to allow duplicate detection 2020-11-19 07:31:54 +01:00
Matthias 887d78171c
Merge pull request #3857 from freqtrade/arrow_deprecation_timestamp
Convert timestamp to int_timestamp for all arrow occurances
2020-11-02 16:40:43 +01:00
Matthias Spiller 78874fa865 informative_pairs does not honor dataformat 2020-10-31 10:53:51 +00:00
Matthias adffd402ea Replace some pointless occurances of arrow 2020-10-20 20:11:38 +02:00
Matthias 8cdc795a44 Rename persistence.init to init_db 2020-10-16 08:15:18 +02:00
Matthias 6977ffdbf9 Merge branch 'develop' into isort_config 2020-09-28 20:21:55 +02:00
Matthias 253b7b763e Apply isort to freqtrade codebase 2020-09-28 19:40:46 +02:00
Matthias 6e70ae6e95 Improve code quality 2020-09-27 19:40:55 +02:00
Matthias 3cb1a9a5a9 Support loading results from a specific hyperopt history file 2020-09-27 17:03:30 +02:00
Matthias c42a924df8 Load latest file 2020-09-27 16:50:42 +02:00
Matthias 77d0189695 Remove not needed argument in update_trade_state 2020-09-19 09:37:11 +02:00
Matthias 38c52c7eee
Merge pull request #3626 from freqtrade/feat/hdf5
Introduce HDF5 Datahandler
2020-08-31 16:10:24 +02:00
Matthias 284d39930f Allow using pairlists through dataprovider in backtesting 2020-08-30 10:07:28 +02:00
Matthias 309ea1246a Update config to use single quotes 2020-08-26 20:52:09 +02:00
Matthias 4eb17b4daf Remove unneeded function 2020-08-18 15:20:37 +02:00
Matthias 87e4a82041 Merge branch 'develop' into bt_add_maxdrawdown 2020-08-09 08:34:36 +02:00
Matthias bad89307dd Fix mypy error 2020-07-25 17:19:41 +02:00
Matthias 119bf2a8ea Document hdf5 dataformat 2020-07-25 17:06:58 +02:00
Matthias 0a28818b46 Add some tests for hdf5 2020-07-24 19:37:37 +02:00
Matthias 861e7099cc Rename hdf5handler to hdf5DataHandler 2020-07-24 19:23:37 +02:00
Matthias 3171ad33b7 Add blosc compression 2020-07-24 17:44:29 +02:00
Matthias 0f08addfbe Don't store empty arrays 2020-07-24 17:37:07 +02:00
Matthias 31df42e737 Implement get_available_data 2020-07-24 17:31:43 +02:00
Matthias d4540c846a Add trades_load method 2020-07-23 19:33:23 +02:00
Matthias 55591e287c First version of hdf5handler - no proper support for trades yet 2020-07-23 19:33:23 +02:00
Matthias b035d9e267 Update return type comment 2020-07-12 10:23:09 +02:00
Matthias d4fc52d2d5 Add tests for ohlcv_get_available_data 2020-07-12 09:56:46 +02:00
Matthias 422825ea1b Add ohlcv_get_available_data to find available data 2020-07-12 09:50:53 +02:00
Matthias d56f9655e2 Update notebook with new statistics example 2020-07-03 07:20:43 +02:00
Matthias d999fa2a7e Test autogetting result filename 2020-07-03 06:58:27 +02:00
Matthias 7c5587aeaa exportfilename can be a file or directory 2020-07-03 06:58:27 +02:00
Matthias 2ed808da1f Extract .last_result.json to constant 2020-07-03 06:58:27 +02:00
Matthias afefe92523 Add multi-strategy loading logic 2020-07-03 06:58:27 +02:00
Matthias c13ec4a1d4 implement fallback loading for load_backtest_data 2020-07-03 06:58:27 +02:00
Matthias 04eaf2c39c Add test for get_last_backtest_Result 2020-07-03 06:58:27 +02:00
Matthias 7727292861 Rename duration to trade_duration 2020-07-03 06:58:27 +02:00
Matthias af9a9592b7 Remove unnecessary statement 2020-07-03 06:58:27 +02:00
Matthias dacb40a976 Add get_latest_backtest_filename 2020-07-03 06:58:27 +02:00
Matthias b068e7c564 Rename open_time and close_time to *date 2020-07-03 06:58:27 +02:00
Matthias 415853583b Save backtest-stats 2020-07-03 06:58:27 +02:00
Matthias 5fce7f3b22 Add market Change
closes #2524 and #3518
2020-07-03 06:58:27 +02:00
Matthias c2a6f70b4c Merge branch 'develop' into keep_dataframe_noapi 2020-06-30 07:46:52 +02:00
Matthias bf61bc9d83 Introduce ExchangeError 2020-06-28 16:01:40 +02:00
Matthias 676006b99c --dl-trades should also support increasing download span
(by downloading the whole dataset again to avoid missing data in the
middle).
2020-06-24 17:40:23 +02:00
Matthias ab9382434f Add test for get_analyzed_dataframe 2020-06-18 06:50:06 +02:00
Matthias 8166b37253 Explicitly check if dp is available 2020-06-18 06:50:06 +02:00
Matthias 9794914838 store dataframe updated as tuple 2020-06-18 06:50:05 +02:00
Matthias fd97ad9b76 Cache analyzed dataframe 2020-06-18 06:50:05 +02:00
Matthias a3506f4d8e Merge branch 'develop' into timeframe 2020-06-15 06:35:55 +02:00
Matthias 3f9ab0846d Rename profitperc to profit_percent 2020-06-07 15:39:59 +02:00
hroff-1902 f4c2bb1346 Fix crash in #3404 2020-06-02 19:37:08 +03:00
Matthias f9bb1a7f22 Update more occurances of ticker_interval 2020-06-02 10:02:55 +02:00
Matthias cadc50ce9b Replace more occurances of ticker_interval with timeframe 2020-06-01 20:49:40 +02:00
Matthias 16cd1f06b2 Rename get_order_book to fetch_l2_order_book (aligning to ccxt) 2020-05-26 20:27:35 +02:00