Fix drawdown calculation when maximum drawdown occurs on the first trade

This commit is contained in:
mrpabloyeah
2025-04-02 15:46:05 +02:00
parent be2d97b559
commit 3edc442f48
2 changed files with 7 additions and 8 deletions

View File

@@ -562,8 +562,9 @@ def test_calculate_max_drawdown2():
assert pytest.approx(drawdown.relative_account_drawdown) == 0.32129575
df = DataFrame(zip(values[:5], dates[:5], strict=False), columns=["profit", "open_date"])
with pytest.raises(ValueError, match="No losing trade, therefore no drawdown."):
calculate_max_drawdown(df, date_col="open_date", value_col="profit")
# No losing trade ...
drawdown = calculate_max_drawdown(df, date_col="open_date", value_col="profit")
assert drawdown.drawdown_abs == 0.0
df1 = DataFrame(zip(values[:5], dates[:5], strict=False), columns=["profit", "open_date"])
df1.loc[:, "profit"] = df1["profit"] * -1