from typing import TypedDict

from .common import TaskBaseParameters


class STKFactorAnalysisParameters(TaskBaseParameters):
    """股票因子分析参数"""

    strategy_config: dict  # 完整 STKBacktestStrategyConfig，含 rank_factors 等
    rolling_period: int    # 滚动 IC 均值窗口（期数）


class CBFactorAnalysisParameters(TaskBaseParameters):
    """转债因子分析参数"""

    strategy_config: dict  # 完整 CBBacktestStrategyConfig，含 rank_factors 等
    rolling_period: int    # 滚动 IC 均值窗口（期数）


class ETFFactorAnalysisParameters(TaskBaseParameters):
    """ETF 因子分析参数"""

    strategy_config: dict  # 完整 ETFBacktestStrategyConfig，含 rank_factors 等
    rolling_period: int    # 滚动 IC 均值窗口（期数）
