|
|
|
@@ -4,6 +4,14 @@ import pandas as pd
|
|
|
|
|
from pandas.core.base import PandasObject
|
|
|
|
|
from .utils import *
|
|
|
|
|
|
|
|
|
|
from pandas_ta.momentum import *
|
|
|
|
|
from pandas_ta.overlap import *
|
|
|
|
|
from pandas_ta.performance import *
|
|
|
|
|
from pandas_ta.statistics import *
|
|
|
|
|
from pandas_ta.trend import *
|
|
|
|
|
from pandas_ta.volatility import *
|
|
|
|
|
from pandas_ta.volume import *
|
|
|
|
|
|
|
|
|
|
class BasePandasObject(PandasObject):
|
|
|
|
|
"""Simple PandasObject Extension
|
|
|
|
|
|
|
|
|
@@ -280,7 +288,7 @@ class AnalysisIndicators(BasePandasObject):
|
|
|
|
|
def ao(self, high=None, low=None, fast=None, slow=None, offset=None, **kwargs):
|
|
|
|
|
high = self._get_column(high, 'high')
|
|
|
|
|
low = self._get_column(low, 'low')
|
|
|
|
|
from pandas_ta.momentum.ao import ao
|
|
|
|
|
|
|
|
|
|
result = ao(high=high, low=low, fast=fast, slow=slow, offset=offset, **kwargs)
|
|
|
|
|
self._add_prefix_suffix(result, **kwargs)
|
|
|
|
|
self._append(result, **kwargs)
|
|
|
|
@@ -288,7 +296,7 @@ class AnalysisIndicators(BasePandasObject):
|
|
|
|
|
|
|
|
|
|
def apo(self, close=None, fast=None, slow=None, offset=None, **kwargs):
|
|
|
|
|
close = self._get_column(close, 'close')
|
|
|
|
|
from pandas_ta.momentum.apo import apo
|
|
|
|
|
|
|
|
|
|
result = apo(close=close, fast=fast, slow=slow, offset=offset, **kwargs)
|
|
|
|
|
self._add_prefix_suffix(result, **kwargs)
|
|
|
|
|
self._append(result, **kwargs)
|
|
|
|
@@ -296,7 +304,7 @@ class AnalysisIndicators(BasePandasObject):
|
|
|
|
|
|
|
|
|
|
def bias(self, close=None, length=None, mamode=None, offset=None, **kwargs):
|
|
|
|
|
close = self._get_column(close, 'close')
|
|
|
|
|
from pandas_ta.momentum.bias import bias
|
|
|
|
|
|
|
|
|
|
result = bias(close=close, length=length, mamode=mamode, offset=offset, **kwargs)
|
|
|
|
|
self._add_prefix_suffix(result, **kwargs)
|
|
|
|
|
self._append(result, **kwargs)
|
|
|
|
@@ -307,7 +315,7 @@ class AnalysisIndicators(BasePandasObject):
|
|
|
|
|
high = self._get_column(high, 'high')
|
|
|
|
|
low = self._get_column(low, 'low')
|
|
|
|
|
close = self._get_column(close, 'close')
|
|
|
|
|
from pandas_ta.momentum.bop import bop
|
|
|
|
|
|
|
|
|
|
result = bop(open_=open_, high=high, low=low, close=close, percentage=percentage, offset=offset, **kwargs)
|
|
|
|
|
self._add_prefix_suffix(result, **kwargs)
|
|
|
|
|
self._append(result, **kwargs)
|
|
|
|
@@ -318,7 +326,7 @@ class AnalysisIndicators(BasePandasObject):
|
|
|
|
|
high = self._get_column(high, 'high')
|
|
|
|
|
low = self._get_column(low, 'low')
|
|
|
|
|
close = self._get_column(close, 'close')
|
|
|
|
|
from pandas_ta.momentum.brar import brar
|
|
|
|
|
|
|
|
|
|
result = brar(open_=open_, high=high, low=low, close=close, length=length, scalar=scalar, drift=drift, offset=offset, **kwargs)
|
|
|
|
|
self._add_prefix_suffix(result, **kwargs)
|
|
|
|
|
self._append(result, **kwargs)
|
|
|
|
@@ -328,7 +336,7 @@ class AnalysisIndicators(BasePandasObject):
|
|
|
|
|
high = self._get_column(high, 'high')
|
|
|
|
|
low = self._get_column(low, 'low')
|
|
|
|
|
close = self._get_column(close, 'close')
|
|
|
|
|
from pandas_ta.momentum.cci import cci
|
|
|
|
|
|
|
|
|
|
result = cci(high=high, low=low, close=close, length=length, c=c, offset=offset, **kwargs)
|
|
|
|
|
self._add_prefix_suffix(result, **kwargs)
|
|
|
|
|
self._append(result, **kwargs)
|
|
|
|
@@ -336,7 +344,7 @@ class AnalysisIndicators(BasePandasObject):
|
|
|
|
|
|
|
|
|
|
def cg(self, close=None, length=None, offset=None, **kwargs):
|
|
|
|
|
close = self._get_column(close, 'close')
|
|
|
|
|
from pandas_ta.momentum.cg import cg
|
|
|
|
|
|
|
|
|
|
result = cg(close=close, length=length, offset=offset, **kwargs)
|
|
|
|
|
self._add_prefix_suffix(result, **kwargs)
|
|
|
|
|
self._append(result, **kwargs)
|
|
|
|
@@ -344,7 +352,7 @@ class AnalysisIndicators(BasePandasObject):
|
|
|
|
|
|
|
|
|
|
def cmo(self, close=None, length=None, scalar=None, drift=None, offset=None, **kwargs):
|
|
|
|
|
close = self._get_column(close, 'close')
|
|
|
|
|
from pandas_ta.momentum.cmo import cmo
|
|
|
|
|
|
|
|
|
|
result = cmo(close=close, length=length, scalar=scalar, drift=drift, offset=offset, **kwargs)
|
|
|
|
|
self._add_prefix_suffix(result, **kwargs)
|
|
|
|
|
self._append(result, **kwargs)
|
|
|
|
@@ -352,7 +360,7 @@ class AnalysisIndicators(BasePandasObject):
|
|
|
|
|
|
|
|
|
|
def coppock(self, close=None, length=None, fast=None, slow=None, offset=None, **kwargs):
|
|
|
|
|
close = self._get_column(close, 'close')
|
|
|
|
|
from pandas_ta.momentum.coppock import coppock
|
|
|
|
|
|
|
|
|
|
result = coppock(close=close, length=length, fast=fast, slow=slow, offset=offset, **kwargs)
|
|
|
|
|
self._add_prefix_suffix(result, **kwargs)
|
|
|
|
|
self._append(result, **kwargs)
|
|
|
|
@@ -361,7 +369,7 @@ class AnalysisIndicators(BasePandasObject):
|
|
|
|
|
def fisher(self, high=None, low=None, length=None, offset=None, **kwargs):
|
|
|
|
|
high = self._get_column(high, 'high')
|
|
|
|
|
low = self._get_column(low, 'low')
|
|
|
|
|
from pandas_ta.momentum.fisher import fisher
|
|
|
|
|
|
|
|
|
|
result = fisher(high=high, low=low, length=length, offset=offset, **kwargs)
|
|
|
|
|
self._add_prefix_suffix(result, **kwargs)
|
|
|
|
|
self._append(result, **kwargs)
|
|
|
|
@@ -371,7 +379,7 @@ class AnalysisIndicators(BasePandasObject):
|
|
|
|
|
high = self._get_column(high, 'high')
|
|
|
|
|
low = self._get_column(low, 'low')
|
|
|
|
|
close = self._get_column(close, 'close')
|
|
|
|
|
from pandas_ta.momentum.kdj import kdj
|
|
|
|
|
|
|
|
|
|
result = kdj(high=high, low=low, close=close, length=length, signal=signal, offset=offset, **kwargs)
|
|
|
|
|
self._add_prefix_suffix(result, **kwargs)
|
|
|
|
|
self._append(result, **kwargs)
|
|
|
|
@@ -379,7 +387,7 @@ class AnalysisIndicators(BasePandasObject):
|
|
|
|
|
|
|
|
|
|
def kst(self, close=None, roc1=None, roc2=None, roc3=None, roc4=None, sma1=None, sma2=None, sma3=None, sma4=None, signal=None, offset=None, **kwargs):
|
|
|
|
|
close = self._get_column(close, 'close')
|
|
|
|
|
from pandas_ta.momentum.kst import kst
|
|
|
|
|
|
|
|
|
|
result = kst(close=close, roc1=roc1, roc2=roc2, roc3=roc3, roc4=roc4, sma1=sma1, sma2=sma2, sma3=sma3, sma4=sma4, signal=signal, offset=offset, **kwargs)
|
|
|
|
|
self._add_prefix_suffix(result, **kwargs)
|
|
|
|
|
self._append(result, **kwargs)
|
|
|
|
@@ -387,7 +395,7 @@ class AnalysisIndicators(BasePandasObject):
|
|
|
|
|
|
|
|
|
|
def macd(self, close=None, fast=None, slow=None, signal=None, offset=None, **kwargs):
|
|
|
|
|
close = self._get_column(close, 'close')
|
|
|
|
|
from pandas_ta.momentum.macd import macd
|
|
|
|
|
|
|
|
|
|
result = macd(close=close, fast=fast, slow=slow, signal=signal, offset=offset, **kwargs)
|
|
|
|
|
self._add_prefix_suffix(result, **kwargs)
|
|
|
|
|
self._append(result, **kwargs)
|
|
|
|
@@ -395,7 +403,7 @@ class AnalysisIndicators(BasePandasObject):
|
|
|
|
|
|
|
|
|
|
def mom(self, close=None, length=None, offset=None, **kwargs):
|
|
|
|
|
close = self._get_column(close, 'close')
|
|
|
|
|
from pandas_ta.momentum.mom import mom
|
|
|
|
|
|
|
|
|
|
result = mom(close=close, length=length, offset=offset, **kwargs)
|
|
|
|
|
self._add_prefix_suffix(result, **kwargs)
|
|
|
|
|
self._append(result, **kwargs)
|
|
|
|
@@ -403,7 +411,7 @@ class AnalysisIndicators(BasePandasObject):
|
|
|
|
|
|
|
|
|
|
def ppo(self, close=None, fast=None, slow=None, percentage=True, offset=None, **kwargs):
|
|
|
|
|
close = self._get_column(close, 'close')
|
|
|
|
|
from pandas_ta.momentum.ppo import ppo
|
|
|
|
|
|
|
|
|
|
result = ppo(close=close, fast=fast, slow=slow, percentage=percentage, offset=offset, **kwargs)
|
|
|
|
|
self._add_prefix_suffix(result, **kwargs)
|
|
|
|
|
self._append(result, **kwargs)
|
|
|
|
@@ -413,7 +421,7 @@ class AnalysisIndicators(BasePandasObject):
|
|
|
|
|
if open_ is not None:
|
|
|
|
|
open_ = self._get_column(open_, 'open')
|
|
|
|
|
close = self._get_column(close, 'close')
|
|
|
|
|
from pandas_ta.momentum.psl import psl
|
|
|
|
|
|
|
|
|
|
result = psl(close=close, open_=open_, length=length, scalar=scalar, drift=drift, offset=offset, **kwargs)
|
|
|
|
|
self._add_prefix_suffix(result, **kwargs)
|
|
|
|
|
self._append(result, **kwargs)
|
|
|
|
@@ -421,7 +429,7 @@ class AnalysisIndicators(BasePandasObject):
|
|
|
|
|
|
|
|
|
|
def roc(self, close=None, length=None, offset=None, **kwargs):
|
|
|
|
|
close = self._get_column(close, 'close')
|
|
|
|
|
from pandas_ta.momentum.roc import roc
|
|
|
|
|
|
|
|
|
|
result = roc(close=close, length=length, offset=offset, **kwargs)
|
|
|
|
|
self._add_prefix_suffix(result, **kwargs)
|
|
|
|
|
self._append(result, **kwargs)
|
|
|
|
@@ -429,7 +437,7 @@ class AnalysisIndicators(BasePandasObject):
|
|
|
|
|
|
|
|
|
|
def rsi(self, close=None, length=None, scalar=None, drift=None, offset=None, **kwargs):
|
|
|
|
|
close = self._get_column(close, 'close')
|
|
|
|
|
from pandas_ta.momentum.rsi import rsi
|
|
|
|
|
|
|
|
|
|
result = rsi(close=close, length=length, scalar=scalar, drift=drift, offset=offset, **kwargs)
|
|
|
|
|
self._add_prefix_suffix(result, **kwargs)
|
|
|
|
|
self._append(result, **kwargs)
|
|
|
|
@@ -440,7 +448,7 @@ class AnalysisIndicators(BasePandasObject):
|
|
|
|
|
high = self._get_column(high, 'high')
|
|
|
|
|
low = self._get_column(low, 'low')
|
|
|
|
|
close = self._get_column(close, 'close')
|
|
|
|
|
from pandas_ta.momentum.rvi import rvi
|
|
|
|
|
|
|
|
|
|
result = rvi(open_=open_, high=high, low=low, close=close, length=length, swma_length=swma_length, offset=offset, **kwargs)
|
|
|
|
|
self._add_prefix_suffix(result, **kwargs)
|
|
|
|
|
self._append(result, **kwargs)
|
|
|
|
@@ -448,7 +456,7 @@ class AnalysisIndicators(BasePandasObject):
|
|
|
|
|
|
|
|
|
|
def slope(self, close=None, length=None, offset=None, **kwargs):
|
|
|
|
|
close = self._get_column(close, 'close')
|
|
|
|
|
from pandas_ta.momentum.slope import slope
|
|
|
|
|
|
|
|
|
|
result = slope(close=close, length=length, offset=offset, **kwargs)
|
|
|
|
|
self._add_prefix_suffix(result, **kwargs)
|
|
|
|
|
self._append(result, **kwargs)
|
|
|
|
@@ -458,7 +466,7 @@ class AnalysisIndicators(BasePandasObject):
|
|
|
|
|
high = self._get_column(high, 'high')
|
|
|
|
|
low = self._get_column(low, 'low')
|
|
|
|
|
close = self._get_column(close, 'close')
|
|
|
|
|
from pandas_ta.momentum.stoch import stoch
|
|
|
|
|
|
|
|
|
|
result = stoch(high=high, low=low, close=close, fast_k=fast_k, slow_k=slow_k, slow_d=slow_d, offset=offset, **kwargs)
|
|
|
|
|
self._add_prefix_suffix(result, **kwargs)
|
|
|
|
|
self._append(result, **kwargs)
|
|
|
|
@@ -466,7 +474,7 @@ class AnalysisIndicators(BasePandasObject):
|
|
|
|
|
|
|
|
|
|
def trix(self, close=None, length=None, drift=None, offset=None, **kwargs):
|
|
|
|
|
close = self._get_column(close, 'close')
|
|
|
|
|
from pandas_ta.momentum.trix import trix
|
|
|
|
|
|
|
|
|
|
result = trix(close=close, length=length, drift=drift, offset=offset, **kwargs)
|
|
|
|
|
self._add_prefix_suffix(result, **kwargs)
|
|
|
|
|
self._append(result, **kwargs)
|
|
|
|
@@ -474,7 +482,7 @@ class AnalysisIndicators(BasePandasObject):
|
|
|
|
|
|
|
|
|
|
def tsi(self, close=None, fast=None, slow=None, drift=None, offset=None, **kwargs):
|
|
|
|
|
close = self._get_column(close, 'close')
|
|
|
|
|
from pandas_ta.momentum.tsi import tsi
|
|
|
|
|
|
|
|
|
|
result = tsi(close=close, fast=fast, slow=slow, drift=drift, offset=offset, **kwargs)
|
|
|
|
|
self._add_prefix_suffix(result, **kwargs)
|
|
|
|
|
self._append(result, **kwargs)
|
|
|
|
@@ -484,7 +492,7 @@ class AnalysisIndicators(BasePandasObject):
|
|
|
|
|
high = self._get_column(high, 'high')
|
|
|
|
|
low = self._get_column(low, 'low')
|
|
|
|
|
close = self._get_column(close, 'close')
|
|
|
|
|
from pandas_ta.momentum.uo import uo
|
|
|
|
|
|
|
|
|
|
result = uo(high=high, low=low, close=close, fast=fast, medium=medium, slow=slow, fast_w=fast_w, medium_w=medium_w, slow_w=slow_w, drift=drift, offset=offset, **kwargs)
|
|
|
|
|
self._add_prefix_suffix(result, **kwargs)
|
|
|
|
|
self._append(result, **kwargs)
|
|
|
|
@@ -494,7 +502,7 @@ class AnalysisIndicators(BasePandasObject):
|
|
|
|
|
high = self._get_column(high, 'high')
|
|
|
|
|
low = self._get_column(low, 'low')
|
|
|
|
|
close = self._get_column(close, 'close')
|
|
|
|
|
from pandas_ta.momentum.willr import willr
|
|
|
|
|
|
|
|
|
|
result = willr(high=high, low=low, close=close, length=length, percentage=percentage, offset=offset, **kwargs)
|
|
|
|
|
self._add_prefix_suffix(result, **kwargs)
|
|
|
|
|
self._append(result, **kwargs)
|
|
|
|
@@ -504,7 +512,7 @@ class AnalysisIndicators(BasePandasObject):
|
|
|
|
|
# Overlap Indicators
|
|
|
|
|
def dema(self, close=None, length=None, offset=None, **kwargs):
|
|
|
|
|
close = self._get_column(close, 'close')
|
|
|
|
|
from pandas_ta.overlap.dema import dema
|
|
|
|
|
|
|
|
|
|
result = dema(close=close, length=length, offset=offset, **kwargs)
|
|
|
|
|
self._add_prefix_suffix(result, **kwargs)
|
|
|
|
|
self._append(result, **kwargs)
|
|
|
|
@@ -512,7 +520,7 @@ class AnalysisIndicators(BasePandasObject):
|
|
|
|
|
|
|
|
|
|
def ema(self, close=None, length=None, offset=None, adjust=None, **kwargs):
|
|
|
|
|
close = self._get_column(close, 'close')
|
|
|
|
|
from pandas_ta.overlap.ema import ema
|
|
|
|
|
|
|
|
|
|
result = ema(close=close, length=length, offset=offset, adjust=adjust, **kwargs)
|
|
|
|
|
self._add_prefix_suffix(result, **kwargs)
|
|
|
|
|
self._append(result, **kwargs)
|
|
|
|
@@ -520,7 +528,7 @@ class AnalysisIndicators(BasePandasObject):
|
|
|
|
|
|
|
|
|
|
def fwma(self, close=None, length=None, offset=None, **kwargs):
|
|
|
|
|
close = self._get_column(close, 'close')
|
|
|
|
|
from pandas_ta.overlap.fwma import fwma
|
|
|
|
|
|
|
|
|
|
result = fwma(close=close, length=length, offset=offset, **kwargs)
|
|
|
|
|
self._add_prefix_suffix(result, **kwargs)
|
|
|
|
|
self._append(result, **kwargs)
|
|
|
|
@@ -529,7 +537,7 @@ class AnalysisIndicators(BasePandasObject):
|
|
|
|
|
def hl2(self, high=None, low=None, offset=None, **kwargs):
|
|
|
|
|
high = self._get_column(high, 'high')
|
|
|
|
|
low = self._get_column(low, 'low')
|
|
|
|
|
from pandas_ta.overlap.hl2 import hl2
|
|
|
|
|
|
|
|
|
|
result = hl2(high=high, low=low, offset=offset, **kwargs)
|
|
|
|
|
self._add_prefix_suffix(result, **kwargs)
|
|
|
|
|
self._append(result, **kwargs)
|
|
|
|
@@ -539,7 +547,7 @@ class AnalysisIndicators(BasePandasObject):
|
|
|
|
|
high = self._get_column(high, 'high')
|
|
|
|
|
low = self._get_column(low, 'low')
|
|
|
|
|
close = self._get_column(close, 'close')
|
|
|
|
|
from pandas_ta.overlap.hlc3 import hlc3
|
|
|
|
|
|
|
|
|
|
result = hlc3(high=high, low=low, close=close, offset=offset, **kwargs)
|
|
|
|
|
self._add_prefix_suffix(result, **kwargs)
|
|
|
|
|
self._append(result, **kwargs)
|
|
|
|
@@ -547,7 +555,7 @@ class AnalysisIndicators(BasePandasObject):
|
|
|
|
|
|
|
|
|
|
def hma(self, close=None, length=None, offset=None, **kwargs):
|
|
|
|
|
close = self._get_column(close, 'close')
|
|
|
|
|
from pandas_ta.overlap.hma import hma
|
|
|
|
|
|
|
|
|
|
result = hma(close=close, length=length, offset=offset, **kwargs)
|
|
|
|
|
self._add_prefix_suffix(result, **kwargs)
|
|
|
|
|
self._append(result, **kwargs)
|
|
|
|
@@ -555,7 +563,7 @@ class AnalysisIndicators(BasePandasObject):
|
|
|
|
|
|
|
|
|
|
def kama(self, close=None, length=None, fast=None, slow=None, offset=None, **kwargs):
|
|
|
|
|
close = self._get_column(close, 'close')
|
|
|
|
|
from pandas_ta.overlap.kama import kama
|
|
|
|
|
|
|
|
|
|
result = kama(close=close, length=length, fast=fast, slow=slow, offset=offset, **kwargs)
|
|
|
|
|
self._add_prefix_suffix(result, **kwargs)
|
|
|
|
|
self._append(result, **kwargs)
|
|
|
|
@@ -565,7 +573,7 @@ class AnalysisIndicators(BasePandasObject):
|
|
|
|
|
high = self._get_column(high, 'high')
|
|
|
|
|
low = self._get_column(low, 'low')
|
|
|
|
|
close = self._get_column(close, 'close')
|
|
|
|
|
from pandas_ta.overlap.ichimoku import ichimoku
|
|
|
|
|
|
|
|
|
|
result, span = ichimoku(high=high, low=low, close=close, tenkan=tenkan, kijun=kijun, senkou=senkou, offset=offset, **kwargs)
|
|
|
|
|
self._add_prefix_suffix(result, **kwargs)
|
|
|
|
|
self._append(result, **kwargs)
|
|
|
|
@@ -573,7 +581,7 @@ class AnalysisIndicators(BasePandasObject):
|
|
|
|
|
|
|
|
|
|
def linreg(self, close=None, length=None, offset=None, adjust=None, **kwargs):
|
|
|
|
|
close = self._get_column(close, 'close')
|
|
|
|
|
from pandas_ta.overlap.linreg import linreg
|
|
|
|
|
|
|
|
|
|
result = linreg(close=close, length=length, offset=offset, adjust=adjust, **kwargs)
|
|
|
|
|
self._add_prefix_suffix(result, **kwargs)
|
|
|
|
|
self._append(result, **kwargs)
|
|
|
|
@@ -581,7 +589,7 @@ class AnalysisIndicators(BasePandasObject):
|
|
|
|
|
|
|
|
|
|
def midpoint(self, close=None, length=None, offset=None, **kwargs):
|
|
|
|
|
close = self._get_column(close, 'close')
|
|
|
|
|
from pandas_ta.overlap.midpoint import midpoint
|
|
|
|
|
|
|
|
|
|
result = midpoint(close=close, length=length, offset=offset, **kwargs)
|
|
|
|
|
self._add_prefix_suffix(result, **kwargs)
|
|
|
|
|
self._append(result, **kwargs)
|
|
|
|
@@ -590,7 +598,7 @@ class AnalysisIndicators(BasePandasObject):
|
|
|
|
|
def midprice(self, high=None, low=None, length=None, offset=None, **kwargs):
|
|
|
|
|
high = self._get_column(high, 'high')
|
|
|
|
|
low = self._get_column(low, 'low')
|
|
|
|
|
from pandas_ta.overlap.midprice import midprice
|
|
|
|
|
|
|
|
|
|
result = midprice(high=high, low=low, length=length, offset=offset, **kwargs)
|
|
|
|
|
self._add_prefix_suffix(result, **kwargs)
|
|
|
|
|
self._append(result, **kwargs)
|
|
|
|
@@ -601,7 +609,7 @@ class AnalysisIndicators(BasePandasObject):
|
|
|
|
|
high = self._get_column(high, 'high')
|
|
|
|
|
low = self._get_column(low, 'low')
|
|
|
|
|
close = self._get_column(close, 'close')
|
|
|
|
|
from pandas_ta.overlap.ohlc4 import ohlc4
|
|
|
|
|
|
|
|
|
|
result = ohlc4(open_=open_, high=high, low=low, close=close, offset=offset, **kwargs)
|
|
|
|
|
self._add_prefix_suffix(result, **kwargs)
|
|
|
|
|
self._append(result, **kwargs)
|
|
|
|
@@ -609,7 +617,7 @@ class AnalysisIndicators(BasePandasObject):
|
|
|
|
|
|
|
|
|
|
def pwma(self, close=None, length=None, offset=None, **kwargs):
|
|
|
|
|
close = self._get_column(close, 'close')
|
|
|
|
|
from pandas_ta.overlap.pwma import pwma
|
|
|
|
|
|
|
|
|
|
result = pwma(close=close, length=length, offset=offset, **kwargs)
|
|
|
|
|
self._add_prefix_suffix(result, **kwargs)
|
|
|
|
|
self._append(result, **kwargs)
|
|
|
|
@@ -617,7 +625,7 @@ class AnalysisIndicators(BasePandasObject):
|
|
|
|
|
|
|
|
|
|
def rma(self, close=None, length=None, offset=None, **kwargs):
|
|
|
|
|
close = self._get_column(close, 'close')
|
|
|
|
|
from pandas_ta.overlap.rma import rma
|
|
|
|
|
|
|
|
|
|
result = rma(close=close, length=length, offset=offset, **kwargs)
|
|
|
|
|
self._add_prefix_suffix(result, **kwargs)
|
|
|
|
|
self._append(result, **kwargs)
|
|
|
|
@@ -625,7 +633,7 @@ class AnalysisIndicators(BasePandasObject):
|
|
|
|
|
|
|
|
|
|
def sinwma(self, close=None, length=None, offset=None, **kwargs):
|
|
|
|
|
close = self._get_column(close, 'close')
|
|
|
|
|
from pandas_ta.overlap.sinwma import sinwma
|
|
|
|
|
|
|
|
|
|
result = sinwma(close=close, length=length, offset=offset, **kwargs)
|
|
|
|
|
self._add_prefix_suffix(result, **kwargs)
|
|
|
|
|
self._append(result, **kwargs)
|
|
|
|
@@ -633,7 +641,7 @@ class AnalysisIndicators(BasePandasObject):
|
|
|
|
|
|
|
|
|
|
def sma(self, close=None, length=None, offset=None, **kwargs):
|
|
|
|
|
close = self._get_column(close, 'close')
|
|
|
|
|
from pandas_ta.overlap.sma import sma
|
|
|
|
|
|
|
|
|
|
result = sma(close=close, length=length, offset=offset, **kwargs)
|
|
|
|
|
self._add_prefix_suffix(result, **kwargs)
|
|
|
|
|
self._append(result, **kwargs)
|
|
|
|
@@ -641,7 +649,7 @@ class AnalysisIndicators(BasePandasObject):
|
|
|
|
|
|
|
|
|
|
def swma(self, close=None, length=None, offset=None, **kwargs):
|
|
|
|
|
close = self._get_column(close, 'close')
|
|
|
|
|
from pandas_ta.overlap.swma import swma
|
|
|
|
|
|
|
|
|
|
result = swma(close=close, length=length, offset=offset, **kwargs)
|
|
|
|
|
self._add_prefix_suffix(result, **kwargs)
|
|
|
|
|
self._append(result, **kwargs)
|
|
|
|
@@ -649,7 +657,7 @@ class AnalysisIndicators(BasePandasObject):
|
|
|
|
|
|
|
|
|
|
def t3(self, close=None, length=None, a=None, offset=None, **kwargs):
|
|
|
|
|
close = self._get_column(close, 'close')
|
|
|
|
|
from pandas_ta.overlap.t3 import t3
|
|
|
|
|
|
|
|
|
|
result = t3(close=close, length=length, a=a, offset=offset, **kwargs)
|
|
|
|
|
self._add_prefix_suffix(result, **kwargs)
|
|
|
|
|
self._append(result, **kwargs)
|
|
|
|
@@ -657,7 +665,7 @@ class AnalysisIndicators(BasePandasObject):
|
|
|
|
|
|
|
|
|
|
def tema(self, close=None, length=None, offset=None, **kwargs):
|
|
|
|
|
close = self._get_column(close, 'close')
|
|
|
|
|
from pandas_ta.overlap.tema import tema
|
|
|
|
|
|
|
|
|
|
result = tema(close=close, length=length, offset=offset, **kwargs)
|
|
|
|
|
self._add_prefix_suffix(result, **kwargs)
|
|
|
|
|
self._append(result, **kwargs)
|
|
|
|
@@ -665,7 +673,7 @@ class AnalysisIndicators(BasePandasObject):
|
|
|
|
|
|
|
|
|
|
def trima(self, close=None, length=None, offset=None, **kwargs):
|
|
|
|
|
close = self._get_column(close, 'close')
|
|
|
|
|
from pandas_ta.overlap.trima import trima
|
|
|
|
|
|
|
|
|
|
result = trima(close=close, length=length, offset=offset, **kwargs)
|
|
|
|
|
self._add_prefix_suffix(result, **kwargs)
|
|
|
|
|
self._append(result, **kwargs)
|
|
|
|
@@ -676,7 +684,7 @@ class AnalysisIndicators(BasePandasObject):
|
|
|
|
|
low = self._get_column(low, 'low')
|
|
|
|
|
close = self._get_column(close, 'close')
|
|
|
|
|
volume = self._get_column(volume, 'volume')
|
|
|
|
|
from pandas_ta.overlap.vwap import vwap
|
|
|
|
|
|
|
|
|
|
result = vwap(high=high, low=low, close=close, volume=volume, offset=offset, **kwargs)
|
|
|
|
|
self._add_prefix_suffix(result, **kwargs)
|
|
|
|
|
self._append(result, **kwargs)
|
|
|
|
@@ -685,7 +693,7 @@ class AnalysisIndicators(BasePandasObject):
|
|
|
|
|
def vwma(self, close=None, volume=None, length=None, offset=None, **kwargs):
|
|
|
|
|
close = self._get_column(close, 'close')
|
|
|
|
|
volume = self._get_column(volume, 'volume')
|
|
|
|
|
from pandas_ta.overlap.vwma import vwma
|
|
|
|
|
|
|
|
|
|
result = vwma(close=close, volume=close, length=length, offset=offset, **kwargs)
|
|
|
|
|
self._add_prefix_suffix(result, **kwargs)
|
|
|
|
|
self._append(result, **kwargs)
|
|
|
|
@@ -695,14 +703,14 @@ class AnalysisIndicators(BasePandasObject):
|
|
|
|
|
high = self._get_column(high, 'high')
|
|
|
|
|
low = self._get_column(low, 'low')
|
|
|
|
|
close = self._get_column(close, 'close')
|
|
|
|
|
from pandas_ta.overlap.wcp import wcp
|
|
|
|
|
|
|
|
|
|
result = wcp(high=high, low=low, close=close, offset=offset, **kwargs)
|
|
|
|
|
self._append(result, **kwargs)
|
|
|
|
|
return result
|
|
|
|
|
|
|
|
|
|
def wma(self, close=None, length=None, offset=None, **kwargs):
|
|
|
|
|
close = self._get_column(close, 'close')
|
|
|
|
|
from pandas_ta.overlap.wma import wma
|
|
|
|
|
|
|
|
|
|
result = wma(close=close, length=length, offset=offset, **kwargs)
|
|
|
|
|
self._add_prefix_suffix(result, **kwargs)
|
|
|
|
|
self._append(result, **kwargs)
|
|
|
|
@@ -710,7 +718,7 @@ class AnalysisIndicators(BasePandasObject):
|
|
|
|
|
|
|
|
|
|
def zlma(self, close=None, length=None, mamode=None, offset=None, **kwargs):
|
|
|
|
|
close = self._get_column(close, 'close')
|
|
|
|
|
from pandas_ta.overlap.zlma import zlma
|
|
|
|
|
|
|
|
|
|
result = zlma(close=close, length=length, mamode=mamode, offset=offset, **kwargs)
|
|
|
|
|
self._add_prefix_suffix(result, **kwargs)
|
|
|
|
|
self._append(result, **kwargs)
|
|
|
|
@@ -720,7 +728,7 @@ class AnalysisIndicators(BasePandasObject):
|
|
|
|
|
# Performance Indicators
|
|
|
|
|
def log_return(self, close=None, length=None, cumulative=False, percent=False, offset=None, **kwargs):
|
|
|
|
|
close = self._get_column(close, 'close')
|
|
|
|
|
from pandas_ta.performance.log_return import log_return
|
|
|
|
|
|
|
|
|
|
result = log_return(close=close, length=length, cumulative=cumulative, percent=percent, offset=offset, **kwargs)
|
|
|
|
|
self._add_prefix_suffix(result, **kwargs)
|
|
|
|
|
self._append(result, **kwargs)
|
|
|
|
@@ -728,7 +736,7 @@ class AnalysisIndicators(BasePandasObject):
|
|
|
|
|
|
|
|
|
|
def percent_return(self, close=None, length=None, cumulative=False, percent=False, offset=None, **kwargs):
|
|
|
|
|
close = self._get_column(close, 'close')
|
|
|
|
|
from pandas_ta.performance.percent_return import percent_return
|
|
|
|
|
|
|
|
|
|
result = percent_return(close=close, length=length, cumulative=cumulative, percent=percent, offset=offset, **kwargs)
|
|
|
|
|
self._add_prefix_suffix(result, **kwargs)
|
|
|
|
|
self._append(result, **kwargs)
|
|
|
|
@@ -737,7 +745,7 @@ class AnalysisIndicators(BasePandasObject):
|
|
|
|
|
def trend_return(self, close=None, trend=None, log=True, cumulative=None, offset=None, trend_reset=None, **kwargs):
|
|
|
|
|
close = self._get_column(close, 'close')
|
|
|
|
|
trend = self._get_column(trend, f"{trend}")
|
|
|
|
|
from pandas_ta.performance.trend_return import trend_return
|
|
|
|
|
|
|
|
|
|
result = trend_return(close=close, trend=trend, log=log, cumulative=cumulative, offset=offset, trend_reset=trend_reset, **kwargs)
|
|
|
|
|
self._add_prefix_suffix(result, **kwargs)
|
|
|
|
|
self._append(result, **kwargs)
|
|
|
|
@@ -747,7 +755,7 @@ class AnalysisIndicators(BasePandasObject):
|
|
|
|
|
# Statistics Indicators
|
|
|
|
|
def kurtosis(self, close=None, length=None, offset=None, **kwargs):
|
|
|
|
|
close = self._get_column(close, 'close')
|
|
|
|
|
from pandas_ta.statistics.kurtosis import kurtosis
|
|
|
|
|
|
|
|
|
|
result = kurtosis(close=close, length=length, offset=offset, **kwargs)
|
|
|
|
|
self._add_prefix_suffix(result, **kwargs)
|
|
|
|
|
self._append(result, **kwargs)
|
|
|
|
@@ -755,7 +763,7 @@ class AnalysisIndicators(BasePandasObject):
|
|
|
|
|
|
|
|
|
|
def mad(self, close=None, length=None, offset=None, **kwargs):
|
|
|
|
|
close = self._get_column(close, 'close')
|
|
|
|
|
from pandas_ta.statistics.mad import mad
|
|
|
|
|
|
|
|
|
|
result = mad(close=close, length=length, offset=offset, **kwargs)
|
|
|
|
|
self._add_prefix_suffix(result, **kwargs)
|
|
|
|
|
self._append(result, **kwargs)
|
|
|
|
@@ -763,7 +771,7 @@ class AnalysisIndicators(BasePandasObject):
|
|
|
|
|
|
|
|
|
|
def median(self, close=None, length=None, offset=None, **kwargs):
|
|
|
|
|
close = self._get_column(close, 'close')
|
|
|
|
|
from pandas_ta.statistics.median import median
|
|
|
|
|
|
|
|
|
|
result = median(close=close, length=length, offset=offset, **kwargs)
|
|
|
|
|
self._add_prefix_suffix(result, **kwargs)
|
|
|
|
|
self._append(result, **kwargs)
|
|
|
|
@@ -771,7 +779,7 @@ class AnalysisIndicators(BasePandasObject):
|
|
|
|
|
|
|
|
|
|
def quantile(self, close=None, length=None, q=None, offset=None, **kwargs):
|
|
|
|
|
close = self._get_column(close, 'close')
|
|
|
|
|
from pandas_ta.statistics.quantile import quantile
|
|
|
|
|
|
|
|
|
|
result = quantile(close=close, length=length, q=q, offset=offset, **kwargs)
|
|
|
|
|
self._add_prefix_suffix(result, **kwargs)
|
|
|
|
|
self._append(result, **kwargs)
|
|
|
|
@@ -779,7 +787,7 @@ class AnalysisIndicators(BasePandasObject):
|
|
|
|
|
|
|
|
|
|
def skew(self, close=None, length=None, offset=None, **kwargs):
|
|
|
|
|
close = self._get_column(close, 'close')
|
|
|
|
|
from pandas_ta.statistics.skew import skew
|
|
|
|
|
|
|
|
|
|
result = skew(close=close, length=length, offset=offset, **kwargs)
|
|
|
|
|
self._add_prefix_suffix(result, **kwargs)
|
|
|
|
|
self._append(result, **kwargs)
|
|
|
|
@@ -787,7 +795,7 @@ class AnalysisIndicators(BasePandasObject):
|
|
|
|
|
|
|
|
|
|
def stdev(self, close=None, length=None, offset=None, **kwargs):
|
|
|
|
|
close = self._get_column(close, 'close')
|
|
|
|
|
from pandas_ta.statistics.stdev import stdev
|
|
|
|
|
|
|
|
|
|
result = stdev(close=close, length=length, offset=offset, **kwargs)
|
|
|
|
|
self._add_prefix_suffix(result, **kwargs)
|
|
|
|
|
self._append(result, **kwargs)
|
|
|
|
@@ -795,7 +803,7 @@ class AnalysisIndicators(BasePandasObject):
|
|
|
|
|
|
|
|
|
|
def variance(self, close=None, length=None, offset=None, **kwargs):
|
|
|
|
|
close = self._get_column(close, 'close')
|
|
|
|
|
from pandas_ta.statistics.variance import variance
|
|
|
|
|
|
|
|
|
|
result = variance(close=close, length=length, offset=offset, **kwargs)
|
|
|
|
|
self._add_prefix_suffix(result, **kwargs)
|
|
|
|
|
self._append(result, **kwargs)
|
|
|
|
@@ -803,7 +811,7 @@ class AnalysisIndicators(BasePandasObject):
|
|
|
|
|
|
|
|
|
|
def zscore(self, close=None, length=None, std=None, offset=None, **kwargs):
|
|
|
|
|
close = self._get_column(close, 'close')
|
|
|
|
|
from pandas_ta.statistics.zscore import zscore
|
|
|
|
|
|
|
|
|
|
result = zscore(close=close, length=length, std=std, offset=offset, **kwargs)
|
|
|
|
|
self._add_prefix_suffix(result, **kwargs)
|
|
|
|
|
self._append(result, **kwargs)
|
|
|
|
@@ -816,7 +824,7 @@ class AnalysisIndicators(BasePandasObject):
|
|
|
|
|
high = self._get_column(high, 'high')
|
|
|
|
|
low = self._get_column(low, 'low')
|
|
|
|
|
close = self._get_column(close, 'close')
|
|
|
|
|
from pandas_ta.trend.adx import adx
|
|
|
|
|
|
|
|
|
|
result = adx(high=high, low=low, close=close, drift=drift, offset=offset, **kwargs)
|
|
|
|
|
self._add_prefix_suffix(result, **kwargs)
|
|
|
|
|
self._append(result, **kwargs)
|
|
|
|
@@ -824,7 +832,7 @@ class AnalysisIndicators(BasePandasObject):
|
|
|
|
|
|
|
|
|
|
def amat(self, close=None, fast=None, slow=None, mamode=None, lookback=None, offset=None, **kwargs):
|
|
|
|
|
close = self._get_column(close, 'close')
|
|
|
|
|
from pandas_ta.trend.amat import amat
|
|
|
|
|
|
|
|
|
|
result = amat(close=close, fast=fast, slow=slow, mamode=mamode, lookback=lookback, offset=offset, **kwargs)
|
|
|
|
|
self._add_prefix_suffix(result, **kwargs)
|
|
|
|
|
self._append(result, **kwargs)
|
|
|
|
@@ -833,7 +841,7 @@ class AnalysisIndicators(BasePandasObject):
|
|
|
|
|
def aroon(self, high=None, low=None, length=None, scalar=None, offset=None, **kwargs):
|
|
|
|
|
high = self._get_column(high, 'high')
|
|
|
|
|
low = self._get_column(low, 'low')
|
|
|
|
|
from pandas_ta.trend.aroon import aroon
|
|
|
|
|
|
|
|
|
|
result = aroon(high=high, low=low, length=length, scalar=scalar, offset=offset, **kwargs)
|
|
|
|
|
self._add_prefix_suffix(result, **kwargs)
|
|
|
|
|
self._append(result, **kwargs)
|
|
|
|
@@ -843,7 +851,7 @@ class AnalysisIndicators(BasePandasObject):
|
|
|
|
|
high = self._get_column(close, 'high')
|
|
|
|
|
low = self._get_column(close, 'low')
|
|
|
|
|
close = self._get_column(close, 'close')
|
|
|
|
|
from pandas_ta.trend.chop import chop
|
|
|
|
|
|
|
|
|
|
result = chop(high=high, low=low, close=close, length=length, atr_length=atr_length, scalar=scalar, drift=drift, offset=offset, **kwargs)
|
|
|
|
|
self._append(result, **kwargs)
|
|
|
|
|
return result
|
|
|
|
@@ -852,14 +860,14 @@ class AnalysisIndicators(BasePandasObject):
|
|
|
|
|
high = self._get_column(high, 'high')
|
|
|
|
|
low = self._get_column(low, 'low')
|
|
|
|
|
close = self._get_column(close, 'close')
|
|
|
|
|
from pandas_ta.trend.cksp import cksp
|
|
|
|
|
|
|
|
|
|
result = cksp(high=high, low=low, close=close, p=p, x=x, q=q, offset=offset, **kwargs)
|
|
|
|
|
self._append(result, **kwargs)
|
|
|
|
|
return result
|
|
|
|
|
|
|
|
|
|
def decreasing(self, close=None, length=None, asint=True, offset=None, **kwargs):
|
|
|
|
|
close = self._get_column(close, 'close')
|
|
|
|
|
from pandas_ta.trend.decreasing import decreasing
|
|
|
|
|
|
|
|
|
|
result = decreasing(close=close, length=length, asint=asint, offset=offset, **kwargs)
|
|
|
|
|
self._add_prefix_suffix(result, **kwargs)
|
|
|
|
|
self._append(result, **kwargs)
|
|
|
|
@@ -867,7 +875,7 @@ class AnalysisIndicators(BasePandasObject):
|
|
|
|
|
|
|
|
|
|
def dpo(self, close=None, length=None, centered=True, offset=None, **kwargs):
|
|
|
|
|
close = self._get_column(close, 'close')
|
|
|
|
|
from pandas_ta.trend.dpo import dpo
|
|
|
|
|
|
|
|
|
|
result = dpo(close=close, length=length, centered=centered, offset=offset, **kwargs)
|
|
|
|
|
self._add_prefix_suffix(result, **kwargs)
|
|
|
|
|
self._append(result, **kwargs)
|
|
|
|
@@ -875,7 +883,7 @@ class AnalysisIndicators(BasePandasObject):
|
|
|
|
|
|
|
|
|
|
def increasing(self, close=None, length=None, asint=True, offset=None, **kwargs):
|
|
|
|
|
close = self._get_column(close, 'close')
|
|
|
|
|
from pandas_ta.trend.increasing import increasing
|
|
|
|
|
|
|
|
|
|
result = increasing(close=close, length=length, asint=asint, offset=offset, **kwargs)
|
|
|
|
|
self._add_prefix_suffix(result, **kwargs)
|
|
|
|
|
self._append(result, **kwargs)
|
|
|
|
@@ -883,7 +891,7 @@ class AnalysisIndicators(BasePandasObject):
|
|
|
|
|
|
|
|
|
|
def linear_decay(self, close=None, length=None, offset=None, **kwargs):
|
|
|
|
|
close = self._get_column(close, 'close')
|
|
|
|
|
from pandas_ta.trend.linear_decay import linear_decay
|
|
|
|
|
|
|
|
|
|
result = linear_decay(close=close, length=length, offset=offset, **kwargs)
|
|
|
|
|
self._add_prefix_suffix(result, **kwargs)
|
|
|
|
|
self._append(result, **kwargs)
|
|
|
|
@@ -894,7 +902,7 @@ class AnalysisIndicators(BasePandasObject):
|
|
|
|
|
else:
|
|
|
|
|
fast = self._get_column(fast, f"{fast}")
|
|
|
|
|
slow = self._get_column(slow, f"{slow}")
|
|
|
|
|
from pandas_ta.trend.long_run import long_run
|
|
|
|
|
|
|
|
|
|
result = long_run(fast=fast, slow=slow, length=length, offset=offset, **kwargs)
|
|
|
|
|
self._add_prefix_suffix(result, **kwargs)
|
|
|
|
|
self._append(result, **kwargs)
|
|
|
|
@@ -905,7 +913,7 @@ class AnalysisIndicators(BasePandasObject):
|
|
|
|
|
low = self._get_column(low, 'low')
|
|
|
|
|
if close is not None:
|
|
|
|
|
close = self._get_column(close, 'close')
|
|
|
|
|
from pandas_ta.trend.psar import psar
|
|
|
|
|
|
|
|
|
|
result = psar(high=high, low=low, close=close, af=af, max_af=max_af, offset=offset, **kwargs)
|
|
|
|
|
self._add_prefix_suffix(result, **kwargs)
|
|
|
|
|
self._append(result, **kwargs)
|
|
|
|
@@ -914,7 +922,7 @@ class AnalysisIndicators(BasePandasObject):
|
|
|
|
|
def qstick(self, open_=None, close=None, length=None, offset=None, **kwargs):
|
|
|
|
|
open_ = self._get_column(open_, 'open')
|
|
|
|
|
close = self._get_column(close, 'close')
|
|
|
|
|
from pandas_ta.trend.qstick import qstick
|
|
|
|
|
|
|
|
|
|
result = qstick(open_=open_, close=close, length=length, offset=offset, **kwargs)
|
|
|
|
|
self._add_prefix_suffix(result, **kwargs)
|
|
|
|
|
self._append(result, **kwargs)
|
|
|
|
@@ -925,7 +933,7 @@ class AnalysisIndicators(BasePandasObject):
|
|
|
|
|
else:
|
|
|
|
|
fast = self._get_column(fast, f"{fast}")
|
|
|
|
|
slow = self._get_column(slow, f"{slow}")
|
|
|
|
|
from pandas_ta.trend.short_run import short_run
|
|
|
|
|
|
|
|
|
|
result = short_run(fast=fast, slow=slow, length=length, offset=offset, **kwargs)
|
|
|
|
|
self._add_prefix_suffix(result, **kwargs)
|
|
|
|
|
self._append(result, **kwargs)
|
|
|
|
@@ -935,7 +943,7 @@ class AnalysisIndicators(BasePandasObject):
|
|
|
|
|
high = self._get_column(high, 'high')
|
|
|
|
|
low = self._get_column(low, 'low')
|
|
|
|
|
close = self._get_column(close, 'close')
|
|
|
|
|
from pandas_ta.trend.vortex import vortex
|
|
|
|
|
|
|
|
|
|
result = vortex(high=high, low=low, close=close, drift=drift, offset=offset, **kwargs)
|
|
|
|
|
self._add_prefix_suffix(result, **kwargs)
|
|
|
|
|
self._append(result, **kwargs)
|
|
|
|
@@ -995,7 +1003,7 @@ class AnalysisIndicators(BasePandasObject):
|
|
|
|
|
high = self._get_column(high, 'high')
|
|
|
|
|
low = self._get_column(low, 'low')
|
|
|
|
|
close = self._get_column(close, 'close')
|
|
|
|
|
from pandas_ta.volatility.aberration import aberration
|
|
|
|
|
|
|
|
|
|
result = aberration(high=high, low=low, close=close, length=length, atr_length=atr_length, offset=offset, **kwargs)
|
|
|
|
|
self._add_prefix_suffix(result, **kwargs)
|
|
|
|
|
self._append(result, **kwargs)
|
|
|
|
@@ -1005,7 +1013,7 @@ class AnalysisIndicators(BasePandasObject):
|
|
|
|
|
high = self._get_column(high, 'high')
|
|
|
|
|
low = self._get_column(low, 'low')
|
|
|
|
|
close = self._get_column(close, 'close')
|
|
|
|
|
from pandas_ta.volatility.accbands import accbands
|
|
|
|
|
|
|
|
|
|
result = accbands(high=high, low=low, close=close, length=length, c=c, mamode=mamode, offset=offset, **kwargs)
|
|
|
|
|
self._add_prefix_suffix(result, **kwargs)
|
|
|
|
|
self._append(result, **kwargs)
|
|
|
|
@@ -1015,7 +1023,7 @@ class AnalysisIndicators(BasePandasObject):
|
|
|
|
|
high = self._get_column(high, 'high')
|
|
|
|
|
low = self._get_column(low, 'low')
|
|
|
|
|
close = self._get_column(close, 'close')
|
|
|
|
|
from pandas_ta.volatility.atr import atr
|
|
|
|
|
|
|
|
|
|
result = atr(high=high, low=low, close=close, length=length, mamode=mamode, offset=offset, **kwargs)
|
|
|
|
|
self._add_prefix_suffix(result, **kwargs)
|
|
|
|
|
self._append(result, **kwargs)
|
|
|
|
@@ -1023,7 +1031,7 @@ class AnalysisIndicators(BasePandasObject):
|
|
|
|
|
|
|
|
|
|
def bbands(self, close=None, length=None, stdev=None, mamode=None, offset=None, **kwargs):
|
|
|
|
|
close = self._get_column(close, 'close')
|
|
|
|
|
from pandas_ta.volatility.bbands import bbands
|
|
|
|
|
|
|
|
|
|
result = bbands(close=close, length=length, stdev=stdev, mamode=mamode, offset=offset, **kwargs)
|
|
|
|
|
self._add_prefix_suffix(result, **kwargs)
|
|
|
|
|
self._append(result, **kwargs)
|
|
|
|
@@ -1031,7 +1039,7 @@ class AnalysisIndicators(BasePandasObject):
|
|
|
|
|
|
|
|
|
|
def donchian(self, close=None, length=None, offset=None, **kwargs):
|
|
|
|
|
close = self._get_column(close, 'close')
|
|
|
|
|
from pandas_ta.volatility.donchian import donchian
|
|
|
|
|
|
|
|
|
|
result = donchian(close=close, length=length, offset=offset, **kwargs)
|
|
|
|
|
self._add_prefix_suffix(result, **kwargs)
|
|
|
|
|
self._append(result, **kwargs)
|
|
|
|
@@ -1041,7 +1049,7 @@ class AnalysisIndicators(BasePandasObject):
|
|
|
|
|
high = self._get_column(high, 'high')
|
|
|
|
|
low = self._get_column(low, 'low')
|
|
|
|
|
close = self._get_column(close, 'close')
|
|
|
|
|
from pandas_ta.volatility.kc import kc
|
|
|
|
|
|
|
|
|
|
result = kc(high=high, low=low, close=close, length=length, scalar=scalar, mamode=mamode, offset=offset, **kwargs)
|
|
|
|
|
self._add_prefix_suffix(result, **kwargs)
|
|
|
|
|
self._append(result, **kwargs)
|
|
|
|
@@ -1050,7 +1058,7 @@ class AnalysisIndicators(BasePandasObject):
|
|
|
|
|
def massi(self, high=None, low=None, fast=None, slow=None, offset=None, **kwargs):
|
|
|
|
|
high = self._get_column(high, 'high')
|
|
|
|
|
low = self._get_column(low, 'low')
|
|
|
|
|
from pandas_ta.volatility.massi import massi
|
|
|
|
|
|
|
|
|
|
result = massi(high=high, low=low, fast=fast, slow=slow, offset=offset, **kwargs)
|
|
|
|
|
self._add_prefix_suffix(result, **kwargs)
|
|
|
|
|
self._append(result, **kwargs)
|
|
|
|
@@ -1060,7 +1068,7 @@ class AnalysisIndicators(BasePandasObject):
|
|
|
|
|
high = self._get_column(high, 'high')
|
|
|
|
|
low = self._get_column(low, 'low')
|
|
|
|
|
close = self._get_column(close, 'close')
|
|
|
|
|
from pandas_ta.volatility.natr import natr
|
|
|
|
|
|
|
|
|
|
result = natr(high=high, low=low, close=close, length=length, mamode=mamode, offset=offset, **kwargs)
|
|
|
|
|
self._add_prefix_suffix(result, **kwargs)
|
|
|
|
|
self._append(result, **kwargs)
|
|
|
|
@@ -1071,7 +1079,7 @@ class AnalysisIndicators(BasePandasObject):
|
|
|
|
|
high = self._get_column(high, 'high')
|
|
|
|
|
low = self._get_column(low, 'low')
|
|
|
|
|
close = self._get_column(close, 'close')
|
|
|
|
|
from pandas_ta.volatility.pdist import pdist
|
|
|
|
|
|
|
|
|
|
result = pdist(open_=open_, high=high, low=low, close=close, drift=drift, offset=offset, **kwargs)
|
|
|
|
|
self._append(result, **kwargs)
|
|
|
|
|
return result
|
|
|
|
@@ -1080,7 +1088,7 @@ class AnalysisIndicators(BasePandasObject):
|
|
|
|
|
high = self._get_column(high, 'high')
|
|
|
|
|
low = self._get_column(low, 'low')
|
|
|
|
|
close = self._get_column(close, 'close')
|
|
|
|
|
from pandas_ta.volatility.true_range import true_range
|
|
|
|
|
|
|
|
|
|
result = true_range(high=high, low=low, close=close, drift=drift, offset=offset, **kwargs)
|
|
|
|
|
self._add_prefix_suffix(result, **kwargs)
|
|
|
|
|
self._append(result, **kwargs)
|
|
|
|
@@ -1096,7 +1104,7 @@ class AnalysisIndicators(BasePandasObject):
|
|
|
|
|
low = self._get_column(low, 'low')
|
|
|
|
|
close = self._get_column(close, 'close')
|
|
|
|
|
volume = self._get_column(volume, 'volume')
|
|
|
|
|
from pandas_ta.volume.ad import ad
|
|
|
|
|
|
|
|
|
|
result = ad(high=high, low=low, close=close, volume=volume, open_=open_, signed=signed, offset=offset, **kwargs)
|
|
|
|
|
self._add_prefix_suffix(result, **kwargs)
|
|
|
|
|
self._append(result, **kwargs)
|
|
|
|
@@ -1109,7 +1117,7 @@ class AnalysisIndicators(BasePandasObject):
|
|
|
|
|
low = self._get_column(low, 'low')
|
|
|
|
|
close = self._get_column(close, 'close')
|
|
|
|
|
volume = self._get_column(volume, 'volume')
|
|
|
|
|
from pandas_ta.volume.adosc import adosc
|
|
|
|
|
|
|
|
|
|
result = adosc(high=high, low=low, close=close, volume=volume, open_=open_, fast=fast, slow=slow, signed=signed, offset=offset, **kwargs)
|
|
|
|
|
self._add_prefix_suffix(result, **kwargs)
|
|
|
|
|
self._append(result, **kwargs)
|
|
|
|
@@ -1118,7 +1126,7 @@ class AnalysisIndicators(BasePandasObject):
|
|
|
|
|
def aobv(self, close=None, volume=None, fast=None, slow=None, mamode=None, max_lookback=None, min_lookback=None, offset=None, **kwargs):
|
|
|
|
|
close = self._get_column(close, 'close')
|
|
|
|
|
volume = self._get_column(volume, 'volume')
|
|
|
|
|
from pandas_ta.volume.aobv import aobv
|
|
|
|
|
|
|
|
|
|
result = aobv(close=close, volume=volume, fast=fast, slow=slow, mamode=mamode, max_lookback=max_lookback, min_lookback=min_lookback, offset=offset, **kwargs)
|
|
|
|
|
self._add_prefix_suffix(result, **kwargs)
|
|
|
|
|
self._append(result, **kwargs)
|
|
|
|
@@ -1131,7 +1139,7 @@ class AnalysisIndicators(BasePandasObject):
|
|
|
|
|
low = self._get_column(low, 'low')
|
|
|
|
|
close = self._get_column(close, 'close')
|
|
|
|
|
volume = self._get_column(volume, 'volume')
|
|
|
|
|
from pandas_ta.volume.cmf import cmf
|
|
|
|
|
|
|
|
|
|
result = cmf(high=high, low=low, close=close, volume=volume, open_=open_, length=length, offset=offset, **kwargs)
|
|
|
|
|
self._add_prefix_suffix(result, **kwargs)
|
|
|
|
|
self._append(result, **kwargs)
|
|
|
|
@@ -1140,7 +1148,7 @@ class AnalysisIndicators(BasePandasObject):
|
|
|
|
|
def efi(self, close=None, volume=None, length=None, mamode=None, offset=None, drift=None, **kwargs):
|
|
|
|
|
close = self._get_column(close, 'close')
|
|
|
|
|
volume = self._get_column(volume, 'volume')
|
|
|
|
|
from pandas_ta.volume.efi import efi
|
|
|
|
|
|
|
|
|
|
result = efi(close=close, volume=volume, length=length, offset=offset, mamode=mamode, drift=drift, **kwargs)
|
|
|
|
|
self._add_prefix_suffix(result, **kwargs)
|
|
|
|
|
self._append(result, **kwargs)
|
|
|
|
@@ -1151,7 +1159,7 @@ class AnalysisIndicators(BasePandasObject):
|
|
|
|
|
low = self._get_column(low, 'low')
|
|
|
|
|
close = self._get_column(close, 'close')
|
|
|
|
|
volume = self._get_column(volume, 'volume')
|
|
|
|
|
from pandas_ta.volume.eom import eom
|
|
|
|
|
|
|
|
|
|
result = eom(high=high, low=low, close=close, volume=volume, length=length, divisor=divisor, offset=offset, drift=drift, **kwargs)
|
|
|
|
|
self._add_prefix_suffix(result, **kwargs)
|
|
|
|
|
self._append(result, **kwargs)
|
|
|
|
@@ -1162,7 +1170,7 @@ class AnalysisIndicators(BasePandasObject):
|
|
|
|
|
low = self._get_column(low, 'low')
|
|
|
|
|
close = self._get_column(close, 'close')
|
|
|
|
|
volume = self._get_column(volume, 'volume')
|
|
|
|
|
from pandas_ta.volume.mfi import mfi
|
|
|
|
|
|
|
|
|
|
result = mfi(high=high, low=low, close=close, volume=volume, length=length, drift=drift, offset=offset, **kwargs)
|
|
|
|
|
self._add_prefix_suffix(result, **kwargs)
|
|
|
|
|
self._append(result, **kwargs)
|
|
|
|
@@ -1171,7 +1179,7 @@ class AnalysisIndicators(BasePandasObject):
|
|
|
|
|
def nvi(self, close=None, volume=None, length=None, initial=None, signed=True, offset=None, **kwargs):
|
|
|
|
|
close = self._get_column(close, 'close')
|
|
|
|
|
volume = self._get_column(volume, 'volume')
|
|
|
|
|
from pandas_ta.volume.nvi import nvi
|
|
|
|
|
|
|
|
|
|
result = nvi(close=close, volume=volume, length=length, initial=initial, signed=signed, offset=offset, **kwargs)
|
|
|
|
|
self._add_prefix_suffix(result, **kwargs)
|
|
|
|
|
self._append(result, **kwargs)
|
|
|
|
@@ -1180,7 +1188,7 @@ class AnalysisIndicators(BasePandasObject):
|
|
|
|
|
def obv(self, close=None, volume=None, offset=None, **kwargs):
|
|
|
|
|
close = self._get_column(close, 'close')
|
|
|
|
|
volume = self._get_column(volume, 'volume')
|
|
|
|
|
from pandas_ta.volume.obv import obv
|
|
|
|
|
|
|
|
|
|
result = obv(close=close, volume=volume, offset=offset, **kwargs)
|
|
|
|
|
self._add_prefix_suffix(result, **kwargs)
|
|
|
|
|
self._append(result, **kwargs)
|
|
|
|
@@ -1189,7 +1197,7 @@ class AnalysisIndicators(BasePandasObject):
|
|
|
|
|
def pvi(self, close=None, volume=None, length=None, initial=None, signed=True, offset=None, **kwargs):
|
|
|
|
|
close = self._get_column(close, 'close')
|
|
|
|
|
volume = self._get_column(volume, 'volume')
|
|
|
|
|
from pandas_ta.volume.pvi import pvi
|
|
|
|
|
|
|
|
|
|
result = pvi(close=close, volume=volume, length=length, initial=initial, signed=signed, offset=offset, **kwargs)
|
|
|
|
|
self._add_prefix_suffix(result, **kwargs)
|
|
|
|
|
self._append(result, **kwargs)
|
|
|
|
@@ -1198,7 +1206,7 @@ class AnalysisIndicators(BasePandasObject):
|
|
|
|
|
def pvol(self, close=None, volume=None, offset=None, **kwargs):
|
|
|
|
|
close = self._get_column(close, 'close')
|
|
|
|
|
volume = self._get_column(volume, 'volume')
|
|
|
|
|
from pandas_ta.volume.pvol import pvol
|
|
|
|
|
|
|
|
|
|
result = pvol(close=close, volume=volume, offset=offset, **kwargs)
|
|
|
|
|
self._add_prefix_suffix(result, **kwargs)
|
|
|
|
|
self._append(result, **kwargs)
|
|
|
|
@@ -1207,7 +1215,7 @@ class AnalysisIndicators(BasePandasObject):
|
|
|
|
|
def pvt(self, close=None, volume=None, offset=None, **kwargs):
|
|
|
|
|
close = self._get_column(close, 'close')
|
|
|
|
|
volume = self._get_column(volume, 'volume')
|
|
|
|
|
from pandas_ta.volume.pvt import pvt
|
|
|
|
|
|
|
|
|
|
result = pvt(close=close, volume=volume, offset=offset, **kwargs)
|
|
|
|
|
self._add_prefix_suffix(result, **kwargs)
|
|
|
|
|
self._append(result, **kwargs)
|
|
|
|
@@ -1216,7 +1224,7 @@ class AnalysisIndicators(BasePandasObject):
|
|
|
|
|
def vp(self, close=None, volume=None, width=None, percent=None, **kwargs):
|
|
|
|
|
close = self._get_column(close, 'close')
|
|
|
|
|
volume = self._get_column(volume, 'volume')
|
|
|
|
|
from pandas_ta.volume.vp import vp
|
|
|
|
|
|
|
|
|
|
result = vp(close=close, volume=volume, width=width, percent=percent, **kwargs)
|
|
|
|
|
self._add_prefix_suffix(result, **kwargs)
|
|
|
|
|
self._append(result, **kwargs)
|
|
|
|
|