引言:

邢不行的系列帖子“量化小讲堂”,通过实际案例教初学者使用python进行量化投资,了解行业研究方向,希望能对大家有帮助。

前言:

巴蛇吞象,扬州跨鹤。人性之贪婪,逝者如此,来者亦然。

王朝兴衰,人生起落。周期之更替,顺之则昌,逆之则亡。

金融市场变化万千,唯独人性周期,始终如一。

智者善以不变应万变,量化策略亦是如此。从不变的人性和周期入手构建策略,就能经得起市场考验。

本文就从周期角度介绍一个简单有效、拓展性强的量化策略。

策略结果

01

股灾性牛市

如果你最近(2021年1月末)有关注股市,一定会知道这个奇怪现象:

上证指数从2019年1月的2440点至今已经涨到3500点左右,涨幅高达43%

但是很多个股反而跌破了指数在2440点时的价格

这段时间内,虽然大部分个股在下跌,但少部分大市值蓝筹股在上涨,它们在指数中权重较大,所以带动指数一起上涨。

大盘涨得飞起,个股却跌得要死,大家称之为股灾性牛市。

1

小市值策略

不过别看最近大市值的股票涨得好,就以为大市值股票一直很好。A股前十几年可是小市值股票的天下

我在2016年写过一篇文章:《10年翻400倍的策略》(内含代码)。

该策略收益夸张,但却不含任何水分。原理也非常简单:每周选取市值最小的30只股票,持有一周,如此每周循环。

如果从2007年起按照该策略交易,在2020年最高能翻600多倍,虽然最近回撤不少,但净值依旧有400多

有的同学觉得最近回撤那么多以及注册制的出台,策略已经失效了。

但是市场没有永远的优和差,有的只是不断往复的周期。看看几百年历史的美国市场就知道了。

2

“漂亮50”惨案

从美股百年的历史来看,小市值股票一直是涨得更多的,在学术界也有理论解释。

但市场风格总会轮动

。在1960年末到1970年初的十年间,整个美国股市只有市值最大的50只股票在上涨,历史上称为“漂亮50”行情。

当时大家都在抱团买入大市值的蓝筹股,比如:可口可乐、迪士尼、麦当劳、运通等。这和A股当前的状况很像,只不过美国人买的是可乐,我们换成了茅台。

“漂亮50”会一直独领风骚吗?世事无常,在1972年至1974年间,这些大型蓝筹股开始集体下跌。

“漂亮50”从高点下跌百分比

其中迪士尼跌幅高达80%,跌幅最小的麦当劳也有67%。而同期标普500只跌了37%

所以大家千万不要觉得基金抱团的大市值蓝筹股,有“护城河”就会只涨不跌。

天下大势,分久必合合久必分。股票市场也一样,一个风格涨久必跌,跌久必涨,都是周期而已。

作为投资者,我们不能一根筋只买大市值或小市值,更好的方法是学会如何在它们之间轮动。不论周期如何波动,只要我们一直风口潮头就行。

下面就和大家分享一个在大小盘之间轮动的量化策略。

02

大小盘风格轮动

为了方便研究和理解,本文将用大盘指数来代表大市值股票,小盘指数来代表小市值股票。

本文以沪深300作为大盘指数,它由A股市值最大的300只股票组成,占总市值的55.9%,妥妥的大市值核心资产。

小盘指数我们选择创业板指数,它由创业板中的100只股票组成,占总市值的9.5%

1

策略来自市场经验

当你长期泡在市场中,总能觉得自己发现一些了规律。比如我自己就注意到,市场走势存在延续性

举例来说,上图中2010年9月28日至30日期间,大盘前一个月涨幅优于小盘,次日依旧优于小盘,延续了之前的表现。

同理,2010年11月17日至19日期间,小盘前一个月涨幅优于大盘,次日依旧优于大盘,也延续了之前的表现。

也就是说市场存在惯性。前期涨得多的指数,后期也大概率会涨得多。

当然这只是我肉眼观察到的现象,不一定普适。但不妨碍我尝试着基于此构建一个量化策略。

其实很多量化策略就来自这些实盘经验。把这些经验数量化、规则化形成一套严谨的买卖逻辑,就能构建一个完整的量化策略。

2

风格轮动策略

根据市场惯性经验,我们构建如下量化策略:

1. 交易对象:沪深300、创业板指数的ETF,前者代表大市值,后者代表小市值。

2. 筛选条件:用最近N日的涨跌幅,作为筛选条件(默认N=20,即大约为最近一个月)。

3. 风格轮动:每日根据条件,选择涨幅大的指数持有。

来举个例子讲解策略细节。

2010年9月28日开始运行策略。收盘后发现沪深300最近20天涨幅为1.08%,优于创业板。那就在次日开盘时买入沪深300的ETF。

指数无法直接交易,用ETF代替。我在之前的文章《一念之差,少赚一百万》中介绍过几种投资指数的方法。

次日(9月29日)收盘前,发现沪深300的涨幅依旧占优势,那就维持沪深300的仓位不变

时间来到11月9日,收盘前发现创业板前月的表现首次超过沪深300。我们就在当日收盘时卖掉之前持有的沪深300ETF,然后在次日开盘时买入创业板ETF

之后都按照这样的方法,每天收盘前计算大小盘指数前20天的涨跌幅,并在下日持有表现好的

这样我们就把之前关于市场的经验转换成了一个明确买点、卖点,可无脑执行的量化策略

3

策略回测

那这个策略能赚钱吗?

很多时候经验是不可靠的。人脑不够精确,又会带上主观偏差,只看想看到的东西。

想要知道这个根据经验总结出来的策略是否有效,最好的方法,就是用历史数据Python代码来验证这个策略,看看在历史上这个策略的表现。

运行代码后得到结果:

回测时间从创业板指数诞生的2010年开始,至2021年1月。在扣除手续费后,策略翻了8.48倍,年化收益22.42%,远超同期大盘(2.15倍)和小盘(3.67倍)的表现。

但美中不足的是,该策略的最大回撤高达48.33%,很多人在实盘中无法接受这么大的回撤,所以需要进行优化。

03

策略优化

1

策略分析

目前策略在收益上的表现已经不错了,所以我们主要针对最大回撤进行优化

想要降低回撤,最好的办法就是回到最大回撤发生的时间,2015年6月3日至8月26日,看看当时的市场发生了什么。

当时恰逢15年股灾,沪深300和创业板指数都处于下跌状态,市场整体处于深度熊市

我们在这段时间内挑了几天比较典型的持仓

6月26日小盘相对跌的少,持有大盘,5日后亏损5.26%

7月28日小盘相对跌的少,持有小盘,5日后亏损1.42%

不难发现,在市场整体下跌时,策略只是在大小盘之间选择跌得少的买入。即使两者中选对了,也仍然是跌。

当市场处于明显熊市,再傻傻的按照策略操作,最多只能让我们少亏,这明显是不对的。

2

策略优化

据此,我们尝试对策略做优化。

当两个指数近20天都下跌时,我们认为市场处于熊市,所以第二天直接空仓。

新的策略能否达到预期?光凭脑子yy和嘴说是没用的。还是要利用Python和数据进行验证,代码如下:

只需新增三行代码就能达到想要的效果。新策略的结果如下:

蓝线:沪深300    橙线:创业板指数    灰线:风格轮动

不仅最大回撤按照预期的从48.33%下降到29.13%,净值也从8.48提升到了11.71。

最大回撤的时间段从2015年变为了2018年,如果你想继续优化策略,可以去看看当时发生了什么,能不能总结出原因?

总的来说,这次优化还是很成功的,改进后的策略在风险和收益上的表现都有所提升

3

进一步优化

此外再给大家提供一些优化思路 -- 修改策略的变量。

之前的策略用沪深300、创业板指数。但代表大盘的指数还有上证50上证综指等等。小盘指数也可选择中证500或者中证1000

与此同时,20日涨跌幅这个筛选条件,可以变成其他日涨跌幅,比如10日、30日、40日等。

这些改变在代码中只要改几个变量就能实现。这里我们仅将大盘指数从沪深300变为上证50,其余不变,看看策略表现如何。

蓝线:沪深300    橙线:创业板指数    灰线:风格轮动

策略的年化收益率从26.21%提升到了27.61%,最大回撤也下降了2%,收益进一步提升,风险也进一步下降。

04

其他方法

本文介绍了在两个指数之间进行轮动的量化策略。

如果我们的思路再开阔一点,其实可以将轮动的对象从指数变为其他东西。

比如在两个自己喜欢的股票之间轮动,在白酒和券商之间轮动,在比特币和以太坊轮动...

我可以提前透露一下,这个策略在BTC和ETH之间轮动的收益非常爆炸,本文点击“在看”超过100,我就公布策略结果。

其实思路还可以进一步放开。我们甚至可以跳出轮动这个框架,尝试更专业的玩法 -- 构建股指期货多空

关于什么是股指期货,大家可以看我之前的文章《一念之差,少赚100万》。运用股指期货我们可以做多优势指数做空劣势指数

股指期货多空组合

这样我们的收益就完全取决于两个指数之间的差异,整体的资金曲线也会和大盘都是无关。由于策略比较复杂,本期篇幅有限就不展开了。

关于本文如果还有其它不明白的地方,可以加我微信xbx3642沟通。

抱团股会一直涨?无脑执行大小盘轮动策略,轻松跑赢指数5倍【附Python代码】相关推荐

  1. 股债轮动策略之行业版

    股债轮动策略之行业版 雪球上的 宜昌白云飞 的原创专栏里有一个系列文章, 现将其摘录如下: 年化20%七年无亏损的简单策略--股债轮动行业版(一) https://xueqiu.com/1884493 ...

  2. 搭建系统|继承backtrader的本地量化回测平台如何玩转多股轮动策略!

    前言 一个完整的量化交易系统离不开人机交互功能的应用,特别是在回测阶段,我们需要不断更改参数因子.更换交易策略以应对当前的市场.因此创建完整的.功能键全的GUI用户界面至关重要. 市面上也出现了很多相 ...

  3. [Tushare+Python] AH股轮动策略基础

    [Tushare+Python] AH股轮动策略基础 摘要:为做AH股轮动策略需进行基础数据处理,这里代码主要涉及AH溢价计算及相关数据清洗. 文章目录 [Tushare+Python] AH股轮动策 ...

  4. 深度学习的关键:无监督深度学习简介(附Python代码)

    作者 | Faizan Shaikh 译者 | 马卓奇 编辑 | Vincent AI 前线导读:在这篇文章中,我们用一个直观的案例研究概述了无监督深度学习的概念.并且详解了在 MNIST 数据集上进 ...

  5. 正好杠杆炒股抱团股快速走弱

    周三早间的三大股指团体高开,随后白酒.医药.新能源轿车.光伏等资金抱团股快速走弱,导致各大沪指全部翻绿.午后,在科技.半导体.电子消费等板块的带动下,各大股指跌幅快速收窄.到收盘,上证综指跌0.1%, ...

  6. 【基金量化研究系列】大类资产配置研究(二)——股债二八轮动策略

    文章目录 1. 引言 2. 股债二八轮动策略 3. 动态再平衡股债二八轮动策略 4. 基于python的策略实现 4.1 策略代码 4.2. 运行结果实证分析 5. 总结 写在最后 1. 引言 在上一 ...

  7. button执行onclick函数_千万别再一直无脑使用ES6的箭头函数了,它虽然很有用但并不是万能的...

    相信很多小伙伴自从知道了ES6的箭头函数以后,都疯狂得使用,渐渐的淡忘了普通函数的使用.不过确实,箭头函数看起来比较简洁,用起来也舒服,不过它的出现是为了解决某一部分问题的,并不是用来替代普通函数的, ...

  8. 量化投资之定投,无脑却收益还不错,记得周三来

    目标: 本系列开始重点研究量化,逐步改善模型,改善策略,然后评估各个策略的优劣. 本文是第一篇,也是最容易最无脑投资的一篇,每周三定投,收益还不错. 内容: 如果工作太忙没法投资,闲钱无处放,不妨看看 ...

  9. linux卸载android studio,mac上完整卸载删除.简单粗暴无脑:androidstudio删除方案

    如果你是mac  ,你删除as ,删不干净也正常,你会发现安装的时候,前面的东西也在.配置文件在,会导致你以前的错误不想要的东西都在. 废话不多说,复制粘贴就是干!!!!~~~~~~~~ 第一步: 复 ...

最新文章

  1. 双节棍「大师」鱼佬亲传武功秘籍:如何进行一场数据挖掘算法竞赛?
  2. (转)基于MVC4+EasyUI的Web开发框架形成之旅--界面控件的使用
  3. Quick Sort 快速排序算法
  4. OpenGL Cubic Bezier三次贝塞尔曲线修补实例
  5. concurrent(四)Condition
  6. 电影推荐之《哈利·波特与火焰杯》 隐私策略(Privacy policy)
  7. 关于电脑自动获取和静态IP的问题
  8. mfc this指针
  9. 如何写一份好的求职简历
  10. linux系统端口更换,在Linux中怎样修改httpd的端口号
  11. office365安装文件_Microsoft 365(原Office 365)离线下载安装教程
  12. 数码管SR420561K SR410561K的引脚图
  13. 看懂Oracle执行计划
  14. Python如何配置清华镜像源
  15. 科达出征珠海航展,共筑蓝天梦想
  16. 搜狗输入法这次栽大了!
  17. IDEA 一直卡在Buil(编译 write classes)报错资源不足
  18. X猫免费小说安卓逆向分析
  19. FP-Growth关联分析算法在网络监控领域的应用
  20. 手把手教你使用R语言做LASSO 回归

热门文章

  1. and5.1PowerManagerService深入分析(三)updatePowerStateLocked函数
  2. AD入门学习—元件库(原理图库)的创建
  3. mysql中计算百分比
  4. 按月显示的万年历(含农历)网页代码
  5. 硬盘提示设备未就绪要如何办啊
  6. java设备未就绪_java.io.IOException: 设备未就绪。怎么解决?
  7. 优秀领导者必须具备的4大特质
  8. 精馏塔控制系统的仿真与分析
  9. 低学历者已无法生存 程序员尤其明显
  10. 【转载】FreeIPA中间CA证书已过期