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
Matthias
046202fdda
Fix typing circular dependency
2020-05-22 20:56:34 +02:00
Matthias
1a984ac677
Explicitly raise ValueError if trades are empty
2020-05-21 07:12:53 +02:00
hroff-1902
115586a50f
Introduce freqtrade.typing
2020-05-18 21:59:50 +03:00
hroff-1902
627c5059f0
Move create_pair_list to pairlistmanager
2020-05-18 13:54:21 +03:00
hroff-1902
5f2a871637
Add missing module
2020-05-16 17:15:58 +03:00
hroff-1902
e7c11ed2cf
Fix fetching timeframe (failed in backtesting)
2020-05-16 12:27:56 +03:00
hroff-1902
f8b01f5a43
Make flake happy
2020-05-16 12:27:56 +03:00
hroff-1902
035a12ce61
Move _create_pair_whitelist to dataprovider
2020-05-16 12:27:56 +03:00
hroff-1902
bf25746965
Introduce datatype for informative pairs
2020-05-16 12:27:56 +03:00
hroff-1902
aae096c6ae
Handle fetching ticker for non-existing pair safe way
2020-05-14 13:36:48 +03:00
hroff-1902
3079e18239
Merge branch 'develop' into dataprovider-add-ticker
2020-05-14 13:22:52 +03:00
hroff-1902
b4d2433fc1
Merge pull request #3267 from GrilledChickenThighs/develop
...
Method for accessing current pairlist inside strategy.
2020-05-13 21:29:39 +03:00
Matthias
d86855f2f3
Merge pull request #3129 from freqtrade/trades_to_list
...
convert dl-trades datadownload to list
2020-05-13 09:41:26 +02:00
Paul D. Mendes
9fbe135790
attached pairlist manager onto dataprovider init for unified access to dynamic whitelist
2020-05-11 20:17:03 +04:00
Paul D. Mendes
bc9efc31ad
Added Method for accessing current pair list on initialization for dynamic informative pairs
...
moved import into function to avoid circular import with hyperopt
2020-05-11 19:45:15 +04:00
hroff-1902
63b55658ac
Add ticker to dataprovider
2020-05-01 05:11:30 +03:00
Matthias
7aba9bc62a
Update freqtrade/data/converter.py
...
Co-Authored-By: hroff-1902 <47309513+hroff-1902@users.noreply.github.com>
2020-04-17 06:22:25 +02:00
hroff-1902
f2b1802666
Merge pull request #3137 from freqtrade/fix_maxdrawdown
...
[minor] Fix maxdrawdown
2020-04-14 16:03:25 +03:00
Matthias
ddf37ef059
Add test to demonstrate that the dataframe is not changed
2020-04-14 08:02:42 +02:00
Matthias
4ee0cbb575
Reset index to correctly gather index
2020-04-12 10:40:02 +02:00
orehunt
20abb379aa
trim trades to the available ohlcv data before plotting profits
2020-04-06 15:54:17 +02:00
Matthias
41d5c40f10
Correctly test drawdown plot
2020-04-05 14:44:44 +02:00
Matthias
e204170eb6
Fix max_drawdown bug finding low before high!
2020-04-05 14:29:40 +02:00
Matthias
9d7ad23d42
Fix test leakage
2020-04-02 08:20:50 +02:00
Matthias
eab6c9c5f2
Fix message
2020-04-01 20:50:00 +02:00
Matthias
0d51383b57
Format logmessages correctly
2020-04-01 20:31:21 +02:00
Matthias
ba03d96961
Test 5s offset on since
2020-04-01 20:04:36 +02:00
Matthias
ff9caf790b
remove trade duplicates in datahandler
2020-04-01 19:45:46 +02:00
Matthias
0506caf986
Implement trades_remove_dulicates
2020-04-01 19:45:38 +02:00
Matthias
bac0eaab03
fix convert to ohlcv
2020-04-01 19:45:35 +02:00
Matthias
d76bb1ccf4
Use List of Lists instead of list of Dicts for trades data
2020-04-01 19:45:21 +02:00
Matthias
1659ddcc5d
Add conversion function from fetch_trades to list
2020-04-01 19:45:21 +02:00
Matthias
3e1bef888a
Fix flake8 error
2020-03-18 19:40:13 +01:00
Fredrik81
0920d6fce4
Update freqtrade/data/btanalysis.py
...
Co-Authored-By: Matthias <xmatthias@outlook.com>
2020-03-18 11:01:09 +01:00
Fredrik81
8c33e07dc6
Update based on comments
2020-03-15 21:20:32 +01:00
hroff-1902
57ff3ff450
Merge branch 'develop' into plot-trades
2020-03-15 13:31:00 +03:00
Matthias
0f1640bed4
convert exportfilename to Path when config parsing
2020-03-15 09:39:45 +01:00
Fredrik81
27faf12fde
Fix if no file exists
2020-03-14 22:15:03 +01:00
hroff-1902
59fadabb5b
Fix merging
2020-03-13 20:26:14 +03:00
hroff-1902
51f52c8609
Merge branch 'develop' into no-ticker-2
2020-03-13 16:43:52 +03:00
Matthias
6f67b8d9b9
iCheck after clean_dataframe, too
2020-03-12 19:50:46 +01:00
Matthias
129a88d5da
Extract emptyness check to it's own method
2020-03-11 19:53:28 +01:00
orehunt
3eaae4661d
check again for emptiness after trimming dataframe
2020-03-09 17:51:21 +01:00
hroff-1902
3208faf7ed
Do not use ticker where it's not a ticker
2020-03-08 20:47:02 +03:00
Matthias
9d8970a76b
Add test and formatting to drawdown
2020-03-03 20:23:44 +01:00
Matthias
33a63562cb
make drawdown function less restrictive
2020-03-03 07:23:38 +01:00
Matthias
e050511ddc
Add test for max_drawdown calculation
2020-03-03 07:20:41 +01:00
Matthias
3479f7d986
Add max_drawdown function
2020-03-03 07:15:03 +01:00
hroff-1902
e2e6b940a3
copy=False does not make the changes inline anyway, so not needed
2020-02-22 19:54:19 +03:00
hroff-1902
c651e0ac82
Fix #2948
2020-02-22 19:46:40 +03:00
Matthias
3186add87b
Use explicit column list for float parsing
2020-02-22 14:46:54 +01:00
Matthias
7ecc56fa44
Load ohlcv data as float
2020-02-22 13:10:41 +01:00
Matthias
d65a06947d
Merge branch 'develop' into data_handler
2020-02-09 15:16:43 +01:00
hroff-1902
f3d500085c
Add some type hints
2020-02-02 07:00:40 +03:00
Matthias
41945138ac
Converting pairs from filename to pair corrected
2020-01-05 13:35:36 +01:00
Matthias
4eaaec9d1a
Implement pair_to_filename to datahandler
...
includes tests - taken from #2744 and modified to adapt to new structure
2020-01-05 10:36:08 +01:00
Matthias
f82c4346b6
data conversion, not data conversation
...
* we're not talking to the data yet ...
2020-01-05 09:55:02 +01:00
Matthias
2409261cb7
Merge branch 'develop' into data_handler
2020-01-04 11:36:27 +01:00
Matthias
2c8e8d8ef6
Align columns for btanalysis loading
2020-01-02 09:51:47 +01:00
Matthias
699c0d6bc3
Merge branch 'develop' into data_handler
2019-12-30 19:40:43 +01:00
Matthias
1ffda29fd2
Adjust improts to new exception location
2019-12-30 15:02:17 +01:00
Matthias
814cc20c6b
Remove potential circular import
2019-12-28 19:58:41 +01:00
Matthias
f4a532ef6d
Pass format to load_data
2019-12-28 14:57:39 +01:00
Matthias
ae1b28aab7
Remove get_datahandlerclass from package exposes
2019-12-28 14:32:11 +01:00
Matthias
66d18575a7
Implement abstract interface
2019-12-28 11:10:31 +01:00
Matthias
9e4fc00a0f
Add test for convert_ohlcv
2019-12-28 11:03:06 +01:00
Matthias
28787a001c
Move convert functions to convert module
2019-12-28 11:02:34 +01:00
Matthias
6860491189
Rename datahandler module to history module
...
Also move previous history.py into this module - so everything is
bundled
2019-12-28 11:01:42 +01:00
Matthias
9c5b94adf5
Pass data_format to methods
2019-12-28 11:01:42 +01:00
Matthias
d65c1eea7a
Add some tests for datahandler
2019-12-28 11:01:42 +01:00
Matthias
8a030e7fc0
Use exists instead of is_file
2019-12-28 11:01:42 +01:00
Matthias
a3144cb2f0
remove trim_tickerlist
2019-12-28 11:01:42 +01:00
Matthias
d1b52809ac
Cleanup history
2019-12-28 11:01:41 +01:00
Matthias
d06777b8ce
Remove old "load_cached_data" method
2019-12-28 11:01:41 +01:00
Matthias
7a6476c9ba
Update tests
2019-12-28 11:01:41 +01:00
Matthias
df085a6f15
Fix small bug and test
2019-12-28 11:01:41 +01:00
Matthias
c648d973c1
Implement new "load_data_for_updating" method based on dataframes
2019-12-28 11:01:41 +01:00
Matthias
ec8fb5f308
Make no-data warning optional
2019-12-28 11:01:41 +01:00
Matthias
b83487a70d
Extract default dataframe columns to constant
2019-12-28 11:01:41 +01:00
Matthias
91c70a0e9c
Change to use ohlcv_purge
2019-12-28 11:01:41 +01:00
Matthias
37c5b68987
Move dataframe validation to abstract class
2019-12-28 11:01:41 +01:00
Matthias
e861f05b75
Move dataframe trim to within jsondatahandler
2019-12-28 11:01:41 +01:00
Matthias
552c93abf0
Improve some docstrings
2019-12-28 11:01:41 +01:00
Matthias
b7c1d55491
Modify tests to point to datahandlers
2019-12-28 11:01:41 +01:00
Matthias
9876d126ca
Use handler for trades
2019-12-28 11:01:41 +01:00
Matthias
9547d47ae2
Initialize datahandlers
2019-12-28 11:01:41 +01:00
Matthias
5fca17d7e1
Allow initializing handler-class just once
2019-12-28 11:01:41 +01:00
Matthias
416517b0c9
Move trim_dataframe from history to converter
2019-12-28 11:01:41 +01:00
Matthias
9d8ea2f13b
Replace calls to load_tickerdata_file with DataHandler calls
2019-12-28 11:01:41 +01:00
Matthias
88fa7fc24c
Simplify validate dataframe method
2019-12-28 11:01:41 +01:00
Matthias
53ee636fa0
Check if file exists before loading
2019-12-28 11:01:41 +01:00
Matthias
873f5dbe6b
Revrite validate_pairdata to work with pandas
2019-12-28 11:01:41 +01:00
Matthias
db520a09ee
Trim dataframe, not tickerlist
2019-12-28 11:01:41 +01:00
Matthias
866908d2ca
Load and save using pandas internal function
2019-12-28 11:01:41 +01:00
Matthias
d9e7d64f33
Split parse_ticker_dataframe some logic to clean_ohlcv_dataframe.
2019-12-28 11:01:41 +01:00
Matthias
1b90ec58b9
Use changed pair-handling for providers
2019-12-28 11:01:41 +01:00
Matthias
d923bab828
Remove abstract interface for now
2019-12-28 11:01:41 +01:00
Matthias
48728e2d66
Change DataProvider interface to accept pair per method
2019-12-28 11:01:41 +01:00
Matthias
e529a4c261
Fix typehint for get_datahandlerclass
2019-12-28 11:01:41 +01:00
Matthias
c6d6dbfdb1
Implement jsondatahandler file store
2019-12-28 11:01:41 +01:00
Matthias
abc6b9459a
Add ohlcv_store call to convert_ohlcv
2019-12-28 11:01:41 +01:00
Matthias
2a728ee68f
fix bug in find-files
2019-12-28 11:01:41 +01:00
Matthias
ef0fcb0e0f
Make data-finding safe
2019-12-28 11:01:41 +01:00
Matthias
e5a61667dd
Implement first version of jsondatahandler
2019-12-28 11:00:22 +01:00
Matthias
bb8acc61db
Convert datadir within config to Path
...
(it's used as Path all the time!)
2019-12-23 15:11:29 +01:00
hroff-1902
cf4c3642ce
Minor improvements in data.history
2019-12-18 01:06:03 +03:00
hroff-1902
021fa1ca1a
Merge pull request #2678 from hroff-1902/dataprovider-history-split-refresh
...
Dataprovider history: split refresh part
2019-12-18 00:30:47 +03:00
hroff-1902
3a542bce62
Merge pull request #2674 from freqtrade/bt_trade_open_price
...
Pre-calculate open_trade_price
2019-12-17 21:51:13 +03:00
hroff-1902
1537389617
Remove startup_candles argument in refresh_data
2019-12-17 18:23:31 +03:00
hroff-1902
b2796f99b6
Remove redundant refresh_pair_history
2019-12-17 14:06:21 +03:00
hroff-1902
60f89c8c01
Split refresh from load_data/load_pair_history
2019-12-17 13:43:42 +03:00
Matthias
a2964afd42
Rename profit_percent to profit_ratio to be consistent
2019-12-17 08:53:30 +01:00
hroff-1902
0277cd82ea
Make mypy happy
2019-12-16 23:25:57 +03:00
hroff-1902
a6fc743d85
Align code in _download_*_history()
2019-12-16 22:12:26 +03:00
hroff-1902
fa968996ed
Remove useless check
2019-12-16 22:01:26 +03:00
hroff-1902
4cd45b6535
Rename download_*_history as non-public
2019-12-16 21:57:03 +03:00
hroff-1902
2af9ffa7f2
Align refresh_backtest_ to each other
2019-12-16 21:43:33 +03:00
Matthias
7c7ca1cb90
Remove min (plural) from codebase
2019-12-11 07:12:37 +01:00
Matthias
054484ad73
load_pair_history should not return None, but an empty dataframe if no
...
data is found
2019-12-04 06:57:44 +01:00
Matthias
c8c48156dd
Don't load trades twice ...
2019-11-13 20:44:55 +01:00
Matthias
6ac73f7cde
Update missed strings
2019-11-13 11:28:26 +01:00
Matthias
1c57a4ac35
more replacements of ticker_interval
2019-11-12 15:13:06 +01:00
Matthias
08aedc18e1
Exchange ticker_interval with timeframe in some more places
2019-11-12 15:13:06 +01:00
Matthias
e4bdb92521
Replace some occurances of ticker_interval with timeframe
2019-11-12 15:13:06 +01:00