Quant.Strategy.Volatility (quant v0.1.0-alpha.1)

Volatility-based trading strategies.

This module implements strategies based on volatility indicators such as Bollinger Bands, ATR-based systems, and volatility breakouts.

Supported Strategies (Future Implementation)

  • Bollinger Bands: Mean reversion using standard deviation bands
  • ATR Breakout: Average True Range based breakout system
  • Volatility Squeeze: Low volatility followed by breakout

Note

This module is a placeholder for future volatility strategy implementations. It will be completed when volatility indicators are added to Quant.Math.

Summary

Functions

Apply volatility indicators (placeholder).

Create a Bollinger Bands strategy (placeholder).

Get indicator columns for volatility strategies (placeholder).

Validate DataFrame for volatility strategies (placeholder).

Functions

apply_indicators(dataframe, strategy, opts \\ [])

@spec apply_indicators(Explorer.DataFrame.t(), map(), keyword()) ::
  {:ok, Explorer.DataFrame.t()} | {:error, term()}

Apply volatility indicators (placeholder).

Parameters

  • dataframe - Input DataFrame
  • strategy - Strategy configuration
  • opts - Additional options

Returns

Currently returns the DataFrame unchanged as volatility indicators are not yet implemented in Quant.Math.

bollinger_bands(opts \\ [])

@spec bollinger_bands(keyword()) :: map()

Create a Bollinger Bands strategy (placeholder).

This will be implemented when Bollinger Bands are added to Quant.Math.

Parameters

  • :period - Moving average period (default: 20)
  • :std_mult - Standard deviation multiplier (default: 2.0)
  • :column - Price column to use (default: :close)

get_indicator_columns(strategy)

@spec get_indicator_columns(map()) :: [String.t()]

Get indicator columns for volatility strategies (placeholder).

validate_dataframe(dataframe, strategy)

@spec validate_dataframe(Explorer.DataFrame.t(), map()) :: :ok | {:error, term()}

Validate DataFrame for volatility strategies (placeholder).