如何玩转欧奈尔法则

如何玩转欧奈尔法则

来自思凯betalpha的雪球原创专栏

国内的投资者可能都知道巴菲特,但是不一定知道威廉·欧奈尔

这个美国老头生于大萧条时期的美国德州(不是出产扒鸡的那个),童年生活不像我们在【风险小史】系列连载的那些牛人那么丰富多彩,他的股票生涯开始于大学毕业后,当时他拿着500美元买了五股P&G的股票。后来他通过自己独特的选股能力,用克莱斯勒等几只股票的交易,就把500美元变成了20万美元,还开了一家咨询公司,向投资者提供他们独家的选股图表。

再后来他出版了一本畅销书《如何在股市中赚钱》,第一版就卖了40万册,国内也有中文版出售(封面很丑)。而在这本书里有一个非常著名的基本面选股法则,可能你没听过欧奈尔的名字,但是你多半听过这个欧奈尔法则。

欧奈尔认为买股票首先要找到这些股票的共性,发现股票起飞前的特征。于是他梳理了40多年(1953-1993年)美国股市里那些大涨的股票,并把这项工作命名为“股市大黑马全景图”。法则其实有七个方面的内容,按照首字母组成了著名的CANSLIM,我们来看看他们分别代表什么。

C其实是Current quartly earnings per share,即最近一个季度的每股收益状况。欧奈尔发现那些即将大涨的股票,最近的季度每股收益都会有一轮暴涨,在他看来一般来说涨幅会达到30%以上,如果没有这么高的话他们一般不会进行交易。

A则是Annual earning increases,表示年度每股收益的涨幅。欧奈尔认为这些有暴涨潜力的股票应该有连续三年的年每股收益的正涨幅。

N指的是New product,new management and new highs,表示企业出现了新产品、新的管理层或者股票创了新高。其中新高这个概念与我们之前的想法其实不大一样,因为我们总觉得值得买的股票是那些创下新低的股票,买入会迎来补涨。但是欧奈尔认为飞涨的股票只会屡创新高,因为市场对他们会越来越看好。

S指的是Supply and demand,即股票的供需情况。欧奈尔认为成交量同样很重要,因为价格需要量的支持,与此同时股票的市值也很重要,因为小盘股可能更易于被操纵股价。

L指的是leader or laggard,即股票是领涨股还是领跌股。在法则中,股票的相对强弱指标应当对股票的变动有着非常重要的影响,也就是说领涨股才是值得投资的股票。

I是Institutional sponsorship,机构投资者有没有对股票进行热捧。这很好理解,因为机构投资者往往有着比我们更好的信息来源,采取这种跟随战术可能会减少我们选股的错误几率。

最后的M是Market direction,即大盘走势,我们需要判断市场是出于牛市还是熊市,毕竟市场环境本身对股票价格变动非常重要。

从整个选股规则来看,欧奈尔法则的目标是筛选出那些我们通常意义上潜在的成长股。这个法则在美国股市中取得了很好的效果,实践中甚至有人取得过300%左右的投资收益率,欧奈尔还办了一个学习班,专门教大家使用这个方法。那么这个法则在中国股市是不是同样实用呢?我们下面使用倍发科技投资研究系统(Betalpha BAR 1.0)来测试一下。

我们在【策略回测】中选定中证800指数的成分股,这包括了蓝筹和中小盘的股票,企业质量比较好,因此也有比较好的代表性。在右侧的代码帮助里,我们输入每股收益,就弹出了EPS_Q的代码,代表上个季度的每股收益数据。

按照C的说法,我们需要最近一个季度的每股收益涨幅大于30%,所以只需要输入一个简单的公式,EPS_Q/EPS_Q(-2F)-1>0.3,就能表达出我们需要测试的股票内容,具体内容我们可以在【公式帮助】这里获得支持。

测试最近五年的结果显示,这个选股方法的总收益要好于沪深800指数的收益,这证明仅仅通过每股季度收益涨幅来筛选股票,是一个从信号角度可能有效的指标。

接下来我们可以对后面的几个字母都进行测试。

对于A来说,我们需要知道最近三年的每股收益增长都为正的股票有哪些,于是我们输入select(EPS_Y/EPS_Y(-2F)-1>0,every(-3:-1,F)),这就选择出了这个规则下的所有股票。

显然这个方法下,选择出的股票收益也要好于沪深800指数。

点击【回测详情】,我们还可以看到每个月依据这个规则,我们筛选出的股票都有哪些。

而就N来说,我们的重点应该在于股票是否有创出新高,由于我们的回测换仓频率是月度,所以我们可以以每月的股价较上个月是否更高作为判断依据,于是输入Close_Price_Forward/Close_Price_Forward(-2M)-1>0,表示最近一个月的前复权价格比再前一个月更高,而我们同样获得了更高的收益率。

对于成交量的S来说,我们同时考虑两个维度,一个是成交额是否出现暴涨,另一个则是股票流通市值目前不会太高,我们以流通市值50亿为界来进行计算。于是两个条件分别为:Transaction_Amount/Transaction_Amount(-2m)-1>0.5,即成交额比上个月高了50%以上,而Market_Value_Floated<5000000000,即目前流通市值低于30亿。从这个选股方法来看,同样这个规则下股票的收益率也很不错。

而L代表的股票领涨情况,我们继续用上期的相对强弱指数来进行操作,选择指数在70到80之间的股票,上一期我们就说过,这个范围的股票涨势非常喜人。

而机构投资者所代表的I,我们选用分析师数目来代表,如果一个月来关注这只股票的分析师数目增加,我们有理由认为机构投资者对这只股票会更为重视,于是我们用EPS_Coverage/EPS_Coverage(-2m)-1>0来表示。显然,这样也能获得更高的收益。

最后,我们把上述所有的条件合并在一起进行测试。

从结果可以发现发现,这个方法下筛选出来的股票在各个时期的收益都要明显高于中证800 股票的收益,而M所考虑的熊市和牛市情况,从走势图中的表现来看,尽管收益会明显出现起伏,但相对收益本身的变动并不大。可以说欧奈尔方法在A股中还是有很好的适用性。

当然欧奈尔法则下,很多投资者会基于具体的K线形态进行判断,据说还有强调曲线变化必须很“优雅”的,这个就仁者见仁了。不过这个方法本身从基本面和市场心理两个角度对股票的涨跌概率进行判断,从操作性来讲有着天生的优势,这也是这个方法一直以来受到世界范围内追捧的原因所在。

风险管理工具 / 量化投资知识 / 金融大讲堂 微信公众号:betalpha2015(或直接输入“有金有险”)



作者:思凯betalpha
链接:https://xueqiu.com/4678288336/84931824
来源:雪球
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
完整版:https://download.csdn.net/download/qq_27595745/89522468 【课程大纲】 1-1 什么是java 1-2 认识java语言 1-3 java平台的体系结构 1-4 java SE环境安装和配置 2-1 java程序简介 2-2 计算机中的程序 2-3 java程序 2-4 java类库组织结构和文档 2-5 java虚拟机简介 2-6 java的垃圾回收器 2-7 java上机练习 3-1 java语言基础入门 3-2 数据的分类 3-3 标识符、关键字和常量 3-4 运算符 3-5 表达式 3-6 顺序结构和选择结构 3-7 循环语句 3-8 跳转语句 3-9 MyEclipse工具介绍 3-10 java基础知识章节练习 4-1 一维数组 4-2 数组应用 4-3 多维数组 4-4 排序算法 4-5 增强for循环 4-6 数组和排序算法章节练习 5-0 抽象和封装 5-1 面向过程的设计思想 5-2 面向对象的设计思想 5-3 抽象 5-4 封装 5-5 属性 5-6 方法的定义 5-7 this关键字 5-8 javaBean 5-9 包 package 5-10 抽象和封装章节练习 6-0 继承和多态 6-1 继承 6-2 object类 6-3 多态 6-4 访问修饰符 6-5 static修饰符 6-6 final修饰符 6-7 abstract修饰符 6-8 接口 6-9 继承和多态 章节练习 7-1 面向对象的分析与设计简介 7-2 对象模型建立 7-3 类之间的关系 7-4 软件的可维护与复用设计原则 7-5 面向对象的设计与分析 章节练习 8-1 内部类与包装器 8-2 对象包装器 8-3 装箱和拆箱 8-4 练习题 9-1 常用类介绍 9-2 StringBuffer和String Builder类 9-3 Rintime类的使用 9-4 日期类简介 9-5 java程序国际化的实现 9-6 Random类和Math类 9-7 枚举 9-8 练习题 10-1 java异常处理 10-2 认识异常 10-3 使用try和catch捕获异常 10-4 使用throw和throws引发异常 10-5 finally关键字 10-6 getMessage和printStackTrace方法 10-7 异常分类 10-8 自定义异常类 10-9 练习题 11-1 Java集合框架和泛型机制 11-2 Collection接口 11-3 Set接口实现类 11-4 List接口实现类 11-5 Map接口 11-6 Collections类 11-7 泛型概述 11-8 练习题 12-1 多线程 12-2 线程的生命周期 12-3 线程的调度和优先级 12-4 线程的同步 12-5 集合类的同步问题 12-6 用Timer类调度任务 12-7 练习题 13-1 Java IO 13-2 Java IO原理 13-3 流类的结构 13-4 文件流 13-5 缓冲流 13-6 转换流 13-7 数据流 13-8 打印流 13-9 对象流 13-10 随机存取文件流 13-11 zip文件流 13-12 练习题 14-1 图形用户界面设计 14-2 事件处理机制 14-3 AWT常用组件 14-4 swing简介 14-5 可视化开发swing组件 14-6 声音的播放和处理 14-7 2D图形的绘制 14-8 练习题 15-1 反射 15-2 使用Java反射机制 15-3 反射与动态代理 15-4 练习题 16-1 Java标注 16-2 JDK内置的基本标注类型 16-3 自定义标注类型 16-4 对标注进行标注 16-5 利用反射获取标注信息 16-6 练习题 17-1 顶目实战1-单机版五子棋游戏 17-2 总体设计 17-3 代码实现 17-4 程序的运行与发布 17-5 手动生成可执行JAR文件 17-6 练习题 18-1 Java数据库编程 18-2 JDBC类和接口 18-3 JDBC操作SQL 18-4 JDBC基本示例 18-5 JDBC应用示例 18-6 练习题 19-1 。。。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值