量化均线策略-简单移动平均数、指数加权移动平均数、双均线交叉和异同移动平均线(MACD)...

概述

根据求平均的方式不同,可以有简单移动平均数( Simple moving Average,SMA)、加权移动平均数( Weighted Moving Average,WMA)和指数移动平均数(Exponential Moving Average,

EXPMA 或 EMA)。

注意:此均线策略需掌握对应代码编写

简单移动平均数(SMA)

即简单求数学平均数,注意为了体现“移动”的概念,不同平均数的分子是逐步向后挪动的

第5天的简单平均数为:

公式:SMA5=(P1+P2+P3+P4+P5) /5

式中,P1、P2、P3、P4、P5分别表示股票在第1天、第2天等的价格。

第6天的5日简单移动平均数则为:

公式:SMA6=(P2+P3+P4+P5+P6) /5

注意:这里算第6天时,是从P2开始,这即是所谓“移动”概念的体现。

期数的选择:

期数选择对简单移动平均的收益效果影响很大,要确定移动平均的期数,一般需要从以下三个方面考虑:

1、 事件发展的周期性:如果事件的发展有周期,一般应以周期长度作为移动平均数的间隔长度,比如研究每年的平均气温变化趋势,对其做12期移动平均,以便通过周期平均消除季节效应的影响

2、 对趋势平均性的要求:一般来说移动平均的期数越多,修匀效果越平均,表现出的趋势就越清晰。

3、 对趋势反映近期变化敏感程度的要求:用移动平均方法确定事件的发展趋势都具有一定的滞后性。

移动平均的期数越多,滞后性也越大; 期数越少,所得的趋势图对近期变化的反应就越敏感。因此,如果想得到长期趋势,最好做期数比较大的移动平均; 如果想密切关注序列的短期趋势,最好做期数比较小的移动平均。

加权移动平均数(WMA)

概述

加权移动平均会考虑最近的数据与久远的数据的区别,昨天的数据会比10天前的价格更能反映今天的股价情况。因此为了表示其代表性的高低,可以考虑先对股价赋予一定的权重,再求平均值。其它的计算方式和移动平均一样。

5日加权移动平均值的计算公式为:

WMAt5=w1p1+w2p2+w3p3+w4p4+w5p5

其中,w1、w2、w3、w4为股价数据的权重且w1+w2+w3+w4+w5=1。同理,得出第6天及以后的加权移动平均数。

代码实现

import pandas as pd

import numpy as np

def wmaCal(tsPrice,weight):

k=len(weight)

arrWeight=np.array(weight)

Wma=pd.Series(0.0,index=tsPrice.index)

for i in range(k-1,len(tsPrice.index)):

Wma[i]=sum( arrWeight*tsPrice[(i-k+1):(i+1)])

return Wma

b=np.array([1,2,3,4,5])

w=b/sum(b)

Wma5=wmaCal(Close,w)

print(Wma5)

指数加权移动平均(EMA)

其相当于一种特别的加权移动平均,主要考虑近期平均价格有更高的权重比,假设第5日的加权移动平均数为56,在第6天时将前面的平均数权重设置为0.8,当天价格权重设置为0.2,以此类推,其它的指数加权均按此公式计算,具体计算过程见下表:

73e9ff3efc9f104390e8ba54f1362cd0.png

相关代码

简单移动平均代码实现

import pandas as pd

def smaCal(tsPrice,k):

a=pd.Series(0.0,index=tsPrice.index)

for i in range(k-1,len(tsPrice)):

a[i]=sum(tsPrice[(i-k+1):(i+1)])/k

return(a)

sma5=smaCal(Close ,5)

加权移动平均代码实现

import pandas as pd

import numpy as np

def wmaCal(tsPrice,weight):

k=len(weight)

arrWeight=np.array(weight)

Wma=pd.Series(0.0,index=tsPrice.index)

for i in range(k-1,len(tsPrice.index)):

Wma[i]=sum(arrWeight*tsPrice[(i-k+1):(i+1)])

return(Wma)

b=np.array([1,2,3,4,5])

w=b/sum(b)

wma5=wmaCal(Close,w)

三种平均法大体差别

1、 移动平均法(包括简单移动平均和加权移动平均)所利用的数据都是局部,即使用过去N期的数据进行平均。指数加权平均法,则使用的是全局数据,从公式即可看出来

2、 简单移动平均法对所有数据一视同仁,均使用相同的权重。加权移动平均设置权重更加主观,通常根据专家建议或历史经验而确定。指数加权移动平均类似,但均倾向于对较近的数据赋予较大的权重 ,较远的数据相对权重较小

双均线交叉捕捉买卖点

1、 先求出短期均线和长期均线

2、 当短期均线从下向上穿过长期均线时,释放出买入信号

3、 当短期均线从上向下穿过长期均线时,释放出卖出信号

注意:短期和长期的时间跨度是因人而异。比如,选择5日简单移动平均线为短期线,30日简单移动平均线为长期线,运用长短期均线交叉策略的思想捕捉长短期均线突破点,并制定买卖交易点。

异同移动平均线(MACD)

c399819bd1d5f6e881648cd6ffdd625d.png

由指数均线演变而来,是股票分析中一种常见的指标。MACD指标由两线柱组合而成,快速线为DIF,慢速线为DEA,柱状图为MACD。

快速线DIF:一般由12日指数加权移动平均值减去26日指数加权移动平均值得到。

慢速线DEA:DIF的9日指数加权移动平均值 。

柱状图MACD:由快速线DIF与慢速线DEA作差得到,如果是正数为红色,负数则为绿色

金叉和死叉:当DEA线向上穿过DIF快线时,释放金叉准备买入信号;当DEA线向下与DIF线时交叉时,释放死叉准备卖出信号。注意:如果是指导投资决策,尽量DEA和DIF大于0时买入,小于0时卖出。

MACD指标可以反映出股票近期价格趋势的能量和变化强度,通过分析快慢速线和柱状图来把握股票的买入和卖出点。一般默认MACD的求值参数为12、26和9,在投资实践中,可以对这些参数进行优化。

MACD交易策略

1.当 DlF 和 DEA 都在零刻度线上方时,表明市场可能是多头行情;反之,当 DIF 和 DEA 都在零刻度下方时,表明市场可能处于空头行情。

2.当 DIF 下穿信号线 DEA 时,释放出买入信号;当 DIF 向上穿过信号线 DEA 时,释放出卖出信号。

以 DIF 与 DEA 线的交叉与背离这一策略的分析过程包括如下 3 个步骤:

(1) 先求出 DIF(差离值,快线)、DEA(信号线,慢线)的值;

(2) DIF、DEA 均为正,DIF 向上突破 DEA,买入信号;

(3) DIF、DEA 均为负,DIF 向下跌破 DEA,卖出信号。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值