均线的算法

博主: Simon Lin 创建于: Nov 27, 2018 更新于: Mar 1, 2019
分类: stock
标签: finance stock

均线的算法

在股票系统中,均线是一种最最基本的参考数据。今天研究了一下均线,说说均线的种类。

在计算均线的时候,有很多具体的方法,不同的算法,各个分项的重要性会略有不同,有的是平均,有的是指数,有的自行定义。

分类

MA:简单算术平均
EMA:指数移动平均值,MACD计算时就用了此均线
SMA:X的N日移动平均,M为权重
DMA:(DifferentofMovingAverage)动态移动平均
在实用中,这个小数最有价值的就是换手率=V/CAPITAL。DMA(C,V/CAPITAL)的直接含义是用换手率作为权重系数,利用当日收盘价在均价中的比重计算均价,直观理解就是换手率越大,当日收盘价在均价中的作用越大!
TMA:递归移动平均
WMA:加权移平均

计算

在python-talib库中,收录了以下一些均线的计算方法:

差别:

几种均线的变化快慢比较:
动态移平均:DMA(C,0.5) {最快,系数调为0.2就比较接近其他均线了,系数把握是个问题}
加权移平均:WMA(C,10); {第二快}
指数平滑移平均:EMA(C,10); {第三快}
简单移平均:MA(C,10); {第四快}
移动平均:SMA(C,10,1); {次慢}
递归移平均:TMA(C,0.9,0.1); {最慢}
动态移平均2:DMA(CLOSE,VOL/CAPITAL); {超级慢}

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

df=get_price(frequency='daily',fields=['close'], security='600036.XSHG', skip_paused=False, fq='pre',count=100,end_date='2018-11-26')
close = [float(x) for x in df['close']]
#移动平均线
df['MA5'] = talib.MA(np.array(close), timeperiod=5)
df['MA10'] = talib.MA(np.array(close), timeperiod=10)
df['MA20'] = talib.MA(np.array(close), timeperiod=20)
df['MA30'] = talib.MA(np.array(close), timeperiod=30)
df.plot(figsize=(20,10))
df

打赏 支付宝打赏 微信打赏

如果文章对你有帮助,欢迎点击上方按钮打赏作者