Core Class Definitions

base_class.Strategy

The Strategy class is the highest level abstract class that stores all of the details of a Surmount trading strategy. It is not passed any inputs on instantiation, but the concrete implementation overload to do so.

interval: str abstractmethod property

assets: List[str] abstractmethod property

data property

run(data) abstractmethod

Runs the core logic of the strategy and returns a TargetAllocation object.

:param data: a dictionary identifiying OHLCV and alternative data.

base_class.TargetAllocation

The TargetAllocation class is a simple class that allows strategy output to be checked for validity and consistent across all strategies.

:param target_allocation: a dictionary mapping string tickers to float portfolio allocations (sum must be <= 1)

__init__(target_allocation)