21 lines
565 B
Python
21 lines
565 B
Python
"""策略抽象基类。策略只产生买卖意图(向 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:
|
||
...
|