二十、区块量化 TA-Lib 的一些常用指标
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import cross_order as order
import talib
symbol = 'BTC-USDT-SWAP' # okx
# symbol = 'BTCUSDT' # binance
# symbol = 'BTC_USDT' # gate.io
# 取个数据验证一下
data = order.get_candlesticks(symbol=symbol, interval='15m', limit=str(100))
# 一、重叠研究(overlap studies)
# 1.简单移动平均指标SMA
# 参数说明:talib.SMA(a,b)
# a:要计算平均数的序列;b:计算平均线的周期。表示计算a的b日移动平均
close = data['close'].values
SMA = talib.SMA(close, 5)
# 2.布林线BBANDS
# 参数说明:talib.BBANDS(close, timeperiod, matype)
# close:收盘价;timeperiod:周期;matype:平均方法(bolling线的middle线 = MA,用于设定哪种类型的MA)
# MA_Type: 0=SMA, 1=EMA, 2=WMA, 3=DEMA, 4=TEMA, 5=TRIMA, 6=KAMA, 7=MAMA, 8=T3 (Default=SMA)
upper, middle, lower = talib.BBANDS(close, 5, matype=talib.MA_Type.EMA)
# 3. DEMA 双移动平均线:DEMA = 2*EMA-EMA(EMA)
# 参数说明:talib.DEMA(close, timeperiod = 30)
DEMA = talib.DEMA(close, timeperiod=30)
# 4. MA
# 参数说明:MA(close, timeperiod = 30, matype=0)
# close:收盘价;timeperiod:周期;matype:计算平均线方法
MA = talib.MA(close, timeperiod=30, matype=0)
# 5. EMA
# 参数说明:EMA = talib.EMA(np.array(close), timeperiod=6)
# close:收盘价;timeperiod:周期;matype:计算平均线方法
EMA = talib.EMA(np.array(close), timeperiod=6)
# 6.KAMA:考夫曼的自适应移动平均线
# 参数说明:KAMA = talib.KAMA(close, timeperiod = 30)
KAMA = talib.KAMA(close, timeperiod=30)
# 7. MIDPRICE:阶段中点价格
# talib.MIDPOINT(close, timeperiod)
# 参数说明:close:收盘价;timeperiod:周期;
MIDPOINT = talib.MIDPOINT(close, timeperiod=14)
# 8.SAR:抛物线指标
# SAR(high, low, acceleration=0, maximum=0)
# 参数说明:high:最高价;low:最低价;acceleration:加速因子;maximum:极点价
SAR = talib.SAR(data['high'].values, data['low'].values, acceleration=0, maximum=0)
# 9.MIDPRICE:阶段中点价格(Midpoint Price over period)
# talib.MIDPOINT(close, timeperiod=14)
# 参数说明:close:收盘价;timeperiod:周期;
MIDPOINT1 = talib.MIDPOINT(close, timeperiod=14)
# 10. T3:三重移动平均线
# talib.T3(close, timeperiod=5, vfactor=0)
# 参数说明:close:收盘价;timeperiod:周期;vfactor: va 系数,当va=0时,T3就是三重移动平均线;va=1时,就是DEMA
T3 = talib.T3(close, timeperiod=5, vfactor=0)
# 11.TEMA:三重指数移动平均线
# talib.TEMA(close, timeperiod = 30)
# 参数说明:close:收盘价;timeperiod:周期;
TEMA = talib.TEMA(close, timeperiod=30)
# 12.SAREXT:SAR的抛物面扩展
# talib.SAREXT(high_p, low_p, startvalue=0, offsetonreverse=0, accelerationinitlong=0, accelerationlong=0,
# accelerationmaxlong=0, accelerationinitshort=0, accelerationshort=0, accelerationmaxshort=0)
SAREXT = talib.SAREXT(data['high'].values, data['low'].values, startvalue=0, offsetonreverse=0, accelerationinitlong=0,
accelerationlong=0, accelerationmaxlong=0, accelerationinitshort=0, accelerationshort=0,
accelerationmaxshort=0)
# 13.WMA:移动加权平均法
# talib.WMA(close, timeperiod = 30)
# 参数说明:close:收盘价;timeperiod:周期;
WMA = talib.WMA(close, timeperiod=30)
# 二、 波动量指标
# 1.ATR:真实波动幅度均值
# ATR(high, low, close, timeperiod=14)
# 参数说明:high:最高价;low:最低价;close:收盘价,timeperiod:周期
ATR = talib.ATR(data['high'].values, data['low'].values, close, timeperiod=14)
# 2.NATR:归一化波动幅度均值
# NATR(high, low, close, timeperiod=14)
# 参数说明:high:最高价;low:最低价;close:收盘价,timeperiod:周期
NATR = talib.NATR(data['high'].values, data['low'].values, close, timeperiod=
# -*- coding: utf-8 -*-
import cross_order as order
import talib
symbol = 'BTC-USDT-SWAP' # okx
# symbol = 'BTCUSDT' # binance
# symbol = 'BTC_USDT' # gate.io
# 取个数据验证一下
data = order.get_candlesticks(symbol=symbol, interval='15m', limit=str(100))
# 一、重叠研究(overlap studies)
# 1.简单移动平均指标SMA
# 参数说明:talib.SMA(a,b)
# a:要计算平均数的序列;b:计算平均线的周期。表示计算a的b日移动平均
close = data['close'].values
SMA = talib.SMA(close, 5)
# 2.布林线BBANDS
# 参数说明:talib.BBANDS(close, timeperiod, matype)
# close:收盘价;timeperiod:周期;matype:平均方法(bolling线的middle线 = MA,用于设定哪种类型的MA)
# MA_Type: 0=SMA, 1=EMA, 2=WMA, 3=DEMA, 4=TEMA, 5=TRIMA, 6=KAMA, 7=MAMA, 8=T3 (Default=SMA)
upper, middle, lower = talib.BBANDS(close, 5, matype=talib.MA_Type.EMA)
# 3. DEMA 双移动平均线:DEMA = 2*EMA-EMA(EMA)
# 参数说明:talib.DEMA(close, timeperiod = 30)
DEMA = talib.DEMA(close, timeperiod=30)
# 4. MA
# 参数说明:MA(close, timeperiod = 30, matype=0)
# close:收盘价;timeperiod:周期;matype:计算平均线方法
MA = talib.MA(close, timeperiod=30, matype=0)
# 5. EMA
# 参数说明:EMA = talib.EMA(np.array(close), timeperiod=6)
# close:收盘价;timeperiod:周期;matype:计算平均线方法
EMA = talib.EMA(np.array(close), timeperiod=6)
# 6.KAMA:考夫曼的自适应移动平均线
# 参数说明:KAMA = talib.KAMA(close, timeperiod = 30)
KAMA = talib.KAMA(close, timeperiod=30)
# 7. MIDPRICE:阶段中点价格
# talib.MIDPOINT(close, timeperiod)
# 参数说明:close:收盘价;timeperiod:周期;
MIDPOINT = talib.MIDPOINT(close, timeperiod=14)
# 8.SAR:抛物线指标
# SAR(high, low, acceleration=0, maximum=0)
# 参数说明:high:最高价;low:最低价;acceleration:加速因子;maximum:极点价
SAR = talib.SAR(data['high'].values, data['low'].values, acceleration=0, maximum=0)
# 9.MIDPRICE:阶段中点价格(Midpoint Price over period)
# talib.MIDPOINT(close, timeperiod=14)
# 参数说明:close:收盘价;timeperiod:周期;
MIDPOINT1 = talib.MIDPOINT(close, timeperiod=14)
# 10. T3:三重移动平均线
# talib.T3(close, timeperiod=5, vfactor=0)
# 参数说明:close:收盘价;timeperiod:周期;vfactor: va 系数,当va=0时,T3就是三重移动平均线;va=1时,就是DEMA
T3 = talib.T3(close, timeperiod=5, vfactor=0)
# 11.TEMA:三重指数移动平均线
# talib.TEMA(close, timeperiod = 30)
# 参数说明:close:收盘价;timeperiod:周期;
TEMA = talib.TEMA(close, timeperiod=30)
# 12.SAREXT:SAR的抛物面扩展
# talib.SAREXT(high_p, low_p, startvalue=0, offsetonreverse=0, accelerationinitlong=0, accelerationlong=0,
# accelerationmaxlong=0, accelerationinitshort=0, accelerationshort=0, accelerationmaxshort=0)
SAREXT = talib.SAREXT(data['high'].values, data['low'].values, startvalue=0, offsetonreverse=0, accelerationinitlong=0,
accelerationlong=0, accelerationmaxlong=0, accelerationinitshort=0, accelerationshort=0,
accelerationmaxshort=0)
# 13.WMA:移动加权平均法
# talib.WMA(close, timeperiod = 30)
# 参数说明:close:收盘价;timeperiod:周期;
WMA = talib.WMA(close, timeperiod=30)
# 二、 波动量指标
# 1.ATR:真实波动幅度均值
# ATR(high, low, close, timeperiod=14)
# 参数说明:high:最高价;low:最低价;close:收盘价,timeperiod:周期
ATR = talib.ATR(data['high'].values, data['low'].values, close, timeperiod=14)
# 2.NATR:归一化波动幅度均值
# NATR(high, low, close, timeperiod=14)
# 参数说明:high:最高价;low:最低价;close:收盘价,timeperiod:周期
NATR = talib.NATR(data['high'].values, data['low'].values, close, timeperiod=