BuyAndHold
class backtide.strategies.BuyAndHold(symbol=None)
Passive baseline that buys once and holds indefinitely.
The simplest possible strategy: buy on the very first bar and hold the position until the end of the simulation. Serves as the baseline benchmark against which all other strategies are compared. Equivalent to a passive index investment over the backtest window.
| Attributes |
Human-readable strategy name.
is_multi_asset : bool
Whether this is a multi-asset strategy.
|
See Also
Trend-following strategy driven by short-term price momentum.
Naive single Simple Moving Average trend-following strategy.
Classic channel-breakout trend-following system with ATR-based position sizing.
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, np.array | pd.DataFrame | pl.DataFrame]
Keys are the experiment's symbols and values are the historical
OHLCV data available up to the current bar.
portfolio : Portfolio
Current portfolio holdings (cash, positions and open orders).
state : State
Current simulation state.
indicators : dict[str, dict[str, np.array | pd.DataFrame | pl.DataFrame]] | None
The first keys are the indicator names. The second keys are the
experiment's symbols. The values are the pre-computed indicator
values.
None if 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.
|