十战九胜的“久跌必涨”策略


阅读原文:京东量化平台-为投资者提供数据支持、策略开发到策略输出的量化生态服务


京东金融官方资讯QQ:3414182370 有什么想问的想说的都可以来参与!还有机会获取奖品!

命题:找出连续下跌的K线

实现平台:京东量化

语言:python


今天有个朋友问我,能不能找到那些连续下跌6天以上的个股,对这样的个股进行买入,概率上说应该风险较小,听起来蛮不错。

果真是如此吗?让事实说话,下面我们一起编码,把连续下跌的股票找出来。

在写代码前,我们要想清楚实现思路:

第一步:如何定义连续下跌:一般来说,可以取得近20天的收盘数据,然后循环去判断。

这并不是个好方法,因为运算量很大,且需要编写的代码也多。下面我想到一个方法,就是用groupby模块的分组功能,然后构造一个迭代器这样,几乎不需要用到一次循环就可以得到需要的数值。

我们先来了解一下itertools.groupby

假设一个lst是[1,1,1,-1,-1]我们用分组得到

Out=[(key,len(list(group))) for key,group in itertools.groupby(lst)]

就会得到:

[(1,3),(-1,2)]

这里1代表上涨,-1代表下跌,那么得到连续下跌的K线数就是判断lst[-1][0]是不是等于-1,如果是,返回lst[-1][1]就是连续下跌的K线数值。看下图是不是:


科普了相关知识后,第二步,我们到[研究]里去实践一下:


上面返回的数组已经把当天的涨幅情况列出来了,但这个数值我们要把它变成1或者是-1。怎么办?


用自己除自己就可以了,把上面的代码一并加入,看下面。




创业板指数在元月1号至20号间产生了连续下跌的8根阴线,这完全没有问题,这种方法的结果很正确。

最后,我们只需要完善一下代码,那么找出一段时间内最大的连续阴线数就出来了,完整代码在下面。

我们只把算法应用到策略中就行了。代码中没有用到循环,所以速度很快。


说了这么多,最后策略回测结果怎么样呢?我还是分享一下吧。


阅读原文:club.jr.jd.com/quant/to

关注京东量化学院!获取更多最新最全面的量化交易知识!

quant.jd.com/college/in

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值