Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Custom period_start for Input Sampler #142

Open
wants to merge 5 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 6 additions & 2 deletions talipp/indicators/ADX.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
from dataclasses import dataclass
from datetime import datetime
from typing import List, Any

from talipp.indicator_util import has_valid_values, previous_if_exists
Expand Down Expand Up @@ -37,17 +38,20 @@ class ADX(Indicator):
input_indicator: Input indicator.
input_modifier: Input modifier.
input_sampling: Input sampling type.
period_start: Period start for sampling (optional)
"""

def __init__(self, di_period: int,
adx_period: int,
input_values: List[OHLCV] = None,
input_indicator: Indicator = None,
input_modifier: InputModifierType = None,
input_sampling: SamplingPeriodType = None):
input_sampling: SamplingPeriodType = None,
period_start: datetime = None):
super().__init__(input_modifier=input_modifier,
output_value_type=ADXVal,
input_sampling=input_sampling)
input_sampling=input_sampling,
period_start=period_start)

self.di_period = di_period
self.adx_period = adx_period
Expand Down
8 changes: 6 additions & 2 deletions talipp/indicators/ALMA.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
from math import exp
from datetime import datetime
from typing import List, Any

from talipp.indicators.Indicator import Indicator, InputModifierType
Expand All @@ -20,6 +21,7 @@ class ALMA(Indicator):
input_indicator: Input indicator.
input_modifier: Input modifier.
input_sampling: Input sampling type.
period_start: Period start for sampling (optional)
"""

def __init__(self, period: int,
Expand All @@ -28,9 +30,11 @@ def __init__(self, period: int,
input_values: List[float] = None,
input_indicator: Indicator = None,
input_modifier: InputModifierType = None,
input_sampling: SamplingPeriodType = None):
input_sampling: SamplingPeriodType = None,
period_start: datetime = None):
super().__init__(input_modifier=input_modifier,
input_sampling=input_sampling)
input_sampling=input_sampling,
period_start=period_start)

self.period = period
self.offset = offset
Expand Down
8 changes: 6 additions & 2 deletions talipp/indicators/AO.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
from datetime import datetime
from typing import List, Any

from talipp.indicator_util import has_valid_values
Expand All @@ -22,6 +23,7 @@ class AO(Indicator):
input_modifier: Input modifier.
ma_type: Moving average type.
input_sampling: Input sampling type.
period_start: Period start for sampling (optional)
"""

def __init__(self, fast_period: int,
Expand All @@ -30,9 +32,11 @@ def __init__(self, fast_period: int,
input_indicator: Indicator = None,
input_modifier: InputModifierType = None,
ma_type: MAType = MAType.SMA,
input_sampling: SamplingPeriodType = None):
input_sampling: SamplingPeriodType = None,
period_start: datetime = None):
super().__init__(input_modifier=input_modifier,
input_sampling=input_sampling)
input_sampling=input_sampling,
period_start=period_start)

self.fast_period = fast_period
self.slow_period = slow_period
Expand Down
8 changes: 6 additions & 2 deletions talipp/indicators/ATR.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
from datetime import datetime
from typing import List, Any

from talipp.indicator_util import has_valid_values
Expand All @@ -19,15 +20,18 @@ class ATR(Indicator):
input_indicator: Input indicator.
input_modifier: Input modifier.
input_sampling: Input sampling type.
period_start: Period start for sampling (optional)
"""

def __init__(self, period: int,
input_values: List[OHLCV] = None,
input_indicator: Indicator = None,
input_modifier: InputModifierType = None,
input_sampling: SamplingPeriodType = None):
input_sampling: SamplingPeriodType = None,
period_start: datetime = None):
super(ATR, self).__init__(input_modifier=input_modifier,
input_sampling=input_sampling)
input_sampling=input_sampling,
period_start=period_start)

self.period = period
self.tr = []
Expand Down
8 changes: 6 additions & 2 deletions talipp/indicators/AccuDist.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
from datetime import datetime
from typing import List, Any

from talipp.indicator_util import has_valid_values
Expand All @@ -18,15 +19,18 @@ class AccuDist(Indicator):
input_indicator: Input indicator.
input_modifier: Input modifier.
input_sampling: Input sampling type.
period_start: Period start for sampling (optional)
"""

def __init__(self, input_values: List[OHLCV] = None,
input_indicator: Indicator = None,
input_modifier: InputModifierType = None,
input_sampling: SamplingPeriodType = None):
input_sampling: SamplingPeriodType = None,
period_start: datetime = None):
super().__init__(
input_modifier=input_modifier,
input_sampling=input_sampling)
input_sampling=input_sampling,
period_start=period_start)

self.initialize(input_values, input_indicator)

Expand Down
8 changes: 6 additions & 2 deletions talipp/indicators/Aroon.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
from dataclasses import dataclass
from datetime import datetime
from typing import List, Any

from talipp.indicator_util import has_valid_values
Expand Down Expand Up @@ -33,16 +34,19 @@ class Aroon(Indicator):
input_indicator: Input indicator.
input_modifier: Input modifier.
input_sampling: Input sampling type.
period_start: Period start for sampling (optional)
"""

def __init__(self, period: int,
input_values: List[OHLCV] = None,
input_indicator: Indicator = None,
input_modifier: InputModifierType = None,
input_sampling: SamplingPeriodType = None):
input_sampling: SamplingPeriodType = None,
period_start: datetime = None):
super().__init__(input_modifier=input_modifier,
output_value_type=AroonVal,
input_sampling=input_sampling)
input_sampling=input_sampling,
period_start=period_start)

self.period = period

Expand Down
8 changes: 6 additions & 2 deletions talipp/indicators/BB.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
from dataclasses import dataclass
from datetime import datetime
from typing import List, Any

from talipp.indicator_util import has_valid_values
Expand Down Expand Up @@ -37,6 +38,7 @@ class BB(Indicator):
input_indicator: Input indicator.
input_modifier: Input modifier.
input_sampling: Input sampling type.
period_start: Period start for sampling (optional)
"""

def __init__(self, period: int,
Expand All @@ -45,10 +47,12 @@ def __init__(self, period: int,
input_indicator: Indicator = None,
input_modifier: InputModifierType = None,
ma_type: MAType = MAType.SMA,
input_sampling: SamplingPeriodType = None):
input_sampling: SamplingPeriodType = None,
period_start: datetime = None):
super().__init__(input_modifier=input_modifier,
output_value_type=BBVal,
input_sampling=input_sampling)
input_sampling=input_sampling,
period_start=period_start)

self.period = period
self.std_dev_mult = std_dev_mult
Expand Down
8 changes: 6 additions & 2 deletions talipp/indicators/BOP.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
from datetime import datetime
from typing import List, Any

from talipp.indicators.Indicator import Indicator, InputModifierType
Expand All @@ -17,14 +18,17 @@ class BOP(Indicator):
input_indicator: Input indicator.
input_modifier: Input modifier.
input_sampling: Input sampling type.
period_start: Period start for sampling (optional)
"""

def __init__(self, input_values: List[OHLCV] = None,
input_indicator: Indicator = None,
input_modifier: InputModifierType = None,
input_sampling: SamplingPeriodType = None):
input_sampling: SamplingPeriodType = None,
period_start: datetime = None):
super().__init__(input_modifier=input_modifier,
input_sampling=input_sampling)
input_sampling=input_sampling,
period_start=period_start)

self.initialize(input_values, input_indicator)

Expand Down
8 changes: 6 additions & 2 deletions talipp/indicators/CCI.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
from datetime import datetime
from typing import List, Any

from talipp.indicator_util import has_valid_values
Expand All @@ -20,15 +21,18 @@ class CCI(Indicator):
input_indicator: Input indicator.
input_modifier: Input modifier.
input_sampling: Input sampling type.
period_start: Period start for sampling (optional)
"""

def __init__(self, period: int,
input_values: List[OHLCV] = None,
input_indicator: Indicator = None,
input_modifier: InputModifierType = None,
input_sampling: SamplingPeriodType = None):
input_sampling: SamplingPeriodType = None,
period_start: datetime = None):
super().__init__(input_modifier=input_modifier,
input_sampling=input_sampling)
input_sampling=input_sampling,
period_start=period_start)

self.mean_dev = MeanDev(period)
self.add_managed_sequence(self.mean_dev)
Expand Down
8 changes: 6 additions & 2 deletions talipp/indicators/CHOP.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
from math import log10
from datetime import datetime
from typing import List, Any

from talipp.indicator_util import has_valid_values
Expand All @@ -21,15 +22,18 @@ class CHOP(Indicator):
input_indicator: Input indicator.
input_modifier: Input modifier.
input_sampling: Input sampling type.
period_start: Period start for sampling (optional)
"""

def __init__(self, period: int,
input_values: List[OHLCV] = None,
input_indicator: Indicator = None,
input_modifier: InputModifierType = None,
input_sampling: SamplingPeriodType = None):
input_sampling: SamplingPeriodType = None,
period_start: datetime = None):
super().__init__(input_modifier=input_modifier,
input_sampling=input_sampling)
input_sampling=input_sampling,
period_start=period_start)

self.period = period

Expand Down
8 changes: 6 additions & 2 deletions talipp/indicators/ChaikinOsc.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
from datetime import datetime
from typing import List, Any

from talipp.indicator_util import has_valid_values
Expand All @@ -22,6 +23,7 @@ class ChaikinOsc(Indicator):
input_indicator: Input indicator.
input_modifier: Input modifier.
input_sampling: Input sampling type.
period_start: Period start for sampling (optional)
"""

def __init__(self, fast_period: int,
Expand All @@ -30,9 +32,11 @@ def __init__(self, fast_period: int,
input_indicator: Indicator = None,
input_modifier: InputModifierType = None,
ma_type: MAType = MAType.EMA,
input_sampling: SamplingPeriodType = None):
input_sampling: SamplingPeriodType = None,
period_start: datetime = None):
super().__init__(input_modifier=input_modifier,
input_sampling=input_sampling)
input_sampling=input_sampling,
period_start=period_start)

self.fast_period = fast_period
self.slow_period = slow_period
Expand Down
8 changes: 6 additions & 2 deletions talipp/indicators/ChandeKrollStop.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
from dataclasses import dataclass
from datetime import datetime
from typing import List, Any

from talipp.indicator_util import has_valid_values
Expand Down Expand Up @@ -35,6 +36,7 @@ class ChandeKrollStop(Indicator):
input_indicator: Input indicator.
input_modifier: Input modifier.
input_sampling: Input sampling type.
period_start: Period start for sampling (optional)
"""

def __init__(self, atr_period: int,
Expand All @@ -43,10 +45,12 @@ def __init__(self, atr_period: int,
input_values: List[OHLCV] = None,
input_indicator: Indicator = None,
input_modifier: InputModifierType = None,
input_sampling: SamplingPeriodType = None):
input_sampling: SamplingPeriodType = None,
period_start: datetime = None):
super().__init__(input_modifier=input_modifier,
output_value_type=ChandeKrollStopVal,
input_sampling=input_sampling)
input_sampling=input_sampling,
period_start=period_start)

self.atr_period = atr_period
self.atr_mult = atr_mult
Expand Down
8 changes: 6 additions & 2 deletions talipp/indicators/CoppockCurve.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
from datetime import datetime
from typing import List, Any

from talipp.indicator_util import has_valid_values
Expand All @@ -22,6 +23,7 @@ class CoppockCurve(Indicator):
input_indicator: Input indicator.
input_modifier: Input modifier.
input_sampling: Input sampling type.
period_start: Period start for sampling (optional)
"""

def __init__(self, fast_roc_period: int,
Expand All @@ -30,9 +32,11 @@ def __init__(self, fast_roc_period: int,
input_values: List[float] = None,
input_indicator: Indicator = None,
input_modifier: InputModifierType = None,
input_sampling: SamplingPeriodType = None):
input_sampling: SamplingPeriodType = None,
period_start: datetime = None):
super().__init__(input_modifier=input_modifier,
input_sampling=input_sampling)
input_sampling=input_sampling,
period_start=period_start)

self.fast_roc = ROC(fast_roc_period)
self.add_sub_indicator(self.fast_roc)
Expand Down
8 changes: 6 additions & 2 deletions talipp/indicators/DEMA.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
from datetime import datetime
from typing import List, Any

from talipp.indicator_util import has_valid_values
Expand All @@ -19,15 +20,18 @@ class DEMA(Indicator):
input_indicator: Input indicator.
input_modifier: Input modifier.
input_sampling: Input sampling type.
period_start: Period start for sampling (optional)
"""

def __init__(self, period: int,
input_values: List[float] = None,
input_indicator: Indicator = None,
input_modifier: InputModifierType = None,
input_sampling: SamplingPeriodType = None):
input_sampling: SamplingPeriodType = None,
period_start: datetime = None):
super().__init__(input_modifier=input_modifier,
input_sampling=input_sampling)
input_sampling=input_sampling,
period_start=period_start)

self.period = period

Expand Down
Loading