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

班杰明.葛拉汉防御价值型投资法    

  • 背景:
     班杰明.葛拉汉是华尔街公认的证券分析之父,1894年生于伦敦,1895年举家迁居纽约,9岁时父亲过世,幼年生活困苦,1914年毕业于哥伦比亚大学,进入证券经纪商纽伯格公司(Newbuger Henderson&Loeb)担任统计分析的工作,1923年离职后,创立第一个私人基金-葛兰赫公司,初试啼声操作绩效即非常优异,1925年因合伙人意见不合而清算解散,1926年和友人合资设立葛拉汉联合投资账户(Joint Account),至1929年初资金规模由45万美元成长至250万美元(非新投资者),一夕之间,葛拉汉之名成为华尔街的宠儿,多家上市公司的所有人皆希望葛拉汉为他们负责合伙基金,但皆因葛拉汉认为股市已过度飙涨而婉拒,1929年,葛拉汉回到母校开课,教导证券分析的方法,1934年和托德(David L. Dodd)合着「有价证券分析」(Security Analysis)一书,成为证券分析的开山始祖,在葛拉汉之前,证券分析仍不能被视为一门学问,此书至今仍未绝版,且是大学证券分析的标准教科书之一,当代著名的基金经理人如华伦.巴菲特(Warren Buffett),约翰.奈夫(John Neff),汤姆.芮普(Tom Knapp)等皆是葛拉汉的学生,目前华尔街只要是标榜价值投资法的基金经理人,也都是葛拉汉的徒子徒孙,葛拉汉于1960年解散经营20年的葛拉汉.纽曼公司(Graham Newman),并退休,1976年去世,留下逾300万美元的遗产,另着有智能型股票投资人一书(The Intelligent Investor: A Book of Practical Counsel)一书,本方法即是此书中的投资原则的重点。
    投资程序:
     葛拉汉认为防御型投资者应平均买进道琼工业指数的30支股票,否则应按照以下原则来选股:
    1.选择年销售额逾一亿美元的公司,或年销售额逾5000万美元的公用事业股。
    2.流动比例应为200%以上,且长期负债不超过净流动资产。
    3.选择过去十年,每年皆有盈余的公司
    4.选择连续20年都支付股利的公司
    5.利用3年平均值,选择过去10年每股盈余至少成长1/3的公司。
    6.股价÷三年平均每股盈余小于15倍。
    7.股价净值比小于1.5倍。
    8.投资组合中应保持10-13种股票。
    选股
    算法

     由于时空背景的不同,并利于选股程序的进行,本系统将葛拉汉的程序稍作更动:
    1.选择年营业额大于市场平均值的公司
    2.选择过去5年皆有盈余的公司
    3.选择连续2年皆支付现金股利的公司
    4.流动比例>200%
    5.净流动资产 - 长期负债>0
    6.(近三年平均税后净利-近10-12年平均税后净利)/近10-12年平均税后净利的绝对值>0.33
    7.PER1(以近3年平均每股盈余计算)<=15
    8.PER(以近4季每股盈余计算)*PBR<22.5

    数据使用限制:
    1.有关第一项销售额的部份,由于葛拉汉的标准为一定值,不一定适用中国股市,因此以市场平均值代替。
    2.因中国上市公司历史较美国短,不适用原来的假设,在此略作修正,提供使用者选择的空间,选择皆有盈余或皆有发放现金股利的年数,但基于葛拉汉在该项选股方法中的精神-稳定的获利及长期发放现金股利下,建议使用者:可用”5年以上”作为判断盈余稳定的年数;”3年以上”作为判断现金股利发放情况来进行选股。
    3.净流动资产在葛拉汉的原始定义为:【流动资产 - 总负债】,在本系统其主要是用来衡量财务的安全性,现考虑中国公司的情况,改以一般的净流动资产定义:【流动资产 - 流动负债】来取代。
    选股模型:
    定义:JF_01(BkName:Str,EndT:TDateTime,b1,b2,b3,b4,b5,b6,b7,b8,b9:Boolean,EPSMin3yG,PEMaxV,PBMaxV,PEandPBMaxV:float,IndustryLevle:Int,SaveResult:Boolean);Array
    说明:班杰明.葛拉汉(Benjamin Graham)防御价值型投资法
    算法说明:
    1. 最近报告期近12月营业收入不低于市场60%分位线
    2. 最近报告期近12月长期负债合计不高于净流动资产
    3. 指定日最近三年每股盈利皆不低于0.1
    4. 最近三年每股股利皆不为0
    5. 最近报告期近12月流动比率不低于1.5且不低于行业值
    6. 每股盈利的三年(无则两年)复合增长率不低于EPSMin3yG
    7. 指定日近12月市盈率不小于0且不高于市场的PEMaxV倍
    8. 指定日市净率不小于0且不高于市场的PBMaxV倍
    9. 指定日市盈率与市净率的乘积不小于0且不高于市场的PEandPBMaxV倍
    参数:
    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
    b9:Boolean 是否选择条件9
    EPSMin3yG:float 三年EPS最小复合增长率(%)
    PEMaxV:float 超过PE中值的最大倍数
    PBMaxV:float 超过PB中值的最大倍数
    PEandPBMaxV:float 超过PB*PE中值的最大倍数
    IndustryLevle:所用行业级别
    显示名取值
    证监会一级行业1
    证监会二级行业2
    所有市场3

    SaveResult:Boolean 是否更新至缓存选股列表中;
    返回:Array 选股代码及用到的相关指标
    策略回测模型:
    定义:Show_DSXG_101(BegT:TDateTime,EndT:TDateTime,type:Int);
    说明:大师策略: 班杰明.葛拉汉防御价值型投资法-策略回测结果数据提取模型
    参数:
    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_101(20210101T,20210205T,1);//返回最新股票池
    结果: