我用代码来给你们分析一个赚钱的技巧

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

赚钱是个俗气的话题,但又是人人都绕不开的事情。我今天来“科学”地触碰下这个话题。

谈赚钱,就会谈到理财、投资,谈到炒股。有这样一个笑话:

问:如何成为百万富翁?
答:带一千万进入股市。

那么你有没有炒过股?有没有亏过钱?

股市虽然是个充满造富神话的地方,但对于大部分参与者来说,风险都是极高的,所谓七亏二平一赚。而一般的银行理财、货币基金,则是相对稳定的低收益率。今天要聊的是一个介于二者之间的投资策略,既能提升你的收益率,又能维持一个相对可控的风险。(真有这种好事?)


策略很简单,一共分两步:

  1. 把你手头准备用于投资的闲钱(注意是闲钱),50%投资于股票指数基金,比如指数基金300ETF,50%投资于低风险固定收益产品,比如大家都知道的余额宝、其他货币基金、银行固定收益理财等。
  2. 每隔固定的一段时间进行一次资产再平衡(假设一年),使股票资产和固定收益资产的比例恢复到50%对50%,比如每年12月31日,如果这一年股票大涨,则需要卖出股票,买入货币基金,使调整后两中资产的市值恢复50%对50%。

然后,就没有然后了……就这么简单。

这个策略并不是我拍脑袋想出来的,它的正式名称叫做动态再平衡策略,最早由“华尔街教父”格雷厄姆提出,之后也被很多证券分析师所引用。上述是一个极简的初级版本。

关于策略的实际效果,很多人在书籍或文章中有过论述。但我想你恐怕还是对此持谨慎怀疑的态度。那么接下来,我就用代码,在历史数据上做一些模拟统计实验,看看效果究竟如何。

这里的数据来源是 tushare,一个开源财经数据接口包,我之前在文章中也有介绍过,详见:想用 Python 做数据分析?先玩玩这个再说

数据处理用到了 numpy,绘图使用了 matplotlib

详细代码获取见文末。


我们模拟场景设定为:

  1. 初始资金为 10000 元
  2. 沪深300[399300]指数作为指数基金的参考
  3. 为了简化模型,我们不考虑休息日,假设每个交易日的固定收益为万分之一(年化3%左右)。
  4. 每隔一段固定时间,就进行一次“再平衡”操作,将指数基金与固定收益的比例恢复50:50。
  5. 将结果与全部购买指数基金全部购买固定收益的效果进行对比。


根据之前的策略和设定,选取不同周期和时间段进行数次实验,结果为:

v2-507505fb62a7366d123a60ab05c0c83f_b.jpg

在几次实验中,再平衡策略的收益均处在另外两种策略中间:当股市好时,可以获取远超固定收益的回报;而当你的买卖点选择不好,股票赔钱的时候,也不会亏太多。尤其像最后一组,从07年3000点左右买入,经历10年2轮大牛市,股票回到原点后,再平衡策略依然有相当于固定收益的效果。

可视化展示:

v2-dc8d7ca88b47ab3f3847294817de19b3_b.jpg

蓝线为指数,红线为全指数基金策略(二者曲线一致,只是坐标轴不一样),绿色是固定收益的曲线堆叠折线图则是再平衡策略的曲线(下半部固定收益,上半部指数基金)。再平衡策略基本就是以固定收益为标准,围绕其做波动,而波动的影响就是股市的涨跌。因此既保证了收益稳定性,又增加了有超额收益的机会。

在最简版的基础上,还可以有个变化:不按固定周期再平衡,而是按比例,比如当其中一部分超过另一部20%时,则触发再平衡

放在上述实验数据中,总体来说收益率有所提升:

v2-d781227ffe223a2e322a7556be1faf55_b.jpg

还可以将再平衡策略与定投策略结合起来,比如初始 10000 元,之后每个月(以30个交易日简化)投入 1000 元,按照我们第二种再平衡策略,从 07 年 5 月一直坚持到现在,结果是:

共投入成本 101000
再平衡策略最终资金 131010
对比只买固定收益是 118317
只买指数基金是 108857
v2-f51a655ef6683e04ac1ac81ecbea0e4f_b.jpg

当然,仅从选取这几次来下结论,依然不是很有说服力,所以我让程序随机选取开始和结束的时间点(至少1000个交易日),进行了1000次实验,最终的收益率统计如下图:

v2-46abf070e2cb25d507c1638d32a12774_b.jpg

红点是再平衡策略收益率,黄点是固定收益率,绿点是指数基金收益率

我们的策略收益率大部分保持在 0~7 之间,标准差为 5.88,相对稳定。这一收益率也有赖于固定收益的基础收益率,如果固定收益能提高到 5% 以上,此策略的收益率平均将接近 10%。

而纯股票的收益率,虽然有可能达到惊人的数值(比如顶上那个点 150+%),但标准差有 14.1,也有很大的概率亏损。

因此,这个策略不太能让你暴富,但对于寻求资产稳定增值的朋友,是非常值得参考的资产配置策略。

有人嘀咕了,说的这么神,你自己买了没?

emmmm……这个,我就低调地晒个图吧:

v2-593fb77425af47abba4b47cad2877589_b.jpg

当然,这点盈利纯属狗屎运。(35倍的收益率其实是股票转件计算收益的一个“bug”:是以剩余资金来计算百分比)

策略重要,找到一个好的入场时机更重要。不跟风,保持独立思考,正所谓“别人贪婪时我恐惧,别人恐惧时我贪婪”。现在是不是合适的入场时机,这就不是我这个代码能帮你算出来了的。


获取文中相关代码,请在公众号(Crossin的编程教室)里回复关键字 策略



════

其他文章及回答:

如何自学Python | 新手引导 | 精选Python问答 | Python单词表 | 人工智能 | 嘻哈 | 爬虫 | 我用Python | 高考 | requests | AI平台 | 计算机视觉

欢迎搜索及关注:Crossin的编程教室

154816tsh373rusgwbxs7w.png

转载于:https://my.oschina.net/crossin/blog/2878342

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

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

相关文章

idea中自动deployment的步骤

转载于:https://www.cnblogs.com/littlehb/p/11322666.html

python怎么编辑文件_如何使用python中的方法对文件进行修改文件名

在使用python语言中的方法操作文件时,打开方法可以直接使用open,但是对文件重命名需要调用os模块中的方法,删除文件也是工具/原料 python 编辑器 截图工具 台式机 方法/步骤 1 进入到python安装文件目录,新建txt文件kou.txt2 打开…

球迷必备Euro Cup Mobile 2008 !-dopod touch diamond试用之欧洲杯

欧洲杯从6月8日开始,到现在已经进行了半个多月了。到今天为止已经进入到了尾声,也到了激战正酣的时刻!(相信在国足出线无望后大伙的目光都聚集到了欧洲杯上) 但是平时上班忙,晚上也没法熬夜看球,哥们心理着急呀。白天上…

python中意外缩进是什么意思_如何处理python中的“意外缩进”?

慕工程0101907 Python在行的开头使用间距来确定代码块何时开始和结束。你可以得到的错误是:意外的缩进。这行代码在开始时比前一行有更多空格,但前一行不是子块的开头(例如if / while / for语句)。块中的所有代码行必须以完全相同…

设计模式学习笔记九:原型模式(Prototype Pattern)

1.概述 意图:我们将已经存在的对象作为原型,用户可以通过复制这些原型创建新的对象。 使用场合:当一个系统应该独立于产品的创建、构造和表示时,可以使用原型模式。在原型模式中,产品的创建和初始化…

Centos7上安装docker

步骤:1、Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker 。通过 uname -r 命令查看你当前的内核版本2、使用 root 权限登录 Centos。确保 yum 包更新到最新。 (这个可能需要几分钟的…

pythonista3安装stash_Pythonista下stash安装教程

前言 “StaSh is a serious attempt to implement a Bash-like shell for Pythonista.” StaSh是一个Pythonista环境下的仿shell程序,Sta来自于Pythonista的后三个字母,Sh即shell缩写。除了能完成shell的基本功能外,最主要的功能还有实现pip安…

c++ map用法_Python的 5 种高级用法,效率提升没毛病

原创:机器之心(ID:almosthuman2014)任何编程语言的高级特征通常都是通过大量的使用经验才发现的。比如你在编写一个复杂的项目,并在 stackoverflow 上寻找某个问题的答案。然后你突然发现了一个非常优雅的解决方案,它使用了你从不…

非对称加密算法RSA加密传输数据python3源代码实现

2019独角兽企业重金招聘Python工程师标准>>> import rsa# RSA 算法规定: # 待加密的字节数不能超过密钥的长度值除以 8 再减去 11NBIT 4096 CAN_ENCODE_LEN NBIT // 8 - 11 PER_ENCODE_LEN CAN_ENCODE_LEN - (CAN_ENCODE_LEN % 2) PER_DECODE_LEN CA…

(Microsoft) Visual Studio LightSwitch

在蓝色小铺,听到了前辈 阿源哥哥提到 Visual Studio LightSwitch"号称" 可以快速开发桌面、云端的应用程序。http://www.microsoft.com/visualstudio/en-us/lightswitch (这里也提供下载) 原厂提供的图片: 跟「正…

jsp调用controller方法_RPC调用_服务注册与发现

RPC调用_单体架构_SOA架构系统架构的演变 1 传统的单体架构 1.1 什么是单体架构 一个归档包(例如 war 格式或者 Jar 格式)包含了应用所有功能的应用程序,我们通常称之 为单体应用。也称之为单体应用架构,这是一种比较传统的架构风…

MFC项目实战(1)文件管理器--准备篇

本程序主要实现如下功能: 程序通过左边的树形控件显示本地计算机中目录的结构,右边的列表控件则负责响应树形控件中选择的目录节点并把此节点中的所有项在列表框中显示出来,列表框支持奇偶行颜色设置,选中颜色设置和热点颜色设置&…

使用tab键分割的文章能快速转换成表格。( )_EXCEL的163种使用技巧集锦-42~62

本文主要讲述了EXCEL的163种使用技巧其中20条技巧,待163种使用技巧全部讲述完成后,如有需要,各位看官可在评论中留下邮箱,小编会将整理的WORD版发给大家。42. 快速查找工作簿 你可以利用在工作表中的任何文字进行搜寻,…

android通过代码设置铃声_第六十四回:Android中UI控件之SeekBar

各位看官们,大家好,上一回中咱们说的是Android中UI控件之ProgressBar的例子,这一回咱们的例子是UI控件之SeekBar。闲话休提,言归正转。让我们一起Talk Android吧!看官们,SeekBar通常翻译为拖动条&#xff0…

利旧IBM X3650m2 安装esxi5.1提供云桌面(备忘)

上面左边是我的个人微信,如需进一步沟通,请加微信。 右边是我的公众号“Openstack私有云”,如有兴趣,请关注。公司有一台旧服务器,原来的IBM X3650m2 服务器,2物理CPU,24G内存,8块3…

asp登录页面跳转到注册页面_Java 添加页面跳转按钮到PDF文档

概述当我们在查阅含有大量页面的PDF时,可通过在页面上添加跳转按钮来实现页面转换,以达到节约时间,提高效率的目的。本文将通过Java程序来演示如何给PDF文档添加页面跳转按钮。通常来说跳转可分为两种情况:一是跳转至特殊页面(首页…

确定最佳聚类数matlab代码_详解DBSCAN聚类

使用DBSCAN标识为员工分组照片由Ishan seefromthesky 在 Unsplash拍摄基于密度的噪声应用空间聚类(DBSCAN)是一种无监督的ML聚类算法。无监督的意思是它不使用预先标记的目标来聚类数据点。聚类是指试图将相似的数据点分组到人工确定的组或簇中。它可以替代KMeans和层次聚类等流…

Arrays.asList 使用细节

通常初始化后使用如下,但是报错 UnsupportOperationException.... 根据提示信息,就是调用add()方法时抛出了异常。顺着堆栈信息往上找,提示的是AbstractList类的108行出了异常,这一行所在方法的具体实现如下: //108行 …

python list元素合并_python list 合并连接字符串的方法

python list 合并连接字符串的方法 更新时间:2013年03月09日 22:02:18 作者: python 列表合并字符串,我们一般会用到字符串的join方法来操作。下面通过代码的形式,详细的说下list怎么拼成字符串? 相关文章这篇文章主要…

单片机按键防抖程序_这些单片机按键设计方案,请拿好,不谢!

在单片机系统里,按键是常见的输入设备,在本文中介绍几种按键硬件、软件设计方面的技巧。一般的在按键的设计上,一般有四种方案,创客学院带你零基础学习电子产品设计。一是GPIO口直接检测单个按键,如图1.1所示;二是按键…