test: cover sortino boundary contracts

This commit is contained in:
ao gong
2026-08-21 22:30:28 +08:00
parent 0568cabda1
commit 2071d508d0
+10 -1
View File
@@ -49,6 +49,7 @@ def test_zero_volatility_metrics_return_zero() -> None:
returns = pd.Series([0.0, 0.0, 0.0]) returns = pd.Series([0.0, 0.0, 0.0])
assert sharpe_ratio(returns) == 0.0 assert sharpe_ratio(returns) == 0.0
assert sortino_ratio(returns) == 0.0
assert calmar_ratio(returns) == 0.0 assert calmar_ratio(returns) == 0.0
@@ -93,7 +94,15 @@ def test_summary_aliases_match_canonical_fields() -> None:
@pytest.mark.parametrize( @pytest.mark.parametrize(
"metric", "metric",
[annualized_return, annualized_volatility, sharpe_ratio, max_drawdown, calmar_ratio, win_rate], [
annualized_return,
annualized_volatility,
sharpe_ratio,
sortino_ratio,
max_drawdown,
calmar_ratio,
win_rate,
],
) )
def test_metrics_reject_non_series_input(metric) -> None: def test_metrics_reject_non_series_input(metric) -> None:
with pytest.raises(TypeError, match=r"expected pd\.Series"): with pytest.raises(TypeError, match=r"expected pd\.Series"):