Add support for collating and analysing rejected trades in backtest
This commit is contained in:
		| @@ -29,7 +29,7 @@ If all goes well, you should now see a `backtest-result-{timestamp}_signals.pkl` | ||||
| `user_data/backtest_results` folder. | ||||
|  | ||||
| To analyze the entry/exit tags, we now need to use the `freqtrade backtesting-analysis` command | ||||
| with `--analysis-groups` option provided with space-separated arguments (default `0 1 2`): | ||||
| with `--analysis-groups` option provided with space-separated arguments: | ||||
|  | ||||
| ``` bash | ||||
| freqtrade backtesting-analysis -c <config.json> --analysis-groups 0 1 2 3 4 | ||||
| @@ -39,6 +39,7 @@ This command will read from the last backtesting results. The `--analysis-groups | ||||
| used to specify the various tabular outputs showing the profit fo each group or trade, | ||||
| ranging from the simplest (0) to the most detailed per pair, per buy and per sell tag (4): | ||||
|  | ||||
| * 0: overall winrate and profit summary by enter_tag | ||||
| * 1: profit summaries grouped by enter_tag | ||||
| * 2: profit summaries grouped by enter_tag and exit_tag | ||||
| * 3: profit summaries grouped by pair and enter_tag | ||||
| @@ -114,3 +115,37 @@ For example, if your backtest timerange was `20220101-20221231` but you only wan | ||||
| ```bash | ||||
| freqtrade backtesting-analysis -c <config.json> --timerange 20220101-20220201 | ||||
| ``` | ||||
|  | ||||
| ### Printing out rejected trades | ||||
|  | ||||
| Use the `--rejected` option to print out rejected trades. | ||||
|  | ||||
| ```bash | ||||
| freqtrade backtesting-analysis -c <config.json> --rejected | ||||
| ``` | ||||
|  | ||||
| ### Writing tables to CSV | ||||
|  | ||||
| Some of the tabular outputs can become large, so printing them out to the terminal is not preferable. | ||||
| Use the `--analysis-to-csv` option to disable printing out of tables to standard out and write them to CSV files. | ||||
|  | ||||
| ```bash | ||||
| freqtrade backtesting-analysis -c <config.json> --analysis-to-csv | ||||
| ``` | ||||
|  | ||||
| By default this will write one file per output table you specified in the `backtesting-analysis` command, e.g. | ||||
|  | ||||
| ```bash | ||||
| freqtrade backtesting-analysis -c <config.json> --analysis-to-csv --rejected --analysis-groups 0 1 | ||||
| ``` | ||||
|  | ||||
| This will write to `user_data/backtest_results`: | ||||
| * rejected.csv | ||||
| * group_0.csv | ||||
| * group_1.csv | ||||
|  | ||||
| To override where the files will be written, also specify the `--analysis-csv-path` option. | ||||
|  | ||||
| ```bash | ||||
| freqtrade backtesting-analysis -c <config.json> --analysis-to-csv --analysis-csv-path another/data/path/ | ||||
| ``` | ||||
|   | ||||
| @@ -723,6 +723,9 @@ usage: freqtrade backtesting-analysis [-h] [-v] [--logfile FILE] [-V] | ||||
|                                       [--exit-reason-list EXIT_REASON_LIST [EXIT_REASON_LIST ...]] | ||||
|                                       [--indicator-list INDICATOR_LIST [INDICATOR_LIST ...]] | ||||
|                                       [--timerange YYYYMMDD-[YYYYMMDD]] | ||||
|                                       [--rejected] | ||||
|                                       [--analysis-to-csv] | ||||
|                                       [--analysis-csv-path PATH] | ||||
|  | ||||
| optional arguments: | ||||
|   -h, --help            show this help message and exit | ||||
| @@ -736,19 +739,27 @@ optional arguments: | ||||
|                         pair and enter_tag, 4: by pair, enter_ and exit_tag | ||||
|                         (this can get quite large) | ||||
|   --enter-reason-list ENTER_REASON_LIST [ENTER_REASON_LIST ...] | ||||
|                         Comma separated list of entry signals to analyse. | ||||
|                         Default: all. e.g. 'entry_tag_a,entry_tag_b' | ||||
|                         Space separated list of entry signals to analyse. | ||||
|                         Default: all. e.g. 'entry_tag_a entry_tag_b' | ||||
|   --exit-reason-list EXIT_REASON_LIST [EXIT_REASON_LIST ...] | ||||
|                         Comma separated list of exit signals to analyse. | ||||
|                         Space separated list of exit signals to analyse. | ||||
|                         Default: all. e.g. | ||||
|                         'exit_tag_a,roi,stop_loss,trailing_stop_loss' | ||||
|                         'exit_tag_a roi stop_loss trailing_stop_loss' | ||||
|   --indicator-list INDICATOR_LIST [INDICATOR_LIST ...] | ||||
|                         Comma separated list of indicators to analyse. e.g. | ||||
|                         'close,rsi,bb_lowerband,profit_abs' | ||||
|                         Space separated list of indicators to analyse. e.g. | ||||
|                         'close rsi bb_lowerband profit_abs' | ||||
|   --timerange YYYYMMDD-[YYYYMMDD] | ||||
|                         Timerange to filter trades for analysis,  | ||||
|                         start inclusive, end exclusive. e.g. | ||||
|                         20220101-20220201 | ||||
|   --rejected | ||||
|                         Print out rejected trades table | ||||
|   --analysis-to-csv | ||||
|                         Write out tables to individual CSVs, by default to  | ||||
|                         'user_data/backtest_results' unless '--analysis-csv-path' is given. | ||||
|   --analysis-csv-path [PATH] | ||||
|                         Optional path where individual CSVs will be written. If not used, | ||||
|                         CSVs will be written to 'user_data/backtest_results'. | ||||
|  | ||||
| Common arguments: | ||||
|   -v, --verbose         Verbose mode (-vv for more, -vvv to get all messages). | ||||
|   | ||||
		Reference in New Issue
	
	Block a user