test: cover sortino boundary contracts
This commit is contained in:
+10
-1
@@ -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"):
|
||||||
|
|||||||
Reference in New Issue
Block a user