Momentum
class backtide.strategies.Momentum(period=14, ma_period=50)
Trend-following strategy driven by short-term price momentum.
Buys when short-term momentum turns positive (e.g. price rises above a recent trough) and sells when the price falls below a trend-filtering moving average. A straightforward trend-following approach that aims to ride established moves and exit before they reverse.
See Also
Passive baseline that buys once and holds indefinitely.
Rate of Change momentum strategy.
Simple Moving Average crossover strategy using fast and slow periods.
Methods
| description | Short explanation of what the strategy does. |
| evaluate | Evaluate the strategy and return orders. |
| required_indicators | Indicators that must be computed up-front for this strategy. |
method description()
Short explanation of what the strategy does.
| Returns |
str
The description.
|
method evaluate(data, portfolio, state, indicators=None)
Evaluate the strategy and return orders.
| Parameters |
data : dict[str, numpy.ndarray | pandas.DataFrame | polars.DataFrame]
Keys are the experiment's symbols and values are the historical
OHLCV data available up to the current bar. For example,
portfolio : backtide.backtest.Portfoliodata["AAPL"]["close"] selects AAPL's visible close-price history.
Current portfolio holdings (cash, positions and open orders). For
example,
state : backtide.backtest.Stateportfolio.positions.get("AAPL", 0.0) returns the current
signed quantity, while portfolio.orders contains pending orders.
Current simulation state. For example, use
indicators : dict[str, dict[str, numpy.ndarray | pandas.DataFrame | polars.DataFrame]] | Nonestate.is_warmup to
suppress orders during warmup and state.datetime to read the
current bar's timezone-aware timestamp.
The first keys are the indicator names. The second keys are the
experiment's symbols. The values are the pre-computed indicator
histories available up to the current bar. For example,
indicators["SMA_20"]["AAPL"] selects AAPL's visible 20-bar SMA
history. None is permitted when no indicators were selected.
|
| Returns |
list[Order]
Orders to place this tick.
|
method required_indicators()
Indicators that must be computed up-front for this strategy.
Returns a list of indicator instances, already parameterized with this strategy's current settings, that the engine will auto-include before the backtest starts.
| Returns |
list[BaseIndicator]
The required indicator instances.
|