""" 执行器抽象基类 """ from abc import ABC, abstractmethod import pandas as pd class Executor(ABC): """ 执行器抽象基类 所有执行器必须实现 execute 方法 """ mode: str = "base" def __init__(self, **params): """ 初始化执行器参数 Args: **params: 执行参数(如 initial_capital, trade_cost 等) """ self._params = params @abstractmethod def execute(self, signals: pd.DataFrame, data: pd.DataFrame) -> dict: """ 执行信号 Args: signals: 信号 DataFrame data: 收益率数据 DataFrame Returns: 回测结果字典,包含: - result: 回测 DataFrame(含净值、收益率) - portfolio: 组合对象(可选) - metrics: 绩效指标(可选) """ pass def __repr__(self) -> str: params_str = ', '.join([f"{k}={v}" for k, v in self._params.items()]) return f"{self.__class__.__name__}({params_str})"