feat(universe): B1-1 指数历史成分(index_weight)+ Universe 按 as_of 成分过滤
- index_weight 表(migration f5e0d1c2b3a4,MySQL 已应用;index_code+date+symbol 唯一) + IndexWeight 实体 + IndexConstituentRepository(members_at:取 <=as_of 最近一期快照, Survivorship-free / 无未来成分;latest_date) - UniverseSpec.index_code + universe.filter_stocks members 交集 + resolve_members; Research/Selection/Signal/Replay 服务注入 index repo(历史成分过滤,选股/回测共用) - tests/test_index_universe.py:快照历史成分(成分变更不入早期结果)、幂等、 空快照期空集、index_code 过滤下 as_of 一致性;全量 pytest 通过
This commit is contained in:
@@ -26,6 +26,9 @@ class UniverseSpec(BaseModel):
|
||||
exclude_st: bool = True
|
||||
exclude_suspended: bool = True
|
||||
min_listing_days: int = Field(default=250, ge=0, description="上市至少 N 个自然日")
|
||||
index_code: str | None = Field(
|
||||
default=None, description="指数成分过滤(如 000300.SH):按 as_of 当日历史成分(v3 §9)"
|
||||
)
|
||||
symbols: list[str] = Field(
|
||||
default_factory=list,
|
||||
description="白名单(可选):非空时仅这些 symbol 参与选股/回测",
|
||||
|
||||
Reference in New Issue
Block a user