Source code for tradeexecutor.strategy.qstrader.alpha_model

"""Alpha model defines which trading pairs are likely to go up."""
import abc
from typing import Dict

import pandas as pd

from tradeexecutor.state.state import State
from tradeexecutor.strategy.trading_strategy_universe import TradingStrategyUniverseModel
from tradingstrategy.universe import Universe


[docs]class AlphaModel(abc.ABC): """Generate alpha signals based on the current trading universe and execution state;. These signals are used by the PortfolioConstructionModel to generate target weights for the portfolio. Implementing __call__ produces a dictionary keyed by Asset and with a scalar value as the signal. """
[docs] @abc.abstractmethod def __call__(self, ts: pd.Timestamp, universe: Universe, state: State, debug_details: Dict) -> Dict[int, float]: pass