全部版块 我的主页
论坛 金融投资论坛 六区 金融学(理论版) 量化投资
1507 2
2021-09-27
接上文

4.学会抄北向作业

以上的初步研究,都很好的证明了北向资金作为整体的投资能力。


投资最幸福的事情,就是在这个市场上有个人一直对,你照着抄就可以。


虽然北向资金不是每次都赚钱,但的确是「聪明钱」,跟着买成功率较高。

15躺平.gif

做量化,就图一个懒字

当然,市场上也不止北向一个学霸,我们还有其它资金的作业可以抄:如公募基金、产业资金、国家队......


如果文章查看数超过300的话,之后会再讲一下如何抄其它资金的作业。


16抄作业.png

插个题外话。刚刚说了第一幸福的事,那么第二幸福的事是什么呢?聪明的朋友已经想到了:


有人一直错,那我反着抄就可以了。


他卖我买他买我卖。那么是哪股资金一直错呢?这说出来就有点伤人了,咱们私下交流,私下交流。



02

如何抄北向作业?


前面我们已经看到,北向资金很强的择时选股能力,那该如何通过北向资金来开发出文章开头的择时策略呢?


17择时策略.png

1.数据整理

首先获取北向资金数据(2014年11月17日至今),可以加我微信xbx971获取:


18合成数据.png


再将数据再按照净流入从大到小排列,如下图:


19排序.png

将数据按净流入从大到小排序


可以看出最大的一天(2021.05.25)净流入247亿;最小的一天(2020.07.14)净流出150亿。


2.情绪划分


将排序后的数据平均分为三份:


20市场情绪.png


划分市场情绪



如头部的509天(乐观情绪),北向资金一直净流入总体较大,可以认为市场情绪比较乐观。


中间的509天(中性情绪),北向资金净流入在2.9520.41亿之间,没有明确的看好或看跌。


最后的509天(悲观情绪),数据显示北向资金大部分处于流出的状态,可以认为这些天是比较悲观的。


3.构建策略



划分好市场情绪过后,再根据三等分数据的阈值(2.95与20.41),构建我们的投资策略:

21原策略.png

将沪深300作为投资对象,构建策略


每日收盘后计算当天北向资金的净流入值。再与阈值(20.41、2.95)比较,进行不同的选择:


①净流入值 ≥ 20.41亿(乐观情绪),则次日开盘买入沪深300的ETF。


②净流入值 ≤ 2.95亿(悲观情绪),次日开盘卖出沪深300的ETF。


③2.95亿 ≤ 净流入值 ≤ 20.41亿(中性情绪),次日开盘保持原有仓位不操作。


4.举例说明

举个例子来详细说明下。

22举例.png

比如2017年6月6日这天,净流入为21.26,大于阈值20.41,属于乐观情绪则次日买入。6月7日净流入仍大于20.41,但之前已经买过了,继续持有。


到了6月9日,属于中性情绪。我们不进行任何操作,即继续持有。


等到12日,北向资金净流入为负,小于阈值2.95。属于悲观情绪,则于次日卖出。


5.策略表现

那这个策略的表现到底如何?我们通过Python用数据和代码来验证。

23代码结果.png

代码运行结果

具体得到上图,代表策略的蓝色曲线远远跑赢了代表沪深300的橙色曲线。北向资金择时策略的确效果斐然。


但你以为到这里就结束了吗?

24nonono.png

真正重要的硬核内容还没开始呢!


不知道敏感的小伙伴们有没有看出来,其实我们这个策略的设计存在一个错误。



03

正确抄作业操作

1.策略陷阱

这个错误主要是两个阈值(2.95、20.41)的选择造成的。

25情绪2.png

我们基于2014年至2021年整段的数据,计算出参数2.95、20.41,并在整个策略回测过程中使用。这就有问题了。


假设现在时间回到2018年,我们使用该参数进行策略交易。但仔细想想,在2018年我们是无法获得后续数据来计算出该参数的。


使用该参数就相当于开了上帝视角。我们在设计策略的时候不自觉的使用了未来函数


未来函数:回测中使用了该时点无法得到的未来的数据。


未来函数就等于一个人带着现有的数据穿越回了过去。如果此时你还不能乱杀,就有点说不过去了。


2.新策略构建


那怎么修改策略才能避免使用未来函数呢?


在计算阈值的时候,我们只能使用过去的数据。


比如现在是2020年12月31日,此时计算阈值只能使用这一天之前的所有数据。


同样三等分后,得到和之前不同的阈值(2.33、18.88)。

26新情绪.png

同样的,我们可以得到在2018年、2016年、2015年随意选取的时间点的结果,如下图所示:

27阈值18年.png


28阈值16年.png

29阈值15年.png

可以发现因为每一天都只使用截至当日的历史数据,所以每次得到的阈值都不同。


这就避免了未来函数的使用,这样开发出来的策略才是可靠可信的。


最后,重新修改我们的原策略:

30完善策略.png

完善后策略


每日收盘后,使用当日北向资金的最新数据和之前所有的历史数据,通过三等分的方法计算出每天的阈值a和b。其他步骤不变。


那么改进后的策略效果如何呢?我们用数据和代码(可加微信xbx971获取)来验证一下。

31新策略结果.png

策略所需代码


我们可以发现,修正后策略所代表的橙色曲线仍是大幅跑赢代表沪深300的绿色曲线,且比使用了未来函数的蓝色曲线走势更好(这并不常见)。


在正确的策略中,净值从1涨到了3.9,6年大概翻了4倍;最大回撤20.35%,收益回撤比(年化收益/最大回撤)1.22。


只要收益回撤比大于1,就是值得进一步研究的策略。感兴趣的同学可以问我(微信xbx971)要了代码和数据后进一步优化,形成自己的策略。



04

策略查看方法


上述北向资金择时策略已经上线到我们网站,并且可以免费查阅

32量化网站.png

量化小讲堂:quantclass.cn


页面左侧是实时更新资金曲线,且每日资金曲线数据的完整Excel也可供下载。


同时你可以订阅右上角微信提醒,以便随时接收策略信号变更信息。


页面最下方是2015年至今每笔交易的详细历史记录。如果想要完全熟悉策略,强烈推荐你对照着行情软件揣摩每一笔交易。

33历史交易.png

策略历史信号

另外页面也展示了策略及同期大盘每年的收益对比。


34柱状图.png

策略历年收益

我们可以发现这个策略并不是每年都赚钱


2017年的时候它并没有跑赢大盘,当年沪深300涨了22%,这个策略却只涨了16%。


所以说,量化交易策略从来不是稳赚不赔的。

35策略风险.png

策略风险分析


再看上图的策略风险分析,它不仅可以给出最大回撤、胜率,还包括最大连续看错(8次)/看对(9次)次数等。


这个数据更多的告诉我们策略是有风险的,量化投资是追求大概率上的胜率


最后,这个页面是为了方便我们内部使用而做的。如果你需要的话可以加我微信xbx971,我会将网址发给你,免费查阅




二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2021-9-27 19:52:38
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2021-9-30 15:49:07
赞赞赞
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群