均线(Moving average | MA),是由一系列的均值所连成的线,是技术分析(Technical analysis)中经常用到的一个指标,它排除了股票波动的一些干扰因素,展现了股票的平均走势。
他是如何排除干扰的呢?- 均值
我们一般看到的K线图上,展现的都是实时或者历史的真实数据,没有经过任何处理的原始数据。而均线则不一样,它展示的是一个平均的数据。以五日收盘价均线(MA5)为例,它代表了当天以及当天往前4天,这五天的平均收盘价格。也正是因此,所以均线也是一个动态的数据,一个滚动的数据。
均线的计算方式有很多种,比如使用的时间点不同,我们可以计算收盘价的均线、开盘价的均线,整天价格平均值的均线等等;而使用的时间间隔不同,我们又可以分为5分钟均线,30分钟均线,5日均线,60日均线等等;还比如,采用的平均值算法不一样,也可以分为简单均线(算术平均值),加权均线,指数移动均线等等。
不同的计算方法,代入了不同的指标,可以反应出股票不同角度的信息,MA5和MA60是看股软件上比较喜欢默认显示的均线,他们分别代表了股票在短期(5天)和长期(60天)下的平均趋势。
上面的5日均线,是非常简单的一种均线,获得的过程也非常简单:
从计算日(含)开始,往前推五个交易日,计算出每日收盘价的平均值,作为计算日的值;
以此类推,计算出特定时间区间段内每天的MA5;
将这些值连成线,展现到原始的K线图上。
下面,我们就拿出一组数据,来尝试一下。
1、获取股票的历史数据
网上很多地方都可以获得股票的历史数据,为了方便,我们直接用Python,以及他的一个第三方财经包tushare,来获取一些基础数据进行分析。
token = "替换成你自己的token"import tushare as tspro = ts.pro_api(token) # 设置token # 获取股票列表stock_list = pro.stock_basic(exchange='', list_status='L', is_hs='', )
len(stock_list) # 统计股票数量3951
stock_list # 显示股票列表
# 现在,我们就选第一支股票,获取历史交易数据(日)target_stock = '000001.SZ'# 获取行情数据stock_daily = pro.daily(ts_code=target_stock, start_date='20200101', end_date='20200831', ) stock_daily # 显示每日交易数据
# 我们只需要收盘数据datas = stock_daily[['trade_date','close']]datas
# 添加一列,用于保存MA5datas.insert(2,'MA5','')datas
2、计算每一天的五日均值
每一天的均值,就是向前4天的数据的几何平均值。
for day in range(0, len(datas)-4): # 最后4天没有计算结果 days_5 = datas['close'][day:day+5] # 提取出5天的数据 days_5_mean = days_5.mean() # 计算出5天的均值 datas.loc[day, 'MA5'] = round(days_5_mean, 2) # 存入表格 datas
3、画出每日收盘价和MA5
import matplotlib.pyplot as plt # 画图模块plt.figure(figsize=(50,5), dpi=300) # 设置图片大小plt.plot(datas['trade_date'][::-1], datas['close'][::-1], label="Close")plt.plot(datas['trade_date'][::-1][5:], datas['MA5'][::-1][5:], label="MD5")plt.title('000001.SZ')plt.xlabel('Date')plt.ylabel('Price')plt.xticks(rotation=45)plt.legend()plt.show()
个人观点:
均线是整个股票走势的动态均值,它排除或者说削弱了股价极端值对整体走势的异常影响,因此从曲线上可以明显的看出,均线相对较平稳一些,并且总是在原始股价两侧不断变动。
另外,由于均线是均值,所以它代表了股价走势的平均水平。这种走势一般是具有惯性的,可以通过均值走势,大致看到未来的趋势。如果我们把原始价格走势看成人走路的速度,把均线看成平均速度,我们可以对速度求一阶导数,得到加速度,用加速度来预测未来速度变化,股票价格也许成立。
但是图中也可以感受到,即便是5日均线,也是明显滞后,用均线判断交易标准,也存在滞后问题。
如果我们再返回文章最上面,仔细看第一张图,会发现时间越久的均线,滞后性越强。