import numpy as np
import pandas as pd
from _typeshed import Incomplete

def SMA(close: np.array, timeperiod: int = 5): ...
def WMA(close: np.array, timeperiod: int = 5): ...
def EMA(close: np.array, timeperiod: int = 5): ...
def MACD(real: np.array, fastperiod: int = 12, slowperiod: int = 26, signalperiod: int = 9): ...
def KDJ(close: np.array, high: np.array, low: np.array): ...
def RSQ(close: [np.array, list]) -> float: ...
def PLUS_DI(high, low, close, timeperiod: int = 14): ...
def MINUS_DI(high, low, close, timeperiod: int = 14): ...
def ATR(high, low, close, timeperiod: int = 14): ...
def MFI(high, low, close, volume, timeperiod: int = 14): ...
def CCI(high, low, close, timeperiod: int = 14): ...
def LINEARREG_ANGLE(real, timeperiod: int = 14): ...
def DOUBLE_SMA_LS(series: pd.Series, n: int = 5, m: int = 20, **kwargs): ...
def BOLL_LS(series: pd.Series, n: int = 5, s: float = 0.1, **kwargs): ...
def SMA_MIN_MAX_SCALE(series: pd.Series, timeperiod: int = 5, window: int = 5, **kwargs): ...
def RS_VOLATILITY(df: pd.DataFrame, timeperiod: int = 30, **kwargs): ...
def PK_VOLATILITY(df: pd.DataFrame, timeperiod: int = 30, **kwargs): ...
def SNR(real: pd.Series, timeperiod: int = 14, **kwargs): ...

SMA: Incomplete
EMA: Incomplete
MACD: Incomplete
PPO: Incomplete
ATR: Incomplete
PLUS_DI: Incomplete
MINUS_DI: Incomplete
MFI: Incomplete
CCI: Incomplete
BOLL: Incomplete
RSI: Incomplete
ADX: Incomplete
ADXR: Incomplete
AROON: Incomplete
AROONOSC: Incomplete
ROCR: Incomplete
ROCR100: Incomplete
TRIX: Incomplete
ULTOSC: Incomplete
WILLR: Incomplete
LINEARREG: Incomplete
LINEARREG_ANGLE: Incomplete
LINEARREG_INTERCEPT: Incomplete
LINEARREG_SLOPE: Incomplete
KAMA: Incomplete
STOCH: Incomplete
STOCHF: Incomplete
STOCHRSI: Incomplete
T3: Incomplete
TEMA: Incomplete
TRIMA: Incomplete
WMA: Incomplete
BBANDS: Incomplete
DEMA: Incomplete
HT_TRENDLINE: Incomplete
BOP: Incomplete
CMO: Incomplete
DX: Incomplete
BETA: Incomplete

def CHOP(high, low, close, **kwargs): ...
def rolling_polyfit(real: pd.Series, window: int = 20, degree: int = 1): ...
def rolling_auto_corr(real: pd.Series, window: int = 20, lag: int = 1): ...
def rolling_ptp(real: pd.Series, window: int = 20): ...
def rolling_skew(real: pd.Series, window: int = 20): ...
def rolling_kurt(real: pd.Series, window: int = 20): ...
def rolling_corr(x: pd.Series, y: pd.Series, window: int = 20): ...
def rolling_cov(x: pd.Series, y: pd.Series, window: int = 20): ...
def rolling_beta(x: pd.Series, y: pd.Series, window: int = 20): ...
def rolling_alpha(x: pd.Series, y: pd.Series, window: int = 20): ...
def rolling_rsq(x: pd.Series, window: int = 20): ...
def rolling_argmax(x: pd.Series, window: int = 20): ...
def rolling_argmin(x: pd.Series, window: int = 20): ...
def rolling_ir(x: pd.Series, window: int = 20): ...
def rolling_zscore(x: pd.Series, window: int = 20): ...
def rolling_rank(x: pd.Series, window: int = 20): ...
def rolling_max(x: pd.Series, window: int = 20): ...
def rolling_min(x: pd.Series, window: int = 20): ...
def rolling_mdd(x: pd.Series, window: int = 20): ...
def rolling_rank_sub(x: pd.Series, y: pd.Series, window: int = 20): ...
def rolling_rank_div(x: pd.Series, y: pd.Series, window: int = 20): ...
def rolling_rank_mul(x: pd.Series, y: pd.Series, window: int = 20): ...
def rolling_rank_sum(x: pd.Series, y: pd.Series, window: int = 20): ...
def rolling_vwap(close: pd.Series, volume: pd.Series, window: int = 20): ...
def rolling_obv(close: pd.Series, volume: pd.Series, window: int = 200): ...
def rolling_pvt(close: pd.Series, volume: pd.Series, window: int = 20): ...
def rolling_pvi(close: pd.Series, volume: pd.Series, window: int = 20): ...
def rolling_std(real: pd.Series, window: int = 20): ...
def ultimate_smoother(price, period: int = 7): ...
def sigmoid(x): ...
def log_return(x): ...
