test: define versioned research artifact contract

This commit is contained in:
ao gong
2026-08-21 22:26:51 +08:00
parent 55eeff3951
commit a9465e6479
2 changed files with 197 additions and 0 deletions
+13
View File
@@ -14,6 +14,7 @@ from quant_engine.metrics import (
calmar_ratio,
max_drawdown,
sharpe_ratio,
sortino_ratio,
summary,
win_rate,
)
@@ -51,6 +52,18 @@ def test_zero_volatility_metrics_return_zero() -> None:
assert calmar_ratio(returns) == 0.0
def test_sortino_ratio_uses_all_sessions_for_downside_deviation() -> None:
returns = pd.Series([0.02, -0.01, 0.0, -0.03])
downside = np.minimum(returns.to_numpy(), 0.0)
downside_deviation = np.sqrt(np.mean(np.square(downside))) * np.sqrt(
TRADING_DAYS_PER_YEAR
)
assert sortino_ratio(returns) == pytest.approx(
annualized_return(returns) / downside_deviation
)
def test_max_drawdown_includes_loss_from_initial_capital() -> None:
returns = pd.Series([-0.20, 0.0])