Matthias
9297a90d7f
Use proper indexing to avoid deprecation warnings
2023-10-30 18:26:25 +01:00
Matthias
b19f17fdfa
Improve handling of bt results in optimize_reports
2023-10-30 18:26:01 +01:00
Matthias
0a5cee6a73
Ensure we're not erroring on invalid custom_entry / exit prices
...
closes #9323
2023-10-19 22:06:21 +02:00
Matthias
b65fa98cee
Simplify backtesting by using current_time more consequently
2023-10-11 19:45:00 +02:00
Matthias
b57821b273
Add set_funding_fees to backtesting
2023-10-11 19:38:58 +02:00
Stefano Ariestasia
f14b4133c3
fix wording
2023-10-03 13:36:31 +09:00
Stefano
609ed2d7b3
fix return values
2023-10-03 08:41:05 +09:00
Stefano Ariestasia
183166b3fb
fix output if no variance, and fix docs
2023-10-03 08:27:28 +09:00
Matthias
84335d58b3
Greatly speed up recursive by caching exchange
2023-10-02 06:34:35 +02:00
Matthias
19af144b33
Improve of analysis files further
2023-10-01 07:58:46 +02:00
Matthias
7e6f2cba53
Move analysis command into their own subspace
2023-10-01 07:54:09 +02:00
Matthias
659cbd987a
Merge pull request #9152 from stash86/bt-metrics
...
Add recursive-analysis sub-command
2023-09-29 17:59:37 +02:00
Stefano Ariestasia
7971cb29bb
fix error message
2023-09-29 14:17:44 +09:00
Matthias
37550d3bdb
Fix typo in --strategy_list
2023-09-28 21:01:37 +02:00
Matthias
504f51fabb
Fix liquidation price setting in backtesting
...
closes #9205
2023-09-27 06:40:24 +02:00
Matthias
966247baaf
Make sure use_db is set as early as possible.
2023-09-23 18:20:19 +02:00
Stefano
89d47ffd8f
4 more tests
2023-09-21 17:47:51 +09:00
Stefano
b9e9f82503
first test done
2023-09-21 16:45:43 +09:00
Stefano Ariestasia
37fa186c55
remove 1 column
2023-09-20 22:43:01 +09:00
Stefano Ariestasia
1555667da7
Merge remote-tracking branch 'origin/bt-metrics2' into bt-metrics2
2023-09-20 17:55:59 +09:00
Stefano Ariestasia
8a52a7b50d
Merge branch 'freqtrade:develop' into bt-metrics2
2023-09-20 17:48:52 +09:00
Axel-CH
a7cd9d77f2
ignore custom_entry_price trade object type test, remove LocalTrade as type
2023-09-16 13:58:59 -04:00
axel
cf96ad1d1b
add trade param to custom entry price in interface, bot, backtesting, exemples
2023-09-16 02:32:03 -04:00
Stefano Ariestasia
08dffc95d8
fix wording
2023-09-13 11:58:28 +09:00
Stefano Ariestasia
5019fb5bf3
fix flake8
2023-09-12 19:58:40 +09:00
Stefano Ariestasia
a0e0d7fe27
more fixes
2023-09-12 19:57:16 +09:00
Stefano Ariestasia
6377fd2689
flake8 fix
2023-09-12 19:54:25 +09:00
root
bd9ea9bd8c
precommit fix
2023-09-12 19:50:39 +09:00
Stefano Ariestasia
cfeefa8754
remove prepare data from baseanalysis
2023-09-12 19:29:13 +09:00
Stefano Ariestasia
475d8486bb
fix mutable Backtest
2023-09-12 19:21:01 +09:00
Stefano Ariestasia
4d1810c2b6
update lookahead analysis
2023-09-12 19:11:19 +09:00
Stefano Ariestasia
6360e7fb15
debug
2023-09-12 16:20:04 +09:00
Stefano Ariestasia
40695a39d5
add missing var
2023-09-12 16:14:25 +09:00
Stefano Ariestasia
008f621211
create BaseAnalysis class
2023-09-12 15:42:32 +09:00
Stefano Ariestasia
5608bbde9c
Merge branch 'freqtrade:develop' into bt-metrics
2023-09-12 13:56:24 +09:00
Matthias
2ee152c5a6
Merge pull request #8779 from Axel-CH/feature/multiple_open_orders
...
Feature: Multiple open orders
2023-09-10 17:22:26 +02:00
Matthias
f8b97b6aa7
Fix dtype mismatch error
2023-09-08 07:05:38 +02:00
Matthias
8c95207ca4
Merge branch 'develop' into pr/Axel-CH/8779
2023-09-07 20:19:25 +02:00
Stefano Ariestasia
cea3f7d3fa
fix flake8
2023-09-04 11:53:59 +09:00
Stefano Ariestasia
a9f63c6a99
fix mypy
2023-09-04 11:52:09 +09:00
Stefano Ariestasia
0ada2d9390
fix mypy
2023-09-04 11:45:25 +09:00
Stefano Ariestasia
e1b6b9b5a6
ruff fix
2023-09-04 11:41:24 +09:00
root
3fea2a35a2
pre-commit fixes
2023-09-04 11:38:13 +09:00
Stefano Ariestasia
821a598ff4
fix ruff
2023-09-04 11:35:44 +09:00
Stefano Ariestasia
b77f926cdd
add recursive analysis
2023-09-04 10:53:04 +09:00
Matthias
1a8b793c0a
Merge branch 'develop' into feat/stoploss_adjust
2023-08-29 07:04:08 +02:00
Matthias
95daff182d
Update backtesting to not use open_order_id
2023-08-25 07:08:24 +02:00
Matthias
452e1ab016
get_analyzed_dataframe should provide dataframe with startup candles
...
closes #7389
2023-08-15 19:43:04 +02:00
Matthias
161ab14ed0
Avoid lookahead bias through informative pairs in callbacks
2023-08-15 17:48:07 +02:00
Matthias
070a1990e8
Improve handling of None values from custom_stoploss
2023-08-14 16:46:33 +02:00
Matthias
fc60c0df19
Add call to stoploss-adjust for backtesting
2023-08-14 16:00:33 +02:00
Matthias
d53b6871ea
Bump pre-commit mypy
2023-08-14 13:22:55 +02:00
Matthias
08bc615826
Further simplify backtest order handling
2023-08-14 13:22:55 +02:00
Matthias
bcc2dd9803
Simplify backtest order closing
2023-08-14 13:22:55 +02:00
Matthias
d7e9f87b33
Improve comment indent
2023-08-14 13:22:55 +02:00
Matthias
d7556cd66a
Remove duplicate call in backtesting
2023-08-14 13:22:55 +02:00
Matthias
05e1828617
Improve Fee check
2023-08-09 20:26:08 +02:00
Matthias
4a62ebbf93
Don't hardcode fee, but use fee from the very first iteration.
2023-08-09 18:36:09 +02:00
hippocritical
25602ceac3
Added a fixed fee to 0.02 (any fixed value would suffice) since kucoin dynamically decides which pair gets which amount of fees and thereby producing false-positives upon verifying the entries/exits.
...
Added a check for timerange being set.
2023-08-05 08:24:47 +02:00
hippocritical
065899b426
Merge branch 'freqtrade:develop' into develop
2023-08-05 07:36:29 +02:00
Matthias
81cd241954
Update API backtest to return proper metadata
2023-08-03 07:05:57 +02:00
hippocritical
fe6deef1bd
Merge branch 'freqtrade:develop' into develop
2023-08-02 20:02:55 +02:00
Matthias
1a1103c239
Add backtest-result typing
2023-07-30 10:54:03 +02:00
Matthias
3148cd39c2
Don't drop metadata from original dict when storing backtest results
2023-07-30 10:54:03 +02:00
Matthias
6659d26131
Merge branch 'develop' into dataformat/feather
2023-07-29 20:04:12 +02:00
Matthias
47fca02ba0
Improve docstring
2023-07-25 07:06:42 +02:00
Matthias
327b055468
Add consecutive wins/losses to backtest output
2023-07-24 07:22:33 +02:00
Matthias
f26b49ee06
Ensure return value is an int, not a np.int
2023-07-24 07:09:19 +02:00
Matthias
0f046ceaf2
Implement calc_consecutive_losses
2023-07-24 06:36:24 +02:00
hippocritical
5b8800ee18
didnt intend to change the timerange itself, but the logger-output of the timerange
2023-07-23 20:20:15 +02:00
hippocritical
5bb74e448e
Merge remote-tracking branch 'origin/develop' into develop
2023-07-23 20:08:27 +02:00
hippocritical
e4b488cb84
added stake_amount to a fixed 10k value.
...
In a combination with a wallet size of 1 billion it should never be able to run out of money avoiding false-positives of some users who just wanted to test a strategy without actually checking how the stake_amount-variable should be used in combination with the strategy-function custom_stake_amount.
reason: some strategies demand a custom_stake_amount of 1$ demanding a very large wallet-size (which already was set previously)
Others start with 100% of a slot size and subdivide the base-orders and safety-orders down to finish at 100% of a slot-size and use unlimited stake_amount.
Edited docs to reflect that change.
2023-07-23 20:05:29 +02:00
hippocritical
70fa175f57
Merge branch 'freqtrade:develop' into develop
2023-07-23 20:01:59 +02:00
Matthias
6ddbc8c00d
Move generate_wins_draw_losses to bt_output (it's an output function, not a calculation)
2023-07-23 19:57:47 +02:00
hippocritical
ad428aa9b0
added stake_amount to a fixed 10k value.
...
In a combination with a wallet size of 1 billion it should never be able to run out of money avoiding false-positives of some users who just wanted to test a strategy without actually checking how the stake_amount-variable should be used in combination with the strategy-function custom_stake_amount
reason: some strategies demand a custom_stake_amount of 1$ demanding a very large wallet-size (which already was set previously)
Others start with 100% of a slot size and subdivide the base-orders and safety-orders down to finish at 100% of a slot-size and use unlimited stake_amount.
Edited docs to reflect that change too
2023-07-23 19:50:12 +02:00
hippocritical
1ab357dc32
added mentioning which pair + timerange + idx is biased for visibility and debugging purposes
2023-07-23 15:29:25 +02:00
hippocritical
a33be8a349
added dummy-varholders in case a not-last-trade is force-exit and else the indexes would shift ruining the analysis and making debugging easier (since the same ID will always be the same ID again)
2023-07-23 13:48:54 +02:00
hippocritical
a5f5293bc8
added logger-output when something is skipped or aborted
2023-07-23 11:23:02 +02:00
Matthias
955a63725a
Improve resiliance when showing older backtest results
2023-07-22 19:43:20 +02:00
Stefano Ariestasia
40d7d05e4e
merge 2 expectancy functions
2023-07-22 17:29:43 +09:00
Stefano Ariestasia
4812bcc28b
flake8 fiz
2023-07-22 09:13:24 +09:00
Stefano Ariestasia
c048e7229a
modify expectancy and expectancy ratio
2023-07-22 08:36:51 +09:00
Matthias
9bfe96d4d6
Simplify advise calls by extracting that part into a method.
2023-07-21 20:27:52 +02:00
Matthias
91bf8abf38
Add comment to clarify usage of trim_dataframes
2023-07-21 20:22:44 +02:00
Matthias
9c1fea0e7b
Add winrate to several bt metrics
2023-07-20 20:51:38 +02:00
Matthias
c64c10e76f
Use Fstrings in hyperopt-tools
2023-07-17 18:20:26 +02:00
Matthias
626ea6b119
Add backtesting support for order.stake_amount
2023-07-15 14:55:22 +02:00
Matthias
17296fdf9c
Use proper cost for order
...
closes #8906
2023-07-15 09:02:17 +02:00
Matthias
b593205ad9
No need to use .get() for properties with default values
2023-07-12 18:29:12 +02:00
Matthias
cca8c4e5b8
Update default dataformat to feather
2023-07-12 18:23:30 +02:00
Matthias
accc1b509b
Simplify class setups without inheritance
2023-06-29 12:16:10 +00:00
Matthias
1717f86702
Extract edge output to proper module
2023-06-25 17:45:01 +02:00
Matthias
72504e62ad
Extract btstorage methods
2023-06-25 17:42:58 +02:00
Matthias
65e8359908
Improve naming of new file
2023-06-25 17:11:13 +02:00
Matthias
794bca1379
Split optimize report generation from visualization
2023-06-25 17:09:57 +02:00
Matthias
5e084ad2e5
convert optimize_reports to a package
2023-06-25 17:08:41 +02:00
Matthias
bf872e8ed4
Simplify comparison depth
2023-06-17 14:25:46 +02:00
Matthias
6bb75f0dd4
Simplify import if only one element is used
2023-06-17 10:12:36 +02:00
Matthias
34e7e3efea
Simplify imports
2023-06-17 08:40:09 +02:00
Matthias
964bf76469
Invert parameters for initialize_single_lookahead_analysis
...
otherwise their order is reversed before calling LookaheadAnalysis for no good reason
2023-06-15 20:42:26 +02:00
Matthias
ad74e65673
Simplify configuration setup
2023-06-15 20:26:45 +02:00
hippocritical
6656740f21
Moved config overrides to its' own function
...
Added config overrides to dry_run_wallet and max_open_trades to avoid false positives.
2023-06-09 22:11:30 +02:00
Matthias
16b3363970
Fix type problem
2023-06-09 07:16:06 +02:00
Matthias
b89390c06b
Reduce log verbosity during bias tester runs
2023-06-09 07:15:36 +02:00
Matthias
05ea36f03b
Fix performance when running tons of backtests
2023-06-09 06:45:34 +02:00
Matthias
6b736c49d4
Dont persist Backtesting to avoid memory leak
2023-06-08 20:13:28 +02:00
hippocritical
6b3b5f201d
export_to_csv: Added forced conversion of float64 to int to remove the .0 values once and for all ...
2023-05-28 22:13:29 +02:00
hippocritical
eec7837167
- modified help-string for the cli-option lookahead_analysis_exportfilename
...
- moved doc from utils.md to lookahead-analysis.md and modified it (unfinished)
- added a check to automatically edit the config['backtest_cache'] to be 'none'
- adjusted test_lookahead_helper_export_to_csv to catch the new catching of errors
- adjusted test_lookahead_helper_text_table_lookahead_analysis_instances to catch the new catching of errors
- changed lookahead_analysis.start result-reporting to show that not enough trades were caught including x of y
2023-05-28 20:52:58 +02:00
hippocritical
9bb25be880
modified help-string for the cli-option lookahead_analysis_exportfilename
...
moved doc from utils.md to lookahead-analysis.md and modified it (unfinished)
added a check to automatically edit the config['backtest_cache'] to be 'none'
2023-05-27 22:31:47 +02:00
hippocritical
eb31b574c1
added returns to text_table_lookahead_analysis_instances
...
filled in test_lookahead_helper_text_table_lookahead_analysis_instances
2023-05-26 12:55:54 +02:00
Matthias
104fa9e32d
Use logger, not the logging module
2023-05-20 19:58:14 +02:00
Matthias
9869a21951
Move strategy to it's own directory to avoid having other
2023-05-20 19:51:54 +02:00
Matthias
e183707979
Further test lookahead_helpers
2023-05-20 19:51:54 +02:00
Matthias
ceddcd9242
Move most of the logic to lookahead_analysis helper
2023-05-20 19:51:54 +02:00
Matthias
1c4a7c7a05
Split Lookahead helper to separate file
2023-05-20 19:51:54 +02:00
Matthias
2e675efa13
Initial fix - test
2023-05-20 11:15:30 +02:00
Matthias
2e79aaae00
Remove usage of args.
...
It's clumsy to use and prevents specifying settings in the configuration.
2023-05-20 11:02:13 +02:00
hippocritical
36f14249d4
Merge branch 'freqtrade:develop' into develop
2023-05-13 22:41:02 +02:00
Matthias
1552d81f45
Simplify load_exchange interface
2023-05-13 11:03:26 +02:00
hippocritical
91ce1cb2ae
removed overwrite_existing_exportfilename_content (won't use it myself, wouldn't make sense for others to not overwrite something they re-calculated)
...
switched from args to config (args still work)
renamed exportfilename to lookahead_analysis_exportfilename so if users decide to put something into it then it won't compete with other configurations
2023-05-10 22:41:27 +02:00
hippocritical
9aac367534
Merge remote-tracking branch 'origin/develop' into develop
2023-05-08 22:58:30 +02:00
hippocritical
b252bdd3c7
made purging of config.freqai.identifier variable
2023-05-08 22:35:13 +02:00
hippocritical
2306c74dc1
adjusted code to matthias' specifications
...
did not change the code so that it only loads data once yet.
2023-05-06 21:56:11 +02:00
Matthias
023c155a25
Extract signals generation from backtesting class
2023-04-28 16:14:16 +02:00
Matthias
6e395ad7c9
Refactor methods in backtesting
2023-04-28 16:09:09 +02:00
Matthias
8dd8c24595
Merge branch 'develop' into pr/froggleston/7861
2023-04-28 14:59:03 +02:00
Matthias
e99af87b6d
store periodic breakdown in backtest results
...
This will enable the webserver to use this data.
2023-04-24 10:59:30 +02:00
Matthias
7ff35fea3c
Default weekly report to monday
...
closes #8502
2023-04-17 20:20:38 +02:00
Matthias
cf770d496b
Improve visual display of progressbar
2023-04-09 18:25:50 +02:00
Matthias
bfd9e35e34
Replace hyperopt progressbar with rich progressbar
2023-04-09 18:17:22 +02:00
Matthias
df51111c33
Always show strategy summary
2023-04-09 08:53:36 +02:00
Matthias
dd8900a1c6
Improve ordering of backtest output
2023-04-09 08:53:36 +02:00
Matthias
f03a99918a
Ensure hyper param file can be loaded
...
closes #8452
2023-04-04 20:04:28 +02:00
Matthias
80a27bc0db
Fix random uvicorn error
2023-03-26 18:18:52 +02:00
Matthias
1c9abd9e35
Properly respect can_short flag in backtesting
...
closes #8387
2023-03-26 17:27:52 +02:00
Matthias
c14ac8a205
Properly handle non-replaced first entry orders
2023-03-26 16:46:41 +02:00
Matthias
b09fb5826f
don't use "can_short" in backtesting to determine application of leverage
2023-03-26 16:21:51 +02:00
Matthias
73b59df77b
Merge branch 'develop' into pr/paranoidandy/8272
2023-03-26 11:22:24 +02:00
Matthias
86aef7cf9d
Add current_time to bot_loop_start callbak
2023-03-26 11:22:19 +02:00
Matthias
b317524ed7
protect adjust_trade_position from crashing in case of unsafe code
2023-03-24 20:27:45 +01:00
Matthias
ce3efa8f00
Remove pointless asserts
2023-03-19 18:05:08 +01:00
Matthias
c92f28bf6f
ruff: Activate UP ruleset
2023-03-19 17:57:56 +01:00
Matthias
222ecdecd2
Improve code quality
2023-03-19 17:50:08 +01:00
Matthias
f455e3327c
Simplify method further
2023-03-19 15:01:37 +01:00
Matthias
cd9c2c4c23
Merge branch 'develop' into pr/froggleston/7861
2023-03-19 15:00:20 +01:00
Matthias
af6fc886f6
Small refactor for new methods
2023-03-19 14:56:41 +01:00
Matthias
8f29312c9e
Minimum re-entry stake should not include stoploss
2023-03-14 08:14:01 +01:00
Andy Lawless
a3dee9350f
Move bot_loop_start call to run on every candle
2023-03-03 20:37:05 +00:00
Matthias
6e9ff5fdd8
Merge pull request #8202 from freqtrade/remove-populate-any-indicators
...
remove populate_any_indicators
2023-03-03 06:33:25 +01:00
Matthias
b5f55c9b14
Improve type safety in backtesting
2023-03-01 20:32:32 +01:00