-
This commit is contained in:
33
strategy/strategy.py
Normal file
33
strategy/strategy.py
Normal file
@@ -0,0 +1,33 @@
|
||||
from abc import ABC, abstractmethod
|
||||
|
||||
from internal_types.types import OHLC, BidAsk, Instrument, Position
|
||||
|
||||
|
||||
# todo:
|
||||
# handle strategy that trades multiple instruments
|
||||
# fractional position/volume for crypto
|
||||
# callback for async order
|
||||
#
|
||||
# def instruments_to_trade
|
||||
# def 'stuff' to stream (stock price, vix, ...)
|
||||
class Strategy(ABC):
|
||||
|
||||
@abstractmethod
|
||||
def unfilled_positions(self, instr: Instrument) -> Position:
|
||||
pass
|
||||
|
||||
@abstractmethod
|
||||
def order_filled(self, new_pos: Position):
|
||||
pass
|
||||
|
||||
@abstractmethod
|
||||
def process_bid_ask(self, bid_ask: BidAsk):
|
||||
pass
|
||||
|
||||
@abstractmethod
|
||||
def process_ohlc(self, ohlc: OHLC):
|
||||
pass
|
||||
|
||||
@abstractmethod
|
||||
def net_liquid_value(self, at_price: float) -> float:
|
||||
pass
|
||||
Reference in New Issue
Block a user