Commit Graph

645 Commits

Author SHA1 Message Date
Matthias 048008756f Add progress tracking for backtesting 2021-07-06 19:48:28 +02:00
Matthias 800e314bfd Store backtesting results in backtest instance 2021-07-06 19:48:28 +02:00
Matthias fbd91cd3f8 Improve formatting to avoid backslash newlines 2021-07-03 08:22:21 +02:00
Rokas Kupstys bc0742ae67 Fix extremely optimistic results when using a combination of custom_stoploss and trailing_stop. 2021-06-30 09:10:50 +03:00
aayush-jain18 a46f60bd94 spell corrections 2021-06-25 22:10:04 +05:30
Matthias e1010ff592 Don't load protections from config if strategy defines a property 2021-06-18 19:55:53 +02:00
Matthias b38ab84a13 Add documentation mention about new behaviour 2021-06-17 06:48:41 +02:00
Rokas Kupstys 6d5fc96714 Implement most pessimistic handling of trailing stoploss. 2021-06-15 09:05:36 +03:00
Matthias cf7394d01c Export backtesting results by default
closes #4977
2021-06-14 19:57:24 +02:00
Matthias d16a619489 Move SellType Enum to it's own module 2021-06-08 21:04:34 +02:00
Matthias a39860e0de Add tests for rejected signals 2021-05-23 14:15:02 +02:00
Matthias 7f125315b0 Track Rejected Trades
closes #3423
2021-05-23 09:42:05 +02:00
Matthias f398888865 Refactor preprocessed trimming to seperate method 2021-05-21 08:26:19 +02:00
Kamontat Chantrachirathumrong c2b9da68e1
fix indent 2021-05-20 11:56:11 +07:00
Kamontat Chantrachirathumrong 48210170e7
wrap with is not empty 2021-05-20 11:49:25 +07:00
Kamontat Chantrachirathumrong 082fb11bbe
Avoid having error `cannot set a frame with no defined index and a scalar` 2021-05-20 01:54:48 +07:00
Matthias ef4d1c24d7
Merge pull request #4941 from brookmiles/fix-stoploss-above-candle
prevent backtest stoploss trade price being set above candle high
2021-05-19 06:20:35 +02:00
Rokas Kupstys 2d5f465f1b Fix protections being loaded multiple times for first strategy when backtesting. 2021-05-15 13:37:03 +03:00
Rokas Kupstys 29fed37df3 Fix exception when few pairs with no data do not result in aborting backtest.
Exception is triggered by backtesting 20210301-20210501 range with BAKE/USDT pair (binance). Pair data starts on 2021-04-30 12:00:00 and after adjusting for startup candles pair dataframe is empty.

Solution: Since there are other pairs with enough data - skip pairs with no data and issue a warning.

Exception:
```
Traceback (most recent call last):
  File "/home/rk/src/freqtrade/freqtrade/main.py", line 37, in main
    return_code = args['func'](args)
  File "/home/rk/src/freqtrade/freqtrade/commands/optimize_commands.py", line 53, in start_backtesting
    backtesting.start()
  File "/home/rk/src/freqtrade/freqtrade/optimize/backtesting.py", line 502, in start
    min_date, max_date = self.backtest_one_strategy(strat, data, timerange)
  File "/home/rk/src/freqtrade/freqtrade/optimize/backtesting.py", line 474, in backtest_one_strategy
    results = self.backtest(
  File "/home/rk/src/freqtrade/freqtrade/optimize/backtesting.py", line 365, in backtest
    data: Dict = self._get_ohlcv_as_lists(processed)
  File "/home/rk/src/freqtrade/freqtrade/optimize/backtesting.py", line 199, in _get_ohlcv_as_lists
    pair_data.loc[:, 'buy'] = 0  # cleanup from previous run
  File "/home/rk/src/freqtrade/venv/lib/python3.9/site-packages/pandas/core/indexing.py", line 692, in __setitem__
    iloc._setitem_with_indexer(indexer, value, self.name)
  File "/home/rk/src/freqtrade/venv/lib/python3.9/site-packages/pandas/core/indexing.py", line 1587, in _setitem_with_indexer
    raise ValueError(
ValueError: cannot set a frame with no defined index and a scalar
```
2021-05-15 13:37:03 +03:00
Brook Miles 2eac23a15f if stoploss price is above the candle high, set it to candle open instead. this can occur if stoploss had previously been reached but the sell was prevented by `confirm_trade_exit` 2021-05-15 15:38:51 +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 f1eb653545 Fix strategy protections not being loaded in backtesting. 2021-05-08 10:29:47 +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
Rokas Kupstys d344194b36 Fix dataprovider in hyperopt. 2021-05-08 10:29:47 +03:00
Rokas Kupstys 6fb4d83ab3 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
Rokas Kupstys d34da3f981 Revert "Add dataframe parameter to custom_stoploss() and custom_sell() methods."
This reverts commit 595b8735f8.

# Conflicts:
#	freqtrade/optimize/backtesting.py
#	freqtrade/strategy/interface.py
2021-05-08 10:29:47 +03:00
Matthias 554f5f14b6 Raise exception if no data is left 2021-05-07 06:41:15 +02:00
Matthias 4f529fe424 Don't use Arrow to get min/max backtest dates 2021-05-06 19:43:14 +02:00
Matthias f2e182002d Simplify calling backtesting by returning the proper result 2021-05-02 09:46:27 +02:00
Matthias 7c8a367442 Update docs to not promote stoploss / take-profit 2021-04-28 20:36:06 +02:00
Matthias 2061162d79 Convert trade-opendate to python datetime 2021-04-26 20:01:13 +02:00
Rokas Kupstys 98f6fce2ec Use correct sell reason in case of custom sell reason. 2021-04-25 09:48:40 +03:00
Rokas Kupstys 595b8735f8 Add dataframe parameter to custom_stoploss() and custom_sell() methods. 2021-04-25 09:48:40 +03:00
Rokas Kupstys 1aad128d85 Support returning a string from custom_sell() and have it recorded as custom sell reason. 2021-04-25 09:48:40 +03:00
Matthias 88f26971fa Use defaultdict for backtesting 2021-04-24 19:15:09 +02:00
Matthias f12e002686
Merge pull request #4775 from freqtrade/fix_wallet_unlimited
Fix wallet unlimited
2021-04-24 15:54:06 +02:00
Matthias df16fbd742 Add "dataload complete" message to backtest + hyperopt 2021-04-23 19:22:41 +02:00
Matthias d8c8a8d8c2 Remvoe pointless arguments from get_trade_stake_amount 2021-04-21 20:01:10 +02:00
Matthias cfa9315e2a Prevent out of candle ROI sells 2021-04-20 20:29:53 +02:00
Matthias 89bbfd2324 Remove candle_count from dataframe before backtesting
closes #3754
2021-03-29 20:26:54 +02:00
Matthias 292ea8c1d0
Update backtesting.py 2021-03-25 09:34:33 +01:00
rextea 0ca95aa0c2 Change rate to acctual close rate 2021-03-25 10:25:25 +02:00
Matthias ec15610bff Fix isort issue 2021-03-24 19:21:07 +01:00
rextea f51f4b1817 Add confirm_trade_exit and confirm_trade_entry to backtesting 2021-03-23 10:35:46 +02:00
rextea dc4ea604dd Add confirm_trade_exit and confirm_trade_entry to backtesting 2021-03-23 10:19:16 +02:00
rextea eb5d69dcd4 Add confirm_trade_exit and confirm_trade_entry to backtesting 2021-03-23 10:12:08 +02:00
rextea 6856963aef Add confirm_trade_exit and confirm_trade_entry to backtesting 2021-03-23 10:09:41 +02:00
Matthias b57c150654 Final balance should include forcesold pairs 2021-03-14 09:48:40 +01:00
Matthias d1acc8092c Improve backtest performance 2021-03-13 10:17:14 +01:00
Matthias 0db5c9746f
Merge pull request #4454 from freqtrade/backtest_compound_speed
Backtest compound, wallet, ...
2021-03-10 10:07:40 +01:00
Matthias 4b550dab17 Always reset fake-databases
Otherwise results may stick around for the next strategy
2021-03-08 19:40:29 +01:00
Matthias 0b81b58d28 Use pandas.values.tolist instead of itertuples
speeds up backtesting
closes #4494
2021-03-07 11:28:54 +01:00
Matthias 2083cf6ddf Fix mypy errors introduced by Arrow update 2021-03-01 08:57:57 +01:00
Matthias b2e9295d7f Small stylistic fixes 2021-02-27 19:57:42 +01:00
Matthias 324b9dbdff Simplify wallet code 2021-02-27 10:33:25 +01:00
Matthias 98f3142b30 Improve handling of backtesting params 2021-02-27 09:33:00 +01:00
Matthias fc256749af Add test for backtesting _enter_trade 2021-02-27 09:33:00 +01:00
Matthias 53a57f2c81 Change some types
Fix types of new model object
2021-02-27 09:33:00 +01:00
Matthias 03eb23a4ce 2 levels of Trade models, one with and one without sqlalchemy
Fixes a performance issue when backtesting with sqlalchemy, as that
uses descriptors for all properties.
2021-02-27 09:33:00 +01:00
Matthias 394a6bbf2a Fix some type errors 2021-02-27 09:33:00 +01:00
Matthias 52acacbed5 Check min-trade-stake in backtesting 2021-02-27 09:33:00 +01:00
Matthias 7913166453 Improve performance by updating wallets only when necessary 2021-02-27 09:33:00 +01:00
Matthias 74fc4bdab5 Shorten debug log 2021-02-27 09:32:59 +01:00
Matthias 8d61a26382 Allow dynamic stake for backtesting and hyperopt 2021-02-27 09:32:59 +01:00
Matthias e4abe902fc Enable compounding for backtesting 2021-02-27 09:32:59 +01:00
Matthias 0faa6f84dc Improve Wallet logging disabling for backtesting 2021-02-27 09:32:59 +01:00
Matthias 081b9be45c use get_all_locks to get locks for backtest result 2021-02-27 09:32:59 +01:00
Matthias 712d503e6c Use sell-reason value in backtesting, not the enum object 2021-02-27 09:32:59 +01:00
Matthias 9361aa1c95 Add wallets to backtesting 2021-02-27 09:32:59 +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 8ee264bc59 Don't use profit_percent for backtesting results anymore 2021-01-24 08:58:41 +01:00
Matthias 48977493bb Backtesting does not need to convert to BacktestResult object 2021-01-24 08:58:41 +01:00
Matthias 0b65fe6afe Capture backtest start / end time 2021-01-14 19:09:25 +01:00
Matthias 9147106259 call bot_loop_start() in backtesting to allow setup-code to run 2021-01-14 19:09:25 +01:00
Matthias baa1142afa Use preprocessed to get min/max date in hyperopt 2021-01-14 19:09:21 +01:00
Matthias 9d4cdcad10 Extract backtesting of one strategy 2021-01-14 19:04:42 +01:00
Matthias f3de0dd3eb Fix support for protections in hyperopt
closes #4208
2021-01-14 06:53:40 +01:00
Matthias f11fd2fee1 Sort imports 2020-12-23 17:00:02 +01:00
Matthias 67193bca3d Move pairlists to be a plugin submodule 2020-12-23 16:54:35 +01:00
Matthias 266031a6be Disallow PerformanceFilter for backtesting
closes #4072
2020-12-16 19:24:47 +01:00
Matthias f047297995 Improve wording, fix bug 2020-12-07 15:48:06 +01:00
Matthias 5849d07497 Export locks as part of backtesting 2020-12-07 11:39:01 +01:00
Matthias bb51da8297 Fix slow backtest due to protections 2020-12-07 11:39:01 +01:00
Matthias 75a5161650 Support multis-strategy backtests with protections 2020-12-07 11:39:01 +01:00
Matthias a3f9cd2c26 Only load protections when necessary 2020-12-07 11:39:01 +01:00
Matthias e2d15f4082 Add parameter to enable protections for backtesting 2020-12-07 11:39:01 +01:00
Matthias 32189d27c8 Disable output from plugins in backtesting 2020-12-07 11:39:01 +01:00
Matthias 9f34aebdaa Allow closing trades without message 2020-12-07 11:39:01 +01:00
Matthias b606936eb7 Make changes to backtesting to incorporate protections 2020-12-07 11:39:01 +01:00
Matthias e73203acb8 FIx bug with dmmp 2020-11-01 10:51:07 +01:00
Matthias cf2ae788d7 Convert backtesting rows to Tuples for performance gains 2020-10-18 17:16:57 +02:00
Matthias 5d3a67d324 Don't debug-log during backtesting.
Even though log-messages are surpressed, calling "debug" will always
have to do something.
2020-10-18 16:38:16 +02:00
Matthias b80a219d03 Improve typehints for backtesting 2020-10-18 16:35:23 +02:00
Matthias 2591a34db4 Don't use arrow objects for backtesting 2020-10-18 16:18:52 +02:00
Matthias 23278e52db remove obsolete logging statements 2020-10-08 20:22:59 +02:00
Matthias e8f2c09f08 Extract handling of left open trades to seperate method 2020-10-08 20:11:45 +02:00
Matthias 52502193c4 Backtesting should not double-loop for sell signals 2020-10-07 20:59:05 +02:00
Matthias 253b7b763e Apply isort to freqtrade codebase 2020-09-28 19:40:46 +02:00
Matthias bb27b236ce Remove unused arguments 2020-09-26 14:55:12 +02:00
Matthias ff3e2641ae generate_backtest_stats must take config options from the strategy
config

as a strategy can override certain options.
2020-09-25 20:47:37 +02:00
Matthias 284d39930f Allow using pairlists through dataprovider in backtesting 2020-08-30 10:07:28 +02:00
Matthias 3d515ed5bf
Merge pull request #3558 from freqtrade/bt_add_maxdrawdown
Revise backtesting export format, add some metrics
2020-08-19 06:39:47 +02:00
Matthias 87e4a82041 Merge branch 'develop' into bt_add_maxdrawdown 2020-08-09 08:34:36 +02:00
Matthias 2afe1d5b11 Add link to full sample 2020-08-08 17:30:31 +02:00
Matthias dd430455e4 Enable dataprovier for hyperopt 2020-08-08 17:04:32 +02:00
Matthias c1191400a4 Allow 0 fee value by correctly checking for None 2020-07-15 19:20:20 +02:00
Matthias 0d15a87af8 Remove old store_backtest method 2020-07-03 20:21:32 +02:00
Matthias 7727292861 Rename duration to trade_duration 2020-07-03 06:58:27 +02:00
Matthias f368aabcc7 Add amount to backtest-result 2020-07-03 06:58:27 +02:00
Matthias 6e94734678 Add fee to backtestresult 2020-07-03 06:58:27 +02:00
Matthias 075eb0a161 Fix sequence of saving 2020-07-03 06:58:27 +02:00
Matthias 0fa56be9d2 remove openIndex and closeIndex from backtest-report 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 fbddfaeacf Introduce DatetimePrintFormat 2020-07-03 06:58:27 +02:00
Matthias cbcf3dbb43 Add more metrics to summarytable 2020-07-03 06:58:27 +02:00
hroff-1902 02c0488d45
Merge pull request #3453 from freqtrade/fix/3363
Backtesting should load pairlists after the strategy
2020-06-29 21:53:33 +03:00
Matthias 72ae4b1500 Load pairlist after strategy to use strategy-config
fail in certain conditions when using strategy-list

Fix #3363
2020-06-07 16:15:26 +02:00
hroff-1902 64881a94e2
Merge branch 'develop' into timeframe 2020-06-02 15:56:34 +03:00
Matthias cadc50ce9b Replace more occurances of ticker_interval with timeframe 2020-06-01 20:49:40 +02:00
Matthias 091693308a Correctly call show_backtest_results 2020-06-01 09:25:26 +02:00
Matthias fb8a85da01 Disallow VolumePairList from backtesting for now 2020-04-27 07:56:17 +02:00
Matthias 8987859044 Enable pairlist parsing for backtesting and hyperopt 2020-04-25 15:37:13 +02:00
Matthias de47186263 Use .loc for assignments 2020-04-02 19:31:48 +02:00
Matthias e95665ceca Make backtestresult storing independent from printing 2020-03-15 15:36:23 +01:00
Matthias a13d581658 Move backtest-result visualization out of backtesting class 2020-03-15 15:17:53 +01:00
Matthias 6106d59e1a Move store_backtest_results to optimize_reports 2020-03-15 15:17:35 +01:00
Matthias 328dbd3930 Remove unnecessary parameter to generate_text_table_sell_reason 2020-03-15 15:04:48 +01:00
Matthias 0f1640bed4 convert exportfilename to Path when config parsing 2020-03-15 09:39:45 +01:00
hroff-1902 ebb0187f40 dataframe -> df_analyzed in backtesting and edge 2020-03-13 03:54:56 +03:00
hroff-1902 3208faf7ed Do not use ticker where it's not a ticker 2020-03-08 20:47:02 +03:00
Fredrik81 55d471190a Changed table style of backtesting and alignment of headers 2020-02-27 13:28:28 +01:00
Matthias d65a06947d Merge branch 'develop' into data_handler 2020-02-09 15:16:43 +01:00
Yazeed Al Oyoun 5b00eaa42d
Updated Strategy Summary table to match other backtesting tables (#2864) 2020-02-06 06:58:58 +01:00
hroff-1902 d457d43999
Merge pull request #2833 from hroff-1902/type-hints
Add some type hints
2020-02-03 23:24:26 +03:00
hroff-1902 f3d500085c Add some type hints 2020-02-02 07:00:40 +03:00
Yazeed Al Oyoun e2b3907df5 more consistent backtesting tables and labels 2020-01-31 04:39:18 +01:00
Matthias 1b9af9d2d8 Merge branch 'develop' into data_handler 2020-01-26 20:31:13 +01:00
Matthias bd4dd8403b Fix type-errors with stake_amount 2020-01-25 12:49:37 +01:00
hroff-1902 f4c7edf551 No args for backtest(), use arguments 2020-01-25 12:49:37 +01:00
Matthias fc2970f41b Merge branch 'develop' into data_handler 2020-01-21 06:58:48 +01:00
Tejesh f73f0b1653 Update comments on backtesting 2020-01-15 19:29:00 +05:30
Matthias c475729c13 Extract edge reporting to optimize_reports 2020-01-09 06:52:34 +01:00
Matthias 904e1647e1 Extract generate_text_table_strategy to seperate module 2020-01-02 09:31:53 +01:00
Matthias caec345c0b Extract generate_text_table_sell_reason from backtesting class 2020-01-02 09:31:53 +01:00
Matthias 18a53f4467 Extract generate_text_table from backtesting class 2020-01-02 09:31: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 f4a532ef6d Pass format to load_data 2019-12-28 14:57:39 +01:00
Matthias 416517b0c9 Move trim_dataframe from history to converter 2019-12-28 11:01:41 +01:00
hroff-1902 6db75bc244
Merge pull request #2706 from freqtrade/data_dir
Convert datadir within config to Path
2019-12-28 05:14:48 +03:00
Matthias e5aed098b5 Enhance backtest results with sell reason profit / loss table 2019-12-25 09:39:29 +01:00
Matthias c6b9c8eca0 Forgot to save 2019-12-23 19:32:31 +01:00
Matthias c6d2233978 Convert StrategyLoader to static loader 2019-12-23 10:23:48 +01:00
Matthias 560acb7cea Convert ExchangeResolver to static loader class 2019-12-23 10:03:18 +01:00
hroff-1902 cf4c3642ce Minor improvements in data.history 2019-12-18 01:06:03 +03:00
Matthias a2964afd42 Rename profit_percent to profit_ratio to be consistent 2019-12-17 08:53:30 +01:00
hroff-1902 26ab108890 Fix mypy errors in develop 2019-12-15 01:10:09 +03:00
hroff-1902 1cc174c007
Merge pull request #2624 from freqtrade/backtest_refactor
handle and document ROI=-1
2019-12-14 23:11:36 +03:00
Matthias a48c0ad868 Use first pair of pairlist to get fee
Use this instead of hardcoded ETH/BTC - so backtesting works with
exchanges without ETH/BTC pair
2019-12-14 12:55:02 +01:00
Matthias 7c7ca1cb90 Remove min (plural) from codebase 2019-12-11 07:12:37 +01:00
Matthias de33ec4250 use sell_row.open also when the active ROI value just changed 2019-12-09 16:52:12 +01:00
Matthias 45d12dbc83 Avoid a few calculations during backtesting 2019-12-07 15:28:56 +01:00
Matthias 3163cbdf8a Apply special case for negative ROI 2019-12-07 15:18:12 +01:00
Matthias 3091869115 refactor get_close_rate out of get_sell_trade-entry 2019-12-07 14:30:14 +01:00
Matthias af3eea3805 Move config json validation to after strategy loading
Otherwise attributes are mandatory in configuration
while they could be set in the strategy
2019-11-25 07:05:30 +01:00
Matthias 1c57a4ac35 more replacements of ticker_interval 2019-11-12 15:13:06 +01:00
Matthias d801dec6aa Some more places with ticker_interval gone 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
Matthias eb0b0350e0 Introduce remove_credentials to remove code duplication 2019-11-05 12:39:19 +01:00
Matthias 1e44f93c31 Fix pandas access warning 2019-11-03 10:58:31 +01:00
Matthias 33164ac78e Refactor loading of bt data to backtesting ... 2019-10-27 09:44:56 +01:00
Matthias bd4a23beeb Refactor start-adjust logic to timerange 2019-10-27 09:44:56 +01:00
Matthias 6382a4cd04 Implement startup-period to default-strategy 2019-10-27 09:44:56 +01:00
Matthias 704121c197 Move most logic to history 2019-10-27 09:44:56 +01:00
Matthias 9c7696a8ce Add required_startup to backtesting 2019-10-27 09:44:56 +01:00
hroff-1902 2ec8376af9
Merge pull request #2342 from freqtrade/fix/negativeroi
Don't have backtest sells outside of a candle
2019-10-08 11:19:34 +03:00
Matthias 0664a8c0e6 add `--fee` to change fees to other values 2019-10-05 15:29:00 +02:00
Matthias 7ea9da9605 Fix #2277 2019-10-05 10:54:28 +02:00
Matthias dc47a391da Move ignore to corrct line for mypy 730 2019-09-30 19:32:46 +02:00
Matthias 1cd8ed0c1a Remove --refresh-pairs 2019-09-20 20:02:07 +02:00
hroff-1902 69f29e8907 minor: Cleanup for backtesting 2019-09-18 22:57:17 +03:00
hroff-1902 76e45883bd
Merge pull request #2253 from hroff-1902/backtesting-improve-logs
Improve logs for backtesting
2019-09-14 11:23:46 +03:00
hroff-1902 849d694c27 Don't inherit from object 2019-09-12 04:39:52 +03:00
hroff-1902 9bdfaf3803 Remove quotes around the pairs 2019-09-11 23:32:08 +03:00
hroff-1902 35580b135a Improve backtesting logs 2019-09-10 10:42:45 +03:00
Matthias 972b8a1726 Remove defaulting to test_data folder when no datadir is present 2019-09-07 21:06:20 +02:00
hroff-1902 d9c2b7d460 fix fetching ticker_interval from strategy 2019-08-26 22:31:24 +03:00
hroff-1902 bfc68ec792 minor cleanup in Backtesting 2019-08-25 23:36:42 +03:00
Matthias 9e24992835 Remove calls to load_data using live= 2019-08-20 07:00:43 +02:00
Matthias 9e8ca8d4bf
Merge pull request #2138 from freqtrade/history_docstrings
Refactorings to history
2019-08-20 06:35:54 +02:00
Matthias 09286d4918 file_dump_json accepts Path - so we should feed it that 2019-08-16 13:04:48 +02:00
Matthias 51c3a31bb5 Correct imports and calls to parse_timerange 2019-08-14 10:07:32 +02:00
Matthias 3d3b0938e5
Merge pull request #2101 from freqtrade/backtest_ticker_interval_unset
Backtest ticker interval unset
2019-08-07 14:20:36 +02:00
Matthias 7e91a0f4a8 Fail gracefully if ticker-interval is not set 2019-08-06 06:45:44 +02:00
Matthias bc2e920ae2 Adjust code to verify "current" candle for buy/sells 2019-08-05 20:07:29 +02:00
Matthias 5144e98a82
Merge pull request #2015 from hroff-1902/refactor/config2
Make configuration a module
2019-07-15 19:41:57 +02:00
hroff-1902 1bdffcc73b make configuration a sep. module, including arguments 2019-07-12 00:49:23 +03:00
hroff-1902 c474e2ac86 fix #2008 2019-07-10 01:53:40 +03:00
Matthias 700bc087d3
Merge pull request #1952 from hroff-1902/fix/1948
Fix #1948
2019-06-27 19:36:06 +02:00
hroff-1902 e5a8030dd7 comment added 2019-06-27 16:42:10 +03:00
Matthias a07653a6cc Merge branch 'develop' into fix/validate_dataframe 2019-06-24 06:21:08 +02:00
hroff-1902 7fbdf36c64 avoid code duplication while selecting min_roi entries 2019-06-23 19:23:51 +03:00
Matthias 4cbcb5f36f Move .title to ExchangeResolver (it does not make sense to do this over
and over again)
2019-06-22 16:52:14 +02:00
Matthias 55079831a1 Don't explicitly validate backtest data (it's done while loading now). 2019-06-15 13:45:50 +02:00
Matthias 1afe6c1437 Don't run validation per strategy, it's only eneded once 2019-06-14 19:37:54 +02:00
Matthias 4dc3a0ca1d Small cleanup to reduce dict lookups during backtesting/hyperopt 2019-06-10 16:20:19 +02:00
hroff-1902 90b0f1daa8 minor optimize cleanup 2019-06-10 02:08:54 +03:00
Matthias c2f6897d8b Move download of live data to load_data
Avoids code duplication in backtesting and plot_dataframe
2019-05-29 20:20:20 +02:00
Matthias 236c392d28 Don't load hyperopts / optimize dependency tree if that module is not
used
2019-05-25 20:00:31 +02:00
Matthias b38c43141c Adjust imports to new location 2019-05-25 16:53:35 +02:00
hroff-1902 8b95e12468 log message adjusted in backtesting and hyperopt 2019-05-15 12:05:35 +03:00
Matthias bf56e25404
Merge pull request #1746 from hroff-1902/json-defaults
Support for defaults in json schema
2019-04-24 12:20:39 +02:00
Matthias d16ccd7e37 Merge branch 'develop' into json-defaults 2019-04-24 09:51:04 +02:00
hroff-1902 ad85ac3dde make --refresh-pairs-cached common option for optimization; added support for it into hyperopt 2019-04-22 21:24:45 +03:00
hroff-1902 9fbe573cca limit usage of ccxt to freqtrade/exchange only 2019-04-09 12:27:35 +03:00
hroff-1902 4559a38172 PoC: use defaults in json schema for some exchange options 2019-04-08 04:42:28 +03:00
hroff-1902 8cb1024ff6
Merge branch 'develop' into ccxt-parse_timeframe 2019-04-05 23:16:27 +03:00
Misagh 9dc2a30793
Merge pull request #1683 from gianlup/fix_bt_partial_data
Fix backtest problem with partial data
2019-04-05 07:28:57 +02:00
Matthias 7010c835d2 Improve commentign 2019-04-04 20:23:10 +02:00
hroff-1902 2aa1b43f01 get rid of TICKER_INTERVAL_MINUTES dict, use ccxt's parse_timeframe() instead 2019-04-04 20:56:40 +03:00
Matthias 32cbb714f9 Improve commenting on backtsting and backtest_multi_tst 2019-04-04 19:44:03 +02:00
Matthias 0307ba7883 Remove one branch - python does lazy evaluation 2019-04-03 20:04:04 +02:00
Matthias e085fd9e95 Disable dataprovider from hyperopt.
Dataprovider uses weak links to initialize, which cannot be pickled, and
therefore cannot be used during hyperopt.
2019-03-25 19:49:58 +01:00
Matthias 0ae81d4115 Provide dataprovider access during backtesting 2019-03-25 19:26:51 +01:00
Matthias 00e6749d8b Refactor backtest() to be a bit more concise 2019-03-23 15:00:07 +01:00
Gianluca Puglia 6b89e86a97 Removed Timestamp cast 2019-03-20 19:44:59 +01:00
Gianluca Puglia 0eff324ce0 Use dedicated index for every pair 2019-03-20 18:38:10 +01:00
Matthias e67ffd2d87 Fix issue that backtest is broken when stoploss_on_exchange is on 2019-03-06 19:55:34 +01:00
Matthias 02d13645b0 Merge branch 'develop' into feat/dataprovider 2019-01-26 19:29:41 +01:00
Matthias 3afe54790e
Merge pull request #1510 from gianlup/add_totprofit_to_bt
Added total profit column to backtest result
2019-01-25 06:38:39 +01:00
Matthias d136cac181 Merge branch 'develop' into feat/dataprovider 2019-01-23 21:01:19 +01:00
Gianluca Puglia 896c9d34fd Added total profit column do backtest result 2019-01-22 22:41:53 +01:00
Matthias 13e2f71d30 Add flake8 plugins and implement small improvements 2019-01-22 20:01:12 +01:00
Matthias 0aa0b1d4fe Store tickers by pair / ticker_interval 2019-01-22 07:07:15 +01:00
Matthias a206777fe5 Rename refresh_tickers to refresh_latest_ohlcv 2019-01-22 07:05:09 +01:00
Matthias 1340b71633 Add RunMode setting to determine bot state 2019-01-22 07:04:19 +01:00
Matthias a2c01916e1 Add type-ignores to floatfmt
tabulate supports this:
30554300d7/tabulate.py?at=master&fileviewer=file-view-default#tabulate.py-1291:1294
2019-01-17 20:28:21 +01:00
Matthias cd2bccd441 Have backtest use the same logic to get the ROI entry 2019-01-12 13:45:43 +01:00
Misagh 26a77e193e
Merge pull request #1454 from freqtrade/feat/interpolate_missing
interpolate missing candles
2019-01-04 22:33:53 +01:00
Matthias 2bc76771bf Align backtest to interface.py
interface.py roi calculation skips on <= duration
the correct selection is therefore trade_duration > x.
2019-01-01 16:50:10 +01:00
Matthias fae875f588 Implement missing_data_fillup to tests and operations 2018-12-31 19:15:49 +01:00
Matthias 8b9cc45f41 move test for data completeness
should be done before analyzing strategy
2018-12-31 15:09:50 +01:00
Matthias 429f846ad1 Switch load_data to kwargs 2018-12-15 20:31:05 +01:00
Matthias 6c02cc5993 Adjust test to pathlib 2018-12-15 14:14:38 +01:00
Matthias 21aba1620c Replace calls to load_data 2018-12-15 14:10:33 +01:00
Matthias 432cc00283 Adjust imports to data.history 2018-12-14 06:32:49 +01:00