feat: compare legacy and live ranking universes

This commit is contained in:
2026-07-17 17:07:35 +02:00
parent 9800114fc4
commit bbc7383d3a
4 changed files with 528 additions and 218 deletions
+17
View File
@@ -1166,12 +1166,29 @@ def test_slim_replay_can_retain_shorts_for_ranking_universe(monkeypatch):
full_ranking_universe = bt._replay_candidates_for_period(
"AAA", columns, {}, {}, None, date.min, "daily", True
)
dual_ranking_replay = bt._replay_candidates_for_period(
"AAA", columns, {}, {}, None, date.min, "daily", True, True
)
assert [row["direction"] for row in long_only] == ["long"]
assert {row["direction"] for row in full_ranking_universe} == {
"long",
"short",
}
assert len(dual_ranking_replay) == 2
assert sum(
bool(row.get("_universe_rank_observation"))
for row in dual_ranking_replay
) == 1
monkeypatch.setattr(bt, "_window_setups", lambda *_args, **_kwargs: [])
rank_only = bt._replay_candidates_for_period(
"AAA", columns, {}, {}, None, date.min, "daily", True, True
)
assert len(rank_only) == 1
assert rank_only[0]["direction"] == "rank_only"
assert rank_only[0]["_rank_only"] is True
assert rank_only[0]["_universe_rank_observation"] is True
def test_daily_replay_uses_exact_date_ranking_periods():