first commit
This commit is contained in:
20
backend/app/backtest/strategies/base.py
Normal file
20
backend/app/backtest/strategies/base.py
Normal file
@@ -0,0 +1,20 @@
|
||||
"""策略抽象基类。策略只产生买卖意图(向 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:
|
||||
...
|
||||
Reference in New Issue
Block a user