From c5489d530a8f62d9666866b1501fa66e581ba175 Mon Sep 17 00:00:00 2001 From: Matthias Date: Sun, 4 Jul 2021 19:50:44 +0200 Subject: [PATCH] Reexport File to docs to have this available as documentation too --- docs/strategy_analysis_example.md | 33 +++++++++++++++++++ .../templates/strategy_analysis_example.ipynb | 4 +-- 2 files changed, 35 insertions(+), 2 deletions(-) diff --git a/docs/strategy_analysis_example.md b/docs/strategy_analysis_example.md index 4c938500c..27c620c3d 100644 --- a/docs/strategy_analysis_example.md +++ b/docs/strategy_analysis_example.md @@ -130,6 +130,39 @@ trades = load_backtest_data(backtest_dir) trades.groupby("pair")["sell_reason"].value_counts() ``` +## Plotting daily profit / equity line + + +```python +# Plotting equity line (starting with 0 on day 1 and adding daily profit for each backtested day) + +from freqtrade.configuration import Configuration +from freqtrade.data.btanalysis import load_backtest_data, load_backtest_stats +import plotly.express as px +import pandas as pd + +# strategy = 'SampleStrategy' +# config = Configuration.from_files(["user_data/config.json"]) +# backtest_dir = config["user_data_dir"] / "backtest_results" + +stats = load_backtest_stats(backtest_dir) +strategy_stats = stats['strategy'][strategy] + +equity = 0 +equity_daily = [] +for dp in strategy_stats['daily_profit']: + equity_daily.append(equity) + equity += float(dp) + +dates = pd.date_range(strategy_stats['backtest_start'], strategy_stats['backtest_end']) + +df = pd.DataFrame({'dates': dates,'equity_daily': equity_daily}) + +fig = px.line(df, x="dates", y="equity_daily") +fig.show() + +``` + ### Load live trading results into a pandas dataframe In case you did already some trading and want to analyze your performance diff --git a/freqtrade/templates/strategy_analysis_example.ipynb b/freqtrade/templates/strategy_analysis_example.ipynb index 9af24ae2d..f3b0d8d03 100644 --- a/freqtrade/templates/strategy_analysis_example.ipynb +++ b/freqtrade/templates/strategy_analysis_example.ipynb @@ -197,7 +197,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -223,7 +223,7 @@ "\n", "dates = pd.date_range(strategy_stats['backtest_start'], strategy_stats['backtest_end'])\n", "\n", - "df = pd.DataFrame({'dates':dates,'equity_daily':equity_daily})\n", + "df = pd.DataFrame({'dates': dates,'equity_daily': equity_daily})\n", "\n", "fig = px.line(df, x=\"dates\", y=\"equity_daily\")\n", "fig.show()\n"