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

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

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

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

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

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

  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. 将结果与全部购买指数基金全部购买固定收益的效果进行对比。

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


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

可视化展示:


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

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

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


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

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


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


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

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

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

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

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

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


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

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

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

════

其他文章及回答:

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

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

动态再平衡投资策略历史数据回测相关推荐

  1. 实测一种动态再平衡投资策略

    <简七理财>和<低风险投资之路>都提到一种动态再平衡的投资策略,比较简单的方案是: 用50%的钱来购买指数基金,剩下的50%的钱来购买货币基金,每半年或一年执行一次动态再平衡, ...

  2. 使用Keras编写神经网络预测大乐透彩票,并利用历史数据回测

    写在最前面 首先郑重声明,这个赚不了钱!赚不了钱!赚不了钱!重要的话说三遍! 纯粹出于兴趣和技术做了个小实验,指望这个赚钱不太可能鸭!emmm,但可能会让你赔钱赔的少一点? 转载请注明出处:https ...

  3. python量化回测框架_股票量化交易回测框架pyalgotrade源码阅读(一)

    PyAlgoTrade是什么呢? 一个股票量化交易的策略回测框架. 而作者的说明如下. To make it easy to backtest stock trading strategies. 简单 ...

  4. 【交易回顾】没用Python做量化回测,少赚100w | 股指期货妙用案例

    最近发现自己做了一件很傻逼的事情. 是年初做的一笔投资.当时对这笔交易思考的不够全面,没用历史数据做详细的回测. 导致现在让我至少少赚了100万. 这种事情大家肯定都喜闻乐见,比如之前一篇文章< ...

  5. matlab配对交易回测,精品案例 | 经典投资策略之配对交易策略

    原标题:精品案例 | 经典投资策略之配对交易策略 人不恋爱枉少年,在"全城热恋"的氛围下,股市也来凑热闹,配对交易策略油然而生.所谓"男女搭配,干活不累",成双 ...

  6. 使用Backtrader对股票历史数据进行指标回测

    本次使用tushare接口,股票为600018,时间是20200101--20211231. 使用的指标是:收盘价大于简单移动平均价. 佣金为0.001. 英文代码的英文原文:Quickstart G ...

  7. 【公告】变更!采用动态复权作为回测复权机制

    相信最近一些小伙伴可能发现一些问题 就是同一个策略回测的结果-- 好像跟之前不太一样了 回测效果貌似没有之前好了 是记错了吗?是代码被改了吗? 都不是! 是我们回测的复权机制改了! 什么是复权 复权就 ...

  8. 基于MT5的沪深股票回测三 自动化加载历史数据

    历史数据来源大概分为几类: 1. 券商股票API,获取tick数据,数据需要经过清洗,剔除了无效数据,生成不同周期的K线数据,整理后放入数据库或者文件,供导入MT5历史.缺点,需要自己清洗数据,存储, ...

  9. 数字货币中短线策略(数据+回测+实盘)

    数量技术宅团队在CSDN学院推出了量化投资系列课程 欢迎有兴趣系统学习量化投资的同学,点击下方链接报名: 量化投资速成营(入门课程) Python股票量化投资 Python期货量化投资 Python数 ...

最新文章

  1. Spring学习9之静态代理再理解
  2. 一枚菜狗子的2016总结
  3. [poj 2001] Shortest Prefixes (字典树)
  4. mysql user表 空_mysql 忘记密码,重置密码,mysql.user表为空的解决办法
  5. edge浏览器运行不流畅怎么办 提高edge浏览器速度的方法
  6. 【cocos2d-x从c++到js】14:注册函数
  7. 审车按月还是日期_@老司机,你该审车了,秒懂的审车攻略,快快揣口袋吧
  8. 【IDEA】Warning:scala: skipping Scala files without a Scala SDK in module(s) systemimport
  9. 进程标识符及fork
  10. SAP——ABAP报表的一般格式
  11. bzoj3899 弦论
  12. python实现抢票github_抢票神器成GitHub热榜第一,支持候补抢票,Python跑起来
  13. 支付入门-易宝支付实践
  14. win10 计算机磁盘加内存,内存不够用?教你给Win10系统增加C盘空间
  15. UE4 Material 101学习笔记——30-37 植物叶片(透光/mask/面片隐藏/法线调整/AO/渐隐/世界空间色彩/随风舞动)
  16. LabVIEW数据采集卡
  17. iOS 【两个控制器的view互为父子关系,那么这两个控制器一定也要互为父子关系】
  18. 毕业设计 - 个人博客系统的设计与实现【源码+论文】
  19. 微信小程序与低功耗蓝牙通信-接受硬件端发送来的数据(四)
  20. laravel 效率与java_laravel框架与其他框架的详细对比

热门文章

  1. 关于双字节字符(16 byte)
  2. php判断中文字符长度,JavaScript_JS判断字符串长度的5个方法(区分中文和英文),目的:计算字符串长度(英文占 - phpStudy...
  3. Android提示音大全,个性提示音下载-个性提示音app安卓版下载v1.2.1-游迅网
  4. [9i] 2019新年临近,常用的关于新年方面的单词和祝福语
  5. Struts框架基础篇
  6. 【蓝桥杯】历届试题 地宫取宝(记忆化搜索、dfs、dp)
  7. 手机收到CAD图纸打不开怎么办?
  8. LINUX系统下ORACLE19C客户端安装步骤
  9. CAEAGLLayer渲染opengl时模糊问题
  10. Oracle中connet by和level用法