金融数据处理之使用talib求股票期货的移动平均值

    在写一些量化交易程序时,MA(Move Average)移动平均值,是一个重要的指标,交易员常根据不同周期MA的线型起伏、交叉进行相关的决策,所以在进行开发时,需要求出这些值。常用的有5/10/20/40/60等MA线。

talib库是python在量化交易领域较为成熟、便捷的库(后面才发现的我相见恨晚),安装和使用都很简单(直接pip install)。下面的是MA函数的使用:

import talib
import numpy as np
closeList=[]
MA5_talib=[]
MA10_talib=[]
MA20_talib=[]
MA40_talib=[]
MA60_talib=[]
MA5_talib_1=(talib.MA(np.array(closeList), timeperiod=5))#使用array改变输入类型
MA10_talib_1=(talib.MA(np.array(closeList), timeperiod=10))
MA20_talib_1=(talib.MA(np.array(closeList), timeperiod=20))
MA40_talib_1=(talib.MA(np.array(closeList), timeperiod=40))
MA60_talib_1=(talib.MA(np.array(closeList), timeperiod=60))
for num in MA60_talib_1:#由于精度上有需求,这里写了一段冗余的代码,将每个数的精度控制在两位小数
    MA60_talib.append(round(num,2))
for num in MA40_talib_1:
    MA40_talib.append(round(num,2))
for num in MA20_talib_1:
    MA20_talib.append(round(num,2))
for num in MA10_talib_1:
    MA10_talib.append(round(num,2))
for num in MA5_talib_1:
    MA5_talib.append(round(num,2))

其他的诸如MACD/SMA/DEMA等大都相似:

real1_ = talib.EMA(np.array(close), timeperiod=30)

real2 = talib.SMA(np.array(close), timeperiod=30)

real3 = talib.MACD(np.array(close), timeperiod=30)

猜你喜欢

转载自blog.csdn.net/qq_36658338/article/details/80912132