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

作者:幻好

来源: 恒生LIGHT云社区

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

背景简述

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

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

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

概念介绍

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

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

image-20211204001553751.png

沪深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年的数据,如下:

image-20211204003217478.png

程序设计

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

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元。

image-20211204135656213.png

总结

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

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/42945.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

评温斯坦的炒股书(非常重要,常看看)

http://blog.sina.com.cn/s/blog_674caeca0101dlgq.html 技术分析的经典书籍,就我个人的观点而言,技术分析书籍多数是浪费时间和误人子弟的,纯粹技术分析的书籍不可多读。但我现在要强烈推荐一本技术分析的经典书籍:《史丹温斯坦称…

股神巴菲特

股神巴菲特:5岁开始做生意,11岁开始炒股 沃伦巴菲特1930年出生在美国西部一个叫做奥马哈的小城。他出生的时候,正是家里最困难的几年。父亲霍华德巴菲特投资股票血本无归,家里生活非常拮据,为了省下一点咖啡钱&#xf…

四个参数秒懂巴菲特价值投资

目录 1 巴菲特价值投资三规则... 1 2 四项参数指标对应三条规则... 1 3 价值投资选股软件... 2 1 巴菲特价值投资三规则 要说炒股,那必须得说说炒股界的扛把子巴菲特,他的选股理论是价值投资。价值投资属于长期投资策略。价值投资理论是用一个便宜的…

Android 仿微信群聊组合头像

转载:http://blog.csdn.net/tiantianshangcha/article/details/9836809 大概原理是先设想一个要合成的图片的大小,然后根据要合成的图片的个数以及要展示的位置进行计算,生成坐标系的配置。 然后利用android的绘图把要合成的头像根据坐标系&a…

仿微信通过拍照、本地图片然后裁剪完美更换头像

其实更换头像这个功能是个老梗了,写的人也很多,但是我没有看见过特别让我满意的,没办法,只能自己搞了。这里面我只说难点吧,最后的会附上完整的代码。 这里面涉及到的功能有哪些呢? 大概有:拍…

android微信群聊功能,Android仿微信群聊头像效果

在网上找了些仿微信群聊头像的开源库后,发现没特别好用的,或者说满足我需求的,就只好在别人的基础上改了下,也就有了这样的自定义控件了,以此来实现微信群聊头像的效果,效果图如下所示: 主要实现…

android高仿微信UI点击头像显示大图片效果

用过微信的朋友朋友都见过微信中点击对方头像显示会加载大图,先贴两张图片说明下: 这种UI效果对用户的体验不错,今天突然有了灵感,试着去实现,结果就出来了。。 下面说说我的思路: 1.点击图片时跳转到另一…

Android高仿微信头像裁剪

最近公司的APP很多用户反应无法上传头像,于是打算修改原来头像裁剪的代码。参考微信、QQ、唱吧头像裁剪的操作,决定就仿微信头像裁剪来上传用户头像,在Android大神鸿洋的一篇高仿微信头像的博客(博客地址结尾会贴出来)的基础上加了一些代码&a…

Android仿微信群聊头像合成

最近碰见仿照微信头像的需求,提供多个url的组合头像,做成微信群聊一样的头像,网上查了下,有两类,一种是合成的,一种是多个view合并展示的,合成的做的感觉很简陋,不太满足需求&#x…

android 仿微信群聊头像 合成图片

android 仿微信群聊头像 合成图片,微信中可以显示出群头像为多个用户的头像网格,这里讲方法已经封装好, 如果有记得点赞哦!! 先看效果: 使用例子: Override public void onClick(View v) {P…

Android 仿QQ讨论组头像

一、效果图 二、实现 基本实现过程&#xff1a; 1.将原图片读取为bitmap 2.在Canvas画布上计算出图片位置&#xff0c;并绘制新的图片。 &#xff08;ps:计算位置对我来说是难点&#xff0c;花了好长时间&#xff09;&#xff1b; 三、源码 1.布局文件 <?xml version…

仿照微信或qq头像双击摇晃效果

1.资源文件anim下加入 cycles_anim.xml (插值器可以设置不同的插值器) <?xml version"1.0" encoding"utf-8"?> <cycleInterpolator xmlns:android"http://schemas.android.com/apk/res/android"android:cycles"2" />an…

Android之头像图片变圆形

一&#xff1a;效果图、 二&#xff1a;实现步骤、 1.自定义一个转换工具类、 package com.common.base.util;import android.content.Context; import android.content.res.TypedArray; import android.graphics.Bitmap; import android.graphics.BitmapShader; import an…

Android 高仿微信群聊头像

最近小编搞了一个仿微信群聊头像的一个功能&#xff0c;分享给大家...工作中需要实现仿钉钉群头像的一个功能&#xff0c;就是个人的头像拼到一起显示&#xff0c;看了一下市场上的APP好像微信的群聊头像是组合的&#xff0c;QQ的头像不是&#xff0c;别的好像也没有了。今天给…

QQ头像无法加载,显示初始默认头像的解决方法

前言 终于。。终于&#xff01;查过那么多资料&#xff0c;翻过无数带有蛛丝马迹的信息&#xff0c;根本没有人能解决我遇到的这个问题&#xff0c;它是如此独特&#xff0c;如此难以排查&#xff01;&#xff01; 删过文件、改过网络配置、本地测试过相关数据接口、重装过QQ、…

软考-数据库系统工程师

软考之数据库系统工程师 前言 怎么会突然想起来考这个呢&#xff1f;说实话很惭愧&#xff0c;大学四年&#xff0c;毕业两年多都不知道有这个证书&#xff0c;也是今天看朋友圈看到一个学妹晒出了自己的这个证书&#xff0c;也是软考但是不是数据库系统工程师&#xff0c;她…

数据库(SQL Sever)水平证书复习题

全国信息技术水平考试数据库应用系统设计技术水平证书&#xff08;SQL Server&#xff09;复习题 第一大题&#xff1a;单选题 数据库系统是数据库、硬件、软件和&#xff08; &#xff09;的集合体。 (A) DBMS (B) DBS © DB (D) DBA下列选项中&#xff0c;不属于数据模…

软考中级——数据库系统工程师

第十一章—事务管理 自己关于备考软考中级&#xff08;数据库系统工程师&#xff09;的一些知识点的补充文章目录 第十一章—事务管理1 事务的基本概念1.1事务定义语句1.2 事务的特性&#xff08;ACID&#xff09; 2 数据库的并发控制2.1事务调度2.2并发操作带来的问题2.3两段…