Skip to content

Commit

Permalink
Add data-analysis documentation
Browse files Browse the repository at this point in the history
  • Loading branch information
xmatthias committed Jun 22, 2019
1 parent de38aea commit 8758218
Show file tree
Hide file tree
Showing 3 changed files with 46 additions and 17 deletions.
18 changes: 1 addition & 17 deletions docs/backtesting.md
Original file line number Diff line number Diff line change
Expand Up @@ -221,24 +221,8 @@ strategies, your configuration, and the crypto-currency you have set up.
### Further backtest-result analysis

To further analyze your backtest results, you can [export the trades](#exporting-trades-to-file).
You can then load the trades to perform further analysis.
You can then load the trades to perform further analysis as shown in our [data analysis](data-analysis.md#backtesting) backtesting section.

A good way for this is using Jupyter (notebook or lab) - which provides an interactive environment to analyze the data.

Freqtrade provides an easy to load the backtest results, which is `load_backtest_data` - and takes a path to the backtest-results file.

``` python
from freqtrade.data.btanalysis import load_backtest_data
df = load_backtest_data("user_data/backtest-result.json")

# Show value-counts per pair
df.groupby("pair")["sell_reason"].value_counts()

```

This will allow you to drill deeper into your backtest results, and perform analysis which would make the regular backtest-output unreadable.

If you have some ideas for interesting / helpful backtest data analysis ideas, please submit a PR so the community can benefit from it.

## Backtesting multiple strategies

Expand Down
44 changes: 44 additions & 0 deletions docs/data-analysis.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
# Analyzing bot data

After performing backtests, or after running the bot for some time, it will be interresting to analyze the results your bot generated.

A good way for this is using Jupyter (notebook or lab) - which provides an interactive environment to analyze the data.

The following helpers will help you loading the data into Pandas DataFrames, and may also give you some starting points in analyzing the results.

## Backtesting

To analyze your backtest results, you can [export the trades](#exporting-trades-to-file).
You can then load the trades to perform further analysis.

A good way for this is using Jupyter (notebook or lab) - which provides an interactive environment to analyze the data.

Freqtrade provides an easy to load the backtest results, which is `load_backtest_data` - and takes a path to the backtest-results file.

``` python
from freqtrade.data.btanalysis import load_backtest_data
df = load_backtest_data("user_data/backtest-result.json")

# Show value-counts per pair
df.groupby("pair")["sell_reason"].value_counts()

```

This will allow you to drill deeper into your backtest results, and perform analysis which would make the regular backtest-output unreadable.

If you have some ideas for interesting / helpful backtest data analysis ideas, please submit a PR so the community can benefit from it.

## Live data

To analyze the trades your bot generated, you can load them to a DataFrame as follwos:

``` python
from freqtrade.data.btanalysis import load_trades_from_db

df = load_trades_from_db("sqlite:///tradesv3.sqlite")

df.groupby("pair")["sell_reason"].value_counts()

```

Feel free to submit an issue or Pull Request if you would like to share ideas on how to best analyze the data.
1 change: 1 addition & 0 deletions mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ nav:
- Plotting: plotting.md
- Deprecated features: deprecated.md
- FAQ: faq.md
- Data Analysis: data-analysis.md
- SQL Cheatsheet: sql_cheatsheet.md
- Sandbox testing: sandbox-testing.md
- Contributors guide: developer.md
Expand Down

0 comments on commit 8758218

Please sign in to comment.