feat(training): 实现训练模块核心组件(commits 6-9)

- StockPoolManager:每日独立筛选股票池,支持代码过滤和市值选择
- Trainer:整合训练完整流程,支持 processor 分阶段行为和模型持久化
- TrainingConfig:pydantic 配置管理,含必填字段和日期验证
- experiment 模块:预留结构
- 从计划中移除 metrics 组件
- 调整 commit 序号(7-10 → 6-9)
- 更新 training/__init__.py 导出所有公开 API
This commit is contained in:
2026-03-03 22:57:01 +08:00
parent f35a6a76a6
commit 192718095f
9 changed files with 584 additions and 73 deletions

View File

@@ -193,8 +193,17 @@ class TestLightGBMModel:
"""测试模型已注册到 registry"""
from src.training.registry import ModelRegistry
# 重新导入模型模块以确保注册(处理其他测试 clear 注册表的情况)
import importlib
import src.training.components.models.lightgbm as lightgbm_module
importlib.reload(lightgbm_module)
from src.training.components.models.lightgbm import (
LightGBMModel as ReloadedModel,
)
model_class = ModelRegistry.get_model("lightgbm")
assert model_class is LightGBMModel
assert model_class is ReloadedModel
def test_fit_predict_consistency(self):
"""测试多次预测结果一致"""