阅读原文: 京东量化平台(quant.jd.com)-全方位量化策略开发平台。量化交易、量化投资、云端在线编程、策略历史回测、实盘模拟、量化社区
京东金融量化交流群:417082141
[入门教程],大神轻拍!
“法玛三因子”是个什么鬼?
尤金-法玛、彼得-汉森和罗伯特-希勒这三位学者因对资产定价领域的相关贡献得奖是2013年的诺贝尔经济学奖一个非常热门的话题。
就是上面这个老头他提出的“三因子模型”是广受华尔街欢迎的法宝。
这三个因子一个叫贝塔,一个叫市值,一个叫估值——更简单地说,小盘股和低市净率的价值股会给你带来更好的回报。
所谓贝塔,有点类似于大家所说的“股性”,比如大盘涨1%,这个股票一般要涨1.5%,股民就会说这个股票“股性活”,而学术界则会说这个股票的Beta值是1.5(1.5÷1=1.5)。三因子模型之前的CAPM理论认为一份风险一份收获,一个股票的Beta越大那么预期收益就该越大。
所谓市值,是指上市公司的规模大小。
所谓估值,是指市盈率或其他可衡量的估值指标。
法玛三因子模型横空出世之后,引发了全球投资界的强烈关注。很多人在不同的市场做了很多实证检验。
这样看起来,法玛三因子模型的确看上去很美,用上去很行。不过,先别急着鼓掌,我们再来看一个巴菲特的例子。
对冲基金 AQR CAPITAL MANAGEMENT 曾对巴菲特的40多年的股票投资过程做了非常仔细的研究,得出了一个重要的结论——巴菲特之所以能靠股票投资成为首富,是因为他买的股票都是波动率比较低的(Low beta),而且是当稳定的大公司股票打折的时候买进的。但是为了提高收益率,巴菲特通过发行债券和控股保险公司等方法使用了低利息的融资(Leverage),研究报告算出来巴菲特使用了大约1.6倍的融资杠杆。
所以他们认为,巴菲特成功的秘诀就是:低贝塔 + 大盘股打折 + 适度杠杆。
如果我们把以上巴菲特的三个秘诀称为首富三因子的话,你有没有发现——首富三因子中低贝塔,大盘股,这两个要素与法玛三因子模型中的两个因子相矛盾。
好吧,现在问题来了,一个世界首富,一个诺贝尔经济学得奖,你信谁?
我的答案是我信京东量化平台,好吧,我们整理一下思路,写代码吧!
法玛三因子:小市值+小市净率
看起来,并不难写对不对,get_fundamentals可以得到上面两个财务因子,可是问题来了,我们怎么给两个财务因子加权排序呢?在数学上,一般来说我要对两个以上变量进行排序可以用乘法,这样不会破坏变量的关系,可是这里是市值,再乘以市净率,你能保证你的电脑有足够大的内存来保存这个数?我们来看看这个bug.
看到上图那个 market_cap_2 那里没,因为数值太大无法完整显示了。你能保证再乘以一个数而不会出错吗?
没关系,有办法,在计量经济学中这种乘法的排序变成加法的排序只需要求变量的对数就行了。
和=np.log(市值)+np.log(市净率) 就这么简单,然后对 和 排序就行了。
下面是选股函数的核心代码,其它代码自己加就行了
那么最后,我回没2011年至2013年一断时间,发现这个策略还是比较靠谱,请看图,没有怎么优化。