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 (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 |
|
Matthias
|
7a533de1a8
|
Use list ticker history for backtesting
|
2018-12-12 19:17:09 +01:00 |
|
Matthias
|
3ac2106a16
|
Merge pull request #1290 from freqtrade/fix/backtest_toomanyopen
fix backtesting not respecting max_open_trades
|
2018-11-30 19:17:09 +01:00 |
|
Matthias
|
21a093bcdb
|
extract resolvers to IResolvers and it's own package
|
2018-11-24 20:00:02 +01:00 |
|
Matthias
|
93429a58b2
|
remove TODO
|
2018-11-09 07:13:20 +01:00 |
|
Matthias
|
66487f2a13
|
require start/end-date argument in backtest
|
2018-11-09 07:13:20 +01:00 |
|
Matthias
|
e94da7ca41
|
inverse backtest logic to loop over time - not pairs (more realistic)
|
2018-11-09 07:12:41 +01:00 |
|
Matthias
|
95d271ca5d
|
Fix ROI close-rate calculation to work with fees - adjust tests
|
2018-11-01 13:14:59 +01:00 |
|
Matthias
|
8c93760a6d
|
simplify some code
|
2018-10-30 20:23:31 +01:00 |
|
Matthias
|
f96f0cdea7
|
Add additional comment
|
2018-10-30 20:02:31 +01:00 |
|
Matthias
|
98050ff594
|
use all min_roi entries
|
2018-10-29 19:27:23 +01:00 |
|
Matthias
|
233c442af9
|
Adjust backtest so sell uses stop-loss or roi value as closerate
|
2018-10-29 19:27:23 +01:00 |
|
Matthias
|
fb52d32296
|
Add validate_backtest_data function
|
2018-10-18 19:42:54 +02:00 |
|
Matthias
|
d7459bbbf3
|
refactor get_timeframe out of backtesting class
|
2018-10-17 19:59:33 +02:00 |
|
Matthias
|
8a3272e7c5
|
don't copy tickerdata_to_dataframe into backtesting
it's used only once, so this does not make sense and hides the origin of
the function
|
2018-10-17 19:47:19 +02:00 |
|
Matthias
|
6e66763e5f
|
Only load strategy once during backtesting
|
2018-09-27 19:23:55 +02:00 |
|
Matthias
|
567211e9f9
|
don't print "NAN" lines in "left_open_trades"
|
2018-09-20 20:35:26 +02:00 |
|
Matthias
|
6d1c82a5fa
|
Remove last refreence to get_candle_history
|
2018-08-19 19:50:14 +02:00 |
|
Janne Sinivirta
|
3a5b435dfa
|
Merge pull request #1089 from freqtrade/feat/backtest_multi_strat
Allow multi strategy backtest without data reload
|
2018-08-02 12:35:47 +03:00 |
|
creslin
|
a741f1144a
|
missing __init__.py
|
2018-08-02 08:58:04 +00:00 |
|
Matthias
|
40ee86b357
|
Adapt after rebase
|
2018-07-31 21:08:03 +02:00 |
|
Matthias
|
76fbb89a03
|
use print for backtest results to avoid odd newline-handling
|
2018-07-31 21:04:03 +02:00 |
|
Matthias
|
c648e2acfc
|
Adjust documentation to strategy table
|
2018-07-31 21:04:03 +02:00 |
|
Matthias
|
028589abd2
|
Add strategy summary table
|
2018-07-31 21:04:03 +02:00 |
|
Matthias
|
5125076f5d
|
Fix typo
|
2018-07-31 21:04:03 +02:00 |
|
Matthias
|
a57a2f4a75
|
Store backtest-result in different vars
|
2018-07-31 21:04:03 +02:00 |
|
Matthias
|
bd3563df67
|
Add test for new functionality
|
2018-07-31 21:04:03 +02:00 |
|
Matthias
|
644f729aea
|
Refactor strategy loading to __init__
|
2018-07-31 21:04:03 +02:00 |
|
Matthias
|
5f2e92ec5c
|
Refactor backtesting
|
2018-07-31 21:04:03 +02:00 |
|
Matthias
|
65aaa3dffd
|
Extract backtest strategy setting
|
2018-07-31 21:04:03 +02:00 |
|
Matthias
|
56046b3cb3
|
Add strategylist option to backtesting
|
2018-07-31 21:04:03 +02:00 |
|
Matthias
|
787d6042de
|
Switch from pair(str) to metadata(dict)
|
2018-07-29 20:56:23 +02:00 |
|
Matthias
|
df8700ead0
|
Adapt after merge from develop
|
2018-07-29 20:55:37 +02:00 |
|
xmatthias
|
2e6e5029ba
|
fix mypy and tests
|
2018-07-29 20:55:06 +02:00 |
|
Janne Sinivirta
|
4b38c8b11d
|
use pandas own min and max for column sorting
|
2018-07-25 17:04:25 +03:00 |
|
Janne Sinivirta
|
0b3190552e
|
Merge pull request #1018 from freqtrade/feat/sell_reason
Record sell reason
|
2018-07-24 09:09:45 +03:00 |
|
Matthias
|
4fb9823cfb
|
fix rebase problem
|
2018-07-19 19:50:06 +02:00 |
|
Matthias
|
760c79c5e9
|
Use .center() to output trades header line
|
2018-07-19 19:39:08 +02:00 |
|
Matthias
|
a452864b41
|
Use namedtuple for sell_return
|
2018-07-19 19:39:08 +02:00 |
|
Matthias
|
506aa0e3d3
|
Add print_sales table and test
|
2018-07-19 19:34:14 +02:00 |
|