引言

巴菲特曾说:“一半以上的优秀基金经理无法战胜指数,定投指数将使任何一个门外汉成为一名平均水平的投资高手。”老爷子道出了股市交易的真谛,但大多数人依然不会采用该策略(什么道理都懂,就是过不好这一生)。最近在金融界网上看到邢不行老师的一篇文章《用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),回复"指数定投源码”免费获取下载地址。

02指数定投策略

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

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

微笑曲线(V或W形态):不难理解,指数定投的优势在于规避择时风险,不怕踩坑,通过长期定额投资分摊成本,当股指呈微笑形走势的时候,一般是优于一次性投资的,但是否能获得较高回报,还得看右侧回升的幅度大小。如选取区间2007年10月17日至2015年6月12日来看,该期间是股指自1990年以来的历史高点6124点开始下跌,然后反弹至5178点,即假设你运气碰巧那么差,在最高点当接盘侠,然后每个月继续傻乎乎的补仓,然后终于运气来了,在2015年高点全部清仓。如下图所示,如果你在高点一次性买入然后长期持有,期间累计收益率是-16.48%,而定投的累计收益率却高达101.03%(月末投:102.02%),无风险理财的期间累计收益率也只有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、中证500、中小板和创业板指数,由于创业板是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%)。可见,起风的时候,身子轻的猪可以飞得更高,但摔下来的时候也更惨!

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

05结语

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

指数基金日涨跌幅python_Python数说指数定投策略相关推荐

  1. 指数基金日涨跌幅python_看懂巴菲特推荐的指数基金定投,Python验证

    看懂巴菲特推荐的指数基金定投,Python验证 超越股神,你这辈子是不可能了的啦,但是超越身边的普通人,那是足够了,只要你坚持定投,坚持定投正确的标的,直到成功为止,建立好市场的心里站,不要在股市中浮 ...

  2. 小猿理财:巴菲特推荐了ETF指数基金,没推荐增强型指数基金,原来道理在这!

    两种选基策略 追踪同一个指数的指数基金,因为选股规则是高度雷同的,所以整体表现也非常类似. 那些成立年限长的指数基金就具有非常大的先发优势,因为基金规模大,清盘的概率小,通常这类基金的管理费率也较低, ...

  3. 《指数基金投资指南》读书笔记---指数基金的分类

    1.上证50指数 上证50是上交易所挑选规模最大, 流动性最好的50只股票 指数的特点: 以大盘股为主. 只有上交所的股票,没有深交所的股票 指数基金从交易渠道上可以分为场内指数基金和场外指数基金,这 ...

  4. 《指数基金投资指南》读书笔记---指数基金入门知识

    什么是消费? 什么是资产? 假如单位给你发了1 000元的奖金, 你拿1 000元买烟抽, 这就是消费: 如果你拿这1 000元转入了余额宝, 就是买了资产. 你买了烟等你抽完就什么都不剩了, 而余额 ...

  5. 基于Python的指数基金量化投资-为什么量化指数基金投资

    上一次写了基于Python的指数基金量化投资-股票数据源baostock 这次来说一下为什么要量化指数基金投资. 进行指数基金投资我们需要清楚几个关键点:该投资哪些指数品种,为什么投资这些品种.这些品 ...

  6. 指数基金(三):指数基金估值指标

    市盈率 市盈率 = 公司市值 / 公司盈利率 PE = P / E 一般来说,市盈率越低,说明公司价格低于价值,越可能被低估 适用范围 流通性好,盈利稳定的品种. 市盈率包含市值与盈利率两个指标,所以 ...

  7. 定投多年指数基金,看到这个结局,我的信仰崩塌了

    程序员的成长之路 互联网/程序员/技术/资料共享 关注 阅读本文大概需要 3.5 分钟. 前言 这个号是我平时更新投资理财的地方,没怎么推过,大家应该第一次看到. 我是个程序员,工作之余也在学习各种投 ...

  8. 【邢不行|量化小讲堂系列14-Python量化入门】数据告诉你:惊人的指数定投策略

    引言: 邢不行的系列帖子"量化小讲堂",通过实际案例教初学者使用python进行量化投资,了解行业研究方向,希望能对大家有帮助. [历史文章汇总]请点击此处 [必读文章]EOS期现 ...

  9. 职场人理财之指数基金篇

    投资者有一个著名的赌局,出名的原因是股神巴老爷子的参与.2007年,巴菲特跟某对冲基金的基金经理打赌,赌注为100万美元,赢家将把赌注捐赠给慈善机构. 相约从2018年初开始,对冲基金经理任意挑选主动 ...

  10. 理财入门:基金(简述,主要是指数基金)

    文章目录 前言 一.什么是基金? 定投好的[指数基金],因为它长生不老 题外话: 前言 不要在平时乱买乱花,大几千买东西上都不眨眼,到了给自己投资,给自己增值最重要的技能上,又开始犹豫了.人生重要的选 ...

最新文章

  1. 第七届“数学、计算机与生命科学交叉研究” 青年学者论坛
  2. huber loss
  3. 洛谷P1071 潜伏者 字符串
  4. postman post gin 接收不到_golang web开发——gin实战入门
  5. xml与oracle对比,Oracle XML DB和DB2 pure XML在XML文档存储查询性能方面的比较分析
  6. linux内核的I2C子系统详解2——关键结构体、关键文件
  7. [导入]将Byte数组转化为String
  8. 用python分析小说_用Python对哈利波特系列小说进行情感分析
  9. mysql 闪回_MySQL数据误删除的快速解决方法(MySQL闪回工具)
  10. Python基础import导包问题
  11. hadoop2.X集群安装与应用
  12. 企业上云计算最大的障碍是什么?
  13. yabailv 运放_运放的压摆率PCB技术文章PCB联盟网 - Powered by Discuz!
  14. python开发一个自动批改本地Word作业的程序
  15. 神舟笔记本键盘键位互换
  16. 计算机应用程序错误怎么解决办法,应用错误,教您怎么解决explorer.exe应用程序错误...
  17. 郭霖:手把手教你实现 App 360 度旋转看车效果
  18. 计算机显示不支持此接口,为什么会提示“不支持此接口”?提示不支持此接口的解决方法...
  19. Leetcode之机器人大冒险
  20. 对 云寻觅贴吧(http://tieba.yunxunmi.com/)的简要分析

热门文章

  1. 编写函数:字符串的小写转大写(Append Code)
  2. 等额本金等额本息计算器
  3. 消息队列一|从秒杀活动开始聊起消息队列
  4. [Xcelsius]BI展现工具之Xcelsius
  5. 被子植物353个单拷贝核基因靶向捕获探针 Plant Universal — Angiosperms 353
  6. Oracle格式化总结
  7. Python为什么这些年在编程语言排行榜上一直上升?告诉你11个原因
  8. ArcGIS插件安装通用问题汇总
  9. 计算机操作系统32位,电脑操作系统中32位和64位的区别
  10. 实名认证-身份证实名认证-身份证实名认证接口-身份证实名认证api-实名认证api接口-身份证实名认证api接口