Files
chinese-equity-quant/pipeline/features/compute.py
T
2026-06-16 15:55:30 +08:00

42 lines
1.0 KiB
Python

"""Compatibility wrappers for daily feature computation and validation."""
from pathlib import Path
from typing import Iterable
import pandas as pd
from pipeline.derived.compute import (
DERIVED_KEY_COLUMNS,
compute_derived,
read_derived_frames,
validate_derived_frame,
)
FEATURE_KEY_COLUMNS = DERIVED_KEY_COLUMNS
def validate_feature_frame(features: pd.DataFrame) -> pd.DataFrame:
"""Validate and normalize a legacy daily feature frame."""
return validate_derived_frame(features)
def compute_feature(
minute: pd.DataFrame,
feature_type: str,
daily: pd.DataFrame | None = None,
**params,
) -> pd.DataFrame:
"""Compute one registered feature through the derived-data registry."""
return compute_derived(
derived_type=feature_type,
daily=daily,
minute=minute,
**params,
)
def read_feature_frames(feature_paths: Iterable[str | Path]) -> list[pd.DataFrame]:
"""Read and validate feature/derived-data parquet files."""
return read_derived_frames(feature_paths)