降龙四式之亢龙有悔
谨记:一切回测有效的策略都是看后视镜开车。回测仅仅是参考,不能预测未来。
#### 谨记:成功概率不能预测,失败风险无法回避,历史周期不断重复,时刻抱有敬畏之心。
指数特点
- 背靠国运,不死鸟
- 长期上涨
- 成本低
- 不择股
- 容易量化
- 大道至简
指数品种
简单粗暴的分为宽基和窄基,窄基又可以细分为策略类、风格类、行业类、主题类;
宽基指数
- 上市不满一个季度的股票不选;暂停上市的股票不选;财务上有问题的股票不选;多年亏损的股票不选。
上证50 (代码是000016)
-
上交所挑选沪市规模最大、流动性好、最具代表性的50只股票组成样本股,以综合反映沪市最具影响力的一批优质大盘企业的整体状况。2004年1月2日发布,但却是以2003年12月31日为基准日期开始运作的。
-
从2003年年底以来,国内股市发生过三轮比较明显的牛市,分别发生在2006~2007年、2009年和2015年。其余时间里股市大多波澜不惊,走平或者阴跌。
沪深300 (代码000300)
- 从上交所和深交所挑选规模最大、流动性最好的300只股票。从市值规模上来说,占到国内股市全部规模的60%以上。沪深300基本上包括上证50
中证500 (代码000905)
- 将全部沪深300指数的300家公司排除,然后将最近一年日均总市值排名前300名的企业也排除,这样可以最大限度地避免选入大公司。在剩下的公司中,选择日均总市值排名前500名的企业
创业板综指 (代码是399102)
- 包括创业板全部的500多家企业
创业板指数 (代码是399006)
- 创业板最主要的100家企业
创业板指数整体公司规模较小,属于以中小型公司为主的指数。并且这些公司大多盈利没有进入稳定期,所以创业板的整体盈利数字比较低;公司开展新业务也更容易导致盈利大起大落。小公司+盈利没有进入稳定期,创业板指数相比之前介绍的指数,更容易暴涨暴跌。
上证综指(000001)
综指指的是综合指数,上证综指包括了上交所全部的上市公司,目的是反映上交所所有股票的走势。
这个指数娱乐意义最大。
中证100指数(000903)
中证100指数是从沪深300指数中,再挑选出规模最大的100只股票组成的。比起上证50指数,它覆盖了深交所的大公司,所以更加全面一些。
中证800指数
中证500plus
中证1000指数
中证500plus+
中证全指
中证plus++
恒生指数(HSL)
- 港上市的公司中规模最大的50家企业。因为中国香港金融市场比较开放,境外投资者很容易就能进来投资或者撤资,所以一有风吹草动,就会体现在港股价格的波动上。
- 最近3年国家先后开通了沪港通和深港通,内地资金正在夺回港股的定价权
H股指数
- 内地注册,但是在香港地区上市,这样的公司就是H股了。与A股关联度大,因为同股不同价,有很多精明指数前来套利。
标普500指数
- 巴菲特唯一指定接班人
- 需要注意的是,标普500也有一个
完全没有用的
委员会搞一些选股工作
纳斯达克100指数
- 纳斯达克规模最大的100家大型企业
德国30DAX
- 跟踪基金盘子小,误差大
行业指数
行业有自己的投资特点,不能一概而论,需要针对行业的特点具体分析。所以就投资难度来说,行业指数比宽基指数要高出不少。
值得投资的行业,主要有两个,一个是天生赚钱更容易的行业,另一个是具有明显强周期性的行业。
我认为最值得关注的是消费指数和医药指数。
上证消费指数
- 从上交所挑选必需消费行业公司。
上证消费80指数
- 从上交所挑选80家规模最大的必需消费行业公司。
中证消费指数
- 从中证800,即沪深300和中证500中挑选必需消费行业公司。
全指消费指数
从所有上市公司中挑选必需消费行业公司,覆盖范围最广。
300医药指数
- 挑选了沪深300指数里的医药行业公司。
500医药指数
- 挑选了中证500指数里的医药行业公司。
策略加权指数
上证50AH优选指数
- 基于A股、H股的聪明指数
上证红利指数 (000015)
- 上交所过去两年平均现金股息率最高的50只股票
中证红利指数 (000922/399922)
- 上交所和深交所挑选过去两年平均现金股息率最高的股票,成份股数量扩大到100只。
深证红利指数 (399324)
- 专门投资深交所的高现金股息率的股票,不过成份股只有40只。
红利机会指数 (501029)
- 传统的红利指数,一般只是挑选高股息率的股票,没有其他的要求。
- 红利机会指数有3个要求:过去3年盈利增长必须为正;过去12个月的净利润必须为正;每只股票权重不超过3%,单个行业不超过33%。符合这3个要求的成份股才能入选,所有入选的股票再按照股息率排名选出股息率最高的100只股票,构成红利机会指数。
中证基本面50指数
基本面指数中,在国内最出名的就是中证基本面50指数。这个指数是按照4个基本面指标,挑选出综合排名前50的公司。具体来说,是从上市公司过去5年的年报数据中,计算4个基本面指标。
- 营业收入:公司过去5年营业收入的平均值。
- 现金流:公司过去5年现金流的平均值。
- 净资产:公司在定期调整时的净资产。
- 分红:公司过去5年分红总额的平均值。
深证基本面60、120指数
深证基本面60、120是基本面系列指数,跟之前我们提到过的基本面50规则一样。挑选市场上收入、净利润、净资产、分红综合起来最大的公司。
基本面120的成分股平均市值规模,跟中证200是最接近的。所以可以作为中证200的良好替代品。
沪深300价值指数
- 以沪深300指数样本股中价值因子评分最高的100只股票为成分股,采用价值因子数值作为权重分配依据。
中证500低波动
- 从中证500指数中,挑选波动率最低的150只股票组成的。 波动率越低的股票,权重越高。
- 每半年更换股票的时候,500低波动会因为成分股的更新,估值出现较大波动。
投资品种筛选
指数筛选
- 不择股,宽基指数优于行业指数
- 两个指数有重叠,选更宽的一个 (沪深300>上证50)
- 两个指数重叠,选策略加权的哪一个 (上证50AH优选>上证50)
- 宽基指数再用策略筛选,优先选择策略指数
- 最终组合的关联度要小
综合考虑,我们选取以下指数作为标的:
- 上证50AH
- 沪深300价值
- 中证500低波动
- 深证基本面120
- 红利机会指数
- 恒生指数
- 标普500
- 纳斯达克
指数基金筛选
- 选场外基金
- 选费率低的基金
- 港股指数选沪港通
- 和增强指数相比,优先选取策略指数,增强指数人为因素多,市场越成熟,增强效果越小,但是当前增强指数还是值得选择,随着市场进一步成熟,我们会慢慢转移到ETF联结基金上以降低费率;
- 盘子大,成立时间久,便于历史数据回测
(整理时间:2019.04.1)
基金简称 | 基金代码 | 管理费率% | 托管费率% | 申购费率%(取10%) | 规模 亿 | 最大回撤 % |
---|---|---|---|---|---|---|
华宝标普中国A股红利机会指数A | 501029 | 0.75 | 0.15 | 0.1 | 20 | 29.36 |
申万菱信沪深300价值指数 | 310398 | 0.65 | 0.15 | 0.12 | 20 | 40.25 |
景顺中证500行业中性低波动 | 003318 | 0.5 | 0.1 | 0.12 | 8.13 | 33.5 |
嘉实深证120联接 | 070023 | 0.5 | 0.1 | 0.12 | 5.84 | 39.22 |
华夏上证50AH优选指数A | 501050 | 0.5 | 0.1 | 0.15 | 9.17 | 23.63 |
国泰纳斯达克100指数 | 160213 | 0.8 | 0.25 | 0.15 | 7.34 | 22.25 |
博时标普500ETF联接A | 050025 | 0.6 | 0.25 | 0.12 | 4.26 | 18.08 |
华夏沪港通恒生ETF联接A | 000948 | 0.5 | 0.1 | 0.12 | 7.89 | 31.91 |
Beta因子
以下因子仅适用于宽基指数
数据永远在变,切勿刻舟求剑
收益率ROE
ROE = PB/PE
ROE是称重机,长期来看,股票的回报率趋近于ROE。大多数时间里,宽基指数的ROE维持在10-15%左右。
市净率PB
同样是股权资产,有的股权资产ROE就比较高而且稳定,像消费类医药类公司;有的股权资产ROE呈周期性波动,像钢铁石油券商;有的股权资产走向了没落,ROE甚至变为负数,是赔钱货。所以针对不同资产的定价也不同。
从定性的角度,ROE越高、越稳定,我们要买下这份净资产,每单位净资产就要花更多的钱,也就是市净率会越高。
所以我们买某个指数,也可以理解为是用一定的溢价(pb的数值)去买一份盈利的资产。
从这点,盈利收益率实际上就是折算了pb溢价之后的ROE。
PB在1-1.5为低估。
市盈率PE
进入经济周期底部的时候,盈利增速放缓,我们为盈利增长支付的溢价比较少,PE处于低位;同时ROE也会降低,我们为资产盈利能力支付的溢价也比较少,PB也处于低位。
PE < 10 为低估
十年国债
十年国债代表无风险收益率;当市面上能找到的无风险收益类产品>十年国债利率X2,卖出指数,持有此产品。
一些要点
- 指数市盈率与市净率都是较低的时候,指数处于低估区域
- 如果遇到成分股盈利下降导致指数市盈率上升,就参考市净率,看看是不是在1-1.5之间;
正常区间
全市场25 PE,意味着收益率4% (超过十年期国债)。此时全市场一般 1.5-2 PB
系统性低估机会
市场出现PE<7、PB<1、股息率>5% (ROE>18%)的品种时,属于系统性低估机会
系统性高估顶部
全市场整体60 PE,整体PB>5.5,哈迪斯之顶
警惕
- 低市盈率陷阱
- 高股息陷阱
历史经验
各指数的历史平均估值
从09年之后
- 上证50的主要估值在9-16倍之间
- 沪深300在10-18倍之间
- 中证500在28-53倍之间
- H股指数在9-13倍之间
- 红利指数在9-15倍之间
自成立以来
- 恒生指数在11-18倍之间
- 标普500自成立以来在10-20倍之间
低估不定期不定额策略
好了,选取了品种,充分了解了历史,剩下的就是制定策略,回测执行啦
我们的策略制定原则:
- 可复现、可回测
- 排除人工干扰,机器拯救人类
- 落子无悔,买定离手
- 低估买,高估卖,没有机会不动
- 资金分为100份分批投入
买入条件
- 市场出现系统性低估机会可以买入
- 单一标的PE、PB 处于历史30%以下可以买入
- PE处于历史30%以下,且PB<1.5可以买入
- PB处于历史30%以下,且PE<10 或 1/PE<十年期国债利率X2,可以买入
卖出条件
- 市场出现系统性高估机会可以卖出
- 单一标的PE、PB 处于历史70%以上可以卖出
- PE处于历史70%以上,且PB>2可以卖出
- PB处于历史70%以上,且PE>25可以卖出
- 1/PE<市场能找到的最小无风险收益率,可以卖出置换
简单持有
不符合买入,也不符合卖出条件,简单持有即可。
若市场利率缓慢下行,可简单买入短债基金持有,其他情况不动。
半凯利公式控制仓位
采用银行螺丝钉的方法计算仓位;
其盈利增长率我们替换为10年ROE中位值,因为长远来看,PEG会趋近于ROE;用ROE更加保险
以恒生指数为例。
- 恒生指数过去10年的ROE中位值10%左右
- 我们期望5年年化15%的收益率
- PE历史30%大概为12,配合我们上面要求的条件,我们需要在10PE买入
凯利公式
1
|
|
其中b代表赔率,p代表获胜率,q代表落败率,q = 1-p
投资指数基金的赔率
1 2 3 4 5 6 7 8 |
|
这样就把我们的投资行为固化为了这样一个事件:
假如未来恒生指数能保持平均10%的ROE,我们在10PE买入恒生指数,要求有15%的年复合收益率,那我们“需要在5年的时间里,至少有一次机会在12.5倍以上市盈率卖出”。
投资指数基金的胜率
1
|
|
5年时间里,12.5PE是大概率事件,事实上,我们要求在70%的PE上方卖出,这个值大概是15PE。
12.5PE在历史上大概处于 60%的位置, 所以我们的条件还是非常宽松的。
按照我们前面制定的的边界卖出条件 PE估值百分位 > 70%,所以如果能买到10PE以下的恒生指数,并且期望5年内年化收益15%的化,只要能持有不动,胜率>60%;
计算仓位
通过凯利公式计算出来的仓位, X0.5;成为半凯利公式
胜率60%,赔率2;
1 2 3 |
|
根据半凯利公式推出,推荐仓位为20%。
一些推论
- 预期收益越低,胜率就会越高,仓位也会越高。如果预期收益过高,甚至仓位会是负数(也就是无法实现)
- 买入估值越低,胜率就会越高,仓位也会越高。如果买入估值过高,甚至仓位会是负数(无法赚取估值差收益)
- 指数的盈利增长率越高,对应的胜率也会越高
- 买入时不要求每次都能赢,但是一定要在赢面大的时候下大注
多指数组合计算仓位
对组合中的每个指数设定 买入PE,卖出PE,持有年数,要求年复合增长率, 分别计算仓位
全部仓位相加,便可以决定总仓位。
定投
每次的总仓位即 定投总额 / 定投次数;比如5年计划投入60w,每月定投一次,那么每次总仓位1w;
每次计算卖出PE点大于历史估值70%即可盈利的品种,并决定仓位;然后所有仓位相加。
如果定投不定额, 每次仓位可以超过100%;
如果定投定额,每个品种的仓位比例再等分平均,最后达到100%
如果没有符合条件的品种或者总仓位<100%,买入短债基金代替;
达到卖出条件分批减仓,减仓可以逆运算,也可以简单的用一个网格策略逐步卖出。
不定期不定额
如果我们有一个量化策略,可以直接把投入资金分为100份,在某个品种达到极高的胜率的时候计算仓位一把买入;然后在此之上, 采用价值平均策略定投,长期持有;
卖出
卖出的选择可以很简单,设定一个简化的网格策略,PE到了历史70%的区间每次卖掉1%,到了80%每次卖掉10%….
或者可以更精确的来控制,我们买入每一份指数时都精确计算了5年后期待的PE值,你可以先等够5年,然后市场到了期待的PE之后卖出;
经过我的统计,大部分宽基指数(沪深300为例) 70%的区间值/30%的区间值 ≈ 1.3,而历史ROE趋近于10%,也就是说这么算下来,只要30%以下买,70%以上卖,大概率能达到我们的期待收益。
回测
为了验证我们的策略靠谱程度,我选取了最简单的样本集合:
指数代码 | 指数名称 |
---|---|
000919.XSHG | 300价值 |
399702.XSHE | 深证F120 |
000905.XSHG | 中证500 |
000922.XSHG | 中证红利 |
历史PE,PB,估值统计
夫以铜为镜,可以正衣冠;以古为镜,可以知兴替;以人为镜,可以明得失。让我们先看下历史估值。
每周采样;当前PE、PB值取自2019-04-10,市值加权算法统计
时间段选取2004-01-01 至 2019-04-10
时间段选取2009-01-01 至 2019-04-10
时间段选取2011-01-01 至 2019-04-10
从图上可以看出,A股市场的整个PE和PB中枢逐年降低;所以用最近5年或者最近8年的历史数据来判断估值百分位比较靠谱。
另外一个感性结论,从图上很容易看出,只要是宽基指数,拉长时间来看,PE、PB的震荡曲线几乎是一样的;所以用我们的历史PE、PB估值法,每次买入的时间点可能基本相同,但是份额不同。
量化回测
是滴,我就是这么严谨;为了取得最大的普适性,我选取了华夏沪深300ETF联结基金作为标的,采取我们上述的策略,回测了一下:
- 初始资金100000,分为20份,每份5000元
- 时间就选取2018-08-01 – 2019-04-10,这段时间内的波动比较大,容易看出我们策略的行动模式
一图抵千言:
整个过程中,我们买入了17份,然后2019-04-02开始逐步卖出,卖出策略我选取了简单的网格策略;
当然,这个时间段实在太短,娱乐效果为主;不过我们还是看到了这个套路的一些特点:
- 买入卖出的时间段都非常短,大概就持续半年左右的时间窗口,其他时间我们都是
不动
- 因为买的特别便宜,所以安全边际大,你可以很放心的持有不动
- 采用凯利公式判断仓位的方法不是特别有效,70%的百分比太严格,一般到了这里基本上每次买的份额都差不多,体现不出仓位管理
可以有如下改进
- 仓位管理引入PB因子,进一步实现
低估重手买
的策略 - 20份资金有点少,可以增大资金分数
- 多个指数组合策略,进一步降低风险,也能把握更多机会
- 70%的百分比标准可以适当放宽
采用了上述优化策略之后,需要在一个较长的时间周期中回测(2010-2019)检验其靠谱程度。
量化回测2
调优了几个小参数:
- 投注份额改为50份;原因:做了大量统计之后,虽然我们的买入点实在PE历史30%以下,但实际上以5年为区间,买入的时机只有1年左右,我们按周测算,总投注份额50份为佳
- 为了方便计算,总投注金额为50000元,每份1000元
- 对于卖出策略做了简单的优化
- 回测时间拉长到2012-10-01 — 2019-04-10
- 计算PE、PB的历史估值区间选取前5年;原因:A股市场每7年就有一次大的波动,其实把这种波动放在总的统计数据里面是失真的,5年时间刚好能避开此类波动,而且我国每5年一个经济计划,一定程度上5年时间反应了一个小的经济周期
代码放在这里:
https://github.com/brain-zhang/kanglong
好啦,我们还是以沪深300为基准,看看这个策略和原指数的对比:
从这个画风上来看,这个策略确实是一个看后视镜开车的老司机,结果拟合相当完美;你可以把它看成是一个超级稳健、超级耐心的基金经理,这个经理的风格如下:
- 超级稳健,超级懒,80%的时间是持有现金不动的
- 其7年的总收益为87%,这个没有计算现金产生的收益,如果按照3%的货基收益,总收益是可以超过100%的;
- 最大回撤<10%