Talib是一个非常流行的技术指标计算库,它提供了多达150多种技术指标的计算方法。以下是其中最常用的10个指标及其使用方法和Python代码:

1. Simple Moving Average (SMA) - 简单移动平均线

简单移动平均线是一种基于一段时间内某个资产价格的平均值的指标。在talib中,可以使用函数SMA来计算简单移动平均线。

1
2
3
4
5
import talib
import numpy as np

close_price = np.random.random(100)
sma = talib.SMA(close_price, timeperiod=20)

2. Exponential Moving Average (EMA) - 指数移动平均线

指数移动平均线是一种基于一段时间内某个资产价格的平均值的指标,与简单移动平均线不同的是,指数移动平均线更加注重近期价格的变化。在talib中,可以使用函数EMA来计算指数移动平均线。

1
2
3
4
5
import talib
import numpy as np

close_price = np.random.random(100)
ema = talib.EMA(close_price, timeperiod=20)

3. Relative Strength Index (RSI) - 相对强弱指数

相对强弱指数是一种用于衡量某个资产价格变化速度和幅度的指标。在talib中,可以使用函数RSI来计算相对强弱指数。

1
2
3
4
5
import talib
import numpy as np

close_price = np.random.random(100)
rsi = talib.RSI(close_price, timeperiod=14)

4. Moving Average Convergence Divergence (MACD) - 移动平均线收敛/发散指标

移动平均线收敛/发散指标是一种用于衡量某个资产价格趋势变化的指标。在talib中,可以使用函数MACD来计算移动平均线收敛/发散指标。

1
2
3
4
5
import talib
import numpy as np

close_price = np.random.random(100)
macd, macd_signal, macd_hist = talib.MACD(close_price, fastperiod=12, slowperiod=26, signalperiod=9)

5. Bollinger Bands - 布林带

布林带是一种用于衡量某个资产价格波动范围的指标。在talib中,可以使用函数BBANDS来计算布林带。

1
2
3
4
5
import talib
import numpy as np

close_price = np.random.random(100)
upper, middle, lower = talib.BBANDS(close_price, timeperiod=20, nbdevup=2, nbdevdn=2, matype=0)

6. Average True Range (ATR) - 真实波幅

真实波幅是一种用于衡量某个资产价格波动范围的指标。在talib中,可以使用函数ATR来计算真实波幅。

1
2
3
4
5
6
7
import talib
import numpy as np

high_price = np.random.random(100)
low_price = np.random.random(100)
close_price = np.random.random(100)
atr = talib.ATR(high_price, low_price, close_price, timeperiod=14)

7. Fibonacci Retracement - 斐波那契回撤

斐波那契回撤是一种用于衡量某个资产价格回撤幅度的指标。在talib中,没有直接计算斐波那契回撤的函数,但可以通过计算斐波那契数列来实现。

1
2
3
4
5
6
7
8
9
10
11
12
13
import talib
import numpy as np

def fibonacci_retracement(high_price, low_price, level):
diff = high_price - low_price
retracement = []
for i in range(1, level+1):
retracement.append(high_price - diff*talib.FibonacciRetracement(i/level))
return retracement

high_price = np.random.random(100)
low_price = np.random.random(100)
retracement = fibonacci_retracement(np.max(high_price), np.min(low_price), level=5)

8. Stochastic Oscillator - 随机指标

随机指标是一种用于衡量某个资产价格超买超卖程度的指标。在talib中,可以使用函数STOCH来计算随机指标。

1
2
3
4
5
6
7
import talib
import numpy as np

high_price = np.random.random(100)
low_price = np.random.random(100)
close_price = np.random.random(100)
slowk, slowd = talib.STOCH(high_price, low_price, close_price, fastk_period=5, slowk_period=3, slowk_matype=0, slowd_period=3, slowd_matype=0)

9. Chaikin Money Flow (CMF) - 佳庆指标

佳庆指标是一种用于衡量某个资产价格成交量变化的指标。在talib中,可以使用函数ADOSC来计算佳庆指标。

1
2
3
4
5
6
7
8
import talib
import numpy as np

high_price = np.random.random(100)
low_price = np.random.random(100)
close_price = np.random.random(100)
volume = np.random.random(100)
cmf = talib.ADOSC(high_price, low_price, close_price, volume, fastperiod=3, slowperiod=10)

10. Commodity Channel Index (CCI) - 商品通道指数

商品通道指数是一种用于衡量某个资产价格波动范围的指标。在talib中,可以使用函数CCI来计算商品通道指数。

1
2
3
4
5
6
7
import talib
import numpy as np

high_price = np.random.random(100)
low_price = np.random.random(100)
close_price = np.random.random(100)
cci = talib.CCI(high_price, low_price, close_price, timeperiod=14)