Skip to content

KAMA #

KAMA #

KAMA(
    period: int,
    fast_ema_constant_period: int,
    slow_ema_constant_period: int,
    input_values: List[float] = None,
    input_indicator: Indicator = None,
    input_modifier: InputModifierType = None,
    input_sampling: SamplingPeriodType = None,
)

Bases: Indicator

Kaufman's Adaptive Moving Average.

Input type: float

Output type: float

Parameters:

Name Type Description Default
period int

Volatility period.

required
fast_ema_constant_period int

Fast EMA smoothing factor.

required
slow_ema_constant_period int

Slow EMA smoothing factor.

required
input_values List[float]

List of input values.

None
input_indicator Indicator

Input indicator.

None
input_modifier InputModifierType

Input modifier.

None
input_sampling SamplingPeriodType

Input sampling type.

None
Source code in talipp/indicators/KAMA.py
def __init__(self, period: int,
             fast_ema_constant_period: int,
             slow_ema_constant_period: int,
             input_values: List[float] = None,
             input_indicator: Indicator = None,
             input_modifier: InputModifierType = None,
             input_sampling: SamplingPeriodType = None):
    super().__init__(input_modifier=input_modifier,
                     input_sampling=input_sampling)

    self.period = period

    self.fast_smoothing_constant = 2.0 / (fast_ema_constant_period + 1)
    self.slow_smoothing_constant = 2.0 / (slow_ema_constant_period + 1)

    self.volatility = []
    self.add_managed_sequence(self.volatility)

    self.initialize(input_values, input_indicator)