FAQ > 金融建模 > 大师策略 > 传奇人物投资策略

威廉.欧尼尔CANSLIM投资法则    

  • 背景:
     威廉.欧尼尔(William J. O'Neil)是美国知名的成长型投资大师,投资经历长达40年,毕业于南美以美大学(Southern Methodist University),并曾在美国空军服役期间以300美元开始投资宝碱(Proctor & Gamble)股票,退役后在洛杉矶的海登.史东(Hayden, Stone & Company)证券公司担任经纪人及在哈佛大学的管理发展所(PMD:Program for Management Development)研究期间,开始研究美国股票史上涨幅最大的股票所具有的特性,发展出著名的CANSLIM选股投资法则,他以CANSLIM 的方法进行实际投资,创下在26个月内大赚20倍的记录,1963年创立威廉.欧尼尔公司(William O'Neil & Co.,Inc.),并买下纽约证券交易所(NYSE)的交易席位,当时他年仅30岁,创下最年轻拥有纽约证券交易所交易席位的记录,1984年开始发行投资者财经日报(Investor's Business Daily),成为唯一可以和华尔街日报(The Wall Street Journal)媲美的投资日报,1988年出版How to Make Money in Stocks: A winning system in good times or bad一书(中译:笑傲股市),即成为当年度全美最畅销的投资类书籍,并在1990年及1994年再版,至今已销售达100万本以上,而且仍然继续发行。
      目前威廉.欧尼尔公司已成为全球主要基金经理人最喜爱的投资顾问公司之一,有超过600位基金经理人听取威廉.欧尼尔的投资建议,而投资者财经日报在全美的订户超过30万人,对股市的影响非常大,威廉.欧尼尔公司目前仍担任其旗下五家公司的董事长,并持续以演讲的方式宣扬其CANSLIM的投资策略。
    资料来源:1. http://www.williamoneil.com、
       2. http://www.investors.com、
         3. http://www.dailygraphs.com。
         4:How to Make Money in Stocks:A winning system in good times or bad)
    投资程序:
    威廉.欧尼尔研究1953年开始至1990年间,美国表现最好的500家上市公司,整理出其具的共同特性,发展出CANSLIM的投资哲学:
    1.C:当季盈余成长率至少18~20%(Current quarterly earning per share must be up at least 18~20%)。
    2.A:过去五年盈余显著成长,复合成长率15~50%或以上(Annual earning per share should be meaningful growth over the last five years, the annual compounded growth rate of earnings in the superior firms should be from 15% to 50%, or even more per year)。
    3.N:新产品、新管理阶层或股价创新高,忘记低价股,股价低通常有其理由存在(Buy companies with new products, new management, or significant new changes in their industry conditions, and most important, buy stocks as they initially make new highs in price. Forget cheap stocks—they are usually cheap for a good reason)。
    4.S:流通在外股数少或是在合理水平之内(Shares outstanding should be sSystem or of reasonable number, not large capitalization, older companies)。
    5.L:市场的领导者或落后者,应挑选(Leader or Laggard:the 500 best performing stocks from 1953 to 1990 averaged a relative price strength of 87)。
    6.I:专业投资机构的认同(Institutional sponsorship:Buy stocks with at least a few institutional sponsors with better than average recent performance records)。
    7.M:市场走向(Market Direction)。
    选股
    算法

    由于威廉.欧尼尔所用的指标中,有一小部份无法以量化的方式做程序筛选,如公司是否有新产品?新产品的竞争力如何?新经营阶层的良窳?等,皆是主观判断,本选股程序不列入筛选条件,而其第7项标准,由于每一个人对于市场方向的定义及看法皆可能不同,因此,本选股程序不做判断,由会员自行输入市场之趋势。
    选股标准:以下七个选股标准中,符合1个即给1分,总分达5分以上即是买进标的。
    1.C:单季常续性利益成长率≧18%。
    2.A:五年常续性利益复合成长率≧15% 且 每年皆为正成长。
    3.N:股价≧最近1年最高价。
    4.S:总市值<市场平均总市值╳1.2。
    5.L:一年股价相对强弱度(RPS)≧80。
    6.I:投信基金持有家数≧10 或 外资持股比例≧5%。
    7.M:市场趋势是否为多头?

    数据使用限制:
     由于国内股市与美国股市有很大的不同点,因此,本选股程序开放部份指针的默认值,可由会员自由更改参数。
    选股模型:
    定义:CQ_11(BkName:Str,EndT:TDateTime,b1,b2,b3,b4,b5,b6,b7,b8:Boolean,EPSMinQG,EPSMin3yG,RPSMinV:float,SaveResult: Boolean);Array
    说明:威廉.欧尼尔(William J. O'Neil)CANSLIM投资法则
    算法说明:
    1. 最近报告期生的每股收益较上一年同比有不少于EPSMinQG*0.95%的增长
    2. 最近一个会计季度(Q1)和上年的相同季度(Q5)相比的每股收益增长率要大于最近一个会计季度的上一季度(Q2)同上年的相同季度(Q6)相比较的收益增长率*0.95
    3. 最近的两个季度连续经营活动中产生的每股收益为正
    4. 最近报告期近12个月每股收益不低于最近年度值*0.95
    5. 每股收益最近三年的复合增长率(%)不低于EPSMin3yG*0.95
    6. 每股收益在近3年中每年都有增长
    7. 指定日在全市场52周的涨幅得分不低于RPSMinV
    8. 上季度(Q2)每股盈利不低于去年同季度(Q6)值*0.95
    参数:
    BkName:Str 板块名称
    EndT:DateT 截止日
    b1:Boolean 是否选择条件1
    b2:Boolean 是否选择条件2
    b3:Boolean 是否选择条件3
    b4:Boolean 是否选择条件4
    b5:Boolean 是否选择条件5
    b6:Boolean 是否选择条件6
    b7:Boolean 是否选择条件7
    b8:Boolean 是否选择条件8
    EPSMinQG:float 最近一季度EPS最小复合增长率(%)
    EPSMin3yG:float 三年EPS最小复合增长率(%)
    RPSMinV:float RPS最小值
    SaveResult:Boolean 是否更新至缓存选股列表中
    返回:Array 选股代码及用到的相关指标
    策略回测模型:
    定义:Show_DSXG_211(BegT:TDateTime,EndT:TDateTime,type:Int);
    说明:大师策略: 威廉.欧尼尔CANSLIM投资法则-策略回测结果数据提取模型
    参数:
    BegT:TDateTime    开始日
    EndT:TDateTime    截止日
    Type:自定义     返回类型
    Type显示名取值
    策略与大盘比较0
    最新股票池1
    与上期比新增的股票2
    与上期比剔除的股票3
    与上期比继续持有的股票4
    所有股票池6
    策略与大盘比较(数据)8

    返回结果:根据Type参数不同返回不同的结果。
    结果返回结果类型
    策略与大盘比较TGraph
    最新股票池Array
    与上期比新增的股票Array
    与上期比剔除的股票Array
    与上期比继续持有的股票Array
    所有股票池Array
    策略与大盘比较(数据)Array

    回测应用案例展示:
    范例:Return user('jrtzsupport').Show_DSXG_211(20210101T,20210205T,1);//返回最新股票池
    结果: