指数基金日涨跌幅python_Python数说指数定投策略

原标题: Python数说指数定投策略

林中有两条路,我选择了人迹更少的那一条,一切皆源于此。 ——罗伯特·弗罗斯特

引言

巴菲特曾说:“一半以上的优秀基金经理无法战胜指数,定投指数将使任何一个门外汉成为一名平均水平的投资高手。”老爷子道出了股市交易的真谛,但大多数人依然不会采用该策略(什么道理都懂,就是过不好这一生)。最近在金融界网上看到邢不行老师的一篇文章《用Python成功验证巴菲特推崇的“指数定投”》,感觉蛮有意思。该文对比分析了指数定投和余额宝定投的收益情况,并选取了两个时间段来分析:(1)2007年10月16日至2009年7月31日,指数从6124点跌至3333点,但是这一期间定投指数却是盈利的,得出结论一:指数腰斩,定投不亏;(2)2007年10月16日至2015年6月12日,上证指数从6124到5178,指数仍然是亏的,但是定投累计资金却近乎翻了一倍,得出结论二:指数不涨,定投翻倍。结论很振奋人心,但是文章相当于只展示了定投策略“优秀”的一面,却没有并没有点明其局限性以及背后的逻辑。尽管如此,邢老师写的Python代码具有较好的参考意义,该文可以看成是一篇很好的Python量化运用案例(尤其是pandas的运用)。在借鉴该文的基础上,本文试图运用Python对指数定投策略进行历史回测,全面展示指数定投策略的优势与劣势、适用性与局限性,以供大家参考。

探讨问题与分析思路

本文以Python为量化工具,主要探讨以下三个问题:

(1)指数定投的优势与劣势在哪?

(2)指数定投受哪些因素影响,是不是时间越长越好?

(3)指数定投策略如何优化?

编程软件:基于Python3.7的Jupyter Notebook,使用到的库包括numpy、pandas、matplotlib、pyecharts和tushare等。

数据来源:使用tushare pro开源包获取上证指数、深证指数、沪深300、上证50、中小板和创业板1991-2018年数据,其中中小板和创业板是2011年-2018年数据。

源代码:Talk is cheap, show me the code (废话少数,放码过来!),关注微信公众号:Python金融量化(id:tkfy920),回复"指数定投源码”免费获取下载地址。

01国内指数价格走势

首先,对A股几个常用的指数历史走势进行可视化分析,直观反映不同期间股价涨跌情况,其次,计算各期间股指的累计收益率,为后面的指数定投对比分析做铺垫。

各指数自上市交易以来累计收益率情况:区间拉长,各有千秋。

牛市区间累计收益率情况:'2013-01-01':'2015-06-12':牛市来了,创业板身板轻,飞得更高(摔下来也疼)。

倒V形区间收益率情况:'2011-01-01':'2018-12-24':辛辛苦苦八九年,最后回到解放前。

2018年以来累计收益率:'2018-01-01':'2018-12-24'。怎一个“惨”字了得,中小板跌到妈都不认得。

各指数自上市以来累计收益率和年化平均收益率:上证综指自1990年12月以来累计收益率达到322.98%,但是几何年平均收益率也只有5.29%,低于中证500、沪深300和中小板指。

02指数定投策略

指数定投策略:即每月于固定日期使用固定金额投资指数基金。如将每月月初发的工资3000元用于投资指数基金。

下面运用Python定义指数定投的回测函数,假定无风险理财产品收益率为4%(假设而已),每月月初(或者月末)定投3000元购买指数基金,计算各期间累计收益率和累计定投资金。先来看第一个问题,指数定投在什么情况下优于一次性投资以及无风险理财(银行定期存款)呢?

微笑曲线(V或W形态):

不难理解,指数定投的优势在于规避择时,不怕踩坑,通过长期定额投资分摊成本,当股指呈微笑形走势的时候,一定是优于一次性投资的,但是否能获得较高回报,还得看右侧回升的幅度大小。如选取区间2007年10月17日至2015年6月12日,该期间是股指自1990年以来的历史高点6124点开始下跌,然后反弹至5178点,即假设你运气碰巧那么差,在最高点当接盘侠,然后每个月继续傻乎乎的补仓,然后终于运气来了,在2015年高点全部清仓。如下图所示,如果你在高点一次性买入然后长期持有,期间累计收益率是-16.48%,而定投的累计收益率却高达101.03%(每月月初投入),无风险理财的期间累计收益率也只有16.28%。

小微曲线:上图选择的“微笑曲线”很优美,刚好是股指两头高(右侧高才是关键),中间低,因此通过每月定投不断分摊长期成本,获得超额收益率。那如果右侧不是很高呢?再来看另一个区间,2007年10月17日(6124高点)至2009年07月20日(3333低点),如下图所示,区间累计收益率为-62.31%(佛性),理财累计收益率3.62%,每月月初定投的累计收益率仍然有15.64%(每月月底定投是17.96%,其实统计分析二者并无显著差异)。可见,一次性买入长期持有策略对择时的要求非常高,一旦踩了坑(高点接盘),将很难翻身,而长期定投策略则规避了择时的困扰,在股指短期波动向下,中长期向上反弹的走势中优势凸显。

难过曲线(倒V或M形态):有微笑曲线,当然也有难过曲线。正所谓,有阴必有阳,有涨必有跌,有得必有失。什么情况下定投指数策略处于劣势呢?将回测区间拉长,考察指数从低点-高点-低点、经历两次大的牛熊转换时,指数定投策略的累计收益率情况。如下图所示,选取区间2006年10月01日(2000多点)至2018年12月24日(2000多点),相当于经过了12年多,股指差不多又回到起点。一次性买入期间累计收益率为36.6%,理财定投累计收益率为27.63%,但是指数定投累计收益率却为-7.39%(-7.46%),可见,指数定投并非时间越长越好,也并非一直比一次性买入持有策略好。

单边牛市:

即起点为最低点,终点为最高点。选取区间2014年07月1日至2015年06月12日进行回测。如下图所示,一次性投入并持有的策略明显优于定投策略。通过上述分析,不难发现,一次性买入并持有策略对择时要求非常高,即同时在买点和卖点精准把握才能获取超额收益率,而定投指数策略对买点并无要求,但要求卖点出现在右侧才能获取超额收益。换句话说,指数定投并非毫无目的的一直做长期定额投资,而是要结合一些择时指标判断拐点进行“止盈”,才能获取较高的累计收益率。

03其他指数情况

股票指数是反映股票市场总的价格水平变化的指标。一般是选取有代表性的一组股票,采取价格加权平均计算得到。各种指数具体的股票选取和计算方法是不同的,只看单一股票指数可能难以反映总体情况。下面对照分析上证指数、深证指数、沪深300、上证50、中小板和创业板指数,由于创业板是2010年才推出,因此下面的分析主要考察2011年-2018年区间。

单边牛市:

考察期间2014年07月01日至2015年06月12日,创业板定投累计收益率最高,达到124.3%,并且定投累计收益率居然高于一次性投入的累计收益率;而上证50定投累计收益率最低,只有63.22%。

倒V形(右侧高于左侧):

考察区间2011年08月01日至2016年12月24日,创业板累计收益率仍然是最高的,除了创业板外,指数定投策略的收益率均高于一次性投入持有策略。

难过曲线:考察期间2011年08月01日至2018年12月24日,该区间内,上证综指、深证成指、中证500和中小板指累计收益率均出现了负数,但定投策略亏损较少,其他几个指数仍有正的收益率,除创业板外,指数定投策略仍然优于一次性投入持有策略。

单边下行:考察期间2015年06月12日至2018年12月24日,毫无疑问,单边下行的时候,定投不断分摊了长期成本,累计亏损率要低于一次性投入。此外,单边下行的时候,期间内创业板累计跌幅是最大的,正所谓风水轮流转,山水有相逢。

2018年情况:2018年国内外形势云诡波谲,内外夹击,经济持续下行,股票市场首当其冲,各大指数均出现了大幅下跌,股民怨声载道。年初至今,中小板累计亏损高达45.12%(定投:-24.66%)。可见,起风的时候,身子轻的猪可以飞得更高,但摔下来的时候也更惨!

通过上述分析,不难看出指数定投的优势与劣势,以及什么条件下可以获得较好的累计收益率。巴菲特建议个人投资者最好的投资方式是指数定投,尤其是对于收入来源于每月固定薪酬的普通散户。为什么倡导指数定投?其实背后的逻辑是很清晰的,即股市受当前受各方因素叠加影响,短期波动较大,形势不明朗,但是对股市长期走势抱有很大希望,这时候做指数定投将是一个不错的投资策略,尽管短期内可能承受较大的亏损压力。最后引用基金观察网上的一张图片进行总结:“长期国运向好,中期估值合理,短期情绪恐慌,所以此时不定投,啥时再定投?”

(图片来源:基金观察网)

04结语

本文使用Python对A股几个常见的指数历史行情进行了可视化分析,通过构建指数定投策略函数,对不同区间指数定投策略进行了历史回测,全面展示了指数定投策略的优劣势、适用性与局限性。华尔街曾流传着一句话:“要在市场中准确地踩点入市,比在空中接住一把飞刀更难。”可见择时是非常困难的,指数定投则规避了这一选择,通过采取分批买入法,克服了只选择一个时点进行买进和卖出的缺陷,不断分摊和均衡长期成本,因此指数定投在中长期看好、短期波动较大的行情中优势明显。股票市场短期内是噪音交易占主导,无论你使用的量化技术多么复杂高深,可以战胜市场的唯一方式依然是获取概率优势。大道至简,只有简单的策略,才能在长期投资中保持高度的稳定概率优势。返回搜狐,查看更多

责任编辑:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值