"""策略抽象基类。策略只产生买卖意图(向 broker 下单),不负责撮合/费用。""" from __future__ import annotations from abc import ABC, abstractmethod import pandas as pd from ..broker import PaperBroker class Strategy(ABC): """compute 预算指标;on_bar 逐 bar 决策并向 broker 下单。""" @abstractmethod def compute(self, close: pd.Series, high: pd.Series, low: pd.Series) -> pd.DataFrame: ... @abstractmethod def on_bar(self, i: int, row: pd.Series, broker: PaperBroker) -> None: ...