Skip to content

KST #

KST #

KST(
    roc1_period: int,
    roc1_ma_period: int,
    roc2_period: int,
    roc2_ma_period: int,
    roc3_period: int,
    roc3_ma_period: int,
    roc4_period: int,
    roc4_ma_period: int,
    signal_period: int,
    input_values: List[float] = None,
    input_indicator: Indicator = None,
    input_modifier: InputModifierType = None,
    ma_type: MAType = MAType.SMA,
    input_sampling: SamplingPeriodType = None,
)

Bases: Indicator

Know Sure Thing.

Input type: float

Output type: KSTVal

Parameters:

Name Type Description Default
roc1_period int

ROC period.

required
roc1_ma_period int

ROC moving average period.

required
roc2_period int

ROC period.

required
roc2_ma_period int

ROC moving average period.

required
roc3_period int

ROC period.

required
roc3_ma_period int

ROC moving average period.

required
roc4_period int

ROC period.

required
roc4_ma_period int

ROC moving average period.

required
input_values List[float]

List of input values.

None
input_indicator Indicator

Input indicator.

None
input_modifier InputModifierType

Input modifier.

None
ma_type MAType

Moving average type.

SMA
input_sampling SamplingPeriodType

Input sampling type.

None
Source code in talipp/indicators/KST.py
def __init__(self,
             roc1_period: int,
             roc1_ma_period: int,
             roc2_period: int,
             roc2_ma_period: int,
             roc3_period: int,
             roc3_ma_period: int,
             roc4_period: int,
             roc4_ma_period: int,
             signal_period: int,
             input_values: List[float] = None,
             input_indicator: Indicator = None,
             input_modifier: InputModifierType = None,
             ma_type: MAType = MAType.SMA,
             input_sampling: SamplingPeriodType = None):
    super().__init__(input_modifier=input_modifier,
                     output_value_type=KSTVal,
                     input_sampling=input_sampling)

    self.roc1 = ROC(roc1_period)
    self.roc2 = ROC(roc2_period)
    self.roc3 = ROC(roc3_period)
    self.roc4 = ROC(roc4_period)

    self.roc1_ma = MAFactory.get_ma(ma_type, roc1_ma_period, input_indicator=self.roc1)
    self.roc2_ma = MAFactory.get_ma(ma_type, roc2_ma_period, input_indicator=self.roc2)
    self.roc3_ma = MAFactory.get_ma(ma_type, roc3_ma_period, input_indicator=self.roc3)
    self.roc4_ma = MAFactory.get_ma(ma_type, roc4_ma_period, input_indicator=self.roc4)
    self.signal_line = MAFactory.get_ma(ma_type, signal_period)

    self.add_sub_indicator(self.roc1)
    self.add_sub_indicator(self.roc2)
    self.add_sub_indicator(self.roc3)
    self.add_sub_indicator(self.roc4)
    self.add_managed_sequence(self.signal_line)

    self.initialize(input_values, input_indicator)

KSTVal dataclass #

KSTVal(kst: float = None, signal: float = None)

KST output type.

Parameters:

Name Type Description Default
kst float

KST value.

None
signal float

Signal line.

None