Python实验巴菲特的波动率哲学

多年来,投资者一直在寻找一套公式,以图复制沃伦·巴菲特(Warren Buffett)50 年取得的神奇回报,但都徒劳无功。

马萨诸塞州坎布里奇国家经济研究局(National Bureau of Economic Research)11 月份发表一项新研究成果,声称找到了这套公式。论文作者都有深厚的学术资历,他们供职的 AQR 资产管理公司(AQR Capital Management)管理着多只对冲基金和其他一些投资产品,资产规模达 900 亿美元。

论文作者分析了巴菲特从 1964 年收购伯克希尔·哈撒韦公司(Berkshire Hathaway)以来的投资成绩。他们的公式含有十多个单项,可以归纳为两个主要部分。第一部分是“专注于便宜、安全、优质的股票”,即波动性低于平均水平、股价与每股账面价值之比(市净率,一种净值衡量指标)不高的股票。除此以外,研究人员还看好利润增长高于平均速度、相当大一部分利润当作股息派发出去的股票。

公式的第二部分将会令人错愕:它要求用“保证金交易”来投资这些股票,也就是借钱买股,买进的数量比不借钱能够买到的更多。研究人员发现,要达到巴菲特那样的长期回报,投资组合需要有 60%的借入比例,也就是说,借款比例足以让每 100 美元的投资组合持有 160 美元“便宜、安全、优质的股票”。

这里选择 ROC(rate of change),也即 N 日内涨跌幅百分比。
变动率指标( ROC ),是以当日的收盘价和 N 天前的收盘价比较,通过计算股价某一段时间内收盘价变动的比例,应用价格的移动比较来测量价位动量,达到事先探测股价买卖供需力量的强弱,进而分析股价的趋势及其是否有转势的意愿,属于反趋势指标之一。
我的思路很简单,先看看 ROC 的变化曲线。


roc=roc*roc
roc=math.sqrt(roc)
record("roc",roc)


[img]https://segmentfault.com/img/bVKZMH?w=576&h=88[/img]

经过我变换的 roc 在 0 到 60 之间变化,我写了这样一个逻辑(暂且把我们变化过来的数值 roc 叫波动率):

[list]
[*]从 50 只股票集中选择波动率小于一定数值的,买入一点( 20%)
[*]如果波动率超过一定数值,比如大于 40 ,清仓卖出
[*]如此循环
[/list]

回测结果收益 2 倍多,还是不错的嘛!

[img]https://segmentfault.com/img/bVKZMv?w=584&h=118[/img]

如果反过来怎么样呢?买入波动率大的股票,波动率变小后卖出。

[img]https://segmentfault.com/img/bVKZMB?w=580&h=113[/img]

结果收益低于 benchmark 了。

如果你对量化感兴趣,来[url=http://www.raquant.com/?pk_campaign=iteye"]raquant镭矿[/url]论坛试试吧
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值