refactor(rotation): 统一与配置文件代码映射和基准指数使用方式

- 将默认代码映射字典和基准指数改为可被策略配置覆盖的形式
- 修改配置文件rotation.yaml中候选池配置从列表变为代码与名称的字典映射
- 在运行脚本中加载配置时支持字典格式的code_list和benchmark,兼容旧格式列表
- 更新回测策略引擎通过配置动态获取基准指数代码
- 打印输出和函数调用中统一使用从配置加载的代码映射和基准名称数据
This commit is contained in:
2026-03-19 00:33:06 +08:00
parent 9b154a1a25
commit 062f500369
4 changed files with 56 additions and 30 deletions

View File

@@ -25,11 +25,14 @@ class RotationStrategy(BacktestStrategy):
def fetch_data(self) -> pd.DataFrame:
"""获取数据"""
from config.settings import BENCHMARK_CODE
from config.settings import DEFAULT_BENCHMARK_CODE
# 从配置中读取基准代码,或使用默认值
benchmark_code = self.config.get("benchmark", {}).get("code", DEFAULT_BENCHMARK_CODE)
etf_data, benchmark_data, valid_codes = self.data_source.fetch_all(
self.config["code_list"],
BENCHMARK_CODE,
benchmark_code,
self.config["start_date"],
self.config["end_date"],
)