feat(data): 财务数据加载与清洗模块
新增 FinancialLoader 类,提供: - 财务数据加载与清洗(保留合并报表,按 update_flag 去重) - 支持 as-of join 拼接行情数据(无未来函数) - 自动识别财务表并配置 asof_backward 拼接模式
This commit is contained in:
@@ -72,9 +72,10 @@ class ExecutionPlanner:
|
||||
dependencies: Set[str],
|
||||
expression: Node,
|
||||
) -> List[DataSpec]:
|
||||
"""从依赖推导数据规格。
|
||||
"""从依赖推导数据规格(支持财务数据自动识别)。
|
||||
|
||||
使用 SchemaCache 动态扫描数据库表结构,自动匹配字段到对应的表。
|
||||
自动识别财务数据表并配置 asof_backward 模式。
|
||||
表结构只扫描一次并缓存在内存中。
|
||||
|
||||
Args:
|
||||
@@ -90,11 +91,21 @@ class ExecutionPlanner:
|
||||
|
||||
data_specs = []
|
||||
for table_name, columns in table_to_fields.items():
|
||||
data_specs.append(
|
||||
DataSpec(
|
||||
if schema_cache.is_financial_table(table_name):
|
||||
# 财务表使用 asof_backward 模式
|
||||
spec = DataSpec(
|
||||
table=table_name,
|
||||
columns=columns,
|
||||
join_type="asof_backward",
|
||||
left_on="trade_date",
|
||||
right_on="f_ann_date",
|
||||
)
|
||||
else:
|
||||
# 标准表使用默认模式
|
||||
spec = DataSpec(
|
||||
table=table_name,
|
||||
columns=columns,
|
||||
)
|
||||
)
|
||||
data_specs.append(spec)
|
||||
|
||||
return data_specs
|
||||
|
||||
Reference in New Issue
Block a user