mirror of
https://github.com/freqtrade/freqtrade.git
synced 2026-01-20 14:00:38 +00:00
Merge pull request #11499 from mrpabloyeah/add-relevant-metrics-to-backtest-breakdowns
Add relevant metrics to backtest breakdowns
This commit is contained in:
@@ -132,18 +132,18 @@ def text_table_periodic_breakdown(
|
||||
"""
|
||||
headers = [
|
||||
period.capitalize(),
|
||||
"Trades",
|
||||
f"Tot Profit {stake_currency}",
|
||||
"Wins",
|
||||
"Draws",
|
||||
"Losses",
|
||||
"Profit Factor",
|
||||
"Win Draw Loss Win%",
|
||||
]
|
||||
output = [
|
||||
[
|
||||
d["date"],
|
||||
d.get("trades", "N/A"),
|
||||
fmt_coin(d["profit_abs"], stake_currency, False),
|
||||
d["wins"],
|
||||
d["draws"],
|
||||
d["loses"],
|
||||
round(d["profit_factor"], 2) if "profit_factor" in d else "N/A",
|
||||
generate_wins_draws_losses(d["wins"], d["draws"], d.get("losses", d.get("loses", 0))),
|
||||
]
|
||||
for d in days_breakdown_stats
|
||||
]
|
||||
|
||||
@@ -231,8 +231,11 @@ def generate_periodic_breakdown_stats(
|
||||
profit_abs = day["profit_abs"].sum().round(10)
|
||||
wins = sum(day["profit_abs"] > 0)
|
||||
draws = sum(day["profit_abs"] == 0)
|
||||
loses = sum(day["profit_abs"] < 0)
|
||||
trades = wins + draws + loses
|
||||
losses = sum(day["profit_abs"] < 0)
|
||||
trades = wins + draws + losses
|
||||
winning_profit = day.loc[day["profit_abs"] > 0, "profit_abs"].sum()
|
||||
losing_profit = day.loc[day["profit_abs"] < 0, "profit_abs"].sum()
|
||||
profit_factor = winning_profit / abs(losing_profit) if losing_profit else 0.0
|
||||
stats.append(
|
||||
{
|
||||
"date": name.strftime("%d/%m/%Y"),
|
||||
@@ -240,8 +243,9 @@ def generate_periodic_breakdown_stats(
|
||||
"profit_abs": profit_abs,
|
||||
"wins": wins,
|
||||
"draws": draws,
|
||||
"loses": loses,
|
||||
"winrate": wins / trades if trades else 0.0,
|
||||
"losses": losses,
|
||||
"trades": trades,
|
||||
"profit_factor": round(profit_factor, 8),
|
||||
}
|
||||
)
|
||||
return stats
|
||||
|
||||
@@ -587,7 +587,7 @@ def test_generate_periodic_breakdown_stats(testdatadir):
|
||||
day = res[0]
|
||||
assert "date" in day
|
||||
assert "draws" in day
|
||||
assert "loses" in day
|
||||
assert "losses" in day
|
||||
assert "wins" in day
|
||||
assert "profit_abs" in day
|
||||
|
||||
|
||||
Reference in New Issue
Block a user