From 0e4db9a27540fc6816578d64f8a9188ded55312f Mon Sep 17 00:00:00 2001 From: P S Solanki Date: Mon, 20 Dec 2021 19:53:12 +0530 Subject: [PATCH] all trend indicators fully typed --- pandas_ta/trend/adx.py | 5 +++-- pandas_ta/trend/amat.py | 5 +++-- pandas_ta/trend/aroon.py | 5 +++-- pandas_ta/trend/chop.py | 4 +++- pandas_ta/trend/cksp.py | 5 +++-- pandas_ta/trend/decay.py | 4 ++-- pandas_ta/trend/decreasing.py | 5 ++++- pandas_ta/trend/dpo.py | 3 ++- pandas_ta/trend/increasing.py | 5 ++++- pandas_ta/trend/long_run.py | 3 ++- pandas_ta/trend/psar.py | 3 ++- pandas_ta/trend/qstick.py | 3 ++- pandas_ta/trend/short_run.py | 3 ++- pandas_ta/trend/trendflex.py | 3 ++- pandas_ta/trend/tsignals.py | 5 +++-- pandas_ta/trend/ttm_trend.py | 4 ++-- pandas_ta/trend/vhf.py | 3 ++- pandas_ta/trend/vortex.py | 5 +++-- pandas_ta/trend/xsignals.py | 5 +++-- 19 files changed, 50 insertions(+), 28 deletions(-) diff --git a/pandas_ta/trend/adx.py b/pandas_ta/trend/adx.py index df0943c..570e9a6 100644 --- a/pandas_ta/trend/adx.py +++ b/pandas_ta/trend/adx.py @@ -1,11 +1,12 @@ # -*- coding: utf-8 -*- -from pandas import DataFrame +from pandas import DataFrame, Series from pandas_ta.overlap import ma from pandas_ta.volatility import atr from pandas_ta.utils import get_drift, get_offset, verify_series, zero -def adx(high, low, close, length=None, lensig=None, scalar=None, mamode=None, drift=None, offset=None, **kwargs): +def adx(high: Series, low: Series, close: Series, length: int = None, lensig: int = None, scalar: float = None, + mamode: str = None, drift: int = None, offset: int = None, **kwargs) -> DataFrame: """Average Directional Movement (ADX) Average Directional Movement is meant to quantify trend strength by measuring diff --git a/pandas_ta/trend/amat.py b/pandas_ta/trend/amat.py index 77c33e4..ec469d7 100644 --- a/pandas_ta/trend/amat.py +++ b/pandas_ta/trend/amat.py @@ -1,12 +1,13 @@ # -*- coding: utf-8 -*- -from pandas import DataFrame +from pandas import DataFrame, Series from .long_run import long_run from .short_run import short_run from pandas_ta.overlap import ma from pandas_ta.utils import get_offset, verify_series -def amat(close=None, fast=None, slow=None, lookback=None, mamode=None, offset=None, **kwargs): +def amat(close: Series, fast: int = None, slow: int = None, lookback: int = None, mamode: str = None, + offset: int = None, **kwargs) -> DataFrame: """Archer Moving Averages Trends (AMAT) Archer Moving Averages Trends (AMAT) developed by Kevin Johnson provides diff --git a/pandas_ta/trend/aroon.py b/pandas_ta/trend/aroon.py index 28066b3..9cc02eb 100644 --- a/pandas_ta/trend/aroon.py +++ b/pandas_ta/trend/aroon.py @@ -1,11 +1,12 @@ # -*- coding: utf-8 -*- -from pandas import DataFrame +from pandas import DataFrame, Series from pandas_ta import Imports from pandas_ta.utils import get_offset, verify_series from pandas_ta.utils import recent_maximum_index, recent_minimum_index -def aroon(high, low, length=None, scalar=None, talib=None, offset=None, **kwargs): +def aroon(high: Series, low: Series, length: int = None, scalar: float = None, talib: bool = None, offset: int = None, + **kwargs) -> DataFrame: """Aroon & Aroon Oscillator (AROON) Aroon attempts to identify if a security is trending and how strong. diff --git a/pandas_ta/trend/chop.py b/pandas_ta/trend/chop.py index 6cc0798..9be91ee 100644 --- a/pandas_ta/trend/chop.py +++ b/pandas_ta/trend/chop.py @@ -3,9 +3,11 @@ from numpy import log10 as npLog10 from numpy import log as npLn from pandas_ta.volatility import atr from pandas_ta.utils import get_drift, get_offset, verify_series +from pandas import Series -def chop(high, low, close, length=None, atr_length=None, ln=None, scalar=None, drift=None, offset=None, **kwargs): +def chop(high: Series, low: Series, close: Series, length: int = None, atr_length: int = None, ln: bool = None, + scalar: float = None, drift: int = None, offset: int = None, **kwargs) -> Series: """Choppiness Index (CHOP) The Choppiness Index was created by Australian commodity trader diff --git a/pandas_ta/trend/cksp.py b/pandas_ta/trend/cksp.py index 65de6a7..5cd1d47 100644 --- a/pandas_ta/trend/cksp.py +++ b/pandas_ta/trend/cksp.py @@ -1,10 +1,11 @@ # -*- coding: utf-8 -*- -from pandas import DataFrame +from pandas import DataFrame, Series from pandas_ta.volatility import atr from pandas_ta.utils import get_offset, verify_series -def cksp(high, low, close, p=None, x=None, q=None, tvmode=None, offset=None, **kwargs): +def cksp(high: Series, low: Series, close: Series, p: int = None, x: float = None, q: int = None, tvmode: bool = None, + offset: int = None, **kwargs) -> DataFrame: """Chande Kroll Stop (CKSP) The Tushar Chande and Stanley Kroll in their book diff --git a/pandas_ta/trend/decay.py b/pandas_ta/trend/decay.py index fe20e7e..3d678fd 100644 --- a/pandas_ta/trend/decay.py +++ b/pandas_ta/trend/decay.py @@ -1,10 +1,10 @@ # -*- coding: utf-8 -*- from numpy import exp as npExp -from pandas import DataFrame +from pandas import DataFrame, Series from pandas_ta.utils import get_offset, verify_series -def decay(close, kind=None, length=None, mode=None, offset=None, **kwargs): +def decay(close: Series, kind=None, length: int = None, mode: str = None, offset: int = None, **kwargs) -> Series: """Decay Creates a decay moving forward from prior signals like crosses. The default is diff --git a/pandas_ta/trend/decreasing.py b/pandas_ta/trend/decreasing.py index b9a1b4c..8bc681a 100644 --- a/pandas_ta/trend/decreasing.py +++ b/pandas_ta/trend/decreasing.py @@ -1,7 +1,10 @@ # -*- coding: utf-8 -*- from pandas_ta.utils import get_drift, get_offset, is_percent, verify_series +from pandas import Series -def decreasing(close, length=None, strict=None, asint=None, percent=None, drift=None, offset=None, **kwargs): + +def decreasing(close: Series, length: int = None, strict: bool = None, asint: bool = None, percent: float = None, + drift: int = None, offset: int = None, **kwargs) -> Series: """Decreasing Returns True if the series is decreasing over a period, False otherwise. diff --git a/pandas_ta/trend/dpo.py b/pandas_ta/trend/dpo.py index 1a9b106..301b3b2 100644 --- a/pandas_ta/trend/dpo.py +++ b/pandas_ta/trend/dpo.py @@ -1,9 +1,10 @@ # -*- coding: utf-8 -*- from pandas_ta.overlap import sma from pandas_ta.utils import get_offset, verify_series +from pandas import Series -def dpo(close, length=None, centered=True, offset=None, **kwargs): +def dpo(close: Series, length: int = None, centered: bool = True, offset: int = None, **kwargs) -> Series: """Detrend Price Oscillator (DPO) Is an indicator designed to remove trend from price and make it easier to diff --git a/pandas_ta/trend/increasing.py b/pandas_ta/trend/increasing.py index bbbb691..98aa4f2 100644 --- a/pandas_ta/trend/increasing.py +++ b/pandas_ta/trend/increasing.py @@ -1,7 +1,10 @@ # -*- coding: utf-8 -*- from pandas_ta.utils import get_drift, get_offset, is_percent, verify_series +from pandas import Series -def increasing(close, length=None, strict=None, asint=None, percent=None, drift=None, offset=None, **kwargs): + +def increasing(close: Series, length: int = None, strict: bool = None, asint: bool = None, percent: float = None, + drift: int = None, offset: int = None, **kwargs) -> Series: """Increasing Returns True if the series is increasing over a period, False otherwise. diff --git a/pandas_ta/trend/long_run.py b/pandas_ta/trend/long_run.py index 9e13343..b763a56 100644 --- a/pandas_ta/trend/long_run.py +++ b/pandas_ta/trend/long_run.py @@ -2,9 +2,10 @@ from .decreasing import decreasing from .increasing import increasing from pandas_ta.utils import get_offset, verify_series +from pandas import Series -def long_run(fast, slow, length=None, offset=None, **kwargs): +def long_run(fast: Series, slow: Series, length: int = None, offset: int = None, **kwargs) -> Series: """Long Run Long Run was developed by Kevin Johnson that returns a binary Series diff --git a/pandas_ta/trend/psar.py b/pandas_ta/trend/psar.py index f617038..f42b9e7 100644 --- a/pandas_ta/trend/psar.py +++ b/pandas_ta/trend/psar.py @@ -4,7 +4,8 @@ from pandas import DataFrame, Series from pandas_ta.utils import get_offset, verify_series, zero -def psar(high, low, close=None, af0=None, af=None, max_af=None, offset=None, **kwargs): +def psar(high: Series, low: Series, close: Series = None, af0: float = None, af: float = None, max_af: float = None, + offset: int = None, **kwargs) -> DataFrame: """Parabolic Stop and Reverse (psar) Parabolic Stop and Reverse (PSAR) was developed by J. Wells Wilder, that is used diff --git a/pandas_ta/trend/qstick.py b/pandas_ta/trend/qstick.py index 37cd46b..c89a5c6 100644 --- a/pandas_ta/trend/qstick.py +++ b/pandas_ta/trend/qstick.py @@ -1,9 +1,10 @@ # -*- coding: utf-8 -*- from pandas_ta.overlap import dema, ema, hma, rma, sma from pandas_ta.utils import get_offset, non_zero_range, verify_series +from pandas import Series -def qstick(open_, close, length=None, offset=None, **kwargs): +def qstick(open_: Series, close: Series, length: int = None, offset: int = None, **kwargs) -> Series: """Q Stick The Q Stick indicator, developed by Tushar Chande, attempts to quantify and diff --git a/pandas_ta/trend/short_run.py b/pandas_ta/trend/short_run.py index 8d87788..cb03076 100644 --- a/pandas_ta/trend/short_run.py +++ b/pandas_ta/trend/short_run.py @@ -2,9 +2,10 @@ from .decreasing import decreasing from .increasing import increasing from pandas_ta.utils import get_offset, verify_series +from pandas import Series -def short_run(fast, slow, length=None, offset=None, **kwargs): +def short_run(fast: Series, slow: Series, length: int = None, offset: int = None, **kwargs) -> Series: """Short Run Short Run was developed by Kevin Johnson that returns a binary Series diff --git a/pandas_ta/trend/trendflex.py b/pandas_ta/trend/trendflex.py index 9aee235..77f94cc 100644 --- a/pandas_ta/trend/trendflex.py +++ b/pandas_ta/trend/trendflex.py @@ -10,7 +10,8 @@ from pandas import Series from pandas_ta.utils import get_offset, verify_series -def trendflex(close, length=None, smooth=None, alpha=None, offset=None, **kwargs): +def trendflex(close: Series, length: int = None, smooth: int = None, alpha: float = None, offset: int = None, + **kwargs) -> Series: """Trendflex (trendflex) John F. Ehlers introduced two indicators within the article "Reflex: A New diff --git a/pandas_ta/trend/tsignals.py b/pandas_ta/trend/tsignals.py index 91075ef..b11988b 100644 --- a/pandas_ta/trend/tsignals.py +++ b/pandas_ta/trend/tsignals.py @@ -1,9 +1,10 @@ # -*- coding: utf-8 -*- -from pandas import DataFrame +from pandas import DataFrame, Series from pandas_ta.utils import get_drift, get_offset, verify_series -def tsignals(trend, asbool=None, trend_reset=0, trade_offset=None, drift=None, offset=None, **kwargs): +def tsignals(trend: Series, asbool: bool = None, trend_reset=0, trade_offset=None, drift: int = None, + offset: int = None, **kwargs) -> DataFrame: """Trend Signals Given a Trend, Trend Signals returns the Trend, Trades, Entries and Exits as diff --git a/pandas_ta/trend/ttm_trend.py b/pandas_ta/trend/ttm_trend.py index d755d21..0e8ad40 100644 --- a/pandas_ta/trend/ttm_trend.py +++ b/pandas_ta/trend/ttm_trend.py @@ -1,10 +1,10 @@ # -*- coding: utf-8 -*- -from pandas import DataFrame +from pandas import DataFrame, Series from pandas_ta.overlap import hl2 from pandas_ta.utils import get_offset, verify_series -def ttm_trend(high, low, close, length=None, offset=None, **kwargs): +def ttm_trend(high: Series, low: Series, close: Series, length: int = None, offset: int = None, **kwargs) -> DataFrame: """TTM Trend (TTM_TRND) This indicator is from John Carters book “Mastering the Trade” and plots the diff --git a/pandas_ta/trend/vhf.py b/pandas_ta/trend/vhf.py index d461433..e63f146 100644 --- a/pandas_ta/trend/vhf.py +++ b/pandas_ta/trend/vhf.py @@ -1,9 +1,10 @@ # -*- coding: utf-8 -*- from numpy import fabs as npFabs from pandas_ta.utils import get_drift, get_offset, non_zero_range, verify_series +from pandas import Series -def vhf(close, length=None, drift=None, offset=None, **kwargs): +def vhf(close: Series, length: int = None, drift: int = None, offset: int = None, **kwargs) -> Series: """Vertical Horizontal Filter (VHF) VHF was created by Adam White to identify trending and ranging markets. diff --git a/pandas_ta/trend/vortex.py b/pandas_ta/trend/vortex.py index 929a817..a9fe1f8 100644 --- a/pandas_ta/trend/vortex.py +++ b/pandas_ta/trend/vortex.py @@ -1,10 +1,11 @@ # -*- coding: utf-8 -*- -from pandas import DataFrame +from pandas import DataFrame, Series from pandas_ta.volatility import true_range from pandas_ta.utils import get_drift, get_offset, verify_series -def vortex(high, low, close, length=None, drift=None, offset=None, **kwargs): +def vortex(high: Series, low: Series, close: Series, length: int = None, drift: int = None, offset: int = None, + **kwargs) -> DataFrame: """Vortex Two oscillators that capture positive and negative trend movement. diff --git a/pandas_ta/trend/xsignals.py b/pandas_ta/trend/xsignals.py index 6962b1e..951e191 100644 --- a/pandas_ta/trend/xsignals.py +++ b/pandas_ta/trend/xsignals.py @@ -1,12 +1,13 @@ # -*- coding: utf-8 -*- from numpy import nan as npNaN -from pandas import DataFrame +from pandas import DataFrame, Series from .tsignals import tsignals from pandas_ta.utils._signals import cross_value from pandas_ta.utils import get_offset, verify_series -def xsignals(signal, xa, xb, above:bool=True, long:bool=True, asbool:bool=None, trend_reset:int=0, trade_offset:int=None, offset:int=None, **kwargs): +def xsignals(signal: Series, xa: Series, xb: Series, above: bool = True, long: bool = True, asbool: bool = None, + trend_reset: int = 0, trade_offset: int = None, offset: int = None, **kwargs) -> DataFrame: """Cross Signals (XSIGNALS) Cross Signals returns Trend Signal (TSIGNALS) results for Signal Crossings. This