量化投资之路量化小讲堂

【量化小讲堂-Python量化入门14】数据告诉你:惊人的指数定

2017-07-09  本文已影响168人  邢不行

本文原由作者于2016年4月30日首发于人大经济论坛,整理如下。

引言:

【所有系列文章汇总】请点击此处

本系列帖子“量化小讲堂”,通过实际案例教初学者使用python、pandas进行金融数据处理,希望能对大家有帮助。

微信:xbx_laoshi,量化交流Q群(快满):438143420,有问题欢迎交流。

文中用到的A股数据可在www.yucezhe.com下载,这里可以下载到所有股票、从上市日起的交易数据、财务数据、分钟数据、分笔数据、逐笔数据等。


数据告诉你:惊人的指数定投策略

巴菲特这一辈子曾经无数次的说过:对于个人投资者,最好的投资方式就是指数基金定投。

所谓指数基金定投,就是不要管股市是涨是跌(因为没有能力判断,索性不判断),每个月都定期的拿出一笔钱来买基金。并且买的是指数基金,指数基金就是完全复制某个指数收益的基金。例如沪深300指数基金的收益和每天沪深300指数的收益基本一样。

巴菲特这么推荐指数基金主要是因为有以下的优点:

  1. 没有几个基金经理长期来看业绩可以超过指数本身。所以选基金经理不如直接买指数。
  2. 省时省力,不用在上班的时候还盯着股票。年轻人花更多的时间努力工作,才是最有价值的投资。
  3. 相比其他主动管理型的基金,指数基金管理费用低廉,几乎可以忽略不计吧。管理费的高低对投资回报的影响要远大于我们的想象。

并且有人说,即使是在2007年10月份大盘在6000多点的时候开始基金定投,到2009年7月份大盘跌到3000多点的时候,这个时候总体仍然是赚的。

第一次看到这个说法的时候相当震惊,因为这很违反直觉:在最差的时间点入场,大盘都已经腰斩了,定投还能赚钱?

我们玩数据的人,这种时候就要找出原始数据看看是不是真的是这样子。本篇文章的程序就是实现指数基金定投策略,并希望通过这个例子让大家学到pandas如下用法:

  1. 读取数据时指定索引的方法
  2. 数据集连接函数concat()函数的用法
  3. 时间序列重采样resample()函数的用法

具体要实现的策略其实非常简单。就是在每个月的1号,花1000元买入指数基金,算算最后的收益有多少。为了简单起见,我们这里就直接用指数的收益代替指数基金。

为了对比定投指数基金的效果,也计算每月定投1000元买入无风险理财产品(如余额宝等)后的收益,比比最终谁的收益高。这里假定理财产品每年的无风险年化收益率是4%。下面就来看看具体的程序吧!

程序
要模拟基金定投,需要各个主要指数的数据,在www.yucezhe.com可以下载到所有指数历史至今的数据。如下图所示,每一行是每一天的数据:

image.png

这个日线数据有以下的字段:
【index_code】指数的代码
【date】 交易日期
【open】 开盘价
【high】 最高价
【low】 最低价
【close】 收盘价
【volume】 成交量
【money】 成交额
【change】 涨跌幅

下面是代码的截图,代码里面有详细的注释,有问题可以留言,附件中有程序的源码,回复即可下载。


image.png
image.png

在程序中选择好具体的指数,设定好定投开始、结束的时间,运行程序就能看到结果了。我先选择上证指数,定投的时间段是2007年10月1日到2009年7月30日,这段时间大盘从6000点跌倒了3000点,下面是结果图:


image.png
image.png

图中的绿色曲线是定投理财产品的资金曲线,蓝色曲线是定投指数基金的资金曲线,这两根曲线对应左边的坐标轴。图中的红色曲线是同期上证指数的曲线,对应右边的坐标轴。

从数据可以看到,在这个时间段内,总共投资了22000元(共22个月,每个月定投1000元),若把这些钱买理财产品最终的收益是22828.89,若是定投指数基金最终的收益是26606.08元,高出了16.54%,而且这是在同期大盘亏了50%的情况下!

我再把时间段拉长,从1996年4月开始到2016年4月结束。从下图的数据中可以看到在最近20年内,总共投资了241000元,定期买理财的收益最终是362296.40,若是定投指数基金最终收益是404451.79。在15年牛市最高点的时候,最多到了接近70万。


image.png
image.png

再把上证指数改成创业板指数,时间段是2010年6月到2016年4月。数据如下图,收益还是很不错的。看了这个数据,都有点定投创业板指数基金的冲动了。


image.png
image.png

思考题

仔细看上面的几副图,似乎隐藏着一个很好的择时策略在里面,给了我很大的启发,我准备去研究下。不知道有没有人有同感?很多策略都是在这么无意中被发现的。


扫描下图二维码,关注邢不行老师微信,询问获取文中附件、代码、数据的下载链接。

扫描上方二维码加邢不行微信,或直接添加微信号:xbx_laoshi

关于《量化小讲堂》之后想看的内容,或者相关问题,可以加我的微信xbx_laoshi、或者Q群(快满):438143420沟通。


上一篇下一篇

猜你喜欢

热点阅读