Files
strat-playground/strategy/strategy.py
2026-03-12 08:16:39 +08:00

31 lines
599 B
Python

from abc import ABC, abstractmethod
from internal_types.types import Position, Quote
# todo:
# handle strategy that trades multiple instruments
# fractional position/volume for crypto
# callback for async order
class Strategy(ABC):
@abstractmethod
def curr_position(self) -> int:
pass
@abstractmethod
def desired_position(self) -> int:
pass
@abstractmethod
def order_filled(self, new_pos: Position):
pass
@abstractmethod
def process_quote(self, quote: Quote):
pass
@abstractmethod
def net_liquid_value(self, closing_price: float) -> float:
pass