动态再平衡投资策略历史数据回测

Crossin先生

赚钱是个俗气的话题,但又是人人都绕不开的事情。我今天来“ 科学 ”地触碰下这个话题。

谈赚钱,就会谈到理财、投资,谈到炒股。有这样一个笑话:

问:如何成为百万富翁?
答:带一千万进入股市。

那么你有没有炒过股?有没有亏过钱?

股市虽然是个充满造富神话的地方,但对于大部分参与者来说,风险都是极高的,所谓 七亏二平一赚 。而一般的银行理财、货币基金,则是相对稳定的低收益率。今天要聊的是一个介于二者之间的投资策略, 既能提升你的收益率,又能维持一个相对可控的风险 。(真有这种好事?)

策略很简单,一共分两步:

  1. 把你手头准备用于投资的闲钱(注意是闲钱), 50%投资于股票指数基金 ,比如指数基金300ETF, 50%投资于低风险固定收益产品 ,比如大家都知道的余额宝、其他货币基金、银行固定收益理财等。
  2. 每隔固定的一段时间 进行一次资产再平衡(假设一年), 使股票资产和固定收益资产的比例恢复到50%对50% ,比如每年12月31日,如果这一年股票大涨,则需要卖出股票,买入货币基金,使调整后两中资产的市值恢复50%对50%。

然后,就没有然后了……就这么简单。

这个策略并不是我拍脑袋想出来的,它的正式名称叫做 动态再平衡策略 ,最早由“华尔街教父” 格雷厄姆 提出,之后也被很多证券分析师所引用。上述是一个极简的初级版本。

关于策略的实际效果,很多人在书籍或文章中有过论述。但我想你恐怕还是对此持谨慎怀疑的态度。那么接下来,我就用代码,在历史数据上做一些模拟统计实验,看看效果究竟如何。

这里的数据来源是 tushare ,一个开源财经数据接口包,我之前在文章中也有介绍过,详见:想用 Python 做数据分析?先玩玩这个再说

数据处理用到了 numpy ,绘图使用了 matplotlib

详细代码获取见文末。

我们模拟场景设定为:

  1. 初始资金为 _10000 元_
  2. 沪深300[399300]指数 作为指数基金的参考
  3. 为了简化模型,我们不考虑休息日,假设 每个交易日的固定收益为万分之一 (年化3%左右)。
  4. 每隔一段固定时间,就进行一次“再平衡”操作,将指数基金与固定收益的比例恢复50:50。
  5. 将结果与 全部购买指数基金全部购买固定收益 的效果进行对比。

根据之前的策略和设定,选取不同周期和时间段进行数次实验,结果为:

在几次实验中,再平衡策略的收益均处在另外两种策略中间:当股市好时,可以获取远超固定收益的回报;而当你的买卖点选择不好,股票赔钱的时候,也不会亏太多。尤其像最后一组,从07年3000点左右买入,经历10年2轮大牛市,股票回到原点后,再平衡策略依然有相当于固定收益的效果。

可视化展示:

蓝线为指数,红线为全指数基金策略 (二者曲线一致,只是坐标轴不一样), 绿色是固定收益的曲线堆叠折线图则是再平衡策略的曲线 (下半部固定收益,上半部指数基金)。再平衡策略基本就是 以固定收益为标准,围绕其做波动,而波动的影响就是股市的涨跌 。因此既保证了收益稳定性,又增加了有超额收益的机会。

在最简版的基础上,还可以有个变化: 不按固定周期再平衡,而是按比例,比如当其中一部分超过另一部20%时,则触发再平衡

放在上述实验数据中,总体来说收益率有所提升:

还可以将再平衡策略与定投策略结合起来,比如初始 10000 元,之后每个月(以30个交易日简化)投入 1000 元,按照我们第二种再平衡策略,从 07 年 5 月一直坚持到现在,结果是:

共投入成本 101000
再平衡策略最终资金 131010
对比只买固定收益是 118317
只买指数基金是 108857

当然,仅从选取这几次来下结论,依然不是很有说服力,所以我让程序随机选取开始和结束的时间点(至少1000个交易日),进行了 1000次实验 ,最终的收益率统计如下图:

红点是再平衡策略收益率,黄点是固定收益率,绿点是指数基金收益率

我们的策略收益率大部分保持在 0~7 之间,标准差为 5.88,相对稳定。这一收益率也有赖于固定收益的基础收益率,如果固定收益能提高到 5% 以上,此策略的收益率平均将接近 10%。

而纯股票的收益率,虽然有可能达到惊人的数值(比如顶上那个点 150+%),但标准差有 14.1,也有很大的概率亏损。

因此,这个策略不太能让你暴富,但对于寻求资产稳定增值的朋友,是非常值得参考的资产配置策略。

有人嘀咕了,说的这么神,你自己买了没?

emmmm……这个,我就低调地晒个图吧:

当然,这点盈利纯属狗屎运。(35倍的收益率其实是股票转件计算收益的一个“bug”:是以剩余资金来计算百分比)

策略重要,找到一个好的入场时机更重要。不跟风,保持独立思考,正所谓“别人贪婪时我恐惧,别人恐惧时我贪婪”。现在是不是合适的入场时机,这就不是我这个代码能帮你算出来了的。

获取文中相关代码,请在公众号(Crossin的编程教室)里回复关键字 策略

════

其他文章及回答:

如何自学Python | 新手引导 | 精选Python问答 | Python单词表 | 人工智能 | 嘻哈 | 爬虫 | 我用Python | 高考 | requests | AI平台 | 计算机视觉

欢迎搜索及关注: Crossin的编程教室

阅读 3.9k

Crossin的编程教室
本专栏旨在为编程初学者提供浅显易懂的入门指导。 另有同名公众号,及面向零基础学习者的 Python 入门教...
939 声望
192 粉丝
0 条评论
939 声望
192 粉丝
文章目录
宣传栏