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
Matthias
2a61629014
Export sell_reason from backtest
2018-07-19 19:29:31 +02:00
Matthias
cbffd3650b
add sell_reason to backtesting
2018-07-19 19:29:31 +02:00
Janne Sinivirta
0cc1b66ae7
Merge pull request #1037 from freqtrade/fix/backtest-comment
...
replace --realistic with 2 separate flags
2018-07-19 17:33:19 +03:00
Janne Sinivirta
6070d819b8
Merge pull request #1040 from freqtrade/xmatthias_backtest_duration
...
Fix backtest duration calculation
2018-07-19 17:32:11 +03:00
Matthias
aa69177436
Properly check emptyness and adjust floatfmt
2018-07-19 13:14:21 +02:00
Matthias
79b1030435
output duration in a more readable way
2018-07-18 20:08:55 +02:00
Matthias
f9f6a3bd04
cast to int to keep exports constant
2018-07-18 09:29:51 +02:00
Matthias
8e4d2abd4e
Fix typo
2018-07-18 09:10:17 +02:00
Matthias
08237abe20
Fix wrong backtest duration
...
identified in #1038
2018-07-18 09:06:12 +02:00
Matthias
c82276ecbe
add --disable-max-market-positions
2018-07-17 21:05:03 +02:00
Matthias
e17618407b
Rename --realistic-simulation to --enable-position-stacking
2018-07-17 20:26:59 +02:00
Janne Sinivirta
aeb4102bcb
refactor Analyze class methods to base Strategy class
2018-07-16 08:23:39 +03:00
Janne Sinivirta
85e6c9585a
remove pass-through methods from Analyze
2018-07-16 08:23:39 +03:00
Janne Sinivirta
a74147c472
move strategy initialization outside Analyze
2018-07-16 08:23:39 +03:00
Matthias
06c9494a46
add missing s to Backtest cum results
2018-07-11 14:50:04 +02:00
Janne Sinivirta
aa2366346a
Merge pull request #1001 from xmatthias/feat/backtest_cum_profit
...
Add cumulative profit to backtest result table
2018-07-11 07:21:28 +03:00
Matthias
8b06000f0f
Use open-rates for backtesting
2018-07-08 20:03:11 +02:00
Matthias
efaa8f16e7
Improve formattiong of table
2018-07-08 20:01:33 +02:00
Matthias
1a24afef77
add cumsum to backtest-results
2018-07-08 19:55:04 +02:00
Janne Sinivirta
bf4d0a9b70
sort imports
2018-07-04 10:31:35 +03:00
Michael Egger
6dd5f85fb6
Merge pull request #954 from freqtrade/feat/allow_backtest_plot
...
allow backtest ploting
2018-06-29 19:44:06 +02:00
xmatthias
e70cb963f7
document what to do with exported backtest results
2018-06-24 17:00:00 +02:00
Anton
f82b809fcf
Merge with develop
2018-06-23 16:50:27 +03:00
xmatthias
0440a19171
export open/close rate for backtesting too
...
preparation to allow plotting of backtest results
2018-06-23 14:19:50 +02:00
Janne Sinivirta
c73b9f5c77
avoid calling exchange.get_fee inside loop
2018-06-22 21:04:07 +03:00
xmatthias
251f7db3ca
require exchange object to delete pairs
2018-06-17 23:38:07 +02:00
xmatthias
21edcbdc27
Refactor exchange to class
2018-06-17 23:38:07 +02:00
Anton
ae94ab17f4
Merge branch 'develop' into feature-unlimited-stake_amount
2018-06-17 02:23:40 +03:00
Matthias
a5511e2e30
Merge pull request #894 from freqtrade/feature/force_close_backtest
...
Display open trades after backtest period
2018-06-16 12:49:08 +02:00
xmatthias
c0289ad844
use list comprehension to build list
2018-06-13 19:53:12 +02:00
xmatthias
e600be4f56
Reduce force-sell verbosity
2018-06-13 19:44:00 +02:00
xmatthias
6357812743
fix backtest report able
2018-06-13 06:57:49 +02:00
xmatthias
e3ced7c15e
extract export from backtest function
2018-06-12 22:29:30 +02:00
xmatthias
bfde33c945
Use timestamp() instead of strftime
...
this will avoid a bug shifting epoch time by 1 hour:
https://stackoverflow.com/questions/11743019/convert-python-datetime-to-epoch-with-strftime
2018-06-12 21:12:55 +02:00
xmatthias
335d1fbbbc
Check if no backtest data is found and fail gracefully
2018-06-11 19:50:43 +02:00
xmatthias
12e455cbf5
add buy/sell index to backtest result
2018-06-10 20:52:42 +02:00
xmatthias
27ee8f7360
make flake happy
2018-06-10 13:55:48 +02:00
xmatthias
1cd7ac55a8
Added "left open trades" report
2018-06-10 13:45:16 +02:00
xmatthias
b81588307f
Add "open_at_end" parameter
2018-06-10 13:37:53 +02:00
xmatthias
31025216f9
fix type of open/close timestmap
2018-06-10 13:32:07 +02:00
xmatthias
322a528c12
fix bug with backtestResult
2018-06-10 13:25:16 +02:00
xmatthias
9c57d3aa8b
add BacktestresultTuple
2018-06-10 13:15:46 +02:00
xmatthias
c1b2e06eda
simplify return from _get_sell_trade_entry
2018-06-10 09:07:04 +02:00
xmatthias
3094acc7fb
update comment
2018-06-10 08:58:28 +02:00
xmatthias
24a875ed46
remove experimental parameters - they are read by analyze.py anyway
2018-06-09 21:44:57 +02:00
xmatthias
5623ea3ac6
Add forcesell at end of backtest period
2018-06-09 21:44:20 +02:00
Anton
b4138f29c8
Merge with develop
2018-06-08 00:29:44 +03:00
Janne Sinivirta
b4ae5a36a8
use .copy() to avoid Pandas mistake. drop first row because of shifting
2018-06-07 17:29:40 +03:00
Janne Sinivirta
7f8e0ba25f
use buy/sell signal from previous candle, not current to avoid seeing to the future
2018-06-07 17:28:40 +03:00
xmatthias
7a34578b4d
refactor timerange to named tuple
2018-06-05 23:34:26 +02:00
Anton
87f750da35
Merge with develop
2018-06-04 01:50:10 +03:00
xmatthias
e3227a741c
add --export-filename for backtesting
2018-06-03 19:36:53 +02:00
xmatthias
50fc5f91ca
Merge branch 'develop' into mypy_typecheck
2018-06-03 10:35:56 +02:00
Raymond Luo
2791d543ea
Make backtesting report markdown shareable
...
Small tweak to make the backtesting report markdown ready and much easier to share reports on many markdown publishing tools and editors that already support Markdown Extra with just a copy and paste
Example:
![Example](https://i.imgur.com/HXlNkfm.png )
2018-06-02 19:52:16 +02:00
xmatthias
f88729f0e8
add ignore comment
2018-06-02 14:14:28 +02:00
xmatthias
0007002c80
fix test failure
2018-06-02 14:07:54 +02:00
xmatthias
0a595190a3
fix last typechecks
2018-06-02 13:59:35 +02:00
xmatthias
d9e951447f
remove _init function in backtesting (and according test)
2018-06-02 13:54:22 +02:00
xmatthias
4a322abd4d
Typecheck improvements
2018-06-02 13:44:05 +02:00
Anton
3427c7eb54
Use constants
2018-05-25 17:04:08 +03:00
Anton
9be98cd8f7
Add ability to set unlimited stake_amount
2018-05-23 13:15:03 +03:00
gcarq
306885e174
Merge branch 'develop' into feat/objectify-ccxt
2018-05-02 22:49:55 +02:00
Matthias Voppichler
a140748b5a
Merge branch 'feat/objectify-ccxt' into cxxt_obj_sellfix
2018-04-21 22:39:22 +02:00
gcarq
403f59ef45
use native python logger
2018-04-21 20:47:06 +02:00
Matthias Voppichler
ce90ee4ac2
have backtesting use fee_open and fee_close
2018-04-21 20:05:49 +02:00
enenn
94287d66a8
Flake8 fixes
2018-04-12 18:16:27 +02:00
enenn
1678518cd4
Add dry_run=True to config during backtesting
2018-04-12 18:16:26 +02:00
enenn
e42403fecc
Change date to timestamp conversion method in backtesting
2018-04-12 18:07:44 +02:00
enenn
1f75636e56
[1/3] Add support for multiple exchanges with ccxt (objectified version) ( #585 )
...
* remove obsolete helper functions and make _state a public member.
* remove function assertions
* revert worker() changes
* Update pytest from 3.4.2 to 3.5.0
* Adapt exchange functions to ccxt API
Remove get_market_summaries and get_wallet_health, add exception handling
* Add NetworkException
* Change pair format in constants.py
* Add tests for exchange functions that comply with ccxt
* Remove bittrex tests
* Remove Bittrex and Interface classes
* Add retrier decorator
* Remove cache from get_ticker
* Remove unused and duplicate imports
* Add keyword arguments for get_fee
* Implement 'get_pair_detail_url'
* Change get_ticker_history format to ccxt format
* Fix exchange urls dict, don't need to initialize exchanges
* Add "Using Exchange ..." logging line
2018-04-06 10:57:08 +03:00
gcarq
fee8d0a2e1
refactor get_timeframe
2018-03-29 20:16:25 +02:00
Janne Sinivirta
85a81b18a3
Merge pull request #586 from xmatthias/obj_backtest_pr2
...
fix backtest --export format
2018-03-27 12:43:52 +03:00
Matthias Voppichler
a182cab27f
fix backtest --export format
...
reverts regression introduced in c623564
2018-03-26 20:28:51 +02:00
gcarq
f374a062e1
remove freqtrade/logger.py
2018-03-25 21:43:00 +02:00
gcarq
fa7f74b4bc
use native python logger
2018-03-25 21:43:00 +02:00
gcarq
3f8d7dae39
make name a required argument and add fallback to getEffectiveLevel
2018-03-25 21:42:03 +02:00
Matthias Voppichler
85af68d807
ccxt - make backtesting work
2018-03-24 19:45:23 +01:00
Samuel Husso
eb4ac73b78
remove last bittrex references so that bot is runnable
2018-03-22 08:29:52 +02:00
gcarq
d2aea7bdc1
optimize imports
2018-03-20 19:50:04 +01:00
gcarq
5327533188
optimize: set correct typehints
2018-03-20 19:48:03 +01:00
gcarq
a6a38735b1
backtesting: only respect max_open_trades with realistic_simulation
2018-03-20 19:38:33 +01:00
gcarq
93931eb32b
fix typo in _generate_text_table
2018-03-19 23:05:12 +01:00
Gerald Lonlas
de468c6fc8
Fix wrong realistic_simulation implementation in Hyperopt
2018-03-04 02:31:25 -08:00
Gerald Lonlas
6fcc173489
Merge commit '35c51c73f713bfdb81bd84721f3dceab0c19e819' into feature/objectify
2018-03-04 01:33:39 -08:00
Gerald Lonlas
722ed48d9d
Merge commit 'e3d222912dfd775b7456a44d6d6055430711f251' into feature/objectify
2018-03-04 00:51:22 -08:00
Gerald Lonlas
38510d4b03
Merge commit '1134c81aad049d4357c8f299ffc801218f3d9574' into feature/objectify
2018-03-03 17:26:06 -08:00
Gerald Lonlas
84759073d9
Refactor Configuration() to apply common configurations all the time and to remove show_info
2018-03-03 13:43:14 -08:00
Gerald Lonlas
0632cf0f44
Merge commit 'aa7aeb046ef72412cadd094666efc8e4c503ef2d' into feature/objectify
2018-03-02 23:28:36 -08:00
Gerald Lonlas
bbb1a31fda
Merge commit 'c5400b6c37c7de64a86c9db39a4d0fa9169b35f6' into feature/objectify
2018-03-03 10:01:06 +08:00
Gerald Lonlas
d274f13480
Remove Memory profiler in Backtesting
2018-03-03 09:33:54 +08:00
Gerald Lonlas
8bd0f4d0d7
Remove ugly pprints
2018-03-03 09:33:54 +08:00
Gerald Lonlas
6ef7b7d93d
Complete Backtesting and Hyperopt unit tests
2018-03-03 09:33:54 +08:00
Gerald Lonlas
1d251d6151
Move Backtesting to a class and add unit tests
2018-03-03 09:33:54 +08:00
Janne Sinivirta
fac122891f
remove stoploss parameter from backtest, it is loaded from strategy
2018-02-17 11:14:03 +02:00
Janne Sinivirta
f64c8cc9ce
realistic should be False by default and enabled with a --realistic-simulation flag
2018-02-15 13:11:17 +02:00
Janne Sinivirta
2dd2f31431
remove repeated condition
2018-02-11 14:31:37 +02:00
Janne Sinivirta
dc105d5eae
better names for row variables
2018-02-11 14:24:19 +02:00
Janne Sinivirta
c62356438a
loop over arrays instead of dataframes
2018-02-11 14:18:57 +02:00
kryofly
12a19e400f
tests: more backtesting testing ( #496 )
...
* tests: more backtesting testing
* tests: hyperopt
* tests: document kludge
* tests: improve test_dataframe_correct_length
* tests: remove remarks
2018-02-08 21:49:43 +02:00
Janne Sinivirta
a28ffcbcf7
remove slow unnecessary table scan
2018-02-06 21:21:47 +02:00
Janne Sinivirta
a071571eac
switch to faster short circuiting condition
2018-02-06 12:13:12 +02:00
Janne Sinivirta
5cf2dd79f2
don't reset index if not needed
2018-02-06 11:34:01 +02:00
Janne Sinivirta
cf7c6d2e9c
switch to properly using dates as indexes, makes date based searching and slicing a lot faster
2018-02-06 11:34:00 +02:00
Janne Sinivirta
8c7b29734e
use date info to calculate trade durations
2018-02-06 11:34:00 +02:00
Janne Sinivirta
0a42a0e814
Merge pull request #479 from gcarq/fix/issue-478
...
Fix Backtesting / Hyperopt ticker_interval download
2018-01-31 17:15:47 +02:00
Jean-Baptiste LE STANG
07b7828f39
Fixing bug in backtesting causing to much sells
2018-01-31 07:59:45 +01:00
Gerald Lonlas
d313eb812d
Forgot one args.ticker_interval
2018-01-29 23:07:54 -08:00
Gerald Lonlas
524290d678
Fix backtesting ticker interval download
2018-01-29 22:51:29 -08:00
Jean-Baptiste LE STANG
94172091ae
Refactoring the sell conditions evaluation to share the function with backtesting
2018-01-29 10:10:19 +01:00
Janne Sinivirta
a7a7c37121
add day counter to timeframe
2018-01-26 18:32:45 +02:00
Janne Sinivirta
b7e297ebda
remove unused loop variable
2018-01-26 11:50:00 +02:00
Gerald Lonlas
eac6e05392
Fix error when config does not have stoploss
2018-01-22 20:51:39 -08:00
Gerald Lonlas
c46d78b4b9
Decouple strategy from analyse.py
2018-01-22 20:51:39 -08:00
Gerald Lonlas
ad2a5f1717
Remove optimize.load_data() that is called twice
2018-01-20 15:35:13 -08:00
Jean-Baptiste LE STANG
36797cda30
Merge branch 'develop' into support_multiple_ticker
2018-01-20 19:25:47 +01:00
kryofly
4a9e1cb345
Merge branch 'develop' into backtest-export
2018-01-19 07:02:38 +01:00
Jean-Baptiste LE STANG
7b292d5ca3
backtesting takes its ticker_interval from the config file, else from the command line options
2018-01-17 13:52:14 +01:00
kryofly
0e58ab7e01
more advanced use of --timerange
2018-01-16 00:15:49 +01:00
kryofly
71bb348698
rename --timeperiod to --timerange
2018-01-15 21:49:06 +01:00
kryofly
d4008374f6
backtest export: include enter,exit dates
2018-01-12 22:12:00 +01:00
kryofly
153e11f045
Merge branch 'develop' into timeperiod
2018-01-11 19:45:47 +01:00
kryofly
4781a23809
Merge branch 'develop' into backtest-export
2018-01-11 19:40:42 +01:00
kryofly
ed47ee4e29
backtest export json2
2018-01-11 19:14:11 +01:00
kryofly
27769f0301
uncomplex backtest
2018-01-11 17:45:41 +01:00
Janne Sinivirta
86db6c9084
sort imports
2018-01-11 07:08:56 +02:00
Janne Sinivirta
1b6b0ad9d2
autopep8
2018-01-11 06:50:36 +02:00
kryofly
b0f3fd7ffb
timeperiod argument to backtesting and hyperopt
2018-01-10 23:48:59 +01:00
kryofly
feca87345f
refactor
2018-01-10 23:00:40 +01:00
kryofly
60ed4b9d1e
--datadir <path> argument
...
This argument enables usage of different backtesting directories.
Useful if one wants compare backtesting performance over time.
2018-01-06 23:24:35 +01:00
Janne Sinivirta
41933c31ca
Merge pull request #315 from kryofly/tests_jan05
...
tests cover more backtesting
2018-01-06 09:26:20 +02:00
kryofly
79fcd0b06c
tests cover more backtesting
2018-01-05 10:44:10 +01:00
Gerald Lonlas
7fd6d089c0
Fix Backtesting header alignment
2018-01-04 23:14:10 -08:00
Gerald Lonlas
90017998fc
Use named argument for backtest()
2018-01-04 22:27:55 -08:00
Jean-Baptiste LE STANG
ea6a1c629d
fixing pep8 compliance
2018-01-03 11:50:30 +01:00
Jean-Baptiste LE STANG
eb53a796e2
pep8 compliance
2018-01-03 11:35:54 +01:00
Jean-Baptiste LE STANG
45f2d01895
- add a profit/loss counter
...
- the use of the sell_signal is conditional now (taken from the config)
2018-01-03 11:19:46 +01:00
Jean-Baptiste LE STANG
c176ace889
Adding sell_profit_only and stoploss in hyperopt
2018-01-03 10:56:18 +01:00
Janne Sinivirta
fed3024302
rewrite get_timeframe in backtesting
2018-01-02 21:54:31 +02:00
Janne Sinivirta
dc2f048c98
make tuples smaller in backtesting loops
2018-01-02 21:52:47 +02:00
Janne Sinivirta
82e9ed2ac2
shorten table title to match table length
2018-01-02 17:53:47 +02:00
Janne Sinivirta
ae52880f81
improve backtesting result formatting
2018-01-02 17:39:02 +02:00
Janne Sinivirta
7b0beb0afa
cleanups
2017-12-28 06:36:18 +02:00
Janne Sinivirta
de33d69eed
Lint fixes ( #236 )
...
* correct docstring
* add type annotation to trade_count_lock
* fix indentations
* allow globals in hyperopt.py
* fix import order
* simplify asserts
* use proper variable name
* simplify condition
* fix path operation that fails on windows
2017-12-25 12:07:50 +01:00
Janne Sinivirta
1058820e1b
just pass stake_amount instead of the whole config
2017-12-23 19:00:49 +02:00
Gerald Lonlas
d258118b0a
Fix the fee calculation, backtesting, and hyperopt fee calculation and avg_profit
2017-12-20 20:18:41 -08:00
Janne Sinivirta
c8fb6c4661
More lint fixes ( #198 )
...
* autopep fixes
* remove unused imports
* fix plot_dataframe.py lint warnings
* make pep8 error fails the build
* two more line breakings
* matplotlib.use() must be called before pyplot import
2017-12-18 17:36:00 +01:00
Gerald Lonlas
d613d63fdc
Fix the fee calculation
2017-12-17 23:01:34 -08:00