all volatility indicators fully typed

This commit is contained in:
P S Solanki
2021-12-20 20:08:40 +05:30
parent 0e4db9a275
commit cd940970d1
14 changed files with 40 additions and 21 deletions
+3 -2
View File
@@ -1,12 +1,13 @@
# -*- coding: utf-8 -*-
# from numpy import sqrt as npsqrt
from pandas import DataFrame
from pandas import DataFrame, Series
from .atr import atr
from pandas_ta.overlap import hlc3, sma
from pandas_ta.utils import get_offset, verify_series
def aberration(high, low, close, length=None, atr_length=None, offset=None, **kwargs):
def aberration(high: Series, low: Series, close: Series, length: int = None, atr_length: int = None,
offset: int = None, **kwargs) -> DataFrame:
"""Aberration (ABER)
A volatility indicator similar to Keltner Channels.
+3 -2
View File
@@ -1,10 +1,11 @@
# -*- coding: utf-8 -*-
from pandas import DataFrame
from pandas import DataFrame, Series
from pandas_ta.overlap import ma
from pandas_ta.utils import get_drift, get_offset, non_zero_range, verify_series
def accbands(high, low, close, length=None, c=None, drift=None, mamode=None, offset=None, **kwargs):
def accbands(high: Series, low: Series, close: Series, length: int = None, c: int = None, drift: int = None,
mamode: str = None, offset: int = None, **kwargs) -> DataFrame:
"""Acceleration Bands (ACCBANDS)
Acceleration Bands created by Price Headley plots upper and lower envelope
+3 -1
View File
@@ -3,9 +3,11 @@ from .true_range import true_range
from pandas_ta import Imports
from pandas_ta.overlap import ma
from pandas_ta.utils import get_drift, get_offset, verify_series
from pandas import Series
def atr(high, low, close, length=None, mamode=None, talib=None, drift=None, offset=None, **kwargs):
def atr(high: Series, low: Series, close: Series, length: int = None, mamode: str = None, talib: bool = None,
drift: int = None, offset: int = None, **kwargs) -> Series:
"""Average True Range (ATR)
Averge True Range is used to measure volatility, especially volatility caused by
+3 -2
View File
@@ -1,12 +1,13 @@
# -*- coding: utf-8 -*-
from pandas import DataFrame
from pandas import DataFrame, Series
from pandas_ta import Imports
from pandas_ta.overlap import ma
from pandas_ta.statistics import stdev
from pandas_ta.utils import get_offset, non_zero_range, tal_ma, verify_series
def bbands(close, length=None, std=None, ddof=0, mamode=None, talib=None, offset=None, **kwargs):
def bbands(close: Series, length: int = None, std: int = None, ddof: int = 0, mamode: str = None, talib: bool = None,
offset: int = None, **kwargs) -> DataFrame:
"""Bollinger Bands (BBANDS)
A popular volatility indicator by John Bollinger.
+3 -2
View File
@@ -1,9 +1,10 @@
# -*- coding: utf-8 -*-
from pandas import DataFrame
from pandas import DataFrame, Series
from pandas_ta.utils import get_offset, verify_series
def donchian(high, low, lower_length=None, upper_length=None, offset=None, **kwargs):
def donchian(high: Series, low: Series, lower_length: int = None, upper_length: int = None, offset: int = None,
**kwargs) -> DataFrame:
"""Donchian Channels (DC)
Donchian Channels are used to measure volatility, similar to
+2 -1
View File
@@ -4,7 +4,8 @@ from pandas import DataFrame, Series
from pandas_ta.utils import get_offset, verify_series
def hwc(close, na=None, nb=None, nc=None, nd=None, scalar=None, channel_eval=None, offset=None, **kwargs):
def hwc(close: Series, na: float = None, nb: float = None, nc: float = None, nd: float = None, scalar: float = None,
channel_eval: bool = None, offset: int = None, **kwargs) -> DataFrame:
"""HWC (Holt-Winter Channel)
Channel indicator HWC (Holt-Winters Channel) based on HWMA - a three-parameter
+3 -2
View File
@@ -1,11 +1,12 @@
# -*- coding: utf-8 -*-
from pandas import DataFrame
from pandas import DataFrame, Series
from .true_range import true_range
from pandas_ta.overlap import ma
from pandas_ta.utils import get_offset, high_low_range, verify_series
def kc(high, low, close, length=None, scalar=None, mamode=None, offset=None, **kwargs):
def kc(high: Series, low: Series, close: Series, length: int = None, scalar: float = None, mamode: str = None,
offset: int = None, **kwargs) -> DataFrame:
"""Keltner Channels (KC)
A popular volatility indicator similar to Bollinger Bands and
+2 -1
View File
@@ -1,9 +1,10 @@
# -*- coding: utf-8 -*-
from pandas_ta.overlap import ema
from pandas_ta.utils import get_offset, non_zero_range, verify_series
from pandas import Series
def massi(high, low, fast=None, slow=None, offset=None, **kwargs):
def massi(high: Series, low: Series, fast: int = None, slow: int = None, offset: int = None, **kwargs) -> Series:
"""Mass Index (MASSI)
The Mass Index is a non-directional volatility indicator that utilitizes the
+3 -1
View File
@@ -2,9 +2,11 @@
from .atr import atr
from pandas_ta import Imports
from pandas_ta.utils import get_drift, get_offset, verify_series
from pandas import Series
def natr(high, low, close, length=None, scalar=None, mamode=None, talib=None, drift=None, offset=None, **kwargs):
def natr(high: Series, low: Series, close: Series, length: int = None, scalar: float = None, mamode: str = None,
talib: bool = None, drift: int = None, offset: int = None, **kwargs) -> Series:
"""Normalized Average True Range (NATR)
Normalized Average True Range attempt to normalize the average true range.
+3 -1
View File
@@ -1,8 +1,10 @@
# -*- coding: utf-8 -*-
from pandas_ta.utils import get_drift, get_offset, non_zero_range, verify_series
from pandas import Series
def pdist(open_, high, low, close, drift=None, offset=None, **kwargs):
def pdist(open_: Series, high: Series, low: Series, close: Series, drift: int = None, offset: int = None,
**kwargs) -> Series:
"""Price Distance (PDIST)
Measures the "distance" covered by price movements.
+4 -1
View File
@@ -3,9 +3,12 @@ from pandas_ta.overlap import ma
from pandas_ta.statistics import stdev
from pandas_ta.utils import get_drift, get_offset
from pandas_ta.utils import unsigned_differences, verify_series
from pandas import Series
def rvi(close, high=None, low=None, length=None, scalar=None, refined=None, thirds=None, mamode=None, drift=None, offset=None, **kwargs):
def rvi(close: Series, high: Series = None, low: Series = None, length: int = None, scalar: float = None,
refined: bool = None, thirds: bool = None, mamode: str = None, drift: int = None,
offset: int = None, **kwargs) -> Series:
"""Relative Volatility Index (RVI)
The Relative Volatility Index (RVI) was created in 1993 and revised in 1995.
+3 -2
View File
@@ -1,10 +1,11 @@
# -*- coding: utf-8 -*-
from pandas import DataFrame
from pandas import DataFrame, Series
from pandas_ta.overlap import ma
from pandas_ta.utils import get_offset, verify_series, get_drift
def thermo(high, low, length=None, long=None, short=None, mamode=None, drift=None, offset=None, **kwargs):
def thermo(high: Series, low: Series, length: int = None, long: int = None, short: int = None, mamode: str = None,
drift: int = None, offset: int = None, **kwargs) -> DataFrame:
"""Elders Thermometer (THERMO)
Elder's Thermometer measures price volatility.
+3 -2
View File
@@ -1,11 +1,12 @@
# -*- coding: utf-8 -*-
from numpy import nan as npNaN
from pandas import concat
from pandas import concat, Series
from pandas_ta import Imports
from pandas_ta.utils import get_drift, get_offset, non_zero_range, verify_series
def true_range(high, low, close, talib=None, drift=None, offset=None, **kwargs):
def true_range(high: Series, low: Series, close: Series, talib: bool = None, drift: int = None, offset: int = None,
**kwargs) -> Series:
"""True Range
An method to expand a classical range (high minus low) to include
+2 -1
View File
@@ -1,10 +1,11 @@
# -*- coding: utf-8 -*-
from numpy import sqrt as npsqrt
from pandas_ta.overlap import sma
from pandas import Series
from pandas_ta.utils import get_offset, verify_series
def ui(close, length=None, scalar=None, offset=None, **kwargs):
def ui(close: Series, length: int = None, scalar: int = None, offset: int = None, **kwargs) -> Series:
"""Ulcer Index (UI)
The Ulcer Index by Peter Martin measures the downside volatility with the use of