作者:幻好

来源: 恒生LIGHT云社区

最近几年,越来越多的年轻人开始接触基金,购买基金定投理财,本文将通过数据验证指数定投是否真的有效。

背景简述

1993年巴菲特在《致投资者的信》中首次提到了他的建议,原话是“通过定期投资 指数基金 ,一个什么都不懂的投资者通常都能打败大部分的专业基金经理”。

定期投资指数基金,指的是在固定的时间,以固定的金额,投资到指定的开放式基金中,这是懒人投资理财的最佳方法。这种方式通过积少成多,聚沙成塔,分散和平摊风险,不会因股票市场的一时波动影响正常的生活和情绪。在交易市场中,由于指数编制的方式,指数上涨是大概率事件,这也符合投资是追求确定性的要义。

通过背景介绍,让我们对于指数定投有了一个基本的理解,然而以上说法都是从概念上对于指数定投的相关理解,如果要让人们真正的信服,还需要有真实的数据作为支撑。

概念介绍

讲到指数定投,就不得不先聊聊经常谈到的重要指数:沪深300,上证50,中证500。对于没了解过的人可能只会认为这是大盘指数,并不知道这三者的关系和区别。

首先我们看看三者之间的关系:

沪深300 :通常指的是300只样本股选自沪深两个证券市场,包含的成分股都是市值大、流动性好的主流股票,可以说沪深300能相对较好地反映市场上成熟公司的情况,是最能代表中国股市的指数,被称为A股市场走势的“晴雨表”。

上证50 :通常指的是沪市所有股票按照规模和流动性进行排列,然后选取前50家企业,最后根据规模和流动性给予一定的加权,计算出相应的指数。

中证500 :通常指的是沪深两市小盘股,样本股是全部A股剔除沪深300成分股以及总市值排名前300名的股票后,总市值靠前的500只股票,反映沪深两个市场中小市值公司整体状况的指数。

实践验证

前提概述

通过一个简单的定投策略,在大盘波动大情况下,算出最大收益能达到多少。 设置每个月1号,拿出2千元进行指数定投,然后计算出最终能获得多少收益。为了更直观的展示数据,我们直接使用沪深300指数收益模拟指数基金收益。

为了能够凸显出指数收益,我们将定期理财收益也作为数据参照,比如货币基金等理财产品年化收益3.8%左右,计算收益走势。

数据准备

所需的数据通过 恒有数 获取以下相关参数:

证劵代码    prod_code
交易日期    trading_date
开盘价      open_price
最高价      high_price
最低价      low_price
收盘价      close_price
成交数量    business_amount
成交额      business_balance
涨跌幅      px_change_rate
换手率      turnover_ratio
涨跌停状态   up_down_status
交易状态    turnover_status

获取沪深300指数近10年的数据,如下:

程序设计

以下为相关计算程序代码:

import pandas as pd
import matplotlib.pyplot as plt
import time"""
param pro_code: 定投的产品代码
param start_date: 定投的开始日期
param end_date: 定投的结束日期
return: 返回每日的投资资金信息
"""
def investment_regular_plan(pro_code, start_date, end_date):pro_data = pd.read_csv('temp/' + str(pro_code) + '.csv', parse_dates=['交易日期'], index_col=['交易日期'])pro_data = pro_data[['prod_code', 'close_price']].sort_index()pro_data = pro_data[start_date:end_date]# 假设年化无风险利率是 3.8% (货币基金等理财产品)pro_data['无风险利率'] = (3.8 / 100 + 1) ** (1.0 / 250) - 1pro_data['无风险收益_净值'] = (pro_data['无风险利率'] + 1).cumprod()# 每月第一个交易日定投by_month = pro_data.resample('M', kind='period').first()# 定投购买指数基金trade_data = pd.DataFrame(index=by_month.index)# 以指数当天收盘点位除以 2000 作为单位基金净值trade_data['基金净值'] = by_month['close_price'] / 2000# 每月月初投入 2000 元申购该指数基金trade_data['money'] = 2000# 当月的申购份额trade_data['基金份额'] = trade_data['money'] / trade_data['基金净值']# 累积申购份额trade_data['总基金份额'] = trade_data['基金份额'].cumsum()# 累积投入的资金trade_data['累计定投资金'] = trade_data['money'].cumsum()# 定投购买余额宝等无风险产品# 当月的申购份额trade_data['理财份额'] = trade_data['money'] / by_month['无风险收益_净值']# 累积申购份额trade_data['总理财份额'] = trade_data['理财份额'].cumsum()temp = trade_data.resample('D').ffill()pro_data = pro_data.to_period('D')# 计算每个交易日的资产(等于当天的基金份额乘以单位基金净值)daily_data = pd.concat([pro_data, temp[['总基金份额', '总理财份额', '累计定投资金']]], axis=1, join='inner')daily_data['基金定投资金曲线'] = daily_data['close_price'] / 2000 * daily_data['总基金份额']daily_data['理财定投资金曲线'] = daily_data['无风险收益_净值'] * daily_data['总理财份额']return daily_data"""
程序开始执行
"""
if __name__ == '__main__':# 运行程序df = investment_regular_plan('000001.SH', '2011-01-01', '2021-11-11')print(df[['定投成本累计资金', '基金定投累计资金', '理财定投累计资金']].iloc[[0, -1]])df[['基金定投累计资金', '理财定投累计资金']].plot(figsize=(12, 6))df['close_price'].plot(secondary_y=True)plt.rcParams['font.sans-serif'] = ['KaiTi']plt.legend(['指数行情'], loc='upper right')plt.xlabel('交易日期')plt.show()

实践结果

通过最近10年的数据模拟指数定投,每月投入2000元,从2011-11-11到2021-11-11,累计投入成本:262000元,定投指数基金最终收益是333672.802026元,而购买定期买理财的收益最终是321289.4334元。

总结

本文主要通过沪深300模拟指数定投的收益结果,验证了指数定投优势,坚持指数定投对于小白来说,是一个不错的选择。

但是指数定投并不能完全保证盈利,这也和国家的经济发展有关,最近10年的国家的经济实力越来越强才是关键。

投资有风险,入市须谨慎。

【量化】用数据验证巴菲特推荐的指数定投的收益真相相关推荐

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

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

  2. 看懂巴菲特推荐的指数基金定投,Python验证

    最近身边的朋友都陆续走上了工作岗位,领到了人生中的第一份工资,但大部分人都不知道该怎么处理这样一笔钱,最终也只能放到余额宝中.也有不少的朋友跑来问我,知道我平时研究股票,下面是我这一年的投资收益,还不 ...

  3. 小猿理财:四个指标,告诉你怎样选择股神巴菲特推荐的指数基金!

    指数基金的分类 目前国内市场上的指数基金发展尚未成熟,但已经有500多只跟踪各种指数的指数基金了.那么多指数基金,我们应该怎么选择呢? 我们首先理解一下指数基金的分类,然后再思考一下选择什么样的指数基 ...

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

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

  5. 读书分享:巴菲特推荐的投资书籍《投资最重要的事》

    书籍豆瓣链接 内容简介  · · · · · · <投资最重要的事>倾注了霍华德•马克斯一生的经验和研究,阐述了成功投资的秘诀,以及足以摧毁资本或断送职业生涯的错误.马克斯摘录备忘录中的段 ...

  6. 巴菲特忠告中国股民怎么样以及巴菲特出过几本书

    巴菲特这个神一样的人物,相信很多股民都是耳熟能详的,他的事迹也要多多了解一下.下面为你介绍一下巴菲特忠告中国股民怎么样以及巴菲特出过几本书,如果想要了解更多巴菲特忠告中国股民怎么样方面的知识,敬请关注 ...

  7. “币圈贾跃亭”天价碰瓷巴菲特,王小川隔空回应:骗子!

    今年巴菲特慈善午宴由一名中国90后青年--孙宇晨以4567888美元拍得. 提到孙宇晨,其实有非常非常多的头衔:新概念作文大赛一等奖.北京大学历史系GPA第一.锐波&陪我董事长兼CEO.波场T ...

  8. 3.2.4.2nbsp;巴菲特,索罗斯和西蒙斯

    巴菲特是按年来算收益率的,他每年投资的次数是有限的,有时他将钱投入到一家企业,钱一直在那增值,而不是每年取出来去做新的投资.巴菲特是做企业的价值投资的,看中的是企业的长远价值. 金融家索罗斯是做趋势的 ...

  9. 巴菲特2018股东大会问答实录(上)

    北京时间6日晨讯伯克希尔2018年股东大会稍早在巴菲特的故乡.内布拉斯加州奥哈马刚刚结束,本文为巴菲特.伯克希尔副主席芒格回答股东提问的实录. 巴菲特:各位早上好!我是沃伦,他是查理(芒格),查理做的 ...

最新文章

  1. 计算机英语考试试题一附答案,计算机英语考试试题一附答案
  2. 增强CNN学习能力的Backbone:CSPNet
  3. LeetCode Set Matrix Zeroes
  4. python不及格_10 个 Python 工程师,9 个不合格!!
  5. FreeRTOS学习及移植笔记之二:在IAR和STM32F103VET上移植FreeRTOS
  6. Java番外篇4——BigInteger与BigDecimal
  7. 剑指offer面试题[6]-重建二叉树
  8. cv2.error: OpenCV(4.5.3) C:\Users\runneradmin\AppData\Local\Temp\pip-req-build-q3d_8t8e\opencv\modul
  9. 【朋友刀刀画展一游】谢谢刀刀!
  10. H5唤起主流安卓应用市场
  11. 使用jwt方式的接口访问
  12. android项目版本,怎查看Android项目的Android版本
  13. airtest--自动刷喵币
  14. 网上看到的一个好文章,自勉
  15. 用辅助功能实现自动点击
  16. 汇编语言实验5:循环结构程序设计
  17. 直播带货如何选品;抖音直播带货选品7大要素;丨国仁网络资讯
  18. 【松岩论道】调整如期而至,锁定低吸主线!(干货到位!)
  19. Docker搭建STF
  20. Unity Shader 之 简单实现物体被黑洞吸收吞噬(或者从黑洞中出来)的效果

热门文章

  1. 如何攻克数据库应用头号难题?数位产学研大咖这样解读
  2. 用python画雪花飘落_python-turtle-画雪花-2种方法及效果的详解
  3. 1.4[潜心制作]冒险游戏(我的世界MineCraft)
  4. php 中文句号,phpstorm9 无法输入中文逗号句号等符号了,怎么破?
  5. 练习案例2:幸运大抽奖
  6. SpringBoot上传文件到 后端服务器 或 云服务器(七牛云、阿里云、腾讯云等等都是一样的操作步骤)
  7. “机器学习工程师”到底是怎样的工作?
  8. 西南民族大学研究生计算机学院,2021年西南民族大学计算机科学与工程学院考研专业目录_研究生考试范围 - 学途吧...
  9. 用Vue实现购物车组件
  10. 1、尚观笔记 - 3