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:
|
|
...
|