Core Class Definitions


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: List property

run(data) abstractmethod

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

  • data

    a dictionary identifiying OHLCV and alternative data.



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


  • target_allocation (Dict[str, float]) –

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