IndicatorDefinition#

API documentation for tradeexecutor.strategy.pandas_trader.indicator.IndicatorDefinition Python class in Trading Strategy framework.

class IndicatorDefinition[source]#

Bases: object

A definition for a single indicator.

  • Indicator definitions are static - they do not change between the strategy runs

  • Used as id for the caching the indicator results

  • Definitions are used to calculate indicators for all trading pairs, or once over the whole trading universe

  • Indicators are calcualted independently from each other - a calculation cannot access cached values of other calculation

__init__(name, func, parameters, source=IndicatorSource.close_price, dependency_order=1)#
Parameters:
Return type:

None

Methods

__init__(name, func, parameters[, source, ...])

calculate_by_pair(input, pair, resolver)

Calculate the underlying indicator value.

calculate_by_pair_external(pair, resolver)

Calculate indicator for external data.

calculate_by_pair_ohlcv(candles, pair, resolver)

Calculate the underlying OHCLV indicator value.

calculate_universe(input, resolver)

Calculate the underlying indicator value.

get_function_body_hash()

Calculate the hash for the function code.

is_needed_for_pair(pair)

Currently indicators are calculated for spont pairs only.

is_per_pair()

Attributes

name

Name of this indicator.

func

The underlying method we use to

parameters

Parameters for building this indicator.

source

On what trading universe data this indicator is calculated

dependency_order

Dependency resolution order.

name: str#

Name of this indicator.

Later in decide_trades() you use this name to access the indicator data.

func: Optional[Callable]#

The underlying method we use to

Same function can part of multiple indicators with different parameters (length).

Because function pickling issues, this may be set to None in results.

parameters: dict#

Parameters for building this indicator.

  • Each key is a function argument name for func.

  • Each value is a single value

  • Grid search multiple parameter ranges are handled outside indicator definition

source: IndicatorSource#

On what trading universe data this indicator is calculated

dependency_order: int#

Dependency resolution order.

Indicators are calculated in order from the lowest order to the highest. The order parameter allows lightweight dependency resolution, where later indicators and read the earlier indicators data.

By default all indicators are on the same dependency resolution order layer 1 and cannot access data from other indicators. You need to create indicator with order == 2 to be able to access data from indicators where order == 1.

See IndicatorDependencyResolver for details and examples.

get_function_body_hash()[source]#

Calculate the hash for the function code.

Allows us to detect if the function body changes.

Return type:

str

is_needed_for_pair(pair)[source]#

Currently indicators are calculated for spont pairs only.

Parameters:

pair (TradingPairIdentifier) –

Return type:

bool

calculate_by_pair_external(pair, resolver)[source]#

Calculate indicator for external data.

Parameters:
Returns:

Single or multi series data.

  • Multi-value indicators return DataFrame with multiple columns (e.g. BB).

  • Single-value indicators return Series (e.g. RSI, SMA).

Return type:

pandas.core.frame.DataFrame | pandas.core.series.Series

calculate_by_pair(input, pair, resolver)[source]#

Calculate the underlying indicator value.

Parameters:
Returns:

Single or multi series data.

  • Multi-value indicators return DataFrame with multiple columns (BB).

  • Single-value indicators return Series (RSI, SMA).

Return type:

pandas.core.frame.DataFrame | pandas.core.series.Series

calculate_by_pair_ohlcv(candles, pair, resolver)[source]#

Calculate the underlying OHCLV indicator value.

Assume function can take parameters: open, high, low, close, volume, or any combination of those.

Parameters:
Returns:

Single or multi series data.

  • Multi-value indicators return DataFrame with multiple columns (BB).

  • Single-value indicators return Series (RSI, SMA).

Return type:

pandas.core.frame.DataFrame | pandas.core.series.Series

calculate_universe(input, resolver)[source]#

Calculate the underlying indicator value.

Parameters:
Returns:

Single or multi series data.

  • Multi-value indicators return DataFrame with multiple columns (BB).

  • Single-value indicators return Series (RSI, SMA).

Return type:

pandas.core.frame.DataFrame | pandas.core.series.Series

__init__(name, func, parameters, source=IndicatorSource.close_price, dependency_order=1)#
Parameters:
Return type:

None