mirror of
https://github.com/wassname/pandas-ta.git
synced 2026-08-13 12:30:58 +08:00
all volatility indicators fully typed
This commit is contained in:
@@ -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.
|
||||
|
||||
@@ -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,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
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user