diff --git a/pandas_ta/volume/ad.py b/pandas_ta/volume/ad.py index 4911380..519266d 100644 --- a/pandas_ta/volume/ad.py +++ b/pandas_ta/volume/ad.py @@ -1,9 +1,11 @@ # -*- coding: utf-8 -*- from pandas_ta import Imports from pandas_ta.utils import get_offset, non_zero_range, verify_series +from pandas import Series -def ad(high, low, close, volume, open_=None, talib=None, offset=None, **kwargs): +def ad(high: Series, low: Series, close: Series, volume: Series, open_: Series = None, talib: bool = None, + offset: int = None, **kwargs) -> Series: """Accumulation/Distribution (AD) Accumulation/Distribution indicator utilizes the relative position @@ -17,7 +19,7 @@ def ad(high, low, close, volume, open_=None, talib=None, offset=None, **kwargs): low (pd.Series): Series of 'low's close (pd.Series): Series of 'close's volume (pd.Series): Series of 'volume's - open (pd.Series): Series of 'open's + open_ (pd.Series): Series of 'open's talib (bool): If TA Lib is installed and talib is True, Returns the TA Lib version. Default: True offset (int): How many periods to offset the result. Default: 0 diff --git a/pandas_ta/volume/adosc.py b/pandas_ta/volume/adosc.py index fb93ba8..7494056 100644 --- a/pandas_ta/volume/adosc.py +++ b/pandas_ta/volume/adosc.py @@ -3,9 +3,11 @@ from .ad import ad from pandas_ta import Imports from pandas_ta.overlap import ema from pandas_ta.utils import get_offset, verify_series +from pandas import Series -def adosc(high, low, close, volume, open_=None, fast=None, slow=None, talib=None, offset=None, **kwargs): +def adosc(high: Series, low: Series, close: Series, volume: Series, open_: Series = None, fast: int = None, + slow: int = None, talib: bool = None, offset: int = None, **kwargs) -> Series: """Accumulation/Distribution Oscillator or Chaikin Oscillator Accumulation/Distribution Oscillator indicator utilizes @@ -19,7 +21,7 @@ def adosc(high, low, close, volume, open_=None, fast=None, slow=None, talib=None high (pd.Series): Series of 'high's low (pd.Series): Series of 'low's close (pd.Series): Series of 'close's - open (pd.Series): Series of 'open's + open_ (pd.Series): Series of 'open's volume (pd.Series): Series of 'volume's fast (int): The short period. Default: 12 slow (int): The long period. Default: 26 diff --git a/pandas_ta/volume/aobv.py b/pandas_ta/volume/aobv.py index 3b8bc90..8a47f59 100644 --- a/pandas_ta/volume/aobv.py +++ b/pandas_ta/volume/aobv.py @@ -1,12 +1,13 @@ # -*- coding: utf-8 -*- -from pandas import DataFrame +from pandas import DataFrame, Series from .obv import obv from pandas_ta.overlap import ma from pandas_ta.trend import long_run, short_run from pandas_ta.utils import get_offset, verify_series -def aobv(close, volume, fast=None, slow=None, max_lookback=None, min_lookback=None, mamode=None, offset=None, **kwargs): +def aobv(close: Series, volume: Series, fast: int = None, slow: int = None, max_lookback: int = None, + min_lookback: int = None, mamode: str = None, offset: int = None, **kwargs) -> DataFrame: """Archer On Balance Volume (AOBV) Archer On Balance Volume (AOBV) developed by Kevin Johnson provides diff --git a/pandas_ta/volume/cmf.py b/pandas_ta/volume/cmf.py index c625c76..46d2f4d 100644 --- a/pandas_ta/volume/cmf.py +++ b/pandas_ta/volume/cmf.py @@ -1,8 +1,10 @@ # -*- coding: utf-8 -*- from pandas_ta.utils import get_offset, non_zero_range, verify_series +from pandas import Series -def cmf(high, low, close, volume, open_=None, length=None, offset=None, **kwargs): +def cmf(high: Series, low: Series, close: Series, volume: Series, open_: Series = None, length: int = None, + offset: int = None, **kwargs) -> Series: """Chaikin Money Flow (CMF) Chailin Money Flow measures the amount of money flow volume over a specific diff --git a/pandas_ta/volume/efi.py b/pandas_ta/volume/efi.py index 394efc7..473696b 100644 --- a/pandas_ta/volume/efi.py +++ b/pandas_ta/volume/efi.py @@ -1,9 +1,11 @@ # -*- coding: utf-8 -*- from pandas_ta.overlap import ma from pandas_ta.utils import get_drift, get_offset, verify_series +from pandas import Series -def efi(close, volume, length=None, mamode=None, drift=None, offset=None, **kwargs): +def efi(close: Series, volume: Series, length: int = None, mamode: str = None, drift: int = None, offset: int = None, + **kwargs) -> Series: """Elder's Force Index (EFI) Elder's Force Index measures the power behind a price movement using price diff --git a/pandas_ta/volume/eom.py b/pandas_ta/volume/eom.py index 24ee77d..da12e86 100644 --- a/pandas_ta/volume/eom.py +++ b/pandas_ta/volume/eom.py @@ -1,9 +1,11 @@ # -*- coding: utf-8 -*- from pandas_ta.overlap import hl2, sma from pandas_ta.utils import get_drift, get_offset, non_zero_range, verify_series +from pandas import Series -def eom(high, low, close, volume, length=None, divisor=None, drift=None, offset=None, **kwargs): +def eom(high: Series, low: Series, close: Series, volume: Series, length: int = None, divisor=None, drift: int = None, + offset: int = None, **kwargs) -> Series: """Ease of Movement (EOM) Ease of Movement is a volume based oscillator that is designed to measure the diff --git a/pandas_ta/volume/kvo.py b/pandas_ta/volume/kvo.py index 6b256d9..a574069 100644 --- a/pandas_ta/volume/kvo.py +++ b/pandas_ta/volume/kvo.py @@ -1,10 +1,11 @@ # -*- coding: utf-8 -*- -from pandas import DataFrame +from pandas import DataFrame, Series from pandas_ta.overlap import hlc3, ma from pandas_ta.utils import get_drift, get_offset, signed_series, verify_series -def kvo(high, low, close, volume, fast=None, slow=None, signal=None, mamode=None, drift=None, offset=None, **kwargs): +def kvo(high: Series, low: Series, close: Series, volume: Series, fast: int = None, slow: int = None, + signal=None, mamode: str = None, drift: int = None, offset: int = None, **kwargs) -> DataFrame: """Klinger Volume Oscillator (KVO) This indicator was developed by Stephen J. Klinger. It is designed to predict diff --git a/pandas_ta/volume/mfi.py b/pandas_ta/volume/mfi.py index c6ea9e5..0f93de5 100644 --- a/pandas_ta/volume/mfi.py +++ b/pandas_ta/volume/mfi.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.overlap import hlc3 from pandas_ta.utils import get_drift, get_offset, verify_series -def mfi(high, low, close, volume, length=None, talib=None, drift=None, offset=None, **kwargs): +def mfi(high: Series, low: Series, close: Series, volume: Series, length: int = None, talib: bool = None, + drift: int = None, offset: int = None, **kwargs) -> Series: """Money Flow Index (MFI) Money Flow Index is an oscillator indicator that is used to measure buying and diff --git a/pandas_ta/volume/nvi.py b/pandas_ta/volume/nvi.py index 6c324d1..cd6688a 100644 --- a/pandas_ta/volume/nvi.py +++ b/pandas_ta/volume/nvi.py @@ -1,9 +1,11 @@ # -*- coding: utf-8 -*- from pandas_ta.momentum import roc from pandas_ta.utils import get_offset, signed_series, verify_series +from pandas import Series -def nvi(close, volume, length=None, initial=None, offset=None, **kwargs): +def nvi(close: Series, volume: Series, length: int = None, initial: int = None, offset: int = None, + **kwargs) -> Series: """Negative Volume Index (NVI) The Negative Volume Index is a cumulative indicator that uses volume change in diff --git a/pandas_ta/volume/obv.py b/pandas_ta/volume/obv.py index 0a19f7e..1fa2697 100644 --- a/pandas_ta/volume/obv.py +++ b/pandas_ta/volume/obv.py @@ -1,9 +1,10 @@ # -*- coding: utf-8 -*- from pandas_ta import Imports from pandas_ta.utils import get_offset, signed_series, verify_series +from pandas import Series -def obv(close, volume, talib=None, offset=None, **kwargs): +def obv(close: Series, volume: Series, talib: bool = None, offset: int = None, **kwargs) -> Series: """On Balance Volume (OBV) On Balance Volume is a cumulative indicator to measure buying and selling diff --git a/pandas_ta/volume/pvi.py b/pandas_ta/volume/pvi.py index f2d4fce..17cf596 100644 --- a/pandas_ta/volume/pvi.py +++ b/pandas_ta/volume/pvi.py @@ -1,9 +1,11 @@ # -*- coding: utf-8 -*- from pandas_ta.momentum import roc from pandas_ta.utils import get_offset, signed_series, verify_series +from pandas import Series -def pvi(close, volume, length=None, initial=None, offset=None, **kwargs): +def pvi(close: Series, volume: Series, length: int = None, initial: int = None, offset: int = None, + **kwargs) -> Series: """Positive Volume Index (PVI) The Positive Volume Index is a cumulative indicator that uses volume change in diff --git a/pandas_ta/volume/pvol.py b/pandas_ta/volume/pvol.py index a3cbe05..963691a 100644 --- a/pandas_ta/volume/pvol.py +++ b/pandas_ta/volume/pvol.py @@ -1,8 +1,9 @@ # -*- coding: utf-8 -*- from pandas_ta.utils import get_offset, signed_series, verify_series +from pandas import Series -def pvol(close, volume, offset=None, **kwargs): +def pvol(close: Series, volume: Series, offset: int = None, **kwargs) -> Series: """Price-Volume (PVOL) Returns a series of the product of price and volume. diff --git a/pandas_ta/volume/pvr.py b/pandas_ta/volume/pvr.py index 7c9455e..fdd4cc2 100644 --- a/pandas_ta/volume/pvr.py +++ b/pandas_ta/volume/pvr.py @@ -4,7 +4,7 @@ from numpy import nan as npNaN from pandas import Series -def pvr(close, volume): +def pvr(close: Series, volume: Series) -> Series: """Price Volume Rank The Price Volume Rank was developed by Anthony J. Macek and is described in his diff --git a/pandas_ta/volume/pvt.py b/pandas_ta/volume/pvt.py index 10530ca..a603767 100644 --- a/pandas_ta/volume/pvt.py +++ b/pandas_ta/volume/pvt.py @@ -1,9 +1,10 @@ # -*- coding: utf-8 -*- from pandas_ta.momentum import roc from pandas_ta.utils import get_drift, get_offset, verify_series +from pandas import Series -def pvt(close, volume, drift=None, offset=None, **kwargs): +def pvt(close: Series, volume: Series, drift: int = None, offset: int = None, **kwargs) -> Series: """Price-Volume Trend (PVT) The Price-Volume Trend utilizes the Rate of Change with volume to diff --git a/pandas_ta/volume/vp.py b/pandas_ta/volume/vp.py index 6dd88ed..63d7e0c 100644 --- a/pandas_ta/volume/vp.py +++ b/pandas_ta/volume/vp.py @@ -1,11 +1,11 @@ # -*- coding: utf-8 -*- from numpy import array_split from numpy import mean -from pandas import cut, concat, DataFrame +from pandas import cut, concat, DataFrame, Series from pandas_ta.utils import signed_series, verify_series -def vp(close, volume, width=None, **kwargs): +def vp(close: Series, volume: Series, width: int = None, **kwargs) -> DataFrame: """Volume Profile (VP) Calculates the Volume Profile by slicing price into ranges. diff --git a/pandas_ta/volume/wb_tsv.py b/pandas_ta/volume/wb_tsv.py index bae6726..7cc875b 100644 --- a/pandas_ta/volume/wb_tsv.py +++ b/pandas_ta/volume/wb_tsv.py @@ -4,7 +4,8 @@ from pandas_ta.overlap import ma from pandas_ta.utils import get_drift, get_offset, verify_series, signed_series, zero -def wb_tsv(close=None, volume=None, length=None, signal=None, mamode=None, drift=None, offset=None, **kwargs): +def wb_tsv(close: Series, volume: Series, length: int = None, signal: int = None, mamode: str = None, + drift: int = None, offset: int = None, **kwargs) -> DataFrame: """Time Segmented Value (TSV) TSV is a proprietary technical indicator developed by Worden Brothers Inc., @@ -44,7 +45,7 @@ def wb_tsv(close=None, volume=None, length=None, signal=None, mamode=None, drift # Calculate Result signed_volume = volume * signed_series(close, 1) # > 0 - signed_volume[signed_volume < 0 ] = -signed_volume # < 0 + signed_volume[signed_volume < 0] = -signed_volume # < 0 signed_volume.apply(zero) # ~ 0 cvd = signed_volume * close.diff(drift) @@ -81,4 +82,4 @@ def wb_tsv(close=None, volume=None, length=None, signal=None, mamode=None, drift df.name = f"TSV{_props}" df.category = tsv.category - return df \ No newline at end of file + return df