关闭
您正在使用的浏览器版本较低,无法支持聚宽的某些特性。
为了获得更好的体验,推荐使用:
Google Chrome
或者
Mozilla Firefox
或者
IE9以上
。
返回主题列表
【均值回归】基于zscore的均值回归策略(胜率100%)
量化看市场
发布于2018-07-08
回复 81
浏览 19721
202
listen
分享到:
微信
微博
雪球
对于zscore大家应该都比较熟悉,最初用于配对交易策略,思想是**2支相关程度高的股票的差价在一定范围内波动**,进行低买高卖的操作,具体做法是选取2支相关程度高的股票的某一段时间的价格序列,作差得到差价序列,然后进行正则化处理,公式如下: **zscore[i] = (s[i] - mean) / std** 其中s[i]是序列第i个值,mean是这个序列的均值,std是这个序列的标准差,得到的即为序列第i个值的zscore值。 而在这个策略中,我把zscore思想用于单支股票,思想是**股价和其均线值的差价在一定范围内波动**,并计算其zscore值,获取买卖信号。具体做法如下: - 设定股票池,最大持仓数,zscore上下限(即买卖信号点),zscore窗口大小,均线窗口大小 - 在每个交易日,根据上述公式计算股票池中每支股票当天的zscore值 - 若触发上限,则卖出;若触发下限,且未达到最大持仓数,则买入 回测结果如下,从13年初到18年7月,大概5年半的时间,**年化39.13%,夏普1.756,胜率100%(一共交易15次),最大回撤17.047%**,总体还算满意,属于稳健性投资策略。 --- 回过头看,问题总结如下:zscore上下限,zscore窗口大小,均线窗口大小的设置都带有一些主观性,所以提出来大家一起讨论一下,看看有没有更合理的指标设置方法。 另外,对于股票池,我当前只设置了一支股票,因为还不知道如何寻找均值回归特点明显的股票,所以也提出来共同探讨,希望大家积极交流,共享经验!
202
listen
分享到:
微信
微博
雪球
评论
量化看市场
图中自定义数据画的就是zscore值。 代码中未加上市时间需大于多少天的判断条件,所以如果回测开始时间早于上市时间的话可能会出现错误,可自行添加。
2018-07-08
酱酱酱酱jiang~
有点猛。。
2018-07-08
nbnc003
交易15次会不会样本有点少,还有买股票的样本是怎么挑选的?感觉你这个思路很好,但是回测模式没法杜绝拟合,建议考虑下选股方式,明确股票池和购买仓位,然后10只股票用这个均值计算思路回测下,感觉很有潜力! ps:我随意修改了下你的代码,用了招商银行、万华化学、格力电器、中国平安等7个蓝筹股票,回测效果并不太好,希望看到你的修改思路
2018-07-09
量化看市场
@nbnc003 是的,选股带有一定主观性,所以关键点在于如何找到具有这种特征的股票,目前还在考虑中
2018-07-09
不知道。
试了几支股票都不是特别好
2018-07-09
量化看市场
@不知道。 我也试过其他的,结果有些不太理想,所以问题在于如何设置股票池,让他们符合这种特征
2018-07-09
GD-文
策略能找到大跌后快速反弹效果非常好!
2018-07-10
量化看市场
@GD-文是的,在震荡阶段这个策略会有很好的表现,也可以用在大盘上,判断大盘的价位。
2018-07-10
JimStein
是否可以加上别的条件来选股 我试了试你的代码 只用了卖出判断的部分 选股的部分还是用的均线和成交量 效果貌似还可以 但是我也只试了自选的几只股票池 不知道是不是会有过拟合的问题
2018-07-11
JimStein
这个是相同日期的回测结果
2018-07-11
JimStein
我的代码里有一个小bug 就是在均值判断的时候实际上是用另外一只股票进行的判断 不过效果还可以我就没有改 可能是因为股票池里的股票有强相关性 挂了模拟盘试试效果
2018-07-11
量化看市场
@JimStein 股票池的选取是用的什么方法呢?
2018-07-11
wusuoweiman
@JimStein , 你貌似用了未来函数, MACD(security, check_date=check_date, SHORT=12, LONG=26, MID=9) 在一天开始的时候, 通过MACD获取了当天的macd值。
2018-07-11
vensentzhou
收益这么猛
2018-07-12
TaurusResearch
股价与均值之差就是反映的是方差,通常股价是非平稳时间序列,可能存在异方差。这样Z-score的固定阈值不稳定,用收益率和收益率均值之差试试。
2018-07-14
TaurusResearch
另外,这个这仅是择时策略,没有发挥配对交易去除beta影响的优势。
2018-07-14
Plisking
Z-score就是0均值的归一化,相当于把股价归一化处理了。其实这个策略的思路就是低买高卖。由于归一化采用的均值和方差是动态计算的,所以虽然lz设定了阈值,但这个值也是在动态变化的,有一定的适应性。不过这种策略太简单粗暴了,还是跟股票有很大关系。lz设置的下限-2可以说已经超跌很多了。
2018-07-16
谋而后动
我之前也做了一个关于均值方面的单股策略,优点是胜率高,回撤低,下跌趋势还能赚钱,缺点也很明显,股票不同股性不同,所以问题在于怎样自动寻找股票池
2018-07-21
谋而后动
@Plisking一语中的,就是低买高卖,所以胜率才会这么高,可惜这样策略碰到单边上涨的股拿不住,没涨多少就卖了,挺适合熊市的
2018-07-21
囚徒
@wusuoweiman 赞,眼尖,的确是未来函数。
2018-07-21
首页
上一页
1
2
3
4
下一页
尾页
您尚未登录,请
登录
或者
注册
聚宽发表回复。
取 消
提 交