大部分投资者,包括机构投资者和个人投资者,早晚会发现最好的投资股票的方法,就是购买管理费用很低的指数基金。—— 股神巴菲特
1 什么是指数型基金
最近业余时间学了一些理财课程,其中有关于如何购买指数型基金的策略。
什么是指数型基金:指数基金(Index Fund),顾名思义就是以特定指数(如沪深300指数、标普500指数、纳斯达克100指数、日经225指数等)为标的指数,并以该指数的成份股为投资对象,通过购买该指数的全部或部分成份股构建投资组合,以追踪标的指数表现的基金产品。例如50ETF基金即为根据一定规则,以公开方式向社会公众投资者募集资金,购买上交所规模最大的50家企业的股票。
2 指数型基金购买策略
有人做过统计,几种公募基金的总体收益率如上。ETF基金可以认为是分散型股票基金,相对于单只或者单一类别的股票基金,风险小很多,掌握一些简单的投资方法,就能让你获得较为可观和稳定的收益。
最简单的方法就是定投:
1. 定投渠道:东方财富-手动干预;支付宝(蚂蚁财富)-可以通过设置进行自动定投
2. 定投时间:可以按月或者按周(不建议太密集)
3. 定投时机:
- 开启:上证指数市盈率 < 15
- 结束:上证指数市盈率 > 15, 耐心持有
- 赎回:上证指数市盈率 > 20,卖出止盈
- 定投原理:根据二八原则,中国股市开板以来,80%的时间,上证市盈率都大于15. 所有的指数型基金走势,几乎都是与上证指数同步的。
4. 上证指数市盈率查看方法:点击下面链接(当前低于15,小伙伴们可以开启定投哦)
http://www.xiaojingji.com/stock/pe
当然,如果你会看盘,可以根据MACD等指标参数,进行加仓或提前结束定投以及止盈。例如,今年四月份股市结束疯涨,迅速回落,你可以根据MACD的顶部信号,提前结束定投并卖出止盈。
3 Talk is cheap, show me your code(Tushare 安装)
废话不多说,开始讲下我是如何利用Python进行ETF定投验证的。因为前两周才开始学习Python,所以如果有什么不对的地方或者是更好的方法,请留言指出,共同交流,不胜感激。
Python的安装这里就不提了,相信大家去官网一看就会。
为了获取上证指数,基金数据,这里推荐用Tushare。
Tushare包含股票、基金、期货、债券、外汇、行业大数据,同时包括了数字货币行情等区块链数据的全数据品类的金融大数据平台,为各类金融投资和研究人员提供适用的数据和工具。
Tushare目前有提供两种接口,都是免费的,区别如下:
- 旧版:无需积分,功能相对较少。目前已经停止更新。接口介绍参看下面链接:http://tushare.org/trading.html
- Pro版本:功能全面,功能更加丰富,目前社区主推。但是它的接口要先注册账户,因为访问先要验证Token,并且部分接口需要大于一定积分才可以使用。接口介绍参看下面链接:https://tushare.pro/document/2?doc_id=14
Tushare安装,参考主页:
https://tushare.pro/document/1?doc_id=7
Pro版本注册使用方法:
1. 注册链接:https://tushare.pro/register?reg=272804
2. Token获取方法:注册成功后,去个人主页--接口TOKEN
3. 积分获取方法:注册后会有50积分,每邀请用户注册,回答社区问题都会有积分。
4 Talk is cheap, show me your code(Pycharm 安装)
之前一直都是使用C语言进行编码,所以一开始写Python的时候很不适应,因为Python自带的IDE调试功能很弱,最初尝试用PDB进行调试,效率太低。后来才发现原来Python也有类似VS之类的IDE。这里推荐使用Pycharm。
建议安装社区版本,因为是免费的。安装方法可以参照下面链接:
https://www.runoob.com/w3cnote/pycharm-windows-install.html
5 Talk is cheap, show me your code(matplotlib安装)
如果想要画折线图散点图等,可以安装下matplotlib。
安装方法参考下面链接:
https://matplotlib.org/users/installing.html
之前网上看到很多开发者能用matplotlib换出很漂亮的图表,但是我用的时候感觉画出来的折线图有点丑,有空再好好研究下。
6 Talk is cheap, show me your code(主要源码解析)
1. 源码验证的是中证500ETF基金,基金代码是510500
2. 上证指数获取接口使用Pro接口,没有指定交易起止时间的话,单次可以取8000行记录
SH_PeArray = pro.index_dailybasic(ts_code='000001.SH', fields='trade_date,pe')
3. ETF500历史日线信息使用的是Tushare旧版接口,单次只能获取不到三年的数据,因此我只验证这两年多的数据(主要是Python用得还不够溜,有兴趣的可以循环获取)。
ETF_50 = ts.get_hist_data('510500')
4. 画折线图使用的是matplotlib
5. 除了定投以外,还尝试过定投之外的一些加减仓操作,但是选的条件不是很专业,所以盈利效果不如单一定投。最终的源码我注释掉了这部分操作,有兴趣的理财达人可以加入自己的操作。
6. 验证结果:从2018-5-3号第一次定投到2019-4-19(MACD顶背离附近日期)卖出止盈,收益率接近18%。
关注公众号,后台回复“基金定投”获取源码。
作者:跨界程序员Vincent