feat(data): 财务数据加载与清洗模块

新增 FinancialLoader 类,提供:
- 财务数据加载与清洗(保留合并报表,按 update_flag 去重)
- 支持 as-of join 拼接行情数据(无未来函数)
- 自动识别财务表并配置 asof_backward 拼接模式
This commit is contained in:
2026-03-04 23:35:20 +08:00
parent 620696c842
commit 3b42093100
12 changed files with 695 additions and 379 deletions

View File

@@ -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