Skip to content

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

name : str

Human-readable strategy name.

is_multi_asset : bool
Whether this is a multi-asset strategy.


See Also

Momentum

Trend-following strategy driven by short-term price momentum.

SmaNaive

Naive single Simple Moving Average trend-following strategy.

TurtleTrading

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.